WO2020062797A1 - 一种数据存储方法及存储器 - Google Patents

一种数据存储方法及存储器 Download PDF

Info

Publication number
WO2020062797A1
WO2020062797A1 PCT/CN2019/078401 CN2019078401W WO2020062797A1 WO 2020062797 A1 WO2020062797 A1 WO 2020062797A1 CN 2019078401 W CN2019078401 W CN 2019078401W WO 2020062797 A1 WO2020062797 A1 WO 2020062797A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecc
data
preset threshold
ecc value
data source
Prior art date
Application number
PCT/CN2019/078401
Other languages
English (en)
French (fr)
Inventor
李虎
罗胜
Original Assignee
深圳市德名利电子有限公司
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 深圳市德名利电子有限公司 filed Critical 深圳市德名利电子有限公司
Publication of WO2020062797A1 publication Critical patent/WO2020062797A1/zh

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Definitions

  • the present invention relates to the technical field of data storage, and in particular, to a data storage method and a memory.
  • the data is generally written into the NAND module using SLC. After the empty block of SLC is used to a certain extent, the data in SLC is quickly copied to the MLC block or TLC block. Using SLC will reduce the capacity (half the MLC and two-thirds the TLC). The use of the copyback function is to improve the speed, because the data does not need to be transferred to the outside, only the data is moved inside the Nand Flash.
  • the existing Nand Flash design has flaws in the design principle.
  • the data requires error correction by the ECC hardware module.
  • the purpose of the present invention is to solve the problems of the design principles of Nand Flash and the high data error rate in the prior art, and to propose a data storage method and memory, which can effectively reduce the wind direction of data errors.
  • a data storage method includes:
  • Establishing an ECC table recording the first ECC value of the data source page and the second ECC value of the data target page;
  • updating the ECC table includes an update of a first ECC value and an update of a second ECC value
  • the data target page is scanned to update the second ECC value.
  • the first preset threshold is 5bit-15bit.
  • the second preset threshold is 15bit-25bit.
  • adopting an ECC module to correct the data source page includes:
  • the ECC module reads data from the data source page for error correction
  • the ECC module writes the error-corrected data into a data source page according to the write command.
  • the data is copied in a copyback mode.
  • the third preset threshold is 20bit-40bit.
  • copying data in a copyback mode includes:
  • the data in the data source page is copied to the data target page, and the data source page is released.
  • a memory includes a main control chip, a NAND module, and an ECC module, and the NAND module includes a data source page and a data target page;
  • the main control chip is configured to perform:
  • Establishing an ECC table recording the first ECC value of the data source page and the second ECC value of the data target page;
  • the data source page is an SLC block, a TLC block, or an MLC block;
  • the data target page is a TLC block or an MLC block.
  • FIG. 1 is a flowchart of an embodiment of a data storage method provided by the present invention.
  • FIG. 2 is a flowchart of another embodiment of a data storage method provided by the present invention.
  • FIG. 3 is a schematic structural diagram of an embodiment of a memory provided by the present invention.
  • this embodiment provides a data storage method, including:
  • Step S101 Establish an ECC table to record a first ECC value of a data source page and a second ECC value of a data target page;
  • Step S102 updating the ECC table
  • Step S103 Load the ECC table to detect whether the first ECC value exceeds a first preset threshold
  • Step S104 if the first ECC value exceeds the first preset threshold, use an ECC module to correct the data source page;
  • Step S105 if the first ECC value does not exceed a first preset threshold, then detect whether the second ECC value exceeds a second preset threshold;
  • Step S106 if the second ECC value exceeds the second preset threshold, use the ECC module to correct the data source page;
  • Step S107 If the second ECC value does not exceed the second preset threshold, copy data in a copyback mode.
  • ECC Error Correcting Code
  • step S101 is executed to establish an ECC table when the memory leaves the factory.
  • the first ECC value of the data source page and the second ECC value of the data target page of each page of the memory are scanned and stored in the memory.
  • step S102 is performed, and updating the ECC table includes an update of a first ECC value and an update of a second ECC value;
  • the data target page is scanned to update the second ECC value.
  • the data source page is used to temporarily store data.
  • the number of blocks is small, the reuse rate is high, and the erasure and reading are frequent.
  • the ECC value will change. Therefore, it is necessary to focus on its ECC value. Scan it.
  • the data target page is used to save data for a long time, and the number of blocks is large. Therefore, the scan of the data target page is performed when the data is read normally, and it is not scanned at idle time.
  • step S103 is executed, an ECC table is loaded after power-on, and it is detected whether the first ECC value exceeds a first preset threshold.
  • the first preset threshold is 5bit-15bit.
  • step S104 is performed. If the first ECC value exceeds a first preset threshold, the data source page is corrected by using an ECC module, which specifically includes:
  • the ECC module reads data from the data source page for error correction
  • the ECC module writes the error-corrected data into a data source page according to the first write command.
  • step S105 if the first ECC value does not exceed the first preset threshold, it is detected whether the second ECC value exceeds the second preset threshold.
  • the second preset threshold is 15bit- 25bit.
  • step S106 is executed. If the second ECC value exceeds a second preset threshold, an ECC module is used to correct the data source page.
  • step S107 is performed. If the second ECC value does not exceed the second preset threshold, copying data in a copyback mode specifically includes:
  • the data in the data source page is copied to the data target page, and the data source page is released.
  • the data is copied in a copyback mode.
  • the third preset threshold is 20bit-40bit.
  • the data source page is an SLC block, a TLC block, or an MLC block;
  • the data target page is a TLC block or an MLC block.
  • SLC Single-Level Cell
  • TLC Multiple-Level Cell
  • MLC Multi-Level Cell, multi-level cell
  • MLC Multi-Level Cell, multi-level cell
  • the data source page is an SLC block
  • the data target page is a TLC block or an MLC block.
  • the data source page is a TLC block or an MLC block
  • the data target page is also a TLC block or an MLC block.
  • this embodiment provides a memory including a main control chip 201, a NAND module 202, and an ECC module 203.
  • the NAND module includes a data source page 2021 and a data target page 2022.
  • the main control chip 201 is configured to perform:
  • Establishing an ECC table recording the first ECC value of the data source page and the second ECC value of the data target page;
  • the data source page is an SLC block, a TLC block, or an MLC block;
  • the data target page is a TLC block or an MLC block.
  • main control chip 202 is further configured to perform:
  • the data target page is scanned to update the second ECC value.
  • the main control chip 202 is further configured to perform:
  • the ECC module reads data from the data source page for error correction
  • the ECC module writes the error-corrected data into a data source page according to the write command.
  • the main control chip 202 is further configured to perform: using an ECC module to correct the data source page.
  • the main control chip 20 is further configured to perform:
  • the data in the data source page is copied to the data target page, and the data source page is released.
  • the main control chip 201 is further configured to perform:
  • the data is copied in a copyback mode.

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)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种数据存储方法及存储器,该方法包括:建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值(S101);更新ECC表格(S102);加载ECC表格,检测第一ECC值是否超过第一预设阈值(S103);如果第一ECC值超过第一预设阈值,则采用ECC模块对数据来源页进行纠错(S104);如果第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值(S105);如果第二ECC值超过第二预设阈值,则采用ECC模块对数据来源页进行纠错(S106);如果第二ECC值没有超过第二预设阈值,则采用copyback模式拷贝数据(S107);该方法能够降低因copyback功能引起错误bit超出ECC纠错范围,降低数据出错的风险。

