CN111045600B - 向存储器写入数据的方法、装置及存储介质 - Google Patents

向存储器写入数据的方法、装置及存储介质 Download PDF

Info

Publication number
CN111045600B
CN111045600B CN201911072175.2A CN201911072175A CN111045600B CN 111045600 B CN111045600 B CN 111045600B CN 201911072175 A CN201911072175 A CN 201911072175A CN 111045600 B CN111045600 B CN 111045600B
Authority
CN
China
Prior art keywords
data
check
writing
rewritten
target
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
Application number
CN201911072175.2A
Other languages
English (en)
Other versions
CN111045600A (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.)
Beijing Xin Yi Technology Co ltd
Original Assignee
Beijing Xin Yi Technology Co ltd
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 Beijing Xin Yi Technology Co ltd filed Critical Beijing Xin Yi Technology Co ltd
Priority to CN201911072175.2A priority Critical patent/CN111045600B/zh
Publication of CN111045600A publication Critical patent/CN111045600A/zh
Application granted granted Critical
Publication of CN111045600B publication Critical patent/CN111045600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]

Landscapes

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

Abstract

本申请提出一种向存储器写入数据的方法、装置及存储介质,方法包括:确定存储器的工作状态,读取存储器阵列中的第一数据和数据缓存区的第二数据;根据工作状态、第一数据和第二数据生成校验数据,校验数据中包括多个第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,根据第一标识数据确定需要重写数据的目标比特位,并向目标比特位写入目标数据,从存储器阵列读取第三数据,根据第三数据、校验数据和工作状态对校验数据进行更新;根据更新后的校验数据再次确定需要重写数据的目标比特位并向目标比特位写入目标数据,直至确定无需要重写数据的比特位。通过本申请,能够有效减少写入数据的次数,提高数据写入效率。

Description

