磁盘基础结构(理论)

参考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
  • Disc:每个硬盘一般会包含多个磁片Disc,每个Disc可以是单面读写数据、也可以是多面读写数据。
  • Head:读写磁盘的磁头,整个硬盘的所有磁头位置是固定在一起的,移动的动作是基于所有磁头的。针对双面Disc,会有正反两个磁头对应。
  • Track:每个磁盘上的多个同心圆。
  • Cylinder:多个磁盘上(正反两面)相同同心圆组成的柱状,用于描述多个磁盘上相同Track位置的数据集。
  • Sector:每个Track可以进一步划分为多个小的区域,定义磁头一次读写的数据量,一般为512 byte或4K byte。
    • 针对不同年代的硬盘,Sector的划分方式不同。
    • 旧时的小容量硬盘每个Disc上每个Track都划分为等量的Sector,便于数据读取。
    • 每个Track等量的Sector分配对位于Disc外部的Track非常浪费,所以近代大容量磁盘采用了一种新的划分Sector的方法,即ZBR。ZBR将磁盘不同的Track划分为多个Zone,同一Zone的Track具有等量的Sector。位于Disc外侧Zone的Track划分的Sector数量要比内侧的Zone的Track多。


      Variable Sectors per Track

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)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容