CN105630705A - 数据存储装置及使用块替换表的读写方法 - Google Patents
数据存储装置及使用块替换表的读写方法 Download PDFInfo
- Publication number
- CN105630705A CN105630705A CN201510315389.3A CN201510315389A CN105630705A CN 105630705 A CN105630705 A CN 105630705A CN 201510315389 A CN201510315389 A CN 201510315389A CN 105630705 A CN105630705 A CN 105630705A
- Authority
- CN
- China
- Prior art keywords
- page
- nand
- block
- write
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明提供一种数据存储装置,包括主机接口、主控芯片、用于存储数据的一个或多个NAND芯片以及MRAM,NAND芯片、MRAM分别与主控芯片连接,MRAM包括写缓存或读写缓存,MRAM还包括块替换表,块替换表用于存储每一个需要替换的块及其替换块。本发明还提供使用块替换表的读写方法。本发明提供的固态硬盘及使用块替换表的读写方法,不再采用异地写入的NAND管理技术,无需保存占用大量空间的逻辑地址与物理地址对照表,节省了存储空间,提高了读写性能;采用划分常规区与备份区的方法,便于将逻辑地址根据固定对应关系翻译成物理地址,进一步提高读写性能;采用擦除次数表,不再使用有写入风险的块,保证数据的安全写入。
Description
技术领域
本发明涉及存储领域,尤其涉及一种数据存储装置及使用块替换表的读写方法。
背景技术
当前,NAND闪存技术的发展推动了SSD产业。如图1所示,SSD与主机之间使用高速串行接口如SATA,PICe等技术。内部由用于存储数据的一组NAND芯片,用于支持计算和缓存数据的DDRDRAM(内存),以及一个主控芯片(SSDController)组成,NAND中还存储逻辑地址与物理地址对照表。有时候还需要断电保护系统。
NAND是一种整块读写的存储设备,最小可读取的单元叫页(page),最小可擦除的单元叫块(block),一个块往往由很多页组成,块擦除后里面的页可以进行单独的写入操作。写入操作很慢,比读取慢得多,而擦除操作又比写入更加慢得多。
大部分NAND芯片要求,在一个块被擦除后,其页必须按顺序写入。一个块的相邻页写入之间,写另外块的页,则是允许的。
由于擦写NAND非常费时,特别是重新写入整个block的内容。NAND芯片以及由其组成的存储系统,通常采用多通道平行写入提高系统的总写入带宽。一个存储装置中可能有很多NAND芯片,每一个芯片内常常封装了多个硅片,每个硅片有不同的Plane,每个Plane都是独立的通道,可以平行的写入。
如图2所示,手机与计算机的文件操作方式如下:
(1)应用软件向操作系统发出打开、关闭、读、写文件指令;
(2)操作系统中的文件系统部分把读、写文件的指令转化为读、写存储块的指令;
(3)NAND驱动与管理软件接受读写存储块区的指令,进行缓存、写均衡等优化,向芯片发出读page,写block等指令。
在手机中,NAND驱动与管理软件通常作为与操作系统紧密相关的软件模块,在主机芯片上运行;在计算机中,NAND驱动与管理软件通常在固态硬盘的主控芯片上运行。
NAND闪存的一个问题是NAND具有有限的寿命。里面的每一个page经过一定次数的擦写以后,就会永久失效不能继续使用。目前的产业发展趋势是NAND的容量和数据密度增长非常快,但却是以降低寿命为代价。可擦写次数从最初的10万次降低到目前的3000次左右。
NAND闪存一般在出厂时就有一些损坏的块,使用过程中坏块可能还会不断出现,因此所有的NAND闪存都伴随着一个坏块表,一般会被存储在NAND闪存的指定区域或者在坏块上做标记。
因为NAND闪存的以上特性,SSD内部的NAND管理软件比较复杂。为了不使某些经常发生写操作的块提前损坏,需要进行写均衡处理。文件系统软件所识别的逻辑地址和物理地址是不同的,需要一个表把二者对应起来。由于NAND擦除太慢,一般修改一内容时不在原来的块区更新,而是把新的内容写到一个新的块区,旧块区标记为无效,等CPU空闲下来再擦除它。这样,逻辑地址物理地址的对照表是不断动态更新的。这个表正比于SSD的总容量,存在DDRDRAM里,另外在NAND里面也有相应的标记。随着市场上SSD容量的迅速增加,这个表成为DRAM最大的消耗者。
由于NAND的读写速度比DRAM慢得多,还可以利用一部分DRAM空间作读、写的缓存(Cache),提高整个SSD的性能。然而引入写缓存产生了新的问题:一旦发生断电,DRAM缓存中尚未写入NAND的内容会丢失,造成系统丢失数据甚至整个文件系统的损坏。所以必须同时使用昂贵的、体积大的断电保护系统(一般由电池或者大量的电容器组成)。而逻辑-物理地址对照表,在发生断电后,是可以利用NAND中的数据重新构造的,尽管很费时间。
从以上介绍可以看出,SSD的设计遇到了两难:如果不使用写缓存,产品的写入性能大打折扣;如果使用写缓存,必须同时使用昂贵又占体积的断电保护设备,造成费效比很差。
一种混合使用MRAM和DRAM的固态硬盘,MRAM用于写缓存及逻辑地址与物理地址对照表缓存,如图3所示,由于MRAM可以像Flash闪存一样在断电后永久保留数据,不再使用昂贵的、体积大的断电保护系统,降低了固态硬盘的成本,从而提高了固态硬盘的费效比。然而这种方法以略微牺牲随机读取的性能为代价。
一种使用MRAM的固态硬盘,使用物理地址读写,MRAM用于写缓存,系统内存DRAM用于保存逻辑地址与物理地址对照表,如图4所示,由于不再使用昂贵的、体积大的断电保护系统,降低了固态硬盘的成本,从而提高了固态硬盘的费效比。然而这种方法需要消耗较多的系统内存。
因此,本领域的技术人员致力于开发一种费效比高且功耗低的数据存储装置,既能够保证写入性能,又能够降低数据存储装置成本,同时功耗较低。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种数据存储装置,既能够保证写入性能,又能够降低数据存储装置成本,同时功耗较低。本发明提供的数据存储装置并不以略微牺牲随机读取的性能为代价,且无需消耗较多的系统内存。
本发明还提供使用块替换表的读写方法。
图1所示的固态硬盘中普遍采用的NAND闪存管理技术,使用了异地写入的方法,即修改一个NAND页时,并不是在原来的位置上修改,而是分配一个新的NAND页,写入新数据;而把旧的NAND页标为无效,以后回收。
这样做的原因有两个:
(1)擦写NAND页的周期太长,如果不采用异地写入,数据势必要在DRAM中保存很久,因断电而造成数据丢失的几率会加大。
(2)写均衡的考虑,如果某一页的内容经常被修改,它很可能会提前损坏,因此每次修改都换地址是一个实现写均衡的好办法。
在本发明中,由于采用了MRAM做写缓存或读写缓存。所有写入的内容都可以在缓存中保留尽可能长的时间,原因(1)基本消除;况且使用写缓存或读写缓存后,相对于分配新NAND页写入新数据,修改已有数据是小概率事件,因此擦写NAND的时间对缓存造成的压力不大。
另外,本发明中写缓存管理的原则是经常被写入的NAND页会留在MRAM的写缓存中。这对实现写均衡有很大的帮助,原因(2)也基本消除。
基于以上两点,本发明不再采用异地写入的NAND管理技术。
不再采用异地写入,逻辑地址与物理地址对照表就会基本固定,因此没有必要使用消耗大量内存空间的逻辑地址与物理地址对照表。
基于以上两点,本发明不再采用异地写入的NAND管理手段,而采用原地写入的方法。没有异地写入,逻辑/物理地址的翻译就会基本固定,就没有必要使用消耗大量内存空间的逻辑/物理地址对照表。
本发明中,需要维护块替换表,用于存储记录每一个需要替换的块及其替换块,采用物理地址进行读写,不再使用逻辑/物理地址对照表,既可以节省存储空间,又可以提高读写性能。
在采用异地写入的情况下,通常一个页写到其他的地方,而同一个块内属于别的文件的其他页会暂时留在原地。同一个块内的页的组合是随时变的,逻辑物理地址的翻译只能逐页进行。在采用原地写入的方法时,写入时不得不换到新的地方是一个小概率事件,此时,完全可以整个块一起换到新的地方,采用这种方式仅需要一个很小的块替换表。
本发明中,还需要维护每个块(block)的擦除次数表,一个block有多达512个页(page),将擦写次数严重偏高的块作为需要替换的块,列入块替换表,不再使用。
因而本发明提供的固态硬盘,可以使用容量较小的MRAM,既保证写入性能,又降低固态硬盘成本,同时功耗较低;而且不以牺牲随机读取的性能和固态硬盘的寿命为代价。
本发明提供一种数据存储装置,包括主机接口、主控芯片、用于存储数据的一个或多个NAND芯片以及MRAM,NAND芯片、MRAM分别与主控芯片连接,MRAM包括写缓存或读写缓存,MRAM还包括块替换表,块替换表用于存储每一个需要替换的块及其替换块。
本发明的固态硬盘,采用块替换表,用于存储记录每一个需要替换的块及其替换块,使用物理地址进行读写,不再使用逻辑/物理地址对照表,既可以节省存储空间,又可以提高读写性能。
进一步地,NAND芯片包括常规区与备份区,常规区用于储存数据,备份区用于为常规区中需要替换的块提供替换块,在文件系统中NAND页的逻辑地址与常规区中NAND页之间建立固定对应关系。
采用划分常规区与备份区的方法,能够保证常规区对操作系统和文件系统呈现出完整连续地址,便于将逻辑地址根据固定对应关系翻译成物理地址,进一步提高读写性能。
进一步地,需要替换的块包括每一个NAND芯片的常规区中出厂时标定的坏块,以及每一个NAND芯片的常规区中在使用过程中由于读写错误产生的坏块。
进一步地,MRAM还包括擦除次数表,擦除次数表用于存储NAND芯片中每个块的擦除次数,需要替换的块包括每一个NAND芯片的常规区中擦写次数大于或等于预设擦写警戒值的块,不再使用有写入风险的块,保证数据的安全写入。
进一步地,MRAM通过DDRDRAM接口与数据存储装置的主控芯片连接,或者MRAM集成于数据存储装置的主控芯片中。
进一步地,MRAM还包括页替换表,页替换表用于存储每一个需要替换的页及其替换页。
本发明提供一种数据存储装置的使用块替换表的读方法,包括以下步骤:
(1)收到读NAND页指令;
(2)根据NAND页的逻辑地址,搜索NAND页是否在写缓存或读写缓存中,如果在写缓存或读写缓存中,从写缓存或读写缓存中读取数据,执行步骤(5);如果不在写缓存或读写缓存中,执行步骤(3);
(3)根据NAND页的逻辑地址,搜索块替换表判断NAND页所属的块是否在块替换表中,如果在块替换表中,执行步骤(4);如果不在块替换表中,执行步骤(5);
(4)从块替换表获取NAND页的物理地址,执行步骤(6);
(5)将NAND页的逻辑地址根据固定对应关系翻译成物理地址;
(6)根据NAND页的物理地址,从NAND芯片中读取NAND页数据;
(7)读操作结束。
进一步地,步骤(6)中根据NAND页的物理地址,从NAND芯片中读取NAND页数据之前还包括;搜索页替换表判断NAND页是否在页替换表中,如果在页替换表中,用其替换页的物理地址取代原来的物理地址。
本发明还提供一种固态硬盘的使用块替换表的写方法,包括以下步骤:
(1)收到写NAND页指令;
(2)根据NAND页的逻辑地址,搜索NAND页是否在写缓存或读写缓存中,如果在写缓存或读写缓存中,将写NAND页指令中的数据写入写缓存或读写缓存中相应缓存页,执行步骤(5);如果不在写缓存或读写缓存中,执行步骤(3);
(3)在写缓存或读写缓存中,分配一个空闲的缓存页,将写NAND页指令中的数据写入缓存页;
(4)如果写缓存或读写缓存的空闲的缓存页少于第一警戒值,清理写缓存或读写缓存;
(5)写操作结束。
进一步地,步骤(4)中清理写缓存或读写缓存中包括将缓存页写回NAND芯片,将缓存页写回NAND芯片包括以下步骤:
(41)更新NAND页所属的块的擦写次数;
(42)NAND页所属的块是否在块替换表中,如果在块替换表中,执行步骤(43);如果不在块替换表中,执行步骤(44);
(43)从块替换表中获取NAND页所属的块的物理地址,执行步骤(45);
(44)将NAND页所属的块的逻辑地址根据固定对应关系翻译成物理地址;
(45)根据物理地址,从NAND芯片中读取NAND页所属的块,擦除NAND芯片中NAND页所属的块;
(46)根据物理地址,找到写缓存或读写缓存中所有属于NAND页所属的块并且已经更新的页,合并新旧数据;
(47)NAND页所属的块的擦写次数是否大于或等于擦写警戒值,如果大于或等于擦写警戒值,执行步骤(48);如果小于擦写警戒值,擦除NAND页所属的块,执行步骤(50);
(48)在备份区中分配一个空闲块作为替换块,并更新块替换表;
(49)擦除替换块;
(50)将合并后的数据写入擦除的块;
(51)写操作结束。
进一步地,步骤(45)根据所述物理地址,从NAND芯片中读取所述NAND页所属的块之前,如果NAND页对应的NAND通道发生阻塞,为NAND页在备份区中找一个空闲页作为替换页,将NAND页的数据写入替换页,更新页替换表。
进一步地,步骤(46)还包括步骤:查询页替换表,如果NAND页所属的块中有被替换的NAND页,将被替换的NAND页的数据与NAND页所属的块中其他NAND页的数据合并;释放替换页且更新页替换表。
与现有技术相比,本发明提供的数据存储装置及使用块替换表的读写方法具有以下有益效果:
(1)MRAM包括写缓存或读写缓存,能够保证读写性能,又能够减少擦除NAND的次数,延长数据存储装置的寿命;
(2)由于不使用DDRDRAM,无需使用昂贵又占体积的断电保护设备,降低了固态硬盘的成本,同时降低了固态硬盘的功耗;
(3)采用块替换表,不再采用异地写入的NAND管理技术,无需保存占用大量空间的逻辑地址与物理地址对照表,不仅节省了存储空间,而且无需复杂的处理,进一步提高了读写性能;
(4)采用划分常规区与备份区的方法,能够保证常规区对操作系统和文件系统呈现出完整连续地址,便于将逻辑地址根据固定对应关系翻译成物理地址,进一步提高读写性能;
(5)采用擦除次数表,不再使用有写入风险的块,保证数据的安全写入;
(6)不以牺牲随机读取的性能为代价,且无需消耗较多的系统内存。
(7)采用块替换表会带来一个问题:每一次整块写入,数据量大,时间长。有时可能造成相应的NAND通道的阻塞。本发明使用暂时的页替换表,作为块NAND通道发生阻塞时替换表的补充,有效地改善了这个问题。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是现有技术中固态硬盘的结构示意图;
图2是现有技术中文件操作流程图;
图3是混合使用DRAM和MRAM的固态硬盘的结构示意图;
图4是使用MRAM的固态硬盘的结构示意图;
图5是本发明的一个实施例的固态硬盘的结构示意图;
图6是本发明的另一个实施例的固态硬盘的结构示意图;
图7是图6所示的固态硬盘的使用块替换表的读方法的流程图;
图8是图6所示的固态硬盘的使用块替换表的写方法的流程图;
图9是图6所示的固态硬盘的将缓存页写回NAND芯片的流程图。
具体实施方式
本发明可以用在多种数据存储装置中,例如固态硬盘(SSD)、eMMC、SD卡、microSD卡(又称为T-Flash卡),以下以固态硬盘为例进行说明。
如图5所示,本发明的一个实施例的固态硬盘,包括主机接口、主控芯片、用于存储数据的多个NAND芯片以及MRAM,NAND芯片、MRAM分别与主控芯片连接,MRAM包括写缓存或读写缓存,MRAM还包括块替换表,块替换表用于存储记录每一个需要替换的块及其替换块。
本实施例的固态硬盘,采用块替换表,用于存储记录每一个需要替换的块及其替换块,使用物理地址进行读写,不再使用逻辑/物理地址对照表,既可以节省存储空间,又可以提高读写性能。
NAND芯片包括常规区与备份区,常规区用于储存数据,备份区用于为常规区中需要替换的块提供替换块,在文件系统中NAND页的逻辑地址与常规区中NAND页之间建立固定对应关系。
采用划分常规区与备份区的方法,能够保证常规区对操作系统和文件系统呈现出完整连续地址,便于将逻辑地址根据固定对应关系翻译成物理地址,进一步提高读写性能。
需要替换的块包括每一个NAND芯片的常规区中出厂时标定的坏块,以及每一个NAND芯片的常规区中在使用过程中由于读写错误产生的坏块。
如图6所示,本发明的另一个实施例的固态硬盘,与图5所示的实施例相比,还包括擦除次数表,擦除次数表用于存储NAND芯片中每个块的擦除次数,需要替换的块包括每一个NAND芯片的常规区中擦写次数大于或等于预设擦写警戒值的块,不再使用有写入风险的块,保证数据的安全写入。
本实施例中,MRAM通过DDRDRAM接口与固态硬盘的主控芯片连接。
在另一个实施例中,MRAM集成于固态硬盘的主控芯片中,另外固态硬盘也可以包括DRAM,本发明对此不作限制。
MRAM还包括页替换表,页替换表用于存储每一个需要替换的页及其替换页。
本实施例中还提供固态硬盘的使用块替换表的读方法,如图7所示,包括以下步骤:
(1)收到读NAND页指令;
(2)根据NAND页的逻辑地址,搜索NAND页是否在写缓存或读写缓存中,如果在写缓存或读写缓存中,从写缓存或读写缓存中读取数据,执行步骤(5);如果不在写缓存或读写缓存中,执行步骤(3);
(3)根据NAND页的逻辑地址,搜索块替换表判断NAND页所属的块是否在块替换表中,如果在块替换表中,执行步骤(4);如果不在块替换表中,执行步骤(5);
(4)从块替换表获取NAND页的物理地址,执行步骤(6);
(5)将NAND页的逻辑地址根据固定对应关系翻译成物理地址;
(6)根据NAND页的物理地址,从NAND芯片中读取NAND页数据;
(7)读操作结束。
如果MRAM包括页替换表,步骤(6)中根据NAND页的物理地址从NAND芯片,中读取NAND页数据之前还包括;搜索页替换表判断NAND页是否在页替换表中,如果在页替换表中,用其替换页的物理地址取代原来的物理地址。
本实施例中还提供固态硬盘的使用块替换表的写方法,如图8所示,包括以下步骤:
(1)收到写NAND页指令;
(2)根据NAND页的逻辑地址,搜索NAND页是否在写缓存或读写缓存中,如果在写缓存或读写缓存中,将写NAND页指令中的数据写入写缓存或读写缓存中相应缓存页,执行步骤(5);如果不在写缓存或读写缓存中,执行步骤(3);
(3)在写缓存或读写缓存中,分配一个空闲的缓存页,将写NAND页指令中的数据写入缓存页;
(4)如果写缓存或读写缓存的空闲的缓存页少于第一警戒值,清理写缓存或读写缓存;
(5)写操作结束。
进一步地,步骤(4)中清理所述写缓存或所述读写缓存中包括将缓存页写回NAND芯片,如图9所示,将缓存页写回NAND芯片包括以下步骤:
(41)更新NAND页所属的块的擦写次数;
(42)NAND页所属的块是否在块替换表中,如果在块替换表中,执行步骤(43);如果不在块替换表中,执行步骤(44);
(43)从块替换表中获取NAND页所属的块的物理地址,执行步骤(45);
(44)将NAND页所属的块的逻辑地址根据固定对应关系翻译成物理地址;
(45)根据物理地址,从NAND芯片中读取NAND页所属的块,擦除NAND芯片中NAND页所属的块;
(46)根据物理地址,找到写缓存或读写缓存中所有属于NAND页所属的块并且已经更新的页,合并新旧数据;
(47)NAND页所属的块的擦写次数是否大于或等于擦写警戒值,如果大于或等于擦写警戒值,执行步骤(48);如果小于擦写警戒值,擦除NAND页所属的块,执行步骤(50);
(48)在备份区中分配一个空闲块作为替换块,并更新块替换表;
(49)擦除替换块;
(50)将合并后的数据写入擦除的块;
(51)写操作结束。
如果MRAM包括页替换表,步骤(45)根据所述物理地址,从NAND芯片中读取所述NAND页所属的块之前,如果NAND页对应的NAND通道发生阻塞,为所述NAND页在备份区中找一个空闲页作为替换页,将所述NAND页的数据写入所述替换页,更新页替换表。
步骤(46)还包括步骤:查询页替换表,如果NAND页所属的块中有被替换的NAND页,将被替换的NAND页的数据与NAND页所属的块中其他NAND页的数据合并;释放替换页且更新页替换表。
本发明还可以用在其他存储设备,例如eMMC、SD卡、microSD卡,eMMC(EmbeddedMultiMediaCard)为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格,eMMC是单个闪存芯片、主控芯片组成,并提供标准主机接口。SD卡(SecureDigitalMemoryCard)是一种基于半导体闪存工艺的存储卡,是基于MultimediaCard(MMC)格式上发展而来,MicroSDCard,原名Trans-flashCard(TF卡),2004年正式更名为MicroSDCard,由SanDisk(闪迪)公司发明。
本发明提供的数据存储装置及使用块替换表的读写方法,MRAM包括写缓存或读写缓存,能够保证读写性能,又能够减少擦除NAND的次数,延长数据存储装置的寿命;由于不使用DDRDRAM,无需使用昂贵又占体积的断电保护设备,降低了固态硬盘的成本,同时降低了固态硬盘的功耗;采用块替换表,不再采用异地写入的NAND管理技术,无需保存占用大量空间的逻辑地址与物理地址对照表,不仅节省了存储空间,而且无需复杂的处理,进一步提高了读写性能;采用划分常规区与备份区的方法,能够保证常规区对操作系统和文件系统呈现出完整连续地址,便于将逻辑地址根据固定对应关系翻译成物理地址,进一步提高读写性能;采用擦除次数表,不再使用有写入风险的块,保证数据的安全写入;不以牺牲随机读取的性能为代价,且无需消耗较多的系统内存。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (12)
1.一种数据存储装置,包括主机接口、主控芯片、用于存储数据的一个或多个NAND芯片以及MRAM,所述NAND芯片、所述MRAM分别与所述主控芯片连接,所述MRAM包括写缓存或读写缓存,其特征在于,所述MRAM还包括块替换表,所述块替换表用于存储每一个需要替换的块及其替换块。
2.如权利要求1所述的数据存储装置,其特征在于,所述NAND芯片包括常规区与备份区,所述常规区用于储存数据,所述备份区用于为常规区中需要替换的块提供替换块,在文件系统中NAND页的逻辑地址与常规区中NAND页之间建立固定对应关系。
3.如权利要求1所述的数据存储装置,其特征在于,所述需要替换的块包括每一个所述NAND芯片的常规区中出厂时标定的坏块,以及每一个所述NAND芯片的常规区中在使用过程中由于读写错误产生的坏块。
4.如权利要求1所述的数据存储装置,其特征在于,所述MRAM还包括擦除次数表,擦除次数表用于存储所述NAND芯片中每个块的擦除次数,所述需要替换的块包括每一个所述NAND芯片的常规区中擦写次数大于或等于预设擦写警戒值的块。
5.如权利要求1所述的数据存储装置,其特征在于,所述MRAM通过DDRDRAM接口与所述数据存储装置的主控芯片连接,或者所述MRAM集成于所述数据存储装置的主控芯片中。
6.如权利要求1所述的数据存储装置,其特征在于,所述MRAM还包括页替换表,所述页替换表用于存储每一个需要替换的页及其替换页。
7.一种如权利要求1-6所述的数据存储装置的使用块替换表的读方法,包括以下步骤:
(1)收到读NAND页指令;
(2)根据所述NAND页的逻辑地址,搜索所述NAND页是否在所述写缓存或读写缓存中,如果在所述写缓存或读写缓存中,从所述写缓存或读写缓存中读取数据,执行步骤(5);如果不在所述写缓存或读写缓存中,执行步骤(3);
(3)根据所述NAND页的逻辑地址,搜索块替换表判断所述NAND页所属的块是否在所述块替换表中,如果在所述块替换表中,执行步骤(4);如果不在所述块替换表中,执行步骤(5);
(4)从所述块替换表获取所述NAND页的物理地址,执行步骤(6);
(5)将所述NAND页的逻辑地址根据固定对应关系翻译成物理地址;
(6)根据所述NAND页的物理地址,从NAND芯片中读取所述NAND页数据;
(7)读操作结束。
8.如权利要求7所述的使用块替换表的读方法,其特征在于,步骤(6)中根据所述NAND页的物理地址,从NAND芯片中读取所述NAND页数据之前还包括;搜索页替换表判断所述NAND页是否在所述页替换表中,如果在所述页替换表中,用其替换页的物理地址取代原来的物理地址。
9.一种如权利要求1-6所述的数据存储装置的使用块替换表的写方法,包括以下步骤:
(1)收到写NAND页指令;
(2)根据所述NAND页的逻辑地址,搜索所述NAND页是否在所述写缓存或读写缓存中,如果在所述写缓存或读写缓存中,将所述写NAND页指令中的数据写入所述写缓存或读写缓存中相应缓存页,执行步骤(5);如果不在所述写缓存或读写缓存中,执行步骤(3);
(3)在所述写缓存或读写缓存中,分配一个空闲的缓存页,将所述写NAND页指令中的数据写入所述缓存页;
(4)如果所述写缓存或所述读写缓存的空闲的缓存页少于第一警戒值,清理所述写缓存或读写缓存;
(5)写操作结束。
10.如权利要求9所述的使用块替换表的写方法,其特征在于,步骤(4)中清理所述写缓存或所述读写缓存中包括将缓存页写回NAND芯片,将缓存页写回NAND芯片包括以下步骤:
(41)更新所述NAND页所属的块的擦写次数;
(42)所述NAND页所属的块是否在所述块替换表中,如果在所述块替换表中,执行步骤(43);如果不在所述块替换表中,执行步骤(44);
(43)从块替换表中获取所述NAND页所属的块的物理地址,执行步骤(45);
(44)将所述NAND页所属的块的逻辑地址根据固定对应关系翻译成物理地址;
(45)根据所述物理地址,从NAND芯片中读取所述NAND页所属的块,擦除NAND芯片中所述NAND页所属的块;
(46)根据物理地址,找到所述写缓存或读写缓存中所有属于所述NAND页所属的块并且已经更新的页,合并新旧数据;
(47)所述NAND页所属的块的擦写次数是否大于或等于擦写警戒值,如果大于或等于擦写警戒值,执行步骤(48);如果小于擦写警戒值,擦除所述NAND页所属的块,执行步骤(50);
(48)在备份区中分配一个空闲块作为替换块,并更新块替换表;
(49)擦除所述替换块;
(50)将合并后的数据写入擦除的块;
(51)写操作结束。
11.如权利要求9所述的使用块替换表的写方法,其特征在于,步骤((45)根据所述物理地址,从NAND芯片中读取所述NAND页所属的块之前,如果NAND页对应的NAND通道发生阻塞,为所述NAND页在备份区中找一个空闲页作为替换页,将所述NAND页的数据写入所述替换页,更新页替换表。
12.如权利要求10或11所述的使用块替换表的写方法,其特征在于,步骤(46)还包括步骤:查询所述页替换表,如果所述NAND页所属的块中有被替换的NAND页,将被替换的NAND页的数据与所述NAND页所属的块中其他NAND页的数据合并;释放替换页且更新页替换表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510315389.3A CN105630705B (zh) | 2015-06-10 | 2015-06-10 | 数据存储装置及使用块替换表的读写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510315389.3A CN105630705B (zh) | 2015-06-10 | 2015-06-10 | 数据存储装置及使用块替换表的读写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630705A true CN105630705A (zh) | 2016-06-01 |
CN105630705B CN105630705B (zh) | 2019-09-17 |
Family
ID=56045673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510315389.3A Active CN105630705B (zh) | 2015-06-10 | 2015-06-10 | 数据存储装置及使用块替换表的读写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630705B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201346A (zh) * | 2016-06-30 | 2016-12-07 | 联想(北京)有限公司 | 一种数据处理方法及存储设备 |
CN106909519A (zh) * | 2017-02-24 | 2017-06-30 | 济南浪潮高新科技投资发展有限公司 | 一种基于FPGA的Nand Flash存储映射系统 |
CN107544866A (zh) * | 2016-06-29 | 2018-01-05 | 北京忆恒创源科技有限公司 | 一种日志更新方法与装置 |
CN108469946A (zh) * | 2018-03-31 | 2018-08-31 | 北京联想核芯科技有限公司 | 一种用于提高ssd写入效率的组块方法和装置 |
CN110275678A (zh) * | 2019-05-30 | 2019-09-24 | 中电海康集团有限公司 | 一种基于stt-mram的固态存储器件随机访问性能提升方法 |
CN110309084A (zh) * | 2019-07-01 | 2019-10-08 | 浙江大华技术股份有限公司 | 一种固态硬盘数据的掉电保护方法及设备 |
CN110633056A (zh) * | 2019-09-20 | 2019-12-31 | 恒宝股份有限公司 | 在操作系统层面的Flash芯片的页面管理方法及存储设备 |
CN110674056A (zh) * | 2019-09-02 | 2020-01-10 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
CN110764691A (zh) * | 2018-07-26 | 2020-02-07 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN112885402A (zh) * | 2020-12-29 | 2021-06-01 | 北京浪潮数据技术有限公司 | 固态硬盘坏块查询方法、装置及计算机可读存储介质 |
CN114428590A (zh) * | 2022-01-27 | 2022-05-03 | 新拓尼克科技(成都)有限公司 | 一种大幅度增加固态硬盘使用寿命的存储方案 |
CN115359830A (zh) * | 2022-07-12 | 2022-11-18 | 浙江大学 | 表项,scm介质存储模块的读方法写方法,以及存储控制器 |
CN115543185A (zh) * | 2022-03-30 | 2022-12-30 | 中国移动通信集团四川有限公司 | 数据存储管理方法及系统、装置、计算机可读存储介质 |
CN113934371B (zh) * | 2021-10-08 | 2024-04-12 | 福建星网视易信息系统有限公司 | 一种存储器及其数据管理方法和计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320592A (zh) * | 2008-07-08 | 2008-12-10 | 北京时代民芯科技有限公司 | 一种大容量flash固存控制器 |
CN102317924A (zh) * | 2009-02-11 | 2012-01-11 | 韩商英得联股份有限公司 | 固态硬盘系统中缓冲器高缓的编程方法和装置 |
CN103064795A (zh) * | 2012-12-31 | 2013-04-24 | 华为技术有限公司 | 一种存储设备的控制方法及相关装置 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
US20150081991A1 (en) * | 2012-05-25 | 2015-03-19 | Fujitsu Limited | Information processing apparatus and access control method |
-
2015
- 2015-06-10 CN CN201510315389.3A patent/CN105630705B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320592A (zh) * | 2008-07-08 | 2008-12-10 | 北京时代民芯科技有限公司 | 一种大容量flash固存控制器 |
CN102317924A (zh) * | 2009-02-11 | 2012-01-11 | 韩商英得联股份有限公司 | 固态硬盘系统中缓冲器高缓的编程方法和装置 |
US20150081991A1 (en) * | 2012-05-25 | 2015-03-19 | Fujitsu Limited | Information processing apparatus and access control method |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103064795A (zh) * | 2012-12-31 | 2013-04-24 | 华为技术有限公司 | 一种存储设备的控制方法及相关装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544866A (zh) * | 2016-06-29 | 2018-01-05 | 北京忆恒创源科技有限公司 | 一种日志更新方法与装置 |
CN107544866B (zh) * | 2016-06-29 | 2021-01-05 | 北京忆恒创源科技有限公司 | 一种日志更新方法与装置 |
CN106201346B (zh) * | 2016-06-30 | 2019-06-25 | 联想(北京)有限公司 | 一种数据处理方法及存储设备 |
CN106201346A (zh) * | 2016-06-30 | 2016-12-07 | 联想(北京)有限公司 | 一种数据处理方法及存储设备 |
CN106909519A (zh) * | 2017-02-24 | 2017-06-30 | 济南浪潮高新科技投资发展有限公司 | 一种基于FPGA的Nand Flash存储映射系统 |
CN108469946B (zh) * | 2018-03-31 | 2021-04-20 | 深圳忆联信息系统有限公司 | 一种用于提高ssd写入效率的组块方法和装置 |
CN108469946A (zh) * | 2018-03-31 | 2018-08-31 | 北京联想核芯科技有限公司 | 一种用于提高ssd写入效率的组块方法和装置 |
CN110764691B (zh) * | 2018-07-26 | 2023-03-03 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN110764691A (zh) * | 2018-07-26 | 2020-02-07 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN110275678A (zh) * | 2019-05-30 | 2019-09-24 | 中电海康集团有限公司 | 一种基于stt-mram的固态存储器件随机访问性能提升方法 |
CN110275678B (zh) * | 2019-05-30 | 2022-11-11 | 中电海康集团有限公司 | 一种基于stt-mram的固态存储器件随机访问性能提升方法 |
CN110309084A (zh) * | 2019-07-01 | 2019-10-08 | 浙江大华技术股份有限公司 | 一种固态硬盘数据的掉电保护方法及设备 |
CN110674056B (zh) * | 2019-09-02 | 2021-11-23 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
CN110674056A (zh) * | 2019-09-02 | 2020-01-10 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
CN110633056A (zh) * | 2019-09-20 | 2019-12-31 | 恒宝股份有限公司 | 在操作系统层面的Flash芯片的页面管理方法及存储设备 |
CN110633056B (zh) * | 2019-09-20 | 2023-05-26 | 恒宝股份有限公司 | 在操作系统层面的Flash芯片的页面管理方法及存储设备 |
CN112885402A (zh) * | 2020-12-29 | 2021-06-01 | 北京浪潮数据技术有限公司 | 固态硬盘坏块查询方法、装置及计算机可读存储介质 |
CN112885402B (zh) * | 2020-12-29 | 2023-12-22 | 北京浪潮数据技术有限公司 | 固态硬盘坏块查询方法、装置及计算机可读存储介质 |
CN113934371B (zh) * | 2021-10-08 | 2024-04-12 | 福建星网视易信息系统有限公司 | 一种存储器及其数据管理方法和计算机存储介质 |
CN114428590A (zh) * | 2022-01-27 | 2022-05-03 | 新拓尼克科技(成都)有限公司 | 一种大幅度增加固态硬盘使用寿命的存储方案 |
CN115543185A (zh) * | 2022-03-30 | 2022-12-30 | 中国移动通信集团四川有限公司 | 数据存储管理方法及系统、装置、计算机可读存储介质 |
CN115543185B (zh) * | 2022-03-30 | 2023-12-19 | 中国移动通信集团四川有限公司 | 数据存储管理方法及系统、装置、计算机可读存储介质 |
CN115359830A (zh) * | 2022-07-12 | 2022-11-18 | 浙江大学 | 表项,scm介质存储模块的读方法写方法,以及存储控制器 |
CN115359830B (zh) * | 2022-07-12 | 2024-03-08 | 浙江大学 | Scm介质存储模块的读方法写方法,以及存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN105630705B (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630705A (zh) | 数据存储装置及使用块替换表的读写方法 | |
CN101477492B (zh) | 一种用于固态硬盘的循环重写闪存均衡方法 | |
CN107624179B (zh) | 高效固态驱动器数据压缩方案和布局 | |
US8612666B2 (en) | Method and system for managing a NAND flash memory by paging segments of a logical to physical address map to a non-volatile memory | |
CN105630701A (zh) | 数据存储装置及使用不可用页表或不可用块表的读写方法 | |
US8166258B2 (en) | Skip operations for solid state disks | |
CN105630405B (zh) | 一种存储系统及采用该存储系统的读写方法 | |
CN105630691A (zh) | 一种使用mram的固态硬盘及使用物理地址的读写方法 | |
CN105718530A (zh) | 文件存储系统及其文件存储控制方法 | |
CN105630700A (zh) | 一种具有二级缓存结构的存储系统及读写方法 | |
CN100533408C (zh) | 一种闪存的安全读写方法 | |
CN105608016B (zh) | Dram与mram结合的固态硬盘及使用mram的存储卡 | |
US10754785B2 (en) | Checkpointing for DRAM-less SSD | |
CN105630408A (zh) | 一种集成mram的固态硬盘控制芯片及固态硬盘 | |
CN104166634A (zh) | 一种固态盘系统中的映射表缓存管理方法 | |
CN104461964A (zh) | 一种存储装置 | |
CN101425041A (zh) | 在nand flash存储器上建立fat文件系统的优化方法 | |
CN104346287A (zh) | 在固态介质中使用多级别映射的修整机制 | |
CN105630707A (zh) | 具有断电保护功能的存储设备、断电保护方法及计算系统 | |
CN105718206A (zh) | 能够感知raid的闪存转换层及其实现方法 | |
CN103514095A (zh) | 一种数据库写入ssd 的方法和系统 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN105630704A (zh) | 存储装置及使用基于块的逻辑物理地址对照表的读写方法 | |
CN105632534A (zh) | 一种混合使用dram和mram的固态硬盘 | |
CN105630404A (zh) | 一种使用mram的固态硬盘及读写方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |