搜档网
当前位置:搜档网 › SSD技术的优势和劣势

SSD技术的优势和劣势

SSD技术的优势和劣势
SSD技术的优势和劣势

固态硬盘(SSD)的概念:

传统硬盘:采用电磁+机械结构,无法胜任一些特殊场合下的应用,如温差较大、粉尘较多或震动明显的环境。

固态硬盘:完全半导体化,没有机械部件,抗震抗冲击能力强,能稳定工作的温度范围宽,形变小,而且运转时候完全静音化。

固态硬盘SSD以不挥发性的硅芯片为存储介质,如EEPROM或FLASH芯片,没有机械组件,它的外形与传统硬盘相近或相同,而且接口也是基于传统硬盘的IDE、SCSI、SA TA、FC、SAS接口。简单地说,除了“芯”不同外,它的外形与传统硬盘没多大区别。

目前固态硬盘主要用于工业控制和嵌入式产品,譬如单板机上的程序存储,以及PDA、数码相机、MP3播放器等手持数码设备的特殊数据存储。

SSD技术的优势和劣势

固态存储器(Solid State Disk),简称SSD。SSD从构成上分成两种:Flash-based SSD (基于Flash的固态存储器)和DRAM-based SSD(基于DRAM的固态存储器)。而DRAM-based SSD目前的价格太高了,一般SSD都是指NAND型的Flash-based SSD。

SSD技术的优势:

1、存取速度快:一个每分钟15000 转的硬盘转一圈需要200 毫秒的时间, 而在SSD

上由于是数据是存放在半导体内存上, 能够在低于一毫秒的时间内对任意位置的

存储单元完成I/O( 输入/输出) 操作, 因此在对许多应用程序来说最为关键的I/O

性能指标———IOPS(即每秒多少次IO动作)上, SSD可以达到硬盘的50~1000 倍。

2、耗电量较低:重量不到普通硬盘的一半,而耗电量不到现有硬盘的5%。

3、防震性好:可以承受500G的冲击力。

相当高的数据安全性:由于数据单元没有采用磁存储,所以数据删除后没有剩磁问题。SSD 每次写入前都必须做擦除,所以SSD 删除数据后做一次写入就能彻底清除数据。而传统硬盘删除数据后做10 次写入, 仍然有15%的概率能够读出该数据。采用SSD 有利提高pc 的数据安全, 特别是个人电脑的超级用户密码、个人网上银行的账户和密码、个人隐私数据等重要个人数据能得到保护。

SSD 的劣势

1、价格目前较高:4G的NAND Flash价格大约是人民币500元,而500元可以买到500G

的硬盘。这对于系统结构而言不具备有很好性价比。

2、传输带宽与传统硬盘没有带来本质的变化。

3、目前的工艺水平写的速度较慢:最快的NAND Flash写的速度只有12MBps。

4、擦除次数有限:最多擦写次数只有500万次。

《基于NAND型闪存的嵌入式文件系统设计》

闪速存储器具有以下特性:

(1)数据只能写入存储区中值为1的位上,而不能写到为0的位上。

(2)为将存储区中的0变为1,需要对存储区进行擦除操作。

(3)擦除操作以擦除为单位串进行,一次只能擦除一个块。

(4)每个擦除块的可擦除次数有限,为10万次到100万次不等。

闪速存储器按其内部存储器矩阵结构不同可分为NOR和NAND两种,其中NOR型闪存采用或非结构栅格存储矩阵实现,可按字节写入数据,读取速度快,但存储密度低,数据擦除速度慢,因此常用于代码存储,如系统启动代码和内核映像等。

NAND型闪存采用与非结构的栅格存储矩阵实现,由于与非结构的存储矩阵位元面积仅为或非结构的四分之一,且存取操作以页面为基本单位进行,故存储密度高,数据写入速度快,因此适合于数据存储领域。

相比NOR型闪存,NAND型闪存中容易发生位交换现象,即一个比特位的值由0反转为1或由1反转为0.如果反转出现在关键文件数据块中将会导致严重后果,因此在NAND型存储器在读取时需要加入错误探测/更正(EDC/ECC)算法以实现对位交换的检测与纠正。

《大容量NAND Flash在嵌入式系统中的应用》

现在的flash memory 主要包括以下两大类:针对程序和数据存储的NOR flash ; 针对大容量存储的NAND flash 。其中,NOR 的特点为芯片内执行(XIP ,eXecute In Place) ,这样应用程序可以直接在flash 闪存内运行,不必再把代码读到系统RAM 中,随机读取快、功耗低、稳定性高;而NAND 的特点为容量大、写度速快、芯片面积小。在目前的手机、PDA、数码产品等领域,NOR 和NAND FLASH 的应用最为广泛。它们的特点比较如下:

