CN110232002A - 一种提升闪存读取准确性的方法、系统及装置 - Google Patents
一种提升闪存读取准确性的方法、系统及装置 Download PDFInfo
- Publication number
- CN110232002A CN110232002A CN201910735030.XA CN201910735030A CN110232002A CN 110232002 A CN110232002 A CN 110232002A CN 201910735030 A CN201910735030 A CN 201910735030A CN 110232002 A CN110232002 A CN 110232002A
- Authority
- CN
- China
- Prior art keywords
- data
- markup information
- read
- flash memory
- ldpc
- 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
Links
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
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding 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
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
本发明公开了一种提升闪存读取准确性的方法、系统及装置,涉及数据读取技术领域。其技术要点包括存储数据进入数据缓冲区;基于数据待写入的物理地址,在数据缓冲区内为待写入的存储数据的指定位置写入标注信息;对待写入的存储数据进行LDPC编码,写入到对应物理地址的存储页中;获取要读取存储页的待读取数据;对待读取数据进行LDPC解码;在数据缓冲区内获取读取数据指定位置上的标注信息;校验标注信息和读取的物理地址是否匹配,若否将LDPC的错误位数修改为最大值;基于LDPC的错误位数进行纠错或者重读,本发明具有提升闪存读取准确性的优点。
Description
技术领域
本发明涉及数据读取技术领域,更具体地说,它涉及一种提升闪存读取准确性的方法、系统及装置。
背景技术
为了保证闪存读出的数据没有比特错误,数据在存储中一般会由纠错码ECC进行保护,其中LDPC是一种ECC纠错码。在使用ECC纠错码后,如果ECC无法正确纠错,则存储元内的调整阈值电压进行重读,再对重读的数据进行ECC纠错。
而当闪存内部地址解析电路出现故障时,将导致某些地址的解析出错,例如同一个WL上某两个页读出的数据完全一样,纠错码ECC无法对存储页地址错误纠错,从而导致闪存读取错误。
发明内容
针对现有的技术问题,本发明的第一目的在于提供一种提升闪存读取准确性的方法,其具有提升闪存读取准确性的优点。
为实现上述目的,本发明提供了如下技术方案:一种提升闪存读取准确性的方法,包括:
存储数据进入数据缓冲区;
基于数据待写入的物理地址,在数据缓冲区内为待写入的存储数据的指定位置写入标注信息;
对待写入的存储数据进行LDPC编码,写入到对应物理地址的存储页中;
获取要读取存储页的待读取数据;
对待读取数据进行LDPC解码;
在数据缓冲区内获取读取数据指定位置上的标注信息;
校验标注信息和读取的物理地址是否匹配,若否将LDPC的错误位数修改为最大值;
基于LDPC的错误位数进行纠错或者重读。
通过采用上述技术方案,在写入的数据中添加标注信息,来标记数据实际写入的物理位置。在读取时,校验标注信息和读取的物理地址是否匹配,来确认数据的准确性;过程中,标注信息和存储数据一同进行了LDPC编码,一同和受LDPC校验,因此物理地址读取不易出错;因此结合两者,能够达到对物理地址准确校验,确认数据读取地址准确,提升闪存读取准确性。
本发明进一步设置为:所述标注信息写入待写入的存储数据的起始位置或末尾位置。
通过采用上述技术方案,起始位置或末尾位置不打断原本的待写入的存储数据,写入和获取简单且对元数据影响小。
本发明进一步设置为:所述标注信息基于存储页在存储块内的物理地址生成。
通过采用上述技术方案,由于地址解析电路一般只在相同块中发生偏移,因此只基于存储页在存储块内的物理地址生成标注信息,能够减少标注信息的数据量,从而减少数据处理和占用量。
本发明进一步设置为:所述标注信息的数据量为2至4字节。
通过采用上述技术方案,2字节的标注信息就够对存储页的地址进行准确的存储。
本发明的第二目的在于提供一种提升闪存读取准确性的方法,其具有提升闪存读取准确性的优点。
为实现上述目的,本发明提供了如下技术方案:一种提升闪存读取准确性的系统,包括:
标注模块,其用于在数据缓冲区为写入数据的指定位置写入标注信息和获取读取数据指定位置上的标注信息;
LDPC模块,其用于对写入数据进行LDPC编码和对读取数据进行LDPC解码;
校验模块,校验标注信息和读取的物理地址是否匹配。
通过采用上述技术方案,在标注模块添加标注信息,LDPC模块保证数据的准确性,校验模块对标注信息进行校验,确认数据读取地址准确,提升闪存读取准确性。。
本发明进一步设置为:还包括随机化模块,其用于随机化写入标注信息的写入数据和去随机化LDPC解码的读取数据。
通过采用上述技术方案,采用随机化模块,将数据打乱,使得数据能够大致呈1和0的间隔分布,提升数据存储时的稳定性。
本发明进一步设置为:所述标注模块包括供标注信息写入的寄存器,在写入数据时所述寄存器寄存主控生成的标注信息,在读取数据时所述寄存器寄存读取数据指定位置上的标注信息。
通过采用上述技术方案,采用外部寄存器提供和存储数据,能够便于插入或读取标注信息。
本发明进一步设置为:当读取数据标注信息和读取的物理地址不匹配时,校验模块通知LDPC模块将读取数据的错误位数修改为最大值。
通过采用上述技术方案,将据标注信息和读取的物理地址页作为LDPC模块判断的基础,从而无需另外添加其他判断机制,简化读取时的数据判断结果。
本发明的第三目的在于提供一种闪存,其具有提升闪存读取准确性的优点。
本发明进一步设置为:一种闪存,包括指令,所述指令在计算机上运行时,使得计算机执行第一目的所述的方法。
本发明的第四目的在于提供一种提升闪存读取准确性的装置,其具有提升闪存读取准确性的优点。
本发明进一步设置为:一种提升闪存读取准确性的装置,所述装置包括处理器和存储器;
所述存储器用于存储支持所述装置执行第一目的所述的方法的程序,以及
存储用于实现第一目的所述的方法所涉及的数据;
所述处理器被配置为用于执行所述存储器中存储的程序。
与现有技术相比,本发明的有益效果是:
(1)对读取数据的物理地址校验,提升闪存读取准确性;
(2)对于标注信息和读取的物理地址不匹配时,将LDPC错误位数调制最大,简化判断。
附图说明
图1为实施例一的流程示意图;
图2为实施例二的流程示意图;
图3为实施例三的结构框图。
附图标记:1、标注模块;2、LDPC模块;3、随机化模块;4、校验模块。
具体实施方式
下面结合附图和实施例,对本发明进行详细描述。
为了理解本方案,先对闪存的一些基本结构进行说明。目前通用的闪存介质一般划分为多个存储块(Block),每个存储块有多条字线(WL),一条字线(WL)包含一个或者多个存储页(Page),其中,3D闪存即TLC闪存,每条字线上存储有三个存储页。而存储页是闪存写入数据的基本单位。
主控为闪存内主控芯片的简称,主控本质是一台微处理器,具备CPU级别的运算能力,其具有执行固件代码的功能;其中错误检查和纠正(ECC)是主控执行的功能之一。
实施例一,一种提升闪存读取准确性的方法,如图1所示,包括:
S1、存储数据进入数据缓冲区;
数据在进入数据缓冲区前,主控会将数据切分成对应存储页大小的存储数据,并生成逻辑地址和物理地址相对应的逻辑映射表。因此当存储数据进入到数据缓冲区时,主控通过逻辑映射表获取到存储数据的逻辑地址和物理地址。
S2、基于数据待写入的物理地址,在数据缓冲区内为待写入的存储数据的指定位置写入标注信息;
标注信息主要基于数据将写入的物理地址生成。一般物理地址主要包括块地址、页地址和页内地址这三部分构成,其中块地址主要用于确定数据处于哪一个存储块中,页地址用于确定数据处于存储块的哪一存储页内,页内地址用于确定数据处于存储页的哪一个位置;因此数据只要通过块地址、页地址和页内地址就能够精准到闪存的指定位置。本实施例中,标注信息主要基于物理地址中的页地址生成;因此同一存储块中,标注信息是唯一的;而不同存储块中,标注信息可能出现相同的状况。而由于地址解析电路只在相同块中发生偏移,因此只基于存储页地址生成标注信息,能够减少标注信息的数据量,从而减少数据处理和占用量。由于不同的闪存内,一个存储块内存储页数量的不同,因此对应的页地址的数据量大小也不同,因此标注信息的数据量大小基于存储块内存储页的数量采用2至4字节的数据量。
而为了提升标注信息写入进入数据缓冲区内的存储数据的速度。闪存内设置有供标注信息写入的寄存器。在写入存储数据时,寄存器接收主控生成标注信息并进行寄存,再在数据缓冲区内为待写入的存储数据的指定位置写入标注信息。具体的,标注信息写入待写入数据的起始位置或末尾位置。
S3、对待写入的存储数据进行LDPC编码;
S4、将LDPC编码后的数据写入到对应物理地址的存储页中;
S5、获取要读取存储页的待读取数据;
S6、对待读取数据进行LDPC解码;
S7、在数据缓冲区内获取读取数据指定位置上的标注信息;
在读取数据时,寄存器寄存读取数据指定位置上的标注信息。
S8、校验标注信息和读取的物理地址是否匹配,若是执行步骤S10,否则若否执行步骤S9;
主控通过比较寄存器内寄存的数据和读取存储页对应的页地址是否匹配,来判断地址解析是否错误。若寄存器内寄存的数据和读取存储页对应的页地址是相等的,则比较寄存器内寄存的数据和读取存储页对应的页地址相匹配,地址解析正确,否则,比较寄存器内寄存的数据和读取存储页对应的页地址不匹配,地址解析错误。
S9、将LDPC的错误位数修改为最大值;
S10、基于LDPC的错误位数进行纠错或者重读。
LDPC是一种ECC纠错码。在使用ECC纠错码后,如果ECC无法正确纠错,则存储元内的调整阈值电压进行重读,再对重读的数据进行ECC纠错。因此当地址解析错误后,由于LDPC码的错误位数被修改为最大值,无法进行纠错,只能进行重读。
实施例二,一种提升闪存读取准确性的方法,如图2所示,包括:
S1、存储数据进入数据缓冲区;
S2、基于数据待写入的物理地址,在数据缓冲区内为待写入的存储数据的指定位置写入标注信息;
S3、对待写入的存储数据进行随机化处理;
S4、对随机化处理的写入数据进行LDPC编码;
S5、将LDPC编码后的数据写入到对应物理地址的存储页中;
S6、获取要读取存储页的待读取数据;
S7、对待读取数据进行LDPC解码;
S8、对待读取数据进行去随机化处理;
S9、在数据缓冲区内获取读取数据指定位置上的标注信息;
S10、校验标注信息和读取的物理地址是否匹配,若是执行步骤S11,否则若否执行步骤S12;
S11、将LDPC的错误位数修改为最大值;
S12、基于LDPC的错误位数进行纠错或者重读。
实施例二和实施例一的不同之处,添加了步骤S3对待写入的存储数据进行随机化处理和步骤S8对待读取数据进行去随机化处理。采用随机化的方式将数据打乱,使得数据能够大致呈1和0的间隔分布,提升数据存储时的稳定性。
实施例三,一种提升闪存读取准确性的系统,包括:
标注模块1,其用于在数据缓冲区为写入数据的指定位置写入标注信息和获取读取数据指定位置上的标注信息;
LDPC模块2,其用于对写入数据进行LDPC编码和对读取数据进行LDPC解码;
随机化模块3,其用于随机化写入标注信息的写入数据和去随机化LDPC解码的读取数据;
校验模块4,校验标注信息和读取的物理地址是否匹配。
标注模块1包括供标注信息写入的寄存器,在写入数据时所述寄存器寄存主控生成的标注信息,在读取数据时寄存器寄存读取数据指定位置上的标注信息。当读取数据标注信息和读取的物理地址不匹配时,校验模块4通知LDPC模块2将读取数据的错误位数修改为最大值。
如图3所示,标注模块1用于执行实施例二内步骤S2和步骤S9,LDPC模块2用于执行实施例二内步骤S4、步骤S7以及步骤S12,随机化模块3用于执行实施例二内步骤S3和步骤S8,校验模块4用于执行实施例二内步骤S10和步骤S11。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读移动式存储设备中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于闪存中。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种提升闪存读取准确性的方法,其特征在于:包括:
存储数据进入数据缓冲区;
基于数据待写入的物理地址,在数据缓冲区内为待写入的存储数据的指定位置写入标注信息;
对待写入的存储数据进行LDPC编码,写入到对应物理地址的存储页中;
获取要读取存储页的待读取数据;
对待读取数据进行LDPC解码;
在数据缓冲区内获取读取数据指定位置上的标注信息;
校验标注信息和读取的物理地址是否匹配,若否将LDPC的错误位数修改为最大值;
基于LDPC的错误位数进行纠错或者重读。
2.根据权利要求1所述的提升闪存读取准确性的方法,其特征在于:所述标注信息写入待写入的存储数据的起始位置或末尾位置。
3.根据权利要求2所述的提升闪存读取准确性的方法,其特征在于:所述标注信息基于存储页在存储块内的物理地址生成。
4.根据权利要求2所述的提升闪存读取准确性的方法,其特征在于:所述标注信息的数据量为2至4字节。
5.一种提升闪存读取准确性的系统,其特征在于:包括:
标注模块(1),其用于在数据缓冲区为写入数据的指定位置写入标注信息和获取读取数据指定位置上的标注信息;
LDPC模块(2),其用于对写入数据进行LDPC编码和对读取数据进行LDPC解码;
校验模块(4),校验标注信息和读取的物理地址是否匹配。
6.根据权利要求5所述的提升闪存读取准确性的系统,其特征在于:还包括随机化模块(3),其用于随机化写入标注信息的写入数据和去随机化LDPC解码的读取数据。
7.根据权利要求5所述的提升闪存读取准确性的系统,其特征在于:所述标注模块(1)包括供标注信息写入的寄存器,在写入数据时所述寄存器寄存主控生成的标注信息,在读取数据时所述寄存器寄存读取数据指定位置上的标注信息。
8.根据权利要求5所述的提升闪存读取准确性的系统,其特征在于:当读取数据标注信息和读取的物理地址不匹配时,校验模块(4)通知LDPC模块(2)将读取数据的错误位数修改为最大值。
9.一种闪存,其特征在于:包括指令,所述指令在计算机上运行时,使得计算机执行权利要求1-4任一项所述的方法。
10.一种提升闪存读取准确性的装置,其特征在于:所述装置包括处理器和存储器;
所述存储器用于存储支持所述装置执行权利要求1-4任一项所述的方法的程序,以及
存储用于实现权利要求1-4任一项所述的方法所涉及的数据;
所述处理器被配置为用于执行所述存储器中存储的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735030.XA CN110232002A (zh) | 2019-08-09 | 2019-08-09 | 一种提升闪存读取准确性的方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735030.XA CN110232002A (zh) | 2019-08-09 | 2019-08-09 | 一种提升闪存读取准确性的方法、系统及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110232002A true CN110232002A (zh) | 2019-09-13 |
Family
ID=67855261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910735030.XA Pending CN110232002A (zh) | 2019-08-09 | 2019-08-09 | 一种提升闪存读取准确性的方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232002A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434439A (zh) * | 2021-06-28 | 2021-09-24 | 中信科移动通信技术股份有限公司 | 一种基于模拟i2c接口的数据连续写入方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576853A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 数据存取方法、使用此方法的控制器与存储系统 |
CN107391299A (zh) * | 2017-07-17 | 2017-11-24 | 华中科技大学 | 一种提升闪存存储系统读性能的方法 |
CN107423161A (zh) * | 2017-07-24 | 2017-12-01 | 山东华芯半导体有限公司 | 应用于快闪存储器中的自适应ldpc码纠错码系统和方法 |
-
2019
- 2019-08-09 CN CN201910735030.XA patent/CN110232002A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576853A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 数据存取方法、使用此方法的控制器与存储系统 |
CN107391299A (zh) * | 2017-07-17 | 2017-11-24 | 华中科技大学 | 一种提升闪存存储系统读性能的方法 |
CN107423161A (zh) * | 2017-07-24 | 2017-12-01 | 山东华芯半导体有限公司 | 应用于快闪存储器中的自适应ldpc码纠错码系统和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434439A (zh) * | 2021-06-28 | 2021-09-24 | 中信科移动通信技术股份有限公司 | 一种基于模拟i2c接口的数据连续写入方法及系统 |
CN113434439B (zh) * | 2021-06-28 | 2022-10-28 | 中信科移动通信技术股份有限公司 | 一种基于模拟i2c接口的数据连续写入方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105280240B (zh) | 一种Nand Flash参数的读取方法 | |
TW201351425A (zh) | 用於解碼取決於干擾條件下之資料之系統與方法 | |
US10546649B2 (en) | Post package repair for mapping to a memory failure pattern | |
CN108363640B (zh) | 数据校验方法及装置、计算机可读存储介质 | |
CN103473146A (zh) | 存储器控制方法、存储器控制器以及电子装置 | |
CN101477481A (zh) | 一种自动纠错系统及方法 | |
CN111104246B (zh) | 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质 | |
CN103778030A (zh) | 日志子系统写入方法、错误追踪方法及处理器 | |
CN104094237A (zh) | 存储器设备中的增强的错误校正 | |
US9286993B2 (en) | Determining read voltages for reading memory | |
TWI486957B (zh) | Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統 | |
CN107797821A (zh) | 重试读取方法以及使用该方法的装置 | |
US20090287969A1 (en) | Electronic apparatus and bit error rate tolerance method for programming non-volatile memory devices | |
CN110083481A (zh) | 基于hmb的逻辑物理映射表保护方法、装置及固态硬盘 | |
CN110232002A (zh) | 一种提升闪存读取准确性的方法、系统及装置 | |
CN112000513A (zh) | 一种计算机及其vpd数据操作方法、装置、存储介质 | |
US8006045B2 (en) | Dummy write operations | |
CN102902732A (zh) | 一种在xml配置文件中添加校验的方法 | |
CN106920576A (zh) | 一种检验Nand Flash质量的方法及系统 | |
US9288161B2 (en) | Verifying the functionality of an integrated circuit | |
CN103985410A (zh) | 一种存储装置及用于存储装置的数据访问方法 | |
CN203882621U (zh) | 一种存储装置 | |
CN103365737B (zh) | 数据读写方法、读写装置及数据存储系统 | |
US11579195B2 (en) | Automated verification code generation based on a hardware design and design data | |
CN103092713A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190913 |