CN101799784A - 存储器装置及其损耗平均方法 - Google Patents

存储器装置及其损耗平均方法 Download PDF

Info

Publication number
CN101799784A
CN101799784A CN201010105764A CN201010105764A CN101799784A CN 101799784 A CN101799784 A CN 101799784A CN 201010105764 A CN201010105764 A CN 201010105764A CN 201010105764 A CN201010105764 A CN 201010105764A CN 101799784 A CN101799784 A CN 101799784A
Authority
CN
China
Prior art keywords
page
leaf
information
write operation
page table
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.)
Pending
Application number
CN201010105764A
Other languages
English (en)
Inventor
黄珠荣
李美真
金弘国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN101799784A publication Critical patent/CN101799784A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B15/00Sorption machines, plants or systems, operating continuously, e.g. absorption type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B27/00Machines, plants or systems, using particular sources of energy
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B49/00Arrangement or mounting of control or safety devices
    • F25B49/04Arrangement or mounting of control or safety devices for sorption type machines, plants or systems
    • F25B49/043Operating continuously
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2500/00Problems to be solved
    • F25B2500/01Geometry problems, e.g. for reducing size
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B30/00Energy efficient heating, ventilation or air conditioning [HVAC]
    • Y02B30/62Absorption based systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Thermal Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种包括NVRAM和页表的存储器装置以及该装置的损耗平均方法。页表包括将NVRAM的虚拟地址映射到NVRAM的物理地址的映射信息。页表的项包括指示对应页的损耗的年龄信息。年龄信息可为对应的页允许的写入操作的剩余次数。每当在页上写入数据时,该页允许的写入操作的剩余次数被减小。

Description

