CN116737446B - 一种基于有限ram空间的储存装置高速写入数据纠错方法 - Google Patents
一种基于有限ram空间的储存装置高速写入数据纠错方法 Download PDFInfo
- Publication number
- CN116737446B CN116737446B CN202311028242.7A CN202311028242A CN116737446B CN 116737446 B CN116737446 B CN 116737446B CN 202311028242 A CN202311028242 A CN 202311028242A CN 116737446 B CN116737446 B CN 116737446B
- Authority
- CN
- China
- Prior art keywords
- data
- nand
- ram
- xor
- writing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012937 correction Methods 0.000 title claims abstract description 21
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种基于有限RAM空间的储存装置高速写入数据纠错方法,其通过利用XOR(异或运算)机制和在RAM中设置XOR RAM,既保证了高速写入速度又避免了NAND写入错误,提升了低价存储装置的可靠性和纠错能力。
Description
技术领域
本发明涉及储存装置数据纠错相关技术领域,具体涉及一种基于有限RAM空间的储存装置高速写入数据纠错方法。
背景技术
市场上,基于NAND的低价储存装置由于RAM空间小,为保证写入速度,在数据写到NAND时,储存装置就把RAM空间释放于给Host(主机端)来写入新数据,以求最大并行度来达到最高传输速度。
但是上述做法是有缺陷的:当NAND写入的动作出错时, 在RAM空间的数据早已被Host的新数据覆盖掉了,从而导致数据丢失,无法进行纠错。传统作法要避免这个问题,只能等NAND写完后再释放RAM空间给Host写入新数据,但是由于等待NAND写入完成的时间太长, 严重影像写入速度,上述作法很少有人采用。
有鉴于上述的缺陷,当前亟需设计一种基于低价存储装置RAM空间有限,既要保证高速写入速度又要避免NAND写入错误的储存装置数据纠错方法。
发明内容
为了解决上述内容中提到的问题,本发明提供了一种基于有限RAM空间的储存装置高速写入数据纠错方法,其通过利用XOR(异或运算)机制和在RAM中设置XOR RAM,既保证了高速写入速度又避免了NAND写入错误,提升了低价存储装置的可靠性和纠错能力。
其技术方案是这样的:
一种基于有限RAM空间的储存装置高速写入数据纠错方法,其特征在于:所述方法包括以下步骤:
步骤1、在RAM中取page设为XOR RAM;
步骤2、在开始连续写入前,将XOR RAM清0;
步骤3、在连续写入时,每次将一份page数据写入NAND前,先检查NAND状态,如果上一次写入状态为OK,则将这一份page数据写入NAND,同时与XOR RAM中的数据做XOR运算并将XOR RAM中的数据更新为此次XOR运算结果, 同时把RAM空间释放给Host写入下一份page数据;
步骤4、如果步骤3中检查NAND状态,上一次写入状态为fail,则将本次连续写入NAND成功的数据全部读出,并将读出的数据与XOR RAM中的数据做XOR运算,最后的运算结果即为上一份本该写入NAND的正确page数据,然后将正确page数据再次写入NAND。
进一步的,本发明的方法还包括步骤5、当连续写入结束后,如果进行读操作,则先检查NAND状态,如果上一次写入状态为OK,则从NAND读出所需要的数据,并将XOR RAM中的数据清0;如果上一次写入状态为fail,则将本次连续写入NAND成功的数据全部读出,并将读出的数据与XOR RAM中的数据做XOR运算,最后的运算结果即为上一份本该写入NAND的正确page数据,然后将正确page数据再次写入NAND。
进一步的,所述步骤1中,在RAM中取N个page作为XOR RAM,N等于RAM中的planepage的数量。
进一步的,当连续写入时,每个plane page分别对应XOR RAM中的一个page进行本发明的数据纠错方法。具体为:在连续写入时,每次将一个plane page中的一份page数据写入NAND前,先检查NAND状态,如果上一次写入状态为OK,则将这一份page数据写入NAND,同时与该plane page所对应的XOR RAM中的page的数据做XOR运算并将XOR RAM中这一page的数据更新为此次XOR运算结果, 同时把该plane page的空间释放给Host写入下一份page数据;如果上一次写入状态为fail,则将本次通过该plane page连续写入NAND成功的数据全部读出,并将读出的数据与该plane page所对应的XOR RAM中的page的数据做XOR运算,最后的运算结果即为上一份本该写入NAND的正确page数据,然后将正确page数据再次写入NAND。
进一步的,所述N优选为2,page大小为16KB。
本发明的有益效果为:
本发明通过利用XOR机制和在RAM中设置XOR RAM,当出现写入错误时,可以通过将本次已经连续写入NAND成功的数据全部读出,并依次与XOR RAM中的数据做XOR运算,即可得到上一次本该写入NAND的正确page数据,从而既保证了高速写入速度又避免了NAND写入错误,提升了低价存储装置的可靠性和纠错能力。
附图说明
图1为现有技术中高速写入时发生错误的示意图。
图2为本发明的数据纠错方法示意图。
具体实施方式
下面结合实施例对本发明做进一步的描述。
以下实施例用于说明本发明,但不能用来限制本发明的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本发明的构思前提下对本发明的方法简单改进都属于本发明要求保护的范围。
首先介绍一下现有技术中高速写入方法,由于RAM空间有限, 考量写入的速度,本领域中一般作法就是当RAM数据写入NAND还没等完成时, RAM空间就释放于给Host去写入新数据,然后在要写入下一笔数据前才查检上一笔数据是否正常写入、NAND是否Ready,以达到高速写入的要求。
如图1所示,Host要写入数据data0~data13,其中data0~data3已经分别写入NANDBlock N和Block N+1的Page0~Page1;然后data4和data5写入Block N 和Block N+1的Page2,同时原本的RAM空间Host已经写入data12和data13;当 data6和data7要写入NANDBlock N和BlockN+1的Page3前检查NAND的状态,发现data4和data5写入错误,但是此时data4和data5已经不在RAM空间了, 被data12和data13所覆盖,因此这个场景下data4和data5就丢失了,无法进行纠错了。
实施例
如图2所示,本发明的数据纠错方法用32KB的RAM空间作为XOR RAM空间,在开始连续写入前,先将XOR RAM清0;在写入data0~data5时,检查NAND状态均为OK,则此时XORdata0为data0、data2、data4做XOR运算的结果,XOR data1为data1、data3、data5做XOR运算的结果。
当要写入data6和data7时发生图1中data4和data5写入错误时,我们可以采用以下作法:因为data0~data5均做过XOR运算,其结果存在XOR RAM空间, 首先读出BLOCK N的data0和data2去和XOR data0做XOR运算,其结果就是data4, 同样读出BLOCK N+1的data1和data3去和XOR data1做XOR运算, 其结果就是data5;我们可以将运算出来的data4和data5写入Block N和Block N+1的Page3,实现数据纠错,再将原本要写入的data6和data7写到Block N和Block N+1的Page4。
因此,本发明的方法既保证了高速写入速度又避免了NAND写入错误,提升了低价存储装置的可靠性和纠错能力。
尽管已经出示和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种基于有限RAM空间的储存装置高速写入数据纠错方法,其特征在于:所述方法包括以下步骤:
步骤1、在RAM中取page设为XOR RAM;
步骤2、在开始连续写入前,将XOR RAM清0;
步骤3、在连续写入时,每次将一份page数据写入NAND前,先检查NAND状态,如果上一次写入状态为OK,则进行数据写入并更新XOR RAM;
步骤4、如果步骤3中检查NAND状态,上一次写入状态为fail,则通过XOR RAM进行数据纠错;
所述步骤3具体为:在连续写入时,每次将一份page数据写入NAND前,先检查NAND状态,如果上一次写入状态为OK,则将这一份page数据写入NAND,同时与XOR RAM中的数据做XOR运算并将XOR RAM中的数据更新为此次XOR运算结果, 同时把RAM空间释放给Host写入下一份page数据;
所述步骤4具体为:如果步骤3中检查NAND状态,上一次写入状态为fail,则将本次连续写入NAND成功的数据全部读出,并将读出的数据与XOR RAM中的数据做XOR运算,最后的运算结果即为上一份本该写入NAND的正确page数据,然后将正确page数据再次写入NAND。
2.根据权利要求1所述的一种基于有限RAM空间的储存装置高速写入数据纠错方法,其特征在于:所述方法还包括:步骤5、当连续写入结束后,如果进行读操作,则先检查NAND状态,如果上一次写入状态为OK,则从NAND读出所需要的数据,并将XOR RAM中的数据清0;
如果上一次写入状态为fail,则将本次连续写入NAND成功的数据全部读出,并将读出的数据与XOR RAM中的数据做XOR运算,最后的运算结果即为上一份本该写入NAND的正确page数据,然后将正确page数据再次写入NAND。
3.根据权利要求2所述的一种基于有限RAM空间的储存装置高速写入数据纠错方法,其特征在于:所述步骤1中,在RAM中取N个page作为XOR RAM,N等于RAM中的plane page的数量。
4.根据权利要求3所述的一种基于有限RAM空间的储存装置高速写入数据纠错方法,其特征在于:在连续写入时,每次将一个plane page中的一份page数据写入NAND前,先检查NAND状态,如果上一次写入状态为OK,则将这一份page数据写入NAND,同时与该plane page所对应的XOR RAM中的page的数据做XOR运算并将XOR RAM中这一page的数据更新为此次XOR运算结果, 同时把该plane page的空间释放给Host写入下一份page数据。
5.根据权利要求4所述的一种基于有限RAM空间的储存装置高速写入数据纠错方法,其特征在于:如果上一次写入状态为fail,则将本次通过该plane page连续写入NAND成功的数据全部读出,并将读出的数据与该plane page所对应的XOR RAM中的page的数据做XOR运算,最后的运算结果即为上一份本该写入NAND的正确page数据,然后将正确page数据再次写入NAND。
6.根据权利要求5所述的一种基于有限RAM空间的储存装置高速写入数据纠错方法,其特征在于:所述N为2,page大小为16KB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311028242.7A CN116737446B (zh) | 2023-08-16 | 2023-08-16 | 一种基于有限ram空间的储存装置高速写入数据纠错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311028242.7A CN116737446B (zh) | 2023-08-16 | 2023-08-16 | 一种基于有限ram空间的储存装置高速写入数据纠错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116737446A CN116737446A (zh) | 2023-09-12 |
CN116737446B true CN116737446B (zh) | 2023-10-24 |
Family
ID=87903049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311028242.7A Active CN116737446B (zh) | 2023-08-16 | 2023-08-16 | 一种基于有限ram空间的储存装置高速写入数据纠错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737446B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080148132A1 (en) * | 2006-10-26 | 2008-06-19 | Mavila Rajith K | Error detection and correction scheme for multi-level cell NAND flash |
US20110307758A1 (en) * | 2010-06-15 | 2011-12-15 | Fusion-Io, Inc. | Apparatus, system, and method for providing error correction |
CN110750381A (zh) * | 2019-09-12 | 2020-02-04 | 百富计算机技术(深圳)有限公司 | 基于nand flash存储器的纠错方法及装置 |
CN115019870A (zh) * | 2022-05-18 | 2022-09-06 | 上海颖存半导体科技有限公司 | Nand Flash页面数据纠错方法及系统 |
-
2023
- 2023-08-16 CN CN202311028242.7A patent/CN116737446B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080148132A1 (en) * | 2006-10-26 | 2008-06-19 | Mavila Rajith K | Error detection and correction scheme for multi-level cell NAND flash |
US20110307758A1 (en) * | 2010-06-15 | 2011-12-15 | Fusion-Io, Inc. | Apparatus, system, and method for providing error correction |
CN110750381A (zh) * | 2019-09-12 | 2020-02-04 | 百富计算机技术(深圳)有限公司 | 基于nand flash存储器的纠错方法及装置 |
CN115019870A (zh) * | 2022-05-18 | 2022-09-06 | 上海颖存半导体科技有限公司 | Nand Flash页面数据纠错方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116737446A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7921339B2 (en) | Flash storage device with data correction function | |
CN106910528B (zh) | 一种固态硬盘数据巡检的优化方法及装置 | |
US11017867B2 (en) | Adjustable read retry order based on decoding success trend | |
JP4908083B2 (ja) | メモリコントローラ | |
CN103218271B (zh) | 一种数据纠错方法及装置 | |
CN105117236B (zh) | 一种自动校验的编程烧写方法 | |
CN108932202B (zh) | 存储器系统及其操作方法 | |
CN104216791A (zh) | 一种校验Flash存储数据的方法 | |
TW201308080A (zh) | 記憶體儲存裝置、記憶體控制器與資料寫入方法 | |
CN110399247A (zh) | 一种数据恢复方法、装置、设备及计算机可读存储介质 | |
US20190102253A1 (en) | Techniques for managing parity information for data stored on a storage device | |
CN112559056A (zh) | 用于减少固件激活时间的技术 | |
CN116737446B (zh) | 一种基于有限ram空间的储存装置高速写入数据纠错方法 | |
CN112802530B (zh) | Nand测试方法、装置、可读存储介质及电子设备 | |
CN105468471A (zh) | 固态存储装置及其错误更正方法 | |
CN107678680B (zh) | 分布式块存储系统中纠删码并发io的方法及存储装置 | |
CN109062808A (zh) | 一种ssd开发性能的测试方法、装置及相关设备 | |
CN107748704A (zh) | 基于fpga的内存镜像实现的方法及装置 | |
CN109947374B (zh) | 一种闪存主控模块中写入错误的冗余备援保护方法 | |
US20030182611A1 (en) | Method for verifying error correction code function of a computer system | |
CN116028253A (zh) | 一种固态硬盘纠错优化方法、系统、设备及介质 | |
CN112988449B (zh) | 写入页面群组的数据到闪存模块的装置及方法 | |
US20020147946A1 (en) | Method and system for automatic test report generation from memory device reliabilty testing | |
US10579470B1 (en) | Address failure detection for memory devices having inline storage configurations | |
CN101441552B (zh) | 闪存介质坏块处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |