存储设备和存储设备的回收方法与流程

文档序号:17718610发布日期:2019-05-22 01:59阅读:211来源:国知局
存储设备和存储设备的回收方法与流程

本申请要求于2017年11月13日在韩国知识产权局递交的韩国专利申请no.10-2017-0150280的优先权,其公开内容通过引用全部合并于此。

本发明构思涉及存储设备和存储设备的回收方法。



背景技术:

使用非易失性存储器的系统中不能覆盖数据。替代地,需要先删除数据块,然后才能用于存储新数据。可以将新数据写入新块而不立即删除旧块,从而保留旧块的有效数据。然而,在写入新数据和保留旧块的有效数据时会产生大量开销。

为了维持特定物理地址处数据的可靠性,存储器控制器可以将特定物理地址处的有效数据传送到另一物理地址。这被称为“回收”(reclaim)。但是,回收执行的越多,存储器的读取性能变得越差。



技术实现要素:

本发明构思的至少一个实施例提供了一种具有改进的数据可靠性和降低的回收频率的存储设备。

本发明构思的至少一个实施例还提供了一种存储设备的回收方法,以在降低回收频率的同时提高数据可靠性。

根据本发明构思的示例性实施例,提供了一种存储设备,其包括具有第一块的非易失性存储器和与非易失性存储器交换数据的存储器控制器。存储器控制器包括:第一处理器,将第一块划分为第一域和第二域;第二处理器,通过确定是否要对第一域和第二域中的每一个执行回收来产生回收信号;以及第三处理器,根据回收信号回收第一域和第二域中的每一个并且合并第一域和第二域。

根据本发明构思的示例性实施例,提供了一种存储设备,其包括具有第一数据块、第一空闲块和第二空闲块的非易失性存储器以及与非易失性存储器交换数据的存储器控制器。存储器控制器将第一块划分为分别具有第一数据和第二数据的第一域和第二域,将第一数据传送到第一空闲块,将第二数据传送到第二空闲块,并且通过将第一数据传送到第二空闲块来合并第一数据和第二数据。

根据本发明构思的示例性实施例,提供了一种存储设备的回收方法。所述方法包括:将第一块划分为分别具有第一数据和第二数据的第一域和第二域;通过确定是否要回收第一域和第二域中的每一个来产生回收信号;根据回收信号回收第一域,根据回收信号回收第二域,并且合并第一域和第二域。

根据本发明构思的示例性实施例,存储设备包括非易失性存储器和存储器控制器。存储器控制器包括具有多个页的第一块、第二块和第三块。存储器控制器被配置为确定页中是否包括具有低于阈值的数据可靠性的第一页,将第一页分配到第一域,将剩余页分配到第二域,并且在第一时段期间对第一页执行回收,在第一时段之后的第二时段期间对剩余页执行回收。回收第一页包括将第一页从第一块复制到第二块。回收剩余页包括将第一块的剩余页复制到第三块。

附图说明

根据以下结合附图对示例性实施例的描述,本发明构思将变得显而易见并且更容易理解,在附图中:

图1是根据本发明构思的示例性实施例的存储设备的框图;

图2是根据图1的实施例的存储设备的框图;

图3是根据图1的实施例的存储设备的读取回收模块的详细框图;

图4是示出了根据图1的实施例的存储设备的块的划分的图;

图5是示出了根据图1的实施例的存储设备的回收操作的概念图;

图6至图10是示出了根据图1的实施例的存储设备的回收操作的步骤的图;

图11是存储设备的顺序读取性能相对于回收块数量的变化的曲线图;

图12是根据图1的实施例的存储设备的顺序读取性能与时间的关系的曲线图;

图13是示出了根据本发明构思的示例性实施例的存储设备的块的划分的图;

图14是示出了根据本发明构思的示例性实施例的存储设备的回收操作的时间图;

图15是示出了根据本发明构思的示例性实施例的存储设备的回收操作的时间图;以及

图16是示出了根据本发明构思的示例性实施例的存储设备的回收操作的流程图。

具体实施方式

现在,将参考图1至图12来描述根据本发明构思的示例性实施例的存储设备。

