CN107783725A - 数据存储的方法、装置以及非易失性存储器 - Google Patents

数据存储的方法、装置以及非易失性存储器 Download PDF

Info

Publication number
CN107783725A
CN107783725A CN201610779065.XA CN201610779065A CN107783725A CN 107783725 A CN107783725 A CN 107783725A CN 201610779065 A CN201610779065 A CN 201610779065A CN 107783725 A CN107783725 A CN 107783725A
Authority
CN
China
Prior art keywords
data
exceeding
time limit
data block
page
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.)
Pending
Application number
CN201610779065.XA
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
Nanjing ZTE New Software 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 Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201610779065.XA priority Critical patent/CN107783725A/zh
Priority to PCT/CN2017/099722 priority patent/WO2018041151A1/zh
Publication of CN107783725A publication Critical patent/CN107783725A/zh
Pending legal-status Critical Current

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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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

数据存储的方法、装置以及非易失性存储器
技术领域
本发明涉及数据存储领域,具体而言,涉及一种数据存储的方法、装置以及非易失性存储器。
背景技术
在通讯设备领域,数据存储的解决方案主要有三种:磁盘、NOR FLASH、NANDFLASH。磁盘是传统的存储设备,优点是容量大,数据保存时间长,但体积大,不耐震,功耗高,而且价格也高,在通讯设备上已经较少使用。NOR FLASH优点是数据保存时间长,擦写次数多,可靠性高,功耗低,但是容量太小,而且价格高,已经不能满足通讯设备日益增长的数据存储需求。NAND FLASH是较理想的解决方案,具有大容量、高吞吐、低功耗、耐震、发热量小的优点。但是由于厂商的半导体工艺在不断升级,以及为了满足对日益增长的容量需求,NAND FLASH存储器的工艺尺寸不断缩小,使得NAND FLASH的数据保持能力严重下降。采用43nm工艺的SLC(Single Level Cell)NAND FLASH数据保存时间为10年以上,但采用24nm工艺之后数据保存时间仅为5年左右。这是由于NAND FLASH存储器是基于浮栅电荷存储实现数据的保存,在数据保存期间,浮栅电荷泄漏导致浮栅电荷数量减少,浮栅电荷的丢失将会导致数据错误产生。随着工艺尺寸不断缩小,NAND FLASH存储器的存储单元浮栅结构的几何尺寸不断缩小,导致绝缘层越来越薄,电荷泄漏越来越严重,所以数据保存时间越来越短。
相关技术中解决方案是增加纠错编码(Error Correction Code,简称ECC)纠错比特数来提升纠错能力,在一定程度上缓解了数据保持能力下降的问题。但这种方法效果有限,随着数据保存时间的增加,数据错误的产生会爆发式增长,很快就超出了可纠错范围,无法纠正。而且增加ECC纠错比特数,意味着纠错电路复杂度的提高,增加了成本。在当前24-32nm的工艺下,此方法能起到一定作用。但是对于将来16nm以及更小的尺寸,则不再适用。所以能否提高NAND FLASH的数据保持能力,将影响NAND FLASH能否作为未来工业级存储解决方案的关键。
因此,在相关技术中,还没有一种比较的好的方案解决非易失性存储器数据保存时间越来越短的问题。
发明内容
本发明实施例提供了一种数据存储的方法、装置以及非易失性存储器,以至少解决相关技术中非易失性存储器数据保存时间越来越短的问题。
根据本发明的一个实施例,提供了一种数据存储的方法,包括:对超期数据块以页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;将超期数据块中的数据写入到指定空闲数据块中。
可选地,所述超期数据块中的所述存储时间通过以下方式确定:将所述超期数据块中第一页数据的写入时间作为所述存储时间。
可选地,所述存储时间存储于所述超期数据块中第一页的带外区域OOB中。
可选地,按照预设规则对每页数据进行校验,包括以下之一:按照所述预设算法对所述超期数据块中的数据进行校验,并在未通过校验时,对所述超期数据块中的数据进行纠正,如果所述超期数据块中的数据纠正成功,则确定所述超期数据块中的数据通过校验;如果所述超期数据块中的数据纠正失败,则确定所述超期数据块中的数据未通过校验。可选地,将超期数据块中的数据写入到指定空闲数据块中,包括:将通过校验的所述数据、未通过校验但支持纠错的所述数据以及未通过校验不支持纠错的所述数据写入所述到所述指定空闲数据块中。
可选地,将指定空闲数据块中数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块。
可选地,所述超期数据块存储于超期列表当中。
可选地,对超期数据块以页为单位进行遍历,并按照预设规则对每页数据进行校验,还包括:在进行校验过程中检测到数据访问请求,则在当前的超期数据块写入到所述指定空闲数据块后暂停校验;在数据访问完成后,继续对所述超期数据块的校验。
根据本发明的另一个实施例,提供了一种数据存储的装置,包括:校验模块,用于对超期数据块以页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;写入模块,用于将超期数据块中的数据写入到指定空闲数据块中。
可选的,所述校验模块还用于:按照所述预设算法对所述超期数据块中的数据进行校验,并在未通过校验时,对所述超期数据块中的数据进行纠正,如果所述超期数据块中的数据纠正成功,则确定所述超期数据块中的数据通过校验;如果所述超期数据块中的数据纠正失败,则确定所述超期数据块中的数据未通过校验。
可选地,所述装置还包括:标记模块,用于将指定空闲数据块中数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块。
可选地,所述装置还包括:暂停模块,用于在进行校验过程中检测到数据访问请求,则在当前的超期数据块写入到所述指定空闲数据块后暂停校验;重启模块,用于在数据访问完成后,继续对所述超期数据块的校验。
根据本发明的又一个实施例,还提供了一种非易失性存储器,包括上述记载的数据存储的装置。
根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:
S11,对超期数据块以数据页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;
S12,将超期数据块中的数据写入到指定空闲数据块中。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:
S21,将指定空闲数据块中数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:
S31,在进行校验过程中检测到数据访问请求,则在当前的超期数据块写入到所述指定空闲数据块后暂停校验;
S32,在数据访问完成后,继续对所述超期数据块的数据进行校验。
通过本发明,由于对超过存储时间的数据块进行校验并写入新的数据块,因此,可以解决非易失性存储器数据保存时间越来越短的问题,从而增加了数据的保存时间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据存储的方法的流程图;
图2是根据本发明实施例的一种数据存储的装置的结构图;
图3是根据本发明实施例的另一种数据存储的装置的结构图;
图4是根据本发明实施例的又一种数据存储的装置的结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种运行于非易失性存储器的数据存储的方法,图1是根据本发明实施例的一种数据存储的方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,对超期数据块以数据页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;
可选地,将所述超期数据块中第一页数据的写入时间作为所述存储时间。
具体地,该存储时间存储于所述超期数据块中第一页的带外区域OOB中。
可选地,上述校验过程包括:按照预设算法对所述超期数据块中的数据进行校验,并在未通过校验时,对所述超期数据块中的数据进行纠正。如果所述超期数据块中的数据纠正成功,则确定所述超期数据块中的数据通过校验;如果所述超期数据块中的数据纠正失败,则确定所述超期数据块中的数据未通过校验。
可选地,该预设算法包括但不限于:Hamming编码和BCH编码
可选地,预设时间是指非易失性存储器允许数据存储的最大时间。
可选地,当判断数据款中的数据存储时间大于预设时间时,则确定当前的数据块为超期数据块,并将该超期数据块存储在超期列表当中。
步骤S104,将超期数据块中的数据写入到指定空闲数据块中。
可选地,该指定空闲数据块中具体写入了通过校验的所述数据、未通过校验但支持纠错的所述数据以及未通过校验不支持纠错的所述数据
需要指出的是,校验的目的在于对错误的数据进行纠正。而对于不能够进行纠正的数据而言,虽然存在错误,但是仍然需要写入指定空闲数据块中。具体地,在本实施例中还提供了以下场景以便于理解本实施例。
可选地,在将超期数据块中的数据写入指定空闲数据块后,将指定空闲数据块中数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块。需要指出的是超期数据块的地址具体可以指超级数据块数据页的逻辑地址。通过上述方法,在后续需要读取数据时,可以根据更新后的地址正确地读取数据块。
可选地,当在将超期数据块中的数据写入指定空闲数据块时,用户通过该非易失性存储器进行数据访问时,那么在当前的超期数据块写入到指定空闲数据块后暂停校验。此时不会再去从超期列表当中读取新的超期数据块。直到用户完成对非易失性存储器进行数据访问后,继续对所述超期数据块的校验。通过上述方法,可以保证该非易失性存储器的正常使用,避免在使用非易失性存储器时,发生数据读取错误等问题,
场景1
在非易失性存储器中的控制器上增加一个实时时钟以获取时间信息。每次系统上电后,由CPU发送当前时间信息给控制器,以修正实时时钟的时间。设定数据最长保存时间为2年。设定控制器扫描数据块是否超期的时间间隔为1年。
假设当前时间是2010年1月1日,系统第一次上电,CPU将时间信息2010年1月1日发送给控制器,控制器修正实时时钟时间为2010年1月1日。接着,CPU给控制器发送写数据命令,并把第一页数据发送了控制器的缓冲区,控制器选择一个没有写入数据的空闲数据块,对其擦除,并把缓冲区的数据写入该数据块的第一页,接着将ECC码和时间信息“2010年1月1日”写入到第一页的OOB区域。然后,CPU再给控制器发送写数据命令,并把第二页数据发送了控制器的缓冲区,控制器将缓冲区的数据写入第二页,并将ECC码写入第二页的OOB区域。如此循环,直至数据写入完毕。
在2011年1月1日,到达第一扫描时间。控制器逐一读取写入数据的非空闲数据块第一页的写入时间,与当前时间“2011年1月1日”对比,发现没有数据块保存时间超过2年,超期列表为空,结束本次扫描。
在2012年1月1日,到达第二次扫描时间。控制器逐一读取非空闲数据块第一页的写入时间,与当前时间“2012年1月1日”对比,发现存在数据块的保存时间达到2年,将这些数据块地址存放在超期列表中。待扫描完所有非空数据块后,读出超期列表第一个数据块地址,假设地址为0x000a,接着选择一个空闲的数据块,假设地址为0x020c。控制器先将数据块0x020c擦除,接着读出数据块0x000a的第一页数据以及ECC码,利用ECC码校验数据的正确性,发现数据无误,接着将数据写入数据块0x020c的第一页,ECC码和时间信息“2012年1月1日”写入该页的OOB区域。
接着,读出数据块0x000a的第二页数据以及ECC码,利用ECC码校验数据的正确性,发现数据有误,利用ECC码将数据纠正,再将纠正后的数据写入数据块0x020c的第二页,ECC码写入该页的OOB区域。如此类推,搬移完该数据块的剩余页,接着,将数据块0x020c的数据页逻辑地址改为数据块0x000a的数据页逻辑地址,将数据块0x000a标记空闲数据块。至此,完成了第一个数据块的搬移。
假设在搬移数据块0x000b时,CPU向控制器发送了一个读取数据命令,控制器在执行完数据块0x000b的搬移后,先响应CPU的读命令,将数据发送给CPU,再执行超期列表中其它数据块的搬移。
场景2
CPU外挂了一片NAND FLASH作为存储器,当向某一数据块的第一页写入数据时,同时在第二存储器记录下该数据块地址和当前时间。这样,便在第二存储器中记录了以写入时间为先后顺序的数据块地址表。假设当前时间为2014年1月1日,设定数据最长保存时间为2年,那么CPU只需要把2012年以前写入数据的数据块进行搬移,即可实现数据保存时间的延长。
通过上述步骤,解决了非易失性存储器数据保存时间越来越短的问题,从而增加了数据的保存时间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种数据存储的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
需要指出的是,本实施例中的数据存储的装置可以应用于非易失性存储器当中,例如CF卡、SD卡、U盘等包含NAND FLASH的装置。
图2是根据本发明实施例的一种数据存储的装置的结构图,如图2所示,该装置包括:校验模块22以及写入模块24。
校验模块22,用于对超期数据块以数据页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;
可选地,将所述超期数据块中第一页数据的写入时间作为所述存储时间。
具体地,该存储时间存储于所述超期数据块中第一页的带外区域OOB中。
可选地,上述校验过程包括:按照预设算法对所述超期数据块中的数据进行校验,并在未通过校验时,对所述超期数据块中的数据进行纠正。如果所述超期数据块中的数据纠正成功,则确定所述超期数据块中的数据通过校验;如果所述超期数据块中的数据纠正失败,则确定所述超期数据块中的数据未通过校验。
可选地,预设时间是指非易失性存储器允许数据存储的最大时间。
可选地,当判断数据款中的数据存储时间大于预设时间时,则确定当前的数据块为超期数据块,并将该超期数据块存储在超期列表当中。
写入模块24,用于将超期数据块中的数据写入到指定空闲数据块中。
可选地,写入模块24还用于将通过校验的所述数据、未通过校验但支持纠错的所述数据以及未通过校验不支持纠错的所述数据写入所述到所述指定空闲数据块中。
需要指出的是,校验的目的在于对错误的数据进行纠正。而对于不能够进行纠正的数据而言,虽然存在错误,但是仍然需要写入指定空闲数据块中。。
图3是根据本发明实施例的另一种数据存储的装置的结构图,如图3所示,该装置除包括图2所示的所有模块外,还包括标记模块32。
标记模块32,用于将指定空闲数据块数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块。
需要指出的是超期数据块数据页的地址具体可以指超期数据块中数据页的逻辑地址。通过标记模块32,在后续需要读取数据时,可以根据更新后的地址正确地读取数据块。
图4是根据本发明实施例的又一种数据存储的装置的结构图,如图4所示,该装置除包括图2所示的所有模块外,还包括暂停模块42以及重启模块44。
暂停模块42,用于在进行校验过程中检测到数据访问请求,则在当前的超期数据块写入到指定空闲数据块后暂停校验;
重启模块44,用于在数据访问完成后,继续对所述超期数据块的数据进行校验。
通过暂停模块42以及重启模块44,可以保证该非易失性存储器的正常使用,避免在使用非易失性存储器时,发生数据读取错误等问题。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S11,对超期数据块以页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;
S12,将超期数据块中的数据写入到指定空闲数据块中。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:
S21,将指定空闲数据块中数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:
S31,在进行校验过程中检测到数据访问请求,则在当前的超期数据块写入到指定空闲数据块后暂停校验;
S32,在数据访问完成后,继续对所述超期数据块的数据进行校验。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种数据存储的方法,其特征在于,包括:
对超期数据块以数据页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;
将所述超期数据块中的数据写入到指定空闲数据块中。
2.根据权利要求1所述的方法,其特征在于,所述超期数据块中的所述存储时间通过以下方式确定:
将所述超期数据块中第一页数据的写入时间作为所述存储时间。
3.根据权利要求2所述的方法,所述存储时间存储于所述超期数据块中第一页的带外区域OOB中。
4.根据权利要求1所述的方法,其特征在于,按照所述预设规则对每页数据进行校验,包括以下之一:
按照预设算法对所述超期数据块中的数据进行校验,并在未通过校验时,对所述超期数据块中的数据进行纠正,如果所述超期数据块中的数据纠正成功,则确定所述超期数据块中的数据通过校验;如果所述超期数据块中的数据纠正失败,则确定所述超期数据块中的数据未通过校验。
5.根据权利要求1所述的方法,其特征在于,将所述超期数据块中的数据写入到所述指定空闲数据块中,包括:
将通过校验的所述数据、未通过校验但支持纠错的所述数据以及未通过校验不支持纠错的所述数据写入所述到所述指定空闲数据块中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述指定空闲数据块中数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块。
7.根据权利要求1所述的方法,其特征在于,对所述超期数据块以页为单位进行遍历,并按照预设规则对每页数据进行校验,还包括:
在进行校验过程中检测到数据访问请求,则在将所述超期数据块的当前数据写入到所述指定空闲数据块后暂停校验;
在数据访问完成后,继续对所述超期数据块的数据进行校验。
8.一种数据存储的装置,其特征在于,包括:
校验模块,用于对超期数据块以数据页为单位进行遍历,并按照预设规则对每页数据进行校验,其中,所述超期数据块中存储有存储时间到达预设时间的数据;
写入模块,用于将所述超期数据块中的数据写入到指定空闲数据块中。
9.根据权利要求8所述的装置,其特征在于,所述校验模块还用于:
按照预设算法对所述超期数据块中的数据进行校验,并在未通过校验时,对所述超期数据块中的数据进行纠正,如果所述超期数据块中的数据纠正成功,则确定所述超期数据块中的数据通过校验;如果所述超期数据块中的数据纠正失败,则确定所述超期数据块中的数据未通过校验。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
标记模块,用于将所述指定空闲数据块中数据页的地址标记为所述超期数据块中数据页的地址,并且将所述超期数据块标记为空闲数据块。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
暂停模块,用于在进行校验过程中检测到数据访问请求,则在将所述超期数据块的当前数据写入到所述指定空闲数据块后暂停校验;
重启模块,用于在数据访问完成后,继续对所述超期数据块的数据进行校验。
12.一种非易失性存储器,其特征在于,包括:权利要求8至11任一项所述的数据存储的装置。
CN201610779065.XA 2016-08-30 2016-08-30 数据存储的方法、装置以及非易失性存储器 Pending CN107783725A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610779065.XA CN107783725A (zh) 2016-08-30 2016-08-30 数据存储的方法、装置以及非易失性存储器
PCT/CN2017/099722 WO2018041151A1 (zh) 2016-08-30 2017-08-30 数据存储的方法、装置以及非易失性存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610779065.XA CN107783725A (zh) 2016-08-30 2016-08-30 数据存储的方法、装置以及非易失性存储器

Publications (1)

Publication Number Publication Date
CN107783725A true CN107783725A (zh) 2018-03-09

Family

ID=61300079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610779065.XA Pending CN107783725A (zh) 2016-08-30 2016-08-30 数据存储的方法、装置以及非易失性存储器

Country Status (2)

Country Link
CN (1) CN107783725A (zh)
WO (1) WO2018041151A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487475B2 (en) * 2020-07-06 2022-11-01 Silicon Motion, Inc. Control method for referring to expired block table to perform expired block recycling operation and associated flash memory controller and memory device
CN116521092A (zh) * 2023-06-30 2023-08-01 昆山工业大数据创新中心有限公司 一种工业设备数据的存储方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226504A (zh) * 2008-01-25 2008-07-23 炬力集成电路设计有限公司 一种防止存储器读损的方法及装置
CN101377749A (zh) * 2007-08-31 2009-03-04 华为技术有限公司 存储器数据校验方法、装置、可编程逻辑器件及系统
CN101794622A (zh) * 2010-02-10 2010-08-04 成都市华为赛门铁克科技有限公司 存储设备的数据扫描方法和装置
CN103455386A (zh) * 2013-08-28 2013-12-18 华为技术有限公司 一种修复出错数据的方法和设备
CN103745753A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存的纠错方法与系统
CN105242871A (zh) * 2014-06-06 2016-01-13 华为技术有限公司 一种数据写入方法及装置
CN105788647A (zh) * 2014-12-26 2016-07-20 北京兆易创新科技股份有限公司 一种非易失存储器的纠错方法和装置
CN105867833A (zh) * 2015-01-21 2016-08-17 深圳市硅格半导体有限公司 数据存储装置及数据存储方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7352621B2 (en) * 2005-06-23 2008-04-01 Intel Corporation Method for enhanced block management

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377749A (zh) * 2007-08-31 2009-03-04 华为技术有限公司 存储器数据校验方法、装置、可编程逻辑器件及系统
CN101226504A (zh) * 2008-01-25 2008-07-23 炬力集成电路设计有限公司 一种防止存储器读损的方法及装置
CN101794622A (zh) * 2010-02-10 2010-08-04 成都市华为赛门铁克科技有限公司 存储设备的数据扫描方法和装置
CN103455386A (zh) * 2013-08-28 2013-12-18 华为技术有限公司 一种修复出错数据的方法和设备
CN103745753A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存的纠错方法与系统
CN105242871A (zh) * 2014-06-06 2016-01-13 华为技术有限公司 一种数据写入方法及装置
CN105788647A (zh) * 2014-12-26 2016-07-20 北京兆易创新科技股份有限公司 一种非易失存储器的纠错方法和装置
CN105867833A (zh) * 2015-01-21 2016-08-17 深圳市硅格半导体有限公司 数据存储装置及数据存储方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487475B2 (en) * 2020-07-06 2022-11-01 Silicon Motion, Inc. Control method for referring to expired block table to perform expired block recycling operation and associated flash memory controller and memory device
CN116521092A (zh) * 2023-06-30 2023-08-01 昆山工业大数据创新中心有限公司 一种工业设备数据的存储方法和装置
CN116521092B (zh) * 2023-06-30 2023-09-05 昆山工业大数据创新中心有限公司 一种工业设备数据的存储方法和装置

