SSD基本架构与工作原理

SSD的核心由一个或多核心的CPU控制器、DRAM缓存以及多个NAND闪存芯片组成。CPU控制器负责管理所有读写操作,并通过DRAM缓存存储映射表等元数据,以加速寻址过程。

图片

NAND闪存则是数据存储的实际介质,其组织结构从大到小依次为通道(包含多个封装)、Die、Plane、Block和Page。

图片

读写操作流程

SSD的读写操作遵循NAND闪存的基本特性,即写入前需擦除(Erase-before-write),操作单位不对称(读/编程操作在Page级别,而擦除操作在Block级别),且具有有限的耐久性和数据保持性。

图片

  • 读取(Read):数据从NAND闪存的Page传输到SSD控制器的页面缓冲区,再传输至主机,延迟tR。

  • 写(Program):数据从主机写入页面缓冲区,再编程到NAND闪存的Page中,耗时tPROG。

  • 擦除(Erase):整个Block的数据被清除,tERASE通常需要毫秒(ms)级别。

SSD常见写入步骤:

写入过程中,host写入数据给到缓存,再由缓存下刷到NAND存储,需要注意的是写入数据后的垃圾回收GC。

图片

  • 写入命令与地址:SSD控制器向NAND闪存发送写命令和相应的页地址。

  • 数据传输:数据通过I/O线从主机或SSD的缓存传输到NAND闪存的页面缓冲区。这个过程中,数据先暂存在缓冲区,随后批量写入存储单元。

  • 数据编程:NAND闪存内部的接口电路将缓冲区中的数据编程到存储单元中。此过程通常需要几百微秒。

  • 状态等待与确认:写入期间,SSD控制器会定期查询NAND的状态寄存器,等待写入操作完成的指示。

  • ECC编码与校验:在数据写入之前,根据SSD设计,会对数据进行ECC编码,以防止未来读取时的错误。写入后,可能会通过读回数据并对比原始数据进行校验。

  • GC(垃圾回收)和 Wear-Leveling:长期使用中,SSD控制器还需管理垃圾回收和磨损均衡,以维护性能和延长SSD寿命,但这通常不在单次读写操作流程内直接体现。

SSD常见读取步骤:

读取过程中,host发送数据读取请求,数据从NAND读取,这个过程可能会有因为NAND读取异常发送Read Retry。

图片

  • 命令发送:主机向SSD的控制器发送读取命令,通常伴随着要读取的页地址信息。

  • 地址传输:紧接着,页地址通过命令/地址总线传送给NAND闪存控制器。在某些NAND架构中,地址传输可能分为行地址和列地址两个阶段。

  • 读取命令确认:控制器发送一个确认读取命令到NAND芯片,以确保NAND准备进行读取操作。

  • NAND操作:NAND闪存芯片接收到命令和地址后,开始从指定的物理页中读取数据。数据首先被加载到NAND芯片内部的页面缓冲区。

  • 数据传输:一旦数据准备就绪,NAND芯片通过I/O线将数据传输到SSD控制器。此时,NAND芯片会处于忙碌状态,直到数据传输完成。

  • 状态检查:在数据传输过程中或完成后,SSD控制器需要监控NAND的状态寄存器,以确认操作成功完成。

  • 数据校验:为了确保数据完整性,SSD控制器执行ECC(Error Correction Code)校验。如果数据在读取过程中发生错误,ECC可以帮助纠正这些错误。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古猫先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值