图1是根据本发明构思的示例性实施例的存储设备1000的框图。图2是根据图1的实施例的存储设备1000的框图。图3是根据图1的实施例的存储设备1000的读取回收模块130的详细框图。图4是示出了根据图1的实施例的存储设备1000的块的划分的图。图5是示出了根据图1的实施例的存储设备1000的回收操作的概念图。图6至图10是示出了根据图1的实施例的存储设备1000的回收操作的步骤的图。图11是存储设备的顺序读取性能相对于回收块数量的变化的曲线图。图12是根据图1的实施例的存储设备1000的顺序读取性能与时间的关系的曲线图。

在一个实施例中,读取回收模块130由微处理器实现,该微处理器包括实现域划分器131的第一处理器或逻辑电路、实现回收确定器132的第二处理器或逻辑电路、以及实现回收执行器133的第三处理器或逻辑电路。在另一实施例中,读取回收模块130是由处理器110执行的软件,其包括实现域划分器131的第一功能、实现回收确定器132的第二功能、以及实现回收执行器133的第三功能。在另一实施例中,读取回收模块130由微处理器实现,该微处理器实现域划分器131、回收确定器132和回收执行器133的所有功能。

参考图1和图2,存储设备1000包括存储器控制器100和非易失性存储器200。

非易失性存储器200可以是例如闪存、相变随机存取存储器(pram)、铁电ram(fram)或磁ram(mram)。

可以由包括至少一个非易失性存储器件和至少一个易失性存储器件的混合在内的存储器代替非易失性存储器200。非易失性存储器200可以包括至少两种不同类型的非易失性存储器件的混合。

在一个实施例中,非易失性存储器200由单个闪存芯片实现。在备选实施例中,非易失性存储器200由多个闪存芯片实现。

存储器控制器100包括处理器110、错误检查和纠正(ecc)模块120、读取回收模块130、ram140、主机接口150、存储器接口160和总线170。在一个实施例中,ecc模块120由电路(例如,ecc电路)实现。

在一个实施例中,处理器110经由总线170电连接到ecc模块120、读取回收模块130、ram140、主机接口150和存储器接口160。

总线170是用于在存储器控制器100的元件之间发送信息的传输路径。例如,总线170可以被实现为外围组件互连(pci)总线、pci快速(pcie)总线、高级微控制器总线架构(amba)总线、高级高性能(ahb)总线、高级可扩展接口(axi)总线中的至少一个,或者被实现为这些总线的任意组合。

处理器110控制存储设备1000的整体操作。具体地,处理器110对从主机接收的命令进行解密,并且控制存储设备1000根据经解密的命令来执行操作。

在读取操作期间,处理器110向非易失性存储器200提供读取命令和读取地址。读取地址是非易失性存储器200中响应于读取命令来读取数据的位置。在写入操作期间,处理器110向非易失性存储器200提供写入命令、写入地址和码字。写入地址是非易失性存储器200中响应于写入命令来写入码字的位置。在一个实施例中,码字是编码或加密的。在一个实施例中,处理器110通过使用存储在ram140中的元数据将从主机接收的逻辑地址转换为物理页地址。读取地址或写入地址可以包括逻辑地址。

ram140临时存储从主机发送的数据和由处理器110产生的数据,或者临时存储从非易失性存储器200读取的数据。ram140还可以存储从非易失性存储器200读取的元数据,并且存储编码或译码所需的信息。ram140可以由动态随机存取存储器(dram)或静态随机存取存储器(sram)实现。

元数据是由存储设备1000产生的信息,以便管理非易失性存储器200。作为管理信息的元数据包括用于将逻辑地址转换为非易失性存储器200的物理页地址的映射表信息。在示例中,元数据包括逐页地执行地址映射所需的页映射表信息。此外,元数据可以包括管理非易失性存储器200的存储空间所需的信息。

主机接口150具有与连接到非易失性存储器200的主机的数据交换协议,并且互连非易失性存储器200和主机。主机接口150可以实现为但不限于:高级技术连接(ata)接口、串行高级技术连接(sata)接口、并行高级技术连接(pata)接口、通用串行总线(usb)或串行连接小型计算机系统(sas)接口、小型计算机系统接口(scsi)、嵌入式多媒体卡(emmc)接口、unix文件系统(ufs)接口、外围组件互连快速(pcie)接口、或非易失性存储器快速(nvme)。具体地,主机接口150在处理器110的控制下与主机交换命令、地址和数据。

存储器接口160电连接到非易失性存储器200。存储器接口160可以被配置为支持与nand闪存芯片或nor闪存芯片的接口连接。存储器接口160可以被配置为通过多个通道选择性地执行软件和硬件交织操作。