Also Published As

Publication number Publication date
WO2018041151A1 (zh) 2018-03-08

Similar Documents

Publication Publication Date Title
US9734009B2 (en) Data encoding techniques for a device
US8832530B2 (en) Techniques associated with a read and write window budget for a two level memory system
CN109426580A (zh) 数据存储设备及其操作方法
CN102449613B (zh) 固态装置中的面向对象的存储器
US8074148B2 (en) Memory management method and controller for non-volatile memory storage device
CN100458718C (zh) 一种闪存存储装置及其数据读取和写入方法
US20120005559A1 (en) Apparatus and method for managing a dram buffer
US20180322041A1 (en) Data storage device and method for operating data storage device
TW201351425A (zh) 用於解碼取決於干擾條件下之資料之系統與方法
US9305663B2 (en) Techniques for assessing pass/fail status of non-volatile memory
CN102203740A (zh) 数据处理方法、装置及系统
KR20110036816A (ko) 고체 상태 메모리의 소거 횟수에 따라 에러를 정정하기 위한 방법과 장치
CN102081577A (zh) Flash存储器的数据存储结构及其数据操作方式
CN105808371A (zh) 数据备份与恢复方法、控制芯片及存储装置
CN106708754A (zh) 数据储存装置及其数据维护方法
TW201933369A (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
CN110347530A (zh) 数据存储装置及其操作方法
CN107799150A (zh) 3d nand闪存的错误缓解
US9384125B2 (en) Method for accessing flash memory having pages used for data backup and associated memory device
CN111475425A (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
US20160210210A1 (en) Solid-state storage system, apparatus and method of writing data
CN102981969A (zh) 重复数据删除的方法及其固态硬盘
KR20170035983A (ko) 고체 상태 드라이브의 전송 버퍼 사용률을 향상시키기 위해 nand 페이지 버퍼들을 사용하는 방법 및 시스템
JP2013016148A (ja) メモリコントローラ、不揮発性記憶装置
CN111399751B (zh) 闪存控制器、管理闪存模块的方法及相关的电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20180417

Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No.

Applicant after: ZTE Corp.

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Applicant before: Nanjing Zhongxing New Software Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180309

RJ01 Rejection of invention patent application after publication