- 博客(52)
- 收藏
- 关注
原创 SSD 之乱七八糟的概念
硬盘性能指标一般包括 IOPS(反映的是随机读写性能)、吞吐量(也称为带宽,反映的是顺序读写性能)、Response Time / Latency(响应时间 / 时延)。IOPS 数字越大越好,吞吐量越大越好,响应时间越小越好。主控 CPU、闪存、主机接口控制器、缓存控制器等等。
2023-08-02 19:53:04
324
原创 SSD 读写擦相关知识
每个闪存芯片中有海量的存储单元(Cell),下图是一个闪存存储单元的示意图,从上到下包括控制栅极、氧化层、浮栅层、隧道氧化层和衬底;左侧是源极,右侧是漏极。。电荷(正负电荷均可)的定向移动形成电流;(2)电池提供电压可以形成电流。闪存记录数据的关键在于浮栅层,当其中被充满电子时是已写入状态,代表二进制0;当其中没有电子时是已擦除或未写状态,代表二进制1。。。存储单元细节图如下:数据在闪存的存储单元中是以电荷形式存储的。
2023-07-18 15:18:18
485
原创 SSD 常用概念
比如用户要写入一个4KB的数据,最坏的情况就是,一个块里已经没有干净空间了,但是有无效数据可以擦除,所以主控就把所有的数据读出来,擦除块,再加上这个4KB新数据写回去,这个操作带来的写入放大就是: 实际写4K的数据,造成了整个块(512KB)的写入操作,那就是128倍放大。数据一般会缓存在 SSD 内部的 RAM 中,FTL 会为每个逻辑数据块分配一个闪存地址,当数据达到一定数量后,FTL 便会发送写闪存请求给后端,然后后端根据写请求,把缓存中的数据写到对应的闪存空间。每一个 LBA,代表一个逻辑块。
2023-07-18 14:28:51
340
原创 第七章 SSD 测试
指的是同时有多少个读或写任务在并行执行。一个 SSD 或文件有大小,测试读写的时候设置 Offset 就可以从某个偏移地址开始测试,如Offset = 4G 的偏移地址开始。Linux 读写的时候,内核维护了缓存,数据先写到缓存,再后台写到SSD。读的时候优先读缓存里的数据,这样速度更快。但一旦掉电,缓存中的数据就会丢失。而。Linux 读写 SSD 等块设备使用的是 BIO(Block-IO),这是个数据结构,包含了数据块的逻辑地址LBA、数据大小和内存地址等。
2023-07-17 14:25:19
344
原创 第六章 NVMe 介绍
在上面两个过程中,。即,主机需要数据(读数据),是 SSD 主动把数据写入主机的内存中;主机写数据,是 SSD 主动去主机的内存中取数据,然后写入内存。那么,SSD 是如何知道在哪里取数据的呢????其实,。一种是(Physical Region Page,物理区域页);一种是(Scatter / Gather List,分散 / 聚集列表)。NVMe 把主机端的内存划分为一个一个物理页(Page),页的大小可以是 4KB、8KB、16KB、……、128MB。
2023-07-13 19:37:14
1209
原创 第五章 PCIe介绍 5.1-5.7
为什么SSD要用PCIe接口?因为它快,比SATA快。通道,PCIe最多可以有32个通道。两个设备之间的PCIe连接,叫做一个Link。如下图,设备A和设备B是个双向连接,两个PCIe设备之间,有专门的发送和接收通道,数据可以同时往两个方向传输,PCIe Spec称这种工作模式为,可以理解为。和PCIe一样,SATA有独立的发送和接收通道。但与PCIe工作模式不一样,同一时间,SATA只有一条通道可以进行数据传输。这种工作模式称为。与SATA单通道不同,PCIe连接可以通过增加通道数扩展带宽。
2023-07-11 20:12:59
2119
原创 第4章 SSD核心技术:FTL 4.6-4.10
正常掉电和异常掉电。不管是哪种掉电,重新上电后,SSD都需要能从掉电中恢复过来,继续正常工作。闪存掉电后数据不会丢失,但SSD中不只有闪存,还有掉电后数据会丢失的RAM、DRAM 或SRAM。闪存的作用是存储数据,RAM的作用是在SSD工作时,缓存用户数据和存放映射表,一旦掉电,RAM的数据就会丢失。有两种方法。方法一:在SSD上加电容,SSD一旦检测到断电,就让电容开始放电,再把RAM中的数据刷到闪存中,从而避免数据丢失。
2023-07-11 10:16:34
690
原创 第4章 SSD核心技术:FTL 4.1-4.2
LBA(Logical Block Address),逻辑区块地址。PBA(Physics Block Address),物理区块地址。SSD中的操作系统--FTL(闪存转换层)_ftl层_Ashore2022的博客-优快云博客一般,FTL中有三个表: (1)FTL映射表:记录每个LBA对应的物理页位置;(2)Valid Page Bit Map(VPBM):记录每个物理块上哪个页有有效数据;(3)Valid Page Count(VPC):记录每个物理块上的有效页个数。 FTL(Fla
2023-07-10 14:20:53
2164
原创 第三章 SSD存储介质:闪存 3.4
(1)ECC纠错;(2)RAID数据恢复;(3)重读(Read Retry);(4)扫描重写技术(Read Scrub);(5)数据随机化。
2023-07-08 15:46:50
570
原创 第三章 SSD存储介质:闪存 3.2-3.3
从闪存读取原理来看:当读取一个闪存页Page的时候,闪存块中未被选中的Page的控制栅极都会加一个正电压以保证MOS管是导通的。但,频繁在MOS管的控制栅极加正电压,可能会导致电子被吸进浮栅极,造成轻微写,从而导致比特翻转。闪存中的存储单元先天就有一些的坏的,或者说是不稳定的,并且随着闪存的不断使用,坏的存储单元会越来越多。(2)相邻单元之间有耦合电容,工艺上要求后面的闪存页写操作时前面的闪存页已经写过。(3)写过的晶体管,有可能在其他的单元读的时候,把整个Bitline都给关了。
2023-07-08 15:12:20
632
原创 第三章 SSD存储介质:闪存 3.1
对要读的Page加低电压使电流断开,看Floating Gate中是否有电子,有电子为0, 否则为1。
2023-07-08 10:10:08
2772
3
原创 第2章 SSD主控和全闪存阵列
通过第一章可知,SSD主要由两大模块组成:主控和闪存介质。其中,(1)实现标准主机接口与主机通信;(2)实现与闪存的通信;(1)运行SSD内部FTL算法。主控芯片的好坏直接决定了SSD的性能、寿命、可靠性。
2023-07-05 18:16:39
1114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人