CN101874240B - 增加存储器的多个块的寿命 - Google Patents

增加存储器的多个块的寿命 Download PDF

Info

Publication number
CN101874240B
CN101874240B CN2008801168271A CN200880116827A CN101874240B CN 101874240 B CN101874240 B CN 101874240B CN 2008801168271 A CN2008801168271 A CN 2008801168271A CN 200880116827 A CN200880116827 A CN 200880116827A CN 101874240 B CN101874240 B CN 101874240B
Authority
CN
China
Prior art keywords
piece
life expectancy
storer
mark
flash memory
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.)
Active
Application number
CN2008801168271A
Other languages
English (en)
Other versions
CN101874240A (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 CN101874240A publication Critical patent/CN101874240A/zh
Application granted granted Critical
Publication of CN101874240B publication Critical patent/CN101874240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/10Programming or data input circuits
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • 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/26Sensing or reading circuits; Data output circuits
    • 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
    • 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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • G11C14/009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a resistive RAM element, i.e. programmable resistors, e.g. formed of phase change or chalcogenide material
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (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 (22)

1.一种用于增加存储器的多个块的寿命的方法,包括:
至少部分地基于存储器的多个块中的每一个的自由空间的相应计数百分比,来计算每个所述块的相应的寿命预期分数;以及至少部分地基于所述相应的寿命预期分数中的至少一些,来确定写入和重复利用所述块的顺序;以及
其中,在使所述块之间的寿命预期分数变化均等化的同时,将所擦除和写入的所述块的总数量最小化。
2.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于涉及每个所述块的相应读取操作过程中的错误的相应数量。
3.根据权利要求2所述的方法,其中,所述错误是检测到的错误。
4.根据权利要求2所述的方法,其中,所述错误是被校正的错误。
5.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于涉及每个所述块的相应编程操作与相应读取操作之间的相应持续时间。
6.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于每个所述块分别进行擦除的相应次数。
7.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于分别擦除每个所述块所需要的相应持续时间。
8.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于对每个所述块分别进行编程所需要的相应持续时间。
9.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于对每个所述块分别进行编程所需要的重试的相应次数。
10.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于与每个所述块相关联的页的插入读取的相应数量。
11.根据权利要求1所述的方法,其中,所述计算进一步至少部分地基于与每个所述块相关联的相邻页中的插入读取的相应数量。
12.根据权利要求1所述的方法,其中,所述块中具有较长估计寿命的第一块在所述块中具有较短估计寿命的第二块之前被写入。
13.根据权利要求12所述的方法,其中,所述块中具有较短估计寿命的所述第二块的相应的寿命预期分数高于针对寿命预期分数所确定的阈值。
14.根据权利要求13所述的方法,其中,所述块中具有较长估计寿命的所述第一块的相应的寿命预期分数低于针对寿命预期分数所确定的所述阈值。
15.根据权利要求1所述的方法,其中,所述存储器包括机械存储设备。
16.根据权利要求1所述的方法,其中,所述存储器包括易失性存储设备。
17.根据权利要求1所述的方法,其中,所述存储器包括非易失性存储设备。
18.根据权利要求17所述的方法,其中,所述非易失性存储设备包括每单元单比特的NOR闪存、每单元多比特的NOR闪存、每单元单比特的NAND闪存、以及每单元多比特的NAND闪存中的至少一个。
19.根据权利要求1所述的方法,进一步包括存储所述块的使用历史。
20.一种用于增加存储器的多个块的寿命的装置,包括:
用于至少部分地基于存储器的多个块中的每一个的自由空间的相应百分比来计算每个所述块的相应的寿命预期分数的装置;
用于至少部分地基于所述相应的寿命预期分数中的至少一些来确定写入和重复利用所述块的顺序的装置;以及
其中,在使所述各块之间的寿命预期分数变化均等化的同时,将所擦除和写入的所述块的总数量最小化。
21.根据权利要求20所述的装置,其中,所述存储器包括非易失性存储器设备。
22.根据权利要求21所述的装置,其中,所述非易失性存储设备包括每单元单比特的NOR闪存、每单元多比特的NOR闪存、每单元单比特的NAND闪存、以及每单元多比特的NAND闪存中的至少一个。
CN2008801168271A 2007-11-19 2008-10-23 增加存储器的多个块的寿命 Active CN101874240B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/942,631 2007-11-19
US11/942,631 US7903486B2 (en) 2007-11-19 2007-11-19 System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
PCT/US2008/012044 WO2009067139A1 (en) 2007-11-19 2008-10-23 Increasing a lifetime of a plurality of blocks of memory

Publications (2)

Publication Number Publication Date
CN101874240A CN101874240A (zh) 2010-10-27
CN101874240B true CN101874240B (zh) 2012-05-30

Family

ID=40641792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801168271A Active CN101874240B (zh) 2007-11-19 2008-10-23 增加存储器的多个块的寿命

Country Status (5)

Country Link
US (10) US7903486B2 (zh)
JP (2) JP2011503741A (zh)
CN (1) CN101874240B (zh)
TW (1) TWI474335B (zh)
WO (1) WO2009067139A1 (zh)

Families Citing this family (112)

* 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
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
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
KR100954039B1 (ko) * 2008-08-11 2010-04-20 (주)인디링스 플래시 메모리 제어 방법 및 제어 장치
US8082386B2 (en) * 2008-10-21 2011-12-20 Skymedi Corporation Method of performing wear leveling with variable threshold
KR101586047B1 (ko) 2009-03-25 2016-01-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
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
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
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
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US9183134B2 (en) 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US9170933B2 (en) * 2010-06-28 2015-10-27 International Business Machines Corporation Wear-level of cells/pages/sub-pages/blocks of a memory
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
JP2012089085A (ja) * 2010-10-22 2012-05-10 Toshiba Corp 半導体メモリ装置および半導体メモリシステム
EP2702491A4 (en) 2011-04-26 2015-02-25 Lsi Corp VARIABLE OVERSIZING FOR NON-VOLATILE STORAGE
KR101861184B1 (ko) 2011-11-02 2018-05-28 삼성전자주식회사 스토리지의 동작 성능 조절방법 및 그에 따른 반도체 저장장치
KR20130061967A (ko) * 2011-12-02 2013-06-12 삼성전자주식회사 메모리 시스템 및 그것의 웨어 레벨링 방법
TWI455140B (zh) * 2012-02-21 2014-10-01 Fluiditech Ip Ltd Flash memory usage period assessment method
US11232093B2 (en) * 2012-03-02 2022-01-25 Pure Storage, Inc. Slice migration in a dispersed storage network
US20130262942A1 (en) * 2012-03-27 2013-10-03 Yung-Chiang Chu Flash memory lifetime evaluation method
CN102915764A (zh) * 2012-09-04 2013-02-06 邹粤林 提高闪存芯片缺陷容忍度的方法、闪存存储系统及其控制器
US9329948B2 (en) 2012-09-15 2016-05-03 Seagate Technology Llc Measuring cell damage for wear leveling in a non-volatile memory
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
KR102089532B1 (ko) 2013-02-06 2020-03-16 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
CN104008061B (zh) * 2013-02-22 2018-01-23 华为技术有限公司 内存回收方法及装置
US8976589B2 (en) 2013-03-14 2015-03-10 Kabushiki Kaisha Toshiba Storage device
GB2514354A (en) * 2013-05-20 2014-11-26 Ibm Managing storage devices having a lifetime of a finite number of operations
US9501393B2 (en) * 2014-01-27 2016-11-22 Western Digital Technologies, Inc. Data storage system garbage collection based on at least one attribute
CN104866429B (zh) * 2014-02-26 2018-02-02 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
US9348520B2 (en) 2014-03-24 2016-05-24 Western Digital Technologies, Inc. Lifetime extension of non-volatile semiconductor memory for data storage device
US9690696B1 (en) 2014-05-14 2017-06-27 Western Digital Technologies, Inc. Lifetime extension of memory for data storage system
KR102291507B1 (ko) 2014-05-20 2021-08-20 삼성전자주식회사 메모리 컨트롤러의 동작 방법
KR102318561B1 (ko) 2014-08-19 2021-11-01 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법
US9251909B1 (en) 2014-09-29 2016-02-02 International Business Machines Corporation Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory
CN104317671A (zh) * 2014-10-24 2015-01-28 杭州帅锐电子科技有限公司 一种提升非易失存储使用寿命的掉电数据保存恢复算法
CN104376875B (zh) * 2014-11-19 2017-09-05 华为数字技术(苏州)有限公司 存储设备寿命预测、确定方法及装置
US9372628B1 (en) 2015-01-23 2016-06-21 International Business Machines Corporation Deduplication tracking for accurate lifespan prediction
JP6541369B2 (ja) * 2015-02-24 2019-07-10 キヤノン株式会社 メモリのデータ処理を行なうデータ処理装置、データ処理方法、及びプログラム
US10452302B2 (en) * 2015-04-09 2019-10-22 Hitachi, Ltd. Storage system and data control method
KR102393323B1 (ko) 2015-08-24 2022-05-03 삼성전자주식회사 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법
KR102456104B1 (ko) 2015-08-24 2022-10-19 삼성전자주식회사 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법
KR102333746B1 (ko) 2015-09-02 2021-12-01 삼성전자주식회사 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법
US9934174B2 (en) 2015-09-18 2018-04-03 Seagate Technology Llc Selectively enable data transfer based on accrued data credits
US9734912B2 (en) * 2015-11-25 2017-08-15 Macronix International Co., Ltd. Reprogramming single bit memory cells without intervening erasure
US9898202B2 (en) * 2015-11-30 2018-02-20 Samsung Electronics Co., Ltd. Enhanced multi-streaming though statistical analysis
US10359933B2 (en) * 2016-09-19 2019-07-23 Micron Technology, Inc. Memory devices and electronic systems having a hybrid cache including static and dynamic caches with single and multiple bits per cell, and related methods
US11593377B2 (en) 2016-09-26 2023-02-28 Splunk Inc. Assigning processing tasks in a data intake and query system
US11222066B1 (en) 2016-09-26 2022-01-11 Splunk Inc. Processing data using containerized state-free indexing nodes in a containerized scalable environment
US11314753B2 (en) 2016-09-26 2022-04-26 Splunk Inc. Execution of a query received from a data intake and query system
US11874691B1 (en) 2016-09-26 2024-01-16 Splunk Inc. Managing efficient query execution including mapping of buckets to search nodes
US11620336B1 (en) * 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11550847B1 (en) 2016-09-26 2023-01-10 Splunk Inc. Hashing bucket identifiers to identify search nodes for efficient query execution
US11442935B2 (en) 2016-09-26 2022-09-13 Splunk Inc. Determining a record generation estimate of a processing task
US10795884B2 (en) 2016-09-26 2020-10-06 Splunk Inc. Dynamic resource allocation for common storage query
US11599541B2 (en) 2016-09-26 2023-03-07 Splunk Inc. Determining records generated by a processing task of a query
US11243963B2 (en) 2016-09-26 2022-02-08 Splunk Inc. Distributing partial results to worker nodes from an external data system
US10776355B1 (en) 2016-09-26 2020-09-15 Splunk Inc. Managing, storing, and caching query results and partial query results for combination with additional query results
US11163758B2 (en) 2016-09-26 2021-11-02 Splunk Inc. External dataset capability compensation
US11232100B2 (en) 2016-09-26 2022-01-25 Splunk Inc. Resource allocation for multiple datasets
US10977260B2 (en) 2016-09-26 2021-04-13 Splunk Inc. Task distribution in an execution node of a distributed execution environment
US11461334B2 (en) 2016-09-26 2022-10-04 Splunk Inc. Data conditioning for dataset destination
US11023463B2 (en) 2016-09-26 2021-06-01 Splunk Inc. Converting and modifying a subquery for an external data system
US20180089324A1 (en) 2016-09-26 2018-03-29 Splunk Inc. Dynamic resource allocation for real-time search
US11250056B1 (en) 2016-09-26 2022-02-15 Splunk Inc. Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system
US11126632B2 (en) 2016-09-26 2021-09-21 Splunk Inc. Subquery generation based on search configuration data from an external data system
US11663227B2 (en) 2016-09-26 2023-05-30 Splunk Inc. Generating a subquery for a distinct data intake and query system
US11562023B1 (en) 2016-09-26 2023-01-24 Splunk Inc. Merging buckets in a data intake and query system
US11416528B2 (en) 2016-09-26 2022-08-16 Splunk Inc. Query acceleration data store
US10353965B2 (en) 2016-09-26 2019-07-16 Splunk Inc. Data fabric service system architecture
US11567993B1 (en) 2016-09-26 2023-01-31 Splunk Inc. Copying buckets from a remote shared storage system to memory associated with a search node for query execution
US11604795B2 (en) 2016-09-26 2023-03-14 Splunk Inc. Distributing partial results from an external data system between worker nodes
US11269939B1 (en) 2016-09-26 2022-03-08 Splunk Inc. Iterative message-based data processing including streaming analytics
US11106734B1 (en) 2016-09-26 2021-08-31 Splunk Inc. Query execution using containerized state-free search nodes in a containerized scalable environment
US11294941B1 (en) 2016-09-26 2022-04-05 Splunk Inc. Message-based data ingestion to a data intake and query system
US10956415B2 (en) 2016-09-26 2021-03-23 Splunk Inc. Generating a subquery for an external data system using a configuration file
US10984044B1 (en) 2016-09-26 2021-04-20 Splunk Inc. Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system
US11580107B2 (en) 2016-09-26 2023-02-14 Splunk Inc. Bucket data distribution for exporting data to worker nodes
US11321321B2 (en) 2016-09-26 2022-05-03 Splunk Inc. Record expansion and reduction based on a processing task in a data intake and query system
US11281706B2 (en) 2016-09-26 2022-03-22 Splunk Inc. Multi-layer partition allocation for query execution
US12013895B2 (en) 2016-09-26 2024-06-18 Splunk Inc. Processing data using containerized nodes in a containerized scalable environment
US10726009B2 (en) 2016-09-26 2020-07-28 Splunk Inc. Query processing using query-resource usage and node utilization data
US11615104B2 (en) 2016-09-26 2023-03-28 Splunk Inc. Subquery generation based on a data ingest estimate of an external data system
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11586627B2 (en) 2016-09-26 2023-02-21 Splunk Inc. Partitioning and reducing records at ingest of a worker node
US11003714B1 (en) 2016-09-26 2021-05-11 Splunk Inc. Search node and bucket identification using a search node catalog and a data store catalog
US10740227B2 (en) * 2017-04-28 2020-08-11 Vmware, Inc. Reclaiming storage resources
CN107193493A (zh) * 2017-05-19 2017-09-22 惠州佰维存储科技有限公司 Nand闪存块的管理方法及其系统
US11921672B2 (en) 2017-07-31 2024-03-05 Splunk Inc. Query execution at a remote heterogeneous data store of a data fabric service
US11989194B2 (en) 2017-07-31 2024-05-21 Splunk Inc. Addressing memory limits for partition tracking among worker nodes
US10896182B2 (en) 2017-09-25 2021-01-19 Splunk Inc. Multi-partitioning determination for combination operations
US11151137B2 (en) 2017-09-25 2021-10-19 Splunk Inc. Multi-partition operation in combination operations
CN108073362B (zh) * 2017-12-20 2021-04-09 北京兆易创新科技股份有限公司 一种延长PairBlock使用寿命的方法及装置
US11210166B1 (en) * 2017-12-22 2021-12-28 Pliops Ltd. Efficient redundancy management in key-value NAND flash storage
US11106391B2 (en) * 2018-04-25 2021-08-31 Micron Technology, Inc. Managing a memory system including memory devices with different characteristics
US11334543B1 (en) 2018-04-30 2022-05-17 Splunk Inc. Scalable bucket merging for a data intake and query system
US11132247B2 (en) * 2018-07-30 2021-09-28 Micron Technology, Inc. Selective bad block untag and bad block reuse
WO2020220216A1 (en) 2019-04-29 2020-11-05 Splunk Inc. Search time estimate in data intake and query system
US11715051B1 (en) 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation
US11494380B2 (en) 2019-10-18 2022-11-08 Splunk Inc. Management of distributed computing framework components in a data fabric service system
US11922222B1 (en) 2020-01-30 2024-03-05 Splunk Inc. Generating a modified component for a data intake and query system using an isolated execution environment image
CN111312326B (zh) * 2020-03-09 2021-11-12 宁波三星医疗电气股份有限公司 闪存寿命测试方法、装置、电力采集终端及存储介质
CN111833948A (zh) * 2020-07-16 2020-10-27 浪潮(北京)电子信息产业有限公司 Nand闪存的擦写能力测试方法、装置、设备及介质
US11561907B2 (en) * 2020-08-18 2023-01-24 Micron Technology, Inc. Access to data stored in quarantined memory media
US11704313B1 (en) 2020-10-19 2023-07-18 Splunk Inc. Parallel branch operation using intermediary nodes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555559A (zh) * 2001-09-17 2004-12-15 ��ʥ�� 多态非易失性存储系统二进制模式下的选择性运行

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
TW261687B (zh) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP2610737B2 (ja) 1991-12-20 1997-05-14 シャープ株式会社 記録再生装置
US5592415A (en) 1992-07-06 1997-01-07 Hitachi, Ltd. Non-volatile semiconductor 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
US5341339A (en) 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
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 データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置
US5978941A (en) 1995-03-15 1999-11-02 Hitachi, Ltd. Semiconductor memory device having deterioration determining function
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
EP0862762B1 (en) * 1996-08-16 2002-10-09 Tokyo Electron Device Limited Semiconductor memory device having error detection and correction
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
US6085248A (en) 1997-02-11 2000-07-04 Xaqtu Corporation Media access control transmitter and parallel network management system
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
JP3557511B2 (ja) * 1997-08-27 2004-08-25 沖電気工業株式会社 半導体ディスク装置の寿命算出方法
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
CN1126037C (zh) * 1998-09-04 2003-10-29 奥托·穆勒 用于具有限制删除频率的存储器的存取控制的方法
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
KR100388179B1 (ko) * 1999-02-08 2003-06-19 가부시끼가이샤 도시바 불휘발성 반도체 메모리
US7628622B2 (en) 1999-08-04 2009-12-08 Super Talent Electronics, Inc. Multi-level cell (MLC) slide flash memory
US6405295B1 (en) * 1999-09-07 2002-06-11 Oki Electric Industry, Co., Ltd. Data storage apparatus for efficient utilization of limited cycle memory material
US7130807B1 (en) 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
US6484228B2 (en) 2000-04-19 2002-11-19 Motorola, Inc. Method and apparatus for data compression and decompression for a data processor system
JP2001306543A (ja) 2000-04-19 2001-11-02 Nec Corp マイクロコンピュータ及びフラッシュメモリのデータ書換え方法
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
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
US20030120841A1 (en) 2001-12-21 2003-06-26 Chang Matthew C.T. System and method of data logging
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
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
NZ520786A (en) 2002-08-14 2005-06-24 Daniel James Oaeconnell Method of booting a computer system using a memory image of the post boot content of the system RAM memory
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
US6973531B1 (en) * 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most 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
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
US7103732B1 (en) * 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
US7096313B1 (en) * 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
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
US7203874B2 (en) * 2003-05-08 2007-04-10 Micron Technology, Inc. Error detection, documentation, and correction in a flash memory device
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
TWI248570B (en) * 2003-05-29 2006-02-01 Accton Technology Corp Method and system for storing data
US7143238B2 (en) 2003-09-30 2006-11-28 Intel Corporation Mechanism to compress data in a cache
US7188228B1 (en) * 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
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
JP2005147749A (ja) * 2003-11-12 2005-06-09 Toshiba Corp スキャン回路を備える半導体集積回路、スキャン回路システムおよびスキャンテストシステム
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 株式会社バッファロー 外部記憶装置
US7222214B2 (en) 2004-03-25 2007-05-22 Lucent Technologies Inc. Device-level address translation within a programmable non-volatile memory device
US7595796B2 (en) 2004-04-23 2009-09-29 Hewlett-Packard Development Company, L.P. Optimizing lifetime of a display
US7664796B2 (en) 2004-10-13 2010-02-16 Microsoft Corporation Electronic labeling for offline management of storage devices
WO2006052946A2 (en) 2004-11-08 2006-05-18 Innopath Software, Inc. Static file system differencing and updating
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
US20060149891A1 (en) * 2004-12-30 2006-07-06 Rudelic John C Relocated reclaim block
US7224604B2 (en) 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US20060209684A1 (en) 2005-03-18 2006-09-21 Via Technologies, Inc. Data rate controller, and method of control thereof
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
JP2007011839A (ja) * 2005-07-01 2007-01-18 Hitachi Computer Peripherals Co Ltd メモリ管理方法及びメモリ管理システム
KR100705220B1 (ko) * 2005-09-15 2007-04-06 주식회사 하이닉스반도체 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법
JP2007094734A (ja) 2005-09-28 2007-04-12 Canon Inc 半導体ディスク装置、該装置へのデータ書き込み方法、プログラム及び記憶媒体
US7761854B2 (en) * 2005-12-22 2010-07-20 International Business Machines Corporation Adaptive profiling by progressive refinement
US7457178B2 (en) 2006-01-12 2008-11-25 Sandisk Corporation Trimming of analog voltages in flash memory devices
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management
US7512847B2 (en) * 2006-02-10 2009-03-31 Sandisk Il Ltd. Method for estimating and reporting the life expectancy of flash-disk memory
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
JP2007316779A (ja) 2006-05-23 2007-12-06 Sharp Corp 不揮発性メモリシステム
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
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
US7747813B2 (en) 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US20080126685A1 (en) 2006-11-24 2008-05-29 Radoslav Danilak System, method, and computer program product for reducing memory write operations using an instruction set
JP5171840B2 (ja) 2006-11-24 2013-03-27 サンドフォース インコーポレイテッド メモリの寿命を縮める動作を遅延させる方法及びストレージシステム
US7904764B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
US8090980B2 (en) 2006-12-08 2012-01-03 Sandforce, Inc. System, method, and computer program product for providing data redundancy in a plurality of storage devices
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
KR20080090021A (ko) 2007-04-03 2008-10-08 삼성테크윈 주식회사 데이터 전송 속도가 다른 인터페이스들을 갖는 데이터 저장모듈 및 이의 데이터 전송방법
US7743203B2 (en) * 2007-05-11 2010-06-22 Spansion Llc Managing flash memory based upon usage history
US20080294813A1 (en) 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US7934072B2 (en) * 2007-09-28 2011-04-26 Lenovo (Singapore) Pte. Ltd. Solid state storage reclamation apparatus and method
TW200917123A (en) 2007-10-03 2009-04-16 Guo-Lang Zhang USB flash disk for computer boot up and method of loading programs in the USB flash disk
TWI373772B (en) 2007-10-04 2012-10-01 Phison Electronics Corp Wear leveling method and controller using the same
US20090125645A1 (en) 2007-11-12 2009-05-14 Gemalto Inc System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device
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
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
US8341335B2 (en) 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
US7827320B1 (en) 2008-03-28 2010-11-02 Western Digital Technologies, Inc. Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state
US7970978B2 (en) 2008-05-27 2011-06-28 Initio Corporation SSD with SATA and USB interfaces
US20100017650A1 (en) 2008-07-19 2010-01-21 Nanostar Corporation, U.S.A Non-volatile memory data storage system with reliability management
US8140739B2 (en) 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
US8291131B2 (en) 2009-07-06 2012-10-16 Micron Technology, Inc. Data transfer management
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
JP2012033047A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置、メモリ管理装置、メモリ管理方法、及びプログラム
US9355023B2 (en) * 2011-03-15 2016-05-31 Anirudh Badam Virtual address pager and method for use with a bulk erase memory
US8738882B2 (en) * 2011-06-03 2014-05-27 Apple Inc. Pre-organization of data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555559A (zh) * 2001-09-17 2004-12-15 ��ʥ�� 多态非易失性存储系统二进制模式下的选择性运行

Also Published As

Publication number Publication date
US20160239411A1 (en) 2016-08-18
US9165682B2 (en) 2015-10-20
US20180329633A1 (en) 2018-11-15
US9921761B2 (en) 2018-03-20
US20200167083A1 (en) 2020-05-28
JP2014241158A (ja) 2014-12-25
US20140301143A1 (en) 2014-10-09
CN101874240A (zh) 2010-10-27
US9323666B2 (en) 2016-04-26
US20130326130A1 (en) 2013-12-05
US20090129163A1 (en) 2009-05-21
JP2011503741A (ja) 2011-01-27
TWI474335B (zh) 2015-02-21
TW200933638A (en) 2009-08-01
US10579278B2 (en) 2020-03-03
WO2009067139A1 (en) 2009-05-28
US8699287B2 (en) 2014-04-15
US8339881B2 (en) 2012-12-25
US8531900B2 (en) 2013-09-10
US20120311378A1 (en) 2012-12-06
US20120060060A1 (en) 2012-03-08
US20170075597A1 (en) 2017-03-16
US9489303B2 (en) 2016-11-08
US7903486B2 (en) 2011-03-08
US20160011974A1 (en) 2016-01-14

Similar Documents

Publication Publication Date Title
CN101874240B (zh) 增加存储器的多个块的寿命
CN101874239A (zh) 基于写入频率将数据写入不同的存储设备
US20100077135A1 (en) Memory wear leveling method, system and device
JP2011503741A5 (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
JP2011503768A5 (zh)
US8832527B2 (en) Method of storing system data, and memory controller and memory storage apparatus using the same
US20090044085A1 (en) Defect management method for storage medium and system thereof
CN103577342A (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
CN111414131A (zh) 数据存储装置、其操作方法和包括其的存储系统
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
CN111949198A (zh) 一种坏块管理方法、装置和存储设备
CN102880561A (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
C14 Grant of patent or utility model
GR01 Patent grant
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
TR01 Transfer of patent right

Effective date of registration: 20140429

Address after: California, USA

Patentee after: LSI Corp.

Address before: California, USA

Patentee before: Sandforce Inc.

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

Effective date of registration: 20160226

Address after: California, USA

Patentee after: Seagate Technology LLC

Address before: California, USA

Patentee before: LSI Corp.