在示例性实施例中,然后向存储设备1000供电,处理器110控制存储设备1000从非易失性存储器200读取编码或译码所需的元数据和信息,并控制存储设备1000将读取到的元数据和信息存储在ram140中。响应于导致存储在非易失性存储器200中的元数据发生改变的操作,处理器110控制存储设备1000更新存储在ram140中的元数据。此外,处理器110控制存储设备1000在存储设备1000断电之前将存储在ram140中的元数据写入非易失性存储器200。

在写入操作中,处理器110控制存储器控制器100根据编码方法对从主机接收的信息字进行编码。在读取操作中,处理器110控制存储器控制器100根据译码方法对从非易失性存储器200读取的数据进行译码。

在一个实施例中,ecc模块120产生针对要存储在非易失性存储器200中的数据的纠错码。ecc模块120可以基于纠错码检测从非易失性存储器200读取的数据中的错误并纠正检测到的错误。

在示例性实施例中,读取回收模块130根据极化码译码方法对从非易失性存储器200读取的数据进行译码,这将在下面更详细地描述。

存储设备1000的非易失性存储器200可以包括但不限于多个闪存芯片201和203。

存储设备1000可以具有n(n是自然数)个通道ch1至chn以及针对通道ch1至chn中的每一个的多个闪存芯片201或203。可以不同地设置针对通道ch1至chn中的每一个的闪存芯片201或203的数量。

参考图2,闪存芯片201和203中的每一个可以包括多个块blk1至blkz。此外,块blk1至blkz中的每一个可以包括多个页:页1至页m。

参见图2和图3,读取回收模块130包括域划分器131、回收确定器132和回收执行器133。

域划分器131从非易失性存储器200接收第一信息。域划分器131通过使用第一信息将非易失性存储器200的块blk1至blkz中的每一个划分为两个域。例如,划分可以导致第一块blk1的一些页是第一域的一部分而其余页是第二域的一部分。

在一个实施例中,两个域包括数据可靠性低的域和数据可靠性不低的域。也就是说,域划分器131将数据可靠性低的域与数据可靠性不低的域区分开。例如,两个域中的一个域的可靠性低于阈值,而两个域中的另一个域的可靠性>=阈值。

第一信息可以包括非易失性存储器200的页(页1至页m)中的每一个的物理特性、读取计数、写入后经过的时间和ecc信息中的至少一个。

具体地,由于非易失性存储器200的页(页1至页m)通过单独的字线位于不同的位置,因此它们的特性在不同的位置可能不同。因此,域划分器131可以从非易失性存储器200接收关于页(页1至页m)中的每一个的位置的信息。

此外,第一信息可以包括指示已经对特定页执行了多少次读取操作的读取计数。读取计数可以用于检查写入数据的可靠性,因为写入数据的可靠性随着读取计数的增加而降低。

第一信息可以包括关于自数据被写入特定页以来经过了多少时间的信息。即使在将数据写入非易失性存储器200之后没有执行特定的读取操作,存储在非易失性存储器200中的数据也可能由于电荷的移动而自然地丢失。因此,在本发明构思的实施例中,域划分器131检查自执行写入操作以来已经过了多少时间,并且在将块划分为域时参考该信息。在示例性实施例中,当从数据写入给定页起所经过的时间超过阈值时间时,该给定页成为数据可靠性低的域的一部分。

第一信息可以包括ecc信息。ecc信息可以包括在特定区域中有错误的单元的比例。也就是说,基于特定区域的ecc信息,域划分器131可以确定哪个部分具有低数据可靠性。例如,如果具有错误的页平均有一个错误,正在检查的当前页具有三个或更多个错误,并且比例为3,则当前页可以被认为是数据可靠性低的域的一部分。

域划分器131可以通过组合包括在第一信息中的各种信息来计算非易失性存储器200的每个页的第一分数。第一分数可以是用于确定数据可靠性的标准。

现在,将参考图3和图4来描述域划分器131的块划分操作。在图3和4中,为了方便起见,将仅描述第一块blk1。

第一块blk1被示为包括第一页至第六页:页1至页6。然而,页的数量不限于6。也就是说,页的数量可以少于6或多于6。

