Volumul unui hard disk (se folosesc și termenii dimensiune și capacitate) este cantitatea maximă de informații pe care o poate deține un hard disk .
Pe măsură ce hard disk -urile au evoluat, capacitatea lor maximă a crescut vertiginos. Au existat obstacole în calea acestei creșteri din când în când - limitări ale interfețelor software și hardware utilizate pe scară largă, metodelor de adresare utilizate, precum și caracteristicile software-ului . Această listă oferă limite (în mare parte istorice) care există sau au existat în computerele personale cu privire la dimensiunea hard disk-urilor, partițiilor și/sau sistemelor de fișiere .
Prescripţie | Descriere |
---|---|
8 MB | Limită de disc în sistemul de operare CP/M (când numărul total nu este mai mare de 16 discuri). |
10,4 MB | Dimensiunea discului fix în PC/XT : 306 cilindri, 4 capete, 17 sectoare pe pistă. |
15 MB | Dimensiunea maximă a partiției pentru MS-DOS 1 și 2 la dimensiunea sectorului standard. [unu] |
16 MB | Limită de dimensiune pentru FAT12 . [2] |
32 MB | Limita de dimensiune a partiției pentru MS-DOS 3 pentru sistemul de fișiere FAT16 : dimensiunea clusterului de 2 KB, nu mai mult de 16.384 de clustere. [2] |
128 MB | Limită de dimensiune FAT16 în MS-DOS 4: până la 65.526 clustere, dimensiunea clusterului de 2 KB. [2] |
504 MB | Restricția schemei de adrese CHS (a se vedea mai jos ). |
2 GB | Dimensiunea maximă a unui sistem de fișiere FAT16 pentru un cluster de 32 KB. Pentru Windows NT, această valoare datorată clusterelor de 64 KB este de 4 GB. [3] |
2,1 GB | Unele plăci de bază au alocat 12 biți pentru a stoca numărul de cilindri (4095 × 16b × 63 → 2,1 GB). [patru] |
3,2 GB | O eroare în unele bios-uri Phoenix (4.03 și 4.04) care provoacă o blocare a configurației CMOS dacă discul este mai mare de 3277 MB. [patru] |
4GB | Limita de dimensiune a partiției FAT16 în Windows NT. |
Limită de partiție creată de stația de lucru Windows NT 3.51/4.0 în timpul instalării [5] (datorită faptului că în timpul instalării este creată o partiție FAT16, care este apoi convertită în NTFS ). | |
4,2 GB | Transmiterea în direct a numărului de sectoare/capete prin reducerea succesivă a numărului de cilindri de 2 ori și dublarea numărului de capete (așa-numitele Large sau ECHS (Extended CHS)) a condus la o limită de 1024 capete: 1024 × 128 × 63 × 512 → 4,2 GB . [patru] |
7,8 GB | Limita de dimensiune a discului de sistem Windows NT 4.0 . [6] |
7,9 GB | Când numărul de capete a fost redus la 15, modul ECHS (ECHS revizuit) a permis metodei de dublare să obțină o configurație cu 15 × 2 × 2 × 2 = 240 de capete, care a dat o limită de 7,9 GB. |
8,4 GB | Limitarea BIOS (vezi mai jos ). |
32 GB | Limitare artificială a dimensiunii partiției FAT32 în Windows 2000 , XP . Sistemul a refuzat să formateze partiții mai mari. [7] [8] Motivul este utilizarea rațională a resurselor: FAT32 cu o dimensiune mai mare a partiției pierde performanța, iar NTFS, dimpotrivă, cu o dimensiune mică a partiției (~10 GiB) este prea risipitor. |
Dimensiunea maximă de disc acceptată Windows 95 . [9] | |
33,8 GB | Discurile mari raportează 16 capete, 63 de sectoare și 16.383 de cilindri. Când este utilizat pentru a calcula numărul real de cilindri (capacitate împărțită la 16 × 63), numărul de cilindri este mai mare de 65.535, ceea ce face ca unele BIOS-uri să înghețe. Din cauza acestei probleme, multe unități din acea vreme aveau jumperi pentru a limita capacitatea la 32 GB. |
128 GB 137 GB [4] |
Limitarea standardelor de la ATA-1 la ATA/ATAPI-5 (vezi mai jos ). |
Limitați în Windows XP SP1 dimensiunea unei partiții NTFS (fixat în SP2). | |
Dimensiunea maximă FAT32 creată de Windows 98. [7] | |
Dimensiunea maximă a SFS în sistemul de operare al familiei Amiga. | |
2 TB | Dimensiunea maximă a întregului disc (cu excepția partițiilor) acceptată de MBR . Limitele MBR: dimensiunea partiției, precum și distanța de la începutul partiției până la container (până la începutul discului în cazul unei partiții primare, până la începutul unei partiții extinse în cazul volumelor logice) - un număr de sectoare pe 32 de biți, adică ambii parametri nu pot depăși 2 TB. |
Dimensiunea maximă a unui sistem de fișiere ext3 pe o arhitectură pe 32 de biți. | |
Dimensiunea maximă a partiției pentru pornirea Windows XP, Windows Vista, Windows 7 (din cauza restricțiilor MBR). | |
4 TB | dimensiunea maximă a elementului de matrice mdraid când se utilizează formatul de metadate 0.9 (2^32-1 sectoare) |
8 TB | Limita FAT32 . [opt] |
16 TB | Dimensiunea maximă a ext3 pe o arhitectură pe 64 de biți (bloc de 4 KB), pe Alpha cu un bloc de 8 KB poate fi de până la 32 TB. |
Dimensiunea maximă NTFS pentru un cluster de 4 KB. | |
Dimensiunea maximă a unui sistem de fișiere ReiserFS este 3.6. [zece] | |
Dimensiunea maximă a unui sistem de fișiere ISO 9660 (utilizat pe discuri optice). | |
64 TB | Limitarea dimensiunii unei matrice de discuri spanning în Windows 2003 . [unsprezece] |
256 TB | Dimensiunea maximă a sistemului de fișiere NTFS (pentru un cluster de 64 KB) în implementările existente pe 32 de biți. [7] [11]
Un LBA pe 48 de biți este capabil să adreseze până la octeți, adică 256 TiB. Până la sfârșitul anului 2011, pe piață nu existau mai mult de 4 TB hard disk-uri interne. |
512 TB | Dimensiunea maximă recomandată pentru un sistem de fișiere exFAT . [12] |
4 PB | Limită JFS la bloc de 4 KB. [zece] |
8 PB | Limită NFS . [zece] |
137 PB | Limită de adresare a sectorului ATA-6 (LBA pe 48 de biți). |
1 EB | Dimensiunea maximă a ext4 . [13] |
8 EB | Limita XFS . [zece] |
16 EB | Limita HFS+ . |
64 EB | Dimensiunea maximă teoretică a unui sistem de fișiere exFAT . [12] |
256 ZiB | Dimensiunea maximă a unui sistem de fișiere ZFS . |
1 IB | Limită teoretică NTFS la blocuri de 64 KB și adresare pe 64 de biți (în prezent se utilizează 32 de biți). [7] |
Limita MS-DOS privind numărul permis de capete este de 16 (1024 de cilindri, 63 de sectoare pe pistă, 16 capete, 512 octeți per sector). [4] [14]
Software-ul de la începutul anilor 1990 , cum ar fi MS-DOS, folosea apelul Int 13h pentru a lucra cu hard diskul .
Adresarea blocurilor de disc în apelul Int 13h arată ca numerele cilindrului ( cilindru englez ), cap ( cap ) și sector ( sector ) - C/H/S. În același timp, 10 biți sunt alocați lui C , 8 lui H și 6 lui S.
Managerul Int 13h din BIOS scrie aceste numere în registrele de control ale controlerului IDE . În aceste registre, 16 biți sunt alocați lui C, 4 lui H și 8 lui S.
Combinarea ambelor conduce la o limitare generală a C/H/S = 10/4/6 biți (20 de biți în total), ceea ce permite adresarea sectoarelor [15] . Cu o dimensiune a sectorului de 512 octeți, aceasta oferă 528.482.304 octeți (504 MB).
Maxim | BIOS | IDE | Restrictie generala |
---|---|---|---|
Sectoare pe pistă | 63 | 255 | 63 |
Suprafețe (capete) | 256 | 16 | 16 |
Urme | 1024 | 65536 | 1024 |
Volum | 8.064 MB | 127,5 GB | 504 MB |
Această limitare a devenit vizibilă în 1994-1995, pe vremea primelor microprocesoare Pentium . Pentru a o ocoli, a fost inventată traducerea valorilor CHS \ u200b\u200în codul de gestionare Int 13h din BIOS . Printre algoritmii de traducere a fost LBA ( English Linear Block Addressing ), când adresa CHS este convertită într-o adresă liniară, care este deja transmisă controlerului de disc.
Teoretic, diferite metode de traducere ar trebui să dea același rezultat, totuși, din cauza particularităților unor implementări de traducere, precum și a organizării structurilor de date ( partiții ) pe discuri, informațiile scrise pe disc într-o traducere nu ar putea fi disponibile în alte traduceri. . Pentru a schimba modul de traducere a discului, a fost necesară „repartiționarea” discului (recrearea tabelului de partiții ), ceea ce a însemnat pierderea informațiilor deja scrise pe disc.
Valoarea maximă posibilă pentru întreruperea INT 13 este 1024 cilindri, 63 sectoare, 255 capete. O limitare a multor BIOS-uri ale vremii (P1-P2), atunci când se încearcă să detecteze o unitate mai mare de 8 GB, astfel de BIOS-uri ar bloca deoarece numărul de capete trebuie să fie mai mic de 256. [4]
În interfața Int 13h , sunt alocați 10 biți pentru numărul cilindrului , 8 pentru numărul capului și 6 pentru numărul sectorului , un total de 24 de biți. Aceasta permite adresarea sectoarelor [15] , care pentru o dimensiune a sectorului de 512 octeți oferă 8.455.716.864 octeți (8064 MB, 7.875 GB).
Până în momentul în care aceasta a devenit o problemă - în jurul anilor 1997-1998 - sistemele de operare multitasking cu drepturi depline , cum ar fi GNU/Linux, FreeBSD și Windows NT, erau utilizate pe scară largă. Deoarece codul Int 13h din BIOS nu a fost niciodată conceput pentru multitasking (în special, încarcă procesorul cu o buclă nesfârșită în timp ce așteaptă o întrerupere de la controler), aceste sisteme de operare nu au putut folosi Int 13h în munca lor. În schimb, ei - ca mai devreme Novell NetWare - au inclus un driver IDE care accesează direct hardware-ul controlerului. Acest lucru a eliminat restricțiile asociate cu Int 13h atunci când rulați un sistem de operare deja încărcat, dar problema cu pornirea (pornirea încărcării sistemului de încărcare de pe o partiție de disc situată dincolo de limita accesibilă pentru BIOS) a rămas.
Pentru a rezolva problema, dezvoltatorii BIOS au extins Int 13h cu noi subfuncții care au acceptat numărul sectorului ca un întreg pe 64 de biți ( LBA ) fără a-l împărți la C/H/S. Dezvoltatorii OS au introdus suport pentru această inovație în încărcătoarele de pornire (în Windows, acesta este unul dintre pachetele de servicii pentru Windows NT 4.0 în 1997 ), după care problema a încetat să mai existe.
Interfața de registru hardware a unui controler IDE de la ATA-1 la ATA/ATAPI-5 folosește 16 biți pentru numărul C, 4 pentru H și 8 pentru S, pentru un total de 28 de biți. Acest lucru permite adresarea sectoarelor [15] , care cu o dimensiune a sectorului de 512 octeți oferă 136.902.082.560 octeți (127,5 GB).
Soluția la problema cu o astfel de limitare este posibilă numai la nivel hardware (și actualizarea driverelor pentru a utiliza noi caracteristici hardware). A fost adoptat în standardul ATA/ATAPI-6 sub forma trimiterii adresei către controler de două ori într-o anumită secvență (LBA de 48 de biți). [16]
În familia Windows, a fost adăugat suport LBA pe 48 de biți în SP4 pentru Windows 2000 și SP2 pentru Windows XP . În plus, Windows 2000 vă solicită să activați în mod explicit acest suport printr-o modificare a registrului . [17]
Pe lângă limitările interfețelor IDE și BIOS, au existat și alte bariere - bug-uri și limitări în programe, OS și codul BIOS.
De exemplu, DOS nu suportă mai mult de 255 de capete, deci o geometrie cu 256 de capete nu este acceptabilă pe acest sistem de operare.Aceasta înseamnă că pe computerele unde BIOS-ul nu suporta translația de la 256 la 255 la discuri mai mari decât sectoarele era discutabilă. Cu o dimensiune a sectorului de 512 octeți, aceasta oferă 4.227.858.432 octeți (4032 MB, 3,94 GB).