معالجة الكتل المنطقية

يُعدّ نظام العنونة المنطقية للكتل ( LBA ) نظامًا شائعًا لتحديد مواقع كتل البيانات المخزنة على أجهزة تخزين الحاسوب ، وخاصةً أنظمة التخزين الثانوية مثل محركات الأقراص الصلبة . ويُعتبر نظام العنونة المنطقية للكتل نظامًا خطيًا بسيطًا للغاية ؛ حيث يتم تحديد مواقع الكتل بواسطة فهرس عددي صحيح، وتكون الكتلة الأولى هي LBA 0، والثانية LBA 1، وهكذا. [ 1 ]

تضمن معيار IDE خيار عناوين الكتل المنطقية (LBA) بحجم 22 بت، والذي تم توسيعه لاحقًا إلى 28 بت مع إصدار ATA-1 (1994) وإلى 48 بت مع إصدار ATA-6 (2003)، بينما يبلغ حجم المدخلات في هياكل البيانات الموجودة على القرص وفي الذاكرة والتي تحمل العنوان عادةً 32 أو 64 بت. وتُطبّق معظم محركات الأقراص الصلبة التي صدرت بعد عام 1996 عناوين الكتل المنطقية.

ملخص

في عنونة الكتل المنطقية، يتم استخدام رقم واحد فقط لعنونة البيانات، ويصف كل عنوان أساسي خطي كتلة واحدة.

يحلّ نظام LBA محلّ الأنظمة السابقة التي كانت تكشف التفاصيل الفيزيائية لجهاز التخزين لبرمجيات نظام التشغيل. وكان أبرزها نظام الأسطوانة-الرأس-القطاع (CHS)، حيث كانت تُعنون الكتل باستخدام مجموعة بيانات تُحدد الأسطوانة والرأس والقطاع الذي تظهر فيه على القرص الصلب . لم يكن نظام CHS متوافقًا بشكل جيد مع الأجهزة الأخرى غير الأقراص الصلبة (مثل أشرطة التخزين ووحدات التخزين الشبكية)، ولم يُستخدم معها بشكل عام. استُخدم نظام CHS في محركات الأقراص MFM و RLL المبكرة ، كما استُخدم هو وخليفته، نظام الأسطوانة-الرأس-القطاع الموسّع (ECHS)، في محركات الأقراص ATA الأولى . مع ذلك، تستخدم محركات الأقراص الحالية تسجيل بتات المنطقة ، حيث يعتمد عدد القطاعات لكل مسار على رقم المسار. على الرغم من أن محرك الأقراص سيُبلغ عن بعض قيم CHS على أنها قطاعات لكل مسار (SPT) ورؤوس لكل أسطوانة (HPC)، إلا أنها لا ترتبط كثيرًا بالهندسة الحقيقية لمحرك الأقراص.

تم تقديم LBA لأول مرة عام 1981 بواسطة SASI ، السلف لـ SCSI ، كطبقة تجريدية. على الرغم من أن وحدة تحكم القرص لا تزال تعنون كتل البيانات باستخدام عنوان CHS الخاص بها، إلا أن هذه المعلومات لا تُستخدم عادةً من قِبل برنامج تشغيل جهاز SCSI ، أو نظام التشغيل، أو رمز نظام الملفات، أو أي تطبيقات (مثل قواعد البيانات) التي تصل إلى القرص "الخام". تقوم استدعاءات النظام التي تتطلب إدخال/إخراج على مستوى الكتلة بتمرير تعريفات LBA إلى برنامج تشغيل جهاز التخزين؛ في الحالات البسيطة (حيث يتم تعيين وحدة تخزين واحدة لمحرك أقراص فعلي واحد)، يتم تمرير LBA مباشرةً إلى وحدة تحكم القرص.

