快闪存储器(英语:flash memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在计算机与其他数字产品间交换传输数据,如储存卡与U盘。闪存是一种特殊的、以宏块抹写的EPROM。早期的闪存进行一次抹除,就会清除掉整颗芯片上的数据。下面小编给大家介绍一下“闪存是固态硬盘吗 闪存和固态硬盘的区别”
一、闪存是固态硬盘吗
不是,固态硬盘也被叫做固盘,它是一种利用固态的电子存储芯片阵列之后制成的硬盘类型,其中有控制单元和存储单元,其在接口的规范以及功能、使用方法等许多方面与普通的硬盘几乎可以做到完全相同,现在已经被应用在军事以及电力等多个领域。
闪存也被叫做闪存卡,其实是利用闪存技术来进行各种电子信息存储的存储器,一般来说,数码相机以及掌上电脑等设备上我们经常能感受到闪存技术带给我们的“神奇速度”,由于其外形小巧,犹如一张卡片,因此我们也叫其闪存卡。
二、闪存和固态硬盘的区别
1、闪存通常的输出接口是USB,固态硬盘是SATA接口或其他接口,比如sata固态硬盘、msata固态硬盘、M.2固态硬盘等。
2、闪存通常是单闪存颗粒,偶尔有两个颗粒做双通道,固态硬盘是多颗粒,所以闪存通常容量不大,而固态硬盘可以以比较大的容量起步,比如256G固态硬盘。
3、闪存的主控非常简单,通常只包含读写策略和缓存机制;而固态除了这两个以外,还要进行各个方面的优化,比如读写、策略、缓存、电气特性、垃圾回收机制等等
4、闪存的体积较小,通常只有手指大小,便于携带,不怕摔;固态硬盘通常较大,不算硬盘盒,一个msata的固态都要大半张银行卡的大小,一些M.2和PCIe的还要长一些
5、性能上闪存和固态硬盘区别较大,普通的闪存产品,同一时间内,只能进行读或者写其中一项操作,因为闪存颗粒的电压变化收到主控的影响,通常只能有一种;固态硬盘主控更复杂,能够同时控制不同的电压变化,读和写几乎没有影响,可以同时进行。
版权声明:网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。侵权投诉
���ں��۸���˵�϶���SSDռ����������
FLASH������������,FLASHӲ��Ҳ������Ӳ��.��������.
SSDӲ��Ҳ�й�̬Ӳ��
��̬Ӳ�̵��ŵ�
������̬Ӳ������ͨӲ�̱Ƚϣ�ӵ�������ŵ㣺
����1. �����죬û�е��������ת�Ĺ��̡�
����2. ���ô�ͷ�����������ȡ�����ӳټ�С��������ز��ԣ���̨������ͬ�����õĵ����£����ع�̬Ӳ�̵ıʼDZ��ӿ�������������һ��ֻ����18�룬�����ش�ͳӲ�̵ıʼDZ��ܹ�����31�룬�������н���һ��IJ�ࡣ
����3. ��Թ̶��Ķ�ȡʱ�䡣����Ѱַʱ�������ݴ洢λ���أ���˴�����Ƭ����Ӱ���ȡʱ�䡣
����4. ����DRAM�Ĺ�̬Ӳ��д���ٶȼ��졣
����5. ����������Ϊû�л�е����ͷ��ȣ�����ʱ����ֵΪ0�ֱ���ijЩ�߶˻��������Ʒװ�з��ȣ�����Ի����������
����6. �������Ļ�������Ĺ�̬Ӳ���ڹ���״̬���ܺĺͷ������ϵͣ����߶˻��������Ʒ�ܺĻ�ϸߡ�
����7. �ڲ��������κλ�е����������ᷢ����е���ϣ�Ҳ������ײ���������������ʹ�ڸ����ƶ��������淭ת��б�������Ҳ����Ӱ�쵽����ʹ�ã������ڱʼDZ����Է�������������Ӳ����ײʱ�ܹ������ݶ�ʧ�Ŀ����Խ�����С��
����8. �����¶ȷ�Χ�����͵�Ӳ��������ֻ����5��55�淶Χ�ڹ��������������̬Ӳ�̿���-10~70�湤����һЩ��ҵ���Ĺ�̬Ӳ�̻�����-40~85�棬����������¶ȷ�Χ�¹�����
����9. �������Ĺ�̬Ӳ�̱�ͬ����Ӳ�����С�������ᡣ����һ���������������������ֱ��256GB����̬Ӳ���Ա���ͬ��������ͨӲ���ᡣ
������̬�洢���������ΪSSD����һ����Է�Ϊ���֣�һ���ǻ��������SSD������FLASH MEMORY ��Ϊ�洢���ʣ���Ҳ������ͨ���Ƚϳ�����SSD�������Ǿ���ʹ�õ�U�̣����������һЩ���Ӵ洢��������һЩATA��SCSI��FC�ӿڵ�Flash Disk��ͳ��Ϊ�����̣�SSD����һ����DDRRAM Base SSD������DDRRAM��Ϊ�洢���ʡ���Ч��ͳ��������������ơ��ɱ����ֲ���ϵͳ���ļ�ϵͳ���߽��о����ú��������ṩ��ҵ����PCI��FC�ӿ�������������/��������洢����Ĵ洢�豸���ɷ�ΪSSD��������SSD�����ж���飬��һ�����������ܵĴ洢����������ʹ�������dz�������������������������ӵ�е��ŵ������Ƿȱ�IJ��֣����в������ȴ��Ҫ��Դ�������ݰ�ȫ��
��������FLASH ��SSD�����ŵ���ǿ����ƶ����������ݱ������ܵ�Դ���ƣ�����Ӧ�ڸ��ֻ���������ʹ�������ߡ����������̵�����һ�㶼�dz�С����G���Ѿ�����ˣ�Ŀǰ������64G��Flash Disk���ʺ��ڸ���PC�û�ʹ�ã���Ӧ�õ���ҵ�Ĵ洢ϵͳ������Ϊ���ˡ�����FLASH�ڴ��SSD�߱��൱�ߵ����ݰ�ȫ�ԣ���������������Я�Եȷ��涼��Ӳ���������������ƣ��ں��պ��졢���¡����ڡ����š���������Ȳ����ж��й㷺��ʹ�á�
������DDRRAM Base SSD�����ͨHDDӲ�̵����������ƾ����ٶȣ�����һ��ÿ����15000ת��Ӳ��תһȦ��Ҫ200�����ʱ�䣬����SSD�������������Ǵ���ڰ뵼���ڴ��ϣ��ܹ��ڵ���һ�����ʱ���ڶ�����λ�õĴ洢��Ԫ���I/O������/���������������ڶ�����Ӧ�ó�����˵��Ϊ�ؼ���I/O����ָ�ꡪ��IOPs����ÿ����ٴ�IO�������ϣ�SSD���ԴﵽӲ�̵�50~800����
���߶Ա�֮��.�϶���SSDӲ�̺�.�ٶȿ�.
Flash Memory又叫做闪存,是一种非易失性存储器。非易失性是指断电之后数据不会丢失,这里就涉及到断电保护(后面详细讲解)。
总体思路
1、前言:HDD和SSD的比较引出Flash。
2、Flash的分类:NAND Flash和NOR Flash。
3、NAND Flash规则介绍。
4、SSD固件(Firmware,FW)包括:映射表(Mapping Table)、垃圾回收(Garbage Collection)、磨损平衡(Wear Leveling,WL)等。
5、补充概念:写入放大(Write Application)、预留空间(Over Provisioning)、Flash寿命(Program/Erase Count,P/E)等。
6、断电保护机制。
7、对SSD的评价标准:稳定性、性能、寿命。
1、前言
(1)HDD
HDD是指机械硬盘,是传统普通的硬盘。
介质:采用磁性碟片来存储。
包括:盘片、磁头、磁盘旋转轴及控制电机、磁头控制器、数据转接器、接口、缓存。
机械式硬盘最大速率约为100MB/s,由于容易发热等原因已经无法再进一步提升速度,所以引入了固态硬盘
(2)SSD
SSD(Solid State Drives)是固态硬盘。
介质:采用闪存颗粒来存储。
包括:控制单元、存储单元(DRAM芯片/FLASH芯片)。
(3)性能&外观区别
HDD是机械式寻找数据,所以防震远低于SSD,数据寻找时间也远低于SSD。SSD(左图)和HDD(右图)的模样区别如下:
(图片来自百度)
2、Flash的分类
Flash又分NAND Flash和NOR Flash,NOR型存储内容以编码为主,其功能多与运算相关;NAND型主要功能是存储资料,如数码相机中所用的记忆卡。
现在大部分的SSD都是用来存储不易丢失的资料,所以SSD存储单元会选择NAND Flash芯片。这里我们讲的就是SSD中的NAND Flash芯片。
(1)Nor Flash:主要用来执行片上程序
优点:具有很好的读写性能和随机访问性能,因此它先得到广泛的应用;
缺点:单片容量较小且写入速度较慢,决定了其应用范围较窄。
(2)NAND Flash:主要用在大容量存储场合
优点:优秀的读写性能、较大的存储容量和性价比,因此在大容量存储领域得到了广泛的应用;
缺点:不具备随机访问性能。
3、NAND Flash的规则
(1)Flash都不支持覆盖,即写入操作只能在空或已擦除的单元内进行。
更改数据时,将整页拷贝到缓存(Cache)中修改对应页,再把更改后的数据挪到新的页中保存,将原来位置的页标记为无效页;
指定在已有无效数据的位置写入时,需要先擦除无效页才能在该位置写入新数据。
(2)以page为单位写入,以Block为单位擦除;擦除Block前需要先对里面的有效页进行搬迁。
(3)每个Block都有擦除次数限制(有寿命),擦除次数过多会成为坏块(bad block)。
4、SSD固件内容
(1)映射表 Mapping Table
逻辑地址:用户程序中使用的相对地址;
物理地址:实际存储单元的绝对地址;
所以,映射表里面存储的内容是逻辑地址到物理地址的映射信息,利用逻辑地址查询映射表,找到对应的物理地址,再对实际存储单元做读写访问。
SSD内部就维护了一张映射表;一般SSD内部会板载DRAM,用于存储程序运行的临时数据,断电会丢失;映射表存放在SDRAM中(方便快速访问),同时NAND Flash中会存储几份映射表(防止断电后映射关系丢失),而且会定期对NAND Flash中的映射便进行更新。
(2)垃圾回收 Garbage Collection
垃圾回收就是把几个Block中的有效数据集中搬移到新的Block上去, 然后再把这几个Block擦除掉。
垃圾回收机制有很多,都是根据不同的侧重点提出的,所以没有最优的算法,就像伴侣一样只有适不适合之说。如:Greedy算法,每次选择包含最少有效页的Block来回收,也就是对垃圾的贪心,每次尽可能回收最多的垃圾。还有Cost-Benefit算法(考虑Block的擦除次数)、Cat回收算法、CICL算法等。
另外有两种回收策略:
- 被动回收策略:当有写入请求的时候,首先判断当前可用空间大小与临界值大小的比较;如果空间足够,直接写入空闲空间;如果空间不够了,首先启用垃圾回收,再往空闲区域完成写入请求。
- 不足之处:当空间不够的时候写请求会被延迟。
- 主动回收策略:通过固件设定周期性任务,定时检查可用空间大小,如果需要就执行垃圾回收。
- 巧妙之处:利用空闲时间提前进行垃圾回收,避免对请求造成不必要的延时。
- 不足之处:倘若系统一直没有空闲时间,垃圾回收依旧无法有效执行。
(3)磨损平衡 Wear Leveling
每个Block都是有寿命(Program/Erase Count,P/E值)的,他们的擦除次数是有限的。NAND Flash的寿命类似“木桶原理”,取决于所有Block中的最小寿命。如果拼命对某一块进行擦除,NAND Flash的寿命将会被缩减到最小。所以引入了磨损平衡,平衡所有Block的擦除次数。
有很多不同的磨损平衡机制,大体可以分为两大类:动态WL、静态WL。
- 动态WL:使用Block进行擦写时,优先挑选P/E值低的Block。
- 静态WL:把P/E值低的Block中的数据挪到P/E值高的Block中存放。
5、补充概念
(1)写入放大 Write Application
- 写放大原理
写入放大倍数 = 闪存写入数据量 / 主控写入数据量 = 实际写入数据量 / 要求写入数据量
例如,现在有一个写入一页的请求;即主控写入数据量为1;
然而这个一页请求触发了垃圾回收,当前的写请求会被延迟,直到垃圾回收完毕后再执行写入操作;
如果垃圾回收只挪了5页有效数据,那么实际的写入量应该为6页(1页写请求,5页挪动);即闪存写入数据量为6;
所以写放大为6/1 = 6。
理想的写放大为1,但是Sandforce的数据写入时会进行压缩写入,最优情况下,写放大可以为0.5,打破了Intel的“写放大不可能小于1”之说。
- 压缩写入
三大好处:减少待存储数量,节约存储空间;减小待存储数据翻转可能性,增加NAND Flash的寿命和减少能耗;获得较小NAND Flash的写放大,提高读写速度。
压缩写入方法又分为有损压缩和无损压缩。
有损压缩:存在信息丢失,无法100%的保存原始信息。
无损压缩:不允许精度损失,能100%恢复原始信息;无损压缩的压缩和解码复杂度较高,往往会大大的降低了NAND Flash的读写速度上的优势。
现如今,数据压缩编码算法还不够强大,所以大部分厂家都不会采用压缩写入。Sandforce除外。
(2)预留空间 Over Provisioning
- OP介绍
通过垃圾回收的过程,不难知道,垃圾回收的前提是要提供空闲区域来拷贝,如果连空闲区域都没有,垃圾回收将无法执行,这时将不再支持任何数据的写入。为了避免这种情况的发生,提出了预留空间。
预留空间不仅仅只是用来保证垃圾回收的正常完成,还存储着SSD内部的系统数据(包括:出厂坏块信息、SSD固件、Mapping Table等)。
所以如果说明存储大小为256GB,实际上的存储空间可能只有238GB(一般预留空间为7%)。
另外,OP越大,垃圾回收就会越快,相应写放大会变小,所以读写性能就会越好;但用户能使用的空间会被缩小。
- OP与SA区别
Over Provisioning(OP,预留空间)不仅仅只是用来保证垃圾回收的正常完成,还存储着SSD内部的系统数据(包括:出厂坏块信息、SSD固件、Mapping Table等)。是基于SSD的概念。
Spare Area(SA区)一般用来标记坏块,和保存对main区数据的ECC校验码。是基于NAND Flash中一个Block的概念。
(3)Flash寿命 Program/Erase Count
前面也已经提及到了,每个Block都是有擦除次数限制的,所以引入了寿命这个说法。
6、断电保护机制
为了提升读写性能,通常使用SDRAM做缓存,如果在读写过程中遭遇异常掉电,SDRAM中的数据可能来不及写进Nand Flash导致数据丢失,或者更新的映射表来不及写进Nand Flash导致映射表丢失。
中控里板载的SDRAM是易失性存储器,断电之后数据会丢失,这个时候SDRAM中的数据主要包括:用户数据、映射表;
如果没有断电保护机制,再次上电时,先去NAND Flash中找上次更新时的映射表,这时拿到的信息并不是最新的,是上次更新NAND Flash中映射表时的数据信息,所以发生了大部分数据丢失。
因此SSD板上会加上钽电容或者超级电容,当检测到非法断电时,首先停止数据操作,钽电容或超级电容开始放电,以保证SDRAM中的数据能够写入到NAND Flash中。
至于是用钽电容还是超级电容,得看具体要保护的数据量;不是电容的容量越大越好,因为只要电容开始放电,就要等待它的电放完之后才可以进行其他操作。假如电容容量过大,用户只是点了个电脑重启,这时候SSD的电容会开始放电,放电还没完成的时候,电脑已经重新上电,这时无法认盘。所以电容电量应该选最时候的。
基于SDRAM中的内容,断电保护机制主要分为3种:
(1)保存SDRAM中所有数据
再次上电后,相当于断电前的操作被中断,重新上电后就可立马进入待命状态。
(2)只保存SDRAM中的用户数据
再次上电后,需要先把上次NAND Flash中保存的映射表提取到SDRAM中,再将保存的用户数据提取出来,两者结合更新映射信息,更新完之后才进入待命状态。
(3)只保存SDRAM中的映射表
再次上电后,需要先把上次NAND Flash中保存的映射表提取到SDRAM中,只是丢掉了用户断电前正在操作的数据,无法更新。
7、SSD的评价标准
(1)稳定性:SSD是否稳定,最大的影响因素是垃圾回收机制的选择,恰当的垃圾回收可以提供稳定的读写速率;例如主动垃圾回收机制,在空闲的时候做垃圾回收,读写速度不会因为延时而波动不定。
(2)性能:预留空间的大小主要决定了SSD的性能,OP大,垃圾回收快,相应写放大小,读写性能就越好。
(3)寿命:所有Block的P/E值越趋近于均衡,SSD的寿命就越趋近于最佳。
本文分享自作者个人站点/博客://www.cnblogs.com/Christal-R/复制
如有侵权,请联系 删除。