域划分器131基于第一信息将第一块blk1划分为正常域rn和弱域rw。例如,第一块blk1的一些页被分配给正常域rn,而其余页被分配给弱域rw。

在一个实施例中,正常域rn是写入数据的可靠性不低的域,并且弱域rw是写入数据的可靠性低的域。在一个实施例中,域划分器131基于第一信息计算针对第一页至第六页(页1至页6)中的每一个的第一分数,并且将第一分数与预设第一参考分数进行比较以定义正常域rn和弱域rw。例如,如果针对给定页的第一分数低于预设第一参考分数,则给定页可以被分配到正常域rn,否则给定页可以被分配到弱域rw。

在图4中,第一页至第四页(页1至页4)属于正常域rn,而第五页和第六页(页5和页6)属于弱域rw。

返回参考图2至图4,域划分器131可以向非易失性存储器200发送包括关于块blk1至blkz中的每一个的域的信息的域信息。此外,域划分器131可以向回收确定器132和回收执行器133发送域信息。

回收确定器132可以从非易失性存储器200接收第二信息。在示例性实施例中,回收确定器132基于第二信息确定将回收非易失性存储器200的哪个部分。

可以逐块地执行回收。也就是说,当需要回收块中的多个页中的任何一个页时,回收整个块。

在本发明构思的示例性实施例中,“回收”表示将区域(例如,块)中的有效数据移动到另一区域(例如,新的空闲块)。回收可以防止降低有效数据的可靠性。

可以由回收确定器132确定是否执行回收。在一个实施例中,回收确定器132通过使用第二信息来计算第二分数。第二分数可以是需要执行回收的度量。

第二信息可以包括ecc信息、分散信息、结构特性、输入/输出流和外部压力中的至少一个。

具体地,第二信息可以包括ecc信息,即,关于在非易失性存储器200的特定区域中具有错误的单元的比例的信息。具有许多错误的页或块可能更需要数据回收。

第二信息可以包括分散信息。在一个实施例中,分散信息表示根据非易失性存储器200的每个单元的电压的单元计数。当重复每个单元的操作时,应当调整读取电平。这里,回收需要可以根据读取电平的调整程度而变化。也就是说,应当更多地调整读取电平的单元或页可能具有更高的回收需要。例如,可能需要回收在给定时段期间读取电平被调整的次数大于特定阈值的页。

第二信息可以包括非易失性存储器200的结构特性信息。也就是说,第二信息可以包括与非易失性存储器200的页(页1至页m)中的每一个相对应的字线的位置信息。换言之,在3d闪存中,靠近地选择线(gsl)的单元的阈值电压和靠近串选择线(ssl)的单元的阈值电压可以不同。这可能是因为3d闪存的单元是串联连接的。也就是说,由于非易失性存储器200的这种结构特性,位于特定位置的页可能具有更高的回收需要。例如,页或单元的阈值电压可用于确定其位置,并且该位置可用于确定需要回收的页或单元。

第二信息还可以包括关于输入/输出流的信息,例如读取计数和写入时间。由于写入页的数据的可靠性根据输入/输出流而改变,因此回收需要也可能改变。

第二信息还可以包括关于外部压力的信息。例如,第二信息可以包括关于单元温度的信息。由于数据的可靠性根据温度而变化,因此回收需要也可能改变。例如,如果给定页的单元温度大于阈值温度,则可能需要回收给定页。

第二信息可以类似于第一信息。然而,第二信息不必与第一信息完全相同。第一信息可以是为了计算第一分数而优化的信息,并且第二信息可以是为了计算第二分数而优化的信息。因此,可以根据域划分器131和回收确定器132所需的格式来产生第一信息和第二信息。

回收确定器132可以通过综合考虑第二信息中包括的信息来计算第二分数。回收确定器132可以通过将第二分数与预设第二参考分数进行比较来确定是否执行回收。

基本上,回收确定器132确定是否针对块blk1至blkz中的每一个执行回收。然而,回收确定器132可以通过参考从域划分器131接收的域信息来确定是否针对正常域rn和弱域rw中的每一个执行回收。

在一个实施例中,回收确定器132确定是否针对正常域rn和弱域rw中的每一个执行回收,并且当需要回收时,向回收执行器133发送回收信号。

回收执行器133接收回收信号和域信息。回收执行器133可以通过使用回收信号和域信息来执行对非易失性存储器200的回收。

