机械硬盘(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。


一个简单的Shiro RCE检测和利用脚本
语音速记,落声成文—索尼发布ICD-TX660随身数码录音笔
天弘航空科技有限公司首架A320飞机已顺利拆解完毕并交付客户
从前车马慢,但我们现在就想立刻爽……
荣耀高调发布新品 5G手机阵营再添强将
机械硬盘(HDD)与固态硬盘(SSD)讲解
iPhone 7拆机方法介绍
人体存在感应雷达模块的应用领域
射频识别技术漫谈(19)——Desfire的3次握手认证和段密码生成
机智云开发者中心上新适配“Modbus协议”的功能服务
互联网医院的四大痛点分析:硬件缺失人才匮乏
苹果13多少人民币 苹果13有多少种配色
佛山本地用户对于机器人的应用需求,以及目前机器人的应用状况
应用程序如何从从X86快速换到ARM架构|瑞迅科技工控一体机解读
Oppo Watch智能手表即将发布,或对苹果造成一些压力
美格智能Cat.1蜂窝IPC解决方案 助力安防监控智慧连接
芯片控制可编程滤波器-µP-Supervisor
验证符合AXI/ACE标准的互连的策略:第三部分
MATLAB课程之第五章v3 文件操作(4)
黑芝麻智能喜获WIV 2021智能汽车技术创新奖五项荣誉