机械硬盘(HDD)与固态硬盘(SSD)讲解

描述

机械硬盘(HDD) 最小组成单元是扇区

硬盘结构

机械硬盘

硬盘工作原理

机械硬盘

起初,读/写磁头停靠在盘片在主轴附件的一个特殊区域,启停区。

主轴连接所有盘片,并连接到一个马达上。主轴电机以恒定的速度旋转,带动盘片旋转。

主轴旋转时,读/写磁头和盘片间有个很微小的空气间隙,称磁头飞行高度。

读/写磁头被安装在磁头臂顶端,磁头臂带动磁头移动到需要被写入或取出数据的盘片位置上方。

磁头在硬盘表面以二进制的形式读写数据,读取的数据储存在硬盘的flash芯片中,最后传到程序中运行。

注意

盘片进行数据存储,控制威廉希尔官方网站 控制盘片高速旋转,磁头臂控制磁头进行读/写(每个盘片有两个读写磁头,分别位于两个表面)

盘片转速以RPM为单位,现在企业一般用的是10K~15K(此时硬盘一般是在真空中运行的)

盘片上有盘面(两面),盘面上有磁道,磁道上有扇区。

数据写入是按照柱面纵向写入的(先第一纵,然后第二纵这样)

为什么纵向读写

读写时需要确定在哪个磁道读写数据(寻道时间)+ 确定磁道后确定哪个扇区(旋转时延)+ 数据读写传输的时间

纵向读写的话在物理上(寻道时间+旋转时延)花费的时间要少一点

硬盘上的数据组织

机械硬盘

盘面:硬盘的每一个盘片都有两个盘面,每个盘面都能存储数据,成为有效盘片。

每一个有效盘面都有一个盘面号,按从上到小的顺序从0开始依次编号。

在硬盘系统中,盘面号又叫磁头号,因为每一个有效盘面都有一个对应的读写磁头。

磁道(Track):磁道是在盘片上围绕在主轴周围的同心环,数据被记录在磁道上。

磁道从最外圈向内圈从0开始顺序编号。

硬盘的每一个盘面有300~1024个磁道,新式大容量硬盘每面的磁道数更多,通常用盘片上每英寸的磁道数(TPI,也称磁道密度)来衡量盘片上磁道排列的紧密程度。

磁道是肉眼看不见的,只是盘面上以特殊形式磁化了的一些磁化区。

柱面(Cylinder):在同一个硬盘中所有盘片(包含上下两个盘面)具有相同编号的磁道形成一个圆柱,称之为硬盘的柱面。

每个柱面上的磁头由上而下从0开始编号,数据的读写按柱面进行。

即磁头读写数据时先在同一柱面内从0磁头开始进行操作,依次往下在同一柱面的不同盘面(即磁头)上进行操作。

只有同一柱面所有的磁头全部读写完成后磁头才转移到写一个柱面,因为选取磁头只需通过电子切换即可,而选取柱面侧必须通过机械切换,即寻道。

通常硬盘中磁头的位置由柱面号来说明,而不是用磁道号来说明。

扇区(Sector):每个磁道被分为更小的单位,称为扇区,划分扇区的目的是为了使数据存储更加条理化。

扇区是硬盘中可以单独寻址的最小存储单元。不同硬盘磁道的扇区数可以不同。

通常情况下,一个扇区可以保存512字节的用户数据,但也有一些硬盘可以被格式化为更大的扇区大小,如4KB扇区。

硬盘指标

硬盘容量

硬盘容量=柱面数*磁头数*扇区数*扇区大小,单位为MB或GB

影响硬盘容量的因素有单碟容量和碟片数量。

硬盘缓存

为解决硬盘在读写数据时CPU的等待问题,在硬盘上设置适当的高速缓存

平均访问时间

平均寻道时间:指硬盘的磁头从初始位置移动到盘面指定磁道所需的时间(越小越好)

