使用非易失性存储器作为高速缓存器的存储设备及其方法

文档序号:6564415阅读:202来源:国知局
专利名称:使用非易失性存储器作为高速缓存器的存储设备及其方法
技术领域
本发明的各个方面涉及使用非易失性存储器作为高速缓存器的存储设备和管理所述设备的方法。更具体地说,本发明的各个方面涉及使用即使在电源中断之后也保持数据的非易失性存储器作为高速缓存器的存储设备和管理所述设备的方法。
背景技术
参照图1,传统的存储设备10包括主机11、数据缓冲器12和主存储介质13。主机11根据用户的命令将数据发送到主存储介质13或从主存储介质13接收数据。数据缓冲器12缓冲主机11和主存储介质13之间的速率的差异。
具体地说,从主机11发送的数据临时存储在数据缓冲器12中直到所述数据被记录在主存储介质13中,反之亦然。存储设备10的数据缓冲器12通常包括易失性存储器。也就是说,当中断对主存储装置10的供电时,在数据缓冲器12中存在的所有数据都丢失。
为了增加访问效率,存储设备10使用高速缓存器,存储将被存储在主存储介质13中的部分数据。当主机11读取存储在高速缓存器中的数据时,没有必要访问主存储介质13。这样增加了访问效率。
然而,因为当中断供电时数据缓冲器12丢失所有数据,所以即使当增加数据缓冲器12的大小时,数据缓冲器12也不能用作高速缓存器。另外,必须一直向主存储介质13供电是减少功耗的障碍。
因此,近来已经提出使用非易失性存储器作为存储设备10的高速缓存器,从而,当主机11从非易失性存储器读取数据或向非易失性存储器写入数据时,中断对主存储介质13的供电,以减少功耗。
然而,使用非易失性存储器作为存储设备10的高速缓存器具有以下问题必须根据数据是否固定来有效管理数据。具体地说,非易失性存储器具有固定区域和非固定区域,其中,在所述固定区域中数据位置一直固定,在所述非固定区域中数据位置频繁改变。必须有效管理这些区域。另外,需要一种保护数据免受意外的电源中断的影响的方法。也需要一种收集块以最小化对主存储介质13的供电的时间的方法,以及在考虑非易失性存储器中各个物理块的使用程度(wear level)的情况下增加非易失性存储器的寿命的方法。
早期公开的第2003-256289号日本专利公开了一种系统,所述系统根据环形序列(在物理扇区地址的底部和顶部发生记录和删除)通过周期性地删除对在闪存中已经被分组的块的指定来保持闪存系统的使用程度的一致性,可按照期望指定所述闪存系统的地址。然而,第2003-256289号日本专利中公开的系统没有提出有效地管理固定区域和非固定区域中的数据的方法,也没有建议保护数据免受意外的电源中断的影响,或者基于块收集和使用程度调整来增加寿命。

发明内容
本发明的示例性实施例克服发生在现有技术中的上述缺点以及上面没有描述的其它缺点。另外,没有要求本发明克服上述缺点,本发明的示例性实施例可以不克服上面描述的任何问题。本发明的一方面提供一种以这样一种方式使用非易失性存储器作为其高速缓存器的存储设备和管理所述设备的方法,在所述方式中,通过根据数据在区域中是否固定将非易失性存储器分为固定区域和非固定区域来分别管理非易失性存储器,并且收集块以统一块的使用程度。
本发明的另一方面提供一种使用非易失性存储器作为其高速缓存器以容易地从意外电源中断中恢复的存储设备以及管理所述设备的方法。
为了实现上述目的和其它,提供一种使用非易失性存储器作为高速缓存器的存储设备,所述设备包括主存储介质;用作主存储介质的高速缓存器的非易失性存储器,根据数据是否固定将非易失性存储器的区域分成固定区域和非固定区域;以及块管理单元,通过虚拟地址来管理物理块,所述物理块被分配给非易失性存储器。
根据本发明的另一方面,提供一种管理使用非易失性存储器作为高速缓存器的存储设备的方法,所述方法包括根据数据是否固定将用作主存储介质的高速缓存器的非易失性存储器的区域分成固定区域和非固定区域;以及通过分配给物理块的虚拟地址分别管理分配给固定区域和非固定区域的物理块。


