【计组】硬盘--《深入浅出计算机组成原理》(十二)

本文介绍了SSD硬盘的读写原理,包括SLC、MLC、TLC和QLC的差异以及P/E擦写问题。同时,讨论了SSD的读写生命周期,如磨损均衡、TRIM指令和写入放大效应,以及如何通过FTL和磨损均衡技术延长SSD寿命。最后,文章提到了AeroSpike数据库如何最大化SSD使用效率的实践。
摘要由CSDN通过智能技术生成

目录

一、机械硬盘

二、SSD硬盘

(一)SSD硬盘的读写原理

1、SLC、MLC、TLC 和 QLC

2、P/E 擦写问题

(二)SSD 读写的生命周期

(三)磨损均衡、TRIM 和写入放大效应

1、FTL 和磨损均衡

2、TRIM 指令的支持

3、写入放大

(四)AeroSpike:如何最大化 SSD 的使用效率?


一、机械硬盘

一块机械硬盘是由盘面、磁头和悬臂三个部件组成的。

  • 盘面(Disk Platter):其实就是实际存储数据的盘片。盘面本身通常是用的铝、玻璃或者陶瓷这样的材质做成的光滑盘片,盘面上有一层磁性的涂层,数据就存储在这个磁性的涂层上。盘面中间有一个受电机控制的转轴。这个转轴会控制盘面旋转。硬盘的转速指的就是盘面中间电机控制的转轴的旋转速度,英文单位叫 RPM,也就是每分钟的旋转圈数(Rotations Per Minute)。
  • 磁头(Drive Head):数据是通过磁头,从盘面上读取到,再通过电路信号传输给控制电路、接口,再到总线上的。通常,一个盘面上会有两个磁头,分别在盘面的正反面。盘面在正反两面都有对应的磁性涂层来存储数据,而且一块硬盘也不是只有一个盘面,而是上下堆叠了很多个盘面,各个盘面之间是平行的。每个盘面的正反两面都有对应的磁头。
  • 悬臂(Actutor Arm):悬臂链接在磁头上,并且在一定范围内会去把磁头定位到盘面的某个特定的磁道(Track)上。

磁道,会分成一个一个扇区(Sector)。上下平行的一个一个盘面的相同扇区叫作一个柱面(Cylinder)

读取数据时,首先,把盘面旋转到某一个位置。在这个位置上,悬臂可以定位到整个盘面的某一个子区间。这个子区间叫作几何扇区(Geometrical Sector),在“几何”位置上,所有这些扇区都可以被悬臂访问到。其次,把悬臂移动到特定磁道的特定扇区,在这个“几何扇区”里面,找到实际的扇区。找到之后,落下磁头,就可以读取到正对着扇区的数据。

 进行一次硬盘上的随机访问,需要的时间由两个部分组成:

平均延时(Average Latency):盘面选转后,悬臂定位到扇区的的时间。和机械硬盘的转速相关。随机情况下,平均找到一个几何扇区,需要旋转半圈盘面,

平均寻道时间(Average Seek Time):盘面选转后,悬臂定位到扇区的的时间硬盘是机械结构的,只有一个电机转轴,也只有一个悬臂,所以没有办法并行地去定位或者读取数据。那一块 7200 转的硬盘,一秒钟随机的 IO 访问次数,也就是1s / 8 ms = 125 IOPS 或者 1s / 14ms = 70 IOPS。

如果进行顺序的数据读写,应该怎么最大化读取效率呢?可以选择把顺序存放的数据,尽可能地存放在同一个柱面上。这样,只需要旋转一次盘面,进行一次寻道,就可以去写入或者读取,同一个垂直空间上的多个盘面的数据。如果一个柱面上的数据不够,也不要去动悬臂,而是通过电机转动盘面,这样就可以顺序读完一个磁道上的所有数据。所以,其实对于 HDD 硬盘的顺序数据读写,吞吐率还是很不错的,可以达到 200MB/s 左右。

二、SSD硬盘

SSD 没有像机械硬盘那样的寻道过程,所以它的随机读写都更快。

 

(一)SSD硬盘的读写原理

对于 SSD 硬盘,可以先简单地认为,它是由一个电容加上一个电压计组合在一起,记录了一个或者多个比特。

1、SLC、MLC、TLC 和 QLC

能够记录一个比特很容易理解。给电容里面充上电有电压的时候就是 1,给电容放电里面没有电就是 0。采用这样方式存储数据的 SSD 硬盘,我们一般称之为使用了 SLC 的颗粒,全称是 S

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值