向存储器写入数据的方法、装置及存储介质
技术领域
本申请涉及存储器技术领域,尤其涉及一种向存储器写入数据的方法、装置及存储介质。
背景技术
针对存储器的写操作,会在数据写入之后对存储器中写入的数据进行校验,以检验写入存储器中的数据是否准确。也就是说,对存储器中待写入数据的区域进行一次写操作之后,从存储器中读出数据并进行校验,若写入的数据不对,则对待写入数据的区域重新写入数据,之后再读取写入的数据并进行校验,重复上述写入——校验——写入的过程,直到数据全写对或达到最大写入次数,结束对该区域的写操作。
可见,现有的向存储器写入数据的方式,当校验未通过时会对存储器中待写入数据的区域重新写入数据,然而,由于材料特性的影响,本次写对的单元在下次写入时可能写入错误数据,这将导致所有数据均正确写入时执行写操作的次数增加,从而增加了写入耗时,效率低。
发明内容
本申请提出一种向存储器写入数据的方法、装置及存储介质,用于解决相关技术中写入存储器中的数据校验失败时对存储器中待写入数据的区域重新写入数据,导致写入次数增加、写入耗时增长、效率低的技术问题。
本申请第一方面实施例提出了一种向存储器写入数据的方法,包括:
确定存储器的工作状态,所述工作状态包括写0状态和写1状态;
读取存储器阵列中的第一数据和数据缓存区的第二数据;
根据所述工作状态、所述第一数据和所述第二数据,生成校验数据,并将所述校验数据存储在校验缓存区,其中,所述校验数据为至少一个,每个所述校验数据中包括多个第一标识数据,每个所述第一标识数据用于表征对应比特位的数据是否需要重写,所述校验数据在所述校验缓存区中的地址与所述第一数据在所述存储器阵列中的地址匹配;
根据所述校验数据中的多个所述第一标识数据,确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,其中,所述目标数据根据所述工作状态确定;
从所述存储器阵列读取第三数据,所述第三数据是写入目标数据后,所述存储器阵列中的数据;
根据所述第三数据、所述校验数据和所述工作状态对所述校验数据进行更新;
根据更新后的校验数据再次确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,直至确定无需要重写数据的比特位。
本申请实施例的向存储器写入数据的方法,通过确定存储器的工作状态,读取存储器阵列中的第一数据和数据缓存区的第二数据,根据工作状态、第一数据和第二数据,生成至少一个校验数据,并将校验数据存储在校验缓存区,每个校验数据中包括多个第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,校验数据在校验缓存区中的地址与第一数据在存储器阵列中的地址匹配,根据校验数据中的多个第一标识数据,确定需要重写数据的目标比特位,并向目标比特位写入目标数据,其中,目标数据根据工作状态确定,从存储器阵列读取写入目标数据后生成的第三数据,根据第三数据、校验数据和工作状态对校验数据进行更新,进而根据更新后的校验数据再次确定需要重写数据的目标比特位,并向目标比特位写入目标数据,直至确定无需要重写数据的比特位。由此,通过仅对存储器阵列中需要重写的比特位重新写入数据,而对写入的数据中无需重写的比特位不重新写入数据,无需擦除地址中已写入的数据,仅需对地址中需要重写的比特位重写数据,充分利用了已写入的数据,既避免了存储器原始正确的数据经过擦除再写这种多余的操作,也避免了原本正确写入数据的比特位重复写入时因材料特性不能保证再次写入的结果仍是正确的而导致写入次数增加的情况,从而能够有效减少写入数据的次数,降低数据写入的耗时,提高数据写入效率。
本申请第二方面实施例提出了一种向存储器写入数据的装置,包括:
状态确定模块,用于确定存储器的工作状态,所述工作状态包括写0状态和写1状态;
第一读取模块,用于读取存储器阵列中的第一数据和数据缓存区的第二数据;
生成模块,用于根据所述工作状态、所述第一数据和所述第二数据,生成校验数据,并将所述校验数据存储在校验缓存区,其中,所述校验数据为至少一个,每个所述校验数据中包括多个第一标识数据,每个所述第一标识数据用于表征对应比特位的数据是否需要重写,所述校验数据在所述校验缓存区中的地址与所述第一数据在所述存储器阵列中的地址匹配;
写入模块,用于根据所述校验数据中的多个所述第一标识数据,确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,其中,所述目标数据根据所述工作状态确定;
第二读取模块,用于从所述存储器阵列读取第三数据,所述第三数据是写入目标数据后,所述存储器阵列中的数据;
更新模块,用于根据所述第三数据、所述校验数据和所述工作状态对所述校验数据进行更新;
所述写入模块,还用于根据更新后的校验数据再次确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,直至确定无需要重写数据的比特位。
本申请实施例的向存储器写入数据的装置,通过确定存储器的工作状态,读取存储器阵列中的第一数据和数据缓存区的第二数据,根据工作状态、第一数据和第二数据,生成至少一个校验数据,并将校验数据存储在校验缓存区,每个校验数据中包括多个第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,校验数据在校验缓存区中的地址与第一数据在存储器阵列中的地址匹配,根据校验数据中的多个第一标识数据,确定需要重写数据的目标比特位,并向目标比特位写入目标数据,其中,目标数据根据工作状态确定,从存储器阵列读取写入目标数据后生成的第三数据,根据第三数据、校验数据和工作状态对校验数据进行更新,进而根据更新后的校验数据再次确定需要重写数据的目标比特位,并向目标比特位写入目标数据,直至确定无需要重写数据的比特位。由此,通过仅对存储器阵列中需要重写的比特位重新写入数据,而对写入的数据中无需重写的比特位不重新写入数据,无需擦除地址中已写入的数据,仅需对地址中需要重写的比特位重写数据,充分利用了已写入的数据,既避免了存储器原始正确的数据经过擦除再写这种多余的操作,也避免了原本正确写入数据的比特位重复写入时因材料特性不能保证再次写入的结果仍是正确的而导致写入次数增加的情况,从而能够有效减少写入数据的次数,降低数据写入的耗时,提高数据写入效率。
本申请第三方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现如前述第一方面实施例所述的向存储器写入数据的方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一实施例提出的向存储器写入数据的方法的流程示意图;
图2为根据本申请实施例的存储器写操作的过程示例图;
图3为本申请另一实施例提出的向存储器写入数据的方法的流程示意图;
图4是根据本申请一具体实施例的向存储器写入数据的方法的流程示意图;以及
图5为本申请一实施例提出的向存储器写入数据的装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的向存储器写入数据的方法、装置及存储介质。
相关技术中,对存储器执行写操作存在两个问题。(1)在对存储器进行写操作时,需要将存储器中待写区域的数据都先擦除,然后将待写的数据再写入到存储器,这样会出现原来就有正确数据的比特位,在擦除之后还需要再次写回,使得一些数据位进行了两次无效的操作,增加了整个写的时间,对材料本身也会造成一定的损耗;(2)当检验获知存储器中写入的数据错误时,对存储器中待写入数据的所有地址重新写入数据,这样就会对已经写对的地址造成影响。具体地,由于一些单元所使用材料的特性,本次能写对但下次写入数据时可能出错,从而导致正确写入数据所需写入的次数增加,写入时间增长,效率低。并且,已经写入正确的数据重复写入也会对存储器造成损耗,导致存储器的使用寿命缩短。
针对上述问题,本申请提供了一种向存储器写入数据的方法,通过仅对写入数据未成功的比特位重新写入数据,而对已正确写入数据的比特位不再重新写入数据,既避免了存储器原始正确的数据经过擦除再写这种多余的操作,也避免了原本正确写入数据的比特位重新写入时因材料特性不能保证再次写入的结果仍是正确的而导致写入次数增加的情况,从而能够有效减少写入数据的次数,降低数据写入的耗时,提高数据写入效率,并且能够降低对存储器的损耗,有利于延长存储器的使用寿命。
图1为本申请一实施例提出的向存储器写入数据的方法的流程示意图,本实施例的向存储器写入数据的方法可以由本申请提出的向存储器写入数据的装置执行。
如图1所示,向存储器写入数据的方法可以包括以下步骤:
步骤100,确定存储器的工作状态,工作状态包括写0状态和写1状态。
通常,对存储器执行写操作时,是将写0操作和写1操作分开进行的,通过配置不同的电压使存储器工作在写0状态或写1状态。对于待写入存储器的数据,先执行写0操作,当所有待写入的数据写0完成后,再对待写入的数据执行写1操作;或者,也可以先对待写入存储器的数据执行写1操作,当所有待写入的数据写1完成后,再对待写入的数据执行写0操作。从而,本实施例中,可以根据向存储器配置的电压来确定存储器当前的工作状态,以确定存储器当前处于写0状态或写1状态。
步骤101,读取存储器阵列中的第一数据和数据缓存区的第二数据。
其中,数据缓存区用于存储待写入存储器阵列中的数据,存储器阵列用于存储写入存储器的数据。
通常,向存储器阵列中写入数据之前,存储器阵列中已存在一组数据,这一数据可以是之前的数据,比如,可以是在对存储器上一次写入的数据。现有技术中,当需要向存储器阵列中写入数据时,一般需要先擦除存储器阵列中的数据,再向存储器阵列写入待写入的数据,而本申请中,不对存储器阵列中已有的数据进行擦除,而是读取存储器阵列中的已有数据作为第一数据。也就是说,本实施例中,第一数据是向存储器写入数据前,存储器阵列中存储的一组随机数据。
本实施例中,还从数据缓存区中读取原始数据作为第二数据,能够理解的是,数据缓存区中存储的原始数据是需要写入存储器的正确数据,因此本实施例中,利用数据缓存区中的第二数据可以对存储器阵列中已有的数据进行验证,以确定需要重写的数据。
步骤102,根据工作状态、第一数据和第二数据,生成校验数据,并将校验数据存储在校验缓存区,其中,校验数据为至少一个,每个校验数据中包括多个第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,校验数据在校验缓存区中的地址与第一数据在存储器阵列中的地址匹配。
本实施例中,数据缓存区中的数据按照一定的顺序依次写入存储器阵列中的各个地址内,因此从数据缓存区读取的第二数据与从存储器阵列中读取的第一数据之间存在对应关系,依据该对应关系,再结合存储器当前所处状态,可以生成至少一个校验数据,其中,每个校验数据中包括多个第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写。
作为一种示例,可以利用0和1作为第一标识数据的取值,用于标识需要写入数据的位置,即需要重新写入数据的比特位。比如用0表征不需要重新写入数据的位置,用1表征需要重新写入数据的位置。当然,也可以用0表示需要重新写入数据的比特位,而用1表示不需要重新写入数据的比特位,本申请对此不作限制。本申请以0表示不需要重新写入数据的位置,1表示需要重新写入数据的位置为例来解释说明本申请,当校验数据的某个比特位的第一标识数据为1时,表明存储器阵列中对应地址的相同比特位需要重写数据。
需要说明的是,本申请实施例中,一个校验数据中所包含的第一标识数据的个数,与存储器阵列中每个地址的位宽相同。比如,存储器阵列中每个地址的位宽为32位,则一个校验数据中包含32个第一标识数据,且每个第一标识数据与存储器阵列中地址的各个比特位一一对应。
本实施例中,生成的校验数据存储在校验缓存区,校验缓存区包括多个地址,每个地址存储一个校验数据,校验缓存区中的地址可以通过对存储器阵列中的地址进行地址映射确定,以便于根据校验数据在校验缓存区中的地址,在对存储器阵列操作时,根据所要操作的存储器地址在校验数据缓存区中找到匹配的校验数据。也就是说,存储器阵列中的地址与校验缓存区中的地址存在一种对应关系,即存储器阵列的任意一个地址都可以在校验缓存区中找到与之对应的校验数据,而校验缓存区中每个地址存储的校验数据,都能表征存储器阵列中对应地址的比特位是否需要重写。比如,假设校验缓存区中的地址数量为10个,分别为地址0~地址9,则对于存储器中的地址,先写地址0~9的数据,且存储器阵列中的地址0与校验缓存区中的地址0对应,写完之后再写地址10~19,且地址10与校验缓存区的地址0对应。
本申请实施例中,生成的校验数据与存储器当前所处状态有关,对于相同的第一数据和第二数据,写0状态和写1状态下生成的校验数据不同。
举例而言,假设从存储器阵列读取的第一数据为10101100(对应的比特位为bit7~0,即第一数据的最低位为bit0,对应的值为0,最高位为bit7,对应的值为1),从数据缓存区读取的第二数据为11001010(该数据为待写数据,对应的比特位为bit7~0),则当存储器的工作状态为写0状态时,生成的校验数据为00100100(对应的比特位为bit7~0);当存储器的工作状态为写1状态时,生成的校验数据为01000010(对应的比特位为bit7~0)。无论存储器工作在何种状态,生成的校验数据中,校验数据的bit7与第一数据的bit7对应,校验数据的bit0与第一数据的bit0对应。
步骤103,根据校验数据中的多个第一标识数据,确定需要重写数据的目标比特位,并向目标比特位写入目标数据,其中,目标数据根据工作状态确定。
本实施例中,第一标识数据用于表征对应比特位是否需要重写数据,因此,根据校验数据中的各个第一标识数据,可以确定需要重写数据的目标比特位,并向目标比特位重写写入目标数据。具体地,当存储器当前的工作状态为写0状态时,则向目标比特位写入0,当存储器当前的工作状态为写1状态时,则向目标比特位写入1。
举例而言,假设校验缓存区的地址0(记为D0)中存储的校验数据为00100100,地址0与存储器阵列的地址0(记为ADDR0)对应,当存储器当前的工作状态为写0状态时,则向ADDR0的bit2和bit5重新写入0。
在本申请实施例一种可能的实现方式中,在向目标比特位写入目标数据之前,应该先确定执行写操作的次数小于预设的最大写入次数。也就是说,应当确定当前的累积写入次数未达到预设的最大写入次数。当未达到预设的最大写入次数时,才向目标比特位写入目标数据,当达到最大写入次数时,则停止写操作。其中,最大写入次数可以预先设定,通过设置最大写入次数,能够避免在有缺陷的比特上一直无法正确写入存储器时陷入无限写入的状态,导致增加写入时间与功耗,从而达到降低能耗的目的。
步骤104,从存储器阵列读取第三数据,第三数据是写入目标数据后,存储器阵列中的数据。
本实施例中,向需要重写的目标比特位重新写入目标数据后,继续对重写存储阵列之后生成的新数据进行校验,则需要再次从存储器阵列读取数据,新读取的数据作为第三数据。
举例而言,假设存储器的工作状态为写0操作,从存储器阵列读取的第一数据为10101100,从数据缓存区读取的第二数据为11001010,则根据第一数据、第二数据和工作状态生成的校验数据为00100100(对应的比特位为bit7~0),则对第一数据的bit2和bit5重写0,写完之后,再次从存储器阵列读取当前的数据,比如当前的数据为10001100,该10001100即为第三数据。
步骤105,根据第三数据、校验数据和工作状态对校验数据进行更新。
本实施例中,读取了第三数据后,再次根据第三数据和当前的校验数据以及工作状态,对当前的校验数据进行更新,生成新的校验数据。
继续上述举例,对第一数据的bit2和bit5重写0之后,从存储器阵列中读取的第三数据为10001100,重写之前的校验数据为00100100,根据第三数据和写0状态可以确定,bit5的数据已写对,但bit2的数据仍然错误,将校验数据又00100100更新为00000100。
步骤106,根据更新后的校验数据再次确定需要重写数据的目标比特位,并向目标比特位写入目标数据,直至确定无需要重写数据的比特位。
本实施例中,对校验数据进行更新之后,根据更新后的校验数据继续判断是否存在需要重写的比特位,若存在,则再次确定需要重写数据的目标比特位,并向目标比特位写入目标数据。重复执行步骤104~步骤106,直至确定无需要重写数据的比特位。此外,当仍存在需要重写的目标比特位,但累计执行写操作的次数已达到最大写入次数时,停止对目标比特位执行写操作。
在本申请实施例一种可能的实现方式中,每个校验数据中还包括一个第二标识数据,用于表征存储器阵列中,与第二标识数据对应的校验数据的地址相匹配的目标地址中是否存在需要重写的比特位。从而,本实施例中,在确定无需要重写数据的比特位之后,还需要将校验数据中的第二标识数据更新为0。
例如,当根据工作状态、第一数据和第二数据生成各第一标识数据后,若一个校验数据中存在第一标识数据为1,则该校验数据中的第二标识数据为1,在对需要重写的目标比特位重写目标数据的过程中,第二标识数据始终为1,直至确定不存在需要重写数据的比特位之后,即同一校验数据中的各个第一标识数据均为0时,才将该校验数据中的第二标识数据更新为0。
实际应用中,可以增加一片MaskBuff作为校验缓存区,用来与存储器阵列内部做地址映射,将存储器阵列中的地址映射到MaskBuff中。图2为根据本申请实施例的存储器写操作的过程示例图。图2中,MaskBuff中的每一行代表一个地址,用于存储校验数据,MaskBuff的每一行在存储器阵列中都有对应的地址,数据缓存区用于存储要写入存储器阵列中的数据,即wdata(即上文中的第二数据),写操作驱动(write driver)用于将数据写入存储器阵列,读写控制器用于对存储器阵列中写入的数据进行校验。如图2所示,MaskBuff中的每一个地址用于存储一个校验数据,每个校验数据包括1比特的DF[](即第二标识数据)和(n+1)比特的maskdata(即第一标识数据,如第一行中的D0[0]、D0[1]、D0[2]、…、D0[n]),读写控制器根据从数据缓存区读取的wdata和从存储器阵列读取的Array rdata(即上文中的第一数据)生成1比特的第二标识数据和(n+1)比特的maskdata,并将其存储在MaskBuff中与Array rdata在存储器阵列中的地址对应的地址中,从而,存储器阵列中的每个地址中的第一数据,在校验缓存区中都有对应的校验数据并存储在对应的地址中。
根据MaskBuff中每一行的maskdata,可以确定存储器阵列中对应地址中需要重写的比特位。比如,图2中,D0[1]为1,则存储器阵列中与地址D0对应的地址的bit1需要重写数据,则write driver的WD[1]位将目标数据(1或0)写入存储器阵列中与D0匹配的地址的bit1。
校验缓存区的地址数量为至少一个,比如,如图2所示,校验缓存区包括m+1个地址。当校验缓存区的地址数量为多个时,对于校验缓存区中的每个地址中的校验数据,可以根据所有地址的校验数据来确定所有需要重写数据的目标比特位,也可以从第一个地址开始,根据该地址中存储的校验数据,判断存储器阵列中与该地址匹配的地址中是否存在需要重写的比特位,比如,根据DF[0]判断与地址D0匹配的地址是否存在需要重写的比特位,DF[0]为1时表示存在,DF[0]为0时表示不存在。若确定存在需要更新的比特位,则继续根据校验数据中的第一标识数据确定需要重写的目标比特位,并对目标比特位重写数据。
举例而言,当从校验缓存区的第一个地址开始进行校验重写时,以图2为例,假设存储器当前的工作状态为写0状态,从MaskBuff中的第一行(D0)开始,根据D0中存储的第二标识数据(DF[0])确定存储器阵列中与D0对应的地址(记为W0)中存在需要重写的目标比特位,则继续根据D0中存储的第一标识数据(D0[0]、D0[1]、…、D0[n])确定出需要重写的目标比特位,比如D0[1]和D0[n]为1,则确定目标比特位为bit1和bitn,则对W0中的bit1和bitn重写0,对bit1和bitn写完之后,再次从W0读取数据(即第三数据),根据读取的第三数据和当前D0中的校验数据,对D0中的校验数据进行更新,若更新后的校验数据中,D0[1]为1,则再次向W0的bit1写0,写完之后再次从W0读取数据(仍记为第三数据),根据此时的第三数据与D0中的校验数据对校验数据再次进行更新,若D0中的第一标识数据均为0,则将D0中的DF[0]由1更新为0。之后,开始根据MaskBuff中的第二行(即下一地址,记为D1)存储的校验数据,继续判断存储器阵列中与D1匹配的地址(记为W1)是否存在需要重写的比特位,并对需要重写的目标比特位重写数据。重复上述过程,直至达到预设的最大写入次数,或者,直至DF[0]~DF[m]均更新为0。当DF[0]~DF[m]均更新为0且未达到最大写入次数时,继续从存储器阵列读取下一批第一数据和从数据缓存区读取下一批第二数据,继续根据步骤100~步骤106的过程执行写操作和校验流程,直至数据缓存区中的数据均成功写入存储器阵列,或直至达到最大写入次数。
举例而言,当根据校验缓存区所有地址的校验数据来确定所有需要重写数据的目标比特位进行重写时,即将校验缓存区的所有校验数据作为整体进行校验重写时,以图2为例,假设存储器当前的工作状态为写0状态,根据MaskBuff中地址0~地址m(D0~Dm)中的所有校验数据(共m+1个)的第二标识数据,确定存储器阵列中与D0~Dm对应的(m+1)个地址中所有需要重写的目标比特位,比如D0[1]、D1[2]和Dm[0]为1,则确定存储器阵列当前操作区域中需要重写的目标比特位为:与D0对应的地址中的bit1、与D1对应的地址中的bit2和与Dm对应的地址中的bit0,对目标比特位重写0,之后再次从存储器阵列读取当前操作区域的数据,并根据读取的数据和原校验数据对D0~Dm存储的校验数据进行更新,根据更新后的校验数据重新确定需要重写的目标比特位,再次进行重写并更新校验数据,重复上述过程,直至达到最大写入次数,或者,直至MaskBuff中当前所有的校验数据均为0,表明存储器阵列中当前操作区域的数据均写入正确,之后,对存储器阵列中的下一段区域进行数据写入,根据步骤100~步骤106的过程执行写操作和校验流程,直至数据缓存区中的数据均成功写入存储器阵列(仅写0),之后再重新开始对存储器阵列中需要写入数据的地址进行写1操作,写1操作的流程与写0类似,此处不再赘述。
本申请实施例的向存储器写入数据的方法,通过确定存储器的工作状态,读取存储器阵列中的第一数据和数据缓存区的第二数据,根据工作状态、第一数据和第二数据,生成至少一个校验数据,并将校验数据存储在校验缓存区,每个校验数据中包括多个第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,校验数据在校验缓存区中的地址与第一数据在存储器阵列中的地址匹配,根据校验数据中的多个第一标识数据,确定需要重写数据的目标比特位,并向目标比特位写入目标数据,其中,目标数据根据工作状态确定,从存储器阵列读取写入目标数据后生成的第三数据,根据第三数据、校验数据和工作状态对校验数据进行更新,进而根据更新后的校验数据再次确定需要重写数据的目标比特位,并向目标比特位写入目标数据,直至确定无需要重写数据的比特位。由此,通过仅对存储器阵列中需要重写的比特位重新写入数据,而对写入的数据中无需重写的比特位不重新写入数据,无需擦除地址中已写入的数据,仅需对地址中需要重写的比特位重写数据,充分利用了已写入的数据,既避免了存储器原始正确的数据经过擦除再写这种多余的操作,也避免了原本正确写入数据的比特位重复写入时因材料特性不能保证再次写入的结果仍是正确的而导致写入次数增加的情况,从而能够有效减少写入数据的次数,降低数据写入的耗时,提高数据写入效率。
本申请实施例中,相较于传统技术,新增了一个校验缓存区来存储校验数据,根据校验数据确定需要重写的比特位并进行重写数据。由于校验缓存区的存储空间相较于数据缓存区和存储器阵列的存储空间较小,为了充分利用校验缓存区的存储空间,可以根据校验缓存区的存储空间来读取第一数据和第二数据。从而,在本申请实施例一种可能的实现方式中,如图3所示,在如图1所示实施例的基础上,步骤101可以包括以下步骤:
步骤201,获取校验缓存区的地址数量。
校验缓存区生成后,校验缓存区的存储空间也被确定,从而,本实施例中,可以获取校验缓存区的存储空间,即获取校验缓存区的地址数量。例如,对于图2所示的校验缓存区,获取的地址数量为m。
步骤202,从存储器阵列和数据缓存区分别读取相同地址数量的第一数据和第二数据。
本实施例中,从存储器阵列和数据缓存区读取数据时,可以根据获取的校验缓存区的地址数量,从存储器阵列读取相同地址数量的第一数据,以及从数据缓存区读取相同地址数量的第二数据。
举例而言,假设校验缓存区的地址数量为10,校验缓存区中待写入存储器阵列的数据存储在25个地址中(分别为地址0~地址24),存储器阵列中待写入数据的区域为地址00~地址024,则在写入数据时,先从存储器阵列中读取地址00~地址009的数据作为第一数据,从数据缓存区读取地址0~地址9的数据作为第二数据,地址00~地址009成功写入数据后,再从存储器阵列中读取地址010~地址019的数据作为第一数据,从数据缓存区读取地址10~地址19的数据作为第二数据,地址010~地址019成功写入数据后,再从存储器阵列中读取地址020~地址024的数据作为第一数据,从数据缓存区读取地址20~地址24的数据作为第二数据。
本实施例的向存储器写入数据的方法,通过获取校验缓存区的地址数量,从存储器阵列和数据缓存区分别读取相同地址数量的第一数据和第二数据,由此,能够充分利用校验缓存区的存储空间,避免读取的第一数据和第二数据较多导致校验缓存区存储空间不足无法存储所有的校验数据的情况,以及避免读取的第一数据和第二数据较少导致校验缓存区的存储空间浪费的情况。
图4是根据本申请一具体实施例的向存储器写入数据的方法的流程示意图,在本实施例中,存储器的工作状态为写0状态。如图4所示,该向存储器写入数据的方法可以包括以下步骤:
步骤10,确定存储器的工作状态为写0状态。
步骤11,根据校验缓存区的地址数量,读取存储器阵列中相同地址数量的第一数据和数据缓存区中相同地址数量的第二数据。
步骤12,根据写0状态、第一数据和第二数据,生成校验数据,并将校验数据存储在校验缓存区,其中,校验数据中包括第一标识数据和第二标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,校验数据在校验缓存区中的地址与第一数据在存储器阵列中的地址匹配。
本实施例中,对步骤10-步骤12的描述可以参见前述实施例中对步骤100-步骤102、步骤201-步骤202的描述,此处不再赘述。
步骤13,根据校验缓存区所有地址中的第二标识数据判断对应的第一数据是否校验通过。
其中,当第二标识数据为0时,表示从存储器阵列中读取出来的第一数据校验通过,存储器阵列中与校验数据对应的当前操作区域中不存在需要重写的比特位;当第二标识数据为1时,表示第一数据校验未通过,存储器阵列中与校验数据对应的当前操作区域中存在需要重写的比特位。
本实施例中,根据校验缓存区中所有校验数据的第二标识数据,判断存储器阵列中与校验缓存区对应的地址中写入的第一数据是否校验通过,若通过,则执行步骤19,否则,执行步骤14。
步骤14,根据校验缓存区所有地址中的第一标识数据,确定存储器阵列中与校验数据对应的当前操作区域中需要重写数据的目标比特位。
其中,第一标识数据为0时,表明当前操作区域中与该第一标识数据所在地址对应地址中相同比特位不需要重写数据,当第一标识数据为1时,表明当前操作区域中与该第一标识数据所在地址对应地址中相同比特位需要重写数据。
步骤15,判断数据写入次数是否达到预设的最大写入次数。
步骤16,向目标比特位写入0。
步骤17,从存储器阵列的当前操作区域读取第三数据,并根据第三数据、校验数据和写0状态对校验数据进行更新。
本实施例中,当第一数据校验未通过时,向存储器阵列的当前操作区域中需要重写数据的目标比特位重写数据0,并在写完之后再次从当前操作区域读取数据,记为第三数据,并根据第三数据、当前所有的校验数据和写0状态对校验缓存区中当前所有的校验数据进行更新,得到更新后的校验数据。
其中,对校验数据进行更新,包括对校验数据中的第一标识数据进行更新,或者,对第一标识数据和第二标识数据均进行更新。具体地,当根据第三数据和当前的校验数据确定当前操作区域中与该校验数据对应的目标地址中,需要写0的比特位均写入0后,则将该校验数据中原本为1的第一标识数据更新为0,并将该校验数据中的第二标识数据的值更新为0;当根据第三数据和当前的校验数据确定当前操作区域中与该校验数据对应的目标地址中,需要写0的比特位一部分写入0,另一部分未写入0,则将该校验数据中已成功写入0的比特位对应的第一标识数据的值更新为0,将未成功写入0的比特位对应的第一标识数据仍保持1,并将该校验数据中的第二标识数据维持1。
举例而言,假设存储器的工作状态为写0操作,校验缓存区中某一地址的校验数据为1_00100100,其中,“_”前的一个比特为第二标识数据,“_”之后的8个比特为第一标识数据,如果从该地址读取的第三数据为10001100,则更新后的校验数据为1_00000100;如果从该地址读取的第三数据为10001000,则更新后的校验数据为0_00000000。
步骤18,根据更新后的校验数据,判断当前操作区域中是否存在需要重写的比特位。
本实施例中,对校验缓存区中的校验数据进行更新后,根据更新后的校验数据中各第一标识数据判断当前操作区域中是否仍存在需要重写的比特位,若更新后的校验数据中的各个第一标识数据均为0,则表明当前操作区域中需要写0的比特位均成功写入正确数据,则执行步骤19,若仍存在第一标识数据为1,则判定当前操作区域中仍存在需要写0的比特位未写入正确数据,则返回执行步骤15。
步骤19,从存储器阵列读取下一批数据作为第一数据,从数据缓存区读取下一批数据作为第二数据。
本实施例中,读取了新的第一数据和第二数据之后,返回执行步骤12,开始新一轮的校验-写入流程,直至数据缓存区中的数据均写入存储器阵列中。
步骤20,结束。
本实施例中,当写入次数达到预设的最大写入次数时,则结束对存储器的写操作。
需要说明的是,本实施例中,当对存储器阵列中的待写区域执行完写0操作之后,再对待写区域执行写1操作,执行写1操作的流程与上述写0的过程类似,当写1操作完成后,数据缓存区中的数据被成功写入存储器阵列的待写区域中,此时也结束对存储器的写操作。
本实施例的向存储器写入数据的方法,通过仅对存储器阵列中写入的数据未通过校验的比特位重新写入数据,而对写入的数据通过校验的比特位不重新写入数据,避免了原本正确写入数据的比特位重新写入时出错导致写入次数增加的情况,从而能够有效减少写入数据的次数,降低数据写入的耗时,提高数据写入效率。
为了实现上述实施例,本申请还提出一种向存储器写入数据的装置。
图5为本申请一实施例提出的向存储器写入数据的装置的结构示意图。
如图5所示,该向存储器写入数据的装置40包括:状态确定模块400、第一读取模块410、生成模块420、写入模块430、第二读取模块440,以及更新模块450。
其中,状态确定模块400,用于确定存储器的工作状态,所述工作状态包括写0状态和写1状态。
第一读取模块410,用于读取存储器阵列中的第一数据和数据缓存区的第二数据。
生成模块420,用于根据工作状态、第一数据和第二数据,生成校验数据,并将校验数据存储在校验缓存区,其中,校验数据为至少一个,每个校验数据中包括第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,校验数据在校验缓存区中的地址与第一数据在存储器阵列中的地址匹配。
写入模块430,用于根据校验数据中的多个第一标识数据,确定需要重写数据的目标比特位,并向目标比特位写入目标数据,其中,目标数据根据工作状态确定。
第二读取模块440,用于从存储器阵列读取第三数据,第三数据是写入目标数据后,存储器阵列中的数据。
更新模块450,用于根据第三数据、校验数据和工作状态对校验数据进行更新。
写入模块430,还用于根据更新后的校验数据再次确定需要重写数据的目标比特位,并向目标比特位写入目标数据,直至确定无需要重写数据的比特位。
在本申请实施例一种可能的实现方式中,写入模块430还用于在向目标比特位写入目标数据之前,确定执行写操作的次数小于预设的最大写入次数。
进一步地,在本申请实施例一种可能的实现方式中,每个校验数据中还包括一个第二标识数据,用于表征存储器阵列中,与第二标识数据对应的校验数据的地址相匹配的目标地址中是否存在需要重写的比特位;更新模块450,还用于:将第二标识数据更新为0。
在本申请实施例一种可能的实现方式中,第一读取模块410具体用于获取校验缓存区的地址数量;从存储器阵列和数据缓存区分别读取相同地址数量的第一数据和第二数据。
需要说明的是,前述对向存储器写入数据的方法实施例的解释说明也适用于该实施例的向存储器写入数据的装置,其实现原理类似,此处不再赘述。
本申请实施例的向存储器写入数据的装置,通过确定存储器的工作状态,读取存储器阵列中的第一数据和数据缓存区的第二数据,根据工作状态、第一数据和第二数据,生成至少一个校验数据,并将校验数据存储在校验缓存区,每个校验数据中包括多个第一标识数据,每个第一标识数据用于表征对应比特位的数据是否需要重写,校验数据在校验缓存区中的地址与第一数据在存储器阵列中的地址匹配,根据校验数据中的多个第一标识数据,确定需要重写数据的目标比特位,并向目标比特位写入目标数据,其中,目标数据根据工作状态确定,从存储器阵列读取写入目标数据后生成的第三数据,根据第三数据、校验数据和工作状态对校验数据进行更新,进而根据更新后的校验数据再次确定需要重写数据的目标比特位,并向目标比特位写入目标数据,直至确定无需要重写数据的比特位。由此,通过仅对存储器阵列中需要重写的比特位重新写入数据,而对写入的数据中无需重写的比特位不重新写入数据,无需擦除地址中已写入的数据,仅需对地址中需要重写的比特位重写数据,充分利用了已写入的数据,既避免了存储器原始正确的数据经过擦除再写这种多余的操作,也避免了原本正确写入数据的比特位重复写入时因材料特性不能保证再次写入的结果仍是正确的而导致写入次数增加的情况,从而能够有效减少写入数据的次数,降低数据写入的耗时,提高数据写入效率。
为了实施上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现如前述实施例所述的向存储器写入数据的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种向存储器写入数据的方法,其特征在于,包括以下步骤:
确定存储器的工作状态,所述工作状态包括写0状态和写1状态;
读取存储器阵列中的第一数据和数据缓存区的第二数据;
根据所述工作状态、所述第一数据和所述第二数据,生成校验数据,并将所述校验数据存储在校验缓存区,其中,所述校验数据为至少一个,每个所述校验数据中包括多个第一标识数据,每个所述第一标识数据用于表征对应比特位的数据是否需要重写,所述校验数据在所述校验缓存区中的地址与所述第一数据在所述存储器阵列中的地址匹配;
根据所述校验数据中的多个所述第一标识数据,确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,其中,所述目标数据根据所述工作状态确定;
从所述存储器阵列读取第三数据,所述第三数据是写入目标数据后,所述存储器阵列中的数据;
根据所述第三数据、所述校验数据和所述工作状态对所述校验数据进行更新;
根据更新后的校验数据再次确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,直至确定无需要重写数据的比特位。
2.如权利要求1所述的方法,其特征在于,每个所述校验数据中还包括一个第二标识数据,用于表征所述存储器阵列中,与所述第二标识数据对应的所述校验数据的地址相匹配的目标地址中是否存在需要重写的比特位;在所述确定无需要重写数据的比特位之后,还包括:
将所述第二标识数据更新为0。
3.如权利要求1所述的方法,其特征在于,在所述向所述目标比特位写入目标数据之前,还包括:
确定执行写操作的次数小于预设的最大写入次数。
4.如权利要求1-3任一所述的方法,其特征在于,所述读取存储器阵列中的第一数据和数据缓存区的第二数据,包括:
获取所述校验缓存区的地址数量;
从所述存储器阵列和所述数据缓存区分别读取相同所述地址数量的第一数据和第二数据。
5.一种向存储器写入数据的装置,其特征在于,包括:
状态确定模块,用于确定存储器的工作状态,所述工作状态包括写0状态和写1状态;
第一读取模块,用于读取存储器阵列中的第一数据和数据缓存区的第二数据;
生成模块,用于根据所述工作状态、所述第一数据和所述第二数据,生成校验数据,并将所述校验数据存储在校验缓存区,其中,所述校验数据为至少一个,每个所述校验数据中包括多个第一标识数据,每个所述第一标识数据用于表征对应比特位的数据是否需要重写,所述校验数据在所述校验缓存区中的地址与所述第一数据在所述存储器阵列中的地址匹配;
写入模块,用于根据所述校验数据中的多个所述第一标识数据,确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,其中,所述目标数据根据所述工作状态确定;
第二读取模块,用于从所述存储器阵列读取第三数据,所述第三数据是写入目标数据后,所述存储器阵列中的数据;
更新模块,用于根据所述第三数据、所述校验数据和所述工作状态对所述校验数据进行更新;
所述写入模块,还用于根据更新后的校验数据再次确定需要重写数据的目标比特位,并向所述目标比特位写入目标数据,直至确定无需要重写数据的比特位。
6.如权利要求5所述的装置,其特征在于,每个所述校验数据中还包括一个第二标识数据,用于表征所述存储器阵列中,与所述第二标识数据对应的所述校验数据的地址相匹配的目标地址中是否存在需要重写的比特位;所述更新模块,还用于:
将所述第二标识数据更新为0。
7.如权利要求5所述的装置,其特征在于,所述写入模块,还用于:
确定执行写操作的次数小于预设的最大写入次数。
8.如权利要求5-7任一所述的装置,其特征在于,所述第一读取模块,具体用于:
获取所述校验缓存区的地址数量;
从所述存储器阵列和所述数据缓存区分别读取相同所述地址数量的第一数据和第二数据。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现如权利要求1-4任一项所述的向存储器写入数据的方法。
CN201911072175.2A 2019-11-05 2019-11-05 向存储器写入数据的方法、装置及存储介质 Active CN111045600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911072175.2A CN111045600B (zh) 2019-11-05 2019-11-05 向存储器写入数据的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911072175.2A CN111045600B (zh) 2019-11-05 2019-11-05 向存储器写入数据的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111045600A CN111045600A (zh) 2020-04-21
CN111045600B true CN111045600B (zh) 2023-02-21

