未解决
此帖子已超过 5 年
605 消息
1
5562
【FAQ】存储基础知识 - 磁盘寻址
1、磁盘寻址
1.1、磁盘驱动器
维基百科网址:http://en.wikipedia.org/wiki/Hard_disk_drive
磁盘物理结构图如下:
磁盘逻辑组成图如下:
1.2、什么是CHS(cylinder head sector)
维基百科网址:http://en.wikipedia.org/wiki/Cylinder-head-sector
通过上面材料,我们了解到磁盘通常由多个盘片、多个磁头组成。
每个盘片对应一个磁头(head),每个盘片被化成多个同心圆(track/cylinder),每个同心圆被切断成多个段(sector)。磁盘存储最小单位是sector,那么如何对sector进行定位?
CHS是早期在IBM PC架构上面用来进行磁盘寻址的办法。
CHS是一个三元组,组成如下:
1. 一共24个 bit位。
2. 其中前10位表示cylinder,中间8位表示head,后面6位表示sector。
3. 最大寻址空间
随着科技大发展,磁盘容量大幅提升。远远超过了8GB寻址范围,如何对8GB之外空间进行寻址?历史上曾经CHS从24位扩展到多28位,实现寻址128GB,但是面对现在磁盘2TB容量还是无能为力,下面我们请出最终解决方案LBA。
1.3、什么是LBA(logical block addressing)
维基百科网址:http://en.wikipedia.org/wiki/Logical_Block_Addressing#CHS_conversion
正如上文所说,LBA是用来取代CHS。那么LBA是怎么实现磁盘寻址?
1. LBA是一个整数,通过转换成CHS格式完成磁盘具体寻址。
2. LBA采用48个bit位寻址,最大寻址空间128PB。
LBA与CHS转换规则是怎么样的?
CHS->LBA
LBA->CHS
小结:
不管CHS也好,还是LBA也好。磁盘存储寻址都需要通过cylinder、head、sector来实现;CHS、LBA都是一个数字,CHS按照固定格式把24个bit位分成成cylinder、head、sector;LBA则需要通过求模运算得出cylinder、head、sector。
Jun_Tan
605 消息
0
2012年9月3日 19:00
稍后更新:磁盘分区篇
merrist
482 消息
1
2013年9月5日 19:00
很好啊,思路清晰明了!
补充一下:CHS方式寻址是在传统的扇区分布下进行的,即过盘片中心画直线来分扇区;而LBA转换为CHS寻址则使用的ZBR(Zone Bit Recording)方式分配扇区,即圆周上的扇区长短都一样。