存储器装置及其损耗平均方法
本申请要求于2009年2月10日提交的第10-2009-10775号韩国专利申请的权益,其全部目的为全部内容通过引用包含于此。
技术领域
下面的描述涉及一种存储器装置及其损耗平均(wear leveling)方法。
背景技术
非易失性随机存取存储器(NVRAM)是这样一种RAM,其中,存储在NVRAM上的数据在电源断开时不丢失。NVRAM可被用于存储文件或执行程序。由于存储在NVRAM中的信息在电源断开时不丢失,因此在电源突然断开的情况下,***可迅速恢复到其初始状态。当使用者随意断开电源或电源失效发生时,NVRAM容易地使数据恢复。NVRAM的例子包括相变RAM(PRAM)、铁电RAM(FeRAM)、磁性RAM等。
此外,因为与动态随机存取存储器(DRAM)相比,NVRAM通常具有较低的功耗,当用NVRAM替换DRAM时,可显著降低***功耗。此外,在对特定位置进行新写入之前,NVRAM不需要存储器来擦除先前存储的存储器。因而,NVRAM支持用新的数据覆写先前存储的数据。然而,当与DRAM相比时,NVRAM只能提供有限次数的写入操作。
发明内容
根据本发明的一方面,一种存储器装置包括:存储器,包括非易失性随机存取存储器(NVRAM);控制器,控制所述存储器,其中,控制器管理页表,所述页表包括将NVRAM的虚拟地址映射到NVRAM的物理地址的映射信息,所述页表的项包括指示NVRAM的对应页的损耗的年龄信息。
年龄信息可以指示对应页允许的写入操作的剩余次数,每当在对应页上写入数据时,控制器将对应页允许的写入操作的剩余次数减小1。
所述存储器装置还可包括由控制器控制的非易失性存储器,其中,当电源断开时,控制器将每页的年龄信息存储在所述非易失性存储器中,在启动时恢复存储在所述非易失性存储器中的每页的写入操作的剩余次数,并根据每页的年龄信息对存储器执行存储器分配。
控制器可注册并管理黑名单,黑名单包括作为不再使用的页的一个或一个以上的损耗页的信息,在电源断开时控制器将黑名单存储在所述非易失性存储器中,并在启动时恢复存储在非易失性存储器中的黑名单。
如果对已经在页上执行的写入操作的次数等于或超过阈值的所述页执行写入操作,则控制器可产生页失效,可将该页的内容复制到自由页,并可修改对应于该页的页表,从而使该页的虚拟地址映射到该自由页的物理地址。
如果对已经在页上执行的写入操作的次数等于或超过阈值的所述页执行写入操作,则控制器可产生页失效,并可防止对该页执行存储器分配。
控制器可根据基于二元树数据结构的伙伴分配算法来执行存储器分配,如果在存储器分配过程中在二元树数据结构上的节点处发生页失效,则控制器可标记该节点和至少一个该节点上面的节点。
如果基于至少一个节点的大小请求页分配并需要分配连续空间,则控制器可防止对应于标记的节点的页被分配。
页表可包括层1页表和层2页表,层1页表可以以比页单位大的超级扇区为单位来管理对应于虚拟地址的物理地址,层2页表可以以页为单位管理对应于虚拟地址的物理地址。
层1页表可包括关于每个超级扇区允许的写入操作的剩余次数的信息,层2页表可包括关于每个页允许的写入操作的剩余次数的信息。
页表可包括以页为单位映射虚拟地址和物理地址的层2页表及指示层2页表的位置的层1页表,其中,层2页表包括关于每个页允许的写入操作的剩余次数的信息。
页表的项可包括指示页表是否包括指示存储年龄信息的存储器的位置的指针信息的标识符信息。
如果页由两个或两个以上的程序共享,则页表的项可包括指示存储该共享的页的年龄信息的存储器的位置的指针信息,如果页仅由一个程序使用,则页表的项可包括该由一个程序使用的页的年龄信息。
当被两个或两个以上程序共享的页停止被共享时,存储在存储器中的对应该页的年龄信息可被复制到该页的年龄字段。
如果先前没有被共享的页变为由两个或两个以上的程序共享,则该页的年龄字段的值可被复制到存储器的位置,指示该位置的指针信息可被存储到该页的年龄字段中。
根据另一方面,一种存储器装置的损耗平均方法,存储器装置包括包含非易失性随机存取存储器(NVRAM)的存储器和用于控制该存储器的控制器,其中,对应于NVRAM的页表包括将NVRAM的虚拟地址映射到NVRAM的物理地址的映射信息,页表的项包括指示对应页的损耗的年龄信息,所述方法包括如下步骤:在页上写入数据;响应于在页上的写入步骤而将写入操作的剩余次数减小1,写入操作的剩余次数由对应于该页的页表的项中提供的年龄信息来指示。
所述方法还可包括如下步骤:当电源断开时,将每个页的年龄信息存储在非易失性存储器中;在启动时恢复存储在非易失性存储器中的每个页的写入操作的剩余次数;基于被恢复的写入操作的剩余次数来执行存储器分配。
所述方法还可包括如下步骤:将写入操作的剩余次数已达阈值的损耗页注册在黑名单中,并管理该黑名单。
当在页上执行的写入操作的次数超过阈值时,所述方法还可包括如下步骤:产生页失效;将该页的内容复制到自由页中;修改页表,从而该页的虚拟地址被映射到该自由页的物理地址。
所述方法还包括基于年龄信息来执行存储器分配的步骤,其中,存储器分配的执行包括如下步骤:如果对页上允许的写入操作的次数已达阈值的页执行写入操作,则产生页失效并防止该页被分配。
存储器分配的执行可包括根据伙伴分配算法执行存储器分配,所述伙伴分配算法根据二元树数据结构执行页分配,如果在执行存储器分配时在二元树数据结构的节点上产生页失效,则所述方法还可包括如下步骤:标记该节点和该节点的至少一个上面的节点;确定是否需要基于所述至少一个上面的节点的大小的页分配及是否需要连续空间的分配,其中,如果需要基于所述至少一个上面的节点的大小的页分配且需要连续空间的分配,则对应于标记的节点的页被从存储器分配中排除。
页表可包括指示页表的项是否包括指示存储年龄信息的存储器的位置的指针信息或页表的项是否包括年龄信息的标识符信息。
如果页由两个或两个以上的程序共享,则页表的项可包括指示存储共享页的年龄信息的存储器的位置的指针信息,如果页仅由一个程序使用,则页表的项包括该页的年龄信息。
通过下述具体描述、附图及权利要求,其它特征和方面将是清楚的。
附图说明
图1是示出示例性存储器装置的框图;
图2示出了示例性页表的结构;
图3A示出了当不共享页时的示例性年龄字段,图3B示出了当多个程序共享页时的示例性年龄字段;
图4是示出存储器装置的示例性损耗平均方法的流程图;
图5是示出处理由存储器分配产生的页失效的示例性方法的流程图。
在全部的附图和详细描述中,除非另行描述,否则相同的标号应被理解为表示相同的元件、特征和结构。为清楚、示出和方便,会夸大这些元件的相对尺寸和描述。
具体实施方式
提供下面的详细描述以帮助读者获得这里描述的方法、装置和/或***的全面理解。因而,将向本领域普通技术人员建议这里描述的***、装置和/或方法的各种改变、修改和等同物。此外,为更清楚和简洁,会省略公知的功能和构造的描述。
图1示出了示例性存储器装置100。
存储器装置100包括控制器110、主存储器120和非易失性存储器130。图1中的直线表示***总线,可通过***总线传输数据和指令。
控制器110可以是CPU或微控制器。
主存储器120为可以直接与控制器110交换数据的存储器,当执行操作***(OS)或应用程序时,主存储器120可被控制器110利用。主存储器120包括,例如,非易失性随机存取存储器(NVRAM)122和动态随机存取存储器(DRAM)124。
控制器110把将被OS使用的数据存储在DRAM 124中。用于NVRAM122的存储器分配的页表和数据可被OS使用,且可将它们存储在DRAM 124中。用于NVRAM 122的存储器分配的数据可包括,例如,二元树(binary tree)。当执行诸如伙伴分配算法时,可使用和访问二元树。
在确定普通用户应用程序的程序是否向DRAM 124或向NVRAM 122要求存储器分配之后,该程序可向OS要求存储器分配。
在电源断开时,存储在非易失性存储器130中的数据不丢失。存储在非易失性存储器130中的数据加载到主存储器120中,然后由控制器110处理。非易失性存储器130的例子包括闪存、硬盘等。
控制器110包括存储器管理单元(MMU)112、存储器分配单元114和年龄页失效(APF:aging page fault)处理器(handler)116。控制器110还可以包括一个或更多的其它功能单元,可通过一个或更多的其它功能单元来执行MMU 112、存储器分配单元114和APF处理器116的功能。换句话说,可以以多种方式实现控制器110。
MMU 112将控制器110指示的存储器区域的虚拟地址转换成物理地址。例如,MMU 112通过参照指示哪个物理存储器页映射哪个虚拟存储器页的页表来将虚拟地址转换为物理地址。
根据一方面,页表的项包括指示页损耗的年龄信息。页表的项可包括年龄信息或指示存储年龄信息的存储器的位置的指针信息。可以以页为单位管理年龄。页上的所有字节(byte)具有相同的年龄。
页表的项可包括含有年龄信息的年龄字段(field)。页表的项的年龄信息可指示在页达到耐久极限(endurance limit)之前,在该页上允许的写入操作的剩余次数。
MMU 112根据在存储器区域上执行的写入来管理存储器区域的年龄信息。每在特定页上写入数据时,MMU 112通过减小包括在该页的页表的项中的年龄信息的值(例如,将所述值减小1)来更新年龄信息。
当将对应的页表的项初始化时,设置年龄字段的初始值。可将年龄字段的初始值设置为α,α可以是NVRAM 122的耐久极限。例如,α值是由OS设置的常数,α值被用于防止在已经达到耐久极限的损耗的页上执行写入操作。每页的页表的项包括写入操作剩余次数的值α。每当数据被写入到页上时,控制器将α值减小1,保持追踪(track)α值,使存储器装置获知α值何时变为或接近0。
作为示例,MMU 112不是每当执行存储指令时都更新包括在页的年龄字段中的年龄信息,而是当在对应的存储器上实际执行写入操作时将年龄信息的值减小1。即,即使控制器110执行存储指令,但如果数据缓存在CPU高速缓存中,则不发生年龄信息的更新。可以以字节、字(word)、多字(multiple-word)等为单位来执行存储指令。
当电源断开时,控制器110将每页的年龄信息存储在非易失性存储器130中,在启动(booting)时,控制器110恢复存储在非易失性存储器130中的每页的写入操作的剩余次数,并根据每个页的年龄信息在主存储器120上执行存储器分配。控制器110可产生并管理包括关于损耗页的信息的黑名单,该损耗页的剩余写入操作的值α为例如0。因为不允许在损耗页上执行其余的写入操作,所以损耗页不再被使用。在电源断开时,控制器110可将黑名单存储在非易失性存储器130中,并在启动时恢复存储在非易失性存储器130中的黑名单。
存储器分配单元114执行用于执行计算机程序的存储器分配。存储器分配单元114可根据如伙伴分配算法来将存储器分配到NVRAM 122。
当在写入操作的剩余次数α等于或超过阈值的页上执行写入操作时,控制器110为所述页产生年龄页失效(APF)并防止所述页被使用。MMU 112使APF处理器116在写入操作的剩余次数为0的页上执行失效处理。例如,每当在页中写入数据时,MMU 112将页的年龄信息的值减小1,并当年龄信息的值达到0时产生年龄页失效。
当产生年龄页失效时,APF处理器116对已产生年龄页失效的页执行失效处理。APF处理器116可包括在OS中。APF处理器116复制已产生页失效的页的内容,并将所述内容传输到自由页。MMU 112可修改对应的页表,使得整个页的初始映射物理地址的虚拟地址现在映射到所述自由页的物理地址。
这里提供的是示例性方法,其中,存储器分配单元114根据伙伴分配算法分配存储器。
伙伴分配算法将存储器区域划分成均具有2n个页的扇区(section)并进行管理。伙伴分配算法通过将整个存储器划分成两个相等的块来搜索需要的存储器的块的大小,并确定划分的存储器的块的大小是否为需要的存储器的块的大小的合适的大小。如果划分的存储器的块的大小不是合适的存储器的大小,算法再次划分块。重复这样的操作直至划分的块的大小为需要的存储器的块的合适的大小。在被分配给搜索到的块的存储器被释放后,划分的块被合并成一个块。伙伴分配算法可根据二元树数据结构或哈希表(hash table)数据结构来执行页分配。这里,将在释放了分配的存储器之后将被合并的两个相等的块可被认为彼此互为伙伴。
作为示例,下面提供了根据二元树数据结构的伙伴分配算法。在二元树数据结构中,树的每个节点对应2n个页。如果预定的父节点对应2k个页,则该父节点的子节点对应2k-1个页。因此,子节点的大小是父节点的大小的一半。此外,伙伴指与伙伴***的树上的兄弟对应的节点。
每个节点包括关于该节点的信息。节点的信息可包括包含在该节点中的页数、对应的伙伴节点的标识符信息、在包含在该节点中的页中发生页失效的页的数量、该节点的子节点的标识符信息、对应的节点的父节点的标识符信息和指示在该节点上发生页划分的信息。
当执行存储器分配时,接收关于是否需要将页排列在物理连续的空间上的信息。存在需要连续空间分配的情况,例如用于与外部装置接口连接的存储器分配。在这种情况下,如果未准备连续的存储器空间,则存储器分配会失败。
在分配2k个页的情况下,在均具有2k个页的节点中搜索自由节点。如果找到包括2k个页的自由节点,则对所述自由节点执行存储器分配。因为需要的存储器的块的大小在2k个页和2k-1+1个页的大小之间,所以如果没有具有2k个页的节点,则具有2k-1个页的大小较小的节点由于在节点中没有足够的页而可能会在存储器分配过程中失败。因此,如果没有找到具有2k个页的节点,则搜索具有大于2k个页(如2k+1个页)的大小的节点,如果搜索到了,则与搜索到的节点对应的页被划分并进行存储器分配。
DRAM 124的耐久极限可被初始化为可由年龄信息代表的最大值(如230-1),耐久极限的初始化可在每次启动时发生。
如果在存储器分配单元114执行存储器分配期间在NVRAM 122中发生页失效,则APF处理器116标记在二元树上的包括发生页失效的页的所有节点。即,位于二元树上的发生页失效的节点及该节点的上面的节点或先辈(ancestor)均被标记。可通过将可包括在节点信息中的发生页失效的页的数量增加1来实现标记操作。
存储器分配单元114防止发生页失效的页被分配。如果需要分配与特定大小对应的连续存储器空间,则存储器分配单元114可防止被标记的节点被分配。如果不需要分配连续存储器空间,则搜索标记的节点的下面的节点,可将未被标记的下面的节点用于存储器分配。
当OS启动时,可读取存储在非易失性存储器130中的黑名单。可由存储器分配单元114执行所述读取。例如,存储器分配单元114可以以与在二元树上标记包括发生页失效的页的所有节点的方式相同的方式来标记黑名单中注册的页及与所述页的先辈对应的二元节点。然后,当对连续空间执行存储器分配时,不使用标记的节点。
如上所述,根据示例性实施例,NVRAM 122的页表可包括指示每个页的损耗的年龄信息,每当在页上写入数据时,可更新每个页的年龄信息。这可被用于防止在NVRAM 122被用作主存储器时出现坏页和***崩溃(systemcrash)。
图2示出了示例性页表的结构。
页表可以具有层级结构(hierarchical structure),例如,一层、两层、三层或更多。ARMv6 CPU包括称为页目录的层1页表和称为粗页表(coarse pagetable)的层2页表。
在图2中,层1页表的项标记为L1 pte,层2页表的项标记为L2 pte。例如,层1页表的项可包括1MB大小的扇区和16MB大小的超级扇区(supersection)的管理信息。层1页表的项可包括关于层2页表的位置的信息,层2页表的项可包括包含在层1页表中的每个页的管理信息。
在传统的32位处理器(其中,一pte为32位(bit))中,当提供耐久极限为107的NVRAM时,年龄字段需要最少24位。
根据一方面,可通过增加32位的年龄字段,将每个页表的项扩展至64位,而无需修改现存的L1 pte和L2 pte的构造。在这种情况下,由于向L1 pte和L2 pte中的每个添加了32位的年龄字段,因此与传统方法相比,页表的大小翻倍。
例如,页表结构可包括层1页表,层1页表以超级扇区为单位管理对应于虚拟地址的物理地址。超级扇区比页单位大。层2页表以页为单位管理对应于虚拟地址的物理地址。在这种情况下,层1页表的项的年龄信息L1 pte#1age可包括每个超级扇区允许的写入操作的剩余次数。属于超级扇区的所有页可具有相同的年龄信息。层2页表的项的年龄信息(如L2 pte#1 age)可包括对应的页L2 pte#1允许的写入操作的剩余次数。
页表结构可包括层2页表,所述层2页表包括以页为单位对应于虚拟地址的物理地址的信息。层1页表指示层2页表的项的位置。在这种情况下,层2页表的项可包括以页为单位的写入操作的剩余次数。
通过将指示NVRAM的寿命的值存储到NVRAM的页表的项中,并在每当在NVRAM的页上写入数据时减小所述值,当NVRAM被用作需要允许更多次的写入操作的主存储器时,可以更有效地管理NVRAM的损耗。
图3A示出了当不共享页时的示例性年龄字段,图3B示出了当多个程序共享页时的示例性年龄字段;
图3A示出当页A仅被程序“foo”使用时页A的页表的项。在图3A中,包括在页表的项中的年龄信息L2 pte#1 age代表页A允许的写入操作的剩余次数。当年龄信息被分配为32位时,一些位可被分配给指示年龄信息自身的值的标识符信息。在图3A中,最低的2位“11”代表指示年龄信息自身的值的标识符信息。
图3B示出了页A的页表的项,其中,页A被两个程序“foo”和“bar”共享。当页被两个或两个以上的程序共享时,该页允许进行的写入操作的剩余次数不是存储在对应的页表的项中,而是存储在存储器的另一位置。在这种情况下,页的年龄信息不指示该页允许进行的写入操作的剩余次数,而是包括指示存储器地址的指针信息,其中,写入操作的剩余次数存储在所述存储器地址中。
在图3B中,最低两位“00”被用作标识符信息。标识符信息表示页表的项的年龄信息是指示存储器位置的指针,所述存储器位置存储对应的页A的写入操作的实际剩余次数。被程序“foo”和“bar”使用的页表的项的年龄信息L2 pte#1 age为指示存储器的指针信息,所述存储器存储页A的写入操作的实际剩余次数。
页表的项可包括指示包括在页表的项中的值的标识符信息。标识符信息用于区分页表的项是否包括指示存储年龄信息的另一存储器的位置的指针信息,或用于区分年龄信息是否存储于当前页。如图3A和图3B所示,标识符信息的类型可由年龄字段最低的两位的值表示。年龄字段最低两位的值指示年龄字段最高30位是否为指示存储写入操作的剩余次数的指针信息,或最高30位是否包括写入操作的剩余次数。例如,如果最低两位的值是00,这可用于指示写入操作的剩余次数存储在页上,或写入操作的剩余次数存储在存储器的另一位置。
如果页由两个或两个以上的程序共享,则页的年龄信息可包括指示存储年龄信息的另一存储器的指针信息,如果页由一个程序使用,则页的年龄信息可为所述年龄信息本身。
如果由两个或两个以上的程序共享的页不再被共享,控制器110的MMU112可寻找存储在由指针信息指示的另一存储器中的年龄信息,并将所述信息复制到该页的页表的项的年龄字段中。此外,如果没有被共享的页被两个或两个以上的程序共享,则MMU 112可将该页的年龄字段的值复制到另一存储器的预定位置中。MMU 112可将指示被复制的位置的指针信息写入到该页的年龄字段中。
图4示出了存储器装置的示例性损耗平均方法。
在存储器装置中,页表可包括映射NVRAM的虚拟地址和所述NVRAM的物理地址的映射信息。页表可存储关于每页的损耗的信息。存储器装置可为图1中的存储器装置100。
在操作410中,数据通过存储器分配而写入到预定的页中。在操作420中,存储在所述页的年龄字段中的写入操作的剩余次数被减小1。在操作430中,确定写入操作的剩余次数是否为0。如果写入操作的剩余次数不为0,可将更多的数据写入该页。
如果在操作430中,确定写入操作的剩余次数为0,则该页已达到耐久极限,因此,在操作440中,该页被认为并处理为失效页。管理被认为是失效页的页,从而不再向其中写入数据。
图5是示出处理存储器分配时产生的页失效的示例性方法的流程图。例如,可以通过图1中的存储器装置100执行所述方法。
在操作510中,确定页失效已发生,在操作512中,APF处理器116标记所有发生页失效的节点,例如在二元树上的先辈节点。
在操作514中,确定处于页失效的页是否对应于需要分配连续空间的页。
如果在操作514中,处于页失效的页与连续空间的页对应,则在操作516中,APF处理器116搜索可以分配连续空间的另一自由节点,在操作518中,将搜索并找到的自由节点的页重新分配。包括任何发生年龄页失效的页的节点都被从存储器分配中排除。发生年龄页失效的页和包括所述页的节点被全部标记,当搜索自由节点时,跳过被标记的节点,从而不选择具有页失效的页。
在操作520中,存储在连续空间中的内容被复制到重新分配的页中。在失效页的内容被复制到重新分配的页中并执行页的重新分配之后,在操作528中,MMU 112修改对应的页表以指示重新分配的页。
如果在操作514中,处于页失效的页不与需要分配连续空间的页对应,则在操作522中,APF处理器116搜索另一自由节点,在操作524中,找到的自由页被重新分配。在操作526中,失效页的内容被复制到对应于找到的节点的自由页中。在失效页的内容被复制到自由页中并执行页的重新分配之后,在操作528中,MMU 112修改对应的页表以指示重新分配的页。
根据上述示例,提供了一种用于非易失性随机存取存储器(NVRAM)的损耗补偿方法。因为NVRAM可提供有限次数的写入操作,例如,与DRAM相比,可使用损耗平均来防止存储器失效并延长NVRAM的工作寿命。
上述方法可被记录、存储或固定在一个或一个以上的计算机可读的存储介质中,所述介质包括由计算机实现的程序指令以使处理器执行或完成程序指令。所述介质还可包括,单独的或与程序指令结合的数据文件、数据结构等。计算机可读的介质的例子包括:磁介质(如硬盘、软盘和磁带);光学介质(如CD ROM盘和DVD);磁光介质(如光盘);为存储和执行程序指令而特别构造的硬件装置,如只读存储器(ROM)、随机存取存储器(RAM)、闪存等。程序指令的例子包括机器代码(如由编译器产生的)和含有可由计算机利用解释器执行的更高级的代码的文件。上述硬件装置可被构造为以一个或一个以上的软件模块运行,以执行上述操作和方法,或者反之亦然。此外,计算机可读介质可分散到通过网络连接的计算机***中,计算机可读代码或程序指令可以以分散方式存储并执行。
存储器装置可包括闪存装置和/或存储器控制器。例如,可使用诸如层叠封装(POP)、球栅阵列(BGA)、芯片级封装(CPS)、塑料引线芯片载体(PLCC)、塑料双列直插封装(PDIP)、窝伏尔组件芯片(Die in Waffle Pack)、晶圆形式芯片、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑料公制四方扁平封装(MQFP)、四方扁平封装(QFP)、小外形集成电路(SOIC)、缩小外形封装(SSOP)、薄小外形封装(TSOP)、薄型四方扁平封装(TQFP)、***级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)、晶圆级堆叠封装(WSP)等封装件来实现闪存装置和/或存储器控制器。
闪存装置和/或存储器控制器可包括存储卡。在这种情况下,存储器控制器可被构造为与例如主机的外部装置通信,例如使用诸如通用串行总线(USB)、多媒体卡(MMC)、外部组件互连扩展(PCI-E)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机***接口(SCSI)、增强小型装置接口(ESDI)和集成驱动电子设备(IDE)的各种类型的接口协议中的任一种的主机。
上面已经描述了一些示例性实施例。然而,应该理解的是,可以作出各种修改。例如,如果以不同的顺序执行所述技术和/或如果所述***、构造、装置或电路中的组件以不同的方式结合和/或通过其它组件或它们的等同物来替换或增补,则可以达到合适的结构。因此,其它的实施在权利要求的范围内。

