美文网首页
磁盘基础结构(理论)

磁盘基础结构(理论)

作者: mst7 | 来源:发表于2016-03-05 13:08 被阅读893次

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

相关文章

  • 磁盘基础结构(理论)

    参考URL: http://my.ece.msstate.edu/faculty/reese/EE3724/lec...

  • 基于C++的类UNIX文件系统

    磁盘文件结构 定义自己的磁盘文件结构 SuperBlock 结构 磁盘 Inode 节点结构,包括:索引结构及逻辑...

  • 11系统磁盘管理

    linux系统磁盘概念磁盘的结构体系磁盘的物理结构(外部结构 内部结构) 磁盘阵列说明(raid0 raid...

  • 磁盘管理

    磁盘的体系结构 磁盘的外部结构 磁盘的内部结构 磁盘阵列RAID RAID面试题 磁盘分区 引导记录MBR格式 ...

  • day 20 了解磁盘

    磁盘管理体系 1.1、磁盘外观结构 分步了解 1.2、磁盘的外部结构 SSD磁盘 固态磁盘与传统磁盘优劣式对比 磁...

  • day20-磁盘体系结构详述

    磁盘体系结构详述: 1.磁盘的外表结构组成部分: (1)磁盘主轴:决定磁盘转速 家用磁盘转速:7200 r...

  • 2019-07-31

    day23 操作系统磁盘管理 课程介绍 1.磁盘管理体系结构2.磁盘外部结构信息3.磁盘内部结构信息4.多块磁盘整...

  • Linux--分区与挂载

    磁盘结构 磁盘主要分为以下结构: 磁头(head):对磁盘的数据进行读写 磁道(track):当磁盘旋转时,磁头若...

  • day 23 操作系统磁盘管理

    一.磁盘管理体系结构 二.磁盘物理结构信息 了解 三.磁盘阵列知识 lvm:逻辑卷管理 四.磁盘分区操作: ...

  • GPT与MBR以及磁盘格式的快速转换

    科普 GPT现在流行普及的磁盘结构,MBR传统的磁盘结构。举个例子,Windows10默认只能装在GPT结构的磁盘...

网友评论

      本文标题:磁盘基础结构(理论)

      本文链接:https://www.haomeiwen.com/subject/laookttx.html