CN101874239A - 基于写入频率将数据写入不同的存储设备 - Google Patents

基于写入频率将数据写入不同的存储设备 Download PDF

Info

Publication number
CN101874239A
CN101874239A CN200880116826A CN200880116826A CN101874239A CN 101874239 A CN101874239 A CN 101874239A CN 200880116826 A CN200880116826 A CN 200880116826A CN 200880116826 A CN200880116826 A CN 200880116826A CN 101874239 A CN101874239 A CN 101874239A
Authority
CN
China
Prior art keywords
memory device
memory
piece
threshold value
frequency
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
Application number
CN200880116826A
Other languages
English (en)
Other versions
CN101874239B (zh
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.)
Seagate Technology LLC
Original Assignee
SandForce Inc
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 SandForce Inc filed Critical SandForce Inc
Publication of CN101874239A publication Critical patent/CN101874239A/zh
Application granted granted Critical
Publication of CN101874239B publication Critical patent/CN101874239B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种用于基于写入频率将数据写入不同的存储设备的系统、方法以及计算机程序产品。在操作中,确定写入数据的频率。此外,基于频率从多个不同类型的存储设备中选择要写入数据的存储设备。

Description

基于写入频率将数据写入不同的存储设备
技术领域
本发明涉及一种存储器,更具体地涉及一种具有有限寿命的存储器。
背景技术
存储器是制约现代企业计算系统的性能的重要方面之一。制约存储器的一个方面是许多类型的存储器呈现出有限寿命的事实。例如,诸如闪存的非易失性存储器的寿命随着每次被擦除和重写而减少。经过长时间的使用以及数以千计的擦除和重写,这样的闪存会变得越来越不可靠。
一种用于减缓存储器寿命减少的通用的现有技术是均衡损耗(wear leveling)。均衡损耗使得存储设备内的块以粗略相等的次数被擦除和写入。这避免了一个块被频繁地使用、达到寿命末期而必须停止使用的情形。这样会减小整个设备的存储容量。尽管存储设备可以具有备用的块,但是这些备用的块会被用尽而使设备的存储容量降低,这会使得存储设备不可以使用。
存储器供应商通常会保证存储器一定百分比的预期寿命。例如,闪存供应商可以保证在100,000个编程和擦除周期(即,耐久性)之后,根据超出的错误校正要求(error correction requirement),小于1%的块将不能使用。在这种情况下,错误校正要求可以被设置为校正闪存设备的每512字节的单比特错误。一些近来开发的设备具有更低的耐久性。这些设备需要更大的错误校正要求。
此外,存储器的块的寿命可以变化。因此,使用均衡多个程序擦除周期的损耗均衡,存储设备只在特定百分比(例如,1%)的块运作不良时才达到寿命末期。然而,包含在存储设备中的大多数块仍是可用的。
因此,我们需要解决与现有技术相关联的这些和/或其他的问题。
发明内容
本发明提供了一种用于基于写入频率将数据写入不同存储设备的系统、方法以及计算机程序产品。在操作中,确定写入数据的频率。此外,基于该频率从多个不同类型的存储设备中选择要写入数据的存储设备。
附图说明
图1示出了根据一个实施例的用于增加存储器的多个块的寿命的方法。
图2示出了根据另一实施例的用于增加存储器的多个块的寿命的技术。
图3示出了根据另一实施例的用于增加存储器的多个块的寿命的方法。
图4示出了根据一个实施例的用于基于写入频率将数据写入不同存储设备的方法。
图5示出了实施有前述各个实施例的各个体系结构和/或功能(functionality)的示例性系统。
具体实施方式
图1示出了根据一个实施例的用于增加存储器的多个块的寿命的方法100。如图所示,确定影响存储器的多个块的寿命的至少一个因子。参见操作102。另外,基于该至少一个因子选择多个块中要进行写入的块。参见操作104。
在本说明书的上下文中,存储器的寿命可以包括任意的持续时间,在该持续时间期间内,存储器呈现出任意期望的可用性的等级。例如,在各个实施例中,这种寿命可以包括,但不限于,期望的寿命、实际的寿命、估计的寿命等。此外,可用性的等级可以指任何与可用性有关的参数,例如仍能使用的组件(例如,块、单元等)的百分比、存储器或其组件的可靠性、和/或有关该问题的其他任何参数。
此外,在各个实施例中,存储器可以包括但不限于:机械存储设备(例如,磁盘驱动器等)、固态存储设备(例如,动态随机存取存储器(DRAM)、闪存等)、和/或其他的任何存储设备。在存储器包含闪存的情况下,该闪存可以包括但不限于:单层单元(SLC)设备、多层单元(MLC)设备、NOR闪存、NAND闪存、MLC NAND闪存、SLC NAND闪存等。在一个实施例中,非易失性存储设备可以包括每单元单比特的NOR闪存、每单元多比特的NOR闪存、每单元单比特的NAND闪存以及每单元多比特的NAND闪存中的至少一个。
此外,在本说明书的上下文中,因子可以包括能够直接或间接地影响存储器的块的寿命的任意因子。例如,在各个实施例中,因子可以包括但不限于:在涉及存储器的至少一个块的读取操作期间的错误(如,检测到的、被校正的等)数量、在涉及存储器的至少一个块的编程操作与读取操作之间的持续时间、对存储器的至少一个块进行擦除的次数、擦除存储器的至少一个块所需要的持续时间、对存储器的至少一个块进行编程所需要的持续时间、对存储器的至少一个块进行编程所需要的重试次数、存储器的至少一个块的页的插入读取(intervening read)的数量、存储器的相邻页、结构和组织中的插入读取的数量、和/或符合上述定义的其他任何因子。作为选择,可存储存储器的块的使用历史。在这种情况下,可以利用该使用历史来确定因子。
现在,将阐述关于各个可选体系结构和特征的更具说明性的信息,前述的架构可以利用这些体系结构和特征而根据用户的期望决定实施或不实施。应当特别注意,所阐述的以下信息是出于示例性目的的,而不应解释为以任何方式进行限定。以下特征中的任何一个可以选择性地与所描述的其他特征之外的特征进行结合或不结合。
图2示出了根据另一实施例的用于增加存储器的多个块的寿命的技术200。作为选择,本技术200可以在图1的详细内容的背景下实施。当然,技术200还可以在任何期望的环境下实施。还应当注意,在本说明书中可以应用前述的定义。
如图所示,可以监控存储器的多个块204的耐久性202。在这种情况下,图2中的条形表示对特定块204的写入数量。在本说明书的上下文中,耐久性202指的是对存储器的每个块204的写入和擦除周期的数量。因而,耐久性202对应于存储器的块204的使用。在一个实施例中,可以监控并记录写入和/或擦除的数量。
通过监控块204的写入数量,可以确定哪个块被利用得更频繁。在一个实施例中,可以使用该监控来确定任何一个块204的写入数量是否超过阈值206。另外,这样的监控可以使使用均等,从而当某些块的写入数量达到阈值206时,可以利用低于阈值206的其他块进行写入。例如,可以改变块被写入和重复利用的顺序,以将块之间的耐久值的任意差值最小化。
在操作中,可以确定和/或监控影响存储器的多个块204的寿命的至少一个因子。然后,可以基于该至少一个因子从多个块中选择要进行写入的块。在各个实施例中,从寿命观点来看,可存在指示块204的状态的多个因子。在一个实施例中,因子可以包括与每个块204相关联的校正错误的数量。例如,这种校正错误可以对应于数据的读取。
在各种情况下,该因子可以受多个其他因子影响。例如,校正错误的数量会受从编程操作到读取的过程中逝去的时间的多少影响,以及会受执行了多少次读取影响。另外,对块进行擦除和编程的次数也会影响校正错误的数量。
当然,许多其他的因子也会影响校正错误的数量。在各个实施例中,因子可以对应于块204的使用时段、写入的频率、操作的速率、允许的操作的总数量以及寿命的持续时间等。当然,阐述这些示例性方面只是为了示意性目的,因为因子可以对应于会影响存储器的块的预期寿命的任何方面。
在一个实施例中,可以利用分数来确定是否改变块204被写入和重复利用的顺序。例如,每个块204均可以具有基于至少一个因子的对应的分数函数。可以利用该分数函数来确定每个块204的分数。
可以利用该分数将块204的分数函数的值之间的差最小化。作为选择,该分数可以基于影响块204的寿命的一个因子。作为另一种选择,该分数可以基于影响块204的寿命的多个因子。
例如,在两个存储器的块的情况下,一个存储器的块可能具有高于阈值206的分数,而一个可能具有低于阈值206的分数。在这种情况下,每个分数均可以对应于影响块的寿命的至少一个因子。应当注意,分数可以对应于任何数量的因子,如以上所提到的。
在一个实施例中,分数可以表现为对应于与块的预期寿命相关的至少一个因子的值。在这种情况下,值之间的差会影响块的预期寿命之间的差。因而,可以将两个块均等化。
在一个实施例中,上述均等化可以包括利用(例如,写入)低于阈值206的块,而不利用高于阈值206的块。该均等化会一直进行,直到两个块对应于相等的或接近相等的值的点。在该点处,可以增加阈值206,从而可以利用任一存储块。
初始,所有的块均低于阈值206。当块超过阈值206时,其可以被标记或以其他方式被确定为超过阈值206的块。然后,可以利用低于阈值206的块204,直到他们达到或超过阈值206。
该操作可以一直继续,直到所有低于阈值206的块204均被用尽。在该点处,可以设置新的阈值,使得所有现有的块204均低于该新的阈值。这种操作可以在块204的整个寿命中重复。
作为选择,在对块204之间的变化进行均等化期间,可以利用自由空间(free space)的计数百分比(count percentage),以将被擦除和写入的块204的总数最小化。另外,可以利用各种其他的技术来将被擦除和写入的块的总数最小化,并对块之间的变化进行均等化(即,块收回(block reclamation))。此外,可以利用各种其他的均等化技术来对块204之间的变化进行均等化。
在一个实施例中,可以在系统中利用多个存储器模块。在这种情况下,存储器模块可以包括具有不同寿命的存储器模块。这样,系统的总的存储器寿命可以达到多个存储器的寿命的总和,与受限于最小寿命的存储器模块相反。
在一个实施例中,寿命估计器模块可以用于经由存储器总线接收通信至系统控制器的命令。假定执行通过总线接收到的命令,则寿命估计器模块可以计算估计的寿命。在一个实施例中,可以利用寿命估计器来监控写入的次数和/或影响存储器块204的寿命的其他因子。严格地讲,作为选择,可以利用寿命估计器模块设置阈值206。
当然,可以使用各种技术来设置阈值206。在一个实施例中,阈值206可以是预定的阈值。在另一实施例中,阈值206可以是动态设置的。作为选择,阈值可以直接相关于与至少一个存储器的块204相关联的设备的寿命(例如,预期的、期望的等)。
在一个实施例中,可以利用内部存储设备多余的容量,以降低成本并提高性能。在这样的实施例中,基于与其寿命相关联的任何因子,数据可以在独立的存储设备之间移动。例如,可以涉及一种情形,多个存储设备中的第一存储设备包含一组数据,该数据相对于多个存储设备中的第二存储设备的数据被更频繁地重写。在这种情况下,在超过与寿命相关联的至少一个因子的阈值之后,这样的数据可以从第一存储设备移动到第二存储设备,因此第一存储设备或其一个或多个块/模块可以用于存储较不频繁写入的数据或从进一步的使用中收回。
所以,可以恰当地分布存储设备寿命,以避免一个存储设备或存储设备的一部分在相对于一组的其他存储设备的过早的时间点出现故障。当然,本技术不但可以应用在不同存储设备之间,还可以应用在其部分中。因此,任何存储组件的寿命均可以以这种方式管理。
图3示出了根据另一实施例的用于增加存储器的多个块的寿命的方法300。作为选择,本方法300可以在图1~图2的功能的背景下实施。当然,方法300还可以在任何期望的环境下执行。还应当注意,在本说明书中可以应用前述的定义。
如图所示,阈值被定义成使得存储器的所有块均低于阈值。参见操作302。在一个实施例中,阈值可以对应于块的使用。例如,当使用块时,与块相关联的使用值可以接近阈值。在另一实施例中,阈值可以对应于与一组块的预期寿命相关联的至少一个其他因子。
例如,阈值可以对应于块的校正错误的数量。在这种情况下,当块被使用时,与块相关联的校正错误的数量的值可以接近阈值。当然,阈值可以对应于影响块的寿命的任意数目的因子。
一旦初始阈值被确定(其中块低于该阈值),就确定块是否需要被收回。参见操作304。例如,如果因子指示一个块或一组块高于阈值或已经不匀称地用于其他的块,则可以确定该块或该多个块需要被收回。
在本说明书的上下文中,块收回(block reclaiming)(该动作可以由无用单元收集、读取干扰、擦去、校正错误的数量或其他事件触发)指的是基于至少一个因子对块之间的变化进行均等化。例如,在各个实施例中,块收回可以包括:基于在读/写过程中检测到的错误的数量、在读/写过程中校正的错误的数量、擦除块的时间长度、对块进行编程的时间长度、在编程过程中利用的条目(entry)的数量、页的插入读取的数量、邻近页的插入读取的数量、块的擦除和编程周期的数量、和/或任何其他因子,对块之间的变化进行均等化。
如果确定块需要被收回,则将块的集合中低于阈值的块分配为被写入。参见操作306。例如,可以在存储器操作中利用低于阈值的块,这与块的集合中高于阈值的块或多个块相反。
一旦将块的集合中低于阈值的(多个)块分配为被写入,就确定了任意块是否超过阈值。参见操作308。例如,块的集合中低于阈值的块可以被写入,直到确定该块超过阈值。
如果确定块超过阈值,则将该块放置在对应于超过阈值的块的块集合中。参见操作310。如果该块没有超过阈值,则该块可以保留在低于阈值的块的集合中并可以继续利用。
然后,确定所有低于阈值的块是否均已用尽。参见操作312。换言之,确定对应于低于阈值的块的块集合中的所有块是否已经包含在对应于高于阈值的块的块集合中。
如果所有低于阈值的块均已用尽,则设置新的阈值,并且所有现有的块均被定义为低于新的阈值。参见操作314。一旦设置了新的阈值,就可以再次确定块是否需要被收回。作为选择,这可以在存储器的块的整个寿命期间内继续。
应注意,可以基于各种标准设置新的阈值和初始阈值。例如,可以基于块的预期使用来设置阈值。在一个实施例中,该阈值可以是预定的阈值。在另一实施例中,可以基于存储器的块的使用来确定该阈值。
图4示出了根据一个实施例的用于基于写入频率将数据写入不同存储设备的方法400。作为选择,本方法400可以在图1~图3的功能和体系结构的背景下实施。当然,方法400还可以在任何期望的环境下执行。还应当注意,在本说明书中可以应用前述的定义。
如图所示,确定写入数据的频率。参见操作402。此外,基于该频率从多个不同类型的存储设备中选择要写入数据的存储设备。参见操作404。
在一个实施例中,该选择可以是基于阈值进行的。例如,如果写入数据的频率超过阈值,则可以选择特定存储设备来写入数据。作为选择,不同类型的存储设备可以包括SLC设备和MLC设备、具有不同耐久性的两个MLC、SLC和DRAM、MLC和DRAM。当然,在各种其他的实施例中,不同类型的存储设备可以包括任意数目的设备,包括各种不同类型的存储器。
在另一实施例中,至少两个不同类型的存储器可以集成在一个设备中。例如,闪存MLC和SLC可以组合在一个设备上。作为另一示例,两种不同类型的闪存MLC可以集成在一个设备中。在又一示例中,可以以编程方式确定一个设备中的存储器类型的混合。在一种情况下,可以确定与SLC闪存相关联的存储设备的一部分,并且可以确定与MLC闪存相关联的存储设备的一部分。
作为具体的示例,可以确定来自特定应用或程序的数据以高频率写入。在这种情况下,可以选择SLC设备来写入数据。另一方面,来自特定应用或程序、或磁盘的特定位置、或来自特定存取模式的数据以低频率写入。在这种情况下,可以选择MLC设备来写入数据。当然,这仅仅是示例,因为基于确定的频率可以选择任意数量的设备。
在一个实施例中,寿命估计器模块可以用于经由存储器总线接收通信至系统控制器的命令。假定通过总线接收到的(多个)命令被执行,则寿命估计器模块可以监控频率并计算估计的寿命。当然,频率可以以各种方式进行确定,并且不局限于由寿命估计器模块进行确定。
应当注意,在各个实施例中,前述实施例中所提到的存储器可以包括机械存储设备(例如磁盘驱动器,包括SATA磁盘驱动器、SAS磁盘驱动器、光纤通道磁盘驱动器、IDE磁盘驱动器、ATA磁盘驱动器、CE磁盘驱动器、USB磁盘驱动器、智能卡磁盘驱动器、MMC磁盘驱动器等)和/或非机械存储设备(例如,基于半导体的存储器等)。例如,这样的非机械存储器可以包括易失性或非易失性存储器。在各个实施例中,非易失性存储设备可以包括闪存(例如,每单元单比特的NOR闪存、每单元多比特的NOR闪存、每单元单比特的NAND闪存、每单元多比特的NAND闪存、每单元多层(level)和/或多比特的NAND闪存、大块闪存、阻性存储器(resistive memory)、相变存储器、磁性存储器等)。尽管本文阐述了存储器的多个示例,但是应当注意,各种原理可以应用于任何类型的存储器,存储器的寿命会由于在其上执行各种操作而减少。
图5示出了实施有前述各个实施例的各个体系结构和/或功能的示例性系统500。例如,示例性系统500可以代表在上述一些实施例中阐述的计算机。此外,上述各个装置均可以是系统500的组件。
如图所示,提供了一种系统500,包括连接至通信总线502的至少一个主机处理器501。系统500还包括主存储器504。控制逻辑(软件)和数据存储在主存储器504中,主存储器可以采取随机存取存储器(RAM)的形式。
系统500还可以包括图像处理器506和显示器508(即,计算机监视器)。系统500还可以包括辅助存储器510。辅助存储器510包括例如硬盘驱动器和/或以软盘驱动器、磁带驱动器、光盘驱动器等为代表的可移动存储驱动器。可移动存储驱动器以已知的方式从可移动存储模块读取数据和/或将数据写入可移动存储模块。
计算机程序、或计算机控制逻辑算法可以存储在主存储器504和/或辅助存储器510中。当执行这种计算机程序时,使能系统500以执行各个功能。主存储器504、辅助存储器510和/或任何其他的存储器是计算机可读介质的可行性示例。
在一个实施例中,之前各图的体系结构和/或功能可以在主机处理器501、图像处理器506、辅助存储器510、能够容纳主处理器501和图像处理器506的至少一部分的集成电路(未示出)、芯片组(即,被设计用于运行并作为用于执行相关功能的模块进行销售的一组集成电路等)、和/或用于该问题的任何其他的集成电路的上下文中实施。
进一步地,之前各图的体系结构和/或功能可以在通用计算机系统、电路板系统、专用于娱乐目的的游戏控制台系统、专用系统、和/或其他任何期望的系统的上下文中实施。例如,系统500可以采取桌上型计算机、膝上型计算机、和/或其他任何类型的逻辑电路的形式。进一步地,系统500可以采取其他各种设备的形式,包括但不限于:个人数字助理(PDA)设备、移动电话设备、电视等。
此外,尽管未示出,但是为了通信的目的,系统500可以连接至网络(例如,电信网、局域网(LAN)、无线网、诸如因特网的广域网(WAN)、对等网路、电缆网络等)。
尽管上文已经描述了各个实施例,但是应理解,这些实施例只是以示例的方式给出,而并不进行限定。因此,优选实施例的宽度和范围不应局限于任何上述的示例性实施例,而应当只根据以下的权利要求及其等同替换物对其进行限定。

Claims (23)

1.一种方法,包括:
确定数据写入的频率;以及
基于所述频率从多个不同类型的存储设备中做出选择以写入所述数据。
2.根据权利要求1所述的方法,其中,所述选择进一步基于阈值。
3.根据权利要求1所述的方法,其中,所述方法进一步包括确定阈值。
4.根据权利要求3所述的方法,其中,如果所述频率超过所述阈值,则将所述数据写入到第一类型的存储设备。
5.根据权利要求4所述的方法,其中,所述第一类型的存储设备包括单层单元(SLC)存储设备。
6.根据权利要求4所述的方法,其中,如果所述频率没有超过所述阈值,则将所述数据写入到第二类型的存储设备。
7.根据权利要求4所述的方法,其中,所述第一类型的存储设备包括多层单元(MLC)存储设备。
8.根据权利要求1所述的方法,其中,所述频率由寿命估计器模块监控。
9.根据权利要求8所述的方法,其中,所述寿命估计器模块计算所述存储设备的估计寿命。
10.根据权利要求8所述的方法,其中,所述寿命估计器模块基于存储命令计算所述存储设备的估计寿命。
11.根据权利要求1所述的方法,其中,所述存储设备包括机械存储设备。
12.根据权利要求11所述的方法,其中,所述机械存储设备包括磁盘驱动器。
13.根据权利要求1所述的方法,其中,所述存储设备包括固态存储设备。
14.根据权利要求13所述的方法,其中,所述固态存储设备包括闪存。
15.根据权利要求14所述的方法,其中,所述闪存包括NAND闪存。
16.根据权利要求1所述的方法,其中,所述存储设备中的至少一个存储设备包括位于同一存储设备上的单层单元(SLC)闪存和多层单元(MLC)闪存。
17.根据权利要求16所述的方法,其中,所述方法进一步包括确定所述至少一个存储设备的与所述单层单元(SLC)闪存相关联的部分和所述至少一个存储设备的与所述多层单元(MLC)闪存相关联的部分。
18.根据权利要求1所述的方法,其中,所述存储设备中的至少一个存储设备包括位于同一存储设备上的两种不同类型的单层单元(SLC)闪存设备。
19.根据权利要求1所述的方法,其中,所述存储设备包括易失性存储器。
20.根据权利要求1所述的方法,其中,所述存储设备包括非易失性存储器。
21.一种在计算机可读介质上实施的计算机程序产品,包括:
用于确定数据写入的频率的计算机代码;以及
基于所述频率从多个不同类型的存储设备中做出选择以写入所述数据的计算机代码。
22.一种装置,包括:
电路,用于确定数据写入的频率,并且基于所述频率从多个不同类型的存储设备中做出选择以写入所述数据。
23.根据权利要求22所述的装置,其中,所述电路连接在系统与存储器之间。
CN200880116826.7A 2007-11-19 2008-10-23 基于写入频率将数据写入不同的存储设备 Expired - Fee Related CN101874239B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/942,640 2007-11-19
US11/942,640 US7849275B2 (en) 2007-11-19 2007-11-19 System, method and a computer program product for writing data to different storage devices based on write frequency
PCT/US2008/012033 WO2009067138A1 (en) 2007-11-19 2008-10-23 Writing data to different storage devices based on write frequency

Publications (2)

Publication Number Publication Date
CN101874239A true CN101874239A (zh) 2010-10-27
CN101874239B CN101874239B (zh) 2018-01-30

Family

ID=40643192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880116826.7A Expired - Fee Related CN101874239B (zh) 2007-11-19 2008-10-23 基于写入频率将数据写入不同的存储设备

Country Status (5)

Country Link
US (2) US7849275B2 (zh)
JP (1) JP5819610B2 (zh)
CN (1) CN101874239B (zh)
TW (2) TWI505088B (zh)
WO (1) WO2009067138A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184229A (zh) * 2011-05-11 2011-09-14 中国科学院软件研究所 一种海量rfid标签信息的内存数据存储方法
CN103688259A (zh) * 2011-05-19 2014-03-26 甲骨文国际公司 用于通过压缩和纵列存储进行自动数据放置的技术
CN104461754A (zh) * 2014-12-10 2015-03-25 福州瑞芯微电子有限公司 一种监控eMMC的方法和装置
CN104769678A (zh) * 2012-10-23 2015-07-08 桑迪士克科技股份有限公司 具有数据保留分区的闪速存储器
CN105117175A (zh) * 2015-08-18 2015-12-02 重庆大学 一种基于软件编译层的可变电阻式存储器磨损均衡方法
CN106502594A (zh) * 2016-10-31 2017-03-15 维沃移动通信有限公司 一种数据处理方法及终端
CN111240576A (zh) * 2018-11-28 2020-06-05 瑞昱半导体股份有限公司 计算机系统、存储器管理方法与非暂态计算机可读介质

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
KR101413736B1 (ko) * 2007-09-13 2014-07-02 삼성전자주식회사 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법
US7849275B2 (en) * 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
TWI352354B (en) * 2007-12-31 2011-11-11 Phison Electronics Corp Method for preventing read-disturb happened in non
TWI373768B (en) * 2008-02-05 2012-10-01 Phison Electronics Corp System, controller and method for data storage
US8554983B2 (en) 2008-05-27 2013-10-08 Micron Technology, Inc. Devices and methods for operating a solid state drive
US8060719B2 (en) 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
KR101038167B1 (ko) 2008-09-09 2011-05-31 가부시끼가이샤 도시바 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
JP2011022933A (ja) * 2009-07-17 2011-02-03 Toshiba Corp メモリ管理装置を含む情報処理装置及びメモリ管理方法
JP5192352B2 (ja) 2008-10-30 2013-05-08 株式会社日立製作所 記憶装置及びデータ格納領域管理方法
US20100146187A1 (en) * 2008-12-05 2010-06-10 Grimsrud Knut S Endurance management technique
KR101015655B1 (ko) * 2009-05-29 2011-02-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 구동 방법
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
JP5322978B2 (ja) * 2010-03-04 2013-10-23 株式会社東芝 情報処理装置及び方法
JP2011186554A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP2011186555A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP2011186563A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置およびメモリ管理方法
US8140712B2 (en) * 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
JP2011186561A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
JP2011186559A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
CN102473140B (zh) 2009-07-17 2015-05-13 株式会社东芝 存储器管理装置
JP2011186558A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP2011186562A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
US8516166B2 (en) 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US7948798B1 (en) 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device
JP5330136B2 (ja) * 2009-07-22 2013-10-30 株式会社東芝 半導体記憶装置
CN102142277A (zh) * 2010-01-28 2011-08-03 深圳市江波龙电子有限公司 一种存储器及存储器读写控制方法及系统
US8438361B2 (en) * 2010-03-10 2013-05-07 Seagate Technology Llc Logical block storage in a storage device
US8458417B2 (en) * 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device
CN101794199A (zh) * 2010-03-26 2010-08-04 山东高效能服务器和存储研究院 基于高速磁盘缓存的计算机磁盘性能加速方法
US9183134B2 (en) 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
JP5553309B2 (ja) * 2010-08-11 2014-07-16 国立大学法人 東京大学 データ処理装置
US9037778B2 (en) * 2010-08-20 2015-05-19 Samsung Electronics Co., Ltd. Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US11614893B2 (en) * 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
WO2012148828A2 (en) 2011-04-26 2012-11-01 Lsi Corporation Variable over-provisioning for non-volatile storage
US20120317337A1 (en) * 2011-06-09 2012-12-13 Microsoft Corporation Managing data placement on flash-based storage by use
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
JP5853596B2 (ja) * 2011-10-31 2016-02-09 沖電気工業株式会社 半導体ディスク寿命監視装置
KR20130060791A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
US9329948B2 (en) 2012-09-15 2016-05-03 Seagate Technology Llc Measuring cell damage for wear leveling in a non-volatile memory
KR20150049772A (ko) * 2013-10-31 2015-05-08 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작 방법
US9558124B2 (en) 2013-11-08 2017-01-31 Seagate Technology Llc Data storage system with passive partitioning in a secondary memory
US9229640B2 (en) 2013-11-15 2016-01-05 Microsoft Technology Licensing, Llc Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table
US9348520B2 (en) 2014-03-24 2016-05-24 Western Digital Technologies, Inc. Lifetime extension of non-volatile semiconductor memory for data storage device
TWI517165B (zh) * 2014-03-31 2016-01-11 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US9690696B1 (en) 2014-05-14 2017-06-27 Western Digital Technologies, Inc. Lifetime extension of memory for data storage system
JP6139807B2 (ja) 2014-12-04 2017-05-31 株式会社東芝 ストレージ装置、ストレージ装置の制御方法、及びプログラムを記憶するコンピュータ読み取り可能な不揮発性記憶媒体
CN106294202A (zh) * 2015-06-12 2017-01-04 联想(北京)有限公司 一种数据存储方法和装置
US11294588B1 (en) * 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US20170068467A1 (en) * 2015-09-04 2017-03-09 HGST Netherlands B.V. Wear management for flash memory devices
US10222982B2 (en) * 2016-02-10 2019-03-05 Ricoh Company, Ltd. Lifetime management device and lifetime management method
KR102523967B1 (ko) * 2016-03-25 2023-04-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
US10289548B1 (en) * 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for garbage collection in a storage system which balances wear-leveling and performance
US11210166B1 (en) * 2017-12-22 2021-12-28 Pliops Ltd. Efficient redundancy management in key-value NAND flash storage
US11269747B2 (en) * 2018-03-08 2022-03-08 Symbol Technologies, Llc Method, system and apparatus for assessing application impact on memory devices
TWI707230B (zh) 2018-11-22 2020-10-11 瑞昱半導體股份有限公司 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體
US11237955B2 (en) 2019-10-28 2022-02-01 Samsung Electronics Co., Ltd. Memory device, method of operating memory device, and computer system including memory device
KR20210050635A (ko) 2019-10-28 2021-05-10 삼성전자주식회사 메모리 장치, 및 이를 포함하는 컴퓨터 시스템
US20210382818A1 (en) * 2020-06-08 2021-12-09 Western Digital Technologies, Inc. Solid-State Storage Devices that Reduce Read Time for Read Time-Sensitive Data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555559A (zh) * 2001-09-17 2004-12-15 ��ʥ�� 多态非易失性存储系统二进制模式下的选择性运行
CN1591685A (zh) * 2003-04-10 2005-03-09 株式会社瑞萨科技 存储装置
US20060221696A1 (en) * 2005-04-01 2006-10-05 Yan Li Method for Non-Volatile Memory with Background Data Latch Caching During Read Operations
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008A (en) * 1849-01-09 Pkoto-litho
US7018A (en) * 1850-01-15 File for keeping papers
JPH03250499A (ja) * 1990-02-27 1991-11-08 Nec Corp データ記憶回路
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5768182A (en) 1991-05-21 1998-06-16 The Regents Of The University Of California Ferroelectric nonvolatile dynamic random access memory device
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JP2610737B2 (ja) 1991-12-20 1997-05-14 シャープ株式会社 記録再生装置
US5315602A (en) 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives
US5341339A (en) 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5337275A (en) 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
JPH08124393A (ja) * 1994-10-20 1996-05-17 Fujitsu Ltd データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置
DE19540915A1 (de) 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5621687A (en) * 1995-05-31 1997-04-15 Intel Corporation Programmable erasure and programming time for a flash memory
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US5956473A (en) * 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
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
JP3358795B2 (ja) 1997-03-27 2002-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション ディスクドライブ装置及びその制御方法
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JPH11110297A (ja) * 1997-10-03 1999-04-23 Hitachi Ltd メモリ内蔵型1チップコンピュータ
JP3898305B2 (ja) * 1997-10-31 2007-03-28 富士通株式会社 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
US6305014B1 (en) 1998-06-18 2001-10-16 International Business Machines Corporation Lifetime-sensitive instruction scheduling mechanism and method
JP2002524796A (ja) 1998-09-04 2002-08-06 オツトー ミユレル, 制限された消去頻度のメモリのアクセス制御
US6395194B1 (en) * 1998-12-18 2002-05-28 Intersurface Dynamics Inc. Chemical mechanical polishing compositions, and process for the CMP removal of iridium thin using same
FR2787601A1 (fr) * 1998-12-22 2000-06-23 Gemplus Card Int Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire
US6145069A (en) 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US6314026B1 (en) 1999-02-08 2001-11-06 Kabushiki Kaisha Toshiba Nonvolatile semiconductor device using local self boost technique
US6298415B1 (en) 1999-02-19 2001-10-02 International Business Machines Corporation Method and system for minimizing writes and reducing parity updates in a raid system
US6195727B1 (en) 1999-03-31 2001-02-27 International Business Machines Corporation Coalescing raid commands accessing contiguous data in write-through mode
JP2001067881A (ja) * 1999-08-30 2001-03-16 Toshiba Corp 連想記憶装置及び記憶媒体
JP2000112818A (ja) * 1999-09-03 2000-04-21 Matsushita Graphic Communication Systems Inc フラッシュメモリ制御装置及び方法
US6405295B1 (en) * 1999-09-07 2002-06-11 Oki Electric Industry, Co., Ltd. Data storage apparatus for efficient utilization of limited cycle memory material
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US7130807B1 (en) 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
US20050160218A1 (en) 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
JP2001306543A (ja) * 2000-04-19 2001-11-02 Nec Corp マイクロコンピュータ及びフラッシュメモリのデータ書換え方法
US6484228B2 (en) 2000-04-19 2002-11-19 Motorola, Inc. Method and apparatus for data compression and decompression for a data processor system
US6256232B1 (en) 2000-07-07 2001-07-03 Institute For Information Industry Data access method capable of reducing the number of erasing to flash memory and data patch and access device using the same
JP2002074983A (ja) * 2000-08-25 2002-03-15 Nec Microsystems Ltd 半導体集積回路
US7113432B2 (en) * 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
KR100388498B1 (ko) 2000-12-30 2003-06-25 한국전자통신연구원 복수 개의 레이드를 구비한 계층적 레이드 시스템
GB2371886B (en) 2001-01-31 2005-06-22 Hewlett Packard Co Storage apparatus
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
TW520514B (en) 2001-08-02 2003-02-11 Macronix Int Co Ltd Circuit and method of qualification test for non-volatile memory
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US20030058681A1 (en) * 2001-09-27 2003-03-27 Intel Corporation Mechanism for efficient wearout counters in destructive readout memory
US7000063B2 (en) * 2001-10-05 2006-02-14 Matrix Semiconductor, Inc. Write-many memory device and method for limiting a number of writes to the write-many memory device
US20030084397A1 (en) 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
US6735673B2 (en) 2002-01-10 2004-05-11 Hewlett-Packard Development Company, L.P. Apparatus and methods for cache line compression
US6640283B2 (en) 2002-01-16 2003-10-28 Hewlett-Packard Development Company, L.P. Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size
US6606273B1 (en) 2002-04-11 2003-08-12 Advanced Micro Devices, Inc. Methods and systems for flash memory tunnel oxide reliability testing
JP2003316664A (ja) 2002-04-24 2003-11-07 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6775751B2 (en) 2002-08-06 2004-08-10 International Business Machines Corporation System and method for using a compressed main memory based on degree of compressibility
KR100484485B1 (ko) 2002-10-01 2005-04-20 한국전자통신연구원 비휘발성 메모리에의 데이터 저장 방법 및 장치
US6910106B2 (en) 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US20040135903A1 (en) 2002-10-11 2004-07-15 Brooks Lane C. In-stream lossless compression of digital image sensor data
CA2408979A1 (en) 2002-10-18 2004-04-18 Richard Egon Schauble Tamper-evident use-indicating odometer and engine-timer
US7096313B1 (en) * 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US6973531B1 (en) * 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most frequently erased blocks in non-volatile memory systems
US7103732B1 (en) * 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
ATE372578T1 (de) * 2002-10-28 2007-09-15 Sandisk Corp Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem
US6985992B1 (en) * 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems
US6831865B2 (en) * 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US6925523B2 (en) * 2003-03-03 2005-08-02 Agilent Technologies, Inc. Managing monotonically increasing counter values to minimize impact on non-volatile storage
WO2004095201A2 (en) * 2003-04-09 2004-11-04 Intervideo Inc. Systems and methods for caching multimedia data
US7320100B2 (en) 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
JP4783545B2 (ja) * 2003-05-21 2011-09-28 パナソニック株式会社 部品実装装置
US7213102B2 (en) 2003-06-26 2007-05-01 International Business Machines Corporation Apparatus method and system for alternate control of a RAID array
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
GB0320494D0 (en) 2003-09-02 2003-10-01 Ibm Methods apparatus and controllers for a raid storage system
US7143238B2 (en) 2003-09-30 2006-11-28 Intel Corporation Mechanism to compress data in a cache
US20070067366A1 (en) 2003-10-08 2007-03-22 Landis John A Scalable partition memory mapping system
US7032087B1 (en) * 2003-10-28 2006-04-18 Sandisk Corporation Erase count differential table within a non-volatile memory system
US8645622B2 (en) 2003-11-18 2014-02-04 International Business Machines Corporation Method to protect data on a disk drive from uncorrectable media errors
US8140860B2 (en) 2003-12-15 2012-03-20 International Business Machines Corporation Policy-driven file system with integrated RAID functionality
US7480760B2 (en) 2003-12-17 2009-01-20 Wegener Communications, Inc. Rotational use of memory to minimize write cycles
JP4357304B2 (ja) * 2004-01-09 2009-11-04 株式会社バッファロー 外部記憶装置
US7595796B2 (en) 2004-04-23 2009-09-29 Hewlett-Packard Development Company, L.P. Optimizing lifetime of a display
US7353423B2 (en) 2004-09-24 2008-04-01 International Business Machines Corporation System and method for improving the performance of operations requiring parity reads in a storage array system
US20060080515A1 (en) 2004-10-12 2006-04-13 Lefthand Networks, Inc. Non-Volatile Memory Backup for Network Storage System
US7664796B2 (en) * 2004-10-13 2010-02-16 Microsoft Corporation Electronic labeling for offline management of storage devices
WO2006052897A2 (en) 2004-11-08 2006-05-18 Innopath Software, Inc. Reorganizing images in static file system differencing and updating
US20060123312A1 (en) 2004-11-19 2006-06-08 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US7433994B2 (en) 2004-12-07 2008-10-07 Ocz Technology Group, Inc. On-device data compression to increase speed and capacity of flash memory-based mass storage devices
US7224604B2 (en) 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US20070124648A1 (en) 2005-10-31 2007-05-31 Ajay Dholakia Data protection method
US7797611B2 (en) 2005-11-14 2010-09-14 International Business Machines Corporation Creating an error correction coding scheme and reducing data loss
US7457178B2 (en) * 2006-01-12 2008-11-25 Sandisk Corporation Trimming of analog voltages in flash memory devices
US20070208904A1 (en) * 2006-03-03 2007-09-06 Wu-Han Hsieh Wear leveling method and apparatus for nonvolatile memory
KR100735437B1 (ko) 2006-03-07 2007-07-04 삼성전자주식회사 이동통신 단말기에서의 레이드 시스템 및 방법
US8848789B2 (en) 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US8412682B2 (en) 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US7555575B2 (en) 2006-07-27 2009-06-30 Hitachi, Ltd. Method and apparatus for migrating data between storage volumes of different data pattern
US7561482B2 (en) 2006-09-07 2009-07-14 Sandisk Corporation Defective block isolation in a non-volatile memory system
WO2008063647A2 (en) 2006-11-24 2008-05-29 Sandforce Inc. Delaying an operation that reduces a lifetime of memory
WO2008073219A1 (en) 2006-12-08 2008-06-19 Sandforce, Inc. Data redundancy in a plurality of storage devices
US20080183963A1 (en) 2007-01-31 2008-07-31 International Business Machines Corporation System, Method, And Service For Providing A Generic RAID Engine And Optimizer
KR100854032B1 (ko) * 2007-02-09 2008-08-26 삼성전자주식회사 메모리 시스템 및 그것의 데이터 저장 방법
US20090055682A1 (en) 2007-07-18 2009-02-26 Panasas Inc. Data storage systems and methods having block group error correction for repairing unrecoverable read errors
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US7849275B2 (en) * 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7870105B2 (en) 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system
US9183133B2 (en) 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US20090271659A1 (en) 2008-04-24 2009-10-29 Ulf Troppens Raid rebuild using file system and block list

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555559A (zh) * 2001-09-17 2004-12-15 ��ʥ�� 多态非易失性存储系统二进制模式下的选择性运行
CN1591685A (zh) * 2003-04-10 2005-03-09 株式会社瑞萨科技 存储装置
US20060221696A1 (en) * 2005-04-01 2006-10-05 Yan Li Method for Non-Volatile Memory with Background Data Latch Caching During Read Operations
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184229A (zh) * 2011-05-11 2011-09-14 中国科学院软件研究所 一种海量rfid标签信息的内存数据存储方法
CN103688259A (zh) * 2011-05-19 2014-03-26 甲骨文国际公司 用于通过压缩和纵列存储进行自动数据放置的技术
CN103688259B (zh) * 2011-05-19 2017-11-17 甲骨文国际公司 用于通过压缩和纵列存储进行自动数据放置的方法
CN104769678A (zh) * 2012-10-23 2015-07-08 桑迪士克科技股份有限公司 具有数据保留分区的闪速存储器
CN104769678B (zh) * 2012-10-23 2019-10-01 桑迪士克科技有限责任公司 具有数据保留分区的闪速存储器
CN104461754A (zh) * 2014-12-10 2015-03-25 福州瑞芯微电子有限公司 一种监控eMMC的方法和装置
CN105117175A (zh) * 2015-08-18 2015-12-02 重庆大学 一种基于软件编译层的可变电阻式存储器磨损均衡方法
CN105117175B (zh) * 2015-08-18 2018-02-02 重庆大学 一种基于软件编译层的可变电阻式存储器磨损均衡方法
CN106502594A (zh) * 2016-10-31 2017-03-15 维沃移动通信有限公司 一种数据处理方法及终端
CN111240576A (zh) * 2018-11-28 2020-06-05 瑞昱半导体股份有限公司 计算机系统、存储器管理方法与非暂态计算机可读介质