通过下面结合附图进行的详细描述,本发明的上述方面和其它将会变得更加清楚,其中图1显示传统的存储设备;图2显示根据本发明的示例性实施例的使用非易失性存储器作为其高速缓存器的存储设备;图3显示根据本发明的示例性实施例的虚拟块地址空间;图4显示根据本发明的示例性实施例的分配块列表和自由块列表;图5显示根据本发明的示例性实施例的块映射表;图6显示根据本发明的示例性实施例的收集块之前的分配块列表、自由块列表和块映射表;图7显示根据本发明的示例性实施例的收集块之后的分配块列表、自由块列表和块映射表;图8显示根据本发明的示例性实施例的处理坏块之前的分配块列表、自由块列表和块映射表;图9显示根据本发明的示例性实施例的处理坏块之后的分配块列表、自由块列表和块映射表;图10显示根据本发明的示例性实施例的分配块的方法;图11显示根据本发明的示例性实施例的收集块的方法;图12显示根据本发明的示例性实施例的处理坏块的方法;以及图13显示根据本发明的示例性实施例的从电源中断中恢复的方法。
具体实施例方式
以下,将参照附图来描述本发明的示例性实施例。提供例如详细的结构和部件的在说明书中定义的内容仅是示例性的,以帮助全面理解本发明。因此,明显的是,在没有那些定义的内容的情况下也可实施本发明。在本发明的示例性实施例的下面的描述中,即使出现在不同的附图中,相同的附图标号被用于相同的部件。另外,当合并于此的公知功能和结构可能使本发明的主题模糊时,将省略对其的详细描述。
以下参照流程图描述本发明的示例性实施例,所述流程图涉及根据本发明的示例性实施例的使用非易失性存储器作为高速缓存器的存储设备以及管理所述设备的方法。应该理解,流程图的每一个块以及流程图中的块的组合可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或者其他可编程数据处理设备的处理器以产生设备,从而经计算机或者其他可编程数据处理设备的处理器执行的指令创建用于实现在一个流程图块或多个流程图块中指定的功能的装置。
这些计算机程序指令也可被存储在可指导计算机或者其他可编程数据处理设备以特定方式运行的计算机可用或计算机可读存储器中,从而存储在计算机可用或计算机可读存储器中的指令产生包括实现在一个流程图块或多个流程图块中指定的功能的指令装置的产品。
计算机程序指令也可被载入计算机或其他可编程数据处理设备,以使得一系列操作步骤在计算机或其他可编程设备上被执行以产生计算机执行的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在一个流程图块或多个流程图块中指定的功能的步骤。
流程图的每块可代表模块、程序段或代码的一部分,其包括一个或更多用于实现特定的逻辑功能的可执行指令。应注意的是,在一些可选择的实现中,在这些块中标注的功能可不按所示顺序发生。例如,连续显示的两个块事实上可基本同时地被执行,或者有时所述块可以以相反的顺序被执行,这取决于涉及的功能。
图2显示根据本发明的示例性实施例的使用非易失性存储器作为其高速缓存器的存储设备。
如图所述,根据本发明的示例性实施例的使用非易失性存储器作为其高速缓存器的存储设备100可包括主存储介质110、用作主存储介质110的高速缓存器的非易失性存储器120、和通过虚拟地址的方式管理非易失性存储器120的物理块(PB)的块管理单元130。
本领域的技术人员应该理解,根据本示例性实施例,主存储介质110是大容量存储介质,诸如硬盘驱动器,非易失性存储器120是例如即使在电源中断的情况下也能够保持数据的闪存。根据本示例性实施例的使用非易失性存储器作为其高速缓存器的存储设备100可连接到主机140,所述主机140根据用户的命令将数据发送到主存储介质110或从主存储介质110接收数据。依次,主机140可连接到块管理单元130。
可将非易失性存储器120分为数据固定的固定区域和数据频繁改变的非固定区域。所述固定区域存储应该永久驻留在非易失性存储器120中的数据,并且所述固定区域被用作主存储介质110的高速缓存器。在非固定区域中,数据频繁地移动到主存储介质110中或从主存储介质110移出。
块管理单元130可包括块分配单元131,用于将PB分配给非易失性存储器120;块收集单元132,用于收集分配的PB;坏块管理单元133,用于管理坏块;电源中断恢复单元134,用于从电源中断中恢复;块映射表管理单元135,用于管理非易失性存储器120的物理块号(PBN)和虚拟块号(VBN)之间的映射关系;以及列表存储单元136,用于存储分配块列表和自由块列表。
块分配单元131适合于根据存储在列表存储单元136中的自由块列表将PB分配给非易失性存储器120的固定区域和非固定区域。自由块列表包含不存在数据的空的PB。可将自由块列表中的PB按PBN的顺序存储,所述PBN基于PB的使用程度(wear level)。具体地说,使用最少的PB的PBN位于自由块列表的第一位置,并且使用最多的PB的PBN位于自由块列表的末尾位置。自由块列表通常被存储在非易失性存储器120的备用区域中。电源中断恢复单元134适合于在意外电源中断和重新启动的情况下通过使用存储在备用区域中的值来重建自由块列表,如下面将进行的详细描述。
图3显示根据本发明的示例性实施例的虚拟块地址空间。
为了将PB分配给非易失性存储器120的固定区域和非固定区域,如图3所示,块分配单元131可将虚拟块地址空间的VBN分配给相应的PBN。虚拟块地址空间的VBN可按相反方向连续映射到非易失性存储器120的PBN,以将固定区域和非固定区域彼此区分。虚拟块地址空间的各个VBN可包括多个页,并且虚拟块地址空间可比物理地址空间大。
然后,块分配单元131将位于自由块列表上的第一PB分配给固定区域或非固定区域。记录分配的PB的PBN和VBN之间的映射关系的块映射表可被存储在块映射表管理单元135中。如在虚拟块地址空间的情况中一样,类似地,块映射表可基于固定区域和非固定区域具有沿相反方向的连续的分配。在将自由块列表上的一些PB分配给固定区域或非固定区域之后,块分配单元131更新存储在列表存储单元136中的分配块列表和自由块列表。具体地说,块分配单元131从自由块列表中去除已经分配给固定区域或非固定区域的PB,并将所述分配的PB添加到分配块列表的最后部分。
图4显示根据本发明的示例性实施例的分配块列表和自由块列表。
从图中可以清楚的看到,根据本示例性实施例,分配块列表210按照使用程度231增加的顺序列举分配的PB 230的PBN,并且自由块列表220按照相同顺序列举未分配的PB 230的PBN。
图5显示块映射表,其中,分别将图4中显示的分配块列表上的PBN映射到VBN。
从图中可以清楚的看到,在根据本示例性实施例的块映射表240中,基于固定区域和非固定区域,以相反方向将PBN连续映射到VBN。
当将数据记录在非易失性存储器120中时,可将各种类型的元数据和数据一起存储在备用区域中。根据本示例性实施例,可将元数据存储在非易失性存储器120的元数据存储单元121中。存储在元数据存储单元121中的元数据可包括例如,逻辑块地址(LBA)、固定区域和非固定区域数据指示符、块的使用程度和恢复标记。
当LBA映射到分配块列表的各个PB时,所述LBA可被用于意外电源中断之后的恢复。固定区域和非固定区域数据指示符被用于区分固定区域和非固定区域以及电源中断之后的恢复。使用程度提供创建自由块列表的标准。恢复标记用于电源中断之后的恢复。具体地说,当连接分配块列表和自由块列表,并将其一起存储在非易失性存储器120中时,可在自由块列表的起始位置设置恢复标记,以与分配块列表区分。本领域的技术人员可以理解,当连接分配块列表和自由块列表,并将其一起存储时,它们实际上构成了单个列表,所述单个列表具有在自由块列表的起始位置设置的恢复标记,所述恢复标记用于区分分配块列表和自由块列表。
块收集单元132计算分配块列表上的各个PB的有效页。块收集单元132可执行从具有最少有效页的PB的块收集。当PB具有最少有效页时,可以认为PB具有最少有效数据。这样,块收集从具有最少有效页的PB开始。
块收集单元132分配处于自由块列表上第一位置的PB,以使所述PB被定位在分配块列表的末端。块收集单元132将由块收集得到的PB中的有效页移动到分配块列表的末尾位置上的块。在将所有有效页都移动到分配块列表的最后位置上的PB之后,块收集单元132按照使用程度的顺序将已经经受块收集的PB添加到自由块列表。
为了块收集,块分配单元131将虚拟块地址空间的VBN分配给分配块列表的末尾位置上的PB的PBN,从而更新虚拟块地址空间。
图6显示根据本发明的示例性实施例的块收集之前的PB。
从附图可清楚地看到,分配块列表310列举PBN 5、PBN 0、PBN 7和PBN 2,其有效页的数量311分别为5、4、6和4。自由块列表320列举PBN3、PBN 6、PBN 1和PBN 4。在块映射表330中,基于固定区域和非固定区域,分配块列表310的PBN沿相反方向映射到各个VBN。
图7显示根据本发明的示例性实施例的块收集之后的PB。在参照图7的下面的描述中将假设为了块收集,将图6所示的PBN 0的有效页移动到PBN 6,并将PBN 2和PBN 5的有效页移动到PBN 3。
从图7可以清楚地看到,作为块收集的结果,已经从分配块列表310中去除PBN 0、PBN 2和PBN 5(图6所示),并且按照使用程度的顺序将其添加到自由块列表320。
如图7所示,在块映射表330中,因为PBN 7没有经受块收集。所以,PBN 7保持其位置。相反,已经经受块收集并从自由块列表320移动到分配块列表310的PBN 3和PBN 6映射到新的VBN。
当分配块列表上的PB中出现坏块时,坏块管理单元133从分配块列表中去除那个特定的PB,并将已经记录在去除的PB中的数据移动到从自由块列表320新分配的PB。为了移动已经记录在坏块中的数据,坏块管理单元133将从自由块列表新分配的PB插入到去除的坏块的位置。
图8显示根据本发明的示例性实施例的坏块的出现。
如图8所示,当在分配块列表410的PBN 5中出现坏块时,坏块管理单元133接收从自由块列表420新分配的PB,并且将已经记录在所述坏块中的数据移动到新分配的PB。在去除坏块之前,在块映射列表430中PBN 5映射到VBN 7。在去除坏块之后,新分配的PB映射到VBN 7。
图9显示根据本发明的示例性实施例的坏块的去除。
如图9所示,坏块管理单元133将记录在如图8所示的具有坏块的PBN5中的数据移动到从自由块列表420新分配的PBN 6,并将PBN 6插入PBN 5的位置,其中,没有将PBN 5添加到自由块列表420,也没有分配PBN 5。在块映射列表430中,新分配的PBN 6映射到先前映射到具有坏块的PBN 5的VBN 7。
电源中断恢复单元134适合于通过分配块列表和自由块列表从意外电源中断中恢复。为此,当由于对主存储介质110进行块收集或数据的移动而使分配块列表和自由块列表改变它们的顺序时,电源中断恢复单元134将分配块列表和自由块列表存储在非易失性存储器120的备用区域中。具体地说,一旦存储了分配块列表和自由块列表,则即使在意外电源中断的情况下,分配块列表和自由块列表也保持它们的顺序。结果,PB的分配顺序保持完整,并且基于备用区域中的LBA,可提取最新数据。这样,仅在进行对主存储介质110进行块收集或数据移动的情况下,存储分配块列表和自由块列表,以使在电源中断之后容易恢复。在块收集期间设置恢复标记,并且在重新分配期间删除恢复标记,从而可区分分配块列表和自由块列表。也可通过使用分配块列表恢复块映射表。
图10显示根据本发明的示例性实施例的分配块的方法。
参照附图,在操作S110,块分配单元131首先从自由块列表中选择将新分配给固定区域或非固定区域的PB。块分配单元131新分配位于自由块列表上的第一位置的PB。这是因为自由块列表以使用程度增加的顺序列举PB,第一PB具有最低的使用程度。
在操作S120,块分配单元131将VBN分配给选择的PBN。具体地说,基于固定区域和非固定区域,以相反方向在虚拟块地址空间中连续分配VBN。
在操作S130,块分配单元131更新表示PBN和VBN之间的映射关系的块映射表。
在操作S140,块分配单元131将选择的PBN添加到分配块列表的最后,在操作S150,从自由块列表中去除选择的PBN。将新分配的PBN添加到分配块列表的最后的原因是,当在非易失性存储器120中更新数据的情况下,在不修改先前写入的数据的条件下新分配并添加PB。当每次分配新PB时以这样的方式将PBN添加到分配块列表的最后时,后写入的数据可证明是有效数据。如上所述,电源中断恢复单元134可使用这样的方法从电源中断中恢复。
图11显示根据本发明的示例性实施例的收集块的方法。
在操作S210,参照附图,块收集单元132首先计算包括在分配块列表上的各个PB中的有效页。这是为了收集包含至少预定数量的无效页的PB,并重新分配所述PB。
在操作S220,块收集单元132根据有效页的数量确定PB的块收集顺序,在本示例性实施例的下面的描述中假设块收集从具有最少有效页的PB开始。另外,对具有少于预定数量的有效页或空白页的PB执行块收集。
在操作S230,为了以确定的顺序收集具有最少有效页的PB,块收集单元132将自由块列表上的第一PBN定位在分配块列表的最后。
在操作S240,块收集单元132将由块收集得到的PB的有效页移动到分配块列表上的最后PB。在操作S250,块收集单元132基于使用程度将PB添加到自由块列表中,所述PB在其有效页被移出之后为空。在操作S260,块收集单元132将VBN分配给已经新添加到分配块列表中的PBN,从而更新了块映射表。
在操作S270,块收集单元132确定是否已经收集了由块收集得到的所有PB。如果没有,则块收集单元132执行操作S280,接着重复上述操作S240、S250和S260,直到收集了由块收集得到的所有PB。具体地说,在操作S280,为了下一PB的块收集,块收集单元1 32将自由块列表上的第一PBN定位在分配块列表的最后。接着,块收集单元132将由块收集得到的PB的有效页移动到分配块列表上的最后PB;基于使用程度将PB添加到自由块列表中,所述PB在其有效页被移出之后为空;将VBN分配给已经新添加到分配块列表中的PBN,从而更新了块映射表。
图12显示根据本发明的示例性实施例的处理坏块的方法。
参照图12,在操作S310,坏块管理单元133首先确定分配块列表上的任何PB中是否存在坏块。
如果是,则在操作S320中,坏块管理单元133接收由块分配单元131从自由块列表新分配的PB。具体地说,在考虑PB的使用程度的情况下新分配自由块列表上的第一PB。本领域的技术人员可以很容易地理解,尽管在本发明的本示例性实施例中分配自由块列表上的第一PB,但是为了避免第一PB的频繁改变,可分配第一PB的下一PB,在所述第一PB上设置了如上所述的恢复标记。
在分配新PB之后,在操作S330,坏块管理单元133将具有坏块的PB的数据移动到新分配的PB。
在数据移动之后,在操作S340,坏块管理单元133将数据已经移动到其中的PB插入到具有坏块的PB的位置。
在操作S350,坏块管理单元133将已经被分配给具有坏块的PBN的VBN分配给已插入到具有坏块的PB的位置上的PBN。
图13显示根据本发明的示例性实施例的从电源中断中恢复的方法。
参照图13,在操作S410,当意外地发生电源中断时,电源中断恢复单元134提取分配块列表和自由块列表,所述分配块列表和自由块列表都已经存储在非易失性存储器120的备用区域中。
在操作S420,电源中断恢复单元134基于分配块列表恢复PB分配的顺序。当存在多于一个具有相同LBA的PB时,电源中断恢复单元134确定最后写入的PB有效。
在操作S430,电源中断恢复单元134基于分配块列表恢复块映射表。
这里使用的术语“单元”的意思是,但不限于,软件或硬件组件,诸如执行特定任务的现场可编程门阵列(FPGA)或专用集成电路(ASIC)。单元可以方便地被配置以驻留在可寻址的存储介质上,并且可被配置以在一个或多个处理器上执行。因此,举例来说,单元可以包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、进程、函数、属性、过程、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组和变量。在组件和单元中提供的功能可被组合为更少的组件和单元,或者可进一步被分离成另外的组件和单元。
如上所述,与本发明的示例性实施例一致的使用非易失性存储器作为高速缓存器的存储设备和管理所述设备的方法具有下面的示例性优点。
通过根据数据是否固定将非易失性存储器分为固定区域和非固定区域来有效地管理非易失性存储器。
通过非易失性存储器中的块收集使各个块的使用程度统一。这样增加了存储器的寿命。另外,主存储介质的使用程度的减少降低了其运行期间的功耗。
即使在意外电源中断的情况下,也能够从分配块列表中恢复块映射表,这样保证了安全的数据恢复。
尽管上面为了示意性的目的描述了本发明的示例性实施例,但是本领域的技术人员应该理解,在不脱离权利要求公开的本发明的精神和范围的情况下,可以对其进行各种修改、添加和置换。
权利要求
1.一种存储设备,包括主存储介质;用作主存储介质的高速缓存器的非易失性存储器,其中,根据数据是否固定将非易失性存储器的区域分成固定区域和非固定区域;以及块管理单元,使用虚拟地址来管理物理块,其中,所述物理块被分配给非易失性存储器。
2.如权利要求1所述的存储设备,其中,所述块管理单元包括块分配单元,将物理块分配给非易失性存储器;块收集单元,收集分配给非易失性存储器的物理块;坏块管理单元,管理坏块;电源中断恢复单元,在电源中断的情况下恢复存储设备;块映射表管理单元,管理表示物理块号和分配给物理块号的虚拟块号之间的映射关系的块映射表;以及列表存储单元,存储列举分配的物理块的分配块列表和列举空物理块的自由块列表。
3.如权利要求2所述的存储设备,其中,所述块分配单元适合于将自由块列表上的第一物理块分配给固定区域或非固定区域。
4.如权利要求3所述的存储设备,其中,所述自由快列表按照使用程度增加的顺序列举空物理块。
5.如权利要求3所述的存储设备,其中,所述块分配单元适合于将物理块定位在分配块列表的末尾。
6.如权利要求5所述的存储设备,其中,所述块映射表管理单元适合于存储具有虚拟块号的块映射表,所述虚拟块号被分配给在分配块列表中列举的物理块号,以及其中,所述块映射表管理单元将虚拟块号分配给分配块列表上的末尾的物理块号,从而更新块映射表。
7.如权利要求2所述的存储设备,其中,所述块收集单元适合于计算分配块列表上的各个物理块的有效页,以及其中,所述块收集单元执行从具有最少有效页的物理块开始的块收集。
8.如权利要求7所述的存储设备,其中,所述块收集单元适合于将物理块定位在分配块列表的末尾,以及其中,块收集单元将由块收集得到的物理块中的有效页移动到分配块列表的末尾的物理块。
9.如权利要求8所述的存储设备,其中,所述块收集单元适合于当在有效页被移出之后由块收集得到的物理块为空时,根据使用程度将所述物理块添加到自由块列表中。
10.如权利要求2所述的存储设备,其中,所述坏块管理单元适合于当分配块列表上的物理块包括坏块时,将所述物理块的数据移出到从自由块列表新分配的物理块,以及其中,所述包括坏块的物理块从分配中被免除。
11.如权利要求10所述的存储设备,其中,所述坏块管理单元适合于将从自由块列表新分配的物理块插入到所述包括坏块的物理块的先前位置,以及其中,所述块映射单元适合于将虚拟块号分配给被插入的物理块的物理块号,其中,分配的虚拟块号先前被分配给所述包括坏块的物理块。
12.如权利要求2所述的存储设备,其中,电源中断恢复单元适合于提取分配块列表,并在电源中断的情况下恢复块映射表。
13.一种管理存储设备的方法,所述方法包括根据数据是固定的还是非固定的来将用作主存储介质的高速缓存器的非易失性存储器的区域分成固定区域和非固定区域;以及通过分配给物理块的虚拟地址分别管理分配给固定区域和非固定区域的物理块。
14.如权利要求13所述的方法,其中,管理物理块的步骤包括将物理块分配给非易失性存储器;收集分配给非易失性存储器的物理块;管理坏块;从电源中断中恢复;管理表示物理块号和分配给物理块号的虚拟块号之间的映射关系的块映射表;存储列举分配的物理块的分配块列表;以及存储列举空物理块的自由块列表。
15.如权利要求14所述的方法,其中,分配物理块的步骤包括将自由块列表上的第一物理块分配给固定区域或非固定区域。
16.如权利要求15所述的方法,其中,所述自由快列表按照使用程度增加的顺序列举空物理块。
17.如权利要求15所述的方法,其中,分配物理块的步骤包括将物理块定位在分配块列表的末尾。
18.如权利要求17所述的方法,其中,管理块映射表的步骤包括存储具有虚拟块号的块映射表,所述虚拟块号被分配给在分配块列表中列举的物理块号;以及将虚拟块号分配给分配块列表上的末尾物理块号,从而更新块映射表。
19.如权利要求14所述的方法,其中,收集物理块的步骤包括计算分配块列表上的各个物理块的有效页;以及执行从具有最少有效页的物理块开始的块收集。
20.如权利要求19所述的方法,其中,收集物理块的步骤包括将物理块定位在分配块列表的末尾;以及将由块收集得到的物理块中的有效页移动到分配块列表的末尾的物理块。
21.如权利要求20所述的方法,其中,收集物理块的步骤包括当在有效页被移出之后由块收集得到的物理块为空时,根据使用程度将所述物理块添加到自由块列表中。
22.如权利要求14所述的方法,其中,管理坏块的步骤包括当分配块列表上的物理块包括坏块时,将所述物理块的数据移出到从自由块列表新分配的物理块;以及将所述包括坏块的物理块从分配中免除。
23.如权利要求22所述的方法,其中,管理坏块的步骤包括将从自由块列表新分配的物理块插入到所述包括坏块的物理块的位置;以及将虚拟块号分配给被插入的物理块的物理块号,其中,分配的虚拟块号先前被分配给所述包括坏块的物理块。
24.如权利要求14所述的方法,其中,从电源中断中恢复的步骤包括提取分配块列表;以及在电源中断的情况下恢复块映射表。
全文摘要
提供一种使用即使在电源中断之后也保持数据的非易失性存储器作为其高速缓存器的存储设备以及管理所述设备的方法。所述存储设备包括主存储介质;用作主存储介质的高速缓存器的非易失性存储器,根据数据是否固定将非易失性存储器的区域分成固定区域和非固定区域;以及块管理单元,通过虚拟地址来管理物理块,所述物理块被分配给非易失性存储器。
文档编号G06F12/16GK1991790SQ20061016823
公开日2007年7月4日 申请日期2006年12月26日 优先权日2005年12月27日
发明者申东君, 李时润, 金莊焕, 宋东显 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1