CN102257482A - 用于一致读取等待时间的冗余数据存储 - Google Patents
用于一致读取等待时间的冗余数据存储 Download PDFInfo
- Publication number
- CN102257482A CN102257482A CN2008801324138A CN200880132413A CN102257482A CN 102257482 A CN102257482 A CN 102257482A CN 2008801324138 A CN2008801324138 A CN 2008801324138A CN 200880132413 A CN200880132413 A CN 200880132413A CN 102257482 A CN102257482 A CN 102257482A
- Authority
- CN
- China
- Prior art keywords
- data
- memory bank
- write
- flash memory
- read
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/22—Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种存储器设备(100,200,300,500,600,700)具有多个存储器存储体(d0到d7,m0到m3,p,p0,p1),其中到存储器存储体(d0到d7,m0到m3,p,p0,p1)的写或者擦除操作远远慢于到存储体(d0到d7,m0到m3,p,p0,p1)的读操作。存储器设备(100,200,300,500,600,700)被配置为:当用于数据的在存储器存储体(d0到d7,m0到m3,p,p0,p1)中的主存储位置正在经历写操作和擦除操作中的至少一个时,响应于对于该数据的查询,读取该数据的冗余存储而不是所述主存储位置或者重构请求数据。
Description
背景技术
固态存储器是一种类型的、由很多计算机和电子装置用以进行数据存储的数字存储器。固态电路的封装通常给固态存储器提供比磁盘驱动器更高的耐久性和更低的功耗。这些特性,与在增加固态存储器装置的存储容量方面做出的持续进步和固态存储器的相对廉价的成本相结合,已经对于将固态存储器用于大范围的应用做出贡献。在一些应用中,例如,非易失固态存储器可以被用于替代磁性硬盘或者在处理器的存储器空间的区域中使用,当处理器断电时,所述区域保留它们的内容。
在包括闪速存储器的大多数类型的非易失固态存储器中,写操作比读操作要求远远更大量的时间来完成。此外,由于在闪速存储器中的写操作的单向性质,数据通常仅仅被以大的块周期性地从闪速存储器擦除。这种类型的擦除操作比写操作要求甚至更多的时间来完成。
附图说明
附图示意在这里描述的原理的各种实施例并且是说明书的一个部分。所示意的实施例仅仅是示例并且不限制权利要求的范围。
图1A是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。
图1B是根据在这里描述的原理的一个示例性实施例的、在图1A的示意性存储器设备上执行的读和写操作的示意性时序的图示。
图2是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。
图3是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。
图4是根据在这里描述的原理的一个示例性实施例的、在图3的示意性存储器设备上执行的读和写操作的示意性时序的图示。
图5是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。
图6是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。
图7是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。
图8是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性数据存储系统的框图。
图9A是根据在这里描述的原理的一个示例性实施例的、在存储器存储体的阵列中维持一致读取等待时间的示意性方法的流程图。
图9B是根据在这里描述的原理的一个示例性实施例的、从存储器系统读取数据的示意性方法的流程图。
在所有的附图中,相同的参考数字标识类似的但是并不一定相同的元件。
具体实施方式
如上所述,在某些类型的数字存储器中,包括但是不限于闪速存储器和其它非易失固态存储器,向存储器写数据所要求的时间量可能显著地比从存储器读数据所要求的时间量更长。而且,擦除操作可能要求比写操作或者读操作更长的时间量来完成。
对于这些类型的存储器中的大多数而言,在相同存储器装置上,读操作不能与写或者擦除操作并发地发生,由此要求读操作被延迟,直至当前在该装置上执行的任何写或者擦除操作完成为止。因此,在这种存储器装置中,最坏情形的读取等待时间可能受在该装置上的擦除操作所要求的时间的支配。
然而,在一些情形中,可能期望在存储于存储器装置中的数据的读取等待时间方面维持一致性,而与存储器装置是否正在经历写或者擦除操作无关。此外,还可能期望最小化在这种存储器装置中的读取等待时间。
鉴于以上和其它目标,本说明书公开了具有基本一致的读取等待时间的数字存储的设备、系统和方法。具体地,本说明书公开了利用多个存储器存储体的设备、系统和方法,该多个存储器存储体被配置为以冗余方式存储否则在它的主存储位置处的写或者擦除操作期间不可访问的数据。当主存储位置经历写或者擦除操作时,响应于对于数据的查询而从冗余存储读取该数据。
如在本说明书中和在所附权利要求中使用的,术语“存储体(bank)”指的是物理、可寻址存储器模块。例如,多个存储体可以被合并到单一存储器系统或者装置中并且被并行地访问。
如在本说明书中和在所附权利要求中使用的,术语“读取等待时间”指的是在当在存储器存储体中查询地址时和当在该地址中存储的数据被提供给查询过程时之间逝去的时间量。
如在本说明书中和在所附权利要求中使用的,术语“存储器系统”广泛地指的是任何数据存储和访问系统,其中可以通过一个或者多个外部过程将数据写入该系统和从该系统读取。存储器系统包括但是不限于处理器存储器、固态盘等。
在以下说明中,为了解释的意图,阐述了许多具体细节从而提供对于本系统和方法的彻底的理解。然而,本领域技术人员将会清楚,可以在没有这些具体细节的情况下实践本系统和方法。在说明书中对于“实施例”、“示例”或者类似的语言的引用意味着结合该实施例或者示例描述的特定特征、结构或者特性被包括在至少该一个实施例中,但是并一定地被包括在其它实施例中。在说明书的各种位置中的短语“在一个实施例中”或者类似短语的各个实例不一定全部指代相同的实施例。
现在将关于示意性的系统和示意性的方法讨论在这里所公开的原理。
示意性的系统
现在参考图1A,示出了示意性存储器设备(100)。为了解释性的意图,将主要地关于闪速存储器描述本说明书的系统和方法。然而,将会理解,本说明书的系统和方法可以并且意欲在任何类型的数字存储器中利用,其中写操作或者擦除操作中的至少一个要求比读操作远远更大的时间量来完成。本系统和方法可以应用的、其它类型的数字存储器的示例包括但是不限于相变存储器(即PRAM)、UV擦除存储器、电可擦可编程只读存储器(EEPROM)和其它可编程非易失固态存储器类型。
本示例示意本说明书原理的一个简单的应用。在存储器装置中的闪速存储器存储体(d0,m0)可以包括用作数据的主存储位置的主闪速存储体(d0)和以冗余方式存储在主闪速存储体(d0)中存储的数据的副本的镜像存储体(m0)。写或者擦除操作因此将要求主和镜像存储体(d0,m0)中的每一个被更新以在存储体(d0,m0)之间维持一致的数据镜像。在正在执行写或者擦除操作时,闪速存储器存储体对于外部读查询而言通常是不可访问的。然而,通过交错写或者擦除操作从而两个闪速存储器存储体(d0,m0)绝不并发地经历写或者擦除操作,主数据存储体(d0)或者镜像数据存储体(m0)中的至少一个可以用于对于在存储体(d0,m0)中存储的数据的外部读查询。在本示例中,示出在镜像闪速存储体(m0)服务于读查询时新的数据正被写入主闪速存储体(d0)。相反,在镜像闪速存储体(m0)正在经历写或者擦除操作时,主闪速存储体(d0)可以服务于外部读查询。
在其中主闪速存储体(d0)和镜像闪速存储体(m0)这两者均可用于服务于读查询的某些实施例中,两个闪速存储体(d0,m0)均可以服务于查询。在可替代实施例中,在这种情况下,仅仅主闪速存储体(d0)可以服务于读查询以保持读取等待时间的一致性。然而,在每一个可能的实施例中,在主和镜像闪速存储体(d0,m0)中存储的数据的最大读取等待时间可以大致相当于两个闪速存储体(d0,m0)中的较慢的一个(如果存在的话)的读取等待时间。
现在参考图1B,示出在闪速存储体(d0,m0)中的读和写操作的示意性时序(150)。因为写入主闪速存储体(d0)的数据还必须被写入镜像闪速存储体(m0)以保持数据的镜像,所以完整的写循环(155)可以包括首先到主闪速存储体(d0)并且然后到镜像闪速存储体(m0)的双重数据的交错写入。因此,到图1A的存储器设备(100)的完整的写循环(155)可以要求是到单一闪速存储体(d0,m0)的写循环将要求的时间量的两倍的时间量来完成。
然而,如在图1B中所示,可以在整个写循环(155)期间不断地读取在存储体(d0,m0)中存储的数据。哪一个闪速存储体(d0,m0)向查询读过程提供数据可以依赖于闪速存储体(d0,m0)中的哪一个当前正在经历写操作。数据源可以与(一个或者多个)查询读过程不相关,但是作为平衡在闪速存储体(d0,m0)之间的读查询服务可以实际上对于(一个或者多个)查询过程而言不可见。如将在下面更加详细地描述地,可以在结合具有这个性质的冗余闪速存储器的存储器装置中使用读取复用器以根据闪速存储体(d0,m0)是否正在经历擦除或者写循环(155)以及在擦除或者写循环(155)中在其接收到读查询的阶段而将数据读查询引导到适当的数据源。
现在参考图2,示出存储器设备(200)的另一示意性实施例。非常类似上述设备(100,图1A),本存储器设备(200)采用数据镜像来在数据存储中提供冗余以对于采用存储器存储体(d0到d3,m0到m3)的闪速存储器装置实现一致的读取等待时间。
在本示例中,在图1A-1B中描述的镜像原理被从单一组的冗余闪速存储体扩展到多个冗余闪速存储体(d0到d3,m0到m3)。在本示例中存在多个主闪速存储体(d0到d3),并且主闪速存储体(d0到d3)中的每一个均与被配置为与它的对应的主闪速存储体(d0到d3)存储相同的数据的镜像闪速存储体(分别为m0到m3)配对。类似于在前描述的存储器设备(100,图1A),到任何主闪速存储体(d2)的写操作与到它的对应的镜像闪速存储体(m2)的写操作交错从而在每一组主闪速存储体(d0到d3)和对应的镜像闪速存储体(m0到m3)中的至少一个闪速存储体(d0到d3,m0到m3)在任何给定时间可用于读过程。因此,在闪速存储体(d0到d3,m0到m3)中存储的全部数据在任何时间可以用于外部读查询,而与是否正在闪速存储体(d0到d3,m0到m3)上执行一个或者多个写过程无关。
在某些实施例中,特别地在其中多个闪速存储体(d0到d3,m0到m3)被配置为同时被读取以提供单个数据字的那些实施例中,写缓冲器可以被与闪速存储体(d0到d3,m0到m3)合并。写缓冲器可以存储当前正在被写入或者尚待写入闪速存储体(d0到d3,m0到m3)的用于写操作的数据。以此方式,能够向外部读过程提供最当前的数据。写缓冲器可以与在本说明书中描述的任何示例性实施例一起使用,并且将在下面更加详细地描述这种写缓冲器的操作。
本示例示意成一组的四个主闪速存储体(d0到d3)和四个对应的镜像闪速存储体(m0到m3)。然而,应该理解,如可以最好地适合于特定应用的,根据在这里描述的原理可以使用任何适当数目的闪速存储体(d0到d3,m0到m3)来创建冗余数据存储。
现在参考图3,示出另一示意性存储器设备(300)。在本示例中,四个主闪速存储体(d0到d3)用作主数据存储。类似以前的示例,在本示例中的数据可以被以冗余方式存储从而即使在主闪速存储体(d0到d3)之一正被写入或者擦除的情形中也提供一致的数据读取等待时间。
然而,不象以前的示例,本存储器设备(300)并不通过将每一个主闪速存储体(d0到d3)中存储的数据复制在对应的镜像闪速存储体中而提供数据冗余。相反,本示例合并了可以存储用于在主闪速存储体(d0到d3)中存储的数据的奇偶校验数据的奇偶校验闪速存储体(p)。在奇偶校验闪速存储体(p)中存储的奇偶校验数据可以与从主闪速存储体(d0到d3)中的任何三个主闪速存储体在给定地址处读取的数据相结合地使用以确定在剩余的主闪速存储体(d0到d3)中存储的数据而不实际上在剩余的主闪速存储体(d0到d3)上执行读操作。
例如,如在图3中所示,可以使用数据条带化(striping)来将分段数据分布在主闪速存储体(d0到d3)上从而同时地并且与主闪速存储体(d0到d3)中的每一个的对应地址并行地执行读操作以检索所请求的数据。所请求的数据片段被从主闪速存储体(d0到d3)中的每一个并行地接收并且被组合以向查询过程呈现完整的请求数据。然而,如果主闪速存储体(d0到d3)中的一个(d2)正在经历写操作,则在写操作期间,该主闪速存储体(d2)可能不可用于执行读操作。然而,为了维持在主闪速存储体(d0到d3)中存储的分段数据的读取等待时间的一致性,可以使用从剩余的主闪速存储体(d0,d1,d3)检索的数据片段和从奇偶校验闪速存储体(p)中的对应地址检索的奇偶校验数据重构主要存储在主闪速存储体(d2)中的请求的数据片段。
这个重构可以是例如由重构模块(305)执行的,重构模块(305)具有逻辑门,所述逻辑门被配置为在从可访问的闪速存储体(d0,d1,d3)接收的数据部分上执行异或(EXOR)位操作以产生在被占用的主闪速存储体(d2)中存储的数据片段。重构模块(305)的输出然后可以替代被占用的主闪速存储体(d2)的输出,由此向外部读过程提供所请求的完整数据。如将在下面更加详细描述的,这个替代可以由读取复用器(未示出)执行。
在本示例中,如果要向外部读过程提供完整数据,一次仅仅其中一个主闪速存储体(d0到d3)可以经历写或者擦除操作。可替代地,多个奇偶校验闪速存储体(p)可以使得能够在主闪速存储体(d0到d3)间进行并行的写或者擦除过程。
现在参考图4,示出在图3的主闪速存储体(d0到d3)和奇偶校验存储体(p)中的读和写操作的示意性时序(400)。因为在本示例中一次仅仅能够向闪速存储体(d0到d3,p)之一写入数据或者从闪速存储体(d0到d3,p)之一擦除数据,所以到主和奇偶校验闪速存储体(d0到d3,p)中的每一个的写操作是交错的。因此在主闪速存储体(d0到d3)中存储的任何数据在任何时间可以被用于外部读过程,而与闪速存储体之一是否正经历写或者擦除操作无关。这是因为外部读过程查询的任何条带化数据可以从所示五个闪速存储体(d0到d3,p)中的任何四个复原。如在图4中所示,存储在暂时不可访问的主闪速存储体(d1)中的分段数据可以从存储在剩余的可访问的主闪速存储体(d0,d2,d3)和可访问的奇偶校验闪速存储体(p)中的对应数据重构。
现在参考图5,示出另一个示意性的存储器设备(500)。类似于图3-4的示例,本示例采用在多个主闪速存储体(d0到d3)上的分段数据条带化分布。与以前示例的与主闪速存储体(d0到d3)相结合地使用单一奇偶校验闪速存储体(p)相对照,本示例与主闪速存储体(d0到d3)相结合地利用两个奇偶校验闪速存储体(p0,p1)来实现数据冗余。
奇偶校验闪速存储体中的第一奇偶校验闪速存储体(p0)存储对应于在前两个主闪速存储体(d0,d1)中的分段数据的奇偶校验数据,并且第二奇偶校验闪速存储体(p1)存储对应于在剩余的两个主闪速存储体(d2,d3)中的条带化数据的奇偶校验数据。第一和第二重构模块(505,510)被配置为分别地从第一奇偶校验闪速存储体(p0)和第二奇偶校验闪速存储体(p1)重构主闪速存储体数据。通过利用多个奇偶校验闪速存储体(p0,p1),由于写或者擦除操作仅仅需要分别地在第一组闪速存储体(d0,d1,p0)和第二组闪速存储体(d2,d3,p1)之间交错的事实,可以增加闪速存储器存储体(d0到d3,p0,p1)的写带宽。这个性质允许每一组支持在它的闪速存储体(d0到d3,p0,p1)之一中的并发的写或者擦除过程,同时仍然使得在主闪速存储体(d0到d3)中存储的全部数据可用于外部读过程。
在本示例中,在第一组中的主闪速存储体(d1)被示为正在经历写操作,与之并发的是在第二组中的主闪速存储体(d2)也在经历写操作。响应于外部读过程,重构模块(505,510)使用在奇偶校验闪速存储体(p0,p1,分别地)中存储的奇偶校验数据以及来自可访问的主闪速存储体(d0,d3,分别地)的数据来复原在不可访问的闪速存储体(d1,d2)中存储的数据并且与来自可访问的闪速存储体(d1,d2)的数据一起将该数据提供给外部读过程。
现在参考图6,示出另一个示意性的存储器设备(600)。类似于图5的示例,本示例通过在主闪速存储体(d0到d3)上的数据条带化分布连同两个奇偶校验闪速存储体(p0,p1)一起来实现在主闪速存储体(d0到d3)中存储的数据的冗余。
与结合单独的两组主闪速存储体(d0到d3)使用两个奇偶校验闪速存储体(p0,p1)的、以前的示意性存储器设备(500,图5)相对照,本示例的奇偶校验闪速存储体(p0,p1)为所有的主闪速存储体(d0到d3)存储双重奇偶校验数据。换言之,奇偶校验闪速存储体(p0,p1)使用镜像从而奇偶校验闪速存储体(p0,p1)之一总是可用于向重构模块(505)提供奇偶校验数据。
现在参考图7,示出另一个示意性的存储器设备(700)。在本示例中,提供了实施为动态随机存取存储器(DRAM)模块(705)的写缓冲器,以实现在主闪速存储器存储体(d0到d7)中存储的数据的冗余。DRAM模块(705)可以被配置为对存储在任何或者所有的主闪速存储器存储体(d0到d7)中的数据进行镜像化从而由于写或者擦除操作而不可访问的任何闪速存储器存储体(d0到d7)存储的数据可以由DRAM模块(705)提供。在其它实施例中,主闪速存储器存储体(d0到d7)可以被配置为存储条带化数据,其中DRAM模块(705)被配置为存储用于闪速存储器存储体(d0到d7)的奇偶校验数据,如在上面关于以前的实施例描述的。另外地或者可替代地,一个或者多个写缓冲器(例如DRAM模块(705))可以用于存储将在交错的写操作中被写入主闪速存储器存储体(d0到d7)的数据。
现在参考图8,示出具有一致读取等待时间的示意性存储器系统(800)的框图。例如,可以在例如双列直插存储器模块(DIMM)上,或者根据可以适合于在这里描述的原理的特定应用的任何其它协议和封装实现示意性的存储器系统(800)。
示意性数据存储系统(800)包括以类似于先前在图3中描述的分段数据条带化/奇偶校验冗余配置布置的多个NOR闪速存储器存储体(d0到d7,p)。可替代地,可以使用与如在这里描述的用于一致读取等待时间的数据冗余原理相符合的、闪速存储器存储体(d0到d7,p)的任何其它适当的配置。
每一个闪速存储器存储体可以被以通信方式耦合到管理模块(805),管理模块(805)包括读取复用器(810)、写缓冲器(815)、奇偶校验产生模块(820)、重构模块(825)和控制电路(830)。
系统(800)可以通过用作地址端口(835)、控制端口(840)和数据端口(845)的输入/输出(i/o)插脚与外部过程交互。在某些实施例中,多位地址和数据端口(835,845)可以是并行数据端口。可替代地,地址和数据端口(835,845)可以串行地输送数据。控制电路(830)可以包括协调系统(800)中的其它构件的功能和活动的微控制器或者其它类型的处理器或者处理元件。
外部过程可以通过以下方式向存储器系统(800)的特定地址写数据:在地址端口(835)处提供该地址、在控制端口(840)处将控制位设置为1,以及在数据端口(845)处提供将被写入的数据。在下一时钟周期,管理模块(805)中的控制电路(830)可以确定在控制端口(840)处的控制位已经被设为1,将地址端口处的地址存储在控制电路(830)的寄存器中,并且将数据写入临时写缓冲器(815)。
临时写缓冲器(815)在同步操作中可以是有用的,因为闪速存储体(d0到d7,p)可能要求交错的写入以维持一致读取等待时间。写缓冲器(815)可以包括DRAM或者另一种类型的同步存储器以允许数据得以从外部过程同步地接收并且符合DIMM协议。
控制电路(830)然后可以通过将写缓冲器(815)中的数据解析成片段并且根据数据的地址和特定应用的分段细节将每一个片段分配到闪速存储体(d0到d7)之一而根据交错写入要求将在临时写缓冲器(815)中存储的数据写入闪速存储体(d0到d7,p)。奇偶校验产生模块(820)可以利用对应于在主闪速存储体(d0到d7)中新写入的数据的、新的奇偶校验数据更新奇偶校验闪速存储体(p)。
类似地,通过在控制端口(840)处的控制位被设为0的情况下向管理模块(805)提供在地址端口(835)处的正被查询的数据的地址,外部过程可以读取数据。在管理模块(805)中的控制电路(830)可以接收该地址并且根据该控制位确定正在从外部过程请求读取。控制电路(830)然后可以查询闪速存储器存储体(d0到d7)的、存储在由外部过程请求的地址处的数据片段的部分。如果控制电路(830)确定由外部过程请求的地址当前正被写入或者被安排为要写入,则控制电路(830)可以查询写缓冲器(815)并且直接从写缓冲器(815)向外部过程提供请求数据。然而,如果数据不在写缓冲器(815)中,但是虽然如此正在进行交错的写或者擦除过程以向闪速存储器存储体(d0到d7,p)写入数据,则控制电路(830)可以使用重构模块(825)来使用来自可访问的主闪速存储体(d0到d7)和奇偶校验闪速存储体(p)的数据重构所请求的数据。控制电路(830)还可以向读取复用器(810)提供控制信号从而读取复用器(810)利用重构模块(825)的输出替代不可访问的闪速存储体(d0到d7)的输出。读取复用器(810)可以与在本技术领域中已知的复用原理一致,并且采用多个逻辑门来执行这项任务。
示意性的方法
现在参考图9A,示出在存储器存储体的阵列中维持一致读取等待时间的示意性方法(900)的流程图。可以例如在管理模块(805)的控制下在类似以上参考图8所述的系统的存储器系统(800,图8)中执行方法(900),在所述系统中用于数据的至少一个主存储位置要求比读操作更多的时间来执行写或者擦除操作。
该方法包括接收(步骤910)对于数据的查询。可以从外部过程接收对于数据的查询。然后可以评估(决定915)用于所请求的数据的至少一个主存储位置当前是否正在经历写或者擦除操作。如果是这样,则替代该主存储位置而从冗余存储读取(步骤930)请求的数据的至少一部分。在所讨论的数据的主存储位置当前不正在经历写或者擦除操作的情形中,从主存储位置读取(步骤925)该数据。最终,数据被提供(步骤935)给查询过程。
现在参考图9B,示出从存储器系统读取数据的示意性方法(950)的流程图。例如也可以在管理模块(805)的控制下在类似以上参考图8所述的系统的存储器系统(800,图8)中执行该方法(950)以在存储器系统(800,图8)中维持基本一致的读取等待时间。
方法(950)可以包括在存储器系统的地址端口处提供(955)正被查询的数据的地址。然后可以确定(决定960)对应于所供给的地址的请求数据是否当前正被存储在写缓冲器中(例如,在读取时,请求数据处于正被写入存储器系统中的其对应的存储器存储体的过程中)。如果是这样,则可以简单地从写缓冲器读取(步骤965)请求数据并且将其提供(步骤990)给请求过程。
如果对应于由外部过程提供的地址的数据被确定(决定960)为不在写缓冲器中,则可以确定(决定970)是否正在存储请求数据的存储器存储体中的至少一个上执行写或者擦除过程。在不正在存储请求数据的存储器存储体中的至少一个上执行写或者擦除过程的情形下,存储请求数据的所有的存储器存储体可以是可使用的,从而直接从存储器的主存储位置读取(步骤985)数据并且将其提供(步骤990)给请求过程。
在写或者擦除过程正在存储请求数据的至少一个存储体上执行的情形中,可以从任何可用的存储器存储体读取(975)数据片段并且可以使用存储在别处的奇偶校验数据重构(步骤980)剩余的(一个或者多个)数据片段。在重构之后,然后可以在基本类似于在直接从主存储器存储体读取请求数据之后提供请求数据的读取等待时间的读取等待时间下将数据提供(步骤990)给请求过程。
已经仅仅为了示意并且描述所述原理的实施例和示例而给出了前面的说明。该说明并非旨在是穷举性的或者将这些原理限制为所公开的任何精确的形式。根据以上教导,很多修改和变化是可能的。
Claims (15)
1. 一种存储器设备(100,200,300,500,600,700),包括:
多个存储器存储体(d0到d7,m0到m3,p,p0,p1),其中到所述存储器存储体(d0到d7,m0到m3,p,p0,p1)的写或者擦除操作远远慢于到所述存储体(d0到d7,m0到m3,p,p0,p1)的读操作;并且
其中所述存储器设备(100,200,300,500,600,700)被配置为:当用于数据的在所述存储体(d0到d7,m0到m3,p,p0,p1)中的主存储位置正在经历写操作和擦除操作中的至少一个时,响应于对于所述数据的查询,读取所述数据的冗余存储而不是所述主存储位置,对于存储在所述多个存储器存储体(d0到d7,m0到m3,p,p0,p1)中的数据,所述存储器设备(100,200,300,500,600,700)包括基本一致的读取等待时间。
2. 根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述存储器存储体(d0到d7,m0到m3,p,p0,p1)包括闪速存储器。
3. 根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述基本一致的读取等待时间远远小于所述存储器存储体(d0到d7,m0到m3,p,p0,p1)中的所述主存储位置的写等待时间和擦除等待时间中的至少一个。
4. 根据权利要求1的存储器设备(100,200,300,500,600,700),进一步包括读取复用器(810),所述读取复用器被配置为:在所述主存储位置正在经历所述写操作或者所述擦除操作的情形中,用来自所述数据的冗余存储的所述数据替代来自所述主存储位置的所述数据。
5. 根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述数据的冗余存储包括与所述主存储位置分离的存储器存储体(m0到m3),其中所述冗余存储器存储体(p,p0,01)被配置为对存储在所述主存储位置中的数据进行镜像化。
6. 根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述请求数据分布在多个所述存储器存储体(d0到d7,m0到m3,p,p0,p1)中。
7. 根据权利要求6的存储器设备(100,200,300,500,600,700),其中所述数据的冗余存储包括奇偶校验数据,根据所述奇偶校验数据,使用分布在所述多个所述存储器存储体(d0到d7,m0到m3,p,p0,p1)中的所述数据的部分导出所述请求数据。
8. 一种在存储器存储体(d0到d7,m0到m3,p,p0,p1)的阵列中维持基本一致的读取等待时间的方法(900),包括:
响应于对于数据的查询,确定(915)在所述存储器存储体(d0到d7,m0到m3,p,p0,p1)中用于所述数据的主存储位置当前是否正在经历写操作和擦除操作中的至少一个;和
如果用于所述数据的所述主存储位置当前正在经历写操作和擦除操作中的至少一个,则从冗余存储而不是所述主存储位置读取所述数据。
9. 根据权利要求8的方法(900),其中所述数据分布在所述多个所述存储器存储体中的单独存储器存储体(d0到d7,m0到m3,p,p0,p1)中,并且所述从所述冗余存储读取所述数据包括根据所述数据的分布部分和奇偶校验数据重构所述数据。
10. 根据权利要求9的方法(900),进一步包括向读取复用器(810)提供控制信号从而所述读取复用器(810)使用来自所述冗余存储的所述数据替代从所述存储器存储体(d0到d7,m0到m3,p,p0,p1)中的至少一个读取的数据。
11. 根据权利要求8的方法(900),进一步包括,响应于确定所述数据被存储在临时写缓冲器中,直接从所述临时写缓冲器读取所述数据。
12. 根据权利要求8的方法(900),其中所述查询包括在所述的地址端口处提供的地址。
13. 一种数据存储系统(800),包括:
多个存储器存储体(d0到d7,m0到m3,p,p0,p1),其中到所述存储器存储体(d0到d7,m0到m3,p,p0,p1)的写或者擦除操作远远慢于到所述存储器存储体的读操作;和
读取复用器(810),所述读取复用器被配置为:响应于确定用于请求数据的在所述存储器存储体(d0到d7,m0到m3,p,p0,p1)中的主存储位置正在经历写操作和擦除操作中的至少一个,从冗余存储读取所述请求数据。
14. 根据权利要求13的数据存储系统(800),进一步包括重构模块(305,505,510,825),所述重构模块被配置为根据遍布所述多个存储器存储体(d0到d7,m0到m3,p,p0,p1)分布的分段数据和所存储的奇偶校验数据重构在所述主存储位置中存储的所述数据。
15. 根据权利要求13的数据存储系统(800),进一步包括写缓冲器(815),所述写缓冲器被配置为从外部过程同步地接收写数据并且存储所述写数据,同时交错的写过程将所述写数据写入所述多个存储器存储体(d0到d7,m0到m3,p,p0,p1)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2008/087632 WO2010071655A1 (en) | 2008-12-19 | 2008-12-19 | Redundant data storage for uniform read latency |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102257482A true CN102257482A (zh) | 2011-11-23 |
CN102257482B CN102257482B (zh) | 2015-06-03 |
Family
ID=42269092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880132413.8A Expired - Fee Related CN102257482B (zh) | 2008-12-19 | 2008-12-19 | 用于一致读取等待时间的冗余数据存储 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20110258362A1 (zh) |
EP (1) | EP2359248A4 (zh) |
JP (1) | JP5654480B2 (zh) |
KR (1) | KR101638764B1 (zh) |
CN (1) | CN102257482B (zh) |
WO (1) | WO2010071655A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102582269A (zh) * | 2012-02-09 | 2012-07-18 | 珠海天威技术开发有限公司 | 存储芯片及其数据通讯方法、耗材容器、成像设备 |
CN104969293A (zh) * | 2013-02-04 | 2015-10-07 | 国际商业机器公司 | 保护存储设备的内容 |
CN105009066A (zh) * | 2013-01-18 | 2015-10-28 | Dssd股份有限公司 | 用于镜像多维raid的方法和系统 |
Families Citing this family (192)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
US9632870B2 (en) | 2007-03-29 | 2017-04-25 | Violin Memory, Inc. | Memory system with multiple striping of raid groups and method for performing the same |
US11010076B2 (en) | 2007-03-29 | 2021-05-18 | Violin Systems Llc | Memory system with multiple striping of raid groups and method for performing the same |
US8493783B2 (en) | 2008-03-18 | 2013-07-23 | Apple Inc. | Memory device readout using multiple sense times |
JP5056944B2 (ja) * | 2008-03-31 | 2012-10-24 | 日本電気株式会社 | 秘匿処理装置、秘匿処理方法、および秘匿処理プログラム |
US8838850B2 (en) * | 2008-11-17 | 2014-09-16 | Violin Memory, Inc. | Cluster control protocol |
US8442059B1 (en) | 2008-09-30 | 2013-05-14 | Gridiron Systems, Inc. | Storage proxy with virtual ports configuration |
US8417895B1 (en) | 2008-09-30 | 2013-04-09 | Violin Memory Inc. | System for maintaining coherency during offline changes to storage media |
US8788758B1 (en) | 2008-11-04 | 2014-07-22 | Violin Memory Inc | Least profitability used caching scheme |
US8214599B2 (en) * | 2008-11-04 | 2012-07-03 | Gridiron Systems, Inc. | Storage device prefetch system using directed graph clusters |
US8775741B1 (en) | 2009-01-13 | 2014-07-08 | Violin Memory Inc. | Using temporal access patterns for determining prefetch suitability |
US8214608B2 (en) * | 2008-11-04 | 2012-07-03 | Gridiron Systems, Inc. | Behavioral monitoring of storage access patterns |
US8443150B1 (en) | 2008-11-04 | 2013-05-14 | Violin Memory Inc. | Efficient reloading of data into cache resource |
US8285961B2 (en) | 2008-11-13 | 2012-10-09 | Grid Iron Systems, Inc. | Dynamic performance virtualization for disk access |
US8650362B2 (en) | 2009-04-17 | 2014-02-11 | Violin Memory Inc. | System for increasing utilization of storage media |
US8667366B1 (en) | 2009-04-17 | 2014-03-04 | Violin Memory, Inc. | Efficient use of physical address space for data overflow and validation |
US8713252B1 (en) | 2009-05-06 | 2014-04-29 | Violin Memory, Inc. | Transactional consistency scheme |
US9069676B2 (en) | 2009-06-03 | 2015-06-30 | Violin Memory, Inc. | Mapping engine for a storage device |
US8402198B1 (en) | 2009-06-03 | 2013-03-19 | Violin Memory, Inc. | Mapping engine for a storage device |
US8402246B1 (en) | 2009-08-28 | 2013-03-19 | Violin Memory, Inc. | Alignment adjustment in a tiered storage system |
EP4361815A3 (en) * | 2009-10-09 | 2024-06-19 | Violin Systems LLC | Memory system with multiple striping of raid groups and method for performing the same |
US8832384B1 (en) | 2010-07-29 | 2014-09-09 | Violin Memory, Inc. | Reassembling abstracted memory accesses for prefetching |
US8959288B1 (en) | 2010-07-29 | 2015-02-17 | Violin Memory, Inc. | Identifying invalid cache data |
US20120054427A1 (en) * | 2010-08-27 | 2012-03-01 | Wei-Jen Huang | Increasing data access performance |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US8589625B2 (en) * | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US8468318B2 (en) * | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
CN103534693B (zh) * | 2010-11-22 | 2016-08-24 | 马维尔国际贸易有限公司 | 在客户端之间共享对存储器的访问的方法和设备 |
US8793419B1 (en) * | 2010-11-22 | 2014-07-29 | Sk Hynix Memory Solutions Inc. | Interface between multiple controllers |
JP5609683B2 (ja) * | 2011-01-31 | 2014-10-22 | ソニー株式会社 | メモリ装置およびメモリシステム |
US8972689B1 (en) | 2011-02-02 | 2015-03-03 | Violin Memory, Inc. | Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media |
US8635416B1 (en) | 2011-03-02 | 2014-01-21 | Violin Memory Inc. | Apparatus, method and system for using shadow drives for alternative drive commands |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
CN106021147B (zh) * | 2011-09-30 | 2020-04-28 | 英特尔公司 | 在逻辑驱动器模型下呈现直接存取的存储设备 |
CN104040515B (zh) | 2011-09-30 | 2018-05-11 | 英特尔公司 | 在逻辑驱动器模型下呈现直接存取的存储设备 |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US9195622B1 (en) | 2012-07-11 | 2015-11-24 | Marvell World Trade Ltd. | Multi-port memory that supports multiple simultaneous write operations |
US8909860B2 (en) | 2012-08-23 | 2014-12-09 | Cisco Technology, Inc. | Executing parallel operations to increase data access performance |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US20140189202A1 (en) * | 2012-12-28 | 2014-07-03 | Hitachi, Ltd. | Storage apparatus and storage apparatus control method |
US9589008B2 (en) | 2013-01-10 | 2017-03-07 | Pure Storage, Inc. | Deduplication of volume regions |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
KR20160018471A (ko) * | 2013-04-02 | 2016-02-17 | 바이올린 메모리 인코포레이티드 | 스토리지 미디어 성능을 높이는 시스템 |
US20140304452A1 (en) * | 2013-04-03 | 2014-10-09 | Violin Memory Inc. | Method for increasing storage media performance |
US9378075B2 (en) * | 2013-05-15 | 2016-06-28 | Amazon Technologies, Inc. | Reducing interference through controlled data access |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
US9516016B2 (en) | 2013-11-11 | 2016-12-06 | Pure Storage, Inc. | Storage array password management |
US8924776B1 (en) | 2013-12-04 | 2014-12-30 | DSSD, Inc. | Method and system for calculating parity values for multi-dimensional raid |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US9513820B1 (en) | 2014-04-07 | 2016-12-06 | Pure Storage, Inc. | Dynamically controlling temporary compromise on data redundancy |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US9798622B2 (en) * | 2014-12-01 | 2017-10-24 | Intel Corporation | Apparatus and method for increasing resilience to raw bit error rate |
CN107209702B (zh) | 2014-12-09 | 2020-11-03 | 马维尔以色列(M.I.S.L.)有限公司 | 用于在存储器中执行同时读取和写入操作的系统和方法 |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US9753655B2 (en) * | 2014-12-30 | 2017-09-05 | Samsung Electronics Co., Ltd. | Computing system with write buffer including speculative storage write and method of operation thereof |
US9569357B1 (en) | 2015-01-08 | 2017-02-14 | Pure Storage, Inc. | Managing compressed data in a storage system |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US11099746B2 (en) | 2015-04-29 | 2021-08-24 | Marvell Israel (M.I.S.L) Ltd. | Multi-bank memory with one read port and one or more write ports per cycle |
EP3289462B1 (en) * | 2015-04-30 | 2019-04-24 | Marvell Israel (M.I.S.L) LTD. | Multiple read and write port memory |
US11403173B2 (en) | 2015-04-30 | 2022-08-02 | Marvell Israel (M.I.S.L) Ltd. | Multiple read and write port memory |
US10089018B2 (en) | 2015-05-07 | 2018-10-02 | Marvell Israel (M.I.S.L) Ltd. | Multi-bank memory with multiple read ports and multiple write ports per cycle |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US9760432B2 (en) * | 2015-07-28 | 2017-09-12 | Futurewei Technologies, Inc. | Intelligent code apparatus, method, and computer program for memory |
US10180803B2 (en) * | 2015-07-28 | 2019-01-15 | Futurewei Technologies, Inc. | Intelligent memory architecture for increased efficiency |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10019174B2 (en) | 2015-10-27 | 2018-07-10 | Sandisk Technologies Llc | Read operation delay |
US10193576B2 (en) * | 2015-10-30 | 2019-01-29 | Toshiba Memory Corporation | Memory system and memory device |
US10437480B2 (en) | 2015-12-01 | 2019-10-08 | Futurewei Technologies, Inc. | Intelligent coded memory architecture with enhanced access scheduler |
US10649681B2 (en) | 2016-01-25 | 2020-05-12 | Samsung Electronics Co., Ltd. | Dynamic garbage collection P/E policies for redundant storage blocks and distributed software stacks |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
US20180275922A1 (en) * | 2017-03-27 | 2018-09-27 | Siamack Nemazie | Solid State Disk with Consistent Latency |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US12045487B2 (en) | 2017-04-21 | 2024-07-23 | Pure Storage, Inc. | Preserving data deduplication in a multi-tenant storage system |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10606484B2 (en) * | 2017-06-23 | 2020-03-31 | Google Llc | NAND flash storage device with NAND buffer |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
KR102369402B1 (ko) | 2017-09-20 | 2022-03-02 | 삼성전자주식회사 | 스토리지 장치, 이의 동작 방법 및 스토리지 장치를 포함하는 스토리지 시스템 |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
KR102446121B1 (ko) * | 2018-06-29 | 2022-09-22 | 주식회사 멤레이 | 메모리 제어 장치 및 이를 포함하는 메모리 시스템 |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
JP7224689B2 (ja) | 2018-10-12 | 2023-02-20 | スーパーメム,アイエヌシー. | 誤り訂正及びデータスクラビング回路を備えたメモリシステム |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US12135888B2 (en) | 2019-07-10 | 2024-11-05 | Pure Storage, Inc. | Intelligent grouping of data based on expected lifespan |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
US12050689B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Host anomaly-based generation of snapshots |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US12050683B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US12079356B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Measurement interval anomaly detection-based generation of snapshots |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US12079333B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Independent security threat detection and remediation by storage systems in a synchronous replication arrangement |
US12067118B2 (en) | 2019-11-22 | 2024-08-20 | Pure Storage, Inc. | Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system |
US12079502B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Storage element attribute-based determination of a data protection policy for use within a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010054165A1 (en) * | 2000-06-16 | 2001-12-20 | Fujitsu Limited | Memory device having redundant cells |
CN1440555A (zh) * | 2000-06-29 | 2003-09-03 | 英特尔公司 | 块级边读边写的方法及装置 |
US20040059869A1 (en) * | 2002-09-20 | 2004-03-25 | Tim Orsley | Accelerated RAID with rewind capability |
US20060026347A1 (en) * | 2004-07-29 | 2006-02-02 | Ching-Hai Hung | Method for improving data reading performance and storage system for performing the same |
US7328315B2 (en) * | 2005-02-03 | 2008-02-05 | International Business Machines Corporation | System and method for managing mirrored memory transactions and error recovery |
CN101174468A (zh) * | 2006-11-03 | 2008-05-07 | 三星电子株式会社 | 非易失性存储装置及其数据读取方法 |
WO2008070173A1 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696917A (en) * | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
JPH08335186A (ja) * | 1995-06-08 | 1996-12-17 | Kokusai Electric Co Ltd | 共有メモリの読み出し方法 |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
US6170046B1 (en) * | 1997-10-28 | 2001-01-02 | Mmc Networks, Inc. | Accessing a memory system via a data or address bus that provides access to more than one part |
DE69836437T2 (de) * | 1997-12-05 | 2007-09-27 | Intel Corporation, Santa Clara | Speichersystem mit speichermodul mit einem speichermodul-steuerbaustein |
JP3425355B2 (ja) * | 1998-02-24 | 2003-07-14 | 富士通株式会社 | 多重書き込み記憶装置 |
US6314106B1 (en) * | 1998-04-20 | 2001-11-06 | Alcatel Internetworking, Inc. | Receive processing for dedicated bandwidth data communication switch backplane |
US6216205B1 (en) * | 1998-05-21 | 2001-04-10 | Integrated Device Technology, Inc. | Methods of controlling memory buffers having tri-port cache arrays therein |
US6661422B1 (en) * | 1998-11-09 | 2003-12-09 | Broadcom Corporation | Video and graphics system with MPEG specific data transfer commands |
US6728798B1 (en) * | 2000-07-28 | 2004-04-27 | Micron Technology, Inc. | Synchronous flash memory with status burst output |
US6614685B2 (en) * | 2001-08-09 | 2003-09-02 | Multi Level Memory Technology | Flash memory array partitioning architectures |
US6941425B2 (en) * | 2001-11-12 | 2005-09-06 | Intel Corporation | Method and apparatus for read launch optimizations in memory interconnect |
US7062619B2 (en) * | 2002-01-31 | 2006-06-13 | Saifun Semiconductor Ltd. | Mass storage device architecture and operation |
US7130229B2 (en) * | 2002-11-08 | 2006-10-31 | Intel Corporation | Interleaved mirrored memory systems |
US7093062B2 (en) * | 2003-04-10 | 2006-08-15 | Micron Technology, Inc. | Flash memory data bus for synchronous burst read page |
US7127574B2 (en) * | 2003-10-22 | 2006-10-24 | Intel Corporatioon | Method and apparatus for out of order memory scheduling |
US20060026375A1 (en) * | 2004-07-30 | 2006-02-02 | Christenson Bruce A | Memory controller transaction scheduling algorithm using variable and uniform latency |
DE102006035612B4 (de) * | 2006-07-31 | 2011-05-05 | Qimonda Ag | Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers |
US7818528B2 (en) * | 2006-09-19 | 2010-10-19 | Lsi Corporation | System and method for asynchronous clock regeneration |
US7928770B1 (en) * | 2006-11-06 | 2011-04-19 | Altera Corporation | I/O block for high performance memory interfaces |
WO2009079478A1 (en) * | 2007-12-14 | 2009-06-25 | Virident Systems, Inc. | Distributing metadata across multiple different disruption regions within an asymmetric memory system |
US7945752B1 (en) * | 2008-03-27 | 2011-05-17 | Netapp, Inc. | Method and apparatus for achieving consistent read latency from an array of solid-state storage devices |
-
2008
- 2008-12-19 US US13/140,603 patent/US20110258362A1/en not_active Abandoned
- 2008-12-19 KR KR1020117014054A patent/KR101638764B1/ko active IP Right Grant
- 2008-12-19 JP JP2011542097A patent/JP5654480B2/ja not_active Expired - Fee Related
- 2008-12-19 WO PCT/US2008/087632 patent/WO2010071655A1/en active Application Filing
- 2008-12-19 EP EP08879034A patent/EP2359248A4/en not_active Withdrawn
- 2008-12-19 CN CN200880132413.8A patent/CN102257482B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010054165A1 (en) * | 2000-06-16 | 2001-12-20 | Fujitsu Limited | Memory device having redundant cells |
CN1440555A (zh) * | 2000-06-29 | 2003-09-03 | 英特尔公司 | 块级边读边写的方法及装置 |
US20040059869A1 (en) * | 2002-09-20 | 2004-03-25 | Tim Orsley | Accelerated RAID with rewind capability |
US20060026347A1 (en) * | 2004-07-29 | 2006-02-02 | Ching-Hai Hung | Method for improving data reading performance and storage system for performing the same |
US7328315B2 (en) * | 2005-02-03 | 2008-02-05 | International Business Machines Corporation | System and method for managing mirrored memory transactions and error recovery |
CN101174468A (zh) * | 2006-11-03 | 2008-05-07 | 三星电子株式会社 | 非易失性存储装置及其数据读取方法 |
WO2008070173A1 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102582269A (zh) * | 2012-02-09 | 2012-07-18 | 珠海天威技术开发有限公司 | 存储芯片及其数据通讯方法、耗材容器、成像设备 |
CN105009066A (zh) * | 2013-01-18 | 2015-10-28 | Dssd股份有限公司 | 用于镜像多维raid的方法和系统 |
CN104969293A (zh) * | 2013-02-04 | 2015-10-07 | 国际商业机器公司 | 保护存储设备的内容 |
CN104969293B (zh) * | 2013-02-04 | 2018-03-27 | 国际商业机器公司 | 保护存储设备的内容的方法和对应的存储设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20110106307A (ko) | 2011-09-28 |
EP2359248A4 (en) | 2012-06-13 |
CN102257482B (zh) | 2015-06-03 |
KR101638764B1 (ko) | 2016-07-22 |
WO2010071655A1 (en) | 2010-06-24 |
EP2359248A1 (en) | 2011-08-24 |
JP2012513060A (ja) | 2012-06-07 |
US20110258362A1 (en) | 2011-10-20 |
JP5654480B2 (ja) | 2015-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102257482B (zh) | 用于一致读取等待时间的冗余数据存储 | |
US10380018B2 (en) | Garbage collection | |
CN100487672C (zh) | 用于分割一逻辑块的方法及设备 | |
US9747170B2 (en) | Non-volatile multi-level cell memory system and method of performing adaptive data back-up in the system | |
KR100663738B1 (ko) | 동시 다중 데이터 섹터 프로그래밍 및 다른 지정 블럭들에대한 물리적 블럭 특성들의 저장기능을 갖는 플래시이이피롬 시스템 | |
US9239782B2 (en) | Nonvolatile memory device and program method thereof | |
CN102549672B (zh) | 用于非易失性存储器的优化页编程顺序 | |
US8316175B2 (en) | High throughput flash memory system | |
CN109426583A (zh) | 运行中的独立磁盘冗余阵列奇偶校验计算 | |
US11301387B2 (en) | Memory system configured with a synthesized logical block into which a plurality of data units forming an error correction frame are written | |
CN103106923A (zh) | 存储器装置架构和操作 | |
CN106445724A (zh) | 与受保护数据分开存储奇偶校验数据 | |
JP4751163B2 (ja) | メモリシステム | |
CN116088760A (zh) | 存储器系统及控制方法 | |
CN109542675A (zh) | 存储器系统及其操作方法 | |
DE102009026178A1 (de) | Mehrstufiger Controller mit intelligentem Speicher-Transfer-Manager zum Verschachteln mehrfacher Ein-Chip-Flash-Speichereinheiten | |
CN103635968A (zh) | 包含存储器系统控制器的设备和相关方法 | |
US8397018B2 (en) | Systems and methods for implementing a programming sequence to enhance die interleave | |
CN103650054A (zh) | 包含存储器系统控制器的设备和相关方法 | |
US20140281150A1 (en) | Difference l2p method | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
US20140208005A1 (en) | System, Method and Computer-Readable Medium for Providing Selective Protection and Endurance Improvements in Flash-Based Cache | |
JP4460967B2 (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
CN104166601A (zh) | 一种存储数据的备份方法和装置 | |
CN105390155A (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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170123 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: Hewlett Packard Development Co. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150603 Termination date: 20161219 |