结构NOR 为并行,NAND 为串行;

总线NOR 为分离的地址线和数据线,而NAND为复用的;

读NOR 读的速度比NAND 快;

写NAND 写的速度比NOR 快很多倍。

《大容量高速固态硬盘设计》

大容量高速固态盘的设计方法。该方法利用流水操作与并行操作相结合,有效地提高了固态系统的容量和操作速度。

1、系统组成

固态硬盘系统的结构框图。系统由接口模块、控制模块、缓冲模块、数据存储模块、数据备份模块和数据验证模块组成。如图:

(1)接口模块:是用来负责固态硬盘系统内部与外部电路之间的数据、命令与状态信息交互。

(2)控制模块:为了协调数据存储模块与其他各个模块间的交互流程。主要工作可以分成读数据、写数据和块擦除。上图的CPLD1、CPLD2、CPLD3都是控制模块。

(3)缓冲模块:是由4个FIFO芯片组成。FIFO1和FIFO2组成写数据缓冲模块,FIFO3和FIFO4组成读数据模块。进行数据读写时候,写缓冲和读缓冲模块进行乒乓顺序操作,这样可以最大程度地保证数据流不出现等待现象。

(4)存储模块:由闪存芯片阵列和开关电路组成。在实际操作中,闪存芯片内部以并行加流水的方式操作,两个闪存阵列之间以流水方式工作。开关电路与那个来实现闪存阵列间的流水工作方式。

(5)数据备份模块:负责暂存数据用以发现无效块时候重新提供数据。

(6)数据验证模块:

2、工作流程

固态硬盘系统的工作主要可以分成写操作、读操作和块擦除。系统工作流程框图:

1、FIFO乒乓工作流程

工作流程如图:

2、闪存阵列工作流程

闪存芯片以阵列的形式排列,每4个芯片为一列。是并行操作的,并行操作有两个好处一是可以扩展固态硬盘系统总线带宽,而是可以提高数据操作速度。

与并行操作同时进行的是流水操作。采用流水操作的好处在于它不但可以大大提高固态硬盘系统的工作速度,而且可以将闪存芯片相对较低的编程速度带来的影响降低到最低,系统不需要为此而等待。

闪存阵列所采用的并行操作与流水操作同时进行的工作方式很大程度上提高了固态盘系统的工作速度。

3、数据验证模块工作流程

工作流程:在某个闪存阵列中的某列操作(写操作或块擦除)结束后,数据验证模块对这一列的特点状态进行检测,判断该次操作是否成功。如果不成功, 则认定这次操作对应的块为无效块, 将其地址更新入无效块表, 开关电路将其关闭。同时通知数据备份模块释放备份数据对新的映射块进行重新操作, 直到正确为止。在读操作中, 该模块负责地址映射, 将逻辑地址映射为实际地址, 对外屏蔽调无效块的存在。

《高速大容量FLASH存储系统设计》

采用固态存储芯片FLASH(闪存)为存储介质,FPGA(现场可编程门阵列)为存储阵列的控制核心,针对外部高速数据的输入,引入了多级流水和冗余校验技术,并自动屏蔽了FLASH 的坏块。

FLASH芯片接口操作

A、页编程:

器件的编程以页为单位,但在一个页编程周期中允许对部分页(一个或连续的多个

字节)编程。一个页编程周期由串行数据加载阶段和紧随的编程阶段组成。在数据

加载阶段,数据被加载到数据寄存器中;在编程阶段,已加载的数据写人实际的存

储单元,编程典型时间为20us。

B、页读:

器件在上电时,就被初始化为读模式,此时可以不写00h命令,直接写入地址和30h 命令即可。有两种类型的读,分别是随机读和顺序页读。由于设计存储时是基于整个页操作,所以读名利使用顺序页读。命令打入后经过最多20us的时间,数据则会从选择的页传到数据寄存器中。

C、块擦除

器件的擦除操作是以块为单位的。块地址加载由擦除建立命令60h启动,然后输入

确认命令D0h,执行内部擦除过程。这一先建立再执行的两步命令时序,确保了存

储内容不会由外部的干扰而意外擦除,擦除时间典型值为1.5ms。

操作结束后通过检测状态寄存器的/100位来判断操作是否成功,0表示正确,1表示有错误发生。

重要模块设计

1、流水工作

2、坏块列表