Description

一种数据存储方法及存储器 技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据存储方法及存储器。
背景技术
现有的Nand Flash存储器,一般先将数据采用SLC写入NAND 模块中,待SLC的空块用到一定程度后再使用copyback功能将SLC中的数据快速拷贝到MLC 块或者TLC块中,因为单纯使用SLC的话会导致容量减少(MLC减少一半,TLC减少三分之二),采用copyback功能是为了提高速度,因为数据不需要传输到外部,只是在Nand Flash内部数据搬移。现在通常采用降低MLC/TLC的 ECC来保证数据准确,例如ECC硬件模块可以纠错60bit,在扫描的时候SLC的错误bit数为10bit,MLC/TLC中错误bit数超过20bit则代表数据出错,后续不再使用,但是这些块其实是可以保留使用的,10+20=30 < 60,小于ECC硬件纠错范围内,为了给后续留有30bit出错点的余量。
现有的Nand Flash的设计原理上存在缺陷,数据需要ECC硬件模块纠错,ECC硬件模块纠错是需要将数据从Nand中读出来,经过ECC硬件模块运算后才可以纠错,但是copyback整个过程是在Nand Flash内部进行的,这样会导致SLC 中的错误bit并没有被纠错就写入了MLC/TLC中,例如flash开始保留了30bit的余量,但是随着SLC与TLC的擦写次数增加,两个块的错误bit都会升高,假如SLC错误bit为15,TLC错误bit为50,一旦使用copyback命令拷贝数据的话,最终的错误bit为15+50=65 > 60 (ECC硬件纠错最大值),导致数据出错。
技术问题
在此处键入技术问题描述段落。
技术解决方案
本发明的目的在于针对上述现有技术中的Nand Flash的设计原理缺陷,数据出错率高的问题,提出一种数据存储方法及存储器,能够有效降低数据出错的风向。
一种数据存储方法,包括:
建立ECC表格,记录数据来源页的第一ECC值,以及数据目标页的第二ECC值;
更新所述ECC表格;
加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;
如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;
如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。
进一步地,更新所述ECC表格包括第一ECC值的更新和第二ECC值的更新;
空闲时扫描所述数据来源页进行第一ECC值的更新;
正常读取数据时扫描所述数据目标页进行第二ECC值的更新。
进一步地,所述第一预设阈值为5bit-15bit。
进一步地,所述第二预设阈值为15bit-25bit。
进一步地,采用ECC模块对所述数据来源页进行纠错,包括:
生成读取命令;
根据所述读取命令,ECC模块从所述数据来源页中读取数据进行纠错;
纠错完成后生成写入命令;
ECC模块根据所述写入命令将纠错后的数据写入数据来源页中。
进一步地,如果所述第二ECC值没有超过所述第二预设阈值,则检测所述第一ECC值与第二ECC值之和是否超过第三预设阈值;
如果所述第一ECC值与第二ECC值之和超过第三预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第一ECC值与第二ECC值之和没有超过第三预设阈值,则采用copyback模式拷贝数据。
进一步地,所述第三预设阈值为20bit-40bit。
进一步地,采用copyback模式拷贝数据,包括:
检测数据来源页中的数据数量是否达到预设数量;
如果是,则将数据来源页中的数据拷贝至所述数据目标页中,并释放所述数据来源页。
一种存储器,包括主控芯片、NAND模块以及ECC模块,所述NAND模块包括数据来源页和数据目标页;
所述主控芯片用于执行:
建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值;
更新所述ECC表格;
加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;
如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;
如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。
进一步地,所述数据来源页为SLC块、TLC块或者MLC块;
所述数据目标页为TLC块或者MLC块。
本发明提供的数据存储方法及存储器,至少包括如下有益效果:
(1)降低因copyback功能引起错误bit超出ECC纠错范围,降低数据出错的风险;
(2)通过ECC表格的记录,可以预测NAND FLASH寿命,避免关键性数据写入高ECC值的块,提高系统的稳定性;
(3)增加对第一ECC值与第二ECC值之和是否超过第三预设阈值的判断,可以有效的防止边界情况,进一步降低数据出错的风险。
有益效果
在此处键入有益效果描述段落。
附图说明
图1 为本发明提供的数据存储方法一种实施例的流程图。
图2为本发明提供的数据存储方法另一种实施例的流程图。
图3为本发明提供的存储器一种实施例的结构示意图。
本发明的最佳实施方式
在此处键入本发明的最佳实施方式描述段落。
本发明的实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
参考图1,本实施例提供一种数据存储方法,包括:
步骤S101,建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值;
步骤S102,更新所述ECC表格;
步骤S103,加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;
步骤S104,如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;
步骤S105,如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;
步骤S106,如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;
步骤S107,如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。
ECC(Error Correcting Code,错误检查和纠正),是一种能够实现“错误检查和纠正”的技术。
进一步地,执行步骤S101,在存储器出厂时建立ECC表格,通过扫描存储器每个页的数据来源页的第一ECC值,以及数据目标页的第二ECC值,并保存至存储器中。
进一步地,执行步骤S102,更新所述ECC表格包括第一ECC值的更新和第二ECC值的更新;
空闲时扫描所述数据来源页进行第一ECC值的更新;
正常读取数据时扫描所述数据目标页进行第二ECC值的更新。
数据来源页用来临时保存数据,块数少,重复利用率高,擦除读写频繁,但是随着擦除次数的增加,其ECC值会发生变化,因此需要重点关注其ECC值,空闲时进行扫描。
数据目标页用来长期保存数据,块数多,因此数据目标页的扫描是在正常读取数据时进行,不会在空闲时候扫描。
进一步地,执行步骤S103,上电后加载ECC表格,检测第一ECC值是否超过第一预设阈值,作为一种优选的实施方式,第一预设阈值为5bit-15bit。
进一步地,执行步骤S104,如果第一ECC值超过第一预设阈值,采用ECC模块对数据来源页进行纠错,具体包括:
生成读取命令;
根据所述读取命令,ECC模块从所述数据来源页中读取数据进行纠错;
纠错完成后生成写入命令;
ECC模块根据所述第一写入命令将纠错后的数据写入数据来源页中。
进一步地,执行步骤S105,如果第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值,作为一种优选的实施方式,第二预设阈值为15bit-25bit。
进一步地,执行步骤S106,如果第二ECC值超过第二预设阈值,则采用ECC模块对所述数据来源页进行纠错。
进一步地,执行步骤S107,如果第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据,具体包括:
检测数据来源页中的数据数量是否达到预设数量;
如果是,则将数据来源页中的数据拷贝至所述数据目标页中,并释放所述数据来源页。
此外,作为另外一种可选的实施方式,参考图2,如果所述第二ECC值没有超过所述第二预设阈值,则检测所述第一ECC值与第二ECC值之和是否超过第三预设阈值;
如果所述第一ECC值与第二ECC值之和超过第三预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第一ECC值与第二ECC值之和没有超过第三预设阈值,则采用copyback模式拷贝数据。
作为一种优选的实施方式,所述第三预设阈值为20bit-40bit。
如果所述第二ECC值没有超过所述第二预设阈值,进一步对第一ECC值与第二ECC值之和是否超过第三预设阈值进行判断,可以有效的防止边界情况,进一步降低数据出错的风险。
进一步地,所述数据来源页为SLC块、TLC块或者MLC块;
所述数据目标页为TLC块或者MLC块。
SLC(Single-Level Cell ,单层单元),用于临时保存数据,容量小、速度快。
TLC(Triple-Level Cell ,三层单元,),用于长期保存数据,容量大、数量多。
MLC(Multi-Level Cell,多层单元),用于长期保存数据,容量大、数量多。
第一种应用场景下,数据来源页为SLC块,数据目标页为TLC块或者MLC块。
第二种应用场景下, 数据来源页为TLC块或者MLC块,数据目标页也为TLC块或者MLC块。
本实施例提供的数据存储方法,至少包括如下有益效果:
(1)降低因copyback功能引起错误bit超出ECC纠错范围,降低数据出错的风险;
(2)通过ECC表格的记录,可以预测NAND FLASH寿命,避免关键性数据写入高ECC值的块,提高系统的稳定性;
(3)增加对第一ECC值与第二ECC值之和是否超过第三预设阈值的判断,可以有效的防止边界情况,进一步降低数据出错的风险。
 
