जैसा कि एक टिप्पणी में कहा गया है, भौतिक ड्राइव ज्यामिति के लिए रिपोर्ट किए गए सिलेंडर / हेड / सेक्टर नंबर का इन दिनों वास्तविकता में कोई आधार नहीं है। आप उन नंबरों को सुरक्षित रूप से अनदेखा कर सकते हैं।
क्या चल रहा है यह समझने के लिए, हमें 1981 के मूल आईबीएम मॉडल 5150 पीसी पर वापस जाना होगा।
5150 का मूल विन्यास कैसेट और फ्लॉपी डिस्क स्टोरेज का कुछ संयोजन था। यह मूल रूप से एक हार्ड डिस्क का समर्थन नहीं करता था ( एक को वापस लिया जा सकता था, लेकिन इसके लिए दोनों एक अलग नियंत्रक कार्ड के साथ-साथ कारखाने से आए एक अधिक शक्तिशाली बिजली की आपूर्ति की आवश्यकता थी; साथ ही, वे एक महंगे लक्जरी थे; )। फ्लॉपी डिस्क के साथ, यह हेड, सिलेंडर और सेक्टर के संदर्भ में मीडिया को संबोधित करने के लिए कुछ समझ में आता है; ये मात्रा भौतिक मीडिया पर दिए गए स्थान पर काफी सुविधाजनक रूप से अनुवादित होती हैं, और सॉफ्टवेयर के साथ-साथ नियंत्रक फर्मवेयर और ड्राइव हार्डवेयर दोनों में काम करना अपेक्षाकृत आसान है। जब आप लगभग सचमुच किसी भी प्रकार के भंडारण के बाइट का भुगतान कर रहे हैं, तो यह सरलता वास्तव में बहुत अच्छी बात है।
क्योंकि 5150 में बहुत सीमित मात्रा में मेमोरी थी, RAM और स्टोरेज ( बेस मॉडल में 16 KiB RAM थी , इस उत्तर का टेक्स्ट लगभग आधे RAM तक ले जाएगा, अकेले किसी भी सॉफ्टवेयर को टेक्स्ट के साथ काम करने दें), जितना संभव हो उतना कम बर्बाद करना महत्वपूर्ण था। तो इसमें शामिल इंजीनियर सीमा का एक सेट के साथ आए थे जो शायद उस समय बहुत बड़ा लग रहा था: 10 बिट्स का उपयोग करके सिलेंडर को एन्कोड किया गया था, 8 बिट्स का उपयोग करके सिर को एन्कोड किया गया था, और सेक्टर नंबर 6 बिट्स का उपयोग करके एन्कोड किया गया था, जो सभी हो सकते हैं कुछ बिटशफ्टिंग जादू के साथ तीन बाइट्स में बड़े करीने से पैक । इसने 256 सिर, 1024 सिलेंडर प्रति सिर और 64 सेक्टर प्रति सिलेंडर को संबोधित करने की अनुमति दी।(व्यवहार में, प्रत्येक के लिए नंबर 0 का उपयोग नहीं किया जाता है।) 512 बाइट सेक्टरों के साथ, यह 1981 में 8 गिब का एक शानदार कुल डेटा प्राप्त करने की अनुमति देता है, डेटा की भारी मात्रा। यहां तक कि एक अधिक व्यावहारिक दस-सिर ड्राइव ने आपको एक ऊपरी सीमा दी है। 320 MiB के एक समय में, जब 5150 की शुरूआत के समय "उच्च अंत" भंडारण माध्यम 160 किलोबाइट फ्लॉपी डिस्क (ट्रैक और आठ ट्रैक या सिलिंडर प्रति आठ क्षेत्रों का उपयोग करके) था। अगर हम सिंगल-लेयर डीवीडी के साथ उन फ्लॉपी डिस्क को बदलने के आधार पर एक्सट्रपलेशन करते हैं, जो कि 4 GiB से थोड़ी अधिक स्टोर करते हैं, बजाय उन 8 GiB ड्राइव के जो हम सिंगल ड्राइव को 100 TB के ऑर्डर पर स्टोर करने में सक्षम दिखेंगे। जल्द ही किसी भी समय बाजार क्षितिज पर उनमें से किसी को देखें? मैंने ऐसा नहीं सोचा था।
एक जटिल कारक यह था कि मूल आईडीई मानक एक अलग सीएचएस एन्कोडिंग का उपयोग करता था । इसने CHS के लिए 28 बिट्स का इस्तेमाल किया, सिलेंडर को 16 बिट्स के रूप में, 4 बिट्स को हेड और 8 बिट्स को सेक्टर के रूप में इस्तेमाल किया। चूँकि हर किसी को अनुकूलता पसंद है, इन दोनों में से सबसे बड़ा लेने से, हमें 10 सिलेंडर बिट्स, 4 हेड बिट्स और 6 सेक्टर बिट्स मिलते हैं। चूंकि सेक्टर 0 का उपयोग नहीं किया जाता है, इसलिए यह 1,032,192 सेक्टरों को संबोधित करने की अनुमति देता है जो 512 बाइट्स में से प्रत्येक 504 MiB पर काम करता है। 500 एमबी की बाधा: पहली सीमा हार्ड ड्राइव का सामना करना पड़ा है। 512 बाइट क्षेत्रों के साथ पूर्ण आईडीई सीएचएस योजना का उपयोग करके और आईबीएम सीएचएस संगतता के बारे में परवाह नहीं करने पर, आप 127.5 GiB को संबोधित कर सकते हैं।
इसके अलावा, बाजार में 256 हेड ड्राइव वास्तव में कभी नहीं पकड़े गए। (आज भी, अधिकांश हार्ड डिस्क ड्राइव, प्रत्येक प्लैटर के प्रत्येक पक्ष के लिए एक सिर के साथ, आधा दर्जन से भी कम प्लेटों का उपयोग करते हैं ।) तो किसी ने अप्रयुक्त बिट्स को उधार लेने और उन्हें फिर से तैयार करने की चाल के बारे में सोचा। इसलिए, एक ड्राइव अपने आप को चार गुना अधिक सिर के रूप में प्रस्तुत कर सकता है क्योंकि यह वास्तव में करता है, लेकिन वास्तव में सिलेंडर को संबोधित करने के लिए उन दो अतिरिक्त बिट्स का उपयोग करें। फर्मवेयर अनुवाद को आसानी से पर्याप्त कर सकता है क्योंकि इसे उसी तरह से बाध्य करने की आवश्यकता नहीं है जैसे कि मूल 5150 सीएचएस एड्रेसिंग प्रारूप, अकेले आइडीई / एटीए और आईबीएम सीएचएस एड्रेसिंग के निम्नतम सामान्य भाजक को दें। हालाँकि, संगत बने रहने के लिए, ड्राइव को अभी भी CHS ज्यामिति प्रस्तुत करनी होगी। और इसलिए LBA- सहायता प्राप्त अनुवादित ज्यामिति का जन्म हुआ। इसने सीएचएस योजना के पूर्ण सैद्धांतिक 8 जीईबी संबोधित करने की सीमा का उपयोग करने की अनुमति दी, लेकिन हमें ड्राइव जैसी रिपोर्टिंग से यह संकेत मिला कि उनके पास सैकड़ों सिर हैं ताकि सीएचएस ज्यामिति के माध्यम से ड्राइव के सभी क्षेत्रों को संबोधित करने का कोई तरीका हो।
1990 के दशक के उत्तरार्ध तक सीएचएस किसी तरह से बच गया, जब सामान्य हार्ड डिस्क ड्राइव आकार अपनी सैद्धांतिक सीमाओं की ओर रेंगना शुरू कर दिया। उस समय, यह स्पष्ट हो गया कि कुछ पूरी तरह से अलग की आवश्यकता थी। ड्राइव भी अधिक उन्नत हो रहे थे, और उस समय के आसपास ड्राइव्स में ऑपरेटिंग सिस्टम, पारदर्शी रूप से खराब क्षेत्रों को हटाने की क्षमता होने लगी (यह पहले ऑपरेटिंग सिस्टम के फाइल सिस्टम कोड की जिम्मेदारी थी, और यही कारण है कि उदाहरण के लिए MS -DOS 6.x "स्कैनडिस्क" में संपूर्ण ड्राइव पर एक शारीरिक रीड / राइट स्वीप करने की क्षमता थी)। विशेष रूप से जब आप पारदर्शी क्षेत्र के रीमैपिंग क्षेत्र में उतरते हैं, तो सीएचएस संबोधन की पूरी अवधारणा निरर्थक हो जाती है क्योंकि ऐसा कुछ भी नहीं होता है कि सीएचएस पता आपके लिए कुछ भी हो, जिसका उपयोग होने वाले अंत के साथ कुछ भी करना है।
इस विचार का जन्म केवल ड्राइव को सेक्टरों के बंडल के रूप में संबोधित करने के लिए हुआ था । SCSI ने कुछ समय के लिए , शुरुआत में 21-बिट LBA का उपयोग किया था , लेकिन बाद में 32-बिट LBA में चला गया, लेकिन PC CHS शिविर में पूरी तरह से अटक गया था, भले ही 22-बिट LBA मूल IDE मानक में भी एक विकल्प था 1980 के दशक के मध्य में वापस डेटिंग । यह LBA या लॉजिकल ब्लॉक एड्रेसिंग है। हमारे उद्देश्यों के लिए प्रासंगिक प्रारंभिक मानकीकृत LBA मोड LBA-28 था, जिसने 512 बाइट क्षेत्रों के 128 GiB को संबोधित करने की अनुमति दी थी; में ATA-6 यह LBA-48 द्वारा superceded किया गया था । सभी आधुनिक ( सबसे अधिक पोस्ट 1996)) ड्राइव एलबीए हैं, साथ ही साथ ऑपरेटिंग सिस्टम के बारे में जानकर ड्राइव में 512 बाइट या 4096 बाइट सेक्टर हो सकते हैं। जब ऑपरेटिंग सिस्टम का डिस्क ड्राइवर कुछ मात्रा में डेटा चाहता है, तो यह सेक्टर नंबर N के लिए एक रीड रिक्वेस्ट जारी करता है , या N के माध्यम से इंटरवल सेक्टर नंबर M। फिजिकल ड्राइव को इसके द्वारा जो भी इंटरनल ज्योमेट्री यूज करता है, उसे ट्रांसलेट करने के लिए फ्री है। यह उपयोग करने के लिए चुनता है। इसमें भौतिक पट्टियों या चिप्स की मैपिंग, और उन स्थानों के साथ-साथ पारदर्शी क्षेत्र रीमैपिंग शामिल हैं। ओएस को कभी भी उन विवरणों के साथ खुद को जानने या चिंता करने की आवश्यकता नहीं है। इसलिए आप केवल SSD में प्लग कर सकते हैं और यह सिलेण्डरों, हेड्स और सेक्टर्स की पूरी अवधारणा के बावजूद काम करता है, जो ठोस अवस्था में स्टोरेज के साथ बिल्कुल नहीं है।हम वर्तमान में 48-बिट LBA पते का उपयोग कर रहे हैं , जो 2 ^ 48 (लगभग 3 * 10 ^ 14) क्षेत्रों को संबोधित करने की अनुमति देता है। 512 बाइट क्षेत्रों के साथ, जो 128 PiB को संबोधित करने की अनुमति देता है; 4,096 बाइट क्षेत्रों के लिए कदम ने सैद्धांतिक रूप से इसे 1 ईआईबी तक बढ़ा दिया है, हालांकि इसे डिवाइस संचार प्रोटोकॉल में बदलाव की आवश्यकता होगी। फिर भी, 128 PiB वर्तमान तकनीक के साथ व्यावहारिक रूप से उल्लेखनीय है, जो कि निकट भविष्य में कम से कम एक समस्या नहीं है। (आपको नए 20,000 से लगभग 6 टीबी ड्राइव की आवश्यकता होगी, जो एक ही सरणी में धारीदार हो और पास भी आए।)
आधुनिक ड्राइव एसएमएआरटी स्व-निगरानी डेटा को भी उजागर करते हैं, ताकि यदि ओएस या कोई एप्लिकेशन देखभाल करता है, तो यह कुछ इस बारे में पता लगा सकता है कि उदाहरण क्षेत्र रीमैपिंग के लिए क्या हो रहा है। लेकिन ओएस को उस जानकारी को देखने की कोई आवश्यकता नहीं है , क्योंकि (सिद्धांत रूप में, वैसे भी) यह सब आंतरिक रूप से ड्राइव द्वारा नियंत्रित किया जाता है।