Claims (23)

1.一种存储器装置,包括:
存储器,包括非易失性随机存取存储器;
控制器,控制所述存储器,
其中,控制器管理页表,所述页表包括将非易失性随机存取存储器的虚拟地址映射到非易失性随机存取存储器的物理地址的映射信息,所述页表的项包括指示非易失性随机存取存储器的对应页的损耗的年龄信息。
2.如权利要求1所述的存储器装置,其中,年龄信息指示所述对应页允许的写入操作的剩余次数,每当在所述对应页上写入数据时,控制器将该页允许的写入操作的剩余次数减小1。
3.如权利要求1所述的存储器装置,所述存储器装置还包括由控制器控制的非易失性存储器,
其中,当电源断开时,控制器将每页的年龄信息存储在所述非易失性存储器中,在启动时恢复存储在所述非易失性存储器中的每个页的年龄信息,并根据每个页的年龄信息对存储器执行存储器分配,其中,年龄信息指示对应页允许的写入操作的剩余次数。
4.如权利要求3所述的存储器装置,其中,控制器注册并管理黑名单,黑名单包括作为不再使用的页的一个或一个以上的损耗页的信息,在电源断开时控制器将黑名单存储在所述非易失性存储器中,并在启动时恢复存储在所述非易失性存储器中的黑名单,其中,损耗页指已执行的写入操作的次数等于或超过阈值的页。
5.如权利要求1所述的存储器装置,其中,如果对已经在页上执行的写入操作的次数等于或超过阈值的所述页执行写入操作,则控制器产生页失效,将该页的内容复制到自由页,修改对应于该页的页表,从而使该页的虚拟地址映射到该自由页的物理地址。
6.如权利要求1所述的存储器装置,其中,如果对已经在页上执行的写入操作的次数等于或超过阈值的所述页执行写入操作,则控制器产生页失效,并防止对该页执行存储器分配。
7.如权利要求6所述的存储器装置,其中,控制器根据基于二元树数据结构的伙伴分配算法来执行存储器分配,如果在存储器分配过程中在二元树数据结构上的节点处发生页失效,则控制器标记该节点和该节点的至少一个上面的节点。
8.如权利要求7所述的存储器装置,其中,如果基于至少一个节点的大小请求页分配并需要分配连续空间,则控制器防止与标记的节点对应的页被分配。
9.如权利要求1所述的存储器装置,其中,页表包括层1页表和层2页表,层1页表以超级扇区为单位来管理与虚拟地址对应的物理地址,层2页表以页为单位管理与虚拟地址对应的物理地址,超级扇区单位大于页单位。
10.如权利要求9所述的存储器装置,其中,层1页表包括关于每个超级扇区允许的写入操作的剩余次数的信息,层2页表包括关于每个页允许的写入操作的剩余次数的信息。
11.如权利要求1所述的存储器装置,其中,页表包括以页为单位映射虚拟地址和物理地址的层2页表及指示层2页表的位置的层1页表,其中,层2页表包括关于每个页允许的写入操作的剩余次数的信息。
12.如权利要求1所述的存储器装置,其中,页表的项包括标识符信息,所述标识符信息指示页表是否包括指示存储年龄信息的存储器的位置的指针信息。
13.如权利要求12所述的存储器装置,其中,如果页由两个或两个以上的程序共享,则页表的项包括指示存储该共享的页的年龄信息的存储器位置的指针信息,如果页仅由一个程序使用,则页表的项包括由一个程序使用的页的年龄信息。
14.如权利要求13所述的存储器装置,其中,当被两个或两个以上程序共享的页停止被共享时,存储在存储器中的对应该页的年龄信息被复制到该页表的该页的年龄字段。
15.如权利要求12所述的存储器装置,其中,如果先前没有被共享的页变为由两个或两个以上的程序共享,则该页表的该页的年龄字段的值被复制到存储器的一定位置,指示该位置的指针信息被存储到该页的年龄字段中。
16.一种存储器装置的损耗平均方法,所述存储器装置包括存储器和控制器,所述存储器包括非易失性随机存取存储器,控制器控制所述存储器,其中,由与该非易失性随机存取存储器对应的控制器管理的页表包括映射非易失性随机存取存储器的虚拟地址和非易失性随机存取存储器的物理地址的映射信息,页表的项包括指示对应页的损耗的年龄信息,所述方法包括如下步骤:
在页上写入数据;
响应于在页上的写入步骤而将写入操作的剩余次数减小1,写入操作的剩余次数由与该页对应的页表的项中提供的年龄信息来指示。
17.如权利要求16所述的方法,所述方法还包括如下步骤:
当电源断开时,将每个页的年龄信息存储在非易失性存储器中;
在启动时恢复存储在非易失性存储器中的每个页的写入操作的剩余次数;
基于被恢复的写入操作的剩余次数来执行存储器分配。
18.如权利要求16所述的方法,所述方法还包括如下步骤:
将写入操作的剩余次数已达阈值的损耗页注册在黑名单中,并管理该黑名单。
19.如权利要求16所述的方法,其中,当对所述页执行的写入操作的次数等于或超过阈值时,所述方法还包括如下步骤:
产生页失效;
将该页的内容复制到自由页中;
修改页表,使得该页的虚拟地址被映射到该自由页的物理地址。
20.如权利要求16所述的方法,其中,所述方法还包括基于年龄信息来执行存储器分配的步骤,其中,执行存储器分配的步骤包括如下步骤:如果对页上允许的写入操作次数已达到或超过阈值的页执行写入操作,则产生页失效并防止该页被分配。
21.如权利要求20所述的方法,其中,
执行存储器分配的步骤包括根据伙伴分配算法来执行存储器分配,所述伙伴分配算法根据二元树数据结构执行页分配,
如果在执行存储器分配时在二元树数据结构上的节点处产生页失效,则所述方法还包括如下步骤:
标记该节点和该节点的至少一个上面的节点;
确定是否需要基于所述至少一个上面的节点的大小的页分配及是否需要连续空间的分配,
其中,如果需要基于所述至少一个上面的节点的大小的页分配且需要连续空间的分配,则与所述标记的节点对应的页被从存储器分配中排除。
22.如权利要求16所述的方法,其中,页表包括指示页表的项是否包括指示存储年龄信息的存储器的位置的指针信息或页表的项是否包括年龄信息的标识符信息。
23.如权利要求22所述的方法,其中,如果页由两个或两个以上的程序共享,则页表的项包括指示存储该共享页的年龄信息的存储器的位置的指针信息,如果页仅由一个程序使用,则页表的项包括该页的年龄信息。
CN201010105764A 2009-02-10 2010-02-04 存储器装置及其损耗平均方法 Pending CN101799784A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0010775 2009-02-10
KR1020090010775A KR20100091544A (ko) 2009-02-10 2009-02-10 메모리 시스템 및 그 마모도 관리 방법

