磁盘基础结构(理论)

2016-03-05  本文已影响893人  mst7

参考URL:

http://my.ece.msstate.edu/faculty/reese/EE3724/lectures/fixdisk/
http://superuser.com/questions/974581/chs-to-lba-mapping-disk-storage
http://lnx.cx/docs/vdg/output/Virtual-Disk-Operations.html
http://www.c-jump.com/CIS24/Slides/DiskDrives/DiskDrives.html 重点参考

磁盘基本单位

整体概念 Paste_Image.png Paste_Image.png

CYLINDER – HEAD – SECTOR (CHS)

CHS用于表述存放到物理磁盘上数据的位置。
磁盘可以被通过low level formatted为不同的容量(不同的存储方式)。

磁盘Controller通过用户提供的CHS数据,计算数据在磁盘上的物理位置,并将数据返回。

Number of cylinders (tracks), heads (sides), and sectors (aka CHS) uniquely identify thephysical geometry of the storage units on a disk

CHS also yields disk capacity:
Capacity = Cylinders × Heads × Sectors × sector_size

Designed for early IDE/ATA HDDs

C <= 1,024

H <= 16

S <= 63

This mode works for drives up to 504 MB in capacity

ECHS

CHS方式最多能描述504M的磁盘大小,所以ECHS(Extended CHS)方式出现了。

ECHS is used for drives between 504 MB and 8 GB
CHS addressing is limited to
10 bits for cylinder (<=1024)
8 bits for head (<=256), and
6 bits for sector (<=63 since first sector is 1.)

In ECHS, the actual C value is divided by 2 and the H value multiplied by 2 until:
C < 1024 or H >= 255
Reported CHS geometry = 18,383/16/63
Capacity = 9,487,392,768 B (9 GB)

In fact, this drive might very well have two platters (i.e., 4 heads)
True geometry is CHS = 73,532/4/63

The translation is handled by the disk drive controller

Zone Bit Recording

一个小容量的磁盘(<=8GB),每个track包含的Sector数量是相同的,位于磁盘外部的Track bits密度低,内部的Track bits密度高。


两个Sector

每个Track分配相同数量的Sector,对磁盘容量是一个较大的浪费,外部Track本应该容纳更多的数据。ZBR提供了一种可变的Sector/Track对应关系,使内、外Track承载不同数量的Sector,更有效的提升了磁盘容量,使更大容量的磁盘成为可能。

ZBR环境下,Cylinder、Header、Sector的位置发生了巨大的变化(见下图),所以传统的CHS寻址方式已经不能满足要求,需要寻求一种新的寻址模式。

Variable Sectors per Track Paste_Image.png Paste_Image.png

Logical Block Addressing

ZBR环境下不能使用CHS方式寻址数据了,所以引入了一种新的寻址模式,也就是LBA,LBA是基于CHS寻址方式转换而来的(Translation Method)。
其使用linear sheme表述地址,使用Sector作为基本单位(其概念中第一个Sector是Sector 0)。
LBA作为一种新的寻址方式,并不被广大操作系统和BIOS所熟知,他们依旧使用传统的CHS寻址方式,磁盘Controller会负责将LBA (physical geometry) 翻译为 CHS addressing (logical geometry) 供操作系统和BIOS使用。

CHS vs. LBA

Sectors and Clusters

Sector是磁盘上最小的I/O单元。
通常一个数据文件至少要占用连续的几个Sector,如果每次读写操作都需要定位到最小的Sector单位,那速度将会非常慢。所以就引入了Cluster的概念,Cluster是操作系统用于优化I/O读写速度创建的,它是逻辑上的一组Sector,每个Cluster一般会覆盖4-64个Sector(2-32KB)。

上一篇下一篇

猜你喜欢

热点阅读