في أجهزة المصفوفة المتكررة للأقراص المستقلة (RAID) وشبكات منطقة التخزين (SANs) وحيث يتم تكوين محركات الأقراص المنطقية ( أرقام الوحدات المنطقية ، LUNs) من خلال محاكاة LUN وتجميعها، يجب ترجمة عناوين LBA للقرص الفردي بواسطة طبقة برمجية لتوفير عناوين LBA موحدة لجهاز التخزين بأكمله.

نظام BIOS مُحسّن

قدّم معيار IDE السابق من ويسترن ديجيتال عناوين LBA ذات 22 بت؛ وفي عام 1994، سمح معيار ATA-1 بعناوين ذات 28 بت في كلٍ من وضعي LBA وCHS. استخدم نظام CHS 16 بت للأسطوانة، و4 بت للرأس، و8 بت للقطاع، مع ترقيم القطاعات من 1 إلى 255. هذا يعني أن عدد الرؤوس المُبلغ عنه لا يتجاوز 16 (0-15)، وأن عدد القطاعات يمكن أن يصل إلى 255 (1-255؛ مع أن 63 هو الحد الأقصى المستخدم غالبًا)، وأن عدد الأسطوانات يمكن أن يصل إلى 65536 (0-65535)، مما يحد من حجم القرص إلى 128 جيجابايت (≈137.4 جيجابايت)، بافتراض قطاعات بحجم 512 بايت. يمكن الوصول إلى هذه القيم عن طريق إصدار أمر ATA "Identify Device" ( ECh) إلى محرك الأقراص. [ 2 ] : 87

مع ذلك، استخدم تطبيق IBM BIOS المُحدد في إجراءات الوصول إلى القرص INT 13h نظامًا مختلفًا تمامًا لعنونة CHS، حيث خصص 10 بتات للأسطوانة، و8 بتات للرأس، و6 بتات للقطاع، أي 1024 أسطوانة، و256 رأسًا، و63 قطاعًا. [ 3 ]  وقد سبق تطبيق INT 13h هذا معيار ATA، إذ طُرح عندما كان جهاز IBM PC مزودًا فقط بوحدات تخزين الأقراص المرنة ، وعندما طُرحت محركات الأقراص الصلبة في IBM PC/XT ، لم يكن من الممكن عمليًا إعادة تصميم واجهة INT  13h بسبب مشاكل التوافق مع الإصدارات السابقة . أدى تداخل تعيين ATA CHS مع تعيين BIOS CHS إلى إنتاج القاسم المشترك الأدنى وهو 10:4:6 بت، أو 1024 أسطوانة، و16 رأسًا، و63 قطاعًا، مما أعطى الحد العملي لـ 1024 × 16 × 63 قطاعًا و528  ميجابايت (504 ميجابايت )، بافتراض قطاعات بحجم 512 بايت. 

لكي يتجاوز نظام الإدخال والإخراج الأساسي (BIOS) هذا القيد ويعمل بنجاح مع محركات الأقراص الصلبة ذات السعات الأكبر، كان لا بد من تطبيق آلية تحويل CHS في إجراءات إدخال/إخراج القرص في BIOS، والتي تقوم بالتحويل بين ترقيم CHS ذي 24 بت المستخدم في INT 13h وترقيم CHS ذي 28 بت المستخدم في ATA. تُسمى آلية التحويل هذه "التحويل الكبير" أو "تحويل إزاحة البت" . تعمل هذه الطريقة على إعادة تعيين أسطوانات ورؤوس ATA ذات 16:4:8 بت إلى نظام 10:8:6 بت المستخدم في INT 13h، مما يُنتج عددًا أكبر بكثير من رؤوس محركات الأقراص "الافتراضية" مقارنةً بما يُبلغه القرص الفعلي. وقد أدى ذلك إلى زيادة الحد العملي إلى 1024×256×63 قطاعًا، أو 8.4 جيجابايت (7.8 جيجابايت ).    