Also Published As

Publication number Publication date
TWI420303B (zh) 2013-12-21
TW200928734A (en) 2009-07-01
US20090132778A1 (en) 2009-05-21
CN101874239B (zh) 2018-01-30
US8230184B2 (en) 2012-07-24
JP5819610B2 (ja) 2015-11-24
US20110276745A1 (en) 2011-11-10
TW201333696A (zh) 2013-08-16
JP2011503768A (ja) 2011-01-27
WO2009067138A1 (en) 2009-05-28
TWI505088B (zh) 2015-10-21
US7849275B2 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
CN101874240B (zh) 增加存储器的多个块的寿命
CN101874239A (zh) 基于写入频率将数据写入不同的存储设备
US8402204B2 (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
US20140245084A1 (en) Methods and systems for monitoring write operations of non-volatile memory
JP2011503741A5 (zh)
US8332696B2 (en) Defect management method for storage medium and system thereof
JP2011503768A5 (zh)
US8832527B2 (en) Method of storing system data, and memory controller and memory storage apparatus using the same
CN103577342A (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
US9007829B2 (en) Memory repairing method, and memory controller and memory storage apparatus using the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: INFINEON TECHNOLOGIES CORP.

Free format text: FORMER OWNER: SANDFORCE INC.

Effective date: 20140429

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140429

Address after: California, USA

Applicant after: LSI Corp.

Address before: California, USA

Applicant before: Suntech Power Co.,Ltd.

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160226

Address after: California, USA

Applicant after: Seagate Technology LLC

Address before: California, USA

Applicant before: LSI Corp.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180130