Page 1 1 CS7810 School of Computing University of Utah Disk Data Layer & Other Issues Reference: “Memory Systems: Cache, DRAM, Disk” – Jacob, Ng, & Wang, Ch. 18 “Failure Trends in a Large Disk Drive Population” – FAST07 – Pinheiro, Weber, Barroso, Google 1955: IBM RAMAC 305 Today: Hitachi MicroDrive 2 CS7810 School of Computing University of Utah Fixed Size Blocks • Ideal case contiguous placement » one seek and rotational latency hit • sector reordering in buffer reduces the rotational impact » hard to do for large files • Block size choice – fixed vs. variable common memory theme » page allocation to physical memory • Fixed size blocks + one unit of allocation – easy map to sectors » - can’t find enough contiguous ones to meet need • fix with compaction/GC but this takes time » - internal fragmentation • last block will always only be partially full – not a big deal w/ today’s densities unless lots of very small files common: map file to non-contiguous blocks » trades file access time for reduced GCPage 2 3 CS7810 School of Computing University of Utah Variable Size Blocks • + No internal fragmentation • Used in early systems primarily due to small file sizes and crappy density • Several problems large file writes » not enough contiguous free space • GC must happen more often accounting woes » free space entries must be done at a finer grain size • increased level of meta-data » count field must be associated with each record • or held in metadata 4 CS7810 School of Computing University of Utah Sectors 1 • Today’s choice sectors = fixed sized blocks specified by interface standards » consumer: SATA » and commercial: SCSI, SAS, and FC • Anatomy of a sector gap » allow time for read and write heads to access the sector » writes – jitter buffer to prevent adjacent sector contamination » also compensates for some drift in clock preamble (a.k.a. sync field) » ~ 10 bytes » establish frequency and amplitude of recorded signals • adjust the PLL and AGC circuitsPage 3 5 CS7810 School of Computing University of Utah Sectors 2 • All are vendor specific choices data address mark (a.k.a. data sync field) » a few bytes » special pattern indicates end of preamble and beginning of actual data data » 512 bytes RLL encoded into ~544 bytes CRC » correct one-time data errors ECC » ~40 bytes: burst ECC required • both hard and soft error’s take out an area 6 CS7810 School of Computing University of Utah Sector Size • Tradition 512 bytes » BIOS, drivers, and file system coded for 512B problems » as areal density increases • burst errors get bigger • both SER and HER probabilities increase » hence bigger ECC and CRC fields required • efficiency of data to overhead fields goes up • Fix w/ bigger sectors in 2005 4 KB & 512B allowed » MS Vista written w/ 4KB in mind • Internal larger sector take pieces of it to make it look 512B at the interfacePage 4 7 CS7810 School of Computing University of Utah Tracks and Cylinders • Track options concentric rings – used for disks spiral – used for continuous media, CD, DVD, vinyl records • Cylinders vertical set of same tracks on different surfaces » modern precision & variance not purely aligned » hence switching heads entails minor track center correction • max transition ΔV indicates center • Numbering Sectors: 1 to N for each track Tracks: outer track is 0, inner track is m Negative tracks (-1 … -n): even more outer » reserved cylinders to hold non-user data • defect maps • address maps • etc. 8 CS7810 School of Computing University of Utah Address Mapping • External access via sector ID (integer) essentially a logical block address (LBA) • Internally mapped to a physical block address (PBA) a.k.a. absolute block address (ABA) in reality a CHS index » cylinder, head, sector • Next ABA options (n-1 ends track, n starts a new track) cylinder mode » n is on a different surface • minimizes seek track mode » stay w/ existing head • minimized head electronics switching delay » turns out today: track mode wins • primarily because tracks are not perfectly vertically aligned in cylinder • hence seek anyway but which directionPage 5 9 CS7810 School of Computing University of Utah Jaggy Cylinders High TPI density increases variance 10 CS7810 School of Computing University of Utah Serpentine Mapping • Problem stay on same surface as long as possible AND stay with out to in numbering long seek to change surface » no need to be stuck with this but devices tend to anywayPage 6 11 CS7810 School of Computing University of Utah Skewing • Track mode – same surface issue can’t seek in gap time » add one whole rev. time to next access so stagger the #1 sector (track skew) • Same game can be played in cylinder mode cylinder skew 12 CS7810 School of Computing University of Utah Variable Density Recording • Each bit placed on a radial fixed # of sectors/track bpiMAX on innermost track » cons • wasted capacity increases as you move to outer tracks » pros • motor rpm stays constant • bit rate at the heads is always the same – simplifies timing compliance capacity » = tpi x bpi x Π x (OD2-ID2)/4 today’s high density disks » too much lost capacity » higher $/bit bad ideaPage 7 13 CS7810 School of Computing University of Utah Fixed Density Variable RPM • Pro’s no wasted capacity timing per bit constant • BIG NEGATIVE change RPM based on track address » RPM takes 100’s ms to stabilize » .5 rotational latency varies by track • 3@ID – 6@OD ms • > 10x penalty due to the motor • Also a bad idea 14 CS7810 School of Computing University of Utah Zoned Bit Recording (ZBR) • Divide collections of tracks into zones fixed density and RPM vary # sectors per zone fixed # sectors/zone » causes bit rate
View Full Document