للتغلب على هذا القيد، تم تقديم امتدادات INT 13h مع خدمات محركات الأقراص المحسّنة في BIOS ، مما أزال القيود العملية على حجم القرص لأنظمة التشغيل التي تدعم هذه الواجهة الجديدة، مثل مكون DOS 7.0 في Windows 95. يدعم هذا النظام الفرعي المحسّن في BIOS عنونة LBA باستخدام طريقة LBA أو طريقة LBA المدعومة ، والتي تستخدم LBA الأصلي 28 بت لعنونة أقراص ATA وتُجري تحويل CHS حسب الحاجة. 

الطريقة العادية أو طريقة "لا شيء" تعود إلى وضع CHS السابق ذي 10:4:6 بت والذي لا يدعم عنونة أكثر من 528  ميجابايت.

تثبيت نسخة OEM من برنامج EZ Drive من شركة Western Digital على قرص مرن بحجم 3.5 بوصة.

قبل إصدار معيار ATA-2 عام 1996، كان هناك عدد قليل من محركات الأقراص الصلبة الكبيرة التي لا تدعم عنونة LBA، لذا لم يكن بالإمكان استخدام سوى الطرق الكبيرة أو العادية . مع ذلك، أدى استخدام الطريقة الكبيرة إلى مشاكل في قابلية النقل، حيث كانت أنظمة BIOS المختلفة تستخدم غالبًا طرق ترجمة مختلفة وغير متوافقة، وغالبًا ما يتعذر قراءة محركات الأقراص الصلبة المُقسّمة على جهاز كمبيوتر بنظام BIOS من مُصنِّع مُعيَّن على جهاز كمبيوتر بنظام BIOS من مُصنِّع مُختلف. كان الحل هو استخدام برامج تحويل مثل OnTrack Disk Manager وMicro House EZ-Drive/EZ-BIOS، وغيرها، والتي تُثبَّت على مُحمِّل نظام التشغيل الخاص بالقرص وتستبدل إجراءات INT 13h عند بدء التشغيل برمز مُخصَّص. كما يُمكن لهذا البرنامج تفعيل دعم LBA وامتدادات INT 13h لأجهزة الكمبيوتر القديمة ذات أنظمة BIOS غير المتوافقة مع LBA.  

الترجمة بمساعدة LBA

عندما يتم ضبط نظام الإدخال والإخراج الأساسي (BIOS) لاستخدام قرص في وضع الترجمة بمساعدة LBA، فإنه يصل إلى المكونات المادية باستخدام وضع LBA، ولكنه يعرض أيضًا هندسة CHS مترجمة عبر  واجهة INT 13h. يعتمد عدد الأسطوانات والرؤوس والقطاعات في الهندسة المترجمة على الحجم الإجمالي للقرص، كما هو موضح في الجدول التالي. [ 4 ]

حجم القرصالقطاعات/المساررؤوسالأسطوانات
1 < X ≤ 504 ميجابايت6316X ÷ (63 × 16 × 512)
504 ميجابايت < X ≤ 1008 ميجابايت6332X ÷ (63 × 32 × 512)
1008 ميجابايت < X ≤ 2016 ميجابايت6364X ÷ (63 × 64 × 512)
2016 ميجابايت < X ≤ 4032 ميجابايت63128X ÷ (63 × 128 × 512)
4032 ميجابايت < X ≤ 8032.5 ميجابايت63255X ÷ (63 × 255 × 512)

LBA48

