SSD的原理和结构简介

简介: SSD如淡雅之兰花,寻求内外统一,内涵与外在俱佳,除了英俊潇洒的外表,内在的魅力同样不可抵挡。

在了解了SSD的历史和前景之后,让我们一起真正的走进SSD,揭开SSD神秘的面纱。

SSD如淡雅之兰花,寻求内外统一,内涵与外在俱佳,除了英俊潇洒的外表,内在的魅力同样不可抵挡。

SSD主要有三部分构成:主控(Controller), DRAM缓存和NAND闪存。

主控对于SSD的作用,类似CPU对于电脑的作用,属于大脑中枢,拥有最高指挥权,管理NAND闪存,实现数据的存储。


DRAM缓存是Host与SSD主控之间的数据中转站。在Host写入数据时,并不会直接交给主控去写入NAND闪存,而是先把数据丢到DRAM缓存中,之后再传到主控内部的缓存中,最后再由主控写入NAND闪存,这样做的目的是提高数据传输的效率。


是不是有点不太好理解?没关系,举个简单的例子:(已经理解的同学可以略过这部分)

比如说,在网购的时候,一件A商品会产生10元邮费,如果要购买5件A商品,我们一次购买5件呢?还是分5次购买呢?很显然,肯定会一次购买5件呀,这样只需要付一次邮费(每个人都很聪明,我这里只是举个例子哈)。
同理,如果Host每发一笔数据,不管传输的数据大小,主控都直接响应,然后写数据到NAND闪存,这时主控会花费了大量的精力去处理琐碎的事情,致使SSD表现不尽如人意,最终被嫌弃。SSD又一次发挥聪明才智,将DRAM这一干将招致麾下,并给DRAM派了个任务量,在Host传输数据时,先送到DRAM手里,如果没有达到任务量,就不要给领导-主控汇报了。这样大大地降低了主控的负担,提高了SSD处理数据的效率。

NAND闪存是数据归属地,NAND颗粒的存在,赋予了SSD储存数据的使命。为了提高存储的性能,主控会通过不同的通道(Channel)操作NAND闪存。

DRAM与NAND的结构与原理会在后续文章中详细介绍,今天主要分享SSD的司令官-主控。

由于Host和NAND闪存两位人士,性格迥异,对数据处理的方式完全不一样。此时就需要领导者-主控登场了,发挥管理智慧,打造一支和谐共赢的团队,实现存储数据的使命。

对于一个称职的主控,需要有能力完成两项艰巨的任务:
1. 为Host和NAND提供适当的对接界面(Interface)以及协议(protocol);
2. 高效地处理数据,优化传输速率,同时保证数据的完整性。

目前主流SSD主控架构如下图:


主要有三大部分组成:与Host对接的界面(Host interface), 闪存转换层FTL以及闪存对接界面(Flash interface)。

Host interface采用的协议(protocol)包括SATA,PCIe/NVMe SSD协议(后续文章会详细介绍)。


闪存转换层FTL是主控的核心部分,主要实现磨损平衡(Wear-leveling), 垃圾数据回收(Garbage Collection), 坏块管理(Bad Block Management)和数据纠错处理(ECC, Error Correction Code)。
FTL层涉及的内容较多,在这里就不展开了,后续专门介绍FTL。


Flash interface包括了SSD主控的flash controller,用来控制主控与NAND闪存之间的数据传输。



相关文章
|
存储
PCIe VPD (Vital Product Data) 介绍
PCIe VPD (Vital Product Data) 介绍
5236 0
PCIe VPD (Vital Product Data) 介绍
【精讲】PCIe基础篇——PCIe传输速率计算
我们在接触PCIe设备时会接触到一个词,传输速率,比如8GT/s。或者有人问你设备的带宽多少?通信速率多少?本文带你了解下。
8950 0
【精讲】PCIe基础篇——PCIe传输速率计算
|
3月前
|
存储 C语言 内存技术
C语言深度解析:大小端字节序——多字节数据的底层存储规则
大小端指CPU对多字节数据在内存中的存放顺序:大端高字节存低地址,小端反之。x86/ARM默认小端,网络字节序统一为大端。跨平台、网络通信、二进制协议开发中必须显式处理字节序转换,否则数据解析必错。
924 138
|
存储 缓存 NoSQL
阿里云 Tair 联手 SGLang 共建 HiCache,构建面向“智能体式推理”的缓存新范式
本文系统剖析面向智能体推理的 KVCache 技术演进,针对传统机制在长上下文、多轮决策与多智能体协同中的状态膨胀、持久化缺失和缓存孤立三大瓶颈,介绍阿里云 Tair KVCache 团队联合 SGLang 社区推出的 HiCache 分层缓存体系。该方案通过显存-内存-3FS 多级卸载与全局共享,实现缓存命中率提升至80%,TTFT 降低56%,推理 QPS 翻倍,支撑智能体时代的大模型高效推理。
|
7月前
|
Kubernetes API 开发工具
深入浅出K8S技术原理,搞懂K8S?这一篇就够了!
本文以“K8S帝国”为喻,系统解析Kubernetes核心技术原理。从声明式API、架构设计到网络、存储、安全、运维生态,深入浅出揭示其自动化编排本质,展现K8S如何成为云时代分布式操作系统的基石。(239字)
3636 6
|
设计模式 算法 关系型数据库
23种设计模式总结
23种设计模式总结
440 0
|
存储 缓存 固态存储
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,迭代次数以及信道类型对译码性能的影响
本内容介绍基于MATLAB 2022a的低密度奇偶校验码(LDPC)仿真,展示了完整的无水印仿真结果。LDPC是一种逼近香农限的信道编码技术,广泛应用于现代通信系统。BP译码算法通过Tanner图上的消息传递实现高效译码。仿真程序涵盖了不同Eb/N0下的误码率计算,并分析了码长、码率、迭代次数和信道类型对译码性能的影响。核心代码实现了LDPC编码、BPSK调制、高斯信道传输及BP译码过程,最终绘制误码率曲线并保存数据。 字符数:239
870 5
|
存储 固态存储 数据中心
SSD的核心技术、原理和实战应用
【2月更文挑战第12天】
842 0
|
网络协议 NoSQL API
深入理解 RDMA 的软硬件交互机制
本文深入分析了RDMA技术在数据中心高性能网络环境下的工作原理及软硬件交互机制,通过对比传统Kernel TCP,突出了RDMA在减少延迟、提高系统性能方面的优势,同时讨论了其在内存管理、软硬交互方面的关键技术和挑战,为读者提供了全面理解RDMA技术及其应用场景的视角。
7329 8