8个组的坏块列表信息平时存放在某个FLASH中。当存储卡工作时,首先将FLASH里的坏块信息读入FPGA的RAM中,那么FLASH的地址就和RAM的地址一一对应起来。读写坏块信息只需对RAM进行操作,不仅简单而且更重要的是极大的提升了访问速度。

FLASH 在长期使用中,不可避免的会产生新的坏块,我们要及时对坏块信息进行更新。操作过程中出现坏块时,可以先更新RAM信息,等存储操作结束后再将更新的RAM信息写人FLASH保存。存储操作及坏块列表的更新,可参考图4。

《NAND Flash存储控制器的软硬件划分设计》

1、Flash存储器操作基础

读操作

读操作是Flash存储器操作中最常用的一种操作,有以下一个流程(如图1):

其中,Write 00h,Write Address,Write 30h是读操作的控制部分,Read Data是数据读出部分,最后的ECC Generation和Verify ECC是校验部分。

写操作(program)

数据写入部分,接下来是读出状态寄存器并判断写入是否成功,如果I/O=1则写入错误需要重写。

擦除操作(erase)

Write 60h, Write Block Address, Write D0h 用作擦除操作的控制部分,接下来是读出状态寄存器并判断擦除是否成功,如果I/0=0则擦除成功,否则标示擦除失败,需要把这一块放入错误块列表中。

NAND Flash Memory控制器的4种不同实现

1 纯软件:

由纯软件完成Flash的所有控制和读写操作。

优点:不需要任何硬件, 控制和数据操作部分的信号都由DSP Core 通过外围IO口输出给Flash 存储芯片,是所有4种实现中最简单灵活的一种。

缺点:由于Flash 存储器的操作周期都比较长,因此每一个信号都要延迟几个时钟周期(就是上述代码中的Loop),特别是等待控制信号的while(!rbb)会浪费几千个时钟周期,这会在很大程度上影响SOC芯片的性能。

2、软件为主

控制部分全部由软件完成,而读写数据时序控制部分全部由硬件完成。这种方式的实现需要一个硬件的flash memory读写控制器和软件代码共同工作。

硬件部分如图2所示,为了适应各种NAND Flash芯片,读写时序状态是可配置的。而控制部分需要软件完成。

优点:只需要最简单的读写控制电路(一个时钟计数器),并且比较灵活,几乎可以适用于任一种Flash芯片。

缺点:芯片的控制部分仍然需要占用DSP核时间,如果是实时性要求非常高的工作,不能够适用。

3、硬件为主

控制部分由软硬件配合完成,而读写数据部分全部由硬件完成。这种方式的实现需要一个硬件的flash memory 读写控制器和软件代码共同工作。

硬件部分如图3所示,而软件部分只需要配置不同NAND Flash芯片的读写时序状态和命令字。

优点:需要软件的控制工作比较少,能够很地的节省DSP的工作周期。

缺点:需要用硬件实现一个控制状态机和一个读写状态机,硬件面积比较大,而且由于状态机的限制,只能适用于特定的几种Flash Memory芯片。

纯硬件

控制部分和数据读写部分完全由硬件完成,硬件部分和硬件为主的方案相似,唯一区别是控制字和读写时钟周期都是固化的,不可通过控制寄存器更改。软件的工作是设定该Flash Memory 控制器现在的工作方式(read, program, erase) 和读写数据的数量,其余的完全由Flash Memory 控制器自己完成。

优点:由于控制用寄存器的已经固定了,因此需要的面积小于上述的硬件为主的方案,几乎不需要软件的工作,很好地节省DSP的工作周期。

缺点:不灵活,只能配合某一品牌的Flash Memory工作。

评价体系

对于一个芯片设计项目而言,面积(Area)、DSP花费时间(Time)和外围设备选用灵活性(Variability)都是必须仔细考虑的。

为了满足上述3个参数的比较需要,如下衡量参数和公式:

(1)面积占用率

衡量一个设备设计方案的面积大小的合理性,可以通过比较该外设的面积占整个芯片的总面积的比率来衡量。该参数值越低则说明该外设花费的相对面积越小,预示芯片成本越低。

(2)DSP时钟占用率

衡量时钟占用情况可以比较一个传输操作中DSP需要花费的时钟周期占传输操作的时间,这就是DSP时钟占用率参数。该参数值越低则说明对于该操作DSP花费的时间越少,标示芯片越能适应实时大数据量处理。

(3)接口灵活性

(4)综合评价公式:

3个加权参数a, b, c,其中a是面积占用率的加权参数,b是DSP时钟占用率的加权参数,c是接口灵活性的加权参数。根据3个参数,取算术加权平均公式:

评价分数高者为优秀。

《超大容量NAND FLASH坏区管理方法的设计与实现》

相关主题