Family

ID=70232286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911072175.2A Active CN111045600B (zh) 2019-11-05 2019-11-05 向存储器写入数据的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111045600B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281239A (zh) * 2020-09-28 2022-04-05 华为云计算技术有限公司 一种镜像文件写入方法及装置
CN113757935B (zh) * 2021-09-03 2023-02-17 Tcl空调器(中山)有限公司 数据更新方法、装置、空调器及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455427A (zh) * 2012-05-28 2013-12-18 北京兆易创新科技股份有限公司 一种Nand-flash 存储器写操作的方法和装置
CN110069360A (zh) * 2019-04-22 2019-07-30 重庆长安新能源汽车科技有限公司 一种电机控制器数据的存储、读取方法及装置
CN110136769A (zh) * 2019-04-16 2019-08-16 珠海市杰理科技股份有限公司 Otp寄存器数据修正方法、装置、计算机设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016149051A (ja) * 2015-02-13 2016-08-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455427A (zh) * 2012-05-28 2013-12-18 北京兆易创新科技股份有限公司 一种Nand-flash 存储器写操作的方法和装置
CN110136769A (zh) * 2019-04-16 2019-08-16 珠海市杰理科技股份有限公司 Otp寄存器数据修正方法、装置、计算机设备和存储介质
CN110069360A (zh) * 2019-04-22 2019-07-30 重庆长安新能源汽车科技有限公司 一种电机控制器数据的存储、读取方法及装置