具体地,参考图3和图5,假设第一块blk1具有写入数据,并且第二块blk2和第三块blk3是空闲块。

第一块blk1被域划分器131划分为正常域rn和弱域rw。第一数据d1存储在正常域rn中,并且第二数据d2存储在弱域rw中。

当回收确定器132确定要回收弱域rw时,回收执行器133将第二数据d2传送到第二块blk2。在一个实施例中,回收信号识别块号以及要回收相应块的弱域和/或正常域中的哪个域。例如,由于这里回收确定器132确定要回收第一块的弱域rw,因此回收信号识别块号1和弱域rw。由于第二块blk2最初是空闲块,因此第二块blk2中除了存在第二数据d2的域之外的域变为第一空闲域rf1((1)回收)。

接下来,当回收确定器132确定要回收正常域rn时,回收执行器133将第一数据d1传送到第三块blk3((2)回收)。在一个实施例中,在已经执行回收弱域rw之后,回收确定器132确定是否要回收正常域rn。

当第二数据d2从第二块blk2传送到第一数据d1所在的第三块blk3时,第一数据d1和第二数据d2合并在一起(第(3)合并)。

由于类似地计算第一分数和第二分数,尽管通常在正常域rn之前回收弱域rw,但是在示例性实施例中,在弱域rw之前回收正常域rn。这是可能的,因为第一分数和第二分数并不完全相同。即使在这种情况下,首先回收的域中的数据和稍后回收的域中的数据也可以被传送到不同的空闲块。然后,传送到两个空闲块的数据可以合并为一个空闲块。

因此,可以防止第一数据d1和第二数据d2的碎片化。换言之,如果连续数据存在于不同位置,则读取操作中可能出现问题。因此,可以将连续数据合并到一个块中以防止读取操作期间的问题。

在本发明构思的示例性实施例中,当将第一数据d1和第二数据d2合并到第三块blk3中时,回收执行器133对第一数据d1和第二数据d2进行重新排序。也就是说,第三块blk3中第一数据d1和第二数据d2的排列与第一块blk1中第一数据d1和第二数据d2的排列不同。由于先前的回收,也可能发生重新排序。例如,如图5所示,正常域rn的回收将数据从第一块blk1的第一位置复制到第三块blk的第二位置,该第三块blk的第二位置高于相应的第一位置,从而在较低位置留出针对弱域rw的数据的空间,导致重新排序。

这是因为如果第一数据d1和第二数据d2的排列在第一块blk1和第三块blk3中相同,则可以在相同方向上区分由非易失性存储器200的物理和结构特性确定的第一和第二分数。换言之,具有相对高可靠性的正常域rn和具有相对低可靠性的弱域rw之间的差异可能增加。为了防止这个问题,在示例性实施例中,回收执行器133使第三块blk3中的第一数据d1和第二数据d2的排列与第一块blk1中的第一数据d1和第二数据d2的排列不同。

将参考图3和图6至图10来更详细地描述回收操作。

参考图3和图6,假设第一块blk1具有写入数据,并且第二块blk2和第三块blk3是空闲块。

域划分器131将第一块blk1划分为正常域rn和弱域rw。第一数据d1位于正常域rn中,并且第二数据d2可以位于弱域rw中。

参考图3和图7,回收确定器132确定它将回收弱域rw,并且回收执行器133将第二数据d2传送到第二块blk2。此时,第二数据d2被复制到第二块blk2,并且第一块blk1的弱域rw中的第二数据d2变为第二无效数据d2i。

第二无效数据d2i可以是呈现为无效的第二数据d2。术语“无效”可以表示数据未被完全移除但是不能被读取的状态。例如,可以更新包括映射到第一块blk1的弱域的物理地址的逻辑地址的映射表,以便将逻辑地址映射到存储第二数据d2的第二块blk2的物理地址。由于逻辑地址不再映射到第一块blk1的弱域rw的物理地址,因此不能读取第二数据d2i。

第二块blk2包括除第二数据d2所在的域之外的第一空闲域rf1。第三块blk3是还没有任何数据的空闲块。

