数据存储装置及使用不可用页表或不可用块表的读写方法

文档序号:9865426阅读:581来源:国知局
数据存储装置及使用不可用页表或不可用块表的读写方法
【技术领域】
[0001]本发明涉及数据存储领域,尤其涉及一种数据存储装置及不可用页表或不可用块表的读写方法。
【背景技术】
[0002]当前,NAND闪存技术的发展推动了 SSD产业。
[0003]如图1所示,SSD与主机之间使用高速串行接口如SATA,PICe等技术。内部由用于存储数据的一组NAND芯片,用于支持计算和缓存数据的DDR DRAM(内存),以及一个主控芯片(SSD Controller)组成,NAND中还存储逻辑地址与物理地址对照表。有时候还需要断电保护系统。
[0004]NAND是一种整块读写的存储设备,最小可读取的单元叫page,最小可擦除的单元叫block,一个block往往由很多page组成,block擦除后里面的page可以进行单独的写入操作。写入操作很慢,比读取慢得多,而擦除操作又比写入更加慢得多。
[0005]如图2所示,手机与计算机的文件操作方式如下:
[0006](I)应用软件向操作系统发出打开、关闭、读、写文件指令;
[0007](2)操作系统中的文件系统部分把读、写文件的指令转化为读、写存储块的指令;
[0008](3)NAND驱动与管理软件接受读写存储块区的指令,进行缓存、写均衡等优化,向芯片发出读page,写block等指令。
[0009]在手机中,NAND驱动与管理软件通常作为与操作系统紧密相关的软件模块,在主机芯片上运行;在计算机中,NAND驱动与管理软件通常在固态硬盘的主控芯片上运行。
[0010]NAND闪存的一个问题是NAND具有有限的寿命。里面的每一个page经过一定次数的擦写以后,就会永久失效不能继续使用。目前的产业发展趋势是NAND的容量和数据密度增长非常快,但却是以降低寿命为代价。可擦写次数从最初的10万次降低到目前的3000次左右。
[0011]NAND闪存一般在出厂时就有一些损坏的块,使用过程中坏块可能还会不断出现,因此所有的NAND闪存都伴随着一个坏块表,一般会被存储在NAND闪存的指定区域或者在坏块上做标记。
[0012]因为NAND闪存的以上特性,SSD内部的NAND管理软件比较复杂。为了不使某些经常发生写操作的块提前损坏,需要进行写均衡处理。文件系统软件所识别的逻辑地址和物理地址是不同的,需要一个表把二者对应起来。由于NAND擦除太慢,一般修改一内容时不在原来的块区更新,而是把新的内容写到一个新的块区,旧块区标记为无效,等CPU空闲下来再擦除它。这样,逻辑地址物理地址的对照表是不断动态更新的。这个表正比于SSD的总容量,存在DDR DRAM里,另外在NAND里面也有相应的标记。随着市场上SSD容量的迅速增加,这个表成为DRAM最大的消耗者。
[0013]由于NAND的读写速度比DRAM慢得多,还可以利用一部分DRAM空间作读、写的缓存(Cache),提高整个SSD的性能。然而引入写缓存产生了新的问题:一旦发生断电,DRAM缓存中尚未写入NAND的内容会丢失,造成系统丢失数据甚至整个文件系统的损坏。所以必须同时使用昂贵的、体积大的断电保护系统(一般由电池或者大量的电容器组成)。而逻辑-物理地址对照表,在发生断电后,是可以利用NAND中的数据重新构造的,尽管很费时间。
[0014]从以上介绍可以看出,SSD的设计遇到了两难:如果不使用写缓存,产品的写入性能大打折扣;如果使用写缓存,必须同时使用昂贵又占体积的断电保护设备,造成费效比很差。
[0015]一种混合使用MRAM和DRAM的固态硬盘,MRAM用于写缓存及逻辑地址与物理地址对照表缓存,如图3所示,由于MRAM可以像Flash闪存一样在断电后永久保留数据,不再使用昂贵的、体积大的断电保护系统,降低了固态硬盘的成本,从而提高了固态硬盘的费效比。然而这种方法以略微牺牲随机读取的性能为代价。
[0016]一种使用MRAM的固态硬盘,使用物理地址读写,MRAM用于写缓存,系统内存DRAM用于保存逻辑地址与物理地址对照表,如图4所示,由于不再使用昂贵的、体积大的断电保护系统,降低了固态硬盘的成本,从而提高了固态硬盘的费效比。然而这种方法需要消耗较多的系统内存。
[0017]因此,本领域的技术人员致力于开发一种费效比高且功耗低的数据存储装置,既能够保证写入性能,又能够降低数据存储装置成本,同时功耗较低。