تم تقديم نظام LBA الحالي ذو 48 بت في عام 2002 مع معيار ATA-6 ، [ 5 ] مما رفع حد العنونة إلى 2⁴⁸  × 512 بايت، أي ما يعادل 128 بيتابايت بالضبط أو 144 بيتابايت تقريبًا . تدعم أجهزة الكمبيوتر المتوافقة مع نظام التشغيل Windows حاليًا امتدادات INT 13h، التي تستخدم هياكل 64 بت لعنونة LBA، ومن المفترض أن تشمل أي امتداد مستقبلي لعنونة LBA، على الرغم من أن أنظمة التشغيل الحديثة تُنفذ الوصول المباشر إلى القرص ولا تستخدم أنظمة BIOS الفرعية، إلا عند بدء التشغيل . تستخدم الأقراص المُقسّمة بنظام MBR عنونة LBA ذات 32 بت للتعامل مع العدد الإجمالي للقطاعات الفيزيائية أو المنطقية، أي أنها تستطيع التعامل مع حد أقصى إجمالي يبلغ 4,294,967,296 قطاعًا (2^32). هذا يعني أنه تقليديًا، كان الحد الأقصى للبيانات التي يمكن تخزينها لكل قرص صلب هو 2 تيرابايت ، نظرًا لأن حجم القطاع الفيزيائي والمنطقي لهذه الأقراص يبلغ 512 بايت. يمكن تجاوز هذا الحد حتى 16 تيرابايت مع قطاع فعلي ومنطقي بحجم 4096 بايت. [ 6 ]   

تحويل CHS

مكافئ لـ LBA و CHS مع 16 رأسًا لكل أسطوانة
قيمة LBAمجموعة CHS
00، 0، 1
10، 0، 2
20، 0، 3
620، 0، 63
630، 1، 1
9450، 15، 1
10070، 15، 63
10081، 0، 1
10701، 0، 63
10711، 1، 1
11331، 1، 63
11341، 2، 1
20151، 15، 63
20162، 0، 1
1612715، 15، 63
1612816، 0، 1
32,25531، 15، 63
32,25632، 0، 1
16,450,55916319، 15، 63
16,514,06316382، 15، 63

في نظام عنونة LBA، تُرقّم القطاعات باستخدام مؤشرات عددية صحيحة؛ وعند ربطها بمجموعات CHS ( أسطوانة-رأس-قطاع ) ، يبدأ ترقيم LBA من الأسطوانة الأولى، والرأس الأول، والقطاع الأول من المسار. بمجرد استنفاد المسار، يستمر الترقيم إلى الرأس الثاني، مع البقاء داخل الأسطوانة الأولى. بمجرد استنفاد جميع الرؤوس داخل الأسطوانة الأولى، يستمر الترقيم من الأسطوانة الثانية، وهكذا. وبالتالي، كلما انخفضت قيمة LBA، اقترب القطاع الفعلي من الأسطوانة الأولى (أي الخارجية [ 7 ] ) في القرص الصلب.

يمكن ربط صفوف CHS بعنوان LBA باستخدام الصيغة التالية: [ 8 ] [ 9 ]

LBA = ( C × HPC + H ) × SPT + (S − 1)

أين

  • C و H و S هي رقم الأسطوانة ورقم الرأس ورقم القطاع
  • LBA هو عنوان الكتلة المنطقية
  • HPC هو الحد الأقصى لعدد الرؤوس لكل أسطوانة (يتم الإبلاغ عنه بواسطة محرك الأقراص، وعادةً ما يكون 16 لـ LBA 28 بت).
  • SPT هو الحد الأقصى لعدد القطاعات لكل مسار (يتم الإبلاغ عنه بواسطة محرك الأقراص، وعادةً ما يكون 63 لـ LBA 28 بت).

يمكن ربط عناوين LBA بصفوف CHS باستخدام الصيغة التالية ("mod" هي عملية باقي القسمة ، أي الباقي ، و"÷" هي القسمة الصحيحة ، أي ناتج القسمة مع تجاهل أي جزء كسري):

C = LBA ÷ ( HPC × SPT )
H = ( LBA ÷ SPT ) mod HPC
S = ( LBA mod SPT ) + 1

وفقًا لمواصفات ATA، "إذا كان محتوى الكلمات (61:60) أكبر من أو يساوي 16,514,064، فإن محتوى الكلمة 1 [عدد الأسطوانات المنطقية] يجب أن يساوي 16,383." [ 2 ] : 20 لذلك، بالنسبة إلى LBA 16450559، قد يستجيب محرك أقراص ATA فعليًا بـ CHS tuple (16319, 15, 63)، ويجب أن يكون عدد الأسطوانات في هذا المخطط أكبر بكثير من 1024 المسموح به بواسطة INT  13h. [ أ ]

