CN113495676B - 读写方法及存储器装置 - Google Patents
读写方法及存储器装置 Download PDFInfo
- Publication number
- CN113495676B CN113495676B CN202010250063.8A CN202010250063A CN113495676B CN 113495676 B CN113495676 B CN 113495676B CN 202010250063 A CN202010250063 A CN 202010250063A CN 113495676 B CN113495676 B CN 113495676B
- Authority
- CN
- China
- Prior art keywords
- address information
- read
- preset
- storage
- data
- 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
- 238000010586 diagram Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000002035 prolonged effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 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
- 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/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
-
- 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (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,判断所述待读出数据是否发生错误。
若所述待读出数据发生错误,说明该存储单元失效,将所述读命令所指向的地址信息存储在预设存储空间10的一存储位ADD中,所述预设存储空间设有若干所述存储位ADD,每一所述存储位ADD均关联至一备用存储单元。即采用预设存储空间存储失效的存储单元对应的地址信息,并采用备用存储单元替换失效的存储单元,以提高存储器装置的可靠性。
例如,若从读命令所指向的地址信息A0对应的存储单元中读取的待读出数据发生错误,则将所述读命令所指向的地址信息A0存储在预设存储空间10的存储位ADD中,并采用所述存储位ADD关联的备用存储单元替换所述地址信息A0对应的存储单元;若从读命令所指向的地址信息A4对应的存储单元中读取的待读出数据发生错误,则将所述读命令所指向的地址信息A4存储在预设存储空间10的存储位ADD中,并采用所述存储位ADD关联的备用存储单元替换所述地址信息A4对应的存储单元。
所述预设存储空间10可为静态随机存储器(SRAM)、动态随机存储器(DRAM)、磁存储器(MRAM)、寄存器、锁存器或触发器等本领域技术人员熟知的具备存储功能的结构。
所述预设存储空间10可包括多个存储位ADD,例如100个存储位、150个存储位、200个存储位等,所述存储位ADD的数量可根据实际需求而设置。在将所述读命令所指向的地址信息存储在预设存储空间的一存储位ADD中的步骤中,所述读命令所指向的地址信息可按顺序或者随机存储在所述预设存储空间10的存储位ADD中,每一个所述存储位ADD关联至一备用存储单元。
例如,在本具体实施方式中,数据发生错误的存储单元对应的地址信息为A0、A4、A10、A18、A25、……An,则在所述预设存储空间10中,所述地址信息按顺序依次存储在第一个存储位、第二个存储位、第三个存储位……。每一个所述存储位ADD关联至一备用存储单元。再例如,在本发明另一具体实施方式中,数据发生错误的存储单元对应的地址信息为A0、A4、A10、A18、A25、……An,则在所述预设存储空间10中,所述地址信息可随机存储在所述预设存储空间10的任何一个存储位中,例如,A0第五个存储位、A4存储在第二个存储位、A10存储在第六个存储位等。每一个所述存储位ADD关联至一备用存储单元。
可以理解的是,不论是所述读命令所指向的地址信息按顺序存储在所述预设存储空间10的存储位ADD中,或者所述读命令所指向的地址信息随机存储在所述预设存储空间10的存储位ADD中,不同的存储位ADD均关联至不同的备用存储单元,以保证所述地址信息关联的备用存储单元不会重复,进而避免数据存储发生错误。
进一步,将所述存储位关联至一备用存储单元的方法由很多种,例如,通过电路设计将所述存储位直接与备用存储单元关联,或者通过能够标识备用存储单元的识别码将所述存储位与备用存储单元关联。本领域技术人员还可采用其他常规方法,本发明对此不进行限定。
进一步,在所述待读出数据发生错误的情况下,若对所述待读出数据进行修正,则将修正后的数据存储在备用存储单元中;若未对所述待读出数据进行修正,则将所述待读出数据存储在备用存储单元中。例如,在本具体实施方式中,如图1所示,未对所述待读出数据进行修正,则将所述待读出数据存储在备用存储单元中。在本发明其他具体实施方式中,若对所述待读出数据进行修正,则将修正后的数据存储在备用存储单元中。
若所述待读出数据没有发生错误,说明该存储单元有效,则不将所述读命令所指向的地址信息存储在所述预设存储空间10的存储位ADD中。
例如,若从读命令所指向的地址信息A1对应的存储单元中读取的待读出数据没有发生错误,则不将所述读命令所指向的地址信息A1存储在预设存储空间10的存储位ADD中;若从读命令所指向的地址信息A2对应的存储单元中读取的待读出数据没有发生错误,则不将所述读命令所指向的地址信息A2存储在预设存储空间10的存储位ADD中。
本发明读写方法还包括如下步骤:步骤S14,将存储在预设存储空间10内的地址信息按预设规则备份在非易失性存储单元中。在本具体实施方式中,所述步骤S14为将存储在预设存储空间10的存储位ADD的地址信息按预设规则备份在非易失性存储单元中。
其中,所述预设规则可为预设周期或者预设动作。
所述预设周期可为存储器装置上电后的预设时间周期,例如存储器装置上电后以10分钟作为一个周期将存储在预设存储空间10内的地址信息及其对应的识别码备份在非易失性存储单元中,即存储器装置上电后每隔十分钟将存储在预设存储空间10内的地址信息及其对应的识别码备份在非易失性存储单元中;或者以一个小时作为一个周期将存储在预设存储空间10内的地址信息及其对应的识别码备份在非易失性存储单元中,即存储器装置上电后每隔一个小时将存储在预设存储空间10内的地址信息及其对应的识别码备份在非易失性存储单元中。
所述预设动作可为所述存储器装置接收到的操作。例如,存储器装置接收到的关闭存储器装置的操作、重启存储器装置的操作、用户或者系统设定的包含备份所述地址信息及所述标记指令的触发操作等。其中,所述触发操作可以为用户点击某一触发按钮的操作、或者关闭某一触发按钮的操作等任何发出触发指令的操作,本发明对此不做任何限定。
本发明读写方法在非易失性存储单元中备份存储在预设存储空间10内的地址信息,若存储器装置掉电,所述地址信息依然会记录在非易失性存储单元中,不会被清除,可作为后续读写操作的依据。
进一步,本发明读写方法还包括如下步骤:步骤S15,在所述储存器装置开启(即存储器装置再次上电)后,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间10中。载入所述预设存储空间10中的地址信息作为后续读写操作的初始参考,从而可避免存储器装置再次上电后对掉电前已经在预设存储空间10存储过的地址信息进行重新存储的操作,避免对失效的存储单元与备用存储单元进行重新关联,大大提高了存储器装置的运行速度。在本具体实施方式中,在所述储存器装置开启后,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间10中,所述地址信息存储在所述预设存储空间10的存储位ADD中。
进一步,本发明还提供一种判断所述待读出数据是否发生错误的方法。具体地说,在从所述读命令所指向的地址信息对应的存储单元中读取待读出数据的步骤还包括:从所述读命令所指向的地址信息对应的存储单元中读取与所述待读出数据对应的第一ECC编码。例如,从所述读命令所指向的地址信息对应的存储单元中读取的数据的位数为64b+8b,其中64b为所述待读出数据位数,8b为所述第一ECC编码的位数。根据相应的算法,对所述第一ECC编码进行解码,可还原可能发生错误的数据,所述算法为现有技术,不再赘述。因此,可依据对所述第一ECC编码进行解码判断所述待读出数据是否发生错误。
本发明列举一种依据对所述第一ECC编码进行解码判断所述待读出数据是否发生错误的方法:将待读出数据重新编码,形成一个新的ECC编码,将所述新的ECC编码与所述第一ECC编码进行每位异或比对,若每位均一致,说明所述待读出数据没有发生错误,所述存储单元有效,则不将所述存储单元对应的地址信息存储在预设存储空间中;若所述新的ECC编码与所述第一ECC编码存在不一致的情况,说明待读出数据发生错误,所述存储单元失效,则将所存储单元对应的地址信息存储在预设存储空间的存储位中。
其中,若所述待读出数据没有发生错误,则将所述待读出数据作为所述存储器装置的输出数据,若所述待读出数据发生错误,则可利用所述第一ECC编码进行修正,将修正后的数据作为所述存储器装置的输出数据,并将修正后的数据存储在对应的备用存储单元中。
本发明读写方法利用预设存储空间10将数据发生错误的存储单元对应的地址信息与数据没有发生错误的存储单元对应的地址信息实时区分,并采用备用存储单元替换。在后续读写操作中,可根据读命令或者写命令所指向的地址信息是否位于预设存储空间10中而选择对所述地址信息对应的存储单元执行读操作或者写操作还是对备用存储单元执行读操作或者写操作,避免数据错误或者数据丢失,大大提高了存储器装置的可靠性及延长了存储器装置的寿命。
同时,本发明读写方法还将存储在预设存储空间内的地址信息按预设规则备份在非易失性存储单元中,在存储器装置再次上电后,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间中。载入所述预设存储空间中的地址信息作为后续读写操作的初始参考,从而可避免存储器装置再次上电后对掉电前已经在预设存储空间存储过的地址信息进行重新存储的操作,避免对失效的存储单元与备用存储单元进行重新关联,大大提高了存储器装置的运行速度。
本发明读写方法还提供第二具体实施方式。在所述对存储器装置施加读命令之后,在所述从所述读命令所指向的地址信息对应的存储单元中读取待读出数据之前,还包括比较步骤。具体地说,请参阅图2,其为本发明读写方法的第二具体实施方式的流程示意图。
步骤S20,对存储器装置施加读命令,所述读命令指向地址信息。
步骤S21,将所述读命令所指向的地址信息与存储在所述预设存储空间20内的地址信息进行比较。即判断所述读命令所指向的地址信息与存储在所述预设存储空间20的存储位内的地址信息是否相同。
若所述读命令所指向的地址信息与存储在所述预设存储空间20内的地址信息不相同,说明所述读命令所指向的地址信息并未存储在所述预设存储空间20的存储位ADD中,则所述读命令所指向的地址信息对应的存储单元为有效的存储单元,对所述读命令所指向的地址信息对应的存储单元执行读操作,即执行步骤S22。
例如,所述读命令所指向的地址信息为A1,将所述读命令所指向的地址信息为A1与预设存储空间20内存储的地址信息进行比较,若所述读命令所指向的地址信息为A1与预设存储空间20中的任何存储位ADD存储的地址信息均不相同,说明所述读命令所指向的地址信息A1并未存储在所述预设存储空间20的存储位ADD中,则对所述读命令所指向的地址信息A1对应的存储单元执行读操作,即执行步骤S22,则在步骤S22中,所述读命令所指向的地址信息为A1。
若所述读命令所指向的地址信息与存储在所述预设存储空间20内的地址信息相同,说明所述读命令所指向的地址信息存储在所述预设存储空间20的存储位ADD中,则停止对所述写命令所指向的地址信息对应的存储单元执行读操作,并执行步骤S23。例如,所述读命令所指向的地址信息A4与所述预设存储空间20中的某一存储位存储ADD的地址信息相同,即所述读命令所指向的地址信息A4存储在预设存储空间20的存储位ADD中,则停止对所述写命令所指向的地址信息对应的存储单元执行读操作,并执行步骤S23。
步骤S22,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据。例如,从所述读命令所指向的地址信息A1对应的存储单元中读取待读出数据。该步骤与第一具体实施方式中的步骤S11相同。在步骤S22之后执行步骤S24。
步骤S23,对存储在预设存储空间20内的所述地址信息所在的存储位ADD对应的备用存储单元执行读操作。例如,所述读命令所指向的地址信息A4与存储在所述预设存储空间20内的地址信息相同,即所述读命令所指向的地址信息A4存储在预设存储空间20的存储位ADD中,则停止对所述写命令所指向的地址信息对应的存储单元执行读操作,并对存储在预设存储空间10内的所述地址信息A4所在的存储位ADD对应的备用存储单元执行读操作。
在步骤S23之后执行步骤S25。
步骤S24,判断所述待读出数据是否发生错误。该步骤与第一具体实施方式中的步骤S12相同。若所述待读出数据发生错误,说明该存储单元失效,则将所述读命令所指向的地址信息存储在预设存储空间20的存储位ADD中;若所述待读出数据未发生错误,说明该存储单元有效,则不将所述读命令所指向的地址信息存储在所述预设存储空间20的存储位ADD中。
进一步,在所述待读出数据发生错误的情况下,若对所述待读出数据进行修正,则将修正后的数据存储在备用存储单元中;若未对所述待读出数据进行修正,则将所述待读出数据存储在备用存储单元中。例如,在本具体实施方式中,如图2所示,未对所述待读出数据进行修正,则将所述待读出数据存储在备用存储单元中。在本发明其他具体实施方式中,若对所述待读出数据进行修正,则将修正后的数据存储在备用存储单元中。步骤S25,输出数据。在该步骤中,输出的数据可为备用存储单元存储的数据,可为存储单元中被修正或没有被修正的待读取数据。
需要说明的是,在另一具体实施方式中,在步骤S23之后也可继续判断从对应备用存储单元中读出的数据是否发生错误,如果读出的数据未发生错误则输出数据;如果读出的数据发生错误,改变所述读命令所指向的地址信息在所述预设存储空间的存储位置,即将所述读命令所指向的地址信息存储在另一存储位中,并可将待读出数据或修正后的待读出数据存入该另一存储位关联的备用存储单元中。
步骤S26,将存储在预设存储空间20内的地址信息按预设规则备份在非易失性存储单元中。该步骤与步骤S14相同,所述预设规则可为预设周期或者预设动作。
步骤S27,在所述存储器装置开启后,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间20中。该步骤与步骤S15相同。载入所述预设存储空间20中的地址信息作为后续读写操作的初始参考,从而可避免存储器装置再次上电后对掉电前已经在预设存储空间20存储过的地址信息进行重新存储的操作,避免对失效的存储单元与备用存储单元进行重新关联,大大提高了存储器装置的运行速度。在本具体实施方式中,在所述存储器装置开启后,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间20中,所述地址信息存储在所述预设存储空间20的存储位ADD中。
在所述第二具体实施方式中,在对所述存储器装置施加读命令后,将所述读命令所指向的地址信息与存储在所述预设存储空间20内的地址信息进行比较,以判断所述读命令所指向的地址信息是否位于预设存储空间20的存储位ADD中,以可选择性地对所述读命令所指向的地址信息对应的存储单元或者备用存储单元执行读命令,从而可提高存储器装置的可靠性。另外,在读出待读出数据后,还可根据所述待读出数据是否发生错误而选择是否将该存储单元的地址信息存储在预设存储空间20的存储位ADD中,以利用预设存储空间将数据发生错误的存储单元的地址信息与数据未发生错误的存储单元的地址信息实时区分,并在所述待读出数据发生错误的情况下,采用备用存储单元替换存储单元,并将修正后的数据存储在备用存储单元中,以为后续的读写操作提供基础,进一步提高了存储器装置的可靠性及寿命。
本发明读写方法还提供第三具体实施方式。该第三具体实施方式为对存储器装置的写操作。具体地说,请参阅图3,其为本发明读写方法的第三具体实施方式的流程示意图。
步骤S30,对所述存储器装置施加写命令,所述写命令指向地址信息。例如,对所述存储器装置施加写命令,所述写命令指向地址信息A0。
步骤S31,将所述写命令所指向的地址信息与存储在所述预设存储空间30内的地址信息进行比较,即判断所述写命令所指向的地址信息是否存储在预设存储空间30的存储位ADD内。
若所述写命令所指向的地址信息与存储在所述预设存储空间30内的地址信息不相同,即所述写命令所指向的地址信息并未存储在所述预设存储空间30的存储位ADD中,则对所述写命令所指向的地址信息对应的存储单元执行写操作;若所述写命令所指向的地址信息与存储在所述预设存储空间30内的地址信息相同,即所述写命令所指向的地址信息存储在所述预设存储空间30的存储位ADD中,则停止对所述写命令所指向的地址信息对应的存储单元执行写操作,并对存储在预设存储空间30内的所述地址信息所在的存储位ADD对应的备用存储单元执行写操作。
例如,所述写命令所指向的地址信息为地址信息A1,将所述地址信息A1与存储在所述预设存储空间30内的地址信息进行比较。所述地址信息A1与预设存储空间30中的任何一个存储位ADD存储的地址信息均不相同,说明所述写命令所指向的地址信息A1并未存储在所述预设存储空间30的存储位ADD中,则对所述写命令所指向的地址信息A1对应的存储单元执行写操作。
再例如,所述写命令所指向的地址信息为地址信息A4,将所述地址信息A4与存储在所述预设存储空间30内的地址信息进行比较。所述地址信息A4与预设存储空间30中的一个存储位ADD存储的地址信息相同,说明所述写命令所指向的地址信息A4存储在所述预设存储空间30的存储位ADD中,则停止对所述写命令所指向的地址信息A4对应的存储单元执行写操作,并对存储在预设存储空间30内的所述地址信息A4所在的存储位ADD对应的备用存储单元执行写操作。
步骤S32,将存储在预设存储空间30内的地址信息按预设规则备份在非易失性存储单元中。该步骤与步骤S14相同,所述预设规则可为预设周期或者预设动作。
步骤S33,在所述存储器装置开启后,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间30中。该步骤与步骤S15相同。载入所述预设存储空间30中的地址信息作为后续读写操作的初始参考,从而可避免存储器装置再次上电后对掉电前已经在预设存储空间20存储过的地址信息进行重新存储的操作,避免对失效的存储单元与备用存储单元进行重新关联,大大提高了存储器装置的运行速度。在本具体实施方式中,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间30中,所述地址信息存储在所述预设存储空间30的存储位ADD中。
进一步,在本第三具体实施方式中,所述读写方法还包括如下步骤:形成与所述写操作中待写入数据对应的第二ECC编码,并将其与所述待写入数据一并写入所述写命令所指向的地址信息对应的存储单元中。当读出该存储单元中的数据时,同时读取数据和第二ECC编码,解码所述第二ECC编码以还原可能发生错误的数据。
在本第三具体实施方式中,本发明读写方法在对存储器装置施加写命令之后将所述写命令所指向的地址与存储在所述预设存储空间30内的地址信息进行比较,以作为对存储单元执行写操作或者备用存储单元执行写操作的依据,进而可避免对失效的存储单元执行写操作,从而提高存储器装置的可靠性,并延长存储器装置的寿命。
本发明还提供一种能够实现上述读写方法的存储器装置。所述存储器装置包括但不限于DRAM、SRAM等易失性存储器,以及NAND、NOR、FeRAM、RRAM、MRAM、PCRAM等非易失存储器。
请参阅图4,其为本发明存储器装置的第一具体实施方式的框架示意图。所述存储器装置包括命令接收单元40、存储单元41、预设存储空间42、执行单元43、备用存储单元44及非易失性存储单元45。
所述命令接收单元40用于接收施加在存储器装置的读命令、写命令或者读/写命令所指向的地址信息。
所述存储单元41与所述读命令或写命令对应的地址信息对应,并用于存储数据。在本发明中,所述存储单元41可为存储基本单元(cell)、存储段(segment)、存储页(pages)、存储块(blocks)等本领域技术人员熟知的存储单位,本发明对此不进行限制。
所述预设存储空间42设有若干个存储位,用于存储数据发生错误的存储单元对应的地址信息,每一所述存储位均关联至一备用存储单元。在本发明其他具体实施方式中,所述预设存储空间42还用于存储识别码,所述识别码用于标识备用存储单元。所述预设存储空间42可为静态随机存储器(SRAM)、动态随机存储器(DRAM)、磁存储器(MRAM)、寄存器、锁存器或触发器等本领域技术人员熟知的具备存储功能的结构。
所述执行单元43用于控制对所述存储单元41执行读操作或写操作。所述执行单元43还与所述预设存储空间42连接,用于根据所述预设存储空间42的记录选择性地对所述地址信息对应的存储单元41或者备用存储单元44执行读操作或者写操作。
具体地说,若所述读命令或者写命令所指向的地址信息与预设存储空间42中任何一个存储位存储的地址信息均不相同,则所述执行单元43对所述地址信息对应的存储单元执行读操作或写操作,若所述读命令或写命令所指向的地址信息与预设存储空间42中某一个存储位存储的地址信息相同,则所述执行单元43停止对所述地址信息对应的存储单元执行读操作或写操作,并对所述存储位关联的备用存储单元执行读操作或者写操作。
所述备用存储单元44与存储在预设存储空间中的地址信息对应,用于存储数据。在本发明中,所述备用存储单元44可为存储基本单元(cell)、存储段(segment)、存储页(pages)、存储块(blocks)等本领域技术人员熟知的存储单位,本发明对此不进行限制。
所述非易失性存储单元45用于按预设规则备份所述预设存储空间内的地址信息。
所述非易失性存储单元45可以为NAND、NOR、FeRAM、RRAM、MRAM、PCRAM等非易失性存储结构。
所述非易失性存储单元45与所述执行单元43连接,所述执行单元43控制所述预设存储空间42内的地址信息按预设规则备份在所述非易失性存储单元45中。其中,所述预设规则可为预设周期或者预设动作。进一步,当所述预设动作为用户输入的触发动作时,所述命令接收单元40能够接收触发动作,所述执行单元43能够根据所述触发动作控制所述预设存储空间42内的地址信息备份在所述非易失性存储单元45中。
进一步,所述执行单元43还可控制备份在所述非易失性存储单元45中的地址信息载入所述预设存储空间42中。例如,在所述存储器装置开启后,所述执行单元43控制备份在所述非易失性存储单元45中的地址信息((或者地址信息及其对应的识别码))载入所述预设存储空间42中,以作为后续读写操作的依据,从而可避免存储器装置再次上电后对已经在预设存储空间中存储过的地址信息重新进行存储在预设存储空间中的操作,避免对失效的存储单元与备用存储单元进行重新关联,大大提高了存储器装置的运行速度。
本发明存储器装置还提供一第二具体实施方式。请参阅图5,其为本发明存储器装置的第二具体实施方式的框架示意图,所述第二具体实施方式相较于第一具体实施方式的区别在于,所述存储器装置还包括载入单元52。
所述载入单元52与所述预设存储空间42及所述非易失性存储单元45连接,用于将备份在所述非易失性存储单元45中的地址信息载入所述预设存储空间42。进一步,所述载入单元52还与所述执行单元43连接,所述执行单元43控制所述载入单元52将备份在所述非易失性存储单元45中的地址信息载入所述预设存储空间42中。例如,在所述存储器装置开启后,所述执行单元43控制所述载入单元52将备份在所述非易失性存储单元44中的地址信息载入所述预设存储空间42中,所述地址信息存储在所述预设存储空间的存储位中,以作为后续读写操作的依据,从而可避免存储器装置再次上电后对已经在预设存储空间中存储过的地址信息重新进行存储在预设存储空间中的操作,避免对失效的存储单元与备用存储单元进行重新关联,大大提高了存储器装置的运行速度。
本发明存储器装置还提供第三具体实施方式。请参阅图6,其为本发明存储器装置的第三具体实施方式的框架示意图,所述第三具体实施方式相较于第一具体实施方式的区别在于,所述存储器装置还包括ECC编码解码单元46。
所述ECC编码解码单元46与执行单元43、存储单元41及预设存储空间42连接。
所述ECC编码解码单元46用于解码读操作中与待读出数据对应的第一ECC编码,以还原有可能发生错误的数据,并可根据所述ECC编码解码单元44是否对数据进行还原来来确定是否将所述地址信息存储在所述预设存储空间的存储位中。所述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的解码可判断出所述读操作读取的待读出数据发生了错误,则将该存储单元的地址信息存储在预设存储空间42中的存储位。
在第三具体实施方式中,所述执行单元43不仅与ECC编码解码单元46连接,还与存储单元41连接,而在本发明第四具体实施方式中,请参阅图7,其为所述存储器装置的第四具体实施方式的框架示意图,所述执行单元43与ECC编码解码单元46连接,所述ECC编码解码单元46再与存储单元41连接。可以理解的是,可根据不同的需求选择不同的连接关系。
本发明存储器装置还提供第五具体实施方式。请参阅图8,其为所述存储器装置的第五具体实施方式的框架示意图,相较于存储器装置的第一具体实施方式,所述存储器装置包括所述存储器装置还包括比较单元49。所述比较单元49与所述命令接收单元40及所述预设存储空间42连接,用于将所述读命令或写命令所指向的地址信息与所述预设存储空间42内的地址信息进行比较。
所述执行单元43还与所述比较单元49连接。所述执行单元43能够根据所述比较单元49输出的结果对所述读命令或者写命令指向的地址信息对应的存储单元执行读操作或者写操作;或停止对所述读命令或者写命令指向的地址信息对应的存储单元执行读操作或写操作,而对与存储所述地址信息的存储位关联的备用存储单元执行读操作或者写操作。
例如,所述比较单元49将所述读命令或写命令所指向的地址信息与所述预设存储空间42内的地址信息进行比较,若所述读命令或写命令所指向的地址信息与所述预设存储空间42内的任一存储位存储的地址信息均不相同,则所述比较单元49输出能够标识不相同的信号至所述执行单元43,所述执行单元43根据该信号对所述读命令或者写命令指向的地址信息对应的存储单元执行读操作或者写操作;若所述读命令或写命令所指向的地址信息与所述预设存储空间42内的某一存储位存储的地址信息相同,则所述比较单元49输出能够标识相同的信号至所述执行单元43,所述执行单元43根据该信号停止对所述读命令或者写命令指向的地址信息对应的存储单元执行读操作或者写操作,并对所述存储位对应的备用存储单元执行读操作或者写操作。
本发明存储器装置还提供第六具体实施方式。请参阅图9,其为所述存储器装置的第六具体实施方式的框架示意图,相较于存储器装置的第三具体实施方式,所述存储器装置包括逻辑层100及若干存储层200(图中仅示出一个存储层情形),所述存储层200可为DRAM芯片,所述逻辑层100可以为控制芯片或中介层等具备逻辑电路的层。所述若干存储层200可以垂直堆叠于所述逻辑层100之上或之下,但本发明不限定于此,也可用其他封装方式将其集成在一起。
其中,所述命令接收单元40、所述预设存储空间42、所述执行单元43及所述ECC编码解码单元46均可设置在所述逻辑层100,而所述存储单元41、所述备用存储单元44及所述非易失性存储单元45设置在所述存储层200。在本发明另一具体实施方式中,所述预设存储空间42、所述ECC编码解码单元46也可设置在所述存储层200,所述备用存储单元44及所述非易失性存储单元45可设置在所述逻辑层100。
在本具体实施方式中,所述逻辑层100具有至少一第一数据传输端口47,所述存储层200具有至少一第二数据传输端口48。所述逻辑层100与所述存储层200之间通过所述第一数据传输端口47及所述第二数据传输端口48传输指令及数据。
进一步,在第六具体实施方式中,所述执行单元43不仅与ECC编码解码单元46连接,还通过所述第一数据传输端口47及所述第二数据传输端口48与存储单元41连接,而在本发明第七具体实施方式中,所述执行单元43与ECC编码解码单元46连接,所述ECC编码解码单元46再通过所述第一数据传输端口47及所述第二数据传输端口48与存储单元41连接。可以理解的是,可根据不同的需求选择不同的连接关系。
需要说明的是,虽然以上所述附图中给出了具体连接关系的具体实施方式,但本发明对此具体连接方式不做特殊限定,可以理解的是,本领域技术人员可根据不同的需求选择不同的连接关系。
本发明存储器装置能够在用户使用的过程中利用预设存储空间将失效的存储单元的地址信息与有效的存储单元的地址信息区分开,并采用备用存储单元替换失效的存储单元,进而可选择地对存储单元或者备用存储单元进行读写操作,大大提高了存储器装置的可靠性及寿命。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种读写方法,其特征在于,对存储器装置施加读命令,所述读命令指向地址信息,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据,若所述待读出数据发生错误,将所述读命令所指向的地址信息存储在预设存储空间的一存储位中,其中所述预设存储空间设有若干所述存储位,每一所述存储位均关联至一备用存储单元,并将预设存储空间内的地址信息按预设规则备份在非易失性存储单元中;
所述读写方法还包括如下步骤:在所述存储器装置开启后,将备份在所述非易失性存储单元的地址信息载入所述预设存储空间中;
在所述对存储器装置施加读命令之后,在所述从所述读命令所指向的地址信息对应的存储单元中读取待读出数据之前,还包括:将所述读命令所指向的地址信息与存储在所述预设存储空间内的地址信息进行比较,若所述读命令所指向的地址信息与存储在所述预设存储空间内的地址信息不相同,则对所述读命令所指向的地址信息对应的存储单元执行读操作。
2.根据权利要求1所述的读写方法,其特征在于,所述预设规则为预设周期或者预设动作。
3.根据权利要求1所述的读写方法,其特征在于,若所述待读出数据没有发生错误,则不将所述读命令所指向的地址信息存储在所述预设存储空间的存储位中。
4.根据权利要求1所述的读写方法,其特征在于,从所述读命令所指向的地址信息对应的存储单元中读取待读出数据的步骤还包括:从所述读命令所指向的地址信息对应的存储单元中读取与所述待读出数据对应的第一ECC编码;
判断所述待读出数据是否发生错误的方法包括:对所述第一ECC编码进行解码,以判断所述待读出数据是否发生错误。
5.根据权利要求1所述的读写方法,其特征在于,对所述存储器装置施加写命令,并将所述写命令所指向的地址信息与存储在所述预设存储空间内的地址信息进行比较,若所述写命令所指向的地址信息与存储在所述预设存储空间内的地址信息不相同,则对所述写命令所指向的地址信息对应的存储单元执行写操作,若所述写命令所指向的地址信息与存储在所述预设存储空间内的地址信息相同,则停止对所述写命令所指向的地址信息对应的存储单元执行写操作,并对存储在预设存储空间内的所述地址信息所在的存储位对应的备用存储单元执行写操作。
6.根据权利要求5所述的读写方法,其特征在于,对所述写命令所指向的地址信息对应的存储单元执行写操作的步骤进一步包括:
形成与所述写操作中待写入数据对应的第二ECC编码,并将其与所述待写入数据一并写入所述写命令所指向的地址信息对应的存储单元中。
7.根据权利要求1所述的读写方法,其特征在于,若所述读命令所指向的地址信息与存储在所述预设存储空间内的地址信息相同,则停止对所述读命令所指向的地址信息对应的存储单元执行读操作,并对存储在所述预设存储空间中的所述地址信息所在的存储位对应的备用存储单元执行读操作。
8.根据权利要求1所述的读写方法,其特征在于,在所述待读出数据发生错误的情况下,若对所述待读出数据进行修正,则将修正后的数据存储在备用存储单元中;若未对所述待读出数据进行修正,则将所述待读出数据存储在备用存储单元中。
9.一种存储器装置,其特征在于,包括:
命令接收单元,用于接收读命令或写命令;
存储单元,与所述读命令或写命令对应的地址信息对应;
备用存储单元;
预设存储空间,设有若干个存储位,用于存储数据发生错误的存储单元对应的地址信息,每一所述存储位均关联至一备用存储单元;
执行单元,用于对所述存储单元或所述备用存储单元执行读操作或写操作;
非易失性存储单元,用于按预设规则备份存储在所述预设存储空间中的地址信息;
比较单元,所述比较单元与所述命令接收单元及所述预设存储空间连接,用于将所述读命令或写命令所指向的地址信息与所述预设存储空间内的地址信息进行比较;
所述执行单元还与所述比较单元连接,用于根据所述比较单元输出的结果对所述读命令或者写命令指向的地址信息对应的存储单元执行读操作或者写操作,或停止对所述读命令或者写命令指向的地址信息对应的存储单元执行读操作或写操作,并对存储在所述预设存储空间内的地址信息所在的存储位对应的备用存储单元执行读操作或写操作。
10.根据权利要求9所述的存储器装置,其特征在于,所述存储器装置还包括ECC编码解码单元,用于解码读操作中与待读出数据对应的第一ECC编码及形成写操作中与待写入数据对应的第二ECC编码。
11.根据权利要求9所述的存储器装置,其特征在于,所述存储器装置还包括载入单元,所述载入单元与所述预设存储空间及所述非易失性存储单元连接,用于将备份在所述非易失性存储单元中的地址信息载入所述预设存储空间。
12.根据权利要求9所述的存储器装置,其特征在于,所述存储器装置包括逻辑层及至少一存储层,所述命令接收单元、所述预设存储空间及所述执行单元设置在所述逻辑层,所述存储单元设置在所述存储层,所述备用存储单元设置在所述存储层或所述逻辑层,所述非易失性存储单元设置在所述存储层或所述逻辑层。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250063.8A CN113495676B (zh) | 2020-04-01 | 2020-04-01 | 读写方法及存储器装置 |
PCT/CN2020/127978 WO2021196623A1 (zh) | 2020-04-01 | 2020-11-11 | 读写方法及存储器装置 |
EP20928575.8A EP3964941B1 (en) | 2020-04-01 | 2020-11-11 | Read-write method and memory device |
US17/342,492 US11527301B2 (en) | 2020-04-01 | 2021-06-08 | Method for reading and writing and memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250063.8A CN113495676B (zh) | 2020-04-01 | 2020-04-01 | 读写方法及存储器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113495676A CN113495676A (zh) | 2021-10-12 |
CN113495676B true CN113495676B (zh) | 2023-09-29 |
Family
ID=77927595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010250063.8A Active CN113495676B (zh) | 2020-04-01 | 2020-04-01 | 读写方法及存储器装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113495676B (zh) |
WO (1) | WO2021196623A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007103009A (ja) * | 2002-04-15 | 2007-04-19 | Fujitsu Ltd | 半導体メモリ |
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
CN102053818A (zh) * | 2009-11-05 | 2011-05-11 | 无锡江南计算技术研究所 | 分支预测方法及装置、处理器 |
JP6275427B2 (ja) * | 2013-09-06 | 2018-02-07 | 株式会社東芝 | メモリ制御回路およびキャッシュメモリ |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI420298B (zh) * | 2010-12-22 | 2013-12-21 | Silicon Motion Inc | 快閃記憶裝置及其資料存取方法 |
CN103778065B (zh) * | 2012-10-25 | 2016-12-21 | 北京兆易创新科技股份有限公司 | 一种闪速存储器及其进行坏块管理的方法 |
US8923089B2 (en) * | 2012-12-21 | 2014-12-30 | Lsi Corporation | Single-port read multiple-port write storage device using single-port memory cells |
KR102089665B1 (ko) * | 2012-12-28 | 2020-04-14 | 삼성전자주식회사 | 메모리 모듈 및 메모리 시스템 |
US20150205664A1 (en) * | 2014-01-17 | 2015-07-23 | Fusion-Io, Inc. | Determining a configuration parameter using a soft read command |
CN103955431B (zh) * | 2014-04-11 | 2017-02-08 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
CN106776362B (zh) * | 2015-11-24 | 2019-12-03 | 中芯国际集成电路制造(上海)有限公司 | 存储器的控制方法及装置 |
CN106569742B (zh) * | 2016-10-20 | 2019-07-23 | 华为技术有限公司 | 存储管理方法及存储设备 |
-
2020
- 2020-04-01 CN CN202010250063.8A patent/CN113495676B/zh active Active
- 2020-11-11 WO PCT/CN2020/127978 patent/WO2021196623A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007103009A (ja) * | 2002-04-15 | 2007-04-19 | Fujitsu Ltd | 半導体メモリ |
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
CN102053818A (zh) * | 2009-11-05 | 2011-05-11 | 无锡江南计算技术研究所 | 分支预测方法及装置、处理器 |
JP6275427B2 (ja) * | 2013-09-06 | 2018-02-07 | 株式会社東芝 | メモリ制御回路およびキャッシュメモリ |
Also Published As
Publication number | Publication date |
---|---|
WO2021196623A1 (zh) | 2021-10-07 |
CN113495676A (zh) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3964941B1 (en) | Read-write method and memory device | |
CN102023815B (zh) | 在固态存储器中实现raid | |
US20090125790A1 (en) | Method and Apparatus of Automatically Selecting Error Correction Algorithms by a NAND Flash Controller | |
US11914479B2 (en) | Method for reading and writing and memory device | |
US9042191B2 (en) | Self-repairing memory | |
US9262284B2 (en) | Single channel memory mirror | |
US20180189155A1 (en) | Conditional journal for storage class memory devices | |
CN113495673B (zh) | 读写方法及存储器装置 | |
CN113495675B (zh) | 读写方法及存储器装置 | |
CN113495676B (zh) | 读写方法及存储器装置 | |
CN113495677B (zh) | 读写方法及存储器装置 | |
CN113495670B (zh) | 读写方法及存储器装置 | |
CN113495674B (zh) | 读写方法及存储器装置 | |
US20180181467A1 (en) | Hard disk array and method for reconstructing thereof | |
CN113495672B (zh) | 读写方法及存储器装置 | |
CN113495671B (zh) | 读写方法及存储器装置 | |
US11899971B2 (en) | Method for reading and writing and memory device | |
CN103514961A (zh) | 自修复存储器 |
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 |