【发明内容】

[0018]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种数据存储装置,既能够保证写入性能,又能够降低数据存储装置成本,同时功耗较低。本发明提供的固态硬盘并不以略微牺牲随机读取的性能为代价,且无需消耗较多的系统内存。
[0019]本发明还提供使用不可用页表或不可用块表的读写方法。
[0020]图1所示的固态硬盘中普遍采用的NAND闪存管理技术,使用了异地写入的方法,即修改一个NAND页时,并不是在原来的位置上修改,而是分配一个新的NAND页,写入新数据;而把旧的NAND页标为无效,以后回收。
[0021]这样做的原因有两个:
[0022](I)擦写NAND页的周期太长,如果不采用异地写入,数据势必要在DRAM中保存很久,因断电而造成数据丢失的几率会加大。
[0023](2)写均衡的考虑,如果某一页的内容经常被修改,它很可能会提前损坏,因此每次修改都换地址是一个实现写均衡的好办法。
[0024]在本发明中,由于采用了 MRAM做写缓存。所有写入的内容都可以在缓存中保留尽可能长的时间,原因(I)基本消除;况且使用写缓存后,相对于修改已有数据,分配新NAND页写入新数据,是小概率事件,因此擦写NAND的时间对缓存造成的压力不大。
[0025]另外,本发明中写缓存管理的原则是经常被写入的NAND页会留在MRAM的写缓存中。这对实现写均衡有很大的帮助,原因(2)也基本消除。
[0026]基于以上两点,本发明不再采用异地写入的NAND管理技术。
[0027]不再采用异地写入,逻辑地址与物理地址对照表就会基本固定,因此没有必要使用消耗大量内存空间的逻辑地址与物理地址对照表。
[0028]本发明中,需要维护每个块(block)的擦除次数表,一个块包括多达512个页(page),相对于针对每个页的逻辑地址与物理地址对照表,擦除次数表小得多。另外本发明还维护一个不可用页表/不可用块表,在使用写缓存的情况下,形成危险页/危险块更是一个小概率事件。
[0029]因而本发明提供的固态硬盘,可以使用容量较小的MRAM,既保证写入性能,又降低固态硬盘成本,同时功耗较低;而且不以牺牲随机读取的性能为代价,无需消耗较多的系统内存。
[0030]本发明提供一种数据存储装置,包括主机接口、主控芯片、用于存储数据的一个或多个NAND芯片以及MRAM,NAND芯片、MRAM分别与主控芯片连接,MRAM包括写缓存或读写缓存,MRAM还包括擦除次数表与不可用页表,擦除次数表用于存储NAND芯片中每个块的擦除次数,不可用页表包括NAND芯片中出厂时的坏块中的页、后续读写使用过程中出现的坏块中的页以及它们的替换页。
[0031]进一步地,不可用页表还包括危险页以及危险页的替换页,危险页是NAND芯片中擦除次数大于擦除警戒值的块中的页。当某一个页经常被擦写,导致次数超过警戒值时,选择一个替换页并把数据转移过去。不再使用有写入风险的页,保证数据的安全写入。
[0032]本发明还提供一种数据存储装置的使用不可用页表的写方法,包括以下步骤:
[0033](I)收到写NAND页指令;
[0034](2) NAND页是否在写缓存或读写缓存中,如果在写缓存或读写缓存中,执行步骤
(5);如果不在写缓存或读写缓存中,执行步骤(3);
[0035](3)从缓存中选择一个空闲页,写入NAND页的内容;
[0036](4)如果写缓存或读写缓存的空闲页少于第一警戒值,清理写缓存或读写缓存;
[0037](5)将写NAND页指令中的数据写入在写缓存或读写缓存的相应页中。
[0038]进一步地,步骤(4)中清理写缓存或读写缓存的方法包括以下步骤:
[0039](41)选择需要清理的缓存页;
[0040](42)如果缓存页对应的NAND页在不可用页表中且
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1