Publications (1)

Publication Number Publication Date
CN101799784A true CN101799784A (zh) 2010-08-11

Family

ID=42101774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010105764A Pending CN101799784A (zh) 2009-02-10 2010-02-04 存储器装置及其损耗平均方法

Country Status (5)

Country Link
US (1) US20100205363A1 (zh)
EP (1) EP2221830A1 (zh)
JP (1) JP5607943B2 (zh)
KR (1) KR20100091544A (zh)
CN (1) CN101799784A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103123609A (zh) * 2013-03-13 2013-05-29 中国科学院上海微***与信息技术研究所 存储器的分块管理方法
CN105117285A (zh) * 2015-09-09 2015-12-02 重庆大学 一种基于移动虚拟化***的非易失性存储器调度优化方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101145144B1 (ko) * 2010-11-23 2012-05-14 한국과학기술정보연구원 가상머신 스케줄링 방법 및 시스템
KR101180406B1 (ko) 2011-01-28 2012-09-10 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 블럭 관리 방법
JP5664347B2 (ja) * 2011-03-04 2015-02-04 ソニー株式会社 仮想メモリシステム、仮想メモリの制御方法、およびプログラム
US9003247B2 (en) 2011-04-28 2015-04-07 Hewlett-Packard Development Company, L.P. Remapping data with pointer
US8924632B2 (en) * 2011-09-16 2014-12-30 Apple Inc. Faster tree flattening for a system having non-volatile memory
US9378142B2 (en) 2011-09-30 2016-06-28 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
CN103946816B (zh) * 2011-09-30 2018-06-26 英特尔公司 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram)
EP2761476B1 (en) 2011-09-30 2017-10-25 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
US20130097403A1 (en) 2011-10-18 2013-04-18 Rambus Inc. Address Mapping in Memory Systems
US9829951B2 (en) * 2011-12-13 2017-11-28 Intel Corporation Enhanced system sleep state support in servers using non-volatile random access memory
JP2013131893A (ja) * 2011-12-21 2013-07-04 Sumitomo Electric Ind Ltd 光通信モジュール、光通信モジュールのログ記録方法および光通信装置
US9390025B2 (en) * 2011-12-30 2016-07-12 Rambus Inc. Wear leveling in a memory system
KR101368834B1 (ko) * 2012-03-08 2014-03-04 한양대학교 산학협력단 내구도를 복수의 단계로 구분하는 플래시 메모리 제어장치
US9009392B2 (en) 2012-04-25 2015-04-14 International Business Machines Corporation Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage
JP2013254357A (ja) 2012-06-07 2013-12-19 Sony Corp 情報処理装置および方法、並びにプログラム
CN102765256B (zh) * 2012-06-21 2014-07-16 珠海艾派克微电子有限公司 记录芯片使用状态信息的方法、成像盒的芯片及成像盒
KR101987740B1 (ko) 2012-07-09 2019-06-11 에스케이하이닉스 주식회사 불휘발성 메모리 장치의 채널 특성을 추정하기 위한 방법
KR102060996B1 (ko) 2013-01-07 2020-02-11 삼성전자주식회사 단말기의 메모리 주소 및 데이터변환 장치 및 방법
KR102015053B1 (ko) 2013-02-20 2019-08-27 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 데이터 처리 방법
US8924824B1 (en) 2013-03-12 2014-12-30 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
JP6399755B2 (ja) * 2014-01-06 2018-10-03 キヤノン株式会社 ミラーリング装置及びその制御方法
JP2016085677A (ja) * 2014-10-28 2016-05-19 富士通株式会社 メモリ管理方法、メモリ管理プログラム及び情報処理装置
KR102039776B1 (ko) * 2016-11-11 2019-11-01 명지대학교 산학협력단 메모리의 주소 공간 난수화 장치 및 방법
US20220391317A1 (en) * 2021-05-28 2022-12-08 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for wear-level aware memory allocation

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0391852A (ja) * 1989-09-05 1991-04-17 Mitsubishi Electric Corp Eepromのデータ書き込み防止回路
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5432917A (en) * 1992-04-22 1995-07-11 International Business Machines Corporation Tabulation of multi-bit vector history
JPH0778766B2 (ja) * 1992-09-25 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
US5963970A (en) * 1996-12-20 1999-10-05 Intel Corporation Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
US5930829A (en) * 1997-03-31 1999-07-27 Bull Hn Information Systems Inc. Dynamic memory allocation for a random access memory employing separately stored space allocation information using a tree structure
US6496912B1 (en) * 1999-03-25 2002-12-17 Microsoft Corporation System, method, and software for memory management with intelligent trimming of pages of working sets
US6405323B1 (en) * 1999-03-30 2002-06-11 Silicon Storage Technology, Inc. Defect management for interface to electrically-erasable programmable read-only memory
US7660941B2 (en) * 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US7886108B2 (en) * 2000-01-06 2011-02-08 Super Talent Electronics, Inc. Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US8171204B2 (en) * 2000-01-06 2012-05-01 Super Talent Electronics, Inc. Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels
US6345001B1 (en) * 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
KR100484147B1 (ko) * 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
EP1556868B1 (en) * 2002-10-28 2007-09-05 SanDisk Corporation Automated wear leveling in non-volatile storage systems
JP3808842B2 (ja) * 2003-04-25 2006-08-16 株式会社東芝 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP4281421B2 (ja) * 2003-06-06 2009-06-17 ソニー株式会社 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
US7089370B2 (en) * 2003-09-30 2006-08-08 International Business Machines Corporation Apparatus and method for pre-fetching page data using segment table data
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
DE602004022459D1 (de) * 2004-01-19 2009-09-17 Trek 2000 Int Ltd Tragbare datenspeichereinrichtung mit einer speicheradressen-abbildungstabelle
US7869219B2 (en) * 2004-01-20 2011-01-11 Super Talent Electronics, Inc. Flash drive with spring-loaded retractable connector
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
JP5130646B2 (ja) * 2005-06-06 2013-01-30 ソニー株式会社 記憶装置
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
JP2008158773A (ja) * 2006-12-22 2008-07-10 Toshiba Corp 情報処理装置およびメモリ管理方法
KR100857761B1 (ko) * 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
US7757035B2 (en) * 2007-06-26 2010-07-13 Intel Corporation Method for optimizing virtualization technology and memory protections using processor-extensions for page table and page directory striping
KR101401560B1 (ko) * 2007-12-13 2014-06-03 삼성전자주식회사 반도체 메모리 시스템 및 그것의 마모도 관리 방법
KR101437123B1 (ko) * 2008-04-01 2014-09-02 삼성전자 주식회사 메모리 시스템 및 그것의 마모도 관리 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103123609A (zh) * 2013-03-13 2013-05-29 中国科学院上海微***与信息技术研究所 存储器的分块管理方法
CN103123609B (zh) * 2013-03-13 2015-07-15 中国科学院上海微***与信息技术研究所 存储器的分块管理方法
CN105117285A (zh) * 2015-09-09 2015-12-02 重庆大学 一种基于移动虚拟化***的非易失性存储器调度优化方法
CN105117285B (zh) * 2015-09-09 2019-03-19 重庆大学 一种基于移动虚拟化***的非易失性存储器调度优化方法

