SSD 控制器,也称为处理器,包括将闪存组件桥接到 SSD 输入/输出接口的电子设备。 控制器是执行固件级软件的嵌入式处理器。 SSD 固件是特定于设备的,在大多数情况下可以更新。
SSD 控制器,也称为处理器,包括将闪存组件桥接到 SSD 输入/输出接口的电子设备。 控制器是执行固件级软件的嵌入式处理器。 SSD 固件是特定于设备的,在大多数情况下可以更新。
主流 SSD 控制器包括以下电气元件,很多时候包含在单个集成电路 (IC) 中:
- 嵌入式处理器——通常是 32 位微控制器
- 电可擦数据固件 ROM
- 系统内存
- 支持外部 RAM – 通常是 DDR/DDR2 作为 SDRAM
- 纠错码 (ECC) 电路
- 闪存组件接口——通常是标准接口,例如开放式 NAND 闪存接口 (ONFI)
- 主机电气接口——通常是 SATA、USB、SAS 或组合
尽管市场上的大多数 SSD 产品都使用标准闪存组件,但也有新的闪存组件可用,它们集成了 ECC,在某些情况下,闪存芯片本身还集成了整个控制器功能。 为了写这篇文章,我们将重点关注上面列出的传统控制器派系。
典型的 SSD 控制器元件
下表更详细地描述了这些元素中的每一个。
控制器元件
|
描述
|
用法
|
处理器
|
16 位或 32 位嵌入式微控制器,大多数情况下使用 C 语言编程,并编译为在目标 CPU 引擎上运行。
|
执行主闪存应用程序的固件以及诊断 (SMART)、磨损均衡(垃圾收集/TRIM)、缓存和安全功能。
|
纠错 (ECC)
|
一种硬件功能,它为存储的每个字节附加冗余位,以便在读出时提供数据错误检测和纠正。
|
数据错误检测和纠正在 ECC 硬件中自动执行,以实现 1 位 10E-12 数量级的数据可靠性错误率。
|
闪光灯控制器
|
包含用于管理一个或多个闪存组件的寻址、数据总线和控制。 一个典型的 SSD 控制器将管理多达 512GB 的闪存。
|
通常是用于标准 NAND 闪存的 8 位开放式 NAND 闪存接口 (ONFI)。
通常最多可以控制 16 个 Flash 组件。
|
内存控制器
|
包含用于管理一个或多个 DRAM 组件的寻址、数据总线和控制。 一个典型的 SSD 控制器最多可以管理 256MB 的 DRAM。
|
DRAM主要用作缓冲存储器,以匹配从Flash阵列到I/O接口的数据流。 该内存还可用作数据缓存以提高整体性能。 这需要固件编程
|
I/O接口(即:SATA)
|
包含符合特定开放系统标准(例如 SATA、USB 或 SAS)的本地电气接口。 该接口由控制器固件驱动程序控制。 基本寻址和握手是在硬件中完成的。
|
一些控制器允许在 USB 和 SATA 等接口之间传输数据,而无需控制器干预数据流。
|
控制器内存
|
由与处理器紧密耦合的编程存储器 (ROM) 和暂存器/缓冲 RAM 组成。 该内存由控制器用于程序执行和存储暂存器值。 在一些成本受限的应用程序中,RAM 充当 SSD 的唯一数据缓冲区。
|
通常是 32-64KB ROM 和 128-256KB 或 RAM。
|
芯片配置
|
建立所用存储器部件的类型和速度、时钟输入、诊断 I/O 和 LED 状态输出的设置。
|
因供应商而异。
|
通用I / O
|
应用程序可用的通用可编程引脚。
|
通常提供 4-16 个引脚。
|
包装
|
|
281针BGA很常见
208-pin LQFP 常见
|
常用的SSD控制器
截至 2010 年初,市场上常见的 SSD 控制器包括:
- Indilinx“赤脚生态”IDX110MO1
- Indilinx“赤脚”IDX110M00
- 英特尔 PC29AS21BA0
- 精微JMF602
- 精微JMF612
- 漫威 88SS9174-BJP2
- 三星S3C29RBB01-YK40
- 沙力SF-1200
- 沙力SF-1500
- 东芝 T6UG1XBG
系统设计人员在为其目标产品和目标市场选择供应商和特定控制器时会进行一系列权衡。
权衡包括:
- 程序化——成本、时间表、支持、保修和可用性。
- 技术——性能、功率、封装选项、特性、可扩展性和灵活性。
- 其他——通用性、兼容性、文档、开发支持、测试和声誉。
在控制器选型的过程中,系统设计者也在对Flash部分以及设计中需要的其他部分进行同样的分析。 这是一个迭代过程,旨在找到供应商和组件的正确组合,以最好地满足特定产品的要求。
由于所有权问题,并非所有控制器设计数据都可以通过 Internet 向公众提供。 然而,通过研究它们在现有 SSD 中的使用,可以了解市场上每个 SSD 控制器的大量应用细节。
StorageReview.com 上的评论 和其他地方将有助于辨别每个控制器的优势及其对 SSD 的影响。 这些上下文引用很重要,因为与控制器在 SSD 的性能中一样重要,SSD 的性能在两个不同的供应商之间可能会有所不同,即使它们使用完全相同的 SSD 控制器组件。
通常,这种性能差异是因为两种设计使用了不同的闪存部件、不同数量的闪存部件、不同数量的缓存缓冲内存,或者可能以某种方式使用了优化的固件。 关键是,SDD 控制器只是整个 SSD 系统设计的一部分,虽然它对性能至关重要,但它并不是做出 SSD 购买决定时要考虑的唯一因素。
相关指南:
返回到 固态硬盘指南