实施例二
参考图3,本实施例提供一种存储器,包括主控芯片201、NAND模块202以及ECC模块203,NAND模块包括数据来源页2021和数据目标页2022;
主控芯片201用于执行:
建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值;
更新所述ECC表格;
加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;
如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;
如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。
进一步地,所述数据来源页为SLC块、TLC块或者MLC块;
所述数据目标页为TLC块或者MLC块。
进一步地,主控芯片202还用于执行:
空闲时扫描所述数据来源页进行第一ECC值的更新;
正常读取数据时扫描所述数据目标页进行第二ECC值的更新。
进一步地,如果第一ECC值超过第一预设阈值,主控芯片202还用于执行:
生成读取命令;
根据所述第一读取命令,ECC模块从所述数据来源页中读取数据进行纠错;
纠错完成后生成写入命令;
ECC模块根据所述写入命令将纠错后的数据写入数据来源页中。
进一步地,如果第二ECC值超过第二预设阈值,主控芯片202还用于执行:则采用ECC模块对所述数据来源页进行纠错。
进一步地,如果第二ECC值没有超过所述第二预设阈值,则主控芯片20还用于执行:
检测数据来源页中的数据数量是否达到预设数量;
如果是,则将数据来源页中的数据拷贝至所述数据目标页中,并释放所述数据来源页。
进一步地,如果所述第二ECC值没有超过所述第二预设阈值,则主控芯片201还用于执行:
检测所述第一ECC值与第二ECC值之和是否超过第三预设阈值;
如果所述第一ECC值与第二ECC值之和超过第三预设阈值,则采用ECC模块对所述数据来源页进行纠错;
如果所述第一ECC值与第二ECC值之和没有超过第三预设阈值,则采用copyback模式拷贝数据。
具体工作原理请参考实施例一,在此不再赘述。
本实施例提供的存储器,至少包括如下有益效果:
(1)降低因copyback功能引起错误bit超出ECC纠错范围,降低数据出错的风险;
(2)通过ECC表格的记录,可以预测NAND FLASH寿命,避免关键性数据写入高ECC值的块,提高系统的稳定性;
(3)增加对第一ECC值与第二ECC值之和是否超过第三预设阈值的判断,可以有效的防止边界情况,进一步降低数据出错的风险。
 
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
工业实用性
在此处键入工业实用性描述段落。
序列表自由内容
在此处键入序列表自由内容描述段落。