平均等待时间:指磁头已处于要访问的磁道,等待所要访问的扇区旋转至磁头下方的时间(越小越好)

数据传输速率

内部传输速率:指理情况下磁头读写硬盘时的最高速率

外部传输速率/接口传输速率:它指的是系统总线与硬盘缓冲区之间的数据传输率,与硬盘接口类型和硬盘缓存的大小有关。

硬盘IOPS和传输带宽

IOPS:每秒的输入输出量(读写次数);理论上可以计算出硬盘的最大IOPS,即IOPS=1000ms/(寻道时间+旋转延迟)

传输带宽(吞吐量):单位时间成功传输的数据数量

并行传输和串行传输

并行:传输效率高,但是传输距离不长,传输频率不高;(一般10多米左右)

串行:传输速率不高,但是可以通过传输频率来提高整体传输速度(随意一般串行比并行的传输速率要高)

影响性能的因素

机械硬盘

固态硬盘(SSD) 最小存储单元是Cell

SSD的特点

使用flash技术存储信息,数据传输速度比HDD快

内部没有机械结构因此耗电量更小、散热小、噪音小

SSD盘使用寿命受擦写次数影响(硬盘最小组成单元Cell不断擦写,当擦写次数达到极限后,就不能继续读写数据了)

SSD架构

SSD主要是由存储单元(主要是闪存颗粒)和控制单元组成

机械硬盘

控制单元:SSD控制器、主机接口、DRAM等

SSD控制器:负责主机到后端介质的读写访问和协议转换,表项管理、数据缓存及校验等,是SSD的核心部件。

主机接口:主机访问SSD的协议和物理接口,如SATA、SAS和PCIe。

DRAM:FTL(Flash translation layer,闪存转换层)表项和数据的缓存,以提供数据访问性能。

存储单元:NAND FLASH 颗粒

NAND FLASH:数据存储的物理器件,是一种非易失性随机访问存储介质。

多通道并发,通道内Flash颗粒复用时序。支持TCQ/NCQ,一次响应多个IO请求。

NAND Flash

NAND 闪存颗粒采用浮栅晶体管存储数据

内部存储单元组成包括:LUN、Plane、Block、Page、Cell

LUN:能够独立封装的最小物理单元,通常包含多个plane

Plane:拥有独立的Page寄存器,通常包含1K或2K奇数Block或偶数Block

Block:能够执行擦除操作的最小单元,通常由多个Page组成

Page:能够执行编程和读操作的最小单元,通常大小为16KB

Cell:Page中的最小操作擦写读单元,对应一个浮栅晶体管,可以存储1bit或多bit

机械硬盘

对NAND Flash的读写数据的操作主要涉及擦除(Erase)、编程(Program)和读(Read)

Nand flsh为非易失性介质,在写入新数据之前必须保证Block被擦除过,对Block擦除一次后再写入一次称为一次P/E Cycle

机械硬盘

闪存介质

NAND Flash颗粒根据Cell存储不同的bit数据位分为不同的闪存介质(主要有四种)

机械硬盘

地址映射管理

主机通过LBA访问SSD,SSD主控通过FTL闪存转换将其转换为PBA进行数据读取

LBA:Logical Block Address,逻辑区块地址

可以指某个数据区块的地址或者某个地址上所指向的数据区块。

PBA:Physics Block Address,物理区块地址

机械硬盘

FTL闪存转换层

基本概念

FTL起着翻译官的作用,它将Host(电脑、手机等)发送至Device(eMMC、SSD)的逻辑地址转换为写入Flash的物理地址(地址映射管理)。

工作原理

Host给定一个逻辑地址,FTL根据这个逻辑地址在逻辑映射表上建立映射关系,连接到Flash上的物理地址。

一般来说,FTL将逻辑地址处理后,建立的映射关系包含了Flash的Block编号、Page编号等,数据读取时便根据这些信息在Flash对应的位置上找到数据,传输至Host。

机械硬盘

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分