Cilinder-kop-sector

schematische weergave van de geometrie van de harde schijf

CHS-adressering is het proces van het identificeren van individuele sectoren (aka. fysieke blokken data) op een schijf door hun positie in een track, waarbij de track wordt bepaald door het kop- en cilindernummer. De termen worden bottom-up uitgelegd, voor disk-adressering is de sector de kleinste eenheid. Schijfbesturingen kunnen adresvertalingen introduceren om logische naar fysische posities te mappen, bv. zone bit recording slaat minder sectoren op in kortere (binnenste) sporen, fysische schijfformaten zijn niet noodzakelijk cilindrisch, en sectornummers in een spoor kunnen scheef staan.

SectorenEdit

Floppy schijven en controllers gebruiken fysische sector-groottes van 128, 256, 512 en 1024 bytes (bv, PC/AX), waarbij formaten met 512 bytes per fysieke sector dominant werden in de jaren 1980.

De meest voorkomende fysieke sectorgrootte voor harde schijven is tegenwoordig 512 bytes, maar er zijn ook harde schijven geweest met 520 bytes per sector voor niet-IBM-compatibele machines. In 2005 gebruikten sommige aangepaste harde schijven van Seagate een sectorgrootte van 1024 bytes per sector. Advanced Format harde schijven gebruiken sinds 2010 4096 bytes per fysieke sector (4Kn), maar kunnen gedurende een overgangsperiode ook 512 byte sectoren emuleren (512e).

Magneto-optische schijven gebruiken sectorgroottes van 512 en 1024 bytes op 5.25-inch schijven en 512 en 2048 bytes op 3,5-inch schijven.

In CHS-adressering beginnen de sectornummers altijd bij 1, er is geen sector 0, wat tot verwarring kan leiden omdat logische sectoradresseringsschema’s gewoonlijk met 0 beginnen te tellen, bijv, logical block addressing (LBA), of “relative sector addressing” gebruikt in DOS.

Voor fysieke schijfgeometrieën wordt het maximale sectornummer bepaald door het low level formaat van de schijf. Voor schijftoegang met het BIOS van IBM-PC-compatibele machines werd het sectornummer echter in zes bits gecodeerd, hetgeen resulteerde in een maximaal aantal van 111111 (63) sectoren per track. Dit maximum wordt nog steeds gebruikt voor virtuele CHS geometrieën.

TracksEdit

De tracks zijn de dunne concentrische cirkelvormige stroken van sectoren. Er is ten minste één kop nodig om een enkel spoor te lezen. Met betrekking tot schijfgeometrie zijn de termen track en cylinder nauw verwant. Voor een enkel- of dubbelzijdige diskette is “track” de gebruikelijke term; en voor meer dan twee koppen is “cylinder” de gebruikelijke term. Strikt genomen is een track een bepaalde CH combinatie die bestaat uitSPT sectoren, terwijl een cylinder bestaat uitSPT×H sectoren.

CylindersEdit

Een cylinder is een verdeling van gegevens in een diskdrive, zoals gebruikt in de CHS-adresseringsmodus van een Fixed Block Architecture disk of de cylinder-head-record (CCHHR) adresseringsmodus van een CKD disk.

Het concept is concentrische, holle, cilindrische plakken door de fysieke schijven (platters), waarbij de respectieve cirkelvormige sporen uitgelijnd door de stapel platters worden verzameld. Het aantal cilinders van een schijfstation is precies gelijk aan het aantal sporen op een enkel oppervlak in het station. Het omvat hetzelfde tracknummer op elke plattatter, over alle dergelijke tracks op elk plattatter-oppervlak waarop gegevens kunnen worden opgeslagen (ongeacht of de track “slecht” is of niet). Cilinders worden verticaal gevormd door sporen. Met andere woorden, spoor 12 op plateau 0 plus spoor 12 op plateau 1 enz. is cilinder 12.

Andere vormen van Direct Access Storage Device (DASD), zoals drumgeheugenapparaten of de IBM 2321 Data Cell, kunnen blokken adressen geven die een cilinderadres bevatten, hoewel het cilinderadres niet een (geometrische) cilindrische plak van het apparaat selecteert.

KoppenEdit

Een apparaat dat een kop wordt genoemd, leest en schrijft gegevens in een harde schijf door het magnetische medium te manipuleren dat het oppervlak van een bijbehorende schijfplaat vormt. Uiteraard heeft een schotel 2 zijden en dus 2 oppervlakken waarop gegevens kunnen worden gemanipuleerd; meestal zijn er 2 koppen per schotel, een per zijde. (Soms wordt de term side vervangen door head, omdat platters gescheiden kunnen zijn van hun head assemblies, zoals bij de verwijderbare media van een floppy drive.)