Claims (10)

  1. 一种数据存储方法,其特征在于,包括:
    建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值;
    更新所述ECC表格;
    加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;
    如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;
    如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;
    如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;
    如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。
  2. 根据权利要求1所述的数据存储方法,其特征在于,更新所述ECC表格包括第一ECC值的更新和第二ECC值的更新;
    空闲时扫描所述数据来源页进行第一ECC值的更新;
    正常读取数据时扫描所述数据目标页进行第二ECC值的更新。
  3. 根据权利要求1所述的数据存储方法,其特征在于,所述第一预设阈值为5bit-15bit。
  4. 根据权利要求3所述的数据存储方法,其特征在于,所述第二预设阈值为15bit-25bit。
  5. 根据权利要求1所述的数据存储方法,其特征在于,采用ECC模块对所述数据来源页进行纠错,包括:
    生成读取命令;
    根据所述读取命令,ECC模块从所述数据来源页中读取数据进行纠错;
    纠错完成后生成写入命令;
    ECC模块根据所述写入命令将纠错后的数据写入数据来源页中。
  6. 根据权利要求5所述的数据存储方法,其特征在于,如果所述第二ECC值没有超过所述第二预设阈值,则检测所述第一ECC值与第二ECC值之和是否超过第三预设阈值;
    如果所述第一ECC值与第二ECC值之和超过第三预设阈值,则采用ECC模块对所述数据来源页进行纠错;
    如果所述第一ECC值与第二ECC值之和没有超过第三预设阈值,则采用copyback模式拷贝数据。
  7. 根据权利要求6所述的数据存储方法,其特征在于,所述第三预设阈值为20bit-40bit。
  8. 根据权利要求1或6所述的数据存储方法,其特征在于,采用copyback模式拷贝数据,包括:
    检测数据来源页中的数据数量是否达到预设数量;
    如果是,则将数据来源页中的数据拷贝至所述数据目标页中,并释放所述数据来源页。
  9. 一种存储器,其特征在于,包括主控芯片、NAND模块以及ECC模块,所述NAND模块包括数据来源页和数据目标页;
    所述主控芯片用于执行:
    建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值;
    更新所述ECC表格;
    加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;
    如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;
    如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;
    如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;
    如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。
  10. 根据权利要求9所述的存储器,其特征在于,所述数据来源页为SLC块、TLC块或者MLC块;
    所述数据目标页为TLC块或者MLC块。