Also Published As

Publication number Publication date
JP2010186477A (ja) 2010-08-26
US20100205363A1 (en) 2010-08-12
JP5607943B2 (ja) 2014-10-15
EP2221830A1 (en) 2010-08-25
KR20100091544A (ko) 2010-08-19

Similar Documents

Publication Publication Date Title
CN101799784A (zh) 存储器装置及其损耗平均方法
JP7446482B2 (ja) 順次的にプログラムするメモリサブシステムにおいて非同期電力損失をハンドリングすること
US11221914B2 (en) Memory system for controlling nonvolatile memory
US11513707B2 (en) Memory system and method of controlling nonvolatile memory
US7890550B2 (en) Flash memory system and garbage collection method thereof
US8566505B2 (en) Flash management using sequential techniques
US8910017B2 (en) Flash memory with random partition
US10409715B2 (en) Memory controller, nonvolatile memory system, and operating method thereof
US20120005451A1 (en) Data storage device and bad block managing method thereof
US20100125694A1 (en) Memory device and management method of memory device
CN107077427A (zh) 跨电源周期来跟踪对写入命令和解除映射命令的混合
CN105745627A (zh) 用于非易失性存储器存储设备的地址转换
CN110442529B (zh) 可配置的存储器***及配置和使用该存储器***的方法
US10732877B1 (en) Smart mapping table update post background operations
JP2015026379A (ja) 磁気ランダムアクセスメモリ(mram)を使用する記憶デバイスのメモリアレイのコントローラ管理
US20110320689A1 (en) Data Storage Devices and Data Management Methods for Processing Mapping Tables
CN113900586A (zh) 存储器***及其操作方法
KR20210050592A (ko) 저장 디바이스 상의 네임스페이스에서의 오류 검사
CN113851166A (zh) 存储器子***中的加速读取转译路径
US11561902B2 (en) Cache operations in a hybrid dual in-line memory module
CN113961142B (zh) 包含各种时延和容量的存储器装置的存储器子***
KR20130079706A (ko) 휘발성 메모리를 포함하는 저장 장치의 구동 방법
US10861580B2 (en) Memory system for controlling nonvolatile memory
CN117632781A (zh) 用于共享存储器快照的***、非暂时性计算机可读存储媒体和方法
CN111381776A (zh) 用于存储器装置的方法、***和计算机可读媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100811