CN115509798B - 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法 - Google Patents
一种刷新、副本和ldpc混合解码结合的存储器读取优化方法 Download PDFInfo
- Publication number
- CN115509798B CN115509798B CN202211184908.3A CN202211184908A CN115509798B CN 115509798 B CN115509798 B CN 115509798B CN 202211184908 A CN202211184908 A CN 202211184908A CN 115509798 B CN115509798 B CN 115509798B
- Authority
- CN
- China
- Prior art keywords
- data
- decoding
- ldpc
- module
- refreshing
- 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
Images
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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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混合解码结合的存储器读取优化方法,对闪存存储器的读取数据的访问频率进行详细的记录,将其频率大于1的定义为热数据;小于等于1的定义为冷数据,并且详细分析了LDPC软解码的7个量化级别的特性,因此本发明的基本思想就是针对热数据而言,并将LDPC软解码的量化级别的特性考虑在内,当LDPC软解码的量化级别大于等于3并且小于5时,采用刷新技术;量化级别大于等于5的数据,使用副本技术来进行纠错,这两种技术结合起来从而减少了闪存存储器的读取延迟。
Description
技术领域
本发明涉及计算机网络与计算机存储技术领域,具体涉及一种刷新、副本和LDPC混合解码结合的存储器读取优化方法。
背景技术
随着互联网和社会各领域信息化系统的迅猛发展,数据的爆炸式增长使得大容量存储系统在可靠性和性能等方面均面临巨大的挑战。人们对大容量存储系统的可靠性也越来越高,原有的各种编码技术开始捉襟见肘。低密度奇偶校验码(LDPC码)虽然有着已知最接近香农限的纠错能力,但因其编译码过程比较复杂,在其发现初期并未进入实际应用领域。而随着近年来半导体技术的飞速发展,人们已经可以实现基于超大规模集成电路的LDPC码编译码工作,因此继实际应用于通信领域后,LDPC码必将在存储领域得到广泛应用。正是基于这种考虑,对LDPC码在各种存储环境下的应用展开了前瞻性研究。直接使用LDPC码的解码方式会导致NAND Flash的响应时间增加,考虑到在LDPC软解码方式中涉及的7个量化级别,并且延迟时间会随着量化级别的增长越来越多。鉴于此,将副本和刷新合理地应用到LDPC软解码方式中来减少闪存存储器的读取响应时间,提高其寿命,提出了一种刷新和副本结合策略优化闪存存储器读取性能的方案。
发明内容
为解决现有技术中存在的问题,本发明提供了一种刷新、副本和LDPC混合解码结合的存储器读取优化方法,分析了LDPC量化级别的特点以及其解码方式,将副本和刷新合理的应用在LDPC软解码的量化级别中,减少了闪存存储器的读取延迟,解决了上述背景技术中提到的问题。
为实现上述目的,本发明提供如下技术方案:一种基于副本和LDPC混合解码结合的存储器读取优化方法,包括如下步骤:
步骤一、初始化结构,根据存储器的结构进行分块,在内存中开辟空间;
步骤二、使用带有SSD扩展名的Disksim模拟闪存系统,获取现有存储系统运行的参数文件,设置trace格式文件;
步骤三、添加副本模块和刷新模块,将副本模块中的数据映射到ECC模块和地址映射模块,对数据进行恢复,将刷新模块链接到ECC模块和地址映射模块,对数据进行读取;
步骤四、对数据进行判断,通过判断是否为第一次读取,来判断数据的冷热程度;
步骤五、统计数据第一次读取的解码方式,根据数据的冷热程度判断其第一次的解码方式为硬解码还是软解码;
步骤六、针对热数据,若第一次解码方式为LDPC硬解码,之后仍然采用硬解码;如果为软解码,记录其量化级别,再次读取时,若量化级别大于等于3并且小于5时,采用刷新模块;量化级别大于等于5时,使用副本模块来进行纠错;
步骤七、针对冷数据,若冷数据第一次读取时为硬解码,之后一直采用硬解码;若第一次读取时采用软解码进行纠错,那么之后再次读取时由冷数据转变为热数据,记录量化级别,再次读取时,若量化级别大于等于3并且小于5时,采用刷新模块;量化级别大于等于5时,使用副本模块来进行纠错,直至数据纠错完成;
步骤八、重复步骤四-步骤七,直到数据全部读取完成;
步骤九、将数据返回给主机,读取完成。
优选的,在步骤一中,分块具体是根据trace的数量设置相应的块数,具体为:总块数=芯片数*每个芯片中的块数,块中所包含的页数是8的倍数,总页数=总块数*每块所包含的页数。
优选的,在步骤二中,所述参数文件包括SSD的参数配置、写入页面的延迟、读取页面的延迟以及块的擦除延迟参数。
优选的,在步骤四中,若为第一次读取,则为冷数据;若为两次以上读取,则为热数据。
本发明的有益效果是:本发明通过将刷新、副本和LDPC混合解码方式相结合的方法,对闪存存储器的读取数据的访问频率进行详细的记录,将其频率大于1的定义为热数据;小于等于1的定义为冷数据,并且详细分析了LDPC软解码的7个量化级别的特性,因此本发明的基本思想就是针对热数据而言,并将LDPC软解码的量化级别的特性考虑在内,当LDPC软解码的量化级别大于等于3并且小于5时,采用刷新技术;量化级别大于等于5的数据,使用副本技术来进行纠错,这两种技术结合起来从而减少了闪存存储器的读取延迟。
附图说明
图1为刷新、副本和LDPC混合解码结合的存储器读取优化方法步骤示意图;
图2为刷新、副本和LDPC混合解码结合的存储器读取优化方案框架图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明是刷新、副本和LDPC混合解码方式相结合策略,使用带有SSD扩展名的Disksim模拟闪存系统,获取现有存储系统运行的参数文件,如:SSD的参数配置、写入页面的延迟、读取页面的延迟、块的擦除延迟等参数;找到适合本实验的块、页面之间的关系;
了解trace文件的特点,并获取实验所用到的各类trace文件,对其进行修改得到符合实验所用到的trace文件;
分析了LDPC软解码的7个量化级别造成的延迟时间差异,确定使用刷新和副本的条件;
添加副本模块和刷新模块,并将其链接到闪存存储器的地址映射、垃圾回收模块中。
统计数据的读取次数,并统计数据的访问频率,根据其访问频率将其划分成热数据和冷数据。热数据为访问频率大于1的数据,反之即为冷数据;
统计第一次读取数据的解码方式,判断其解码方式是硬解码还是软解码;
统计数据进行软解码的量化级别,并进行记录;
根据数据的量化级别选择合适的方式,统计量化级别大于等于3并且小于5的数据,使用刷新技术;统计量化级别大于等于5的数据,使用副本技术来进行纠错;
监测数据是否纠错完成,如果结束则完成,否则继续进行纠错。
一种刷新、副本和LDPC混合解码结合的存储器读取优化方法,其优化方案架构如图2所示,其方法步骤流程如图1所示,包括如下步骤:
(1)初始化结构,根据闪存存储器的结构并结合trace数量对其进行分块,在内存中开辟适当的空间,设置块中所包含页的数量、大小以及数据的映射方式、拓扑结构和相关参数;分块具体是根据trace的数量设置相应的块数,具体为:总块数=芯片数*每个芯片中的块数,块中所包含的页数是8的倍数,总页数=总块数*每块所包含的页数。
(2)在用户发起读取数据请求之前,需要在set_trace_format函数中添加新的trace格式,设置输出文件以及相关参数。
(3)在ssd_time.c模块中添加副本框架,将副本中的数据映射到ssd_clean.c中的ECC模块和地址映射模块,方便之后对数据进行恢复;
(4)在ssd_time.c模块中添加刷新框架,将刷新模块链接到ssd_clean.c中的ECC模块和地址映射模块,方便之后对数据进行读取;
(5)在ssd_read_policy_simple函数中对读取的数据进行判断,判断是否为第一次读取,即判断数据的冷热程度,若为第一次读取,则为冷数据;若为两次以上,则为热数据;
(6)统计数据第一次读取的解码方式,根据数据的冷热程度判断其第一次的解码方式为硬解码还是软解码;
(7)热数据第一次读取时为硬解码之后一直采用硬解码,返回硬解码对应的延迟时间;
(8)若冷数据第一次读取时采用软解码进行纠错,需要记录其纠错成功的量化级别,第一次读取时返回量化级别对应的延迟时间;之后再次读取时量化级别达到3时采用刷新,达到5时采用副本,返回各自对应的延迟时间;
(9)若冷数据第一次读取时为硬解码之后一直采用硬解码;
(10)若冷数据第一次读取时采用软解码进行纠错,之后再次读取时由冷数据转变为热数据,返回(8);
(11)数据纠错成功,继续进行(5)(6)(7)(8)(9)(10)操作,直到数据纠错完成;
(12)重复上述过程,直到数据全部读取完成;
(13)将数据返回给主机,方便用户的使用。
LDPC量化级别的分析:根据LDPC量化级别的特性,LDPC的7个量化级别,每增加一个量化级别,读取延迟都会相应地增加一部分,通过大量的实验证明,证明了量化级别达到3和量化级别达到5时平均响应时间变化幅度较大。
平均响应时间的减少:先要判断读进去的数据是热数据还是冷数据,根据数据的冷热程度来选择合适的方法。当数据为热数据时,首先需要记录第一读取时的方法,若为LDPC硬解码,则之后直接采用硬解码即可。若为软解码则需要记录量化级别,再次读取时,若量化级别大于等于3并且小于5时,采用刷新技术;量化级别大于等于5时,使用副本技术来进行纠错。通过大量的实验证明,该方法减少了闪存存储器的平均响应时间,增加了其寿命。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种刷新、副本和LDPC混合解码结合的存储器读取优化方法,其特征在于,包括如下步骤:
步骤一、初始化结构,根据存储器的结构进行分块,在内存中开辟空间;
步骤二、使用带有SSD扩展名的Disksim模拟闪存系统,获取现有存储系统运行的参数文件,设置trace格式文件;
步骤三、添加副本模块和刷新模块,将副本模块中的数据映射到ECC模块和地址映射模块,对数据进行恢复,将刷新模块链接到ECC模块和地址映射模块,对数据进行读取;
步骤四、对数据进行判断,通过判断是否为第一次读取,来判断数据的冷热程度;
步骤五、统计数据第一次读取的解码方式,根据数据的冷热程度结合其确定的第一次解码方式,然后采用如下策略,具体如下:
针对热数据,若第一次解码方式为LDPC硬解码,之后仍然采用硬解码;如果为软解码,记录其量化级别,再次读取时,若量化级别大于等于3并且小于5时,采用刷新模块;量化级别大于等于5时,使用副本模块来进行纠错;
针对冷数据,若冷数据第一次读取时为硬解码,之后一直采用硬解码;若第一次读取时采用软解码进行纠错,那么之后再次读取时由冷数据转变为热数据,记录量化级别,再次读取时,若量化级别大于等于3并且小于5时,采用刷新模块;量化级别大于等于5时,使用副本模块来进行纠错,直至数据纠错完成;
步骤六、重复步骤四-步骤五,直到数据全部读取完成;
步骤七、将数据返回给主机,读取完成。
2.根据权利要求1所述的刷新、副本和LDPC混合解码结合的存储器读取优化方法,其特征在于:在步骤一中,分块具体是根据trace的数量设置相应的块数,具体为:总块数=芯片数*每个芯片中的块数,块中所包含的页数是8的倍数,总页数=总块数*每块所包含的页数。
3.根据权利要求1所述的刷新、副本和LDPC混合解码结合的存储器读取优化方法,其特征在于:在步骤二中,所述参数文件包括SSD的参数配置、写入页面的延迟、读取页面的延迟以及块的擦除延迟参数。
4.根据权利要求1所述的刷新、副本和LDPC混合解码结合的存储器读取优化方法,其特征在于:在步骤四中,若为第一次读取,则为冷数据;若为两次以上读取,则为热数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211184908.3A CN115509798B (zh) | 2022-09-27 | 2022-09-27 | 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211184908.3A CN115509798B (zh) | 2022-09-27 | 2022-09-27 | 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115509798A CN115509798A (zh) | 2022-12-23 |
CN115509798B true CN115509798B (zh) | 2023-06-27 |
Family
ID=84505886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211184908.3A Active CN115509798B (zh) | 2022-09-27 | 2022-09-27 | 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509798B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662063B (zh) * | 2023-05-10 | 2024-02-23 | 珠海妙存科技有限公司 | 一种闪存的纠错配置方法、纠错方法、系统、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394113A (zh) * | 2011-11-14 | 2012-03-28 | 清华大学 | 一种应用于快闪存储器中的动态ldpc纠错码方法 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120240007A1 (en) * | 2010-10-20 | 2012-09-20 | Stec, Inc. | Ldpc decoding for solid state storage devices |
-
2022
- 2022-09-27 CN CN202211184908.3A patent/CN115509798B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394113A (zh) * | 2011-11-14 | 2012-03-28 | 清华大学 | 一种应用于快闪存储器中的动态ldpc纠错码方法 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
Also Published As
Publication number | Publication date |
---|---|
CN115509798A (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5183625B2 (ja) | 適応能力を有するメモリ素子 | |
US8694859B2 (en) | Memory device with adaptive capacity | |
CN101763903B (zh) | 快闪存储器控制器、其纠错码控制器及其方法和系统 | |
US11526301B2 (en) | Memory system and non-volatile memory control method | |
CN112562766A (zh) | 一种重读管理方法、固态硬盘控制器及固态硬盘 | |
CN112383314B (zh) | 一种基于raid信息的ldpc纠错方法 | |
CN111813591B (zh) | Nand Flash的数据纠错方法、装置、电子设备及存储介质 | |
CN111309544A (zh) | 一种读参考电压受多维因子影响的预测建模及施加方法 | |
CN115509798B (zh) | 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法 | |
US10911064B1 (en) | Symbol pair encoding for data compression | |
CN115509799B (zh) | 一种基于副本和ldpc混合解码结合的存储器读取优化方法 | |
CN109872764B (zh) | 一种多级存储单元闪存的ecc多码率编解码系统及方法 | |
CN114968837A (zh) | 数据压缩方法及闪存设备 | |
US11709733B2 (en) | Metadata-assisted encoding and decoding for a memory sub-system | |
CN116486890A (zh) | 基于校验复用的固态硬盘ftl方法、系统、设备及介质 | |
CN113312204B (zh) | 基于双层raid信息的增强型纠错方法及深度纠错方法 | |
US20220149870A1 (en) | Content aware decoding using shared data statistics | |
CN114255807A (zh) | 以先前读取为条件的读取重试阈值优化系统和方法 | |
CN111858137B (zh) | 一种原始比特错误率感知的读电平施加方法 | |
CN114995767B (zh) | 固态硬盘的数据管理方法、存储设备及存储介质 | |
CN113190474B (zh) | 一种提升stt-mram近似缓存能效的方法及系统 | |
CN117785025B (zh) | Ecc与raid5混合编码优化ssd读性能的方法 | |
US11847342B2 (en) | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory | |
CN113419683B (zh) | 存储器存取方法、存储器存储装置及存储器控制电路单元 | |
KR101394356B1 (ko) | 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치 및 방법 |
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 |