تبعيات نظام التشغيل

تشمل أنظمة التشغيل الحساسة لهندسة محرك الأقراص التي يتم الإبلاغ عنها بواسطة BIOS أنظمة Solaris و DOS وعائلة Windows NT، حيث يستخدم NTLDR ( NT و 2000 و XP و Server 2003 ) أو BOOTMGR ( Vista و Server 2008 و Windows 7 و Server 2008 R2 ) سجل التمهيد الرئيسي الذي يعنون القرص باستخدام CHS؛ يمكن لإصدارات x86-64 و Itanium من Windows تقسيم محرك الأقراص باستخدام جدول تقسيم GUID الذي يستخدم عنونة LBA.

لا تتطلب بعض أنظمة التشغيل أي ترجمة لأنها لا تستخدم البيانات الهندسية التي يُبلغ عنها نظام الإدخال والإخراج الأساسي (BIOS) في برامج الإقلاع الخاصة بها . ومن بين هذه الأنظمة: BSD ، وLinux ، وmacOS ، و OS/2 ، و ReactOS .

انظر أيضاً

ملحوظات

  1. على الرغم من أن عنونة CHS تستخدم بالتأكيد المفهوم الرياضي للزوج ، إلا أنه يمكن اعتبارها أيضًا مثالًا على المخطط العام المسمى بالأساس المختلط من خلال النظر إلى أسطواناتها ورؤوسها وقطاعاتها على أنها ذات قواعد عددية مختلفة؛ على سبيل المثال، الأسطوانات التي تعد من 0 إلى 1023، والرؤوس من 0 إلى 254، والقطاعات من 1 إلى 63.

مراجع

  1. "ما هو العنونة المنطقية للكتل (LBA)؟ | تعريف من TechTarget" . WhatIs . تم الاسترجاع في 22-03-2025 .
  2. ١ ٢ "تقنية المعلومات - ملحق AT مع واجهة حزمة - ٥ (ATA/ATAPI-٥)" (ملف PDF) . www.t13.org . ٢٩ فبراير ٢٠٠٠. مؤرشف من الأصل (ملف PDF) في ٦ أغسطس ٢٠٢٠. تم الاطلاع عليه في ١٥ ديسمبر ٢٠٢٠ .
  3. "KB224526: يدعم نظام التشغيل Windows NT 4.0 قسم نظام بحد أقصى 7.8 جيجابايت" . Support.microsoft.com. 23 فبراير 2007. تم الاطلاع عليه بتاريخ 30 يوليو 2013 .
  4. ^ ستونيبرينك، يناير “قيود القرص الصلب BIOS IDE” . تم الاسترجاع 6 أكتوبر 2013 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  5. "تقنية المعلومات - ملحق AT بواجهة حزم البيانات - 6 (ATA/ATAPI-6)" (ملف PDF) . www.t13.org . 26 فبراير 2002. مؤرشف من النسخة الأصلية (ملف PDF) في 6 أغسطس 2020. تم الاطلاع عليه في 15 ديسمبر 2020 .
  6. "رقائق جسر USB إلى SATA ومحركات أقراص بسعة 2 تيرابايت أو أكثر" . تم الاطلاع عليه بتاريخ 26 يناير 2025 .
  7. "أساسيات محرك الأقراص الصلبة" . active-undelete.com . تاريخ الاسترجاع: 10 فبراير 2015. تبدأ أرقام المسارات من 0، والمسار 0 هو المسار الخارجي للقرص. المسار ذو الرقم الأعلى يقع بجوار محور الدوران.
  8. "دليل استخدام القرص الكبير، القسم 3. الوصول إلى القرص" . tldp.org . 2004-11-08 . تم الاطلاع عليه بتاريخ 2015-02-10 .
  9. "صيغ تحويل CHS إلى LBA" . pcrepairclass.tripod.com . تم الاطلاع عليه بتاريخ 26-08-2014 .