SSD作为数据存储设备,主要包括主控芯片、闪存颗粒和缓存单元三大组件中,其中最有技术含量和核心技术的则是主控芯片。主控芯片是固态硬盘中的核心器件,也被称为固态硬盘中的CPU,承担着指挥、运算和协作的作用 图 1:SSD主控模块硬件图 图1-1所示仅是一个SSD系统架构的概略图,主要分为前端和后端两大部分。前端(Host Interface Controller,主机接口控制器)跟主机打交道,接口可以是SATA、PCIe、SAS等。后端(Flash Controller,闪存控制器)跟闪存打交道并完成数据编解码和ECC。除此之外还有缓冲(Buffer)、DRAM。模块之间通过AXI高速和APB低速总线互联互通,完成信息和数据的通信。 在此基础之上,由SSD固件开发者构筑固件(Firmware)就运行在主控芯片的CPU上,固件根据CPU的核数进行设计,充分发挥多核CPU的计算能力是固件设计考虑的一方面。另外,固件会考虑任务划分,会将任务分别加载到不同CPU上执行,在达到并行处理的同时让所有CPU有着合理且均衡的负载,不至于有的CPU忙死有的CPU闲死,这是固件架构设计要考虑的重要内容,目标是让SSD输出最大的读写性能。 主控芯片的外围模块包括UART、GPIO、JTAG,这些都是程序必不可少的调试端口,另外还有定时器模块Timer及其他内部模块,比如DMA、温度传感器、Power regulator模块等。 2、主控的生产厂商 目前SSD的主控分为两大阵营:闪存原厂和主控厂商。闪存原厂包括三星、东芝、美光、海力士等,他们生产闪存的同时也生产原厂固态硬盘。市场上处于领先地位的主控厂商主要有Marvell、三星、慧荣(SiliconMotion)、群联(Phison),不过近年来国内大陆SSD主控芯片厂商也逐渐崭露头角,例如忆芯科技、杭州华澜微电子、联芸科技、国科微、得一微、得瑞、华存等都较为知名。 实际目前各大闪存原厂都在一定程度上将主控设计和固件研发的工作委派给专门的主控供应商,或者直接使用其他公司的主控芯片,由它们在闪存原厂的技术支持下,完成相关的主控和固件设计。最终,原厂固态硬盘产品会通过定制固件的方式,将原厂固态硬盘跟公版产品区分开来。 图2:88SS133x 芯片架构
注释1 :PCIE不同版本的带宽计算 GT/s —— Giga transation persecond (千兆传输/秒),即每一秒内传输数据的总位数。 Gbps —— Giga Bits Per Second (千兆位/秒),即每一秒内传输有效数据的总位数。 GB/s—— Giga Byte Per Second(千兆字节/秒),即每一秒内传输的有效字节总字节数。 1 GB/s=8 Gbps PCIE的带宽计算公式: Lane带宽计算公式:Lane带宽(GB/s)= 传输速率(GT/s)* 编码方案 /8; 总带宽计算公式:总带宽(GB/s)=单带宽(GB/s) *通道数(Lane) 以PCIe 3.0 x16 的带宽计算为例: PCIe 3.0协议支持8 GT/s,即每一条Lane上支持每秒钟传输8G个Bit。而PCIe 3.0 的物理层协议中使用的是128b/130b 的编码方案。即每传输128个Bit,需要发送130个Bit。 那么:Lane带宽=8*128/130/8=984.6 MB/s 总带宽=984.6*16=15.754GB/s 图3:命令的接受和执行流程 注释1 :什么是TCM? TCM=Tightly Coupled Memory,是一种高速缓存,被直接集成在CPU芯片中。TCM又分为ITCM(Instruction TCM)和DTCM(Data TCM)。ITCM是cortex内核中指令传输总线,DTCM是cortex内核中数据传输总线。是cpu内核同flash及sram之间传输指令和数据的通道,由于是高速缓存,所以这两块内存区域被当做特殊的用途。比如某些对时间要求非常严格的代码,就可以被放到ITCM中执行。
图4:写数据流程 图5:读数据流程 3.2 控制器接口概括
对于SSD主控的介绍先了解到这里,后面我们会继续介绍主控的硬件接口和测试方面的内容。 |
|