PCT/CN2019/078401 2018-09-26 2019-03-16 一种数据存储方法及存储器 WO2020062797A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811123529.7 2018-09-26
CN201811123529.7A CN109388343B (zh) 2018-09-26 2018-09-26 一种数据存储方法及存储器

Publications (1)

Publication Number Publication Date
WO2020062797A1 true WO2020062797A1 (zh) 2020-04-02

Family

ID=65418254

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/078401 WO2020062797A1 (zh) 2018-09-26 2019-03-16 一种数据存储方法及存储器

Country Status (2)

Country Link
CN (1) CN109388343B (zh)
WO (1) WO2020062797A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388343B (zh) * 2018-09-26 2020-08-28 深圳市德明利技术股份有限公司 一种数据存储方法及存储器
CN110764693B (zh) * 2019-09-12 2023-03-28 深圳市德明利技术股份有限公司 一种提高Nand flash数据稳定性的方法以及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699406A (zh) * 2009-11-12 2010-04-28 威盛电子股份有限公司 数据储存系统与方法
CN101763904A (zh) * 2008-12-24 2010-06-30 海力士半导体有限公司 非易失性存储装置及其操作方法
CN105867833A (zh) * 2015-01-21 2016-08-17 深圳市硅格半导体有限公司 数据存储装置及数据存储方法
CN109388343A (zh) * 2018-09-26 2019-02-26 深圳市德名利电子有限公司 一种数据存储方法及存储器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
CN101901169B (zh) * 2010-03-23 2013-08-28 华为数字技术(成都)有限公司 扫描装置及方法
US8909982B2 (en) * 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
KR20130076430A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 적응적 카피백 방법 및 이를 이용한 저장 장치
US9619321B1 (en) * 2015-10-08 2017-04-11 Seagate Technology Llc Internal copy-back with read-verify
KR20180026022A (ko) * 2016-09-01 2018-03-12 삼성전자주식회사 스토리지 장치 및 그것의 카피백 방법
CN107203436B (zh) * 2017-05-25 2021-04-06 郑州云海信息技术有限公司 一种Nand Flash数据校验的方法与装置
CN107301132A (zh) * 2017-06-09 2017-10-27 华中科技大学 一种闪存垃圾回收优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763904A (zh) * 2008-12-24 2010-06-30 海力士半导体有限公司 非易失性存储装置及其操作方法
CN101699406A (zh) * 2009-11-12 2010-04-28 威盛电子股份有限公司 数据储存系统与方法
CN105867833A (zh) * 2015-01-21 2016-08-17 深圳市硅格半导体有限公司 数据存储装置及数据存储方法
CN109388343A (zh) * 2018-09-26 2019-02-26 深圳市德名利电子有限公司 一种数据存储方法及存储器

