रन-लंबाई सीमित: Difference between revisions
(Created page with "{{Short description|Coding technique in communication technology}} {{Distinguish | run-length encoding}} रन-लम्बाई सीमित या आरएलएल...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Coding technique in communication technology}} | {{Short description|Coding technique in communication technology}} | ||
{{Distinguish | | {{Distinguish |रन-लेंथ एन्कोडिंग}} | ||
रन-लम्बाई सीमित या आरएलएल कोडिंग | रन-लम्बाई सीमित या आरएलएल कोडिंग ऐसी [[लाइन कोड]] तकनीक है जिसका उपयोग [[बैंडविड्थ (सिग्नल प्रोसेसिंग)|बैंडविड्थ (संकेतों प्रोसेसिंग)]] सीमा वाले [[चैनल (संचार)]] पर मनमाना डेटा भेजने के लिए किया जाता है। आरएलएल कोड चार मुख्य मापदंडों द्वारा परिभाषित किए गए हैं: ''एम'', ''एन'', ''डी'', ''के समान हैं''। इसके पहले दो, ''एम''/''एन'', कोड की दर को संदर्भित करते हैं, जबकि शेष दो न्यूनतम ''डी'' और अधिकतम ''के'' शून्य को क्रमशः के बीच निर्दिष्ट करते हैं। इसका उपयोग [[दूरसंचार]] और भंडारण प्रणालियों दोनों में किया जाता है जो एक माध्यम को एक निश्चित [[रिकॉर्डिंग सिर]] से आगे ले जाते हैं।<ref>{{Cite journal |journal=IEEE Communications Magazine | ||
|volume=60|issue=10|date=October 2022 |title=Innovation in Constrained Codes | |volume=60|issue=10|date=October 2022 |title=Innovation in Constrained Codes | ||
|author=Kees Schouhamer Immink|authorlink=Kees Schouhamer Immink | |author=Kees Schouhamer Immink|authorlink=Kees Schouhamer Immink | ||
|url=https://www.researchgate.net/publication/362866105|pages=20-24 | |url=https://www.researchgate.net/publication/362866105|pages=20-24 | ||
|quote=एक विवश प्रणाली को रिकॉर्ड या प्रसारित किए जाने वाले 'अच्छे' या 'स्वीकार्य' अनुक्रमों के एक विवश सेट द्वारा परिभाषित किया गया है। विवश कोडिंग विवश प्रणालियों के विश्लेषण और कुशल एनकोडर और डिकोडर के डिजाइन पर केंद्रित है जो मनमाना उपयोगकर्ता अनुक्रमों को विवश अनुक्रमों में बदलते हैं।|doi=10.1109/MCOM.002.2200249}}</ref> | |quote=एक विवश प्रणाली को रिकॉर्ड या प्रसारित किए जाने वाले 'अच्छे' या 'स्वीकार्य' अनुक्रमों के एक विवश सेट द्वारा परिभाषित किया गया है। विवश कोडिंग विवश प्रणालियों के विश्लेषण और कुशल एनकोडर और डिकोडर के डिजाइन पर केंद्रित है जो मनमाना उपयोगकर्ता अनुक्रमों को विवश अनुक्रमों में बदलते हैं।|doi=10.1109/MCOM.002.2200249}}</ref> | ||
विशेष रूप से, आरएलएल बार-बार बिट्स के फैलाव (रन) की लंबाई को सीमित करता है जिसके दौरान संकेतों परिवर्तित नहीं करता है। यदि रन बहुत लंबे हैं, तो [[ घड़ी की वसूली | घड़ी की वसूली]] मुश्किल है; यदि वे बहुत कम हैं, तो संचार चैनल द्वारा उच्च आवृत्तियों को क्षीण किया जा सकता है। डेटा को [[मॉडुलन]] करके, RLL संग्रहीत डेटा को करने में समय की अनिश्चितता को कम करता है, जिससे डेटा को वापस पढ़ने पर संभावित गलत प्रविष्टि या बिट्स को हटाने की संभावना होगी। यह तंत्र सुनिश्चित करता है कि बिट्स के बीच की सीमाओं को सदैव सटीक रूप से पाया जा सकता है ([[बिट स्लिप]] को रोकना), जबकि किसी दिए गए स्थान में डेटा की अधिकतम मात्रा को मज़बूती से संग्रहीत करने के लिए कुशलतापूर्वक मीडिया का उपयोग करता हैं। | |||
प्रारंभी डिस्क ड्राइव में बहुत ही सरल एन्कोडिंग योजनाओं का उपयोग किया [[आंकड़े]] था, जैसे कि RLL (0,1) FM कोड, उसके बाद RLL (1,3) MFM कोड, जो 1980 के दशक के मध्य तक [[हार्ड डिस्क ड्राइव]] में व्यापक रूप से उपयोग किए जाते थे और अभी भी डिजिटल में उपयोग किए जाते हैं। ऑप्टिकल डिस्क जैसे [[सीडी]], [[डीवीडी]], [[Minidisc|मिनीडिस्क]], हाय-एमडी और ब्लू-रे। 1990 के दशक की प्रारंभ में उच्च-घनत्व RLL (2,7) और RLL (1,7) कोड हार्ड डिस्क के लिए वास्तविक उद्योग मानक बन जाता हैं। | |||
सरलतम व्यावहारिक कोडों में से एक, संशोधित गैर-रिटर्न-टू-ज़ीरो-इनवर्टेड ([[NRZI]]), बस एक 1 को एक चुंबकीय ध्रुवीयता संक्रमण के रूप में एन्कोड करता है, जिसे फ्लक्स रिवर्सल के रूप में भी जाना जाता है, और एक शून्य को कोई संक्रमण नहीं है। एक स्थिर दर पर डिस्क कताई के साथ, प्रत्येक बिट को एक समान समय अवधि दी जाती है, एक डेटा विंडो, उस बिट का प्रतिनिधित्व करने वाले चुंबकीय संकेत के लिए, और फ्लक्स रिवर्सल, यदि कोई हो, इस विंडो की | आरएलएल कोडिंग की आवश्यकता है। | ||
हार्ड डिस्क ड्राइव पर, सूचना को डिस्क पर चुंबकीय क्षेत्र की दिशा में परिवर्तन द्वारा दर्शाया जाता है, और चुंबकीय मीडिया पर, प्लेबैक आउटपुट प्रवाह संक्रमण के घनत्व के समानुपाती होता है। एक कंप्यूटर में, एक तार पर वोल्टेज द्वारा सूचना का प्रतिनिधित्व किया जाता है। एक परिभाषित जमीनी स्तर के संबंध में तार पर कोई वोल्टेज बाइनरी शून्य नहीं होगा, और जमीन के संबंध में तार पर धनात्मक वोल्टेज बाइनरी का प्रतिनिधित्व करता है। दूसरी ओर, चुंबकीय मीडिया में सदैव एक चुंबकीय प्रवाह होता है{{snd}} या तो उत्तरी ध्रुव या दक्षिणी ध्रुव। चुंबकीय क्षेत्र को बाइनरी डेटा में बदलने के लिए, दोनों के बीच अनुवाद करने के लिए कुछ एन्कोडिंग विधि का उपयोग किया जाना चाहिए। | |||
सरलतम व्यावहारिक कोडों में से एक, संशोधित गैर-रिटर्न-टू-ज़ीरो-इनवर्टेड ([[NRZI]]), बस एक 1 को एक चुंबकीय ध्रुवीयता संक्रमण के रूप में एन्कोड करता है, जिसे फ्लक्स रिवर्सल के रूप में भी जाना जाता है, और एक शून्य को कोई संक्रमण नहीं है। एक स्थिर दर पर डिस्क कताई के साथ, प्रत्येक बिट को एक समान समय अवधि दी जाती है, एक डेटा विंडो, उस बिट का प्रतिनिधित्व करने वाले चुंबकीय संकेत के लिए, और फ्लक्स रिवर्सल, यदि कोई हो, इस विंडो की प्रारंभ में होता है। (ध्यान दें: पुराने हार्ड डिस्क पूरी डिस्क पर डेटा विंडो के रूप में एक निश्चित समय अवधि का उपयोग करते हैं, किन्तु आधुनिक डिस्क अधिक जटिल हैं; इस पर अधिक जानकारी के लिए, [[ज़ोन बिट रिकॉर्डिंग]] देखें।) | |||
यह तरीका इतना सरल नहीं है, क्योंकि प्लेबैक आउटपुट लोगों के घनत्व के समानुपाती होता है, शून्य के लंबे चलने का मतलब कोई प्लेबैक आउटपुट नहीं होता है। | यह तरीका इतना सरल नहीं है, क्योंकि प्लेबैक आउटपुट लोगों के घनत्व के समानुपाती होता है, शून्य के लंबे चलने का मतलब कोई प्लेबैक आउटपुट नहीं होता है। | ||
एक साधारण उदाहरण में, बाइनरी पैटर्न 101 पर विचार करें जिसमें 1 ns (एक नैनोसेकंड, या एक सेकंड का एक अरबवाँ | एक साधारण उदाहरण में, बाइनरी पैटर्न 101 पर विचार करें जिसमें 1 ns (एक नैनोसेकंड, या एक सेकंड का एक अरबवाँ भाग) की डेटा विंडो होती है। इसे डिस्क पर एक परिवर्तन के रूप में संग्रहीत किया जाएगा, उसके बाद कोई परिवर्तन नहीं होगा, और फिर दूसरा परिवर्तन होगा। यदि पूर्ववर्ती चुंबकीय ध्रुवीयता पहले से ही धनात्मक थी, तो परिणामी प्रतिरूप इस प्रकार दिखाई दे सकता है: −−+। 255 का मान, या सभी बाइनरी वाले, −+−+−+−+ या +−+−+−+− के रूप में लिखे जाएंगे। एक शून्य बाइट ++++++++ या −−−−−−−− के रूप में लिखा जाता हैं। इस प्रकार शून्य के 512-बाइट क्षेत्र को समान ध्रुवता वाले 4096 अनुक्रमिक बिट्स के रूप में लिखा जाता हैं। | ||
चूंकि डिस्क ड्राइव हार्डवेयर का एक भौतिक टुकड़ा है, मोटर गति में बदलाव या डिस्क प्लैटर के थर्मल विस्तार के कारण ड्राइव की घूर्णी गति थोड़ी बदल सकती है। फ़्लॉपी डिस्क पर भौतिक मीडिया भी विकृत हो सकता है, जिससे समय की बड़ी त्रुटियाँ हो सकती हैं, और नियंत्रक पर समय सर्किट में गति में छोटे बदलाव हो सकते हैं। समस्या यह है कि, शून्य की एक लंबी स्ट्रिंग के साथ, डिस्क ड्राइव के नियंत्रक के लिए रीड हेड की सटीक स्थिति जानने का कोई तरीका नहीं है, और इस प्रकार यह जानने का कोई तरीका नहीं है कि वास्तव में कितने शून्य हैं। यहां तक कि 0.1% की गति भिन्नता, जो किसी भी व्यावहारिक फ्लॉपी ड्राइव से अधिक सटीक है, के परिणामस्वरूप 4096-बिट डेटा स्ट्रीम में 4 बिट्स जोड़े या निकाले जा सकते हैं। किसी प्रकार के तुल्यकालन और त्रुटि सुधार के बिना, डेटा | चूंकि डिस्क ड्राइव हार्डवेयर का एक भौतिक टुकड़ा है, मोटर गति में बदलाव या डिस्क प्लैटर के थर्मल विस्तार के कारण ड्राइव की घूर्णी गति थोड़ी बदल सकती है। फ़्लॉपी डिस्क पर भौतिक मीडिया भी विकृत हो सकता है, जिससे समय की बड़ी त्रुटियाँ हो सकती हैं, और नियंत्रक पर समय सर्किट में गति में छोटे बदलाव हो सकते हैं। समस्या यह है कि, शून्य की एक लंबी स्ट्रिंग के साथ, डिस्क ड्राइव के नियंत्रक के लिए रीड हेड की सटीक स्थिति जानने का कोई तरीका नहीं है, और इस प्रकार यह जानने का कोई तरीका नहीं है कि वास्तव में कितने शून्य हैं। यहां तक कि 0.1% की गति भिन्नता, जो किसी भी व्यावहारिक फ्लॉपी ड्राइव से अधिक सटीक है, के परिणामस्वरूप 4096-बिट डेटा स्ट्रीम में 4 बिट्स जोड़े या निकाले जा सकते हैं। किसी प्रकार के तुल्यकालन और त्रुटि सुधार के बिना, डेटा पूर्ण रूप से अनुपयोगी हो जाएगा। | ||
दूसरी समस्या स्वयं चुंबकीय मीडिया की सीमाओं के कारण है: अंतरिक्ष की एक निश्चित मात्रा में इतने सारे ध्रुवीय परिवर्तनों को लिखना केवल संभव है, इसलिए कितने लोगों को क्रमिक रूप से भी लिखा जा सकता है, इसकी एक ऊपरी सीमा है, यह रैखिक पर निर्भर करता है वेग और सिर की खाई। | दूसरी समस्या स्वयं चुंबकीय मीडिया की सीमाओं के कारण है: अंतरिक्ष की एक निश्चित मात्रा में इतने सारे ध्रुवीय परिवर्तनों को लिखना केवल संभव है, इसलिए कितने लोगों को क्रमिक रूप से भी लिखा जा सकता है, इसकी एक ऊपरी सीमा है, यह रैखिक पर निर्भर करता है वेग और सिर की खाई। | ||
इस समस्या को रोकने के लिए, डेटा को इस तरह से कोडित किया जाता है कि एक बाइनरी मान की लंबी पुनरावृत्ति न हो। कुछ अधिकतम k तक | इस समस्या को रोकने के लिए, डेटा को इस तरह से कोडित किया जाता है कि एक बाइनरी मान की लंबी पुनरावृत्ति न हो। कुछ अधिकतम k तक क्रमशः लिखे गए शून्यों की संख्या को सीमित करके, यह ड्राइव कंट्रोलर के लिए सिंक्रोनाइज़ रहना संभव बनाता है। एक पंक्ति में लिखे गए शून्यों की संख्या को प्रत्येक और हर एक के बीच कुछ न्यूनतम डी तक सीमित करके, ध्रुवीयता परिवर्तनों की समग्र आवृत्ति कम हो जाती है, जिससे ड्राइव को समान मात्रा में अधिक डेटा स्टोर करने की अनुमति मिलती है, जिसके परिणामस्वरूप या तो एक छोटा पैकेज होता है डेटा की समान मात्रा या समान आकार के पैकेज में अधिक संग्रहण प्रस्तुत करता हैं। | ||
== इतिहास == | == इतिहास == | ||
[[File:Seagate ST11R.jpg|thumb|सीगेट ST11R, एक 8-बिट ISA कार्ड RLL [[हार्ड डिस्क नियंत्रक]] का उत्पादन 1990 में हुआ।]]चुंबकीय डिस्क पर रिकॉर्ड करने के लिए उपयोग किए जाने वाले सभी कोडों में संक्रमण-मुक्त रन की लंबाई सीमित होती है और इसलिए उन्हें आरएलएल कोड के रूप में वर्णित किया जा सकता है। | [[File:Seagate ST11R.jpg|thumb|सीगेट ST11R, एक 8-बिट ISA कार्ड RLL [[हार्ड डिस्क नियंत्रक]] का उत्पादन 1990 में हुआ।]]चुंबकीय डिस्क पर रिकॉर्ड करने के लिए उपयोग किए जाने वाले सभी कोडों में संक्रमण-मुक्त रन की लंबाई सीमित होती है और इसलिए उन्हें आरएलएल कोड के रूप में वर्णित किया जा सकता है। प्रारंभी और सरल रूपों को विशिष्ट नाम दिए गए थे, जैसे कि संशोधित आवृत्ति मॉडुलन (एमएफएम), और आरएलएल नाम सामान्यतः केवल अधिक जटिल रूपों के लिए उपयोग किया जाता है, ऐसे विशिष्ट नाम नहीं दिए जाते हैं, किन्तु यह शब्द तकनीकी रूप से उन सभी पर लागू होता है। | ||
हार्ड ड्राइव में उपयोग किया जाने वाला पहला RLL कोड RLL (2,7) था, जिसे [[IBM]] इंजीनियरों द्वारा विकसित किया गया था और पहली बार 1979 में IBM 3370 [[डायरेक्ट एक्सेस स्टोरेज डिवाइस]] पर व्यावसायिक रूप से उपयोग किया गया था।<ref>[http://www.research.ibm.com/journal/rd/255/ibmrd2505ZC.pdf A Quarter Century of Disk File Innovation], IBM Journal of Research and Development.</ref><ref>[[Peter Franaszek|P. A. Franaszek]] (1972), “Run-Length-Limited Variable Length Coding with Error Propagation Limitation”, {{US Patent|3689899}}.</ref><ref>[https://web.archive.org/web/20110726102519/http://www.disktrend.com/5decades2.htm Five decades of disk drive industry firsts], DISK/TREND, Inc., publisher of market studies of the worldwide disk drive and data storage industries. web.archive.org.</ref> 4300 सीरीज [[मेनफ़्रेम कंप्यूटर]] के साथ प्रयोग के लिए। 1980 के दशक के उत्तरार्ध के दौरान, IBM PC संगत हार्ड डिस्क ने RLL का उचित उपयोग करना | हार्ड ड्राइव में उपयोग किया जाने वाला पहला RLL कोड RLL (2,7) था, जिसे [[IBM]] इंजीनियरों द्वारा विकसित किया गया था और पहली बार 1979 में IBM 3370 [[डायरेक्ट एक्सेस स्टोरेज डिवाइस]] पर व्यावसायिक रूप से उपयोग किया गया था।<ref>[http://www.research.ibm.com/journal/rd/255/ibmrd2505ZC.pdf A Quarter Century of Disk File Innovation], IBM Journal of Research and Development.</ref><ref>[[Peter Franaszek|P. A. Franaszek]] (1972), “Run-Length-Limited Variable Length Coding with Error Propagation Limitation”, {{US Patent|3689899}}.</ref><ref>[https://web.archive.org/web/20110726102519/http://www.disktrend.com/5decades2.htm Five decades of disk drive industry firsts], DISK/TREND, Inc., publisher of market studies of the worldwide disk drive and data storage industries. web.archive.org.</ref> 4300 सीरीज [[मेनफ़्रेम कंप्यूटर]] के साथ प्रयोग के लिए। 1980 के दशक के उत्तरार्ध के दौरान, IBM PC संगत हार्ड डिस्क ने RLL का उचित उपयोग करना प्रारंभ कर दिया हैं (अर्थात उन वेरिएंट की तुलना में अधिक जटिल जिन्हें उनके स्वयं के उचित नाम प्राप्त हुए थे, जैसे MFM)। 1980 के पश्चात आरएलएल कोड ने ऑप्टिकल-डिस्क रिकॉर्डिंग अभ्यास में लगभग सार्वभौमिक आवेदन पाया है। उपभोक्ता इलेक्ट्रॉनिक्स में, आरएलएल जैसे आठ से चौदह मॉड्यूलेशन (दर = 8/17, डी = 2, के = 10) [[कॉम्पैक्ट डिस्क]] में कार्यरत हैं (CD) और मिनीडिस्क (MD), और [[EFMPlus|ईएफएमप्लस]] कोड (दर = 8/16, d = 2, k = 10) DVD में उपयोग किया गया था। पैरामीटर डी और के न्यूनतम और अधिकतम अनुमत रन लंबाई हैं। भंडारण तकनीकों पर अधिक कवरेज के लिए, इस आलेख में उद्धृत संदर्भ उपयोगी हैं।<ref>{{Cite journal |journal=Proceedings of the IEEE | ||
|volume=78 | |volume=78 | ||
|issue=11 | |issue=11 | ||
Line 51: | Line 53: | ||
|url-access=registration | |url-access=registration | ||
}}</ref> | }}</ref> | ||
== तकनीकी अवलोकन == | |||
आम तौर पर रन लेंथ बिट्स की संख्या होती है जिसके लिए संकेतों अपरिवर्तित रहता है। बिट 1 के लिए 3 की एक रन लंबाई, अनुक्रम 111 का प्रतिनिधित्व करती है। उदाहरण के लिए, डिस्क पर चुंबकीय ध्रुवीकरण का पैटर्न +−−−−++−−−++++++ लंबाई 1 के रन के साथ हो सकता है, जो 4, 2, 3, और 6 मान को सम्मिलित करती हैं। चूंकि, रन-लेंथ सीमित कोडिंग शब्दावली NRZI एन्कोडिंग को मानती है, इसलिए 1 बिट परिवर्तन का संकेत देते हैं और 0 बिट परिवर्तन की अनुपस्थिति का संकेत देते हैं, उपरोक्त अनुक्रम 11000101001000001 के रूप में व्यक्त किया जाएगा, और केवल शून्य बिट्स के रन गिने जाते हैं। | |||
कुछ भ्रामक रूप से, रन की लंबाई निकटवर्ती लोगों के बीच शून्य (पूर्व में 0, 3, 1, 2 और 5) की संख्या है, जो संकेतों के वास्तव में अपरिवर्तित रहने की संख्या से एक कम है। रन-लम्बाई सीमित अनुक्रम दो पैरामीटर, डी और के द्वारा वर्णित हैं, जो अनुक्रम में होने वाली न्यूनतम और अधिकतम शून्य-बिट रन लंबाई निर्धारित करते हैं। तो आरएलएल कोड आम तौर पर (डी, के) आरएलएल के रूप में निर्दिष्ट होते हैं, उदाहरण: (1,3) आरएलएल इत्यादि। | |||
कुछ भ्रामक रूप से, रन की लंबाई निकटवर्ती लोगों के बीच शून्य (पूर्व में 0, 3, 1, 2 और 5) की संख्या है, जो | |||
== कोडिंग == | == कोडिंग == | ||
एन्कोडेड प्रारूप में 1 बिट प्रवाह संक्रमण को इंगित करता है, जबकि 0 इंगित करता है कि डिस्क पर चुंबकीय क्षेत्र उस समय अंतराल के लिए नहीं | एन्कोडेड प्रारूप में 1 बिट प्रवाह संक्रमण को इंगित करता है, जबकि 0 इंगित करता है कि डिस्क पर चुंबकीय क्षेत्र उस समय अंतराल के लिए परिवर्तित नहीं करता है। | ||
=== एफएम: (0,1) आरएलएल === | === एफएम: (0,1) आरएलएल === | ||
आम तौर पर, आरएलएल कोड शब्द का प्रयोग अधिक विस्तृत एन्कोडिंग को संदर्भित करने के लिए किया जाता है, | आम तौर पर, आरएलएल कोड शब्द का प्रयोग अधिक विस्तृत एन्कोडिंग को संदर्भित करने के लिए किया जाता है, किन्तु मूल आवृत्ति मॉड्यूलेशन कोड, जिसे [[अंतर मैनचेस्टर एन्कोडिंग]] भी कहा जाता है, को साधारण दर-1/2 आरएलएल कोड के रूप में देखा जा सकता है। | ||
जोड़े गए 1 बिट को क्लॉक बिट कहा जाता है। | जोड़े गए 1 बिट को क्लॉक बिट कहा जाता है। | ||
Line 144: | Line 144: | ||
|} | |} | ||
जहां संभव हो (16 में से 11 कोड), बिट पैटर्न <code>abcd</code> एक के पूरक के साथ इसे प्रीफ़िक्स करके एन्कोड किया गया है: <code>{{overline|a}}abcd</code>. 5 | जहां संभव हो (16 में से 11 कोड), बिट पैटर्न <code>abcd</code> एक के पूरक के साथ इसे प्रीफ़िक्स करके एन्कोड किया गया है: <code>{{overline|a}}abcd</code>. 5 विवादों में जहां यह नियमों में से एक का उल्लंघन करेगा (<code>000d</code> या <code>ab00</code>), 11 से प्रारंभ होने वाले कोड को प्रतिस्थापित किया जाता है (<code>11be{{overline|a}}</code>, जहां ई = ए ∨ डी)। | ||
उदाहरण: | उदाहरण: | ||
Line 150: | Line 150: | ||
एन्कोडेड: 10010011011101111010 | एन्कोडेड: 10010011011101111010 | ||
ध्यान दें कि (0,2) RLL की परिभाषा को पूरा करने के लिए, यह पर्याप्त नहीं है कि प्रत्येक 5-बिट कोड में | ध्यान दें कि (0,2) RLL की परिभाषा को पूरा करने के लिए, यह पर्याप्त नहीं है कि प्रत्येक 5-बिट कोड में क्रमशः दो से अधिक शून्य न हों, बल्कि यह भी आवश्यक है कि 5-बिट कोड की कोई भी जोड़ी क्रमिक रूप से संयुक्त हो दो से अधिक क्रमशः शून्य नहीं होते हैं। अर्थात्, किसी भी दो मनमाने ढंग से चुने गए कोड के लिए पहले कोड में अंतिम एक बिट और दूसरे कोड में पहले एक बिट के बीच दो से अधिक शून्य नहीं होने चाहिए। यह आवश्यक है क्योंकि किसी भी RLL कोड के लिए, रन-लम्बाई सीमाएँ{{snd}} इस विवाद में 0 और 2{{snd}} समग्र संग्राहक बिटस्ट्रीम पर लागू होता है, न कि केवल इसके घटकों के लिए जो सादे डेटा बिट्स के असतत अनुक्रमों का प्रतिनिधित्व करते हैं। (यह नियम बिना किसी अपवाद के कोड की किसी भी मनमानी जोड़ी के लिए होना चाहिए, क्योंकि इनपुट डेटा बिट्स का कोई भी मनमाना अनुक्रम हो सकता है।) आईबीएम जीसीआर कोड इस शर्त को पूरा करता है, क्योंकि किसी भी 5 की प्रारंभ में शून्य की अधिकतम रन लंबाई -बिट कोड एक है, और इसी प्रकार किसी भी कोड के अंत में अधिकतम रन लंबाई एक है, जिससे आसन्न कोड के बीच जंक्शन पर कुल रन लंबाई दो हो जाती है। (कोड के बीच होने वाली अधिकतम रन लंबाई का एक उदाहरण ऊपर दिए गए उदाहरण में देखा जा सकता है, जहां डेटा 0010 के लिए कोड शून्य के साथ समाप्त होता है और अगले डेटा के लिए कोड, 1101, शून्य से प्रारंभ होता है, एक रन बनाता है इन दो 5-बिट कोड के जंक्शन पर दो शून्य।) | ||
===एमएफएम: (1,3) आरएलएल === | ===एमएफएम: (1,3) आरएलएल === | ||
संशोधित आवृत्ति मॉडुलन दिलचस्प होने लगता है, क्योंकि इसके विशेष गुण इसके बिट्स को एक चुंबकीय माध्यम में लिखे जाने की अनुमति देते हैं, जो एक मनमाना बिट स्ट्रीम के घनत्व से दोगुना होता है। पठन उपकरण का पता लगाने के लिए समय प्रवाह संक्रमण के कितने करीब हो सकता है, इसकी एक सीमा है, और यह विवश करता है कि माध्यम पर बिट्स को कितनी बारीकी से रिकॉर्ड किया जा सकता है: सबसे खराब स्थिति में, एक मनमाना बिट स्ट्रीम के साथ, | संशोधित आवृत्ति मॉडुलन दिलचस्प होने लगता है, क्योंकि इसके विशेष गुण इसके बिट्स को एक चुंबकीय माध्यम में लिखे जाने की अनुमति देते हैं, जो एक मनमाना बिट स्ट्रीम के घनत्व से दोगुना होता है। पठन उपकरण का पता लगाने के लिए समय प्रवाह संक्रमण के कितने करीब हो सकता है, इसकी एक सीमा है, और यह विवश करता है कि माध्यम पर बिट्स को कितनी बारीकी से रिकॉर्ड किया जा सकता है: सबसे खराब स्थिति में, एक मनमाना बिट स्ट्रीम के साथ, क्रमशः दो होते हैं, जो समय में क्रमशः दो फ्लक्स ट्रांज़िशन उत्पन्न करता है, इसलिए बिट्स को पर्याप्त दूरी पर रखा जाना चाहिए ताकि पाठक के लिए उन फ्लक्स ट्रांज़िशन के बीच पर्याप्त समय हो सके। किन्तु यह कोड डी = 1 की बाधा डालता है, यानी प्रत्येक दो के बीच न्यूनतम एक शून्य होता है। इसका मतलब यह है कि सबसे खराब स्थिति में, फ्लक्स ट्रांज़िशन दो बिट गुना अलग होते हैं, इसलिए बिट्स पाठक की क्षमताओं को पार किए बिना मनमाना बिट स्ट्रीम के साथ-साथ दो गुना करीब हो सकते हैं। | ||
यह दोगुना रिकॉर्डिंग घनत्व इस कोड की 1/2 कोडिंग दर के लिए क्षतिपूर्ति करता है (एक बिट वास्तविक जानकारी का प्रतिनिधित्व करने के लिए दो बिट्स लेता है) और इसे दर -1 कोड के बराबर बनाता है। | यह दोगुना रिकॉर्डिंग घनत्व इस कोड की 1/2 कोडिंग दर के लिए क्षतिपूर्ति करता है (एक बिट वास्तविक जानकारी का प्रतिनिधित्व करने के लिए दो बिट्स लेता है) और इसे दर -1 कोड के बराबर बनाता है। | ||
Line 171: | Line 171: | ||
जहाँ x स्ट्रीम के पहले एन्कोडेड बिट का पूरक है। | जहाँ x स्ट्रीम के पहले एन्कोडेड बिट का पूरक है। | ||
क्लॉक बिट्स को छोड़कर जो | क्लॉक बिट्स को छोड़कर जो सदैव एक नहीं होते हैं, यह FM सूची के समान है, और इसी प्रकार इस कोड को इसका नाम मिलता है। दो 0 डेटा बिट्स के बीच सम्मिलित क्लॉक बिट्स 0 हैं। | ||
पिछले n-1 बिट के साथ संयुक्त होने पर, प्रत्येक डेटा बिट n के लिए परिणामी एन्कोडिंग | पिछले n-1 बिट के साथ संयुक्त होने पर, प्रत्येक डेटा बिट n के लिए परिणामी एन्कोडिंग सूची प्रभावी रूप से बन जाती है। | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 195: | Line 195: | ||
=== (1,7) आरएलएल === | === (1,7) आरएलएल === | ||
(1,7) RLL डिस्क पर 3 बिट्स पर डेटा के 2 बिट्स मैप करता है, और एन्कोडिंग 2- या 4-बिट समूहों में किया जाता है। एन्कोडिंग नियम हैं: (x, y) बन जाता है (NOT x, x AND y, NOT y), सिवाय (x, 0, 0, y) | (1,7) RLL डिस्क पर 3 बिट्स पर डेटा के 2 बिट्स मैप करता है, और एन्कोडिंग 2- या 4-बिट समूहों में किया जाता है। एन्कोडिंग नियम हैं: (x, y) बन जाता है (NOT x, x AND y, NOT y), सिवाय (x, 0, 0, y) (NOT x, x AND y, NOT y, 0, 0, 0 ) बन जाता है।<ref name=Mee>{{cite book | ||
| last1 = Mee | | last1 = Mee | ||
| first1 = C. Denis | | first1 = C. Denis | ||
Line 205: | Line 205: | ||
| year = 1996 | | year = 1996 | ||
| isbn = 0-07-041275-8 }}</ref> | | isbn = 0-07-041275-8 }}</ref> | ||
नीचे दी गई | |||
नीचे दी गई सूची के अनुसार एन्कोडिंग करते समय, सबसे लंबे समय तक (सूची में अंतिम) मैच का उपयोग किया जाना चाहिए; वे अपवाद प्रबंधन स्थितियां हैं जहां पहले के नियमों को लागू करने से कोड बाधाओं का उल्लंघन होगा। | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 240: | Line 241: | ||
=== (2,7) आरएलएल === | === (2,7) आरएलएल === | ||
(2,7) आरएलएल दर है-{{frac|2}} कोड, MFM की तरह डिस्क पर 2n बिट्स पर डेटा के n बिट्स की मैपिंग, | (2,7) आरएलएल दर है-{{frac|2}} कोड, MFM की तरह डिस्क पर 2n बिट्स पर डेटा के n बिट्स की मैपिंग, किन्तु क्योंकि न्यूनतम रन लंबाई 50% लंबी है (2 के बजाय 3 बिट बार), बिट्स को तेजी से लिखा जा सकता है, जिससे 50% अधिक प्रभावी डेटा प्राप्त होता है घनत्व। एन्कोडिंग 2-, 3- या 4-बिट समूहों में की जाती है। | ||
पश्चिमी डिजिटल WD5010A, WD5011A, WD50C12 | पश्चिमी डिजिटल WD5010A, WD5011A, WD50C12 | ||
Line 323: | Line 324: | ||
| 00100100 | | 00100100 | ||
|} | |} | ||
एन्कोडेड फॉर्म अधिकतम 4 से | एन्कोडेड फॉर्म अधिकतम 4 से प्रारंभ होते हैं, और अधिकतम 3 शून्य बिट्स के साथ समाप्त होते हैं, अधिकतम 7 रन की लंबाई देते हैं। | ||
उदाहरण: | उदाहरण: | ||
Line 330: | Line 331: | ||
=== एचएचएच (1,13) === | === एचएचएच (1,13) === | ||
HHH(1,13) कोड 16 MB/s [[IrDA]] VFIR भौतिक परत में उपयोग के लिए तीन IBM शोधकर्ताओं (Hirt, Hassner, और Heise) द्वारा विकसित दर-2/3 कोड है।<ref name="mmm">{{Citation |url=https://www.researchgate.net/publication/3344140 |title=IrDA-VFIr (16 Mb/s): modulation code and system design |first1=Walter |last1=Hirt |first2=Martin |last2=Hassner |first3=Nyles |last3=Heise |journal=IEEE Personal Communications |volume=8 |issue=1 |pages=58–71 |date=February 2001 |doi=10.1109/98.904900}}.</ref> चुंबकीय एन्कोडिंग के विपरीत, यह इन्फ्रारेड ट्रांसमीटर के लिए डिज़ाइन किया गया है, जहां 0 बिट ऑफ का प्रतिनिधित्व करता है और 1 बिट का प्रतिनिधित्व करता है। क्योंकि 1 बिट संचारित करने के लिए अधिक शक्ति का उपभोग करता है, इसे 1 बिट के घनत्व को 50% से कम तक सीमित करने के लिए डिज़ाइन किया गया है। विशेष रूप से, यह एक (1,13|5) आरएलएल कोड है, जहां अंतिम 5 अतिरिक्त बाधा को इंगित करता है कि अधिकतम 5 | HHH(1,13) कोड 16 MB/s [[IrDA]] VFIR भौतिक परत में उपयोग के लिए तीन IBM शोधकर्ताओं (Hirt, Hassner, और Heise) द्वारा विकसित दर-2/3 कोड है।<ref name="mmm">{{Citation |url=https://www.researchgate.net/publication/3344140 |title=IrDA-VFIr (16 Mb/s): modulation code and system design |first1=Walter |last1=Hirt |first2=Martin |last2=Hassner |first3=Nyles |last3=Heise |journal=IEEE Personal Communications |volume=8 |issue=1 |pages=58–71 |date=February 2001 |doi=10.1109/98.904900}}.</ref> चुंबकीय एन्कोडिंग के विपरीत, यह इन्फ्रारेड ट्रांसमीटर के लिए डिज़ाइन किया गया है, जहां 0 बिट ऑफ का प्रतिनिधित्व करता है और 1 बिट का प्रतिनिधित्व करता है। क्योंकि 1 बिट संचारित करने के लिए अधिक शक्ति का उपभोग करता है, इसे 1 बिट के घनत्व को 50% से कम तक सीमित करने के लिए डिज़ाइन किया गया है। विशेष रूप से, यह एक (1,13|5) आरएलएल कोड है, जहां अंतिम 5 अतिरिक्त बाधा को इंगित करता है कि अधिकतम 5 क्रमशः 10 बिट जोड़े हैं। | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 378: | Line 379: | ||
| 100 000 000 000 | | 100 000 000 000 | ||
|} | |} | ||
पहली आठ पंक्तियाँ एक मानक (1,7)-आरएलएल कोड का वर्णन करती हैं। अतिरिक्त छह अपवाद शून्य के अधिकतम रन को 13 तक बढ़ाते हैं (कानूनी पैटर्न 100-000-000-000-001 में, जो 10 11 10 11 का प्रतिनिधित्व करता है, जिसके बाद 01 होता है), | पहली आठ पंक्तियाँ एक मानक (1,7)-आरएलएल कोड का वर्णन करती हैं। अतिरिक्त छह अपवाद शून्य के अधिकतम रन को 13 तक बढ़ाते हैं (कानूनी पैटर्न 100-000-000-000-001 में, जो 10 11 10 11 का प्रतिनिधित्व करता है, जिसके बाद 01 होता है), किन्तु अधिकतम औसत घनत्व को सीमित करें {{frac|1|3}}. 1–0 जोड़े का सबसे लंबा रन 000 101 010 101 000 है। | ||
यह कोड घनत्व को बीच में सीमित करता है {{frac|1|12}} और {{frac|1|3}}, 25.8% के औसत के साथ। | यह कोड घनत्व को बीच में सीमित करता है {{frac|1|12}} और {{frac|1|3}}, 25.8% के औसत के साथ। | ||
Line 405: | Line 406: | ||
== घनत्व == | == घनत्व == | ||
मान लीजिए कि एक चुंबकीय टेप में प्रति इंच 3200 फ्लक्स रिवर्सल हो सकते हैं। एक संशोधित आवृत्ति मॉड्यूलेशन, या (1,3) आरएलएल एन्कोडिंग, प्रत्येक डेटा बिट को टेप पर दो बिट्स के रूप में संग्रहीत करता है, | मान लीजिए कि एक चुंबकीय टेप में प्रति इंच 3200 फ्लक्स रिवर्सल हो सकते हैं। एक संशोधित आवृत्ति मॉड्यूलेशन, या (1,3) आरएलएल एन्कोडिंग, प्रत्येक डेटा बिट को टेप पर दो बिट्स के रूप में संग्रहीत करता है, किन्तु चूंकि किसी भी 1 (फ्लक्स रिवर्सल) बिट्स के बीच एक 0 (कोई फ्लक्स रिवर्सल) बिट होने की गारंटी नहीं है, तो यह टेप पर 6400 एन्कोडेड बिट्स प्रति इंच या 3200 डेटा बिट्स प्रति इंच स्टोर करना संभव है। ए (1,7) आरएलएल एन्कोडिंग टेप पर 6400 एन्कोडेड बिट्स प्रति इंच भी स्टोर कर सकता है, किन्तु चूंकि यह 2 डेटा बिट्स स्टोर करने के लिए केवल 3 एन्कोडेड बिट्स लेता है, यह 4267 डेटा बिट्स प्रति इंच है। ए (2,7) आरएलएल एन्कोडिंग प्रत्येक डेटा बिट को स्टोर करने के लिए 2 एन्कोडेड बिट्स लेता है, किन्तु चूंकि किसी भी 1 बिट्स के बीच दो 0 बिट्स होने की गारंटी है, तो टेप पर प्रति इंच 9600 एन्कोडेड बिट्स स्टोर करना संभव है, या 4800 डेटा बिट्स प्रति इंच को प्रकट करता हैं। | ||
हार्ड ड्राइव पर फ्लक्स-रिवर्सल घनत्व उल्लेखनीय रूप से अधिक है, | हार्ड ड्राइव पर फ्लक्स-रिवर्सल घनत्व उल्लेखनीय रूप से अधिक है, किन्तु विभिन्न एन्कोडिंग सिस्टम का उपयोग करके भंडारण घनत्व में समान सुधार देखा जाता है। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 00:21, 29 April 2023
रन-लम्बाई सीमित या आरएलएल कोडिंग ऐसी लाइन कोड तकनीक है जिसका उपयोग बैंडविड्थ (संकेतों प्रोसेसिंग) सीमा वाले चैनल (संचार) पर मनमाना डेटा भेजने के लिए किया जाता है। आरएलएल कोड चार मुख्य मापदंडों द्वारा परिभाषित किए गए हैं: एम, एन, डी, के समान हैं। इसके पहले दो, एम/एन, कोड की दर को संदर्भित करते हैं, जबकि शेष दो न्यूनतम डी और अधिकतम के शून्य को क्रमशः के बीच निर्दिष्ट करते हैं। इसका उपयोग दूरसंचार और भंडारण प्रणालियों दोनों में किया जाता है जो एक माध्यम को एक निश्चित रिकॉर्डिंग सिर से आगे ले जाते हैं।[1]
विशेष रूप से, आरएलएल बार-बार बिट्स के फैलाव (रन) की लंबाई को सीमित करता है जिसके दौरान संकेतों परिवर्तित नहीं करता है। यदि रन बहुत लंबे हैं, तो घड़ी की वसूली मुश्किल है; यदि वे बहुत कम हैं, तो संचार चैनल द्वारा उच्च आवृत्तियों को क्षीण किया जा सकता है। डेटा को मॉडुलन करके, RLL संग्रहीत डेटा को करने में समय की अनिश्चितता को कम करता है, जिससे डेटा को वापस पढ़ने पर संभावित गलत प्रविष्टि या बिट्स को हटाने की संभावना होगी। यह तंत्र सुनिश्चित करता है कि बिट्स के बीच की सीमाओं को सदैव सटीक रूप से पाया जा सकता है (बिट स्लिप को रोकना), जबकि किसी दिए गए स्थान में डेटा की अधिकतम मात्रा को मज़बूती से संग्रहीत करने के लिए कुशलतापूर्वक मीडिया का उपयोग करता हैं।
प्रारंभी डिस्क ड्राइव में बहुत ही सरल एन्कोडिंग योजनाओं का उपयोग किया आंकड़े था, जैसे कि RLL (0,1) FM कोड, उसके बाद RLL (1,3) MFM कोड, जो 1980 के दशक के मध्य तक हार्ड डिस्क ड्राइव में व्यापक रूप से उपयोग किए जाते थे और अभी भी डिजिटल में उपयोग किए जाते हैं। ऑप्टिकल डिस्क जैसे सीडी, डीवीडी, मिनीडिस्क, हाय-एमडी और ब्लू-रे। 1990 के दशक की प्रारंभ में उच्च-घनत्व RLL (2,7) और RLL (1,7) कोड हार्ड डिस्क के लिए वास्तविक उद्योग मानक बन जाता हैं।
आरएलएल कोडिंग की आवश्यकता है।
हार्ड डिस्क ड्राइव पर, सूचना को डिस्क पर चुंबकीय क्षेत्र की दिशा में परिवर्तन द्वारा दर्शाया जाता है, और चुंबकीय मीडिया पर, प्लेबैक आउटपुट प्रवाह संक्रमण के घनत्व के समानुपाती होता है। एक कंप्यूटर में, एक तार पर वोल्टेज द्वारा सूचना का प्रतिनिधित्व किया जाता है। एक परिभाषित जमीनी स्तर के संबंध में तार पर कोई वोल्टेज बाइनरी शून्य नहीं होगा, और जमीन के संबंध में तार पर धनात्मक वोल्टेज बाइनरी का प्रतिनिधित्व करता है। दूसरी ओर, चुंबकीय मीडिया में सदैव एक चुंबकीय प्रवाह होता है – या तो उत्तरी ध्रुव या दक्षिणी ध्रुव। चुंबकीय क्षेत्र को बाइनरी डेटा में बदलने के लिए, दोनों के बीच अनुवाद करने के लिए कुछ एन्कोडिंग विधि का उपयोग किया जाना चाहिए।
सरलतम व्यावहारिक कोडों में से एक, संशोधित गैर-रिटर्न-टू-ज़ीरो-इनवर्टेड (NRZI), बस एक 1 को एक चुंबकीय ध्रुवीयता संक्रमण के रूप में एन्कोड करता है, जिसे फ्लक्स रिवर्सल के रूप में भी जाना जाता है, और एक शून्य को कोई संक्रमण नहीं है। एक स्थिर दर पर डिस्क कताई के साथ, प्रत्येक बिट को एक समान समय अवधि दी जाती है, एक डेटा विंडो, उस बिट का प्रतिनिधित्व करने वाले चुंबकीय संकेत के लिए, और फ्लक्स रिवर्सल, यदि कोई हो, इस विंडो की प्रारंभ में होता है। (ध्यान दें: पुराने हार्ड डिस्क पूरी डिस्क पर डेटा विंडो के रूप में एक निश्चित समय अवधि का उपयोग करते हैं, किन्तु आधुनिक डिस्क अधिक जटिल हैं; इस पर अधिक जानकारी के लिए, ज़ोन बिट रिकॉर्डिंग देखें।)
यह तरीका इतना सरल नहीं है, क्योंकि प्लेबैक आउटपुट लोगों के घनत्व के समानुपाती होता है, शून्य के लंबे चलने का मतलब कोई प्लेबैक आउटपुट नहीं होता है।
एक साधारण उदाहरण में, बाइनरी पैटर्न 101 पर विचार करें जिसमें 1 ns (एक नैनोसेकंड, या एक सेकंड का एक अरबवाँ भाग) की डेटा विंडो होती है। इसे डिस्क पर एक परिवर्तन के रूप में संग्रहीत किया जाएगा, उसके बाद कोई परिवर्तन नहीं होगा, और फिर दूसरा परिवर्तन होगा। यदि पूर्ववर्ती चुंबकीय ध्रुवीयता पहले से ही धनात्मक थी, तो परिणामी प्रतिरूप इस प्रकार दिखाई दे सकता है: −−+। 255 का मान, या सभी बाइनरी वाले, −+−+−+−+ या +−+−+−+− के रूप में लिखे जाएंगे। एक शून्य बाइट ++++++++ या −−−−−−−− के रूप में लिखा जाता हैं। इस प्रकार शून्य के 512-बाइट क्षेत्र को समान ध्रुवता वाले 4096 अनुक्रमिक बिट्स के रूप में लिखा जाता हैं।
चूंकि डिस्क ड्राइव हार्डवेयर का एक भौतिक टुकड़ा है, मोटर गति में बदलाव या डिस्क प्लैटर के थर्मल विस्तार के कारण ड्राइव की घूर्णी गति थोड़ी बदल सकती है। फ़्लॉपी डिस्क पर भौतिक मीडिया भी विकृत हो सकता है, जिससे समय की बड़ी त्रुटियाँ हो सकती हैं, और नियंत्रक पर समय सर्किट में गति में छोटे बदलाव हो सकते हैं। समस्या यह है कि, शून्य की एक लंबी स्ट्रिंग के साथ, डिस्क ड्राइव के नियंत्रक के लिए रीड हेड की सटीक स्थिति जानने का कोई तरीका नहीं है, और इस प्रकार यह जानने का कोई तरीका नहीं है कि वास्तव में कितने शून्य हैं। यहां तक कि 0.1% की गति भिन्नता, जो किसी भी व्यावहारिक फ्लॉपी ड्राइव से अधिक सटीक है, के परिणामस्वरूप 4096-बिट डेटा स्ट्रीम में 4 बिट्स जोड़े या निकाले जा सकते हैं। किसी प्रकार के तुल्यकालन और त्रुटि सुधार के बिना, डेटा पूर्ण रूप से अनुपयोगी हो जाएगा।
दूसरी समस्या स्वयं चुंबकीय मीडिया की सीमाओं के कारण है: अंतरिक्ष की एक निश्चित मात्रा में इतने सारे ध्रुवीय परिवर्तनों को लिखना केवल संभव है, इसलिए कितने लोगों को क्रमिक रूप से भी लिखा जा सकता है, इसकी एक ऊपरी सीमा है, यह रैखिक पर निर्भर करता है वेग और सिर की खाई।
इस समस्या को रोकने के लिए, डेटा को इस तरह से कोडित किया जाता है कि एक बाइनरी मान की लंबी पुनरावृत्ति न हो। कुछ अधिकतम k तक क्रमशः लिखे गए शून्यों की संख्या को सीमित करके, यह ड्राइव कंट्रोलर के लिए सिंक्रोनाइज़ रहना संभव बनाता है। एक पंक्ति में लिखे गए शून्यों की संख्या को प्रत्येक और हर एक के बीच कुछ न्यूनतम डी तक सीमित करके, ध्रुवीयता परिवर्तनों की समग्र आवृत्ति कम हो जाती है, जिससे ड्राइव को समान मात्रा में अधिक डेटा स्टोर करने की अनुमति मिलती है, जिसके परिणामस्वरूप या तो एक छोटा पैकेज होता है डेटा की समान मात्रा या समान आकार के पैकेज में अधिक संग्रहण प्रस्तुत करता हैं।
इतिहास
चुंबकीय डिस्क पर रिकॉर्ड करने के लिए उपयोग किए जाने वाले सभी कोडों में संक्रमण-मुक्त रन की लंबाई सीमित होती है और इसलिए उन्हें आरएलएल कोड के रूप में वर्णित किया जा सकता है। प्रारंभी और सरल रूपों को विशिष्ट नाम दिए गए थे, जैसे कि संशोधित आवृत्ति मॉडुलन (एमएफएम), और आरएलएल नाम सामान्यतः केवल अधिक जटिल रूपों के लिए उपयोग किया जाता है, ऐसे विशिष्ट नाम नहीं दिए जाते हैं, किन्तु यह शब्द तकनीकी रूप से उन सभी पर लागू होता है।
हार्ड ड्राइव में उपयोग किया जाने वाला पहला RLL कोड RLL (2,7) था, जिसे IBM इंजीनियरों द्वारा विकसित किया गया था और पहली बार 1979 में IBM 3370 डायरेक्ट एक्सेस स्टोरेज डिवाइस पर व्यावसायिक रूप से उपयोग किया गया था।[2][3][4] 4300 सीरीज मेनफ़्रेम कंप्यूटर के साथ प्रयोग के लिए। 1980 के दशक के उत्तरार्ध के दौरान, IBM PC संगत हार्ड डिस्क ने RLL का उचित उपयोग करना प्रारंभ कर दिया हैं (अर्थात उन वेरिएंट की तुलना में अधिक जटिल जिन्हें उनके स्वयं के उचित नाम प्राप्त हुए थे, जैसे MFM)। 1980 के पश्चात आरएलएल कोड ने ऑप्टिकल-डिस्क रिकॉर्डिंग अभ्यास में लगभग सार्वभौमिक आवेदन पाया है। उपभोक्ता इलेक्ट्रॉनिक्स में, आरएलएल जैसे आठ से चौदह मॉड्यूलेशन (दर = 8/17, डी = 2, के = 10) कॉम्पैक्ट डिस्क में कार्यरत हैं (CD) और मिनीडिस्क (MD), और ईएफएमप्लस कोड (दर = 8/16, d = 2, k = 10) DVD में उपयोग किया गया था। पैरामीटर डी और के न्यूनतम और अधिकतम अनुमत रन लंबाई हैं। भंडारण तकनीकों पर अधिक कवरेज के लिए, इस आलेख में उद्धृत संदर्भ उपयोगी हैं।[5][6]
तकनीकी अवलोकन
आम तौर पर रन लेंथ बिट्स की संख्या होती है जिसके लिए संकेतों अपरिवर्तित रहता है। बिट 1 के लिए 3 की एक रन लंबाई, अनुक्रम 111 का प्रतिनिधित्व करती है। उदाहरण के लिए, डिस्क पर चुंबकीय ध्रुवीकरण का पैटर्न +−−−−++−−−++++++ लंबाई 1 के रन के साथ हो सकता है, जो 4, 2, 3, और 6 मान को सम्मिलित करती हैं। चूंकि, रन-लेंथ सीमित कोडिंग शब्दावली NRZI एन्कोडिंग को मानती है, इसलिए 1 बिट परिवर्तन का संकेत देते हैं और 0 बिट परिवर्तन की अनुपस्थिति का संकेत देते हैं, उपरोक्त अनुक्रम 11000101001000001 के रूप में व्यक्त किया जाएगा, और केवल शून्य बिट्स के रन गिने जाते हैं।
कुछ भ्रामक रूप से, रन की लंबाई निकटवर्ती लोगों के बीच शून्य (पूर्व में 0, 3, 1, 2 और 5) की संख्या है, जो संकेतों के वास्तव में अपरिवर्तित रहने की संख्या से एक कम है। रन-लम्बाई सीमित अनुक्रम दो पैरामीटर, डी और के द्वारा वर्णित हैं, जो अनुक्रम में होने वाली न्यूनतम और अधिकतम शून्य-बिट रन लंबाई निर्धारित करते हैं। तो आरएलएल कोड आम तौर पर (डी, के) आरएलएल के रूप में निर्दिष्ट होते हैं, उदाहरण: (1,3) आरएलएल इत्यादि।
कोडिंग
एन्कोडेड प्रारूप में 1 बिट प्रवाह संक्रमण को इंगित करता है, जबकि 0 इंगित करता है कि डिस्क पर चुंबकीय क्षेत्र उस समय अंतराल के लिए परिवर्तित नहीं करता है।
एफएम: (0,1) आरएलएल
आम तौर पर, आरएलएल कोड शब्द का प्रयोग अधिक विस्तृत एन्कोडिंग को संदर्भित करने के लिए किया जाता है, किन्तु मूल आवृत्ति मॉड्यूलेशन कोड, जिसे अंतर मैनचेस्टर एन्कोडिंग भी कहा जाता है, को साधारण दर-1/2 आरएलएल कोड के रूप में देखा जा सकता है। जोड़े गए 1 बिट को क्लॉक बिट कहा जाता है।
Data | Encoded |
---|---|
0 | 10 |
1 | 11 |
उदाहरण:
डेटा: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 एन्कोडेड: 1010111011111011101010111110 घड़ी: 1 1 1 1 1 1 1 1 1 1 1 1 1 1
जीसीआर: (0,2) आरएलएल
अधिकतम रन लंबाई को 2 आसन्न 0 बिट्स तक बढ़ाकर, डेटा दर को 4/5 में सुधारा जा सकता है। यह मूल आईबीएम समूह कोडित रिकॉर्डिंग संस्करण है
|
|
जहां संभव हो (16 में से 11 कोड), बिट पैटर्न abcd
एक के पूरक के साथ इसे प्रीफ़िक्स करके एन्कोड किया गया है: aabcd
. 5 विवादों में जहां यह नियमों में से एक का उल्लंघन करेगा (000d
या ab00
), 11 से प्रारंभ होने वाले कोड को प्रतिस्थापित किया जाता है (11bea
, जहां ई = ए ∨ डी)।
उदाहरण:
डेटा: 0010 1101 0001 1000 एन्कोडेड: 10010011011101111010
ध्यान दें कि (0,2) RLL की परिभाषा को पूरा करने के लिए, यह पर्याप्त नहीं है कि प्रत्येक 5-बिट कोड में क्रमशः दो से अधिक शून्य न हों, बल्कि यह भी आवश्यक है कि 5-बिट कोड की कोई भी जोड़ी क्रमिक रूप से संयुक्त हो दो से अधिक क्रमशः शून्य नहीं होते हैं। अर्थात्, किसी भी दो मनमाने ढंग से चुने गए कोड के लिए पहले कोड में अंतिम एक बिट और दूसरे कोड में पहले एक बिट के बीच दो से अधिक शून्य नहीं होने चाहिए। यह आवश्यक है क्योंकि किसी भी RLL कोड के लिए, रन-लम्बाई सीमाएँ – इस विवाद में 0 और 2 – समग्र संग्राहक बिटस्ट्रीम पर लागू होता है, न कि केवल इसके घटकों के लिए जो सादे डेटा बिट्स के असतत अनुक्रमों का प्रतिनिधित्व करते हैं। (यह नियम बिना किसी अपवाद के कोड की किसी भी मनमानी जोड़ी के लिए होना चाहिए, क्योंकि इनपुट डेटा बिट्स का कोई भी मनमाना अनुक्रम हो सकता है।) आईबीएम जीसीआर कोड इस शर्त को पूरा करता है, क्योंकि किसी भी 5 की प्रारंभ में शून्य की अधिकतम रन लंबाई -बिट कोड एक है, और इसी प्रकार किसी भी कोड के अंत में अधिकतम रन लंबाई एक है, जिससे आसन्न कोड के बीच जंक्शन पर कुल रन लंबाई दो हो जाती है। (कोड के बीच होने वाली अधिकतम रन लंबाई का एक उदाहरण ऊपर दिए गए उदाहरण में देखा जा सकता है, जहां डेटा 0010 के लिए कोड शून्य के साथ समाप्त होता है और अगले डेटा के लिए कोड, 1101, शून्य से प्रारंभ होता है, एक रन बनाता है इन दो 5-बिट कोड के जंक्शन पर दो शून्य।)
एमएफएम: (1,3) आरएलएल
संशोधित आवृत्ति मॉडुलन दिलचस्प होने लगता है, क्योंकि इसके विशेष गुण इसके बिट्स को एक चुंबकीय माध्यम में लिखे जाने की अनुमति देते हैं, जो एक मनमाना बिट स्ट्रीम के घनत्व से दोगुना होता है। पठन उपकरण का पता लगाने के लिए समय प्रवाह संक्रमण के कितने करीब हो सकता है, इसकी एक सीमा है, और यह विवश करता है कि माध्यम पर बिट्स को कितनी बारीकी से रिकॉर्ड किया जा सकता है: सबसे खराब स्थिति में, एक मनमाना बिट स्ट्रीम के साथ, क्रमशः दो होते हैं, जो समय में क्रमशः दो फ्लक्स ट्रांज़िशन उत्पन्न करता है, इसलिए बिट्स को पर्याप्त दूरी पर रखा जाना चाहिए ताकि पाठक के लिए उन फ्लक्स ट्रांज़िशन के बीच पर्याप्त समय हो सके। किन्तु यह कोड डी = 1 की बाधा डालता है, यानी प्रत्येक दो के बीच न्यूनतम एक शून्य होता है। इसका मतलब यह है कि सबसे खराब स्थिति में, फ्लक्स ट्रांज़िशन दो बिट गुना अलग होते हैं, इसलिए बिट्स पाठक की क्षमताओं को पार किए बिना मनमाना बिट स्ट्रीम के साथ-साथ दो गुना करीब हो सकते हैं।
यह दोगुना रिकॉर्डिंग घनत्व इस कोड की 1/2 कोडिंग दर के लिए क्षतिपूर्ति करता है (एक बिट वास्तविक जानकारी का प्रतिनिधित्व करने के लिए दो बिट्स लेता है) और इसे दर -1 कोड के बराबर बनाता है।
एन्कोडिंग एफएम एन्कोडिंग के समान ही है।
Data | Encoded |
---|---|
0 | x0 |
1 | 01 |
जहाँ x स्ट्रीम के पहले एन्कोडेड बिट का पूरक है।
क्लॉक बिट्स को छोड़कर जो सदैव एक नहीं होते हैं, यह FM सूची के समान है, और इसी प्रकार इस कोड को इसका नाम मिलता है। दो 0 डेटा बिट्स के बीच सम्मिलित क्लॉक बिट्स 0 हैं।
पिछले n-1 बिट के साथ संयुक्त होने पर, प्रत्येक डेटा बिट n के लिए परिणामी एन्कोडिंग सूची प्रभावी रूप से बन जाती है।
Data (n) | Data (n-1) | Encoded (n) |
---|---|---|
0 | 0 | 10 |
1 | 00 | |
1 | 0 | 01 |
1 | 01 |
उदाहरण:
डेटा: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 एन्कोडेड: x010010001010001001010010100 घड़ी: x 1 0 0 0 0 0 0 0 1 1 0 0 0
(1,7) आरएलएल
(1,7) RLL डिस्क पर 3 बिट्स पर डेटा के 2 बिट्स मैप करता है, और एन्कोडिंग 2- या 4-बिट समूहों में किया जाता है। एन्कोडिंग नियम हैं: (x, y) बन जाता है (NOT x, x AND y, NOT y), सिवाय (x, 0, 0, y) (NOT x, x AND y, NOT y, 0, 0, 0 ) बन जाता है।[7]
नीचे दी गई सूची के अनुसार एन्कोडिंग करते समय, सबसे लंबे समय तक (सूची में अंतिम) मैच का उपयोग किया जाना चाहिए; वे अपवाद प्रबंधन स्थितियां हैं जहां पहले के नियमों को लागू करने से कोड बाधाओं का उल्लंघन होगा।
Data | Encoded |
---|---|
00 | 101 |
01 | 100 |
10 | 001 |
11 | 010 |
00 00 | 101 000 |
00 01 | 100 000 |
10 00 | 001 000 |
10 01 | 010 000 |
उदाहरण:
डेटा: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 एन्कोडेड: 101 001 010 100 100 000 001
(2,7) आरएलएल
(2,7) आरएलएल दर है-1⁄2 कोड, MFM की तरह डिस्क पर 2n बिट्स पर डेटा के n बिट्स की मैपिंग, किन्तु क्योंकि न्यूनतम रन लंबाई 50% लंबी है (2 के बजाय 3 बिट बार), बिट्स को तेजी से लिखा जा सकता है, जिससे 50% अधिक प्रभावी डेटा प्राप्त होता है घनत्व। एन्कोडिंग 2-, 3- या 4-बिट समूहों में की जाती है।
पश्चिमी डिजिटल WD5010A, WD5011A, WD50C12
Data | (2,7) RLL encoded |
---|---|
11 | 1000 |
10 | 0100 |
000 | 100100 |
010 | 000100 |
011 | 001000 |
0011 | 00001000 |
0010 | 00100100 |
सीगेट ST11R, आईबीएम
Data | (2,7) RLL encoded |
---|---|
11 | 1000 |
10 | 0100 |
000 | 000100 |
010 | 100100 |
011 | 001000 |
0011 | 00001000 |
0010 | 00100100 |
पेरस्टोर सिस्टम ADRC
Data | (2,7) RLL encoded |
---|---|
11 | 1000 |
10 | 0100 |
000 | 100100 |
010 | 000100 |
001 | 001000 |
0111 | 00001000 |
0110 | 00100100 |
एन्कोडेड फॉर्म अधिकतम 4 से प्रारंभ होते हैं, और अधिकतम 3 शून्य बिट्स के साथ समाप्त होते हैं, अधिकतम 7 रन की लंबाई देते हैं।
उदाहरण:
डेटा: 1 1 0 1 1 0 0 1 1 एन्कोडेड: 1000 001000 00001000
एचएचएच (1,13)
HHH(1,13) कोड 16 MB/s IrDA VFIR भौतिक परत में उपयोग के लिए तीन IBM शोधकर्ताओं (Hirt, Hassner, और Heise) द्वारा विकसित दर-2/3 कोड है।[8] चुंबकीय एन्कोडिंग के विपरीत, यह इन्फ्रारेड ट्रांसमीटर के लिए डिज़ाइन किया गया है, जहां 0 बिट ऑफ का प्रतिनिधित्व करता है और 1 बिट का प्रतिनिधित्व करता है। क्योंकि 1 बिट संचारित करने के लिए अधिक शक्ति का उपभोग करता है, इसे 1 बिट के घनत्व को 50% से कम तक सीमित करने के लिए डिज़ाइन किया गया है। विशेष रूप से, यह एक (1,13|5) आरएलएल कोड है, जहां अंतिम 5 अतिरिक्त बाधा को इंगित करता है कि अधिकतम 5 क्रमशः 10 बिट जोड़े हैं।
Data | Encoded |
---|---|
00 | 010 |
01 | 001 |
10 | 100 |
11 | 101 |
01 10 | 001 000 |
01 11 | 010 000 |
11 10 | 101 000 |
11 11 | 100 000 |
00 11 00 | 010 000 000 |
00 11 01 | 001 000 000 |
10 11 00 | 100 000 000 |
10 11 01 | 101 000 000 |
00 11 10 11 | 010 000 000 000 |
10 11 10 11 | 100 000 000 000 |
पहली आठ पंक्तियाँ एक मानक (1,7)-आरएलएल कोड का वर्णन करती हैं। अतिरिक्त छह अपवाद शून्य के अधिकतम रन को 13 तक बढ़ाते हैं (कानूनी पैटर्न 100-000-000-000-001 में, जो 10 11 10 11 का प्रतिनिधित्व करता है, जिसके बाद 01 होता है), किन्तु अधिकतम औसत घनत्व को सीमित करें 1⁄3. 1–0 जोड़े का सबसे लंबा रन 000 101 010 101 000 है।
यह कोड घनत्व को बीच में सीमित करता है 1⁄12 और 1⁄3, 25.8% के औसत के साथ।
उदाहरण
उदाहरण के लिए, आइए बिट अनुक्रम 10110010 को अलग-अलग एनकोडिंग के साथ एनकोड करें
Encoding | Data | Encoded |
---|---|---|
RLL(0,1) | 10110010 | 1110111110101110 |
RLL(0,2) | 1011 0010 | 01011 10010 |
RLL(1,3) | 10110010 | 0100010100100100 |
RLL(1,7) | 10 11 00 10 | 001 010 101 001 |
RLL(2,7) | 10 11 0010 | 0100 1000 00100100 |
घनत्व
मान लीजिए कि एक चुंबकीय टेप में प्रति इंच 3200 फ्लक्स रिवर्सल हो सकते हैं। एक संशोधित आवृत्ति मॉड्यूलेशन, या (1,3) आरएलएल एन्कोडिंग, प्रत्येक डेटा बिट को टेप पर दो बिट्स के रूप में संग्रहीत करता है, किन्तु चूंकि किसी भी 1 (फ्लक्स रिवर्सल) बिट्स के बीच एक 0 (कोई फ्लक्स रिवर्सल) बिट होने की गारंटी नहीं है, तो यह टेप पर 6400 एन्कोडेड बिट्स प्रति इंच या 3200 डेटा बिट्स प्रति इंच स्टोर करना संभव है। ए (1,7) आरएलएल एन्कोडिंग टेप पर 6400 एन्कोडेड बिट्स प्रति इंच भी स्टोर कर सकता है, किन्तु चूंकि यह 2 डेटा बिट्स स्टोर करने के लिए केवल 3 एन्कोडेड बिट्स लेता है, यह 4267 डेटा बिट्स प्रति इंच है। ए (2,7) आरएलएल एन्कोडिंग प्रत्येक डेटा बिट को स्टोर करने के लिए 2 एन्कोडेड बिट्स लेता है, किन्तु चूंकि किसी भी 1 बिट्स के बीच दो 0 बिट्स होने की गारंटी है, तो टेप पर प्रति इंच 9600 एन्कोडेड बिट्स स्टोर करना संभव है, या 4800 डेटा बिट्स प्रति इंच को प्रकट करता हैं।
हार्ड ड्राइव पर फ्लक्स-रिवर्सल घनत्व उल्लेखनीय रूप से अधिक है, किन्तु विभिन्न एन्कोडिंग सिस्टम का उपयोग करके भंडारण घनत्व में समान सुधार देखा जाता है।
यह भी देखें
- 8b/10b एन्कोडिंग
- बिट स्लिप
- आठ से चौदह मॉड्यूलेशन और ईएफएमप्लस क्रमशः सीडी और डीवीडी पर उपयोग किए जाने वाले डीसी-फ्री (2,10) आरएलएल कोड हैं।
- त्रुटि सुधार कोड
- लाइन कोड
- मॉडुलन
- एक प्रकार की प्रोग्रामिंग की पर्त
- पीआरएमएल
- रन-लेंथ एन्कोडिंग
- स्व-सिंक्रनाइज़िंग कोड और बिट सिंक्रोनाइज़ेशन
- स्रोत कोडिंग
संदर्भ
- ↑ Kees Schouhamer Immink (October 2022). "Innovation in Constrained Codes". IEEE Communications Magazine. 60 (10): 20–24. doi:10.1109/MCOM.002.2200249.
एक विवश प्रणाली को रिकॉर्ड या प्रसारित किए जाने वाले 'अच्छे' या 'स्वीकार्य' अनुक्रमों के एक विवश सेट द्वारा परिभाषित किया गया है। विवश कोडिंग विवश प्रणालियों के विश्लेषण और कुशल एनकोडर और डिकोडर के डिजाइन पर केंद्रित है जो मनमाना उपयोगकर्ता अनुक्रमों को विवश अनुक्रमों में बदलते हैं।
- ↑ A Quarter Century of Disk File Innovation, IBM Journal of Research and Development.
- ↑ P. A. Franaszek (1972), “Run-Length-Limited Variable Length Coding with Error Propagation Limitation”, U.S. Patent 3,689,899.
- ↑ Five decades of disk drive industry firsts, DISK/TREND, Inc., publisher of market studies of the worldwide disk drive and data storage industries. web.archive.org.
- ↑ Kees Schouhamer Immink (December 1990). "Runlength-Limited Sequences". Proceedings of the IEEE. 78 (11): 1745–1759. doi:10.1109/5.63306.
A detailed description is furnished of the limiting properties of runlength limited sequences.
- ↑ Kees A. Schouhamer Immink (November 2004). Codes for Mass Data Storage Systems (Second fully revised ed.). Eindhoven, The Netherlands: Shannon Foundation Publishers. ISBN 90-74249-27-2. Retrieved 2015-08-23.
- ↑ Mee, C. Denis; Daniel, Eric D. (1996). Magnetic Storage Handbook (2nd ed.). McGraw Hill. ISBN 0-07-041275-8.
- ↑ Hirt, Walter; Hassner, Martin; Heise, Nyles (February 2001), "IrDA-VFIr (16 Mb/s): modulation code and system design", IEEE Personal Communications, 8 (1): 58–71, doi:10.1109/98.904900.