CN102567242B - 执行同时读取与写入存储器操作的方法及设备 - Google Patents
执行同时读取与写入存储器操作的方法及设备 Download PDFInfo
- Publication number
- CN102567242B CN102567242B CN201110370020.4A CN201110370020A CN102567242B CN 102567242 B CN102567242 B CN 102567242B CN 201110370020 A CN201110370020 A CN 201110370020A CN 102567242 B CN102567242 B CN 102567242B
- Authority
- CN
- China
- Prior art keywords
- respective memory
- content
- memory subregion
- subregion
- ecc
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0061—Timing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5623—Concurrent multilevel programming and reading
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Crystallography & Structural Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本文中所揭示的标的物涉及存储器装置的读取及写入过程。
Description
技术领域
本文中所揭示的标的物涉及存储器装置的读取及写入过程。
背景技术
存储器装置用于许多类型的电子装置中,例如计算机、蜂窝电话、PDA、数据记录器及导航装备,此处仅列举几个实例。在此些电子装置当中,可采用各种类型的非易失性存储器装置,例如NAND或NOR快闪存储器及相变存储器(PCM),此处仅列举几个实例。一般来说,可使用写入或编程过程将信息存储于此些存储器装置中,而可使用读取过程来检索所存储的信息。
一些类型的存储器装置包含分割成例如页、块、分区等存储器单元群组的存储器单元阵列。在此些情况下,此种群组内的存储器单元可共享共用电子电路,包括例如读出放大器及行/列解码器。因此,从此种存储器单元群组的读取及向此种存储器单元群组的写入两者均可涉及某一共用电子电路。在此情况下,在此种存储器单元群组的一个部分中发生的未决写入操作可防止读取操作在同一存储器单元群组的另一部分中发生。此限制条件可导致较慢的读取操作及存储器装置的降低的总体性能。
发明内容
附图说明
将参考以下各图描述非限制性及非穷尽性实施例,其中除非另外说明,否则所有各图中相似参考编号指代相似部件。
图1到图4是根据一实施例的存储器的一部分的示意图。
图5是根据一实施例的用以从存储器的分区读取的过程的流程图。
图6是根据一实施例的用以更新存储器的错误校正码(ECC)分区的过程的流程图。
图7是图解说明计算系统的示范性实施例的示意图。
具体实施方式
此说明书通篇所提及的“一个实施例”或“一实施例”意指结合所述实施例描述的特定特征、结构或特性包括在所请求标的物的至少一个实施例中。因此,在此说明书通篇中的各个地方出现的短语“在一个实施例中”或“一实施例”未必全部指代相同实施例。此外,可将所述特定特征、结构或特性组合在一个或一个以上实施例中。
在一实施例中,例如NAND、NOR或PCM快闪等存储器装置可包含分割成称为分区的存储器单元群组的存储器阵列。此些分区内的存储器单元可共享共用电子电路,包括例如读出放大器及行/列解码器。在一实施方案中,除包括将用户数据存储于其中的多个分区外,存储器阵列还可包括用以存储ECC的错误校正码(ECC)分区。如果数据的一个或一个以上位变为遭破坏,那么可使用此ECC用包括待重构的数据的充足额外信息的奇偶位来补充所述数据。举例来说,可在读取所存储数据的过程及/或写入数据后检验的过程期间应用此ECC。ECC可包含用奇偶位补充的数据串。用以建构ECC的过程可至少部分地基于正使用的特定应用程序。在一特定实施方案中,ECC可至少部分地基于并行编码与解码技术。此些技术可涉及1位错误校正二进制汉明码、1位以上错误校正二进制博斯-乔赫里-霍克昆亨(BCH)码、非二进制里德-所罗门码或卷积码,此处仅列举几个实例。
在一实施例中,可在用以在存储器阵列的特定分区中执行边写边读操作的技术中使用ECC。在此技术中,替代用以检测及校正错误(例如,如上文所描述),可使用ECC来编码表示存储器阵列的一个或一个以上分区中的内容的信息,使得可稍后在同时写入操作期间读取此些内容。可将此ECC写入到及存储于可与存储器阵列中的用以存储数据的一个或一个以上分区分离且不同的ECC分区中。本文中,举例来说,用以存储例如用户数据等数据(其可被编程到此些分区或从此些分区读取)的所述分区将称为数据分区以与ECC分区区分。特定来说,ECC分区可含有至少部分地基于若干个数据分区中所存储的数据的ECC。举例来说,如果数据被写入到数据分区1到8,那么可基于写入到数据分区1到8的数据来计算ECC。可接着将此所计算出的ECC存储于ECC分区中且稍后用于用以确定数据分区1到8中的任一者的内容的过程中。可代替直接读取此些内容而执行确定数据分区的内容的此过程。此处,术语“直接读取”是指经由读出放大器及其它电路来感测一个或一个以上存储器单元的状态的过程。相比之下,可在不需要感测一个或一个以上存储器单元的过程的情况下通过推断或确定所述存储器单元的状态来“间接读取”此状态,如下文所描述。举例来说,在数据分区中的未决写入操作期间可不准许直接读取同一数据分区的块的内容,因为可需要暂停操作。然而,如下文详细地描述,根据一特定实施例,即使数据分区的块属于当前正忙于向其写入的数据分区也可执行间接读取此块的内容。在一个实施方案中,用以执行特定数据分区的块或其它部分的此种边写边读操作(例如,间接读取)的技术可包括至少部分地基于其它数据分区及ECC分区中的内容来确定所述块或其它部分的内容。因此,如果在用以从特定数据分区读取的操作的完成之前不需要暂停用以向同一数据分区写入的操作,那么可改善存储器装置的性能。
在一实施例中,用以在存储器装置的数据分区中同时执行边写边读操作的技术可包含至少部分地基于存储器中的个别数据分区的内容来计算ECC。举例来说,可将此ECC维持于ECC分区中。此ECC可对应于所述个别数据分区的特定部分或块。举例来说,块2的ECC可包含使用所述个别数据分区的块2的内容计算出的ECC。块3的另一ECC可包含使用所述个别数据分区的块3的内容计算出的ECC,等等。可将ECC(例如,块2的ECC、块3的ECC,等等)的此些值存储于ECC分区中。举例来说,使用此ECC,可至少部分地基于除特定数据分区以外的数据分区的对应块及对应于所述特定数据分区的块的ECC的内容来间接读取所述块的内容,如下文详细地阐释。在一个实施方案中,可在间接读取此特定数据分区的内容的过程中经由线或总线彼此串行或并行地读取除所述特定数据分区以外的数据分区的内容。
如上文所提及,写入操作可防止对数据分区的直接读取过程在同一数据分区中发生。举例来说,可由执行应用程序的处理器来起始此些写入操作。在若干个内部存储器过程中的任一者期间,也可由嵌入于存储器装置中或与存储器装置堆叠的存储器微控制器来起始此些写入操作。举例来说,存储器微控制器可起始存储器阵列的一个或一个以上分区中的写入操作以执行损耗均衡、垃圾收集、坏块管理及/或刷新过程。举例来说,此些过程可包含应用层级处的处理器及/或用户不可见的后台操作。本文中所描述的实施例可允许此些写入操作在不需要暂停此些内部存储器过程的情况下发生。
在一个实施例中,可响应于数据正被写入到存储器阵列中的一个或一个以上数据分区而计算及/或更新ECC。如上文所提及,ECC可至少部分地基于此数据。特定来说,用以计算ECC的过程可包括直接读取数据分区的内容及在ECC计算中使用此些内容。在一实施方案中,传入读取请求(例如,由处理器或存储器微控制器起始)可与ECC计算中所涉及的读取操作冲突。因此,在一种情况下,如果个别数据分区正忙于ECC计算,那么可拒绝此传入读取请求。然而,在另一种情况下,可暂停涉及ECC计算的一个或一个以上过程,使得不需要拒绝传入读取请求。在执行所述传入读取请求之后,可重新开始涉及ECC计算的一个或一个以上过程,但所请求标的物不受此限制。
在一实施例中,可在存储器装置中执行用以在存储器阵列的数据分区中边写边读的技术,所述存储器装置包含用以存储ECC的ECC分区及用以至少部分地基于所述存储器阵列中的个别数据分区的内容来计算ECC的存储器微控制器。此存储器微控制器可在向特定数据分区的第二部分写入的同时起始读取同一数据分区的第一部分的内容的读取命令。所述读取部分可与所述写入部分相同,但仅可直到完成所述写入操作才能读取旧的内容。可至少部分地基于ECC分区中所存储的ECC来确定(例如,间接读取)所述第一部分的内容。也可至少部分地基于其它数据分区的内容来确定所述第一部分的内容。因此,不需要直接读取所述数据分区的所述第一部分的内容,而是可使用ECC及其它数据分区中的内容来间接读取。在一实施方案中,举例来说,所述数据分区的所述第一部分与所述第二部分可共享至少一个读出放大器群组,但所请求标的物不受此限制。
图1是根据一实施例的存储器的一部分100的示意图。举例来说,此存储器可包含可以存储器单元的数据分区组织的NAND、NOR或PCM快闪存储器。在以下说明中,可将存储器的此部分描述为包含八个数据分区。仅出于方便以及简化阐释及理解的目的而描述数据分区的此特定数目。然而,应理解,本文中所描述的实施例中所涉及的数据分区的数目不限于任何特定数目,且所请求标的物在此方面不受限制。继续对图1的说明,存储器部分100可包括若干个(例如,八个)数据分区110。在一个实施方案中,举例来说,此些数据分区可包含存储器单元阵列116、行解码器113、列解码器136、程序负载133(例如,在写入操作期间用以确定待写入的存储器单元)、一个或一个以上读出放大器130及相关联数据分区的读取/写入操作中所涉及的其它电路120。
在一实施方案中,用以从一个数据分区直接读取的读取操作可与用以向不同数据分区写入的写入操作同时发生。在此情况下,无竞争或冲突需要发生,若干个原因当中的一个原因是此些数据分区可包括(例如)其自己的读取电路(例如,读出放大器)以及/或者行及列解码电路,。因此对于一特定实例,用以从数据分区1直接读取的读取操作140可与用以向数据分区6写入的写入操作160同时发生。举例来说,读取操作140可包括经由读出放大器130测量数据分区1中的经读取存储器单元的状态及将表示所述状态的数据写入到输出缓冲器150中的过程145。
图2是根据另一实施例的存储器的部分100的示意图。如上文所提及,用以从一个数据分区直接读取的读取操作可与用以向不同数据分区写入的写入操作同时发生。然而,在被展示为在数据分区170中发生的情况下,冲突可发生。特定来说,用以从数据分区6的一个块直接读取的读取操作240可不能与用以向数据分区6的另一块写入的写入操作260同时发生。在一个实施方案中,举例来说,在接收到执行读取操作240的命令(例如,从外部处理器或从内部存储器微控制器的一部分)后,可即刻暂停写入操作260,直到读取操作240完成。在另一实施方案中,可拒绝及/或延迟执行读取操作240的命令,直到写入操作260完成。在任一实施方案中,举例来说,读取操作240可包括经由读出放大器130测量分区6中的经读取存储器单元的状态及将表示所述状态的数据写入到输出缓冲器250中的过程245。
图3是根据一实施例的存储器的一部分300的示意图。类似于包含上文所描述的部分100的存储器,此存储器可包含可以存储器单元的分区组织的NAND、NOR或PCM快闪存储器。然而,除上文在图1及图2中所描述的八个数据分区外,存储器部分300还可包含ECC分区310。(同样,应理解,所请求标的物不受限于数据分区的任何特定数目)。在一个实施方案中,举例来说,此ECC分区310可包含存储器单元阵列316、行解码器313、列解码器336、程序负载333、一个或一个以上读出放大器330及ECC分区的读取/写入操作中所涉及的其它电路320。尽管数据分区0到7的存储器单元阵列216大小(例如,存储器单元的数目)可实质上彼此相等,但ECC分区310的存储器单元阵列316大小可不同。举例来说,存储器单元阵列316可实质上大于数据分区0的存储器单元阵列216或数据分区6的存储器单元阵列370。存储器单元阵列316的特定大小可至少部分地基于用以计算待存储于存储器单元阵列316中的ECC的ECC技术的特定细节、数据分区的数目及大小、数据分区中的块或页的大小,等等。
如上文所描述,用以从一个数据分区直接读取的读取操作可与用以向不同数据分区写入的写入操作同时发生,因为无竞争或冲突需要发生。因此对于一特定实例,用以从数据分区2中的块读取的读取操作344可与用以向数据分区6中的块写入的写入操作360同时发生。然而,举例来说,用以从数据分区6中的块直接读取的读取操作340可不能与用以向同一数据分区6的同一或另一块写入的写入操作360同时发生。然而,本文中所描述的实施例包括用以在正在编程数据分区的一部分的同时间接读取同一数据分区的另一部分的内容的技术。此些技术可利用ECC分区310中所存储的ECC。因此,举例来说,当写入操作360正在数据分区6的第一块中发生时,不需要通过从数据分区6的待通过读取操作340读取的第二块直接读取来确定所述第二块的内容。所述第一块与第二块可相同,但仅可直到完成所述写入操作才能读取旧的内容。而是,可基于ECC分区以及数据分区0到5及7(例如,除数据分区6以外的所有数据分区)的对应块的内容来间接读取及确定此些内容,如下文详细地阐释。在一实施方案中,可已在编程数据分区6的第二块及/或其它数据分区中的任一者的最近时间期间计算出此ECC。可已至少部分地基于在此最近时间期间编程的数据计算出此ECC。现在描述此ECC计算的细节。
在一实施方案中,数据分区可包含若干个块,其中块可包含位、字节、字、字群组,等等。举例来说,1吉位存储器装置可包括8个数据分区,其中此种数据分区可包含64个块。块可具有256千字节的大小且以可由读出放大器群组并行地读取的具有16个字或32个字节的数据的页组织,但所请求标的物在此方面不受限制。为确立符号,用以表达特定分区内的特定块的内容的项可写为PxBy,其中x是分区编号且y是分区编号x内的块。举例来说,分区0中的块23的内容可写为P0B23,数据分区4的块36的内容可写为P4B36,等等。因此,使用此符号,数据分区0到7的块的ECC可写为ECC的计算中所使用的数据分区0到7的块的内容的函数,如下:
块0ECC=f(P0B0,P1B0,P2B0,P3B0,P4B0,P5B0,P6B0,P7B0)
块1ECC=f(P0B1,P1B1,P2B1,P3B1,P4B1,P5B1,P6B1,P7B1)
块2ECC=f(P0B2,P1B2,P2B2,P3B2,P4B2,P5B2,P6B2,P7B2)
,等等。此函数f可包含若干个操作及/或算法中的任一者。举例来说,在一个实施方案中,此函数可涉及数据分区0到7的块的内容的串连。在另一实施方案中,此函数可涉及布尔运算的组合。此函数的细节可在一个特定情形与另一特定情形之间变化,且所请求标的物在此方面不受限制。
返回到图3,如已经阐释,(举例来说)用以从数据分区6中的块直接读取的读取操作340可不能与用以向同一数据分区6中的块写入的写入操作360同时发生。为按照上文所介绍的块来描述此情况,作为一特定实例,用以直接读取数据分区6的块2的读取操作340可不能与用以向同一数据分区6的块0写入的写入操作360同时发生。然而,当写入操作360正在编程数据分区6的块0时,不需要通过从数据分区6的块2直接读取来确定数据分区6的待通过读取操作340读取的块2的内容。而是,可基于块2ECC342的内容以及数据分区0到5及7的块2的内容来间接读取此些内容。因此,可将数据分区6的块2的内容写为ECC以及块2的ECC的计算中所使用的数据分区0到5及7的块的内容的函数,如下:
P6B2=g(P0B2,P1B2,P2B2,P3B2,P4B2,P5B2,P7B2,块2ECC)
此函数g可包含若干个操作及/或算法中的任一者。举例来说,在一个实施方案中,此函数g的至少一部分可包含上文所描述的f的反函数。以上表达暗示可从块2ECC 342及其它数据分区的块2中的数据来推断或确定数据分区6的块2的数据。此可成立,因为先前是至少部分地基于数据分区6的块2中的数据及其它数据分区的块2中的数据计算出的块2ECC 342。因此,为执行用以直接读取数据分区6的块2的数据的读取操作340,可改为使用块2ECC 342及其它数据分区的块2中的数据来间接读取此数据。因此,此读取操作可包括直接读取数据分区0到5及7的块2中的数据的过程345及直接读取ECC分区310的块2ECC 342中的数据的过程。可将此所读取数据提供到计算块350,计算块350可包含例如存储器微控制器的一部分。计算块350可使用块2ECC 342及其它数据分区的块2中的数据来执行用以间接读取数据分区6的块2的数据的一个或一个以上操作。计算块350可随后将数据分区6的块2的数据提供到输出缓冲器355,在输出缓冲器355处此数据可供用于处理器,例如,作为从读取操作340产生的所读取数据。
图4是根据一实施例在计算ECC的过程期间存储器的部分300的示意图。举例来说,可在用以向一个或一个以上数据分区写入数据的一个或一个以上操作之后或期间由存储器微控制器起始此过程。如上文所论述,可至少部分地基于数据分区0到7的对应块中的此数据来计算ECC。举例来说,可至少部分地基于数据分区0到7的块2中的数据来计算块2ECC。因此,计算ECC的过程可包括直接读取数据分区0到7的块2中的数据及将所读取数据提供到ECC计算块450的过程445。在一个实施方案中,ECC计算块450可包含存储器微控制器的一部分。在计算出块2的ECC之后,计算块450可在将所计算出的ECC写入到ECC分区310的过程446中提供ECC。接下来,可使用上文针对个别块所描述的过程来执行计算随后的块(例如,块3、块4,等等)的ECC的过程。当然,计算ECC的此些细节仅为实例,且所请求标的物不受此限制。
图5是根据一实施例的用以从存储器阵列的数据分区间接读取的过程500的流程图。举例来说,可由包含部分300的存储器装置来执行此过程,如上文所描述。特定来说,如在矩形510中,可在写入操作正在存储器阵列的数据分区中发生的同时响应于接收到从同一数据分区中的特定块读取的请求而执行此过程。举例来说,可由执行应用程序的处理器及/或在存储器阵列的一个或一个以上数据分区中执行写入操作以执行损耗均衡、垃圾收集、坏块管理及/或刷新过程的存储器微控制器起始此请求。如上文所阐释,用以从数据分区中的特定块直接读取的读取操作可不能够与用以向同一数据分区的另一块写入的写入操作同时发生。因此,替代从所述数据分区的所述特定块直接读取,可使用其它数据分区的对应块及所述对应块的ECC的内容来间接读取所述特定块的内容。因此,如在矩形520及530中,可直接读取其它数据分区的对应块的内容及来自ECC分区的对应块的ECC的内容且使用其来间接读取所述特定块的内容。
图6是根据一实施例的用以更新存储器的ECC分区的过程600的流程图。举例来说,可由包含部分300的存储器装置的存储器微控制器来执行此过程,如上文所描述。特定来说,如在矩形610中,可响应于接收到向存储器阵列的一个或一个以上数据分区写入的请求而执行此过程。举例来说,如果新数据被写入到存储器阵列的此些数据分区,那么可计算至少部分地基于所述新数据的经更新ECC。举例来说,此经更新ECC可取代ECC分区(例如,图3中所示的ECC分区310)中所存储的较旧ECC。可使用若干种处理器或算法中的任一者来计算ECC,其可使用写入到存储器阵列的数据分区的新数据以及所述数据分区中所存储的较旧数据。在一实施方案中,可至少部分地基于跨越存储器阵列的数据分区的对应块来计算特定ECC。举例来说,如果个别数据分区包含64个块,那么ECC分区310可存储对应于所述块的ECC的64个值。当然,数据分区及ECC值的此数目仅为实例,且所请求标的物不受此限制。在矩形620中,可直接读取跨越数据分区的对应块的数据。在矩形630中,可使用此所读取数据来计算ECC。
在一特定实施方案中,可暂停过程600的至少若干部分以允许针对传入读取命令执行读取。可接着在完成此读取之后重新开始过程600的此些部分。用以更新ECC的过程此暂停可产生存储器装置的改善的读取性能,因为不需要延迟读取命令(举例来说,由处理器起始)。因此,在菱形640处,做出是否正在接收读取命令的确定。如果否,那么过程600可继续进行到矩形645,其中完成计算ECC的过程。在完成之后,在矩形680中,可将所计算出的ECC写入到存储器装置的ECC分区。另一方面,如果在菱形640处接收到读取命令,那么过程600可继续进行到矩形650以暂停计算ECC。在此暂停期间,监视因传入读取命令而引起的读取过程的进展可确定此读取过程是否完成,如在菱形660中。如果所述读取过程未完成,那么过程600可循环回到菱形660,以继续监视所述读取过程的进展。另一方面,如果所述读取过程完成,那么过程600可继续进行到块670,其中完成计算ECC的过程。在完成之后,在矩形680中,可将所计算出的ECC写入到存储器装置的ECC分区。当然,过程600的此些细节仅为实例,且所请求标的物不受此限制。
图7是图解说明包括存储器装置710的计算系统700的示范性实施例的示意图。此计算装置可包含(举例来说)用以执行应用程序及/或其它代码的一个或一个以上处理器。举例来说,存储器装置710可包含如图3中所示的若干个数据分区及一ECC分区。计算装置704可表示可为可配置以管理存储器装置710的任何装置、器具或机器。存储器装置710可包括存储器微控制器715及存储器722。通过举例而非限制的方式,计算装置704可包括:一个或一个以上计算装置及/或平台,例如(举例来说)桌上型计算机、膝上型计算机、工作站、服务器装置等;一个或一个以上个人计算或通信装置或器具,例如(举例来说)个人数字助理、移动通信装置等;一计算系统及/或相关联服务提供商能力,例如(举例来说)数据库或数据存储服务提供商/系统;及/或其任一组合。
应认识到,系统700中所示的各种装置以及如本文中进一步描述的过程及方法的全部或部分可使用硬件、固件、软件或其任一组合来实施或以其它方式包括硬件、固件、软件或其任一组合来实施。因此,通过举例而非限制的方式,计算装置704可包括经由总线740在操作上耦合到存储器722的至少一个处理单元720及一主机或存储器微控制器715。处理单元720表示可配置以执行数据计算程序或过程的至少一部分的一个或一个以上电路。通过举例而非限制的方式,处理单元720可包括一个或一个以上处理器、控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可编程逻辑装置、现场可编程门阵列等或其任一组合。处理单元720可包括经配置以与存储器微控制器715通信的操作系统。此操作系统可(举例来说)产生待经由总线740发送到存储器微控制器715的命令。此些命令可包含读取及/或写入命令。举例来说,响应于读取命令,存储器微控制器715可执行上文所描述的过程500,以执行边写边读过程。
存储器722表示任何数据存储机构。存储器722可包括(举例来说)主要存储器724及/或辅助存储器726。主要存储器724可包括(举例来说)随机存取存储器、只读存储器等。虽然在此实例中图解说明为与处理单元720分离,但应理解,主要存储器724的整体或部分可提供于处理单元720内或以其它方式与处理单元720共同定位/耦合。
辅助存储器726可包括(举例来说)与主要存储器相同或类似类型的存储器及/或一个或一个以上数据存储装置或系统,例如(举例来说)磁盘驱动器、光盘驱动器、磁带驱动器、固态存储器驱动器等。在某些实施方案中,辅助存储器726可以是在操作上可接受的计算机可读媒体728或可以其它方式配置以耦合到计算机可读媒体728。计算机可读媒体728可包括(举例来说)可携载用于系统700中的装置中的一者或一者以上的数据、代码及/或指令及/或使得所述数据、代码及/或指令可存取的任何媒体。计算装置704可包括(举例来说)输入/输出732。
在一特定实施例中,计算系统700可包括存储器装置722,存储器装置722包含存储器724及用以至少部分地基于存储器724中的个别存储器阵列分区的内容来计算ECC的存储器微控制器715。响应于尝试在向个别存储器阵列分区中的特定一者的第二部分写入的同时读取所述个别存储器阵列分区中的所述特定一者的第一部分的特定内容,存储器微控制器715可至少部分地基于所述ECC来确定所述第一部分的所述特定内容。举例来说,计算系统700还可包括用以代管一个或一个以上应用程序且用以起始针对存储器微控制器715的读取命令以提供对存储器724中的存储器单元的存取的处理单元720。
输入/输出732表示可为可配置以接受或以其它方式引入人类及/或机器输入的一个或一个以上装置或特征,及/或可为可配置以递送或以其它方式提供人类及/或机器输出的一个或一个以上装置或特征。通过举例而非限制的方式,输入/输出装置732可包括在操作上配置的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。
如本文中所使用的术语“及”、“及/或”及“或”可包括将至少部分地取决于其中使用所述术语的上下文的各种含义。通常,如果使用“及/或”以及“或”来使例如A、B或C等所列项相关联,那么其打算意指A、B及C(此处以包括意义使用)以及A、B或C(此处以排除意义使用)。此说明书通篇所提及的“一个实施例”或“一实施例”意指结合所述实施例描述的特定特征、结构或特性包括在所请求标的物的至少一个实施例中。因此,在此说明书通篇中的各个地方出现的短语“在一个实施例中”或“一实施例”未必全部指代相同实施例。此外,可将所述特定特征、结构或特性组合在一个或一个以上实施例中。
尽管已图解说明及描述了目前被视为实例性实施例的实施例,但所属领域的技术人员将理解可在不背离所请求标的物的情况下做出各种其它修改且可替代等效物。另外,可在不背离本文中所描述的中心概念的情况下做出许多修改以使特定情形适应所请求标的物的教示。因此,打算所请求标的物不限于所揭示的特定实施例,而是此所请求标的物还可包括归属于所附权利要求书及其等效物的范围内的所有实施例。
Claims (19)
1.一种用于读取存储器的方法,所述方法包含:
在向存储器的存储器阵列中的个别存储器分区中的特定一者的第二部分写入的同时读取所述个别存储器分区中的所述特定一者的第一部分的特定内容,其中所述读取包含至少部分地基于错误校正码ECC来确定所述第一部分的所述特定内容,所述错误校正码是至少部分地基于所述个别存储器分区的内容;
响应于接收到读取所述个别存储器分区的所述内容的至少一部分的读取请求而中止所述ECC的计算;及
在读取所述个别存储器分区的所述内容的所述至少一部分之后重新开始所述计算所述ECC。
2.根据权利要求1所述的方法,其中所述确定所述第一部分的所述特定内容进一步至少部分地基于所述个别存储器分区的对应于所述个别存储器分区中的所述特定一者的所述第一部分的部分的内容。
3.根据权利要求2所述的方法,其中在所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容中不使用所述第一部分的所述内容。
4.根据权利要求2所述的方法,其进一步包含:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线并行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
5.根据权利要求2所述的方法,其进一步包含:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线串行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
6.根据权利要求1所述的方法,其中所述向所述个别存储器分区中的所述特定一者的所述第二部分写入是响应于由所述存储器起始的内部操作。
7.根据权利要求1所述的方法,其中所述个别存储器分区中的所述特定一者的所述第一部分与所述第二部分共享至少一个读出放大器群组。
8.一种存储器微控制器,其包含:
至少一个接口,其用以连接到存储器阵列;及
电子电路,其用以:
在向所述存储器阵列的个别存储器分区中的特定一者的第二部分写入的同时读取所述个别存储器分区中的所述特定一者的第一部分的特定内容,其中所述读取包含至少部分地基于错误校正码ECC来确定所述第一部分的所述特定内容,所述错误校正码是至少部分地基于所述个别存储器分区的内容;
响应于接收到读取所述个别存储器分区的所述内容的至少一部分的读取请求而中止所述ECC的计算;及
在读取所述个别存储器分区的所述内容的所述至少一部分之后重新开始所述计算所述ECC。
9.根据权利要求8所述的存储器微控制器,其中所述确定所述第一部分的所述特定内容进一步至少部分地基于所述个别存储器分区的对应于所述个别存储器分区中的所述特定一者的所述第一部分的部分的内容。
10.根据权利要求9所述的存储器微控制器,其中在所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容中不使用所述第一部分的所述内容。
11.根据权利要求9所述的存储器微控制器,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线并行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
12.根据权利要求9所述的存储器微控制器,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线串行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
13.根据权利要求8所述的存储器微控制器,其中所述个别存储器分区中的所述特定一者的所述第一部分与所述第二部分共享至少一个读出放大器。
14.一种用于读取存储器的系统,所述系统包含:
包含存储器的存储器装置,所述存储器装置进一步包含用以进行以下操作的存储器微控制器:
在向存储器的存储器阵列中的个别存储器分区中的特定一者的第二部分写入的同时读取所述个别存储器分区中的所述特定一者的第一部分的特定内容,其中所述读取包含至少部分地基于错误校正码ECC来确定所述第一部分的所述特定内容,所述错误校正码是至少部分地基于所述个别存储器分区的内容;
响应于接收到读取所述个别存储器分区的所述内容的至少一部分的读取请求而中止所述ECC的计算;及
在读取所述个别存储器分区的所述内容的所述至少一部分之后重新开始所述计算所述ECC;及
处理器,其用以代管一个或一个以上应用程序且用以起始到所述存储器微控制器的读取命令以提供对所述存储器阵列的存取。
15.根据权利要求14所述的系统,其中所述确定所述第一部分的所述特定内容进一步至少部分地基于所述个别存储器分区的对应于所述个别存储器分区中的所述特定一者的所述第一部分的部分的内容。
16.根据权利要求15所述的系统,其中在所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容中不使用所述第一部分的所述内容。
17.根据权利要求15所述的系统,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线并行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
18.根据权利要求15所述的系统,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线串行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
19.根据权利要求14所述的系统,其中所述个别存储器分区中的所述特定一者的所述第一部分与所述第二部分共享至少一个读出放大器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/947,771 US8583987B2 (en) | 2010-11-16 | 2010-11-16 | Method and apparatus to perform concurrent read and write memory operations |
US12/947,771 | 2010-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567242A CN102567242A (zh) | 2012-07-11 |
CN102567242B true CN102567242B (zh) | 2015-05-06 |
Family
ID=46048952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110370020.4A Active CN102567242B (zh) | 2010-11-16 | 2011-11-15 | 执行同时读取与写入存储器操作的方法及设备 |
Country Status (6)
Country | Link |
---|---|
US (3) | US8583987B2 (zh) |
JP (1) | JP5464528B2 (zh) |
KR (1) | KR101343262B1 (zh) |
CN (1) | CN102567242B (zh) |
DE (1) | DE102011085989B4 (zh) |
TW (1) | TWI506423B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583987B2 (en) | 2010-11-16 | 2013-11-12 | Micron Technology, Inc. | Method and apparatus to perform concurrent read and write memory operations |
US10725997B1 (en) * | 2012-06-18 | 2020-07-28 | EMC IP Holding Company LLC | Method and systems for concurrent collection and generation of shared data |
US9070436B2 (en) | 2013-01-30 | 2015-06-30 | Hewlett-Packard Development Company, L.P. | Memory controller using crisscross error-correcting codes |
KR102084461B1 (ko) * | 2013-03-04 | 2020-04-14 | 삼성전자 주식회사 | 저항체를 이용한 비휘발성 메모리 장치 |
US9830087B2 (en) * | 2014-11-13 | 2017-11-28 | Micron Technology, Inc. | Memory wear leveling |
CN107615249B (zh) * | 2015-05-14 | 2020-11-27 | 爱德斯托科技有限公司 | 存储器装置和控制存储器装置的方法 |
US10152545B2 (en) | 2015-10-20 | 2018-12-11 | Adobe Systems Incorporated | Personalized recommendations using localized regularization |
KR102703983B1 (ko) | 2016-11-07 | 2024-09-10 | 삼성전자주식회사 | Raid 방식으로 데이터를 저장하는 스토리지 장치 |
US10585749B2 (en) * | 2017-08-10 | 2020-03-10 | Samsung Electronics Co., Ltd. | System and method for distributed erasure coding |
US10956262B2 (en) | 2019-03-14 | 2021-03-23 | Micron Technology, Inc. | Deferred error code correction with improved effective data bandwidth performance |
US11093323B2 (en) * | 2019-04-15 | 2021-08-17 | Nvidia Corporation | Performant inline ECC architecture for DRAM controller |
US10957393B2 (en) | 2019-06-27 | 2021-03-23 | Micron Technology, Inc. | Apparatus and methods for performing concurrent access operations on different groupings of memory cells |
CN110750466A (zh) * | 2019-10-18 | 2020-02-04 | 深圳豪杰创新电子有限公司 | 提高闪存擦写寿命的方法和装置 |
CN113848454B (zh) * | 2021-09-09 | 2024-10-22 | 海光信息技术股份有限公司 | 一种芯片测试方法及芯片测试机 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1379409A (zh) * | 2001-03-29 | 2002-11-13 | 富士通株式会社 | 半导体存储器件 |
CN101681305A (zh) * | 2007-03-29 | 2010-03-24 | 提琴存储器公司 | 存储管理系统和方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807609B1 (en) * | 1989-12-04 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Interleaving read and write operations on a bus and minimizing buffering on a memory module in a computer system |
JPH0440697A (ja) * | 1990-06-06 | 1992-02-12 | Matsushita Electric Ind Co Ltd | 半導体記憶装置 |
US5913926A (en) * | 1992-08-20 | 1999-06-22 | Farrington Investments Ltd. | Expandable modular data storage system having parity storage capability |
US5666511A (en) * | 1992-10-08 | 1997-09-09 | Fujitsu Limited | Deadlock suppressing schemes in a raid system |
US5761402A (en) * | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
DE19540915A1 (de) * | 1994-11-10 | 1996-05-15 | Raymond Engineering | Redundante Anordnung von Festkörper-Speicherbausteinen |
FR2726934B1 (fr) | 1994-11-10 | 1997-01-17 | Sgs Thomson Microelectronics | Procede de lecture anticipee de memoire a acces serie et memoire s'y rapportant |
US6067255A (en) | 1997-07-03 | 2000-05-23 | Samsung Electronics Co., Ltd. | Merged memory and logic (MML) integrated circuits including independent memory bank signals and methods |
US5914970A (en) * | 1997-08-27 | 1999-06-22 | Allen-Bradley Company, Llc | Computer memory system providing parity with standard non-parity memory devices |
US6321345B1 (en) * | 1999-03-01 | 2001-11-20 | Seachange Systems, Inc. | Slow response in redundant arrays of inexpensive disks |
FR2805653A1 (fr) | 2000-02-28 | 2001-08-31 | St Microelectronics Sa | Memoire serie programmable et effacable electriquement a lecture par anticipation |
GB2370477B (en) * | 2000-12-22 | 2004-03-03 | Tandberg Television Asa | Method and apparatus for encoding a product code |
JP3860436B2 (ja) * | 2001-07-09 | 2006-12-20 | 富士通株式会社 | 半導体記憶装置 |
US6614685B2 (en) | 2001-08-09 | 2003-09-02 | Multi Level Memory Technology | Flash memory array partitioning architectures |
JP4059473B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
JP2004040697A (ja) | 2002-07-08 | 2004-02-05 | Suzuki Motor Corp | 車両用放送に連動した画像提供システム |
JP2005025827A (ja) * | 2003-06-30 | 2005-01-27 | Toshiba Corp | 半導体集積回路装置およびそのエラー検知訂正方法 |
FR2874734A1 (fr) | 2004-08-26 | 2006-03-03 | St Microelectronics Sa | Procede de lecture de cellules memoire programmables et effacables electriquement, a precharge anticipee de lignes de bit |
US20060123271A1 (en) * | 2004-11-19 | 2006-06-08 | International Business Machines Corporation | RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR |
US7721143B2 (en) * | 2005-12-06 | 2010-05-18 | Lsi Corporation | Method for reducing rebuild time on a RAID device |
US7539842B2 (en) | 2006-08-15 | 2009-05-26 | International Business Machines Corporation | Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables |
US7694031B2 (en) * | 2006-10-31 | 2010-04-06 | Globalfoundries Inc. | Memory controller including a dual-mode memory interconnect |
US20080168331A1 (en) * | 2007-01-05 | 2008-07-10 | Thomas Vogelsang | Memory including error correction code circuit |
KR101360812B1 (ko) | 2008-06-05 | 2014-02-11 | 삼성전자주식회사 | 반도체 장치 및 이를 포함하는 반도체 시스템 |
US8149643B2 (en) | 2008-10-23 | 2012-04-03 | Cypress Semiconductor Corporation | Memory device and method |
US8094500B2 (en) * | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US20100199020A1 (en) * | 2009-02-04 | 2010-08-05 | Silicon Storage Technology, Inc. | Non-volatile memory subsystem and a memory controller therefor |
US8132044B1 (en) * | 2010-02-05 | 2012-03-06 | Symantec Corporation | Concurrent and incremental repair of a failed component in an object based storage system for high availability |
US8583987B2 (en) | 2010-11-16 | 2013-11-12 | Micron Technology, Inc. | Method and apparatus to perform concurrent read and write memory operations |
US8645637B2 (en) | 2010-11-16 | 2014-02-04 | Micron Technology, Inc. | Interruption of write memory operations to provide faster read access in a serial interface memory |
-
2010
- 2010-11-16 US US12/947,771 patent/US8583987B2/en active Active
-
2011
- 2011-10-12 TW TW100137043A patent/TWI506423B/zh active
- 2011-10-20 JP JP2011230819A patent/JP5464528B2/ja active Active
- 2011-11-09 DE DE102011085989.6A patent/DE102011085989B4/de active Active
- 2011-11-15 KR KR1020110119157A patent/KR101343262B1/ko active IP Right Grant
- 2011-11-15 CN CN201110370020.4A patent/CN102567242B/zh active Active
-
2013
- 2013-11-07 US US14/074,360 patent/US9208019B2/en active Active
-
2015
- 2015-07-07 US US14/793,475 patent/US9513992B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1379409A (zh) * | 2001-03-29 | 2002-11-13 | 富士通株式会社 | 半导体存储器件 |
CN101681305A (zh) * | 2007-03-29 | 2010-03-24 | 提琴存储器公司 | 存储管理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102567242A (zh) | 2012-07-11 |
US9208019B2 (en) | 2015-12-08 |
KR20120052883A (ko) | 2012-05-24 |
TW201227292A (en) | 2012-07-01 |
DE102011085989A1 (de) | 2012-06-28 |
US20150309868A1 (en) | 2015-10-29 |
JP2012108890A (ja) | 2012-06-07 |
US8583987B2 (en) | 2013-11-12 |
DE102011085989B4 (de) | 2017-03-02 |
KR101343262B1 (ko) | 2013-12-18 |
US20120124449A1 (en) | 2012-05-17 |
JP5464528B2 (ja) | 2014-04-09 |
US20140068380A1 (en) | 2014-03-06 |
TWI506423B (zh) | 2015-11-01 |
US9513992B2 (en) | 2016-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567242B (zh) | 执行同时读取与写入存储器操作的方法及设备 | |
KR102411400B1 (ko) | 저장 기록 명령에 기록 스트림 속성 활용 | |
US20200089566A1 (en) | Apparatus for diagnosing memory system and operating method thereof | |
CN102799533B (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
CN104424127A (zh) | 存取快闪存储器中储存单元的方法以及使用该方法的装置 | |
CN113391947B (zh) | Ssd raid条带掉电快速恢复方法、装置、计算机设备及存储介质 | |
US11449266B2 (en) | Memory sub-system event log management | |
US20210224154A1 (en) | Novel memory device | |
CN104658609A (zh) | 用于存储器系统的纠错码分布的方法和系统 | |
US20170024333A1 (en) | High performance host queue monitor for pcie ssd controller | |
CN102789370B (zh) | 一种raid阵列同步方法及装置 | |
CN106802837B (zh) | 一种更新错误检测和纠正ecc码的方法及装置 | |
CN109783005A (zh) | 控制记忆装置的方法、记忆装置、及其控制器和电子装置 | |
US8667325B2 (en) | Method, apparatus and system for providing memory sparing information | |
CN104484135A (zh) | 一种快速数据读取方法及装置 | |
CN101833483A (zh) | 嵌入式电子装置及数据储存方法 | |
US11966626B2 (en) | Hybrid terabytes written (TBW) storage systems | |
CN111143125B (zh) | 一种mce错误处理方法、装置及电子设备和存储介质 | |
CN110543434B (zh) | Nand快闪器件、存储表管理方法、设备和存储介质 | |
CN110659152B (zh) | 一种数据处理方法及设备 | |
CN109189340B (zh) | 用于存取独立硬盘冗余阵列的系统与方法 | |
CN109213433A (zh) | 闪存设备中数据写入的方法及设备 | |
CN111949434A (zh) | 磁盘冗余阵列raid管理方法、raid控制器和系统 | |
US20240319918A1 (en) | Storage controller providing status information of zone region, method of operating the same, and method of operating electronic device having the same | |
CN104081362A (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 |