参考图3和图8,回收确定器132确定它将回收正常域rn,并且回收执行器133将第一数据d1传送到第三块blk3。在一个实施例中,回收确定器132在已将第二数据d2复制到第二块blk2之后执行该确定。此时,第一数据d1被复制到第三块blk3,并且第一块blk1的正常域rn中的第一数据d1变为第一无效数据d1i。第一无效数据d1i可以是呈现为无效的第一数据d1。例如,可以更新包括映射到第一块blk1的正常域rn的物理地址的逻辑地址的映射表,以便将逻辑地址映射到存储第一数据d1的第三块blk3的物理地址。由于逻辑地址不再映射到第一块blk1的正常域rn的物理地址,因此不能读取第一数据d1i。

第三块blk3包括除第一数据d1所在的域之外的第二空闲域rf2。第二块blk2仍然包括第二数据d2和第一空闲域rf1。

参考图3和图9,回收执行器133将第二块blk2的第二数据d2传送到第三块blk3。具体地,第二块blk2的第二数据d2被复制到第三块blk3,并且第二块blk2中的第二数据d2变为第二无效数据d2i。也就是说,第二数据d2在第二块blk2内呈现为无效。

在第三块blk3中,对第一数据d1和第二数据d2进行重新排序。换言之,第一数据d1和第二数据d2排列在第三块blk3中的位置与它们排列在第一块blk1中的位置不同。这里,仅第一数据d1和第二数据d2的顺序被示为改变,但是也可以对内部数据的地址无规律地进行重新排序。

参考图10,移除第一块blk1的第一无效数据d1i和第二无效数据d2i以及第二块blk2的第二无效数据d2i。例如,可以对第一块blk1和第二块blk2执行一个或多个删除操作。因此,第一块blk1和第二块blk2变为空闲块。

在回收操作之后不需要执行无效数据的移除。也就是说,当从存储设备1000中移除无效数据的时间到来时,即使在回收操作期间也可以全部移除无效数据。也就是说,可以独立于回收操作来执行无效数据的移除。

参考图11,包括根据图1的实施例的存储设备1000的存储设备可以随着回收块的数量增加而具有较低的顺序读取性能。因此,使回收块的数量最小化可以是改善存储设备的持续性能的一种方式。

现在,将参考图12来描述根据图1的实施例的存储设备1000的效果。

在图12中,g1表示传统存储设备的顺序读取性能与时间的关系,并且g2表示根据图1的实施例的存储设备1000的顺序读取性能与时间的关系。g1和g2是用于说明趋势的近似曲线图。

参考g1,传统存储设备的顺序读取性能可能在回收期间恶化。也就是说,顺序读取性能可能作为回收操作的成本而恶化。

此外,随着回收操作的数量增加,顺序读取性能可能更久且更严重地恶化。此外,随着回收操作的数量增加,可能无法完全从由于回收操作引起的顺序读取性能的降低中恢复。因此,顺序读取性能的最大值可能变低。

也就是说,由于在传统存储设备中逐块地执行回收,因此可以基于块内的最差页来执行回收。因此,不需要回收的页数据被回收,从而不必要地增加了回收的整体频繁性。

此外,随着一个块中包括的页的数量增加并且空间的密度增加,每个块中的页特性可以逐渐变得彼此不同。这可能会增加不必要的回收的执行。

另一方面,根据图1的实施例的存储设备1000确定是否针对弱域rw(相对频繁地进行回收的域)和正常域rn中的每一个执行回收。因此,可以在稍后的时间回收正常域rn,这可以减少由于回收导致的整体性能降低(①)。

此外,由于弱域rw和正常域rn是分别回收的,因此可以减少由于回收操作导致的顺序读取性能的降低。也就是说,由于一次回收操作导致的顺序读取性能的降低很小,所以可以保证顺序读取性能的最小值高于或等于特定参考值。

顺序读取性能的最小值是用于评估存储设备1000在各种操作中的性能的重要评估因素。因此,可以通过增加顺序读取性能的最小值来提高存储设备1000的整体性能(②)。

此外,由于弱域rw和正常域rn彼此分离,因此可以减少对正常域rn不必要的回收。因此,可以延迟由于重复回收而导致的顺序读取性能的不完全恢复的时序,这反过来会尽可能地延迟顺序读取性能的最大值的降低(③)。

如果域被指定为弱域rw至少一次,则根据本发明构思的至少一个实施例的存储设备1000可以通过在回收期间利用重新排序转换物理地址的特性,来减小弱域rw和正常域rn之间的特性变化的间隙。也就是说,由于在回收之后可以通过不同的标准重新定义弱域rw和正常域rn,所以可以分散数据丢失的风险。

现在,将参考图1至图3、图5和图13来描述根据本发明构思的示例性实施例的存储设备。将简化或省略与上述实施例相同的元件和特征的冗余描述。

图13是示出了根据本发明构思的示例性实施例的存储设备的块的划分的图。

参考图1至图3、图5和图13,域划分器131将第一块blk1划分为正常域rn和弱域rw。这里,正常域rn和弱域rw中的每一个可以是彼此分离的多个区域的集合。

例如,如图13所示,正常域是第一页、第三页和第五页(页1、页3和页5),并且弱域rw是第二页、第四页和第六页(页2、页4和页6)。也就是说,正常域rn的物理地址可以是不连续的,并且弱域rw的物理地址也可以是不连续的。

这可能是因为域划分器131确定针对每个页的第一分数。

因此,在图5的“(3)合并”中,位于第一页至第六页(页1至页6)的数据在第三块blk3中被重新排序。此时,第一数据d1和第二数据d2的顺序不改变。替代地,页1至页6被重新排序。

因此,属于弱域rw和正常域rn的数据被重新排序,从而防止特定数据的可靠性的持续下降。

现在,将参考图1至图4和图14来描述根据本发明构思的示例性实施例的存储设备。将简化或省略与上述实施例相同的元件和特征的冗余描述。

图14是示出了根据本发明构思的示例性实施例的存储设备1000的回收操作的时间图。

参考图1至图4和图14,域划分器131重复执行域划分操作。也就是说,在非易失性存储器200的写入操作之后,重复执行域划分操作。

这里,可以以规律性间隔t1执行域划分操作。也就是说,由于第一信息包括随时间变化的信息,因此第一信息的内容可能随时间变化。因此,域划分器131可以接收更新后的第一信息并且通过基于更新后的第一信息计算第一分数来执行域划分操作。

备选地,可以在读取操作之后执行域划分操作。也就是说,由于可以在读取操作中改变诸如第一信息中的读取计数的信息,因此可以更新第一信息。因此,域划分器131可以在读取操作之后的预定时间t2执行域划分操作。

根据本发明构思的示例性实施例的存储设备1000还可以不规律地执行域划分操作,或者通过实时接收第一信息来实时地执行域划分操作。这里,“实时”可以指在存储设备1000中的最高频率时钟信号的每个边缘处执行域划分操作。

根据至少一个实施例的存储设备1000可以通过将块精确地划分为弱域rw和正常域rn来有效地执行回收。因此,可以显著地提高存储设备1000的读取性能。

现在,将参考图1至图4和图15来描述根据本发明构思的示例性实施例的存储设备。将简化或省略与上述实施例相同的元件和特征的冗余描述。

图15是示出了根据本发明构思的示例性实施例的存储设备1000的回收操作的时间图。

参考图1至图4和图15,在根据本发明构思的示例性实施例的存储设备1000中,域划分器131和回收确定器132独立地操作。也就是说,域划分器131可以连续地执行域划分操作,而不管回收的确定和执行。

回收确定器132可以基于域信息和第二信息确定是否执行回收。域信息和第二信息可以不断更新并保持最新。也就是说,回收确定器132可以通过使用最新更新的域信息和第二信息来确定是否回收正常域rn和弱域rw中的每一个。

当回收确定器132确定它首先要回收弱域rw时(因为弱域rw通常首先被回收),回收执行器133回收弱域rw。然后,当确定要回收正常域rn时,回收正常域rn,然后将正常域rn与经回收的弱域rw合并。

也就是说,根据本发明构思的至少一个实施例的存储设备1000可以通过使用最新更新的域信息和第二信息来确定是否执行回收并执行回收。因此,可以进行有效的回收操作。

现在,将参考图1至图3、图6至图10和图16来描述根据本发明构思的示例性实施例的存储设备的回收方法。将简化或省略与上述实施例相同的元件和特征的冗余描述。

图16是示出了根据本发明构思的示例性实施例的存储设备的回收操作的流程图。

参考图16,第一块被划分为第一域和第二域(操作s100)。

具体地,参考图3和图6,域划分器131可以将第一块blk1划分为正常域rn和弱域rw。也就是说,第一域和第二域可以分别是弱域rw和正常域rn。备选地,第一域与和第二域可以分别是正常域rn和弱域rw。