Also Published As

Publication number Publication date
CN111045600A (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
CN107452421B (zh) 固态储存装置及其状态预测方法
US7523381B2 (en) Non-volatile memory with error detection
US8086919B2 (en) Controller having flash memory testing functions, and storage system and testing method thereof
CN108932964A (zh) 存储设备和操作存储设备的方法
TWI512462B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN111045600B (zh) 向存储器写入数据的方法、装置及存储介质
TWI554886B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
US20130159798A1 (en) Non-volatile memory device and operating method thereof
US20120185740A1 (en) Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same
CN116880782B (zh) 一种内嵌式存储器及其测试方法
CN111696598B (zh) 存储装置及其低级格式化方法
US10509565B2 (en) Apparatuses, methods, and computer-readable non-transitory recording mediums for erasure in data processing
JP2007316779A (ja) 不揮発性メモリシステム
US20090164869A1 (en) Memory architecture and configuration method thereof
CN114005481B (zh) 闪存的擦写能力测试方法、装置、计算机设备和存储介质
CN114637469A (zh) Flash存储器的数据读写方法、系统以及介质、设备
CN108564981B (zh) 一种存储装置数据安全动态监控方法
CN109215726B (zh) 存储器测试方法及其存储器装置
CN117289860A (zh) 嵌入式微控制器及其数据读写方法
JP5660521B2 (ja) 不揮発性半導体記憶装置およびメモリ管理方法
CN115470052B (zh) 存储芯片的坏块检测方法、检测装置及存储介质
KR100692982B1 (ko) 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리
CN115472190A (zh) 存储器读写验证方法
CN111124742B (zh) Flash数据校验方法及Flash控制器、存储介质、设备
JP6317653B2 (ja) 自動車用電子制御装置及びデータ記憶方法

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