CN116737446B - 一种基于有限ram空间的储存装置高速写入数据纠错方法 - Google Patents

一种基于有限ram空间的储存装置高速写入数据纠错方法 Download PDF

Info

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
Application number
CN202311028242.7A
Other languages
English (en)
Other versions
CN116737446A (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.)
Jiangsu Huacun Electronic Technology Co Ltd
Original Assignee
Jiangsu Huacun Electronic 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 Jiangsu Huacun Electronic Technology Co Ltd filed Critical Jiangsu Huacun Electronic Technology Co Ltd
Priority to CN202311028242.7A priority Critical patent/CN116737446B/zh
Publication of CN116737446A publication Critical patent/CN116737446A/zh
Application granted granted Critical
Publication of CN116737446B publication Critical patent/CN116737446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

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空间的储存装置高速写入数据纠错方法
技术领域
本发明涉及储存装置数据纠错相关技术领域,具体涉及一种基于有限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。
CN202311028242.7A 2023-08-16 2023-08-16 一种基于有限ram空间的储存装置高速写入数据纠错方法 Active CN116737446B (zh)

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)

* Cited by examiner, † Cited by third party
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页面数据纠错方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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