CN102567242A - 执行同时读取与写入存储器操作的方法及设备 - Google Patents

执行同时读取与写入存储器操作的方法及设备 Download PDF

Info

Publication number
CN102567242A
CN102567242A CN2011103700204A CN201110370020A CN102567242A CN 102567242 A CN102567242 A CN 102567242A CN 2011103700204 A CN2011103700204 A CN 2011103700204A CN 201110370020 A CN201110370020 A CN 201110370020A CN 102567242 A CN102567242 A CN 102567242A
Authority
CN
China
Prior art keywords
individual memory
subregion
content
memory subregion
specific
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011103700204A
Other languages
English (en)
Other versions
CN102567242B (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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN102567242A publication Critical patent/CN102567242A/zh
Application granted granted Critical
Publication of CN102567242B publication Critical patent/CN102567242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/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/1048Adding 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
    • 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
    • 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/1012Adding 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/1016Error in accessing a memory location, i.e. addressing error
    • 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/1044Adding 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
    • 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
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0004Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5623Concurrent multilevel programming and reading
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error 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)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Detection And Correction Of Errors (AREA)
  • Read Only Memory (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 (20)

1.一种方法,其包含:
在向存储器的存储器阵列中的个别存储器分区中的特定一者的第二部分写入的同时读取所述个别存储器分区中的所述特定一者的第一部分的特定内容,其中所述读取包含至少部分地基于错误校正码ECC来确定所述第一部分的所述特定内容,所述错误校正码是至少部分地基于所述个别存储器分区的内容。
2.根据权利要求1所述的方法,其中所述确定所述第一部分的所述特定内容进一步至少部分地基于所述个别存储器分区的对应于所述个别存储器分区中的所述特定一者的所述第一部分的部分的内容。
3.根据权利要求2所述的方法,其中在所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容中不使用所述第一部分的所述内容。
4.根据权利要求2所述的方法,其进一步包含:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线并行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
5.根据权利要求2所述的方法,其进一步包含:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线串行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
6.根据权利要求1所述的方法,其中所述向所述个别存储器分区中的所述特定一者的所述第二部分写入是响应于由所述存储器起始的内部操作。
7.根据权利要求1所述的方法,其进一步包含:
响应于接收到读取所述个别存储器分区的所述内容的至少一部分的读取请求而中止所述ECC的计算;及
在读取所述个别存储器分区的所述内容的所述至少一部分之后重新开始所述计算所述ECC。
8.根据权利要求1所述的方法,其中所述个别存储器分区中的所述特定一者的所述第一部分与所述第二部分共享至少一个读出放大器群组。
9.一种存储器微控制器,其包含:
至少一个接口,其用以连接到存储器阵列;及
电子电路,其用以:
在向所述存储器阵列的个别存储器分区中的特定一者的第二部分写入的同时读取所述个别存储器分区中的所述特定一者的第一部分的特定内容,其中所述读取包含至少部分地基于错误校正码ECC来确定所述第一部分的所述特定内容,所述错误校正码是至少部分地基于所述个别存储器分区的内容。
10.根据权利要求9所述的存储器微控制器,其中所述确定所述第一部分的所述特定内容进一步至少部分地基于所述个别存储器分区的对应于所述个别存储器分区中的所述特定一者的所述第一部分的部分的内容。
11.根据权利要求10所述的存储器微控制器,其中在所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容中不使用所述第一部分的所述内容。
12.根据权利要求10所述的存储器微控制器,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线并行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
13.根据权利要求10所述的存储器微控制器,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线串行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
14.根据权利要求9所述的存储器微控制器,其中所述个别存储器分区中的所述特定一者的所述第一部分与所述第二部分共享至少一个读出放大器。
15.一种***,其包含:
包含存储器的存储器装置,所述存储器装置进一步包含用以进行以下操作的存储器微控制器:
在向存储器的存储器阵列中的个别存储器分区中的特定一者的第二部分写入的同时读取所述个别存储器分区中的所述特定一者的第一部分的特定内容,其中所述读取包含至少部分地基于错误校正码ECC来确定所述第一部分的所述特定内容,所述错误校正码是至少部分地基于所述个别存储器分区的内容;及
处理器,其用以代管一个或一个以上应用程序且用以起始到所述存储器微控制器的读取命令以提供对所述存储器阵列的存取。
16.根据权利要求15所述的***,其中所述确定所述第一部分的所述特定内容进一步至少部分地基于所述个别存储器分区的对应于所述个别存储器分区中的所述特定一者的所述第一部分的部分的内容。
17.根据权利要求16所述的***,其中在所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容中不使用所述第一部分的所述内容。
18.根据权利要求16所述的***,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线并行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
19.根据权利要求16所述的***,其进一步包含用以进行以下操作的电路:
在执行所述确定所述个别存储器分区中的所述特定一者的所述第一部分的所述特定内容的同时经由总线串行地读取所述个别存储器分区的对应于所述第一部分的所述部分的所述内容。
20.根据权利要求15所述的***,其中所述个别存储器分区中的所述特定一者的所述第一部分与所述第二部分共享至少一个读出放大器。
CN201110370020.4A 2010-11-16 2011-11-15 执行同时读取与写入存储器操作的方法及设备 Active CN102567242B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/947,771 2010-11-16
US12/947,771 US8583987B2 (en) 2010-11-16 2010-11-16 Method and apparatus to perform concurrent read and write memory operations

Publications (2)

Publication Number Publication Date
CN102567242A true CN102567242A (zh) 2012-07-11
CN102567242B 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208019B2 (en) 2010-11-16 2015-12-08 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations
CN107615249A (zh) * 2015-05-14 2018-01-19 爱德斯托科技有限公司 存储器装置中的并发的读取操作和重新配置的写入操作
CN110750466A (zh) * 2019-10-18 2020-02-04 深圳豪杰创新电子有限公司 提高闪存擦写寿命的方法和装置
CN113848454A (zh) * 2021-09-09 2021-12-28 海光信息技术股份有限公司 一种芯片测试方法及芯片测试机

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10152545B2 (en) 2015-10-20 2018-12-11 Adobe Systems Incorporated Personalized recommendations using localized regularization
KR20180051703A (ko) 2016-11-07 2018-05-17 삼성전자주식회사 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

Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
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
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1379409A (zh) * 2001-03-29 2002-11-13 富士通株式会社 半导体存储器件
CN101681305A (zh) * 2007-03-29 2010-03-24 提琴存储器公司 存储管理***和方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208019B2 (en) 2010-11-16 2015-12-08 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations
US9513992B2 (en) 2010-11-16 2016-12-06 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations
CN107615249A (zh) * 2015-05-14 2018-01-19 爱德斯托科技有限公司 存储器装置中的并发的读取操作和重新配置的写入操作
CN110750466A (zh) * 2019-10-18 2020-02-04 深圳豪杰创新电子有限公司 提高闪存擦写寿命的方法和装置
CN113848454A (zh) * 2021-09-09 2021-12-28 海光信息技术股份有限公司 一种芯片测试方法及芯片测试机

Also Published As

Publication number Publication date
CN102567242B (zh) 2015-05-06
JP5464528B2 (ja) 2014-04-09
DE102011085989B4 (de) 2017-03-02
US20150309868A1 (en) 2015-10-29
US20140068380A1 (en) 2014-03-06
KR20120052883A (ko) 2012-05-24
US9513992B2 (en) 2016-12-06
US8583987B2 (en) 2013-11-12
TWI506423B (zh) 2015-11-01
DE102011085989A1 (de) 2012-06-28
US20120124449A1 (en) 2012-05-17
TW201227292A (en) 2012-07-01
US9208019B2 (en) 2015-12-08
KR101343262B1 (ko) 2013-12-18
JP2012108890A (ja) 2012-06-07

Similar Documents

Publication Publication Date Title
CN102567242A (zh) 执行同时读取与写入存储器操作的方法及设备
KR101801147B1 (ko) 데이터 신뢰성을 개선하는 데이터 관리 방법 및 그에 따른 데이터 저장 장치
CN101937374B (zh) 存储存储器重映射信息的非易失性存储器
US11163679B2 (en) Garbage collection strategy for memory system and method of executing such garbage collection
CN102543179A (zh) 串行接口存储器中的同时读取与写入存储器操作
US8972776B2 (en) Partial R-block recycling
US10347349B2 (en) Method and device for fail-safe erase of flash memory
US9928166B2 (en) Detecting hot spots through flash memory management table snapshots
CN101937373A (zh) 比特错误阈值和重映射存储装置
US20200089566A1 (en) Apparatus for diagnosing memory system and operating method thereof
US10970167B2 (en) Memory device
CN101494085A (zh) 防止非易失性存储器发生读取干扰的方法及其控制器
CN102157202A (zh) 防止非易失性存储器发生读取干扰的方法及其控制器
TWI226572B (en) Hot swapping memory method and system
US8667325B2 (en) Method, apparatus and system for providing memory sparing information
JP2006221334A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
CN102385561A (zh) 用于非易失性存储器的经修改读取操作
CN110543434B (zh) Nand快闪器件、存储表管理方法、设备和存储介质
US11966626B2 (en) Hybrid terabytes written (TBW) storage systems
CN113094294B (zh) Ssd异常掉电处理方法、装置、计算机设备及存储介质
US8223545B1 (en) Systems and methods for data page management of NAND flash memory arrangements
US20080059691A1 (en) Memory management module
CN118349186A (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