第一数据d1可以位于正常域rn中,并且第二数据d2可以位于弱域rw中。为了便于描述,假设第一块blk1具有写入数据,并且第二块blk2和第三块blk3是空闲块。

返回参考图16,确定是否回收第一域(操作s200)。

具体地,参考图3,回收确定器132确定它应当首先回收弱域rw。可以确定要同时回收弱域rw和正常域rn。然而,通常首先回收弱域rw。在这种情况下,第一域是弱域rw,并且正常域rn是第二域。然而,当首先回收正常域rn时,正常域rn是第一域,并且弱域rw是第二域。

确定是否回收第一域可以包括基于第二信息计算第二分数。如果作为将第二分数与第二参考分数进行比较的结果确定需要回收,则回收第一域的数据(操作s300)。否则,再次执行是否回收第一域的确定。

尽管在图16中顺序示出操作s200至s500,但本发明构思的实施例不限于这种情况。也就是说,即使同时执行操作s200和s400,由于首先将两个域中的一个域确定为要被回收,因此可以将首先确定为要被回收的域定义为第一域。为了方便起见,以下描述将基于弱域是第一域并且正常域rn是第二域的假设。

返回参考图16,回收第一域(操作s300)。

具体地,参考图3和图7,当在操作s200中确定回收弱域rw时,回收执行器133将第二数据d2传送到第二块blk2。此时,第二数据d2被复制到第二块blk2,并且第一块blk1的弱域rw的第二数据d2变为第二无效数据d2i。

第二块blk2可以包括除第二数据d2所在的域之外的第一空闲域rf1。

返回参考图16,确定是否回收第二域(操作s400)。

具体地,参考图3,回收确定器132可以确定是否回收正常域rn。

确定是否回收正常域rn可以包括基于第二信息计算第二分数。如果作为将第二分数与第二参考分数进行比较的结果确定需要回收,则回收第二域的数据(操作s500)。否则,再次执行是否回收正常域rn的确定。

返回参考图16,回收第二域(操作s500)。

具体地,参考图3和图8,当在操作s400中确定回收正常域rn时,回收执行器133将第一数据d1从第一块blk2传送到第三块blk3。此时,第一数据d1被复制到第三块blk3,并且第一块blk1的正常域rn的第一数据d1变为第一无效数据d1i。第一无效数据d1i可以是呈现为无效的第一数据d1。

第三块blk3可以包括除第一数据d1所在的域之外的第二空闲域rf2。第二块blk2可以仍然包括第二数据d2和第一空闲域rf1。

返回参考图16,合并第一域和第二域(操作s600)。

即使首先回收弱域rw和正常域rn中的任何一个,也将再次合并两个域。

具体地,参考图3和图9,第二块blk2的第二数据d2由回收执行器133传送到第三块blk3。更具体地,第二块blk2的第二数据d2被复制到第三块blk3,并且第二块blk2中的第二数据d2变为第二无效数据d2i。也就是说,第二数据d2可以再次呈现为无效。

在第三块blk3中,对第一数据d1和第二数据d2进行重新排序。换言之,第一数据d1和第二数据d2排列在第三块blk3中的位置与它们排列在第一块blk1中的位置不同。这里,仅改变了第一数据d1和第二数据d2的顺序,但是也可以对内部数据的地址无规律地进行重新排序。

参考图10,移除第一块blk1的第一无效数据d1i和第二无效数据d2i以及第二块blk2的第二无效数据d2i。因此,第一块blk1和第二块blk2都变为空闲块。可以独立于回收操作来执行无效数据的移除。

在本发明构思的示例性实施例中,仅对块的一部分(例如,不太可靠的区域或弱区域)执行回收,发生延迟,然后对块的其余部分(例如,更可靠的区域或正常区域)执行回收。在一个实施例中,正常区域和弱区域之间的可靠性差异越大,则延迟越大。在一个实施例中,弱区域被合并至回收正常区域的块,以实现主要的峰值性能并防止碎片化。在一个实施例中,首先对块的一部分执行回收,以维持间隔可靠性和性能。相比于回收整个块,通过整个块中的弱区域的比率,可以改善该点处的性能低谷。

尽管已经参考本发明构思的示例性实施例具体示出和描述了本发明构思,但是本领域普通技术人员将理解的是,在不脱离本发明构思的精神和范围的情况下,可以进行形式和细节上的多种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1