De CHS adressering ondersteund in IBM-PC compatibele BIOSes code gebruikte acht bits voor – theoretisch tot 256 koppen geteld als head 0 tot 255 (FFh). Een bug in alle versies van Microsoft DOS/IBM PC DOS tot en met 7.10 zorgt er echter voor dat deze besturingssystemen bij het opstarten crashen als ze volumes met 256 koppen tegenkomen. Daarom zullen alle compatibele BIOSen alleen mappings gebruiken met maximaal 255 koppen (00h..FEh), ook in virtuele 255×63 geometrieën.

Deze historische eigenaardigheid kan van invloed zijn op de maximale schijfgrootte in oude BIOS INT 13h code en in oude PC DOS of soortgelijke besturingssystemen:

(512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder))×(1024 cylinders)=8032.5 MB, maar eigenlijk 512×63×256×1024=8064 MB levert wat bekend staat als 8 GB limiet. In deze context is de relevante definitie van 8 GB = 8192 MB een andere onjuiste limiet, omdat het CHS 512×64×256 met 64 sectoren per track zou vereisen.

Tracks en cilinders worden geteld vanaf 0, d.w.z., track 0 is de eerste (buitenste) track op floppy of andere cilindrische schijven. Oude BIOS code ondersteunde tien bits in CHS adressering met maximaal 1024 cilinders (1024=210). Het toevoegen van zes bits voor sectoren en acht bits voor koppen resulteert in de 24 bits die door BIOS interrupt 13h worden ondersteund. Het aftrekken van het niet toegestane sectornummer 0 in 1024×256 tracks komt overeen met 128 MB voor een sectorgrootte van 512 bytes (128 MB=1024×256×(512 byte/sector)); en 8192-128=8064 bevestigt de (ruwweg) 8 GB limiet.

CHS adressering begint bij 0/0/1 met een maximale waarde 1023/255/63 voor 24=10+8+6 bits, of 1023/254/63 voor 24 bits beperkt tot 255 koppen. CHS-waarden die worden gebruikt om de geometrie van een schijf aan te geven, moeten cylinder 0 en kop 0 tellen, hetgeen resulteert in een maximum van (1024/256/63 of) 1024/255/63 voor 24 bits met (256 of) 255 koppen. In CHS-tupels die een geometrie specificeren betekent S eigenlijk sectoren per spoor, en waar de (virtuele) geometrie nog steeds overeenkomt met de capaciteit bevat de schijf C×H×S sectoren. Naarmate grotere harde schijven in gebruik zijn gekomen, is een cilinder ook een logische schijfstructuur geworden, gestandaardiseerd op 16.065 sectoren (16065=255×63).

CHS adressering met 28 bits (EIDE en ATA-2) staat acht bits toe voor sectoren die nog steeds bij 1 beginnen, d.w.z. sectoren 1…255, vier bits voor koppen 0…15, en zestien bits voor cilinders 0…65535. Dit resulteert in een limiet van ruwweg 128 GB; in feite 65536×16×255=267386880 sectoren die overeenkomen met 130560 MB voor een sectorgrootte van 512 bytes. De 28=16+4+8 bits in de ATA-2 specificatie worden ook gedekt door Ralf Brown’s Interrupt List, en een oud werkontwerp van deze nu verlopen standaard werd gepubliceerd.

Met een oude BIOS-limiet van 1024 cilinders en de ATA-limiet van 16 koppen was het gecombineerde effect 1024×16×63=1032192 sectoren, d.w.z. een limiet van 504 MB voor sector grootte 512. BIOS-omzettingsschema’s bekend als ECHS en herziene ECHS verzachten deze beperking door 128 of 240 in plaats van 16 koppen te gebruiken, waardoor tegelijkertijd het aantal cilinders en sectoren wordt verminderd om te passen in 1024/128/63 (ECHS-limiet: 4032 MB) of 1024/240/63 (herziene ECHS-limiet: 7560 MB) voor het gegeven totale aantal sectoren op een schijf.

Blokken en clustersEdit

De Unix-gemeenschappen gebruiken de term blok om te verwijzen naar een sector of een groep sectoren. Bijvoorbeeld, de Linux fdisk utility, vóór versie 2.25, weergegeven partitie maten met behulp van 1024-byte blokken.

Clusters zijn toewijzingseenheden voor gegevens op verschillende bestandssystemen (FAT, NTFS, enz.), waar gegevens voornamelijk bestaat uit bestanden. Clusters worden niet direct beïnvloed door de fysieke of virtuele geometrie van de schijf, d.w.z., een cluster kan beginnen in een sector aan het eind van een gegeven CH-track, en eindigen in een sector op de fysiek of logisch volgende CH-track.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.