Also Published As

Publication number Publication date
CN109388343B (zh) 2020-08-28
CN109388343A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
TWI389122B (zh) 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器
US10089174B2 (en) Flash memory controller and memory device for accessing flash memory module, and associated method
TWI473117B (zh) 具資料修正功能之快閃記憶體儲存裝置
US8510637B2 (en) Data reading method, memory storage apparatus and memory controller thereof
TWI555023B (zh) 快閃記憶體更新方法以及快閃記憶體控制器
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
US10635527B2 (en) Method for processing data stored in a memory device and a data storage device utilizing the same
JP5162763B2 (ja) メモリアクセスシステム
TW201916018A (zh) 資料儲存裝置與將資料寫入記憶體裝置之方法
JPWO2005111812A1 (ja) メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
KR20080069822A (ko) 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
TW201321977A (zh) 快閃記憶裝置及其資料讀取方法
TWI554886B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
US20170103815A1 (en) Data Storage Device and Data Maintenance Method
WO2020062797A1 (zh) 一种数据存储方法及存储器
US9043675B2 (en) Storage device
TWI393146B (zh) 具有錯誤修正碼容量設定單元之快閃記憶體控制器及其方法
JP2004220068A (ja) メモリカード及びメモリへのデータ書き込み方法
TWI744049B (zh) 記憶體控制器與資料處理方法
JP2020042890A (ja) メモリシステムおよびメモリシステムの制御方法
JP2012252557A (ja) メモリコントローラ
US9570162B2 (en) Data read method for flash memory
US20100042900A1 (en) Write Failure Handling of MLC NAND
US10019186B2 (en) Data maintenance method for error control and data storage device using the same
JP7291640B2 (ja) 半導体記憶装置及び半導体記憶装置のリフレッシュ方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19866621

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 16/08/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19866621

Country of ref document: EP

Kind code of ref document: A1