CN112988236A - 数据存储方法及装置、存储介质、电子装置 - Google Patents
数据存储方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN112988236A CN112988236A CN202110424999.2A CN202110424999A CN112988236A CN 112988236 A CN112988236 A CN 112988236A CN 202110424999 A CN202110424999 A CN 202110424999A CN 112988236 A CN112988236 A CN 112988236A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- mixed
- buffer registers
- page
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明实施例提供了一种数据存储方法及装置、存储介质、电子装置,该方法包括:混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,所述N个缓冲寄存器中包括N个数据页中的数据,所述N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,所述K和所述N均是大于1的自然数;按照确定的编码复杂度对所述混合数据进行编码,得到数据校验码数据;存储所述混合数据和所述数据校验码数据。通过本发明,解决了解决相关技术中对数据的存储浪费存储空间的问题,进而达到了减少对存储块的占用的效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种数据存储方法及装置、存储介质、电子装置。
背景技术
电子产品在这几年来技术的快速发展,使得消费者对于电子产品的体验要求越来越高,更高速便捷的存储产品的需求越来越大。由于可复写式非易失性存储器(rewritablenon-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器作为储存媒体的储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
随着闪存技术的不断更新,闪存存储器由TLC模式64层、96层发展到128层,并且QLC闪存存储器技术的出现,存储密度更大的提高,大大降低存储设备的成本,加快传统硬盘到固态硬盘的过度。
然而,由于芯片工艺的发展,虽然提高存储密度,降低了单位容量的价格,但是由于闪存存储器氧化层被压缩的越来越薄,使得存储介质对PE(Erase&Program)也越发敏感,导致闪存的使用寿命和可靠性的降低;对于高频写低频读数据模型下的视频监控领域,最新闪存存储器的应用就会存在风险。
现有对于最新闪存介质的数据保护机制,一般是增加对写入数据的电压更正表项来增加数据的更正能力,有的是增加校验数据的长度来保证可纠错的数据的大小超过最差的情况,通过扩大可纠正的数据的大小来完成对最新闪存存储器风险的控制。然而,上述方法并不能保证写入速度的稳定性,并且对于主控的资源和硬件能力要求很高,可能使得产品的成本提高的同时降低固态硬盘有效容量。
针对上述技术问题,相关技术中尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据存储方法及装置、存储介质、电子装置,以至少解决相关技术中对数据的存储浪费存储空间的问题。
根据本发明的一个实施例,提供了一种数据存储方法,包括:混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,上述N个缓冲寄存器中包括N个数据页中的数据,上述N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,上述K和上述N均是大于1的自然数;按照确定的编码复杂度对上述混合数据进行编码,得到数据校验码数据;存储上述混合数据和上述数据校验码数据。
根据本发明的另一个实施例,提供了一种数据存储装置,包括:第一混合模块,用于混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,上述N个缓冲寄存器中包括N个数据页中的数据,上述N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,上述K和上述N均是大于1的自然数;第一编码模块,用于按照确定的编码复杂度对上述混合数据进行编码,得到数据校验码数据;第一存储模块,用于存储上述混合数据和上述数据校验码数据。
在一个示例性实施例中,上述第一混合模块,包括:第一混合单元,用于将上述N个缓冲寄存器中的第N个缓冲寄存器中的K个数据块按照预设数据大小混合至上述N个缓冲寄存器中的第X个缓冲寄存器中,其中,上述第X个缓冲寄存器中包括上述第N个缓冲寄存器中的数据;第一填充单元,用于将第Y个缓冲寄存器中的K个数据块填充至上述第X个缓冲寄存器中,得到上述混合数据,其中,上述混合数据中包括上述第N个缓冲寄存器中的数据和上述第Y个缓冲寄存器中的数据;其中,上述X和上述Y均是大于或等于1的自然数。
在一个示例性实施例中,上述装置还包括:第一保存模块,用于在混合确定的N个缓冲寄存器中的数据,得到混合数据之前,将写入数据的上述N个数据页依次保存至上述N个缓冲寄存器中,其中,上述N个数据页中的数据在上述N个缓冲寄存器中被均分。
在一个示例性实施例中,上述装置还包括:第一确定模块,用于在按照确定的编码复杂度对上述混合数据进行编码,得到数据校验码数据之前,基于读取的存储块的当前温度确定上述存储块的存储阈值;第二确定模块,用于确定上述存储块的擦除和写入的次数;第三确定模块,用于利用上述存储阈值、上述擦除和写入的次数确定上述编码复杂度。
在一个示例性实施例中,上述装置还包括:第四确定模块,用于在存储上述混合数据和上述数据校验码数据之后,基于接收的读取指令确定待读取页;第五确定模块,用于确定混合页的数量,其中,上述混合页中包括上述待读取页;第六确定模块,用于利用上述待读取页和上述混合页的确定上述混合页中的起始读取页;第一读取模块,用于从上述起始读取页开始读取上述待读取页中的数据。
在一个示例性实施例中,上述装置还包括:第二存储模块,用于从上述起始读取页开始读取上述待读取页中的数据之后,将读取的上述待读取页中的数据存储至临时缓冲寄存器中;第七确定模块,用于确定上述N个缓冲寄存器中每个缓冲寄存器中的第一个数据在上述临时缓冲寄存器中的位置;第一填写模块,用于按照第一个数据在上述临时缓冲寄存器中的位置,以及上述N个缓冲寄存器的顺序将上述临时缓冲寄存器中的数据依次填写到上述N个缓冲寄存器中。
在一个示例性实施例中,上述装置还包括:第八确定模块,用于按照第一个数据在上述临时缓冲寄存器中的位置,以及上述N个缓冲寄存器的顺序将上述临时缓冲寄存器中的数据依次填写到上述N个缓冲寄存器中之后,确定上述N个数据页中的数据在上述N个缓冲寄存器中的位置;第一返回模块,用于基于上述N个数据页中的数据在上述N个缓冲寄存器中的位置将上述数据返回至客户端。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,N个缓冲寄存器中包括N个数据页中的数据,N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,K和N均是大于1的自然数;按照确定的编码复杂度对混合数据进行编码,得到数据校验码数据;存储混合数据和数据校验码数据。实现了对数据进行横向混合编码并将混合编码后的数据下刷到存储介质的目的。可以减少对存储块的占用从而实际容量的降低。同时,也提高了编解码效率。因此,可以解决相关技术中对数据的存储浪费存储空间的问题。
附图说明
图1是本发明实施例的一种数据存储方法的移动终端的硬件结构框图;
图2是根据本发明实施例的数据存储方法的流程图;
图3是根据本发明实施例的数据混合编码并下刷的示意图;
图4是根据本发明实施例的读取用户数据并解码的结构示意图;
图5是根据本发明实施例的数据混合编码写入方法的流程图;
图6是根据本发明实施例的读取数据的混合编码的流程图;
图7是根据本发明实施例的数据存储装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据存储方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据存储方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据存储方法,图2是根据本发明实施例的数据存储方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,N个缓冲寄存器中包括N个数据页中的数据,N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,K和N均是大于1的自然数;
步骤S204,按照确定的编码复杂度对混合数据进行编码,得到数据校验码数据;
步骤S206,存储混合数据和数据校验码数据。
其中,上述步骤的执行主体可以为终端等,但不限于此。
通过上述步骤,通过混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,N个缓冲寄存器中包括N个数据页中的数据,N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,K和N均是大于1的自然数;按照确定的编码复杂度对混合数据进行编码,得到数据校验码数据;存储混合数据和数据校验码数据。实现了对数据进行横向混合编码并将混合编码后的数据下刷到存储介质的目的。可以减少对存储块的占用从而实际容量的降低。同时,也提高了编解码效率。因此,可以解决相关技术中对数据的存储浪费存储空间的问题。
在一个示例性实施例中,混合确定的N个缓冲寄存器中的数据,得到混合数据,包括:
S1,将N个缓冲寄存器中的第N个缓冲寄存器中的K个数据块按照预设数据大小混合至N个缓冲寄存器中的第X个缓冲寄存器中,其中,第X个缓冲寄存器中包括第N个缓冲寄存器中的数据;
S2,将第Y个缓冲寄存器中的K个数据块填充至第X个缓冲寄存器中,得到混合数据,其中,混合数据中包括第N个缓冲寄存器中的数据和第Y个缓冲寄存器中的数据;
其中,X和Y均是大于或等于1的自然数。
在本实施例中,预设数据大小可以是4KB。
在一个示例性实施例中,混合确定的N个缓冲寄存器中的数据,得到混合数据之前,方法还包括:
S1,将写入数据的N个数据页依次保存至N个缓冲寄存器中,其中,N个数据页中的数据在N个缓冲寄存器中被均分。
在本实施例中,将写入的N个Page数据保存在N个缓冲寄存器Buffer中,其中N表示的是数据混合页的数量,并且每个Buffer又分为4N个小块数据。
在一个示例性实施例中,按照确定的编码复杂度对混合数据进行编码,得到数据校验码数据之前,方法还包括:
S1,基于读取的存储块的当前温度确定存储块的存储阈值;
S2,确定存储块的擦除和写入的次数;
S3,利用存储阈值、擦除和写入的次数确定编码复杂度。
其中,K表示的当前块的PE次数,Vn表示的当前温度下颗粒特性的PE阈值,A表示与温度相关的常量参数并由量产过程中下发下去,L表示的适应当前情况的编码复杂度。
在一个示例性实施例中,存储混合数据和数据校验码数据之后,方法还包括:
S1,基于接收的读取指令确定待读取页;
S2,确定混合页的数量,其中,混合页中包括待读取页;
S3,利用待读取页和混合页的确定混合页中的起始读取页;
S4,从起始读取页开始读取待读取页中的数据。
在本实施例中,基于接收的读取指令确定待读取页之前,还包括根据当前块的状态确定编码复杂度。
在一个示例性实施例中,从起始读取页开始读取待读取页中的数据之后,方法还包括:
S1,将读取的待读取页中的数据存储至临时缓冲寄存器中;
S2,确定N个缓冲寄存器中每个缓冲寄存器中的第一个数据在临时缓冲寄存器中的位置;
S3,按照第一个数据在临时缓冲寄存器中的位置,以及N个缓冲寄存器的顺序将临时缓冲寄存器中的数据依次填写到N个缓冲寄存器中。
在本实施例中,可以准备N个Buffer用于存储混合分离后的各页数据,并找到各Buffer中起始数据所在临时数据Buffer中的位置。
在一个示例性实施例中,按照第一个数据在临时缓冲寄存器中的位置,以及N个缓冲寄存器的顺序将临时缓冲寄存器中的数据依次填写到N个缓冲寄存器中之后,方法还包括:
S1,确定N个数据页中的数据在N个缓冲寄存器中的位置;
S2,基于N个数据页中的数据在N个缓冲寄存器中的位置将数据返回至客户端。
下面结合具体实施例对本发明进行详细说明:
本实施例中包括的术语解释如下:
Offset:测试电压和基准电压的偏移量;
FW:Firmware,固件算法设计;
Read Disturb:读干扰,不断的读操作会增加介质存储信息的错误率;
Refresh:由于存储块已经快达到极限,需要将该数据搬移到更健康的存储模块中以保证数据安全;
RBER:Raw Bit Error Rate;
WL:Word Line,在TLC模式中,每个WL有三个page;
Hard Decode:LDPC硬判决;
Page:数据页,写入数据的最小单位;
QLC:每个存储单元能保存4bit数据的存储介质;
PE:擦除和写入。
本实施例提出一种适用视频监控的固态硬盘数据编码方法,其特征在于创新提出通过统计不同块的PE次数和环境温度并对比分析,完成对当前数据编码复杂度的判定。由于存储颗粒的特性在不同的温度下随着PE的变化而不同,根据这个规律,将存储颗粒在不同环境下颗粒的特性发生质变的PE阈值设为Vn,并根据测试块的PE次数和Vn的比值完成对编码复杂度L的确定,具体实现步骤如下:
步骤一,读取当前测试温度,并根据当前温度选择当前的阈值Vn;
步骤二,获取目标块的PE次数;
步骤三,根据获得PE次数以及当前的PE阈值Vn,两者相除获得当前编码复杂度L;
其中,K表示的当前块的PE次数,Vn表示的当前温度下颗粒特性的PE阈值,A表示与温度相关的常量参数并由量产过程中下发下去,L表示的适应当前情况的编码复杂度。
在获取编码复杂度后,需要将用户数据进行编码并下刷到存储介质中完成数据的保存,由于存储介质的工艺的升级导致其可靠性的降低,写入的数据存在单页超过最大更正能力的错误数据情况,为了解决错误数据过多的问题,创新提出动态混合数据编码方式完成数据的写入和读取,在以QLC为介质的大容量监控领域里尤为适用。如图3、图4所示,分别是动态混合编码的写入和读取流程示意图,用户数据通过混合编码后写入到存储介质中,并通过混合解码还原回原始数据。
本实施例为了解决在能够保证数据的正确性的前提下,如何减少对实际存储容量的压缩,提高数据的准确性,提高产品使用寿命的问题,提出了如图5所示的处理方法。
具体步骤如下:
S501:开始接收写数据命令,并执行S502;
S502:根据当前块的状态确定编码复杂度L,并执行S503;
S503:将写入的N个Page数据保存在N个Buffer中,其中N表示的是数据混合页的数量,并且每个Buffer又分为4N个小块数据;X表示用户数据中的第X个4KB数据,Y表示第几个用于存储数据的Buffer,X与Y初始值为0且X小于4N,Y<N,执行S504;
S504:按照4KB大小完成数据混合,开始第X个4KB数据的混合,并执行S505;
S505:获取Y Buffer中的某块数据完成对当前4KB数据的填充,具体算法由S506完成;
S506:替换块的计算公式如下,寻找到替换块后,执行S507;
f(X,Y)=(NY+X)%4N;
其中,X表示的是当前混合的4KB数据,Y表示的是填充当前4KB数据所在的Buffer,N表示的Buffer的数量,f(X,Y)表示的是填充当前4KB数据是Y Buffer中的哪个小数据块;
S507:判定Y是否等于N,若是则执行S508,否则执行S509;
S508:将混合后数据DX根据编码复杂度L完成编码,并得到数据校验码数据PX,将DX与PX保存,并执行S510;
S509:Y数值加1,并执行S505;
S510:判定X是否等于4N,若是,则执行S511,否则执行S512;
S511:将混合数据DX以及数据校验码数据PX下刷到存储介质中,其中X取值范围是[0,4N),并执行S513;
S512:X数值加1,并执行S504;
S513:数据混合编码写入流程结束。
本实施例在给出了混合编码写入流程的前提下,提出了图6所示的一种适应监控领域场景模型下混合解码方法。
具体步骤如下:
S601:开始接收读数据命令,并执行S602;
S602:根据当前块的状态确定编码复杂度L,并执行S603;
S603:获取第一个读取页,并执行S604,实现公式如下:
其中,Page是下发需要读取页,N是混合页的数量,Pc是目前需要读取数据的读取页,计算获得混合页的起始页;
S604:获取读取页的数据到临时Buffer中,并执行S605;
S605:判定数据是否是正确的,若是,则执行S606,否则执行S608;
S606:判定已经读取的页数是否小于N,若是,则执行S607,否则执行S610;
S607:Pc数值加1,并执行S604;
S608:进入数据更正流程进行数据纠错,并执行S609;
S609:判定数据是否成功更正,若是,执行S606,否则执行S614;
S610:准备N个Buffer用于存储混合分离后的各页数据,并找到各Buffer中起始数据所在临时数据Buffer中的位置,并执行S611,计算公式如下:
(NY+X)%4N=0;
其中,N是混合页数量,Y表示对应保存数据页数据的Buffer,X表示的是临时数据Buffer的第X个4KB,其中X的取值范围是[0,4N-1),Y的取值范围是[0,N),通过确定Y来计算Y buffer数据的起始位置X;
S611:获得各个Buffer的起始位置后,计算属于各个Buffer的小数据块,并执行S612,计算公式如下:
其中,N是混合页数量,Y表示对应保存数据页数据的Buffer,X表示的是临时数据Buffer的第X个4KB,U(X,Y)表示填充Y Buffer的小数据块,其中X的取值范围是[0,4N-1),Y的取值范围是[0,N),通过S610获得的起始位置X,在此基础上读取4N次,每次读取后X的值等于X加1后与4N的模;
S612:将U(X,Y)按照Buffer的顺序依次填写到对应的Buffer中,并执行S613;
S613:确定前端下发数据页的数据所在Buffer中的位置,把数据返回给前端,并执行S614,计算公式如下:
Y=Page%N;
其中,N是混合页数量,Y表示对应保存数据页数据的Buffer,Page是前端下发的读取页,计算得出需要返回数据所在的Buffer;
S614:读取数据的混合解码结束。
综上所述,本实施例通过对用户数据进行横向混合编码并将混合编码后的数据下刷到存储介质的方法对用户数据进行保护,与上述专利的对用户数据的两次编码,并对编码结果单独保存的方法相比,减少对存储块的占用从而实际容量的降低。已有专利对于数据的编码是采用两种不用的编码方式,这样不仅对主控资源要求的提高,对编解码的复杂度要求也会更高,提高研发成本,降低产品研发效率。本方案解决了因增加更正能力而需消耗存储空间的问题,同时,也提出了根据目标块的状态选择编解码复杂度的方法,提高编解码效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据存储装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的数据存储装置的结构框图,如图7所示,该装置包括:
第一混合模块72,用于混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,N个缓冲寄存器中包括N个数据页中的数据,N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,K和N均是大于1的自然数;
第一编码模块74,用于按照确定的编码复杂度对混合数据进行编码,得到数据校验码数据;
第一存储模块76,用于存储混合数据和数据校验码数据。
在一个示例性实施例中,上述第一混合模块,包括:
第一混合单元,用于将上述N个缓冲寄存器中的第N个缓冲寄存器中的K个数据块按照预设数据大小混合至上述N个缓冲寄存器中的第X个缓冲寄存器中,其中,上述第X个缓冲寄存器中包括上述第N个缓冲寄存器中的数据;
第一填充单元,用于将第Y个缓冲寄存器中的K个数据块填充至上述第X个缓冲寄存器中,得到上述混合数据,其中,上述混合数据中包括上述第N个缓冲寄存器中的数据和上述第Y个缓冲寄存器中的数据;
其中,上述X和上述Y均是大于或等于1的自然数。
在一个示例性实施例中,上述装置还包括:
第一保存模块,用于在混合确定的N个缓冲寄存器中的数据,得到混合数据之前,将写入数据的上述N个数据页依次保存至上述N个缓冲寄存器中,其中,上述N个数据页中的数据在上述N个缓冲寄存器中被均分。
在一个示例性实施例中,上述装置还包括:
第一确定模块,用于在按照确定的编码复杂度对上述混合数据进行编码,得到数据校验码数据之前,基于读取的存储块的当前温度确定上述存储块的存储阈值;
第二确定模块,用于确定上述存储块的擦除和写入的次数;
第三确定模块,用于利用上述存储阈值、上述擦除和写入的次数确定上述编码复杂度。
在一个示例性实施例中,上述装置还包括:
第四确定模块,用于在存储上述混合数据和上述数据校验码数据之后,基于接收的读取指令确定待读取页;
第五确定模块,用于确定混合页的数量,其中,上述混合页中包括上述待读取页;
第六确定模块,用于利用上述待读取页和上述混合页的确定上述混合页中的起始读取页;
第一读取模块,用于从上述起始读取页开始读取上述待读取页中的数据。
在一个示例性实施例中,上述装置还包括:
第二存储模块,用于从上述起始读取页开始读取上述待读取页中的数据之后,将读取的上述待读取页中的数据存储至临时缓冲寄存器中;
第七确定模块,用于确定上述N个缓冲寄存器中每个缓冲寄存器中的第一个数据在上述临时缓冲寄存器中的位置;
第一填写模块,用于按照第一个数据在上述临时缓冲寄存器中的位置,以及上述N个缓冲寄存器的顺序将上述临时缓冲寄存器中的数据依次填写到上述N个缓冲寄存器中。
在一个示例性实施例中,上述装置还包括:
第八确定模块,用于按照第一个数据在上述临时缓冲寄存器中的位置,以及上述N个缓冲寄存器的顺序将上述临时缓冲寄存器中的数据依次填写到上述N个缓冲寄存器中之后,确定上述N个数据页中的数据在上述N个缓冲寄存器中的位置;
第一返回模块,用于基于上述N个数据页中的数据在上述N个缓冲寄存器中的位置将上述数据返回至客户端。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以上各步骤的计算机程序。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以上各步骤。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,所述N个缓冲寄存器中包括N个数据页中的数据,所述N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,所述K和所述N均是大于1的自然数;
按照确定的编码复杂度对所述混合数据进行编码,得到数据校验码数据;
存储所述混合数据和所述数据校验码数据。
2.根据权利要求1所述的方法,其特征在于,混合确定的N个缓冲寄存器中的数据,得到混合数据,包括:
将所述N个缓冲寄存器中的第N个缓冲寄存器中的K个数据块按照预设数据大小混合至所述N个缓冲寄存器中的第X个缓冲寄存器中,其中,所述第X个缓冲寄存器中包括所述第N个缓冲寄存器中的数据;
将第Y个缓冲寄存器中的K个数据块填充至所述第X个缓冲寄存器中,得到所述混合数据,其中,所述混合数据中包括所述第N个缓冲寄存器中的数据和所述第Y个缓冲寄存器中的数据;
其中,所述X和所述Y均是大于或等于1的自然数。
3.根据权利要求1所述的方法,其特征在于,混合确定的N个缓冲寄存器中的数据,得到混合数据之前,所述方法还包括:
将写入数据的所述N个数据页依次保存至所述N个缓冲寄存器中,其中,所述N个数据页中的数据在所述N个缓冲寄存器中被均分。
4.根据权利要求1所述的方法,其特征在于,按照确定的编码复杂度对所述混合数据进行编码,得到数据校验码数据之前,所述方法还包括:
基于读取的存储块的当前温度确定所述存储块的存储阈值;
确定所述存储块的擦除和写入的次数;
利用所述存储阈值、所述擦除和写入的次数确定所述编码复杂度。
5.根据权利要求1所述的方法,其特征在于,存储所述混合数据和所述数据校验码数据之后,所述方法还包括:
基于接收的读取指令确定待读取页;
确定混合页的数量,其中,所述混合页中包括所述待读取页;
利用所述待读取页和所述混合页的确定所述混合页中的起始读取页;
从所述起始读取页开始读取所述待读取页中的数据。
6.根据权利要求5所述的方法,其特征在于,从所述起始读取页开始读取所述待读取页中的数据之后,所述方法还包括:
将读取的所述待读取页中的数据存储至临时缓冲寄存器中;
确定所述N个缓冲寄存器中每个缓冲寄存器中的第一个数据在所述临时缓冲寄存器中的位置;
按照第一个数据在所述临时缓冲寄存器中的位置,以及所述N个缓冲寄存器的顺序将所述临时缓冲寄存器中的数据依次填写到所述N个缓冲寄存器中。
7.根据权利要求6所述的方法,其特征在于,按照第一个数据在所述临时缓冲寄存器中的位置,以及所述N个缓冲寄存器的顺序将所述临时缓冲寄存器中的数据依次填写到所述N个缓冲寄存器中之后,所述方法还包括:
确定所述N个数据页中的数据在所述N个缓冲寄存器中的位置;
基于所述N个数据页中的数据在所述N个缓冲寄存器中的位置将所述数据返回至客户端。
8.一种数据存储装置,其特征在于,包括:
第一混合模块,用于混合确定的N个缓冲寄存器中的数据,得到混合数据,其中,所述N个缓冲寄存器中包括N个数据页中的数据,所述N个缓冲寄存器中的每个缓冲寄存器中均包括K个数据块,所述K和所述N均是大于1的自然数;
第一编码模块,用于按照确定的编码复杂度对所述混合数据进行编码,得到数据校验码数据;
第一存储模块,用于存储所述混合数据和所述数据校验码数据。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110424999.2A CN112988236B (zh) | 2021-04-20 | 2021-04-20 | 数据存储方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110424999.2A CN112988236B (zh) | 2021-04-20 | 2021-04-20 | 数据存储方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988236A true CN112988236A (zh) | 2021-06-18 |
CN112988236B CN112988236B (zh) | 2023-04-14 |
Family
ID=76341359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110424999.2A Active CN112988236B (zh) | 2021-04-20 | 2021-04-20 | 数据存储方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988236B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303501A (zh) * | 1998-05-27 | 2001-07-11 | Arm有限公司 | 混合向量/标量寄存器文件 |
US20090172363A1 (en) * | 2007-12-27 | 2009-07-02 | Doron Orenstien | Mixing instructions with different register sizes |
US20150339101A1 (en) * | 2014-05-23 | 2015-11-26 | Kalray | Bit-matrix multiplication using explicit register |
CN108292294A (zh) * | 2015-12-18 | 2018-07-17 | 英特尔公司 | 用于混合和置换操作序列的指令和逻辑 |
CN110535554A (zh) * | 2018-05-25 | 2019-12-03 | 大唐移动通信设备有限公司 | 一种数据块的编译码方法及装置 |
CN111008695A (zh) * | 2018-10-08 | 2020-04-14 | Arm有限公司 | 数据处理系统 |
CN112463433A (zh) * | 2016-04-27 | 2021-03-09 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
-
2021
- 2021-04-20 CN CN202110424999.2A patent/CN112988236B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303501A (zh) * | 1998-05-27 | 2001-07-11 | Arm有限公司 | 混合向量/标量寄存器文件 |
US20090172363A1 (en) * | 2007-12-27 | 2009-07-02 | Doron Orenstien | Mixing instructions with different register sizes |
US20150339101A1 (en) * | 2014-05-23 | 2015-11-26 | Kalray | Bit-matrix multiplication using explicit register |
CN108292294A (zh) * | 2015-12-18 | 2018-07-17 | 英特尔公司 | 用于混合和置换操作序列的指令和逻辑 |
CN112463433A (zh) * | 2016-04-27 | 2021-03-09 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
CN110535554A (zh) * | 2018-05-25 | 2019-12-03 | 大唐移动通信设备有限公司 | 一种数据块的编译码方法及装置 |
CN111008695A (zh) * | 2018-10-08 | 2020-04-14 | Arm有限公司 | 数据处理系统 |
Non-Patent Citations (1)
Title |
---|
王沛晶: "一种混合粒度奇偶校验故障注入检测方法", 《北京航空航天大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112988236B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043549B2 (en) | Memory storage apparatus, memory controller, and method for transmitting and identifying data stream | |
CN106067321A (zh) | 适于存储器编程暂停-恢复的控制器 | |
US10310739B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US20070067598A1 (en) | Storage device and host apparatus | |
US11861230B2 (en) | Controller and operating method thereof capable of reducing power consumption while satisfying required performance | |
KR20130118035A (ko) | 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 및 극 부호화된 부호어를 불휘발성 메모리 장치의 멀티 비트 데이터에 매핑하는 매핑 패턴을 선택하는 매핑 패턴 선택 방법 | |
CN102077176A (zh) | 存储器系统的回拷优化 | |
CN109857679A (zh) | 存储器控制器、存储器系统以及存储器系统的操作方法 | |
CN105229592B (zh) | 用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置和方法 | |
US20070226401A1 (en) | Data accessing structure and method for flash memory | |
US20130282959A1 (en) | System operation method and memory controller and memory storage device using the same | |
CN110310691A (zh) | 存储器系统中的工作负载预测及其方法 | |
CN108461107A (zh) | 读阈值跟踪方法与装置 | |
CN111813591B (zh) | Nand Flash的数据纠错方法、装置、电子设备及存储介质 | |
US20140245103A1 (en) | Memory controller, storage device, and memory control method | |
KR20240116679A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN109918019A (zh) | 存储器系统及其操作方法 | |
CN112162693B (zh) | 一种数据刷写方法、装置、电子设备和存储介质 | |
CN112988236B (zh) | 数据存储方法及装置、存储介质、电子装置 | |
CN111813339A (zh) | 闪存Nand Flash的数据写入方法、装置、电子设备及存储介质 | |
US9460782B2 (en) | Method of operating memory controller and devices including memory controller | |
KR102157672B1 (ko) | 반도체 장치 및 이의 동작 방법 | |
US20140068160A1 (en) | Memory controller, method of operating memory controller, and system comprising memory controller | |
CN114661516B (zh) | 具有数据质量度量和可选数据恢复方案的存储设备 | |
CN102436842B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 1202, Floor 12, Building 3, No. 126, Yueda Lane, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province, 310051 Applicant after: Zhejiang Huayi Core Technology Co.,Ltd. Address before: 310013 room 512, building 2, No. 2930, South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: Zhejiang Dahua Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |