CN113495672B - 读写方法及存储器装置 - Google Patents
读写方法及存储器装置 Download PDFInfo
- Publication number
- CN113495672B CN113495672B CN202010249989.5A CN202010249989A CN113495672B CN 113495672 B CN113495672 B CN 113495672B CN 202010249989 A CN202010249989 A CN 202010249989A CN 113495672 B CN113495672 B CN 113495672B
- Authority
- CN
- China
- Prior art keywords
- read
- address information
- code
- data
- command
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012986 modification Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
-
- 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/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- 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
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/702—Masking faults in memories by using spares or by reconfiguring by replacing auxiliary circuits, e.g. spare voltage generators, decoders or sense amplifiers, to be used instead of defective ones
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明提供一种读写方法及存储器装置。所述读写方法包括如下步骤:对存储器装置施加读命令,所述读命令指向地址信息,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据,若所述待读出数据发生错误,则将所述读命令所指向的地址信息与备用存储单元关联。本发明读写方法大大提高了存储器装置的可靠性,并延长了存储器装置的寿命。
Description
技术领域
本发明涉及半导体存储领域,尤其涉及一种读写方法及存储器装置。
背景技术
半导体存储器是用来存储各种数据信息的记忆部件。随着电路复杂度的提升,各种形式的存储器装置在制造上或者使用过程中无可避免地容易产生不良或受损的存储单元,导致半导体存储器装置可靠度降低,寿命减少。
因此,如何提高存储器装置的可靠性及延长所述存储器装置的寿命,成为目前亟需解决的问题。
发明内容
本发明所要解决的技术问题是,提供一种读写方法及存储器装置,其能够大大提高存储器装置的可靠性及延长存储器装置的寿命。
本发明提供一种读写方法,对存储器装置施加读命令,所述读命令指向地址信息,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据,若所述待读出数据发生错误,则将所述读命令所指向的地址信息与备用存储单元关联,并将对所述待读出数据进行修正后的数据存储在所述备用存储单元中。
进一步,所述读写方法还包括如下步骤:生成用于标识所述备用存储单元的识别码,所述读命令所指向的地址信息通过所述识别码与所述备用存储单元关联。
进一步,所述读写方法还包括如下步骤:若所述待读出数据发生错误,则将所述读命令所指向的地址信息标记为无效。
进一步,若所述待读出数据没有发生错误,则将所述读命令所指向的地址信息标记为有效。
进一步,未被标记为无效的地址信息,其初始设置为有效。
进一步,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据的步骤还包括:从所述读命令所指向的地址信息对应的存储单元中读取与所述待读出数据对应的第一ECC编码;判断所述待读出数据是否发生错误的方法包括:对所述第一ECC编码进行解码,以判断所述待读出数据是否发生错误。
进一步,提供一查找表,所述查找表记录有所述存储单元的地址信息及与所述地址信息对应的数值码,所述数值码由第一类型码及第二类型码组成,所述第一类型码用于标记所述地址信息是否有效,所述第二类型码用于记录所述备用存储单元的识别码,若所述待读出数据发生错误,则在查找表中将所述读命令所指向的地址信息对应的数值码的第一类型码修改为无效标记值,将所述第二类型码修改为用于标识备用存储单元的识别码。
进一步,所述读写方法还包括如下步骤:记录所述第二类型码的修改次数,并根据所述修改次数生成对应的识别码。
进一步,所述数值码具有一初始值,在所述初始值中,所述第一类型码为有效标记值,所述第二类型码为无意义值。
进一步,对所述存储器装置施加写命令,若所述写命令所指向的地址信息的标记为有效,则对所述写命令所指向的地址信息对应的存储单元执行写操作,若所述写命令所指向的地址信息的标记为无效,则停止对所述写命令所指向的地址信息对应的存储单元执行写操作,并对与所述写命令所指向的地址信息对应的所述识别码标识的备用存储单元执行写操作。
进一步,对存储器装置施加写命令时,以所述写命令所指向的地址信息为索引,在所述查找表中查找所述数值码。
进一步,对所述写命令所指向的地址信息对应的存储单元执行写操作的步骤进一步包括:形成与所述写操作中待写入数据对应的第二ECC编码,并将其与所述待写入数据一并写入所述写命令所指向的地址信息对应的存储单元中。
进一步,在所述对存储器装置施加读命令之后,在所述从所述读命令所指向的地址信息对应的存储单元中读取待读出数据之前,还包括:判断所述读命令所指向的地址信息是否有效,若所述读命令所指向的地址信息有效,则对所述读命令所指向的地址信息对应的存储单元执行读操作,若所述读命令所指向的地址信息的标记为无效,则停止对所述读命令所指向的地址信息对应的存储单元执行读操作,并对与所述读命令所指向的地址信息对应的所述识别码标识的备用存储单元执行读操作。
进一步,所述读写方法进一步包括如下步骤:在所述待读出数据发生错误的情况下,若对所述待读出数据进行修正,则将修正后的数据存储在所述备用存储单元中;若未对待读出数据进行修正,则将所述待读出数据存储在所述备用存储单元中。
本发明还提供一种存储器装置,其包括:命令接收单元,用于接收读命令或写命令;存储单元,与所述读命令或写命令对应的地址信息对应;备用存储单元;关联单元,用于将所述地址信息与所述备用存储单元关联;执行单元,用于对所述存储单元或所述备用存储单元执行读操作或写操作。
进一步,所述存储器装置还包括识别码生成单元,与所述关联单元连接,用于生成识别所述备用存储单元的识别码,所述关联单元通过所述识别码将所述地址信息与所述备用存储单元关联。
进一步,所述关联单元还用于存储标记信息,所述标记信息记录所述地址信息有效或者无效。
进一步,所述关联单元为查找表,所述查找表记录有所述存储单元的地址信息及与所述地址信息对应的数值码,所述数值码由第一类型码及第二类型码组成,所述第一类型码用于标记所述地址信息是否有效,所述第二类型码用于记录所述备用存储单元的识别码,若所述待读出数据发生错误,则在查找表中将所述读命令所指向的地址信息对应的数值码的第一类码修改为无效标记值,将所述第二类型码修改为用于标识备用存储单元的识别码。
进一步,所述存储器装置还包括ECC编码解码单元,用于解码读操作中与待读出数据对应的第一ECC编码及形成写操作中与待写入数据对应的第二ECC编码。
进一步,所述执行单元还与所述关联单元连接,用于根据所述关联单元的记录对所述地址信息对应的存储单元或备用存储单元执行读操作或者写操作,或停止对所述地址信息对应的存储单元执行读操作或写操作。
进一步,所述存储器装置包括逻辑层及至少一存储层,所述命令接收单元、所述关联单元及所述执行单元设置在所述逻辑层,所述存储单元设置在所述存储层。
本发明的优点在于,在用户对存储器装置执行读操作时实时地将数据发生错误的存储单元采用备用存储单元替换。即每进行一次读操作,都会采用备用存储单元替换数据发生错误的存储单元,以在用户对所述存储器装置执行读操作或者写操作时,可对备用存储单元执行读写操作,而不对数据发生错误的存储单元进行读写操作,避免数据错误或者数据丢失,大大提高了存储器装置的可靠性,并延长了存储器装置的寿命。
附图说明
图1是本发明读写方法的第一具体实施方式的流程示意图;
图2是本发明读写方法的第二具体实施方式的流程示意图;
图3是本发明读写方法的第三具体实施方式的流程示意图;
图4是本发明存储器装置的第一具体实施方式的框架示意图;
图5是本发明存储器装置的第二具体实施方式的框架示意图;
图6是本发明存储器装置的第三具体实施方式的框架示意图;
图7是本发明存储器装置的第四具体实施方式的框架示意图;
图8是本发明存储器装置的第五具体实施方式的框架示意图;
图9是本发明存储器装置的第五具体实施方式的框架示意图。
具体实施方式
下面结合附图对本发明提供的读写方法及存储器装置的具体实施方式做详细说明。
一种常见的改善存储器装置可靠性的方法是在数据写入存储器装置之前事先将数据编码为错误修正码(Error Correction Code,ECC),同时将数据和错误修正码储存于存储器装置中。当读出时,同时读取数据和错误修正码,解码错误修正码以还原可能发生错误的数据。
但是,发明人发现,错误修正码仅能够在数据被读出时修正数据,存储器中发生数据错误的存储单元依然存在。若在后续的数据存储过程中,该发生数据错误的存储单元对应的存储段再出现至少一个发生数据错误的存储单元,则该存储段会存在至少两个数据错误的存储单元。而错误修正码将无法对该错误进行修正,导致该存储段不能使用,甚至会导致存储器装置不能使用,从而影响存储器装置的可靠性及寿命。
发明人研究发现,在用户使用存储器装置时,若是能够将发生数据错误的存储单元实时地区分出来,并采用备用存储单元替换,则可避免再对数据发生错误的存储单元(即失效的存储单元)执行读写操作,进而能够大大提高存储器装置的可靠性,并延长存储器装置的寿命。因此,本发明提供一种读写方法,其能够将发生数据错误的存储单元实时地区分出来,并采用备用存储单元替换发生数据错误的存储单元。
具体地说,请参阅图1,其为本发明读写方法的第一具体实施方式的流程示意图,所述读写方法包括如下步骤:
步骤S10,对存储器装置施加读命令,所述读命令指向地址信息。例如,所述读命令指向的地址信息为A0。
步骤S11,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据。例如,从所述地址信息A0对应的存储单元中读取待读出数据。
步骤S12,判断所述待读出数据是否发生错误。
若所述待读出数据发生错误,说明该存储单元失效,则将所述读命令所指向的地址信息与备用存储单元关联,并将所述待读出数据存储在所述备用存储单元中。即采用备用存储单元替换失效的存储单元,以提高存储器装置的可靠性。进一步,在本发明另一具体实施方式中,在所述待读出数据发生错误的情况下,若对所述待读出数据进行了修正,则将对所述待读出数据进行修正后的数据代替所述待读出数据存储在所述备用存储单元中。
进一步,为了将所述读命令所指向的地址信息与备用存储单元关联,在本具体实施方式中,所述读写方法还包括步骤S13,生成用于标识所述备用存储单元的识别码,所述标识码存储在所述查找表10中,所述读命令所指向的地址信息通过所述识别码与所述备用存储单元关联。可以理解的是,不同的备用存储单元对应的识别码不同,以保证所述读命令所指向的地址信息关联的备用存储单元不会重复,进而避免数据存储发生错误。
在本具体实施方式中,提供一查找表10,所述查找表10设置有地址信息栏ADD及数值栏DATA。
所述地址信息栏ADD预存有所述存储器装置的所有地址信息,例如A0、A1、A2、A3、A4、A5、A6……An,所述地址信息的数量可根据所述存储器装置的实际情况设置。
所述数值栏DATA用于存储所述地址信息对应的数值码。其中,每一所述地址信息对应一个数值码。所述数值码至少包括用于识别备用存储单元的识别码或者无意义码。
在本具体实施方式中,所述数值码由第一类型码及第二类型码组成。
所述第一类型码用于标记所述地址信息是否有效。例如,所述第一类型码为0或者1,0为表示所述地址信息有效的有效标记值,1为表示所述地址信息无效的无效标记值。
具体地说,若所述待读出数据发生错误,说明该存储单元失效,则将所述读命令所指向的地址信息标记为无效。例如,若从所述读命令所指向的地址信息A0对应的存储单元中读取的待读出数据发生错误,则在所述查找表10中将所述读命令所指向的地址信息A0对应的数值码的第一类型码标记为无效标记值1;若从所述读命令所指向的地址信息A4对应的存储单元中读取的待读出数据发生错误,则在所述查找表10中将所述读命令所指向的地址信息A4对应的数值码的第一类型码标记为无效标记值1。
所述第二类型码用于记录所述识别码或者无意义码。所述第二类型码可以为多位,其可根据备用存储单元的数量而确定。例如,所述第二类型码为三位,其可为000、001、010、100、101、011、110、111等。
其中,当所述第一类型码为所述地址信息无效的无效标记值时(例如所述第一类型码为1时),所述第二类型码为所述识别码,所述读命令所指向的地址信息通过所述识别码与备用存储单元关联,并将对待读出数据进行修正后的数据存储在所述备用存储单元中。例如,所述地址信息A0对应的数值码的第一类型码为无效标记值1,则所述地址信息A0对应的数值码的第二类型码001为能够识别一个备用存储单元的识别码,所述读命令所指向的地址信息通过所述识别码001与备用存储单元关联,并将对待读出数据进行修正后的数据存储在该识别码001标识的所述备用存储单元中;所述地址信息A4对应的数值码的第一类型码为无效标记值1,则所述地址信息A4对应的数值码的第二类型码010为能够识别备用存储单元的识别码,所述读命令所指向的地址信息通过所述识别码010与备用存储单元关联,并将对待读出数据进行修正后的数据存储在该识别码010标识的所述备用存储单元中。
若所述待读出数据没有发生错误,说明该存储单元有效,则在所述查找表10中,所述读命令所指向的地址信息对应的数值码的第一类型码为有效标记值,所述第二类型码为无意义码。所述无意义码仅用于填充数位,其不用于识别任何一个备用存储单元。
具体地说,在本具体实施方式中,从所述读命令所指向的地址信息A1对应的存储单元中读取待读出数据没有发生错误,则在所述查找表10中,所述读命令所指向的地址信息A1对应的数值码的第一类型码为有效标记值0,所述第二类型码为无意义码000;若从所述读命令所指向的地址信息A2对应的存储单元中读取待读出数据没有发生错误,则在所述查找表10中,所述读命令所指向的地址信息A2对应的数值码的第一类型码为有效标记值0,所述第二类型码为无意义码000。在本具体实施方式中,以数值000表示无意义码,在本发明其他具体实施方式中,也可设置其他数值表示无意义码。
在本发明中,将所述读命令所指向的地址信息对应的数值码的第一类型码设置为有效标记值有如下两种处理方式:
将所述读命令所指向的地址信息对应的数值码的第一类型码设置为有效标记值的第一种处理方式是,在所述查找表中,所有的地址信息对应的数值码均被初始设置为有效标记值与无意义码的组合,则若所述待读出数据没有发生错误,则不修改所述查找表中的数值码,即保留数值码的初始设置。例如,若从读命令所指向的地址信息A1对应的存储单元中读取的待读出数据没有发生错误,则在所述查找表10中将所述读命令所指向的地址信息所A1对应的数值码保留为初始设置,即不修改所述数值码的初始设置。在本具体实施方式中,采用的是该种处理方式。
对于该第一种处理方式,在从读命令所指向的地址信息对应的存储单元中读取的待读出数据发生错误的情况下,才在所述查找表10中将所述读命令所指向的地址信息对应的数值码的第一类型码由有效标记值修改为无效标记值,并将所述数值码的第二类型码由无意义码修改为识别码。例如,若从读命令所指向的地址信息A0对应的存储单元中读取的待读出数据发生错误,则在所述查找表10中将所述读命令所指向的地址信息A0对应的数值码的第一类型码由有效标记值修改为无效标记值,并将所述数值码的第二类型码由无意义码修改为识别码。
进一步,在该第一种处理方式中,在所述存储器装置上电或出厂时,在所述查找表中,所有的地址信息对应的数值码均被初始设置为有效标记值与无意义码的组合。可以理解的是,随着所述存储器装置的使用,在多次对所述存储器装置执行读写操作后,在所述查找表中,所述地址信息对应的数值码可能为无效标记值与识别码的组合,也可能为有效标记值与无意义码的组合。因此,在对所述存储器装置施加读命令时,前次读写操作后的查找表即为当前读操作的初始查找表,所述初始查找表记录有经前次读写操作后所述存储单元的地址信息对应的数值码,该数值码为当前读操作的初始数值码,所述数值码可能为无效标记值与识别码的组合,也可能为有效标记值与无意义码的组合。若所述待读出数据发生错误,则在查找表10中将所述读命令所指向的地址信息的数值码修改为无效标记值与无意义码的组合。
进一步,本发明读写方法还包括如下步骤:步骤S14,记录所述第二类型码的修改次数,并根据所述修改次数生成对应的识别码。具体地说,若所述读命令所指向的地址信息发生数据错误,则需要修改第二类型码为识别码,以通过所述识别码将所述地址信息与一个备用存储单元关联。为了避免不同的地址信息关联的备用存储单元重复,可根据所述第二类型码的修改次数生成不同的识别码,即不同的地址信息对应的识别码不同,从而将不同的地址信息与不同的备用存储单元关联。例如,当所述第二类型码修改次数为0时,所述识别码为001,当所述第二类型码修改次数为1时,所述识别码为010,当所述第二类型码修改次数为2时,所述识别码为100……,以此类推,根据所述修改次数生成对应的识别码。
将所述读命令所指向的地址信息对应的数值码的第一类型码设置为有效标记值的第二种处理方式是,若所述待读出数据没有发生错误,则在查找表10中将所述读命令所指向的地址信息对应的数值码的第一类型码标记为有效标记值,并采用无意义码填充所述第二类型码的位置。例如,若从读命令所指向的地址信息A1对应的存储单元中读取的待读出数据没有发生错误,则在所述查找表10中将所述读命令所指向的地址信息A1对应的数值码的第一类型码标记为有效标记值0,并采用无意义码填充所述第二类型码的位置。
在本发明另一具体实施方式中,所述数值码也可以仅由第二类型码组成,即所述数值码仅包括用于识别备用存储单元的识别码或者无意义码。若所述待读出数据发生错误,说明该存储单元失效,则所述存储单元对应的地址信息对应的数值码为识别码,若所述待读出数据没有发生错误,说明该存储单元有效,则所述存储单元对应的地址信息对应的数值码为无意义码。进一步,本发明还提供一种判断所述待读出数据是否发生错误的方法。具体地说,在从所述读命令所指向的地址信息对应的存储单元中读取待读出数据的步骤还包括:从所述读命令所指向的地址信息对应的存储单元中读取与所述待读出数据对应的第一ECC编码。例如,从所述读命令所指向的地址信息对应的存储单元中读取的数据的位数为64b+8b,其中64b为所述待读出数据位数,8b为所述第一ECC编码的位数。根据相应的算法,对所述第一ECC编码进行解码,可还原可能发生错误的数据,所述算法为现有技术,不再赘述。因此,可依据对所述第一ECC编码进行解码判断所述待读出数据是否发生错误。
本发明列举一种依据对所述第一ECC编码进行解码判断所述待读出数据是否发生错误的方法:将待读出数据重新编码,形成一个新的ECC编码,将所述新的ECC编码与所述第一ECC编码进行每位异或比对,若每位均一致,说明所述待读出数据没有发生错误,所述存储单元有效,则不对所述查找表10进行修改,该存储单元对应的地址信息对应的数值码的第一类型码为有效标记值;若所述新的ECC编码与所述第一ECC编码存在不一致的情况,说明待读出数据发生错误,所述存储单元失效,则在所述查找表10中将所述读命令所指向的地址信息对应的数值码的第一类型码修改为无效标记值。
其中,若所述待读出数据没有发生错误,则将所述待读出数据作为所述存储器装置的输出数据,若所述待读出数据发生错误,则可利用所述第一ECC编码进行修正,将修正后的数据作为所述存储器装置的输出数据,并将修正后的数据存储在对应的备用存储单元中。
本发明读写方法可在用户对存储器装置执行读写操作时将发生数据错误的存储单元实时地区分出来,并采用备用存储单元替换。即每进行一次读操作,都会将数据发生错误的存储单元采用备用存储单元替换,以在后续用户对所述存储器装置执行读写操作时,可对备用存储单元进行读写操作,而不对数据发生错误的存储单元进行读写操作,能够大大提高存储器装置的可靠性,并延长存储器装置的寿命。
本发明读写方法还提供第二具体实施方式。在所述对存储器装置施加读命令之后,在所述从所述读命令所指向的地址信息对应的存储单元中读取待读出数据之前,还包括:判断所述读命令所指向的地址信息是否有效的步骤。具体地说,请参阅图2,其为本发明读写方法的第二具体实施方式的流程示意图。
步骤S20,向存储器装置施加读命令,所述读命令指向地址信息。
步骤S21,判断所述读命令所指向的地址信息是否有效。
具体地说,对存储器装置施加读命令时,以所述读命令所指向的地址信息为索引,在查找表20中查找所述标记。在所述查找表20中,若所述读命令所指向的地址信息对应的数值码的第一类型码为有效标记值,则说明所述读命令所指向的地址信息有效,若所述读命令所指向的地址信息对应的数值码的第一类型码为无效标记值,则说明所述读命令所指向的地址信息无效。
例如,所述读命令指向的地址信息为A1,以所述读命令所指向的地址信息A1为索引,在所述查找表20中查找所述标记。在所述查找表20中,所述读命令所指向的地址信息A1对应的数值码的第一类型码为有效标记值0,则说明所述读命令所指向的地址信息A1有效。
再例如,所述读命令指向的地址信息为A4。以所述读命令所指向的地址信息A4为索引,在查找表20中查找所述标记。在所述查找表20中,所述读命令所指向的地址信息A4对应的数值码的第一类型码为无效标记值1,则说明所述读命令所指向的地址信息A4无效。
若所述读命令所指向的地址信息有效,则对所述读命令所指向的地址信息对应的存储单元执行读操作,即执行步骤S22。例如,在查找表20中,所述读命令所指向的地址信息A1对应的数值码的第一类型码为有效标记值0,说明所述读命令所指向的地址信息A1对应的存储单元有效,则对所述读命令所指向的地址信息A1对应的存储单元执行读操作,即执行步骤S22,在步骤S22中,所述读命令所指向的地址信息为地址信息A1。
进一步,若所述读命令所指向的地址信息对应的数值码的第一类型码为有效标记值,则不再对所述数值码的第二类型码进行识别。
若所述读命令所指向的地址信息无效,即在所述查找表20中,所述读命令所指向的地址信息对应的数值码的第一类型码为无效标记值,说明所述读命令所指向的地址信息对应的存储单元失效,则停止对所述写命令所指向的地址信息对应的存储单元执行读操作,并执行步骤S23。例如,若在所述查找表20中,所述读命令所指向的地址信息A4对应的数值码的第一类型码为无效标记值1,则停止对所述写命令所指向的地址信息对应的存储单元执行读操作,并执行步骤S23。
进一步,在本发明另一具体实施方式中,所述数值码也可以仅由第二类型码组成,即所述数值码仅包括用于识别备用存储单元的识别码或者无意义码。对存储器装置施加读命令时,以所述读命令所指向的地址信息为索引,在查找表20中查找所述数值码。在所述查找表20中,若所述读命令所指向的地址信息对应的数值码为无意义码,则说明所述读命令所指向的地址信息对应的存储单元有效,则对所述存储单元执行读操作;若所述读命令所指向的地址信息对应的数值码为识别码,则说明所述读命令所指向的地址信息对应的存储单元无效,则对所述识别码所对应的备用存储单元执行读操作。
步骤S22,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据。例如,从所述读命令所指向的地址信息A1对应的存储单元中读取待读出数据。该步骤与第一具体实施方式中的步骤S11相同。
步骤S23,对所述读命令所指向的地址信息对应的数值码的第二类型码(即识别码)标识的备用存储单元执行读操作。例如,若在所述查找表20中,所述读命令所指向的地址信息A4对应的数值码的第一类型码为无效标记值1,则对所述读命令所指向的地址信息A4对应的数值码的第二类型码101所标识的备用存储单元执行读操作。在步骤S23之后执行步骤S25。
步骤S24,判断所述待读出数据是否发生错误。该步骤与第一具体实施方式中的步骤S12相同。若所述待读出数据发生错误,则在所述查找表20中将所述读命令所指向的地址信息对应的数值码的第一类型码标记为无效标记值,将第二类型码修改为用于识别备用存储单元的识别码,并将所述待读出数据存储在备用存储单元中;若所述待读出数据未发生错误,则在所述查找表20中将所述读命令所指向的地址信息对应的数值码的第一类型码修改为有效标记值,第二类型码采用无意义码填充,或者在所述查找表20的数值码均被初始设置为有效标记值与无意义码的组合时,不对所述查找表做修改。在本具体实施方式中,采用的是不修改所述查找表的方式。进一步,在本发明另一具体实施方式中,在所述待读出数据发生错误的情况下,若对所述待读出数据进行了修正,则将对所述待读出数据进行修正后的数据代替所述待读出数据存储在所述备用存储单元中。步骤S25,输出数据。在该步骤中,输出的数据可为备用存储单元存储的数据,与可为存储单元中被修正或没有被修正的待读取数据。
需要说明的是,在另一具体实施方式中,在步骤S23之后也可继续判断从对应备用存储单元中读出的数据是否发生错误,如果数据未发生错误则输出数据;如果数据发生错误,改变所述读命令所指向的地址信息对应的第二类型码的数值,将其关联到另一备用存储单元,并可将待读出数据或修正后的待读出数据存入新的备用存储单元中。
在所述第二具体实施方式中,在对所述存储器装置施加读命令后,判断所述读命令所指向的地址信息是否有效,以可选择性地对所述读命令所指向的地址信息执行读命令,从而可提高存储器装置的可靠性。另外,在读出待读出数据后,还可根据所述待读出数据是否发生错误而对该存储单元的地址信息标记,并在所述待读出数据发生错误的情况下,采用备用存储单元替换存储单元,并将修正后的数据存储在备用存储单元中,以为后续的读写操作提供基础,大大提高了存储器装置的可靠性及寿命。
本发明读写方法还提供第三具体实施方式。该第三具体实施方式为对存储器装置的写操作。具体地说,请参阅图3,其为本发明读写方法的第三具体实施方式的流程示意图。
步骤S30,对所述存储器装置施加写命令,所述写命令指向地址信息。例如,对所述存储器装置施加写命令,所述写命令指向地址信息A0。
步骤S31,判断所述写命令所指向的地址信息是否有效。
在本具体实施方式中,以所述写命令所指向的地址信息为索引,在查找表中查找所述地址信息对应的标记,以根据所述标记判断所述写命令所指向的地址信息是否有效。
例如,若所述写命令所指向的地址信息为A0,则以所述写命令所指向的地址信息A0为索引,在查找表30中查找所述地址信息A0对应的数值码的第一类型码,以根据所述第一类型码判断所述写命令所指向的地址信息A0是否有效;若所述写命令所指向的地址信息为A1,则以所述写命令所指向的地址信息A1为索引,在查找表30中查找所述地址信息A1对应的数值码的第一类型码,以根据所述第一类型码判断所述写命令所指向的地址信息A1是否有效。
若所述写命令所指向的地址信息的标记为有效,则对所述写命令所指向的地址信息对应的存储单元执行写操作,若所述写命令所指向的地址信息对应的数值码的第一类型码为无效标记值,则停止对所述写命令所指向的地址信息对应的存储单元执行写操作,并识别所述数值码的第二类型码,并对所述第二类型码标识的备用存储单元执行写操作。
例如,在查找表30中,所述写命令所指向的地址信息A0对应的数值码的第一类型码为无效标记值1,则停止对所述写命令所指向的地址信息A0对应的存储单元执行写操作,并识别所述数值码的第二类型码001,并对所述第二类型码001标识的备用存储单元执行写操作;在所述查找表30中,所述写命令所指向的地址信息A1对应的数值码的第一类型码为有效标记值0,则对所述写命令所指向的地址信息A1对应的存储单元执行写操作。
进一步,在本发明另一具体实施方式中,所述数值码也可以仅由第二类型码组成,即所述数值码仅包括用于识别备用存储单元的识别码或者无意义码。对存储器装置施加写命令时,以所述写命令所指向的地址信息为索引,在查找表30中查找所述数值码。在所述查找表30中,若所述写命令所指向的地址信息对应的数值码为无意义码,则说明所述写命令所指向的地址信息对应的存储单元有效,则对所述存储单元执行写操作;若所述写命令所指向的地址信息对应的数值码为识别码,则说明所述写命令所指向的地址信息对应的存储单元无效,则对所述识别码所对应的备用存储单元执行写操作。
进一步,在本第三具体实施方式中,所述读写方法还包括如下步骤:形成与所述写操作中待写入数据对应的第二ECC编码,并将其与所述待写入数据一并写入所述写命令所指向的地址信息对应的存储单元中。当读出该存储单元中的数据时,同时读取数据和第二ECC编码,解码所述第二ECC编码以还原可能发生错误的数据。
在本第三具体实施方式中,本发明读写方法在对存储器装置施加写命令之后判断所述写命令所指向的地址是否有效,若无效,则对其对应的备用存储单元执行写操作,进而可避免对失效的存储单元执行写操作,从而提高存储器装置的可靠性,并延长存储器装置的寿命。
本发明还提供一种能够实现上述读写方法的存储器装置。所述存储器装置包括但不限于DRAM、SRAM等易失性存储器,以及NAND、NOR、FeRAM、RRAM、MRAM、PCRAM等非易失存储器。
请参阅图4,其为本发明存储器装置的第一具体实施方式的框架示意图。所述存储器装置包括命令接收单元40、存储单元41、关联单元42、执行单元43及备用存储单元44。
所述命令接收单元40用于接收施加在存储器装置的读命令、写命令或者读/写命令所指向的地址信息。
所述存储单元41与所述读命令或写命令对应的地址信息对应,并用于存储数据。在本发明中,所述存储单元41可为存储基本单元(cell)、存储段(segment)、存储页(pages)、存储块(blocks)等本领域技术人员熟知的存储单位,本发明对此不进行限制。
所述关联单元42用于将所述地址信息与所述备用存储单元44关联。在本具体实施方式中,所述关联单元42还用于存储标记信息,所述标记信息记录所述地址信息有效或者无效。具体地说,在本具体实施方式中,所述关联单元42为查找表。所述查找表记录有所述存储单元41的地址信息及与所述地址信息对应的数值码。所述数值码由第一类型码及第二类型码组成,所述第一类型码用于标记所述地址信息是否有效,所述第二类型码用于记录所述备用存储单元44的识别码。若所述待读出数据发生错误,则在查找表中将所述读命令所指向的地址信息对应的数值码的第一类型码修改为无效标记值,将所述第二类型码修改为用于标识备用存储单元44的识别码。
所述执行单元43用于控制对所述存储单元31执行读操作或写操作。所述执行单元还与所述关联单元42连接,用于根据所述关联单元42的标记信息对所述地址信息对应的存储单元41执行读操作或者写操作,或停止对所述地址信息对应的存储单元41执行读操作或写操作。具体地说,若所述读命令或者写命令所指向的地址信息对应的数值码的第一类型码为有效标记值,则所述执行单元43对所述地址信息对应的存储单元执行读操作或写操作,若所述读命令或写命令所指向的地址信息对应的数值码的第一类型码为无效标记值,则所述执行单元43停止对所述地址信息对应的存储单元执行读操作或写操作,并根据所述数值码的第二类型码对所述第二类型码标识的备用存储单元执行读操作或写操作。
所述备用存储单元44通过所述第二类型码与所述读命令或写命令指向的地址信息对应,并用于存储数据。在本发明中,所述备用存储单元44可为存储基本单元(cell)、存储段(segment)、存储页(pages)、存储块(blocks)等本领域技术人员熟知的存储单位,本发明对此不进行限制。
需要说明的是,在其他具体实施方式中,所述关联单元42也可仅与所述执行单元43连接,所述命令接收单元40可直接与所述执行单元43连接,本发明对此连接方式不做具体限制,本领域内普通技术人员可根据需要自行设置以实现上述功能。
进一步,本发明存储器装置还提供一第二具体实施方式。请参阅图5,其为本发明存储器装置的第二具体实施方式的框架示意图,所述第二具体实施方式相较于第一具体实施方式的区别在于,本发明存储器装置还包括识别码生成单元45。所述识别码生成单元45用于生成识别所述备用存储单元的识别码。所述识别码生成单元45与所述关联单元42连接,所述关联单元42能够将数值码的第二类型码修改为所述识别码生成单元45生成的所述识别码。进一步,所述识别码生成单元45能够记录所述关联单元42中数值码的第二类型码的修改次数,从而根据所述修改次数生成识别码。
所述关联单元42通过所述识别码将所述地址信息与所述备用存储单元44关联,从而使得所述执行单元43能够对所述备用存储单元44进行读操作或写操作。
进一步,本发明存储器装置还提供一第三具体实施方式。请参阅图6,其为本发明存储器装置的第三具体实施方式的框架示意图,所述第三具体实施方式相较于第一具体实施方式的区别在于,所述存储器装置还包括ECC编码解码单元46。
所述ECC编码解码单元46与执行单元43、存储单元41及关联单元42连接。
所述ECC编码解码单元46用于解码读操作中与待读出数据对应的第一ECC编码,以还原有可能发生错误的数据,并可根据所述ECC编码解码单元44是否对数据进行还原来修改所述关联单元42中的数值码。所述ECC编码解码单元46还用于形成写操作中与待写入数据对应的第二ECC编码。
具体地说,在本具体实施方式中,所述命令接收单元接收写命令,在对写命令所指向的地址信息对应的存储单元执行写操作时,所述ECC编码解码单元46形成与写操作中待写入数据对应的ECC编码,并同时存储在所述写命令所指向的地址信息对应的存储单元41中。在该写操作完成后,在后续对该地址信息对应的存储单元执行读操作时,所述ECC编码解码单元46解码所述ECC编码。其中,可根据所述ECC编码解码单元46的解码来判断所述读操作读取的待读出数据是否发生错误,进而修改所述关联单元42中的数值码。
进一步,在本具体实施方式中,可根据所述ECC编码解码单元46是否对数据进行还原来修改所述关联单元42中的数值码。具体地说,若所述ECC编码解码单元46解码所述ECC编码,并对数据进行还原,说明所述读操作读取的待读出数据发生错误,则在所述关联单元42中将该存储单元的地址信息对应的数值码修改为无效标记值与识别码的组合,若所述ECC编码解码单元46解码所述ECC编码,但未对数据进行还原,说明所述读操作读取的待读出数据未发生错误,则在所述关联单元42将所述地址信息对应的数值码修改为有效标记值与无意义码的组合,或者保持所述地址信息对应的数值码的初始标记。
在本发明其他具体实施方式中,所述ECC编码解码单元46解码所述ECC编码,虽然未对数据进行还原,但根据所述ECC编码解码单元46的解码可判断出所述读操作读取的待读出数据发生了错误,则在所述关联单元46中将该存储单元的地址信息对应的数值码修改为无效标记值与识别码的组合。
在第三具体实施方式中,所述执行单元43不仅与ECC编码解码单元46连接,还与存储单元41连接,而在本发明第四具体实施方式中,请参阅图7,其为所述存储器装置的第四具体实施方式的框架示意图,所述执行单元43与ECC编码解码单元46连接,所述ECC编码解码单元46再与存储单元41连接。可以理解的是,可根据不同的需求选择不同的连接关系。
本发明存储器装置还提供第五具体实施方式。请参阅图8,其为所述存储器装置的第五具体实施方式的框架示意图,相较于存储器装置的第三具体实施方式,所述存储器装置包括逻辑层100及若干存储层200(图中仅示出一个存储层情形),所述存储层200可为DRAM芯片,所述逻辑层100可以为控制芯片或中介层等具备逻辑电路的层。所述若干存储层200可以垂直堆叠于所述逻辑层100之上或之下,但本发明不限定于此,也可用其他封装方式将其集成在一起。
其中,所述命令接收单元40、所述关联单元42、所述执行单元43及所述ECC编码解码单元46均可设置在所述逻辑层100,而所述存储单元41及所述备用存储单元44设置在所述存储层200。在本发明另一具体实施方式中,所述关联单元42、所述ECC编码解码单元46也可设置在所述存储层200。
在本具体实施方式中,所述逻辑层100具有至少一第一数据传输端口47,所述存储层200具有至少一第二数据传输端口48。所述逻辑层100与所述存储层200之间通过所述第一数据传输端口47及所述第二数据传输端口48传输指令及数据。
进一步,在第五具体实施方式中,所述执行单元43不仅与ECC编码解码单元46连接,还通过所述第一数据传输端口47及所述第二数据传输端口48与存储单元41连接,而在本发明第五具体实施方式中,请参阅图9,其为所述存储器装置的第五具体实施方式的框架示意图,所述执行单元43与ECC编码解码单元46连接,所述ECC编码解码单元46再通过所述第一数据传输端口47及所述第二数据传输端口48与存储单元41连接。可以理解的是,可根据不同的需求选择不同的连接关系。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (19)
1.一种读写方法,其特征在于,对存储器装置施加读命令,所述读命令指向地址信息,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据,若所述待读出数据发生错误,则将所述读命令所指向的地址信息与备用存储单元关联,所述读写方法还包括如下步骤:提供一查找表,所述查找表记录有所述存储单元的地址信息及与所述地址信息对应的数值码,所述数值码由第一类型码及第二类型码组成,所述第一类型码用于标记所述地址信息是否有效,所述第二类型码用于记录所述备用存储单元的识别码,若所述待读出数据发生错误,则在查找表中将所述读命令所指向的地址信息对应的数值码的第一类型码修改为无效标记值,将所述第二类型码修改为用于标识备用存储单元的识别码。
2.根据权利要求1所述的读写方法,其特征在于,所述读写方法还包括如下步骤:生成用于标识所述备用存储单元的识别码,所述读命令所指向的地址信息通过所述识别码与所述备用存储单元关联。
3.根据权利要求2所述的读写方法,其特征在于,所述读写方法还包括如下步骤:若所述待读出数据发生错误,则将所述读命令所指向的地址信息标记为无效。
4.根据权利要求3所述的读写方法,其特征在于,若所述待读出数据没有发生错误,则将所述读命令所指向的地址信息标记为有效。
5.根据权利要求3所述的读写方法,其特征在于,未被标记为无效的地址信息,其初始设置为有效。
6.根据权利要求5所述的读写方法,其特征在于,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据的步骤还包括:从所述读命令所指向的地址信息对应的存储单元中读取与所述待读出数据对应的第一ECC编码;
判断所述待读出数据是否发生错误的方法包括:对所述第一ECC编码进行解码,以判断所述待读出数据是否发生错误。
7.根据权利要求1所述的读写方法,其特征在于,所述读写方法还包括如下步骤:记录所述第二类型码的修改次数,并根据所述修改次数生成对应的识别码。
8.根据权利要求1所述的读写方法,其特征在于,所述数值码具有一初始值,在所述初始值中,所述第一类型码为有效标记值,所述第二类型码为无意义码。
9.根据权利要求1所述的读写方法,其特征在于,对所述存储器装置施加写命令,若所述写命令所指向的地址信息的标记为有效,则对所述写命令所指向的地址信息对应的存储单元执行写操作,若所述写命令所指向的地址信息的标记为无效,则停止对所述写命令所指向的地址信息对应的存储单元执行写操作,并对与所述写命令所指向的地址信息对应的所述识别码标识的备用存储单元执行写操作。
10.根据权利要求9所述的读写方法,其特征在于,对存储器装置施加写命令时,以所述写命令所指向的地址信息为索引,在所述查找表中查找所述数值码。
11.根据权利要求9所述的读写方法,其特征在于,对所述写命令所指向的地址信息对应的存储单元执行写操作的步骤进一步包括:
形成与所述写操作中待写入数据对应的第二ECC编码,并将其与所述待写入数据一并写入所述写命令所指向的地址信息对应的存储单元中。
12.根据权利要求1所述的读写方法,其特征在于,在所述对存储器装置施加读命令之后,在所述从所述读命令所指向的地址信息对应的存储单元中读取待读出数据之前,还包括:判断所述读命令所指向的地址信息是否有效,若所述读命令所指向的地址信息有效,则对所述读命令所指向的地址信息对应的存储单元执行读操作,若所述读命令所指向的地址信息的标记为无效,则停止对所述读命令所指向的地址信息对应的存储单元执行读操作,并对与所述读命令所指向的地址信息对应的所述识别码标识的备用存储单元执行读操作。
13.根据权利要求1所述的读写方法,其特征在于,所述读写方法进一步包括如下步骤:在所述待读出数据发生错误的情况下,若对所述待读出数据进行修正,则将修正后的数据存储在所述备用存储单元中;若未对待读出数据进行修正,则将所述待读出数据存储在所述备用存储单元中。
14.一种存储器装置,其特征在于,包括:
命令接收单元,用于接收读命令或写命令;
存储单元,与所述读命令或写命令对应的地址信息对应;
备用存储单元;
关联单元,用于将所述地址信息与所述备用存储单元关联;
执行单元,用于对所述存储单元或所述备用存储单元执行读操作或写操作;其中,所述关联单元为查找表,所述查找表记录有所述存储单元的地址信息及与所述地址信息对应的数值码,所述数值码由第一类型码及第二类型码组成,所述第一类型码用于标记所述地址信息是否有效,所述第二类型码用于记录所述备用存储单元的识别码,若待读出数据发生错误,则在查找表中将所述读命令所指向的地址信息对应的数值码的第一类码修改为无效标记值,将所述第二类型码修改为用于标识备用存储单元的识别码。
15.根据权利要求14所述的存储器装置,其特征在于,所述存储器装置还包括识别码生成单元,与所述关联单元连接,用于生成识别所述备用存储单元的识别码,所述关联单元通过所述识别码将所述地址信息与所述备用存储单元关联。
16.根据权利要求15所述的存储器装置,其特征在于,所述关联单元还用于存储标记信息,所述标记信息记录所述地址信息有效或者无效。
17.根据权利要求14所述的存储器装置,其特征在于,所述存储器装置还包括ECC编码解码单元,用于解码读操作中与待读出数据对应的第一ECC编码及形成写操作中与待写入数据对应的第二ECC编码。
18.根据权利要求14所述的存储器装置,其特征在于,所述执行单元还与所述关联单元连接,用于根据所述关联单元的记录对所述地址信息对应的存储单元或备用存储单元执行读操作或者写操作,或停止对所述地址信息对应的存储单元执行读操作或写操作。
19.根据权利要求14所述的存储器装置,其特征在于,所述存储器装置包括逻辑层及至少一存储层,所述命令接收单元、所述关联单元及所述执行单元设置在所述逻辑层,所述存储单元设置在所述存储层。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249989.5A CN113495672B (zh) | 2020-04-01 | 2020-04-01 | 读写方法及存储器装置 |
EP20929597.1A EP4006710A4 (en) | 2020-04-01 | 2020-11-20 | READ-WRITE METHOD AND MEMORY DEVICE |
PCT/CN2020/130389 WO2021196661A1 (zh) | 2020-04-01 | 2020-11-20 | 读写方法及存储器装置 |
US17/363,013 US11869615B2 (en) | 2020-04-01 | 2021-06-30 | Method for reading and writing and memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249989.5A CN113495672B (zh) | 2020-04-01 | 2020-04-01 | 读写方法及存储器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113495672A CN113495672A (zh) | 2021-10-12 |
CN113495672B true CN113495672B (zh) | 2023-08-11 |
Family
ID=77927534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010249989.5A Active CN113495672B (zh) | 2020-04-01 | 2020-04-01 | 读写方法及存储器装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11869615B2 (zh) |
EP (1) | EP4006710A4 (zh) |
CN (1) | CN113495672B (zh) |
WO (1) | WO2021196661A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
CN102063940A (zh) * | 2009-11-16 | 2011-05-18 | 索尼公司 | 非易失存储器和存储*** |
CN102203740A (zh) * | 2011-05-27 | 2011-09-28 | 华为技术有限公司 | 数据处理方法、装置及*** |
CN103839591A (zh) * | 2014-03-05 | 2014-06-04 | 福州瑞芯微电子有限公司 | 存储器自动检错和容错电路及控制方法 |
CN110673980A (zh) * | 2018-07-02 | 2020-01-10 | 三星电子株式会社 | 存储装置以及多芯片*** |
Family Cites Families (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1074396A (ja) | 1996-08-30 | 1998-03-17 | Nec Corp | 半導体記憶装置 |
US5996096A (en) | 1996-11-15 | 1999-11-30 | International Business Machines Corporation | Dynamic redundancy for random access memory assemblies |
US6418068B1 (en) | 2001-01-19 | 2002-07-09 | Hewlett-Packard Co. | Self-healing memory |
US6854071B2 (en) | 2001-05-14 | 2005-02-08 | International Business Machines Corporation | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system |
US6836438B2 (en) | 2002-01-11 | 2004-12-28 | Macronix International Co., Ltd. | Method and apparatus for dynamically hiding a defect in an embedded memory |
US6801471B2 (en) | 2002-02-19 | 2004-10-05 | Infineon Technologies Ag | Fuse concept and method of operation |
US7159141B2 (en) | 2002-07-01 | 2007-01-02 | Micron Technology, Inc. | Repairable block redundancy scheme |
JP2006185535A (ja) | 2004-12-28 | 2006-07-13 | Nec Electronics Corp | 半導体記憶装置 |
US20060156191A1 (en) | 2005-01-07 | 2006-07-13 | Steve Driediger | Memory addressing error protection systems and methods |
JP2007133986A (ja) * | 2005-11-11 | 2007-05-31 | Nec Electronics Corp | 半導体記憶装置 |
US7721146B2 (en) | 2006-05-04 | 2010-05-18 | Dell Products L.P. | Method and system for bad block management in RAID arrays |
US8015433B2 (en) | 2006-09-13 | 2011-09-06 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive with nonvolatile memory for storage of failure-related data |
US20080181035A1 (en) * | 2007-01-26 | 2008-07-31 | Atsushi Kawasumi | Method and system for a dynamically repairable memory |
CN101593157B (zh) | 2008-05-27 | 2011-03-16 | 中兴通讯股份有限公司 | 非线性闪存的坏块管理方法及装置 |
JP4719802B2 (ja) | 2009-03-09 | 2011-07-06 | 富士通株式会社 | ストレージ管理装置、ストレージ管理方法およびストレージシステム |
KR20100115970A (ko) * | 2009-04-21 | 2010-10-29 | 삼성전자주식회사 | 배드 셀 관리 방법과 그 장치 |
US8412987B2 (en) * | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US20100332950A1 (en) * | 2009-06-30 | 2010-12-30 | Gurkirat Billing | Bit error threshold and content addressable memory to address a remapped memory device |
US9037928B2 (en) | 2012-01-01 | 2015-05-19 | Mosys, Inc. | Memory device with background built-in self-testing and background built-in self-repair |
CN101908023A (zh) | 2010-08-06 | 2010-12-08 | 四川长虹电器股份有限公司 | NandFlash存储器中数据存储方法 |
CN101916227B (zh) | 2010-08-13 | 2015-04-01 | 中兴通讯股份有限公司 | 一种rldram sio存储器访问控制方法和装置 |
CN102004698B (zh) | 2010-11-23 | 2012-07-04 | 深圳市江波龙电子有限公司 | 一种闪存管理方法及*** |
TWI420298B (zh) | 2010-12-22 | 2013-12-21 | Silicon Motion Inc | 快閃記憶裝置及其資料存取方法 |
CN102592680B (zh) | 2011-01-12 | 2015-04-08 | 北京兆易创新科技股份有限公司 | 一种存储芯片的修复装置和方法 |
TWI444825B (zh) | 2011-03-29 | 2014-07-11 | Phison Electronics Corp | 記憶體儲存裝置、記憶體控制器與資料寫入方法 |
US8887013B2 (en) * | 2011-07-01 | 2014-11-11 | Avalanche Technology, Inc. | Mapping of random defects in a memory device |
US9063902B2 (en) | 2012-01-05 | 2015-06-23 | International Business Machines Corporation | Implementing enhanced hardware assisted DRAM repair using a data register for DRAM repair selectively provided in a DRAM module |
CN103247345A (zh) | 2012-02-03 | 2013-08-14 | 北京兆易创新科技股份有限公司 | 快闪存储器及快闪存储器失效存储单元检测方法 |
CN102789368B (zh) | 2012-06-21 | 2015-10-21 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其数据管理方法、*** |
US9009566B2 (en) | 2012-09-12 | 2015-04-14 | Macronix International Co., Ltd. | Outputting information of ECC corrected bits |
CN103778065B (zh) | 2012-10-25 | 2016-12-21 | 北京兆易创新科技股份有限公司 | 一种闪速存储器及其进行坏块管理的方法 |
CN103019873B (zh) | 2012-12-03 | 2016-08-10 | 华为技术有限公司 | 一种存储器故障单元的替换方法及装置、数据存储*** |
CN103269230B (zh) | 2013-05-28 | 2017-02-22 | 中国科学院自动化研究所 | 一种自适应调整纠错码的容错***及方法 |
US9406403B2 (en) * | 2013-06-25 | 2016-08-02 | Advanced Micro Devices, Inc. | Spare memory external to protected memory |
CN103309775B (zh) | 2013-07-03 | 2015-08-12 | 苏州科达科技股份有限公司 | 一种高可靠磁盘阵列的容错方法 |
US10643668B1 (en) | 2013-08-27 | 2020-05-05 | Seagate Technology Llc | Power loss data block marking |
US9372750B2 (en) | 2013-11-01 | 2016-06-21 | Qualcomm Incorporated | Method and apparatus for non-volatile RAM error re-mapping |
US9274888B2 (en) | 2013-11-15 | 2016-03-01 | Qualcomm Incorporated | Method and apparatus for multiple-bit DRAM error recovery |
US9378081B2 (en) | 2014-01-02 | 2016-06-28 | Qualcomm Incorporated | Bit remapping system |
CN103955430A (zh) | 2014-03-31 | 2014-07-30 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
TWI527037B (zh) * | 2014-04-10 | 2016-03-21 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 |
CN103955431B (zh) | 2014-04-11 | 2017-02-08 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
US9880901B2 (en) | 2014-05-15 | 2018-01-30 | Integrated Silicon Solution, Inc. | Serial bus DRAM error correction event notification |
US9904596B2 (en) | 2014-05-15 | 2018-02-27 | Integrated Silicon Solution, Inc. | Serial bus event notification in a memory device |
US9389973B2 (en) | 2014-05-30 | 2016-07-12 | Oracle International Corporation | Memory error propagation for faster error recovery |
CN104063186B (zh) | 2014-06-30 | 2016-04-06 | 成都万维图新信息技术有限公司 | 一种电子设备的数据访问方法 |
KR20160062809A (ko) | 2014-11-25 | 2016-06-03 | 삼성전자주식회사 | 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법 |
CN105788648B (zh) * | 2014-12-25 | 2020-09-18 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm坏块识别处理及纠错方法和*** |
WO2016175852A1 (en) | 2015-04-30 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Memory module error tracking |
US20160357462A1 (en) | 2015-06-08 | 2016-12-08 | Samsung Electronics Co., Ltd. | Nonvolatile Memory Modules and Data Management Methods Thereof |
KR102461453B1 (ko) | 2015-06-10 | 2022-11-02 | 삼성전자주식회사 | 스토리지 장치 |
US10235233B2 (en) | 2015-11-03 | 2019-03-19 | Hewlett Packard Enterprise Development Lp | Storage error type determination |
TWI604308B (zh) | 2015-11-18 | 2017-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
CN106776362B (zh) | 2015-11-24 | 2019-12-03 | 中芯国际集成电路制造(上海)有限公司 | 存储器的控制方法及装置 |
CN105740163A (zh) | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种Nand Flash坏块管理方法 |
US10101939B2 (en) | 2016-03-09 | 2018-10-16 | Toshiba Memory Corporation | Storage system having a host that manages physical data locations of a storage device |
CN105868122A (zh) | 2016-03-28 | 2016-08-17 | 深圳市硅格半导体股份有限公司 | 快闪存储设备的数据处理方法及装置 |
CN105893178A (zh) | 2016-03-30 | 2016-08-24 | 苏州美天网络科技有限公司 | 移动硬盘的数据备份方法 |
JP6258399B2 (ja) * | 2016-05-16 | 2018-01-10 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置 |
KR102471608B1 (ko) | 2016-06-03 | 2022-11-29 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 구동 방법 |
KR20180019791A (ko) | 2016-08-16 | 2018-02-27 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
CN106569742B (zh) | 2016-10-20 | 2019-07-23 | 华为技术有限公司 | 存储管理方法及存储设备 |
KR102487553B1 (ko) | 2016-12-07 | 2023-01-11 | 삼성전자주식회사 | 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
CN107247563A (zh) | 2017-07-06 | 2017-10-13 | 济南浪潮高新科技投资发展有限公司 | 一种nand flash芯片的块信息标识实现方法 |
TWI625735B (zh) | 2017-11-01 | 2018-06-01 | 大心電子股份有限公司 | 記憶體管理方法以及儲存控制器 |
KR102511903B1 (ko) | 2018-02-26 | 2023-03-21 | 에스케이하이닉스 주식회사 | 고정된 에러정정능력의 에러정정코드 엔진을 이용하여 재구성할 수 있는 에러정정동작을 수행하는 메모리 시스템 |
KR102658230B1 (ko) * | 2018-06-01 | 2024-04-17 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
JP6612392B1 (ja) | 2018-06-08 | 2019-11-27 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US11645134B2 (en) * | 2019-08-20 | 2023-05-09 | Micron Technology, Inc. | Apparatuses and methods for fuse error detection |
EP3936996A4 (en) | 2020-04-01 | 2022-07-06 | Changxin Memory Technologies, Inc. | READ-WRITE METHOD AND STORAGE DEVICE |
EP3964941B1 (en) | 2020-04-01 | 2024-02-28 | Changxin Memory Technologies, Inc. | Read-write method and memory device |
-
2020
- 2020-04-01 CN CN202010249989.5A patent/CN113495672B/zh active Active
- 2020-11-20 WO PCT/CN2020/130389 patent/WO2021196661A1/zh unknown
- 2020-11-20 EP EP20929597.1A patent/EP4006710A4/en active Pending
-
2021
- 2021-06-30 US US17/363,013 patent/US11869615B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
CN102063940A (zh) * | 2009-11-16 | 2011-05-18 | 索尼公司 | 非易失存储器和存储*** |
CN102203740A (zh) * | 2011-05-27 | 2011-09-28 | 华为技术有限公司 | 数据处理方法、装置及*** |
CN103839591A (zh) * | 2014-03-05 | 2014-06-04 | 福州瑞芯微电子有限公司 | 存储器自动检错和容错电路及控制方法 |
CN110673980A (zh) * | 2018-07-02 | 2020-01-10 | 三星电子株式会社 | 存储装置以及多芯片*** |
Also Published As
Publication number | Publication date |
---|---|
US11869615B2 (en) | 2024-01-09 |
EP4006710A4 (en) | 2022-11-09 |
US20210327531A1 (en) | 2021-10-21 |
WO2021196661A1 (zh) | 2021-10-07 |
CN113495672A (zh) | 2021-10-12 |
EP4006710A1 (en) | 2022-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6990622B2 (en) | Method for error correction decoding in an MRAM device (historical erasures) | |
EP3964941B1 (en) | Read-write method and memory device | |
US20120110419A1 (en) | Data Structure for Flash Memory and Data Reading/Writing Method Thereof | |
CN111522684A (zh) | 一种同时纠正相变存储器软硬错误的方法及装置 | |
CN113495675B (zh) | 读写方法及存储器装置 | |
CN113495672B (zh) | 读写方法及存储器装置 | |
CN113495671B (zh) | 读写方法及存储器装置 | |
CN113495673B (zh) | 读写方法及存储器装置 | |
CN113495677B (zh) | 读写方法及存储器装置 | |
CN113495674B (zh) | 读写方法及存储器装置 | |
CN113495670B (zh) | 读写方法及存储器装置 | |
CN113495676B (zh) | 读写方法及存储器装置 | |
US11899971B2 (en) | Method for reading and writing and memory device | |
EP3985494B1 (en) | Read-write method and memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |