CN106776362A - 存储器的控制方法及装置 - Google Patents

存储器的控制方法及装置 Download PDF

Info

Publication number
CN106776362A
CN106776362A CN201510824800.XA CN201510824800A CN106776362A CN 106776362 A CN106776362 A CN 106776362A CN 201510824800 A CN201510824800 A CN 201510824800A CN 106776362 A CN106776362 A CN 106776362A
Authority
CN
China
Prior art keywords
data
memory cell
memory
write
written
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
CN201510824800.XA
Other languages
English (en)
Other versions
CN106776362B (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.)
Semiconductor Manufacturing International Shanghai Corp
Semiconductor Manufacturing International Beijing Corp
Original Assignee
Semiconductor Manufacturing International Shanghai Corp
Semiconductor Manufacturing International Beijing Corp
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 Semiconductor Manufacturing International Shanghai Corp, Semiconductor Manufacturing International Beijing Corp filed Critical Semiconductor Manufacturing International Shanghai Corp
Priority to CN201510824800.XA priority Critical patent/CN106776362B/zh
Priority to EP16199335.7A priority patent/EP3173933A1/en
Priority to US15/361,295 priority patent/US10310772B2/en
Publication of CN106776362A publication Critical patent/CN106776362A/zh
Application granted granted Critical
Publication of CN106776362B publication Critical patent/CN106776362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种存储器的控制方法及装置。所述方法包括:接收并读取待写入的数据,获取所述待写入的数据的目标地址信息;读取所述存储器中各个存储单元内数据;根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态;当所述目标地址对应的存储单元中数据的状态为有效状态时,对所述第一存储单元执行编程操作,将所述待写入的数据写入至所述第一存储单元;将所述待写入的数据写入至所述第一存储单元后,对所述目标地址对应的存储单元执行擦除操作,以进行下一次的数据写入。应用所述方法可以延长存储器的使用寿命并减小存储器的面积。

Description

存储器的控制方法及装置
技术领域
本发明涉及存储器技术领域,具体涉及一种存储器的控制方法及装置。
背景技术
电可擦可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM),是一种掉电后数据不丢失的存储芯片。
在实际应用中,向EEPROM中写入数据时,若待存储的数据长度超过1页,每次按页或小于页的长度进行数据更新。也就是说,当待存储的数据长度超过1页时,需要通过多次的写入操作才能完成对全部数据的存储。
其中,在每次写入操作中,通常先对目标存储区进行擦除操作,再对擦除后的目标存储区执行编程操作,即可完成该页数据的写入。具体地,如图1所示,在对目标存储区执行擦除操作时,目标存储区内的数据状态先由有效状态(即完整状态)转变为不定状态(即不完整状态),再由不定状态转变为擦除状态,届时擦除操作完成。在对目标存储区执行编程操作时,目标存储区内的数据状态先由擦除状态转变为不定状态,再由不定状态转变为有效状态,届时该次编程操作完成。当更好该目标存储区后,以新的地址作为目标存储区,重复上面的操作,实现对另一个目标存储区的数据更新操作。
然而,在数据的写入过程中,当目标存储区的数据状态处于不定状态或擦除状态时,若写入操作中断,则会导致数据丢失的情况出现。
为了避免数据丢失的情况出现,目前通常采用备份存储的方法进行数据写入,即:将同一待写入的数据先后分别写入目标存储区和备份存储区,并使得二者中的数据状态无论何时至少一个为有效状态。也就是说,对于同一待写入的数据,先对目标存储区执行擦除及编程操作,再对备份存储区执行擦除及编程操作,并保证二者中的数据状态在任意时刻至少一个为有效状态。
在上述数据存储的过程中,当数据长度为N页时,需要分别进行2N次擦除操作和2N次编程操作,才能完成对全部数据的存储,擦写次数过多以及擦写时间过长导致EEPROM的使用寿命缩短。并且,由于每页数据均设置有目标存储区和备份存储区,因此当数据长度为N页时,需要占用2N页的存储空间,使得EEPROM的面积增大,成本增加。
发明内容
本发明解决的技术问题是如何延长存储器的使用寿命并减小存储器的面积。
为解决上述技术问题,本发明实施例提供一种存储器的控制方法,所述存储器由多个存储单元组成,其中包括第一存储单元,所述第一存储单元中数据的初始状态为擦除状态,每个存储单元的数据存储容量为一页,所述方法包括:
接收并读取待写入的数据,获取所述待写入的数据的目标地址信息;
读取所述存储器中各个存储单元内数据;
根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态;
当所述目标地址对应的存储单元中数据的状态为有效状态时,对所述第一存储单元执行编程操作,将所述待写入的数据写入至所述第一存储单元;
将所述待写入的数据写入至所述第一存储单元后,对所述目标地址对应的存储单元执行擦除操作,以进行下一次的数据写入。
可选地,所述方法还包括:
当读取到所述存储器中不存在数据为擦除状态的存储单元,但存在数据为不定状态的存储单元时,对所述数据为不定状态的存储单元执行擦除操作,将所述数据为不定状态的存储单元转变为数据为擦除状态的存储单元。
可选地,所述待写入的数据包括:数据信息、目标地址信息以及所述数据的标识信息。
可选地,所述方法还包括:
当所述存储器中不存在数据为擦除状态的存储单元,但存在具有相同目标地址信息且均处于有效状态的数据的存储单元时,分别获取每份数据中的标识信息;
根据所述标识信息判断所述数据对应的存储单元是否有效;
对无效的存储单元执行擦除操作。
可选地,所述待写入的数据还包括:校验信息。
可选地,所述根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态,包括:
根据所述目标地址信息,获取所述目标地址对应的存储单元中数据的校验信息,并根据所述校验信息判断所述目标地址对应的存储单元中数据的状态是否为有效状态。
本发明实施例还提供了一种存储器的控制装置,所述存储器由多个存储单元组成,其中包括第一存储单元,所述第一存储单元中数据的初始状态为擦除状态,每个存储单元的数据存储容量为一页,所述控制装置包括:
第一获取单元,适于接收并读取待写入的数据,获取所述待写入的数据的目标地址信息;
读取单元,适于读取所述存储器中各个存储单元内数据;
第一判断单元,适于根据所述目标地址信息,判断所述目标地址对应的存储单元内数据的状态是否为有效状态;
编程单元,适于当读取到所述目标地址对应的存储单元中数据的状态为有效状态时,对所述第一存储单元执行编程操作,将所述待写入的数据写入至所述第一存储单元;
擦除单元,适于将所述目标地址对应的存储单元中数据写入至所述第一存储单元后,对所述目标地址对应的存储单元执行擦除操作,以进行下一次的数据写入。
可选地,所述擦除单元,还适于当读取到所述存储器中不存在数据为擦除状态的存储单元,但存在数据为不定状态的存储单元时,对所述数据为不定状态的存储单元执行擦除操作,将所述数据为不定状态的存储单元转变为数据为擦除状态的存储单元。
可选地,所述第一获取单元接收到的待写入的数据包括:数据信息、目标地址信息以及所述数据的标识信息。
可选地,还包括:
第二获取单元,适于当所述存储器中不存在数据为擦除状态的存储单元,但存在具有相同目标地址信息且均处于有效状态的数据的存储单元时,分别获取每份数据中的标识信息;
第二判断单元,适于根据所述标识信息判断所述数据对应的存储单元是否有效;
所述擦除单元,还适于对无效的存储单元执行擦除操作。
可选地,所述第一获取单元接收到的待写入的数据还包括:校验信息。
可选地,所述第一判断单元适于根据所述目标地址信息,获取所述目标地址对应的存储单元中数据的校验信息,并根据所述校验信息判断所述目标地址对应的存储单元中数据的状态是否为有效状态。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
当接收到待写入的数据时,通过获取所述待写入的数据的目标地址信息,进而可以根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态,并在所述目标地址对应的存储单元中数据的状态为有效状态时,先将所述待写入的数据写入至第一存储单元,再对所述目标地址对应的存储单元执行擦除操作,以实现数据的安全写入。应用所述方法向存储器中写入数据时,在保证数据安全的前提下,每页数据的写入仅需要1次编程操作以及1次写入操作,大大降低对存储器的擦写次数,提高存储器的使用寿命。并且,当数据长度为N页时,仅需要占用N+1页的存储空间,从而使得存储器的面积减小。
附图说明
图1是现有技术中一种存储器的数据写入示意图;
图2是现有技术中另一种存储器的数据写入示意图;
图3是现有技术中又一种存储器的数据写入示意图;
图4是本发明实施例中一种存储器的控制方法流程图;
图5是本发明实施例中一种存储器的数据写入示意图;
图6是本发明实施例中另一种存储器的数据写入示意图;
图7是本发明实施例中一种存储器的控制装置结构示意图。
具体实施方式
目前,在向存储器中写入数据时,为了避免因操作中断而导致的数据丢失的情况出现,通常采用备份存储的方法进行数据的写入。下面分别以待存储的数据为单页数据以及两页数据为例,对上述写入过程进行说明:
如图2所示,当待存储的数据为单页数据时,初始状态时,目标存储区内的数据与备份存储区内的数据相同。当向存储器中写入数据时,可以先对目标存储区执行擦除操作,使得目标存储区内的数据状态由有效状态转变为不定状态,再由不定状态转变为擦除状态。当数据擦除后,向目标存储区内写入待存储的数据。自对目标存储区执行擦除操作时起,至向目标存储区内写入待存储的数据止,备份存储区内的数据状态一直为有效状态,由此可以保证在向目标存储区写入待存储的数据的过程中,无论操作何时中断,目标存储区原有数据均不会丢失。
当向目标存储区内写入待存储的数据后,先对备份存储区内的数据先执行擦除操作,再写入新的数据。此时,目标存储区内的数据状态一直为有效状态,由此可以保证在向备份存储区写入待存储的数据的过程中,无论操作何时中断,向目标存储区写入的所述待存储的数据均不会丢失。
如图3所示,当待存储的数据为两页数据时,所述目标存储区包括第一目标存储区以及第二目标存储区,所述备份存储区包括第一备份存储区及第二备份存储区。具体地,先对第一目标存储区执行擦除操作,再向所述第一目标存储区执行编程操作,以写入所述待存储的数据中的一页数据。接着,对第一备份存储区执行擦除操作,再向所述第一备份存储区执行编程操作。当向第一目标存储区及第一备份存储区内写入数据后,分别参照对所述第一目标存储区及第一备份存储区内写入数据的过程,再依次向第二目标存储区,以及第二目标存储区对应的第二备份存储区内写入数据。在上述数据写入的过程中,在任意时刻,第一目标存储区或第一备份存储区内数据的状态为有效状态,或者,第二目标存储区或第二备份存储区内数据的状态为有效状态。因此,无论上述操作何时中断,存储器中至少保留一个有效数据,实现数据的安全写入。
由图2及图3可以看出,采用上述方法向存储器中写入数据时,虽然可以实现数据的安全写入,但每页数据的写入需要分别执行2次编程操作及2次擦除操作。当待存储的数据长度为N页时,就需要分别执行2N次编程操作及2N次擦除操作,导致对存储器的擦写次数过多,影响存储器的使用寿命。并且,当待存储的数据长度为N页时,目标存储区及备份存储区共占有2N页的存储空间,导致存储器的面积增大。
针对上述问题,本发明实施例提供了一种存储器的控制方法,应用所述方法,当接收到待写入的数据时,通过获取所述待写入的数据的目标地址信息,进而可以根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态,并在所述目标地址对应的存储单元中数据的状态为有效状态时,先将所述待写入的数据写入至第一存储单元,再对所述目标地址对应的存储单元执行擦除操作。
在向所述第一存储单元写入数据的过程中,由于所述目标地址对应的存储单元内数据的状态保持有效状态,因此,无论写入操作何时中断,存储器中至少保留一个有效数据,由此可以实现数据的安全写入。在保证数据安全的前提下,应用所述方法向存储器中写入数据时,每页数据的写入仅需要1次编程操作以及1次擦除操作,大大降低对存储器的擦写次数,提高存储器的使用寿命。并且,当数据长度为N页时,仅需要占用N+1页的存储空间,从而使得存储器的面积减小。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细地说明。
如图4所示,本发明实施例提供了一种存储器的控制方法。
需要说明的是,在向存储器内写入待写入的数据前,所述存储器由多个存储单元组成,所述多个存储单元中至少存在一个数据初始状态为擦除状态的存储单元,即至少存在一个第一存储单元,所述存储单元内可以存储的数据长度为1页。也就是说,当待存储的数据长度为N页时,所述存储器的存储空间至少为N+1页,所述N+1页中至少1页为第一存储单元。
其中,所谓初始状态,即每次向所述存储器中写入数据前所述存储单元内数据的状态。当待存储的数据需要多次写入操作才能完成存储时,每次写入操作前存在至少一个第一存储单元即可。当然,所述存储器中还可以存在多个第一存储单元,所述第一存储单元的数量不受限制,只要每次写入操作前存在至少一个第一存储单元即可。
所述方法可以包括以下步骤:
步骤41,接收并读取待写入的数据,获取所述待写入数据的目标地址信息。
在具体实施中,由于向存储器中写入数据时,每次所写入的数据的长度受页数据寄存器长度限制,使得每次写入的数据长度不能超过1页。当待存储的数据长度小于等于1页时,通过1次写入操作即可完成全部数据的存储。当待存储的数据长度为多页时,需要通过多次的写入操作才能完成对全部数据的存储。也就是说,所述待存储的数据可以包括多份待写入的数据,且每份待写入的数据长度小于等于1页。
在具体实施中,每份待写入的数据中不仅包括数据本身,还包括所述待写入的数据对应的目标地址信息,以及所述待写入的数据的标识信息。其中,所述目标地址信息即所述待写入的数据在所述存储器中的存储地址,通常为目标逻辑地址信息。所述标识信息可以采用序号的形式进行标识,根据所述标识信息及目标地址信息可以唯一确定所述待写入的数据。
需要说明的是,在本发明的实施例中,所述存储器为具有数据保存功能的设备,通过所述设备可以读取和写入数据,比如,所述存储器可以为电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)。所述存储器可以是一台独立的设备,也可以同时提供其他服务,比如可以在其他设备上开辟一块专用的数据存储区,以提供数据保存服务。当然,不论是采用哪种方式的存储器,都可以用于读取和写入数据。
步骤42,读取所述存储器中各个存储单元内数据。
通过读取所述存储器中各个存储单元内的数据,可以获知各个存储单元内数据的状态。
通常情况下,存储单元内数据的状态可以包括以下几种:擦除状态、不定状态以及有效状态。其中,所述擦除状态即存储单元内的数据已擦除,此时可以直接写入新的数据。所述不定状态即存储单元内的数据不完整,所述数据不完整可以是因对所述存储单元执行的擦除操作被中断所导致的,也可以是因对所述存储单元执行的编程操作被中断所操作的,此时无法直接写入新的数据。所述有效状态即所述存储单元内的数据完整,此时可以直接读取存储单元内的数据。
需要说明的是,步骤42与步骤41没有执行顺序的限制,既可以在执行步骤41后再执行步骤42,也可以在执行步骤41前先执行步骤42,还可以在执行步骤41的同时,执行步骤42。
步骤43,根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态。
在具体实施中,获取到所述待写入的数据前,根据所述目标地址信息,可以读取所述存储器中与所述目标地址对应的存储单元内的数据。若能够从与所述目标地址对应的存储单元内读取到数据,则所述存储单元内数据的状态要么为有效状态,要么为不定状态。若未能够从与所述目标地址对应的存储单元内读取到数据,则所述存储单元内数据的状态为擦除状态,对应地,与所述目标地址对应的存储单元为第一存储单元。
在具体实施中,当从与所述目标地址对应的存储单元内读取到数据时,通过对所读取的数据进行校验,可以判定所读取的数据的状态。
具体可以采用多种方式校验所读取的数据,在本发明的一实施例中,可以在写入的数据中设置校验信息,此时,所写入的数据不仅包括数据本身、目标地址信息以及标识信息,还包括校验信息,进而可以在读取存储单元中的数据时,通过所述校验信息来验证所读取的数据是否完整,从而可以根据验证结果判断所述存储单元内数据的状态。其中,在通过所述校验信息来验证所读取的数据是否完整时,可以采用奇偶校验等方式进行验证。
当判定所述目标地址对应的存储单元中数据的状态为有效状态时,执行步骤44。当判定所述目标地址对应的存储单元中数据的状态为不定状态时,执行步骤46。当判定所述目标地址对应的存储单元中数据的状态为擦除状态时,执行步骤47。
步骤44,对所述第一存储单元执行编程操作,将所述待写入的数据写入至所述第一存储单元。
步骤45,将所述待写入的数据写入至所述第一存储单元后,对所述目标地址对应的存储单元执行擦除操作,以进行下一次的数据写入。
下面以所述待存储的数据为X,且X的数据长度为2页为例,对步骤44及45的具体实施进行详细说明:
如图5及图6所示,所述存储器中包括:存储单元A1,存储单元A2以及存储单元A3。在向存储器中写入数据前,存储单元A1,存储单元A2内数据状态均为有效状态,所存储的数据分别为L1及L2。存储单元A3内数据状态为擦除状态,所存储的数据为L3。此时存储单元A3为所述第一存储单元。
所述待存储的数据为X包括数据X1及X2,X1及X2的数据长度分别为1页,写入顺序如下:先向存储器中写入数据X1,再向存储器中写入数据X2。数据X1的目标地址为存储单元A1,数据X2的目标地址为存储单元A2。
具体地,向存储器中写入数据X1时,由于存储单元A1内数据L1为有效状态,因此,对存储单元A3执行编程操作,将所述数据X1写入第一存储单元A3,然后对存储单元A1内的数据L1执行擦除操作。
在对存储单元A1内的数据L1执行擦除操作后,向存储器中写入数据X2前,由于存储单元A1为所述第一存储单元,因此可以在向存储器中写入数据X2时,先对存储单元A1执行编程操作,将数据X2写入存储单元A1,再对存储单元A2内的数据L2执行擦除操作。
从图5及图6可以看出,在任意时刻,存储单元A1、A2及A3内至少一个数据状态为有效状态,因此,无论何时中断写入操作,存储器内至少存储一个完整数据。并且,当待存储的数据长度为N页时,写入过程中仅需要N次编程操作以及N次擦除操作,存储器的读写次数减少1倍。另外,当待存储的数据长度为N页时,仅需要N+1页的存储空间即可完成整个数据的写入,而无须2N页的存储空间,有效减小了存储器的面积。
在具体实施中,若写入操作在执行步骤44后、执行步骤45前中断,下次向存储器中写入数据时,存储器中可能不存在数据为擦除状态的存储单元,但存在具有相同目标地址信息且均处于有效状态的数据的存储单元。此时可以先分别获取每份数据中的标识信息,进而通过所述标识信息区分所述数据的写入顺序,然后根据预先设置的所述数据写入顺序与区域有效性的对应关系,判断出有效的存储单元。
比如,在向存储器中写入数据时,可以依次增加待写入数据中的序号值,这样,在存在具有相同目标地址信息且均处于有效状态的数据时,序号值较大的数据为后写入的数据,序号值较小的数据为先写入的数据。相应地,序号值较大的数据所在的存储单元为有效存储单元,序号值较小的数据所在的存储单元为无效存储单元。
对无效的存储单元执行擦除操作,即将所述无效的存储单元转变为第一存储单元,以继续执行步骤44。此时,所述有效的存储单元即与所述目标地址对应的存储单元,因此,在执行步骤45时,直接对所述有效的存储单元执行擦除操作即可。
步骤46,对所述数据为不定状态的存储单元执行擦除操作,将所述数据为不定状态的存储单元转变为数据为擦除状态的存储单元。
在具体实施中,读取所述存储器中各个存储单元内数据后,若所述存储器中不存在数据为擦除状态的存储单元,即不存在第一存储单元,但存在数据为不定状态的存储单元时,对所述数据为不定状态的存储单元执行擦除操作,将所述数据为不定状态的存储单元转变为数据为擦除状态的存储单元,也就是将所述数据为不定状态的存储单元转变为第一存储单元,由此可以使得所述存储器在每次写入数据前存在至少一个第一存储单元。
将所述数据为不定状态的存储单元转变为第一存储单元后,继续执行步骤44。
步骤47,将所述待写入的数据写入所述目标地址对应的存储单元。
也就是说,当判定所述目标地址对应的存储单元中数据的状态为擦除状态时,直接将所述待写入的数据写入所述目标地址对应的存储单元。当下一次向存储器中写入数据时,再按照步骤41至47执行。
由上述内容可以看出,应用本发明实施例中的方法,在判断待写入数据的目标地址对应的存储单元中数据的状态为有效状态时,先将所述待写入的数据写入至第一存储单元,再对所述目标地址对应的存储单元执行擦除操作,以实现数据的安全写入。并且,应用所述方法向存储器中写入数据时,在保证数据安全的前提下,每页数据的写入仅需要1次编程操作以及1次写入操作,大大降低对存储器的擦写次数,提高存储器的使用寿命。并且,当数据长度为N页时,仅需要占用N+1页的存储空间,从而使得存储器的面积减小。
为了使本领域技术人员更好地理解和实现本发明,以下对上述存储器的控制方法对应的装置进行详细描述。
如图7所示,本发明实施例提供了一种存储器的控制装置。其中,所述存储器由多个存储单元组成,其中包括第一存储单元,所述第一存储单元中数据的初始状态为擦除状态,每个存储单元的数据存储容量为一页,。
所述装置可以包括:第一获取单元71,读取单元72,第一判断单元73,编程单元74以及擦除单元75。其中:
所述第一获取单元71适于接收并读取待写入的数据,获取所述待写入的数据的目标地址信息。所述读取单元72适于读取所述存储器中各个存储单元内数据。所述第一判断单元73适于根据所述目标地址信息,判断所述目标地址对应的存储单元内数据的状态是否为有效状态。所述编程单元74适于当读取到所述目标地址对应的存储单元中数据的状态为有效状态时,对所述第一存储单元执行编程操作,将所述待写入的数据写入至所述第一存储单元。所述擦除单元75适于将所述目标地址对应的存储单元中数据写入至所述第一存储单元后,对所述目标地址对应的存储单元执行擦除操作,以进行下一次的数据写入。
在具体实施中,所述擦除单元75还适于当读取到所述存储器中不存在数据为擦除状态的存储单元,但存在数据为不定状态的存储单元时,对所述数据为不定状态的存储单元执行擦除操作,将所述数据为不定状态的存储单元转变为数据为擦除状态的存储单元。
在具体实施中,所述第一获取单元71接收到的待写入的数据包括:数据信息、目标地址信息以及所述数据的标识信息。
在具体实施中,所述装置还包括:第二获取单元及第二判断单元(未示出)。其中,所述第二获取单元适于当所述存储器中不存在数据为擦除状态的存储单元,但存在具有相同目标地址信息且均处于有效状态的数据的存储单元时,分别获取每份数据中的标识信息。所述第二判断单元适于根据所述标识信息判断所述数据对应的存储单元是否有效。此时,所述擦除单元75还适于对无效的存储单元执行擦除操作。
在具体实施中,所述第一获取单元71接收到的待写入的数据还包括:校验信息。所述第一判断单元73适于根据所述目标地址信息,获取所述目标地址对应的存储单元中数据的校验信息,并根据所述校验信息判断所述目标地址对应的存储单元中数据的状态是否为有效状态。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (12)

1.一种存储器的控制方法,其特征在于,所述存储器由多个存储单元组成,其中包括第一存储单元,所述第一存储单元中数据的初始状态为擦除状态,每个存储单元的数据存储容量为一页,所述方法包括:
接收并读取待写入的数据,获取所述待写入的数据的目标地址信息;
读取所述存储器中各个存储单元内数据;
根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态;
当所述目标地址对应的存储单元中数据的状态为有效状态时,对所述第一存储单元执行编程操作,将所述待写入的数据写入至所述第一存储单元;
将所述待写入的数据写入至所述第一存储单元后,对所述目标地址对应的存储单元执行擦除操作,以进行下一次的数据写入。
2.如权利要求1所述的存储器的控制方法,其特征在于,还包括:
当读取到所述存储器中不存在数据为擦除状态的存储单元,但存在数据为不定状态的存储单元时,对所述数据为不定状态的存储单元执行擦除操作,将所述数据为不定状态的存储单元转变为数据为擦除状态的存储单元。
3.如权利要求1所述的存储器的控制方法,其特征在于,所述待写入的数据包括:数据信息、目标地址信息以及所述数据的标识信息。
4.如权利要求3所述的存储器的控制方法,其特征在于,还包括:
当所述存储器中不存在数据为擦除状态的存储单元,但存在具有相同目标地址信息且均处于有效状态的数据的存储单元时,分别获取每份数据中的标识信息;
根据所述标识信息判断所述数据对应的存储单元是否有效;
对无效的存储单元执行擦除操作。
5.如权利要求3所述的存储器的控制方法,其特征在于,所述待写入的数据还包括:校验信息。
6.如权利要求5所述的存储器的控制方法,其特征在于,所述根据所述目标地址信息,判断所述目标地址对应的存储单元中数据的状态是否为有效状态,包括:
根据所述目标地址信息,获取所述目标地址对应的存储单元中数据的校验信息,并根据所述校验信息判断所述目标地址对应的存储单元中数据的状态是否为有效状态。
7.一种存储器的控制装置,其特征在于,所述存储器由多个存储单元组成,其中包括第一存储单元,所述第一存储单元中数据的初始状态为擦除状态,每个存储单元的数据存储容量为一页,所述控制装置包括:
第一获取单元,适于接收并读取待写入的数据,获取所述待写入的数据的目标地址信息;
读取单元,适于读取所述存储器中各个存储单元内数据;
第一判断单元,适于根据所述目标地址信息,判断所述目标地址对应的存储单元内数据的状态是否为有效状态;
编程单元,适于当读取到所述目标地址对应的存储单元中数据的状态为有效状态时,对所述第一存储单元执行编程操作,将所述待写入的数据写入至所述第一存储单元;
擦除单元,适于将所述目标地址对应的存储单元中数据写入至所述第一存储单元后,对所述目标地址对应的存储单元执行擦除操作,以进行下一次的数据写入。
8.如权利要求7所述的存储器的控制装置,其特征在于,所述擦除单元,还适于当读取到所述存储器中不存在数据为擦除状态的存储单元,但存在数据为不定状态的存储单元时,对所述数据为不定状态的存储单元执行擦除操作,将所述数据为不定状态的存储单元转变为数据为擦除状态的存储单元。
9.如权利要求7所述的存储器的控制装置,其特征在于,所述第一获取单元接收到的待写入的数据包括:数据信息、目标地址信息以及所述数据的标识信息。
10.如权利要求9所述的存储器的控制装置,其特征在于,还包括:
第二获取单元,适于当所述存储器中不存在数据为擦除状态的存储单元,但存在具有相同目标地址信息且均处于有效状态的数据的存储单元时,分别获取每份数据中的标识信息;
第二判断单元,适于根据所述标识信息判断所述数据对应的存储单元是否有效;
所述擦除单元,还适于对无效的存储单元执行擦除操作。
11.如权利要求9所述的存储器的控制装置,其特征在于,所述第一获取单元接收到的待写入的数据还包括:校验信息。
12.如权利要求11所述的存储器的控制装置,其特征在于,所述第一判断单元适于根据所述目标地址信息,获取所述目标地址对应的存储单元中数据的校验信息,并根据所述校验信息判断所述目标地址对应的存储单元中数据的状态是否为有效状态。
CN201510824800.XA 2015-11-24 2015-11-24 存储器的控制方法及装置 Active CN106776362B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510824800.XA CN106776362B (zh) 2015-11-24 2015-11-24 存储器的控制方法及装置
EP16199335.7A EP3173933A1 (en) 2015-11-24 2016-11-17 Memory control method and memory control apparatus
US15/361,295 US10310772B2 (en) 2015-11-24 2016-11-25 Memory control method and memory control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510824800.XA CN106776362B (zh) 2015-11-24 2015-11-24 存储器的控制方法及装置

Publications (2)

Publication Number Publication Date
CN106776362A true CN106776362A (zh) 2017-05-31
CN106776362B CN106776362B (zh) 2019-12-03

Family

ID=57345807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510824800.XA Active CN106776362B (zh) 2015-11-24 2015-11-24 存储器的控制方法及装置

Country Status (3)

Country Link
US (1) US10310772B2 (zh)
EP (1) EP3173933A1 (zh)
CN (1) CN106776362B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888605A (zh) * 2019-12-11 2020-03-17 重庆超力高科技股份有限公司 Eeprom的数据写入方法、装置和电子设备
CN111105563A (zh) * 2019-12-17 2020-05-05 厦门计讯物联科技有限公司 防数据丢失的水卡数据写入方法、装置、设备及存储介质
CN113434086A (zh) * 2021-06-25 2021-09-24 南京英锐创电子科技有限公司 数据存储方法、装置、非易失性存储器件和存储器
WO2021196623A1 (zh) * 2020-04-01 2021-10-07 长鑫存储技术有限公司 读写方法及存储器装置
US11527301B2 (en) 2020-04-01 2022-12-13 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11869615B2 (en) 2020-04-01 2024-01-09 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11881240B2 (en) 2020-04-01 2024-01-23 Changxin Memory Technologies, Inc. Systems and methods for read/write of memory devices and error correction
US11894088B2 (en) 2020-04-01 2024-02-06 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11899971B2 (en) 2020-04-01 2024-02-13 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11914479B2 (en) 2020-04-01 2024-02-27 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11922023B2 (en) 2020-04-01 2024-03-05 Changxin Memory Technologies, Inc. Read/write method and memory device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495675B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1436308A (zh) * 2000-06-22 2003-08-13 密克罗奇普技术公司 用内嵌的循环冗余校验校验eeprom数据的方法
CN1505052A (zh) * 2002-12-04 2004-06-16 ������������ʽ���� 半导体存储装置和存储单元的写入以及擦除方法
US20090150600A1 (en) * 2007-11-29 2009-06-11 Takaya Suda Memory system
CN101526921A (zh) * 2008-12-31 2009-09-09 北京飞天诚信科技有限公司 写入数据的方法及装置
CN102890657A (zh) * 2012-10-10 2013-01-23 深圳市航盛电子股份有限公司 一种减少eeprom的数据读写出错的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369616A (en) * 1992-10-30 1994-11-29 Intel Corporation Method for assuring that an erase process for a memory array has been properly completed
US5365486A (en) * 1992-12-16 1994-11-15 Texas Instruments Incorporated Method and circuitry for refreshing a flash electrically erasable, programmable read only memory
US7904635B2 (en) * 2003-03-04 2011-03-08 Netac Technology Co., Ltd. Power cut data recovery and data management method for flash media
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US20070083697A1 (en) * 2005-10-07 2007-04-12 Microsoft Corporation Flash memory management
JP4897524B2 (ja) * 2007-03-15 2012-03-14 株式会社日立製作所 ストレージシステム及びストレージシステムのライト性能低下防止方法
KR101437397B1 (ko) * 2007-10-31 2014-09-05 삼성전자주식회사 비휘발성 메모리 장치의 데이터 관리 방법 및 맵핑 테이블업데이트 방법
US7941692B2 (en) * 2007-12-31 2011-05-10 Intel Corporation NAND power fail recovery
US8131915B1 (en) * 2008-04-11 2012-03-06 Marvell Intentional Ltd. Modifying or overwriting data stored in flash memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1436308A (zh) * 2000-06-22 2003-08-13 密克罗奇普技术公司 用内嵌的循环冗余校验校验eeprom数据的方法
CN1505052A (zh) * 2002-12-04 2004-06-16 ������������ʽ���� 半导体存储装置和存储单元的写入以及擦除方法
US20090150600A1 (en) * 2007-11-29 2009-06-11 Takaya Suda Memory system
CN101526921A (zh) * 2008-12-31 2009-09-09 北京飞天诚信科技有限公司 写入数据的方法及装置
CN102890657A (zh) * 2012-10-10 2013-01-23 深圳市航盛电子股份有限公司 一种减少eeprom的数据读写出错的方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888605A (zh) * 2019-12-11 2020-03-17 重庆超力高科技股份有限公司 Eeprom的数据写入方法、装置和电子设备
CN110888605B (zh) * 2019-12-11 2023-10-20 重庆超力高科技股份有限公司 Eeprom的数据写入方法、装置和电子设备
CN111105563A (zh) * 2019-12-17 2020-05-05 厦门计讯物联科技有限公司 防数据丢失的水卡数据写入方法、装置、设备及存储介质
CN111105563B (zh) * 2019-12-17 2021-08-24 厦门计讯物联科技有限公司 防数据丢失的水卡数据写入方法、装置、设备及存储介质
US11914479B2 (en) 2020-04-01 2024-02-27 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
WO2021196623A1 (zh) * 2020-04-01 2021-10-07 长鑫存储技术有限公司 读写方法及存储器装置
US11527301B2 (en) 2020-04-01 2022-12-13 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11869615B2 (en) 2020-04-01 2024-01-09 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11881240B2 (en) 2020-04-01 2024-01-23 Changxin Memory Technologies, Inc. Systems and methods for read/write of memory devices and error correction
US11922023B2 (en) 2020-04-01 2024-03-05 Changxin Memory Technologies, Inc. Read/write method and memory device
US11894088B2 (en) 2020-04-01 2024-02-06 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
US11899971B2 (en) 2020-04-01 2024-02-13 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
CN113434086A (zh) * 2021-06-25 2021-09-24 南京英锐创电子科技有限公司 数据存储方法、装置、非易失性存储器件和存储器
CN113434086B (zh) * 2021-06-25 2024-02-02 南京英锐创电子科技有限公司 数据存储方法、装置、非易失性存储器件和存储器

Also Published As

Publication number Publication date
CN106776362B (zh) 2019-12-03
US20170147266A1 (en) 2017-05-25
US10310772B2 (en) 2019-06-04
EP3173933A1 (en) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106776362A (zh) 存储器的控制方法及装置
EP2115595B1 (en) Memory device performance enhancement through pre-erase mechanism
CN103678144B (zh) 数据储存装置与快闪存储器控制方法
CN104808951B (zh) 进行存储控制的方法和设备
CN103955431B (zh) 一种闪存存储设备中数据管理的方法及装置
CN101853692B (zh) 具闪存测试功能的控制器及其储存系统与测试方法
US20150161039A1 (en) Data erasing method, memory control circuit unit and memory storage apparatus
CN103914407B (zh) 一种sd卡掉电保护、恢复方法以及带有掉电保护的sd卡
CN106484316A (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
CN108415853A (zh) 一种垃圾回收的方法、装置及存储设备
CN111061649B (zh) 一种存储器的存储空间自适应分配方法
CN102063266A (zh) 非易失存储器控制器与用于将当前数据写入非易失存储器的方法
CN106816175A (zh) 存储器的控制方法及装置
CN100433195C (zh) 闪存介质数据写入方法
CN111930301A (zh) 垃圾回收优化方法、装置、存储介质及电子设备
CN103514101A (zh) 存取闪存的方法以及相关的记忆装置
CN101295281A (zh) 一种对存储设备进行访问权限限制的方法及存储设备
CN105512047A (zh) Flash闪存的写操作、擦除操作方法及装置
CN112347001B (zh) 闪存垃圾回收的校验方法、装置及电子设备
CN107704338A (zh) 一种资料储存型闪存的数据恢复方法和装置
CN106021122A (zh) 光模块中闪存数据的写入方法及装置
CN107301024A (zh) 成像盒芯片、成像盒及数据处理方法
CN108614664A (zh) 基于NANDflash的读错误处理方法和装置
CN103399716A (zh) 写数据和读数据的方法、及写数据和读数据处理器
US20140052893A1 (en) File deletion for non-volatile memory

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