CN108958666A - 一种数据处理方法及主控芯片 - Google Patents
一种数据处理方法及主控芯片 Download PDFInfo
- Publication number
- CN108958666A CN108958666A CN201810837262.1A CN201810837262A CN108958666A CN 108958666 A CN108958666 A CN 108958666A CN 201810837262 A CN201810837262 A CN 201810837262A CN 108958666 A CN108958666 A CN 108958666A
- Authority
- CN
- China
- Prior art keywords
- data
- main control
- control chip
- discrete
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 239000007787 solid Substances 0.000 claims abstract description 55
- 238000003860 storage Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000012937 correction Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 239000006185 dispersion Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本申请实施例公开了一种数据处理方法,用于在固态硬盘中存储原数据时,将原数据转换为离散数据,当进行读取时,可以将离散数据恢复为原数据实现读取。由于离散数据的离散化程度高于原数据,从而可以提高原数据的存储稳定性。本申请实施例方法包括:主控芯片获取读取指令;所述主控芯片根据所述读取指令读取对应的离散数据,所述离散数据为所述主控芯片对原数据经过离散运算后得到的数据,所述离散数据的离散化程度高于所述原数据;所述主控芯片对所述离散数据进行处理,得到所述原数据。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据处理方法及主控芯片。
背景技术
随着互联网、云计算、物联网等技术的发展及广泛应用,在人类生活中,时时刻刻都会产生海量的数据需要处理及存储,信息技术的高速发展对存储***的性能提出了更高的要求。固态硬盘因其读写速度快、能耗较低,而被广泛采用。
目前固态硬盘普遍采用NAND型闪存作为存储介质,因NAND型闪存的存储原理是采用存储细胞(cell)来存储数据,通过存储细胞两侧的电压值来分辨存储的比特位。随着擦写次数的增加,每个存储细胞存储数据的稳定性将会降低,从而导致数据在长时间存储后,会出现存储错误。当进行读取操作时,需要对存储的数据中的错误比特进行纠错操作。其中,存储的数据中错误比特的数目与该数据所有比特的数目的比值称为比特错误率。显然,比特错误率越高,则对固态硬盘的纠错能力要求越高。若存储的数据的比特错误率过高,其纠错难度超过了该固态硬盘的纠错能力,则该数据读取时可能会发生失败,从而导致固态硬盘的数据存储的稳定性较差。
发明内容
本申请实施例公开了一种数据处理方法,用于在固态硬盘中存储原数据时,将原数据转换为离散数据,当进行读取时,可以将离散数据恢复为原数据实现读取。由于离散数据的离散化程度高于原数据,从而可以提高原数据的存储稳定性。
第一方面,本实施例提供了一种数据处理方法,可以包括:
主控芯片获取读取指令;
该主控芯片根据该读取指令读取对应的离散数据,该离散数据为该主控芯片对原数据经过离散运算后得到的数据,该离散数据的离散化程度高于该原数据;
该主控芯片对该离散数据进行处理,得到该原数据。
可选的,在本发明的一些实施例中,该主控芯片获取读取指令之前,该方法还可以包括:
当在固态硬盘上写入该原数据时,该主控芯片为该原数据分配随机数;
该主控芯片使用预设算法对该原数据和该随机数进行离散运算,并生成该离散数据;
该主控芯片将该离散数据保存在该固态硬盘中。
可选的,在本发明的一些实施例中,该方法还可以包括:
该主控芯片从该固态硬盘中查询加密饶码表;
该主控芯片为该原数据分配随机数可以包括:
该主控芯片从该加密饶码表中为该原数据分配该随机数。
可选的,在本发明的一些实施例中,该方法还可以包括:
该主控芯片根据公式一建立随机模型;
该公式一为:k=(page_addr+pe_cnt)mod pageN,其中,page_addr为数据块block中页page的地址,pe_cnt为该block的擦写次数,mod为求余函数,pageN为该block中page的总数,K为该随机模型中page地址对应的值;
该主控芯片从该加密饶码表中为该原数据分配该随机数可以包括:
该主控芯片根据该原数据的存储空间的page地址查询得到对应的K值;
该主控芯片根据该K值从该加密饶码表中选择该随机数。
可选的,在本发明的一些实施例中,该主控芯片根据该读取指令读取对应的离散数据之后,该主控芯片对该离散数据进行处理,得到该原数据之前,该方法还可以包括:
该主控芯片对该离散数据进行纠错操作。
第二方面,本实施例提供了一种主控芯片,可以包括:
获取单元,用于获取读取指令;
运算单元,用于对原数据进行离散运算并得到离散数据,该离散数据的离散化程度高于该原数据;
读取单元,用于根据该读取指令读取该离散数据;
处理单元,用于对该离散数据进行处理,得到该原数据。
可选的,在本发明的一些实施例中,该主控芯片还可以包括:
分配单元,用于当在固态硬盘上写入该原数据时,为该原数据分配随机数;
该运算单元,具体用于使用预设算法对该原数据和该随机数进行离散运算,并生成该离散数据;
保存单元,用于将该离散数据保存在该固态硬盘中。
可选的,在本发明的一些实施例中,该主控芯片还可以包括:
查询单元,用于从该固态硬盘中查询加密饶码表;
该分配单元,具体用于从该加密饶码表中为该原数据分配该随机数。
可选的,在本发明的一些实施例中,
处理单元,还用于根据公式一建立随机模型;
该公式一为:k=(page_addr+pe_cnt)mod pageN,其中,page_addr为数据块block中页page的地址,pe_cnt为该block的擦写次数,mod为求余函数,pageN为该block中page的总数,K为该随机模型中page地址对应的值;
该分配单元,具体用于根据该原数据的存储空间的page地址查询得到对应的K值;根据该K值从该加密饶码表中选择该随机数。
可选的,在本发明的一些实施例中,该主控芯片还可以包括:
纠错单元,用于对该离散数据进行纠错操作。
第三方面,本申请实施例提供一种主控芯片,所述主控芯片包括:处理器、存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述主控芯片执行如前述第一方面及任一可选实现方式中所述的方法。
第四方面,本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。
第五方面,本申请实施例提供一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。
该计算机存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
从以上技术方案可以看出,本申请实施例具有以下优点:
当在固态硬盘上写入原数据时,固态硬盘的主控芯片将该原数据进行离散运算生成对应的离散数据,并保存该离散数据在固态硬盘中,当需要读取该原数据时,可以将该离散数据恢复为原数据。由于离散数据的离散化程度比原数据的离散化程度大,相对而言在固态硬盘中存储时,发生的错误比特较少,纠错难度降低,提高了原数据读取的成功率,进而提高了数据存储的稳定性。
附图说明
图1为本申请实施例中数据处理方法的一个实施例示意图;
图2为本申请实施例中数据处理方法的另一个实施例示意图;
图3为本申请实施例中主控芯片的一个实施例示意图;
图4为本申请实施例中主控芯片的另一个实施例示意图;
图5为本申请实施例中主控芯片的另一个实施例示意图;
图6为本申请实施例中主控芯片的另一个实施例示意图;
图7为本申请实施例中主控芯片的另一个实施例示意图。
具体实施方式
随着互联网、云计算、物联网等技术的发展及广泛应用,在人类生活中,时时刻刻都会产生海量的数据需要处理及存储,信息技术的高速发展对存储***的性能提出了更高的要求。固态硬盘因其读写速度快、能耗较低,而被广泛采用。
目前固态硬盘普遍采用NAND型闪存作为存储介质,因NAND型闪存的存储原理是采用存储细胞(cell)来存储数据,通过存储细胞两侧的电压值来分辨存储的比特位。由于NAND型闪存的擦写寿命有限,随着擦写次数的增加,每个存储细胞存储数据的稳定性将会降低,从而导致数据在长时间存储后,会出现存储错误。此外,需要说明的是,若大多数存储细胞存储的比特位与其相邻的存储细胞的比特数相同,即存储细胞相同一侧的电位相近,则相邻的存储细胞的电位会相互干扰造成一些存储细胞中存储的比特位改变为错误比特。
其中,可以将存储的数据在固态硬盘中相邻存储细胞的存储比特的相同程度定义为数据的离散化程度,例如当存储的数据的比特位都为0或1时,离散化最差,存储的数据大多数存储细胞存储的比特位与其相邻的比特位不同,则离散化程度较好。
显然,数据的离散化程度越好,则该数据在固态硬盘中存储时,其存储稳定性也越好。
基于此,本申请实施例提供了一种数据处理方法,用于在固态硬盘中存储原数据时,将原数据转换为离散数据,当进行读取时,可以将离散数据恢复为原数据实现读取。由于离散数据的离散化程度高于原数据,从而可以提高原数据的存储稳定性。
下面具体参照图1,图1为本申请实施例中数据处理方法的一个实施例示意图,可以包括:
101、主控芯片根据公式一建立随机模型。
本实施例中,所述公式一为:k=(page_addr+pe_cnt)mod pageN,其中,page_addr为数据块block中页page的地址,pe_cnt为block的擦写次数,mod为求余函数,pageN为该block中page的总数,K为随机模型中该page地址对应的值。
其中pageN与固态硬盘的闪存本身相关,为一个block中page的总数,对于确定的固态硬盘,其pageN不变。在同一个block中,每个page对应唯一的K值,该K值由该page在该block的地址可以确定。K值的计算,例如,若page_addr=100,pe_cnt=200,pageN=256,则K=44;page_addr=100,pe_cnt=100,pageN=256,则K=56。mod函数的计算方法是目前数据处理领域常见的算法,具体此处不再赘述。
此外,需要说明的是,在建立随机模型后,主控芯片可以直接对每一个生成对应的随机模型信息,该随机模型信息为block中每一个page与K值的对应关系,该模型信息随该block的擦写而进行更新。
需要说明的是,步骤101为可选步骤。
102、主控芯片获取写入指令。
本实施例中,当需要在固态硬盘中存储数据时,主控芯片获取写入指令,该写入指令中携带有需要存储的原数据以及原数据的一些标识信息,例如原数据的类别信息或优先级信息。该需要存储的数据可以是由主机发送的数据,也可以是固态硬盘使用过程中自生成的一些数据。主控芯片获取到该写入指令后,可以将该写入指令可以保存在缓存中,并根据写入指令中携带的标识信息为该原数据分配物理地址及逻辑地址。
103、主控芯片根据原数据的存储空间的page地址查询得到对应的K值。
本实施例中,主控芯片确定原数据的物理地址后,即确定了原数据在固态硬盘中存储的block地址以及该block中用于存储该原数据的page的地址。进一步的,根据该block的地址,主控芯片可以从固态硬盘存储的擦写次数信息中查询得到该block对应的擦写次数。
根据已经建立的随机模型,当确定该block的擦写次数以及对应的每一个page的地址,可以确定用于存储该原数据每一个page对应的K值。
可选的,本实施例中,若固态硬盘中已经存在随机模型信息,则在主控芯片确定逻辑地址后,可以根据block从固态硬盘中查询对应的随机模型信息,进一步的根据page地址从该随机模型信息中确定用于存储该原数据每一个page对应的K值。
104、主控芯片根据K值从加密饶码表中选择随机数。
本实施例中,加密饶码表为固态硬盘的闪存厂商在出厂时预置在闪存中的表格信息,该加密饶码表与闪存颗粒相关,该表中的数字按照顺序排列。当确定K值后,可以从该表中查找顺序为K对应的数字。
需要说明的是,步骤103与步骤104为可选步骤,随机数也可以采用其他方式产生。例如,主控芯片可以根据page的地址生成一个随机数,只要确定该page的随机数与相邻的page的随机数不同即可。
105、主控芯片使用预设算法对原数据和随机数进行离散运算,并生成离散数据。
本实施例中,当确定每一个page对应的随机数后,主控芯片利用线性反馈移位寄存器(linear feedback shift register,LFSR)对该page需要存储的原数据和该随机数进行运算生成离散数据。其中,LFSR是指,给定前一状态的输出,将该输出的线性函数再用作输入的移位寄存器。主控芯片对寄存器原数据的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位,从而增大原数据的离散程度。
106、主控芯片将离散数据保存在固态硬盘中。
本实施例中,当生成离散数据后,主控芯片将该离散数据按照已经确定的物理地址和逻辑地址将该离散数据存储在对应的存储空间中。
107、主控芯片获取读取指令。
本实施例中,当需要读取原数据时,主控芯片获取读取指令,该读取指令中携带有逻辑地址或者其他可以索引该原数据的标识信息。
108、主控芯片根据读取指令读取对应的离散数据。
本实施例中,主控芯片根据该逻辑地址从逻辑物理映射表中查询对应的物理地址,从该物理地址中读取对应的离散数据。
109、主控芯片对离散数据进行处理,得到原数据。
本实施例中,主控芯片获取到离散数据后,利用线性反馈移位寄存器对该离散数据进行反向操作,将该离散数据恢复为原数据。
从以上技术方案可以看出,本申请实施例具有以下优点:
当在固态硬盘上写入原数据时,固态硬盘的主控芯片将该原数据进行离散运算生成对应的离散数据,并保存该离散数据在固态硬盘中,当需要读取该原数据时,可以将该离散数据恢复为原数据。由于离散数据的离散化程度比原数据的离散化程度大,相对而言在固态硬盘中存储时,发生的错误比特较少,纠错难度降低,提高了原数据读取的成功率,进而提高了数据存储的稳定性。
以上方案中对进行离散化处理后,数据的正常存储与读取的过程进行了说明,需要说明的是,由于固态硬盘存储数据时,存储细胞的稳定性会随擦写次数增加而降低,从而导致存储数据时会生成错误比特。其中,存储的数据中错误比特的数目与该数据所有比特的数目的比值称为比特错误率。
为了避免存储的数据的比特错误率过高而使得该数据读取失败,NAND型闪存添加了数据纠错和校验机制,用于修正数据存储时发生的错误。显然,比特错误率越高,则对固态硬盘的校验能力和纠错能力要求越高。若存储的数据的比特错误率过高,其纠错难度超过了该固态硬盘的校验能力和纠错能力,则该数据读取时可能会发生失败,从而导致固态硬盘的数据存储的稳定性较差。
从前述方案中可以了解到,在对数据进行离散化处理后,可以使得存储的数据的比特错误率降低,从而降低对固态硬盘校验能力和纠错能力的要求,相对地提高数据存储的稳定性。
基于此,下面就固态硬盘的校验和纠错过程为例对本方案进一步进行说明。
下面具体参照图2,图2为本申请实施例中数据处理方法的另一个实施例示意图,可以包括:
201、主控芯片根据公式一建立随机模型。
需要说明的是,步骤201为可选步骤。
202、主控芯片接收到写入指令。
203、主控芯片根据原数据的存储空间的page地址查询得到对应的K值。
204、主控芯片根据K值从加密饶码表中选择随机数。
需要说明的是,步骤203与步骤204为可选步骤。
205、主控芯片使用预设算法对原数据和随机数进行离散运算,并生成离散数据。
需要说明的是,步骤201至步骤205与图1所示实施例中步骤101至步骤105类似,此处不再赘述。
206、主控芯片对离散数据进行加密,并生成加密数据和参照数据。
本实施例中,当生成离散数据后,主控芯片调用加密程序对该离散数据进行加密,需要说明的是,该加密过程是数据校验和纠错机制中的一部分,加密过程是采用编码技术对该离散数据进行处理,该编码技术可以是BCH纠错码(bose ray-chaudhurihocquenghem,BCH),也可以是低密度奇偶校验码(low density parity check code,LDPC),具体采用哪种编码技术,此处不做限制。
此外,需要说明的是,采用编码技术对该离散数据进行处理后,生成加密数据和参照数据,其中,生成的加密数据相对比离散数据而言,其数据的离散化程度不会改变,参照数据用于记录存储数据时初始的存储细节,在后续数据校验过程中,主控芯片可以根据该参照数据对存储的加密数据进行校验。在目前固态硬盘的数据校验和纠错过程中,对数据进行加密处理并生成参照数据是常见的技术,具体此处不再赘述。
207、主控芯片将加密数据和参照数据保存在固态硬盘中。
本实施例中,当主控芯片对该离散数据加密处理完毕后,主控芯片根据已确定的逻辑地址和物理地址将加密数据和参照数据存储在对应的存储空间中。
208、主控芯片获取读取指令。
需要说明的是,步骤208与图1所示实施例中步骤107类似,此处不再赘述。
209、主控芯片根据读取指令读取对应的加密数据和参照数据。
本实施例中,主控芯片根据该逻辑地址从逻辑物理映射表中查询对应的物理地址,从该物理地址中读取对应的加密数据和参照数据。
210、主控芯片根据参照数据对加密数据进行校验,得到加密数据中的错误比特信息。
本实施例中,当主控芯片获取到加密数据和参照数据后,主控芯片利用对应的编码技术根据该参照信息对该加密数据进行校验,并得到当前获取的该加密数据中的错误比特信息,并将该错误比特信息保存在缓存中。
211、主控芯片根据错误比特信息对加密数据进行纠错并将加密数据恢复为离散数据。
本实施例中,当对加密数据校验完成后,主控芯片根据得到的错误比特信息对加密数据进行纠错,例如存储细胞中存储的比特位为0为错误比特信息,则主控芯片将该比特位纠错改变为1。需要说明的是,数据的纠错和校验过程并非一定是全部数据校验完成后再进行纠错,在实际应用中,纠错和校验也可以同时进行。具体地,数据的校验和纠错机制是目前固态硬盘中常见的技术,此处不再赘述。
212、主控芯片对离散数据进行处理,得到原数据。
需要说明的是,步骤212与图1所示实施例中步骤109类似,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:
当在固态硬盘上写入原数据时,固态硬盘的主控芯片将该原数据进行离散运算并生成对应的离散数据。之后,固态硬盘对该离散数据进行加密,并生成对应的加密数据。当需要读取原数据时,对加密数据进行校验和纠错,并将加密数据解码生成该离散数据,再将该离散数据转换为原数据从而完成读取操作。本技术方案中,由于对原数据进行了离散化处理,提高了对应的加密数据的离散化程度,从而在进行纠错时对主控芯片的校验能力和纠错能力要求降低,可以提高数据校验和纠错的成功率,提高了数据读取的成功率。进一步,相对而言,提高了数据存储的稳定性。
以上的实施例对技术方案的方法进行了说明,下面对主控芯片进行进一步的说明。
下面具体参照图3,图3为本申请实施例中主控芯片的一个实施例示意图,可以包括:
获取单元301,用于获取读取指令;
运算单元302,用于对原数据进行离散运算并得到离散数据,该离散数据的离散化程度高于该原数据;
读取单元303,用于根据该读取指令读取该离散数据;
处理单元304,用于对该离散数据进行处理,得到该原数据。
可选的,在本申请的一些实施例中,具体参照图4,图4为本申请实施例中主控芯片的另一个实施例示意图,该主控芯片还可以包括:
分配单元305,用于当在固态硬盘上写入该原数据时,为该原数据分配随机数;
运算单元302,具体用于使用预设算法对该原数据和该随机数进行离散运算,并生成该离散数据;
保存单元306,用于将该离散数据保存在该固态硬盘中。
可选的,在本申请的一些实施例中,具体参照图5,图5为本申请实施例中主控芯片的另一个实施例示意图,该主控芯片还可以包括:
查询单元307,用于从该固态硬盘中查询加密饶码表;
分配单元305,具体用于从该加密饶码表中为该原数据分配该随机数。
可选的,在本申请的一些实施例中,
处理单元304,还用于根据公式一建立随机模型;
该公式一为:k=(page_addr+pe_cnt)mod pageN,其中,page_addr为数据块block中页page的地址,pe_cnt为该block的擦写次数,mod为求余函数,pageN为该block中page的总数,K为该随机模型中page地址对应的值;
分配单元305,具体用于根据该原数据的存储空间的page地址查询得到对应的K值;根据该K值从该加密饶码表中选择该随机数。
可选的,在本申请的一些实施例中,具体参照图6,图6为本申请实施例中主控芯片的另一个实施例示意图,该主控芯片还可以包括:
纠错单元308,用于对该离散数据进行纠错操作。
本申请实施例中还提供一种主控芯片,如图7所示,图7为本申请实施例中主控芯片的另一个实施例示意图,可以包括:
处理器701、存储器702和输入/输出单元703;
输入/输出单元703,用于接收或发送指令;
存储器702,用于存储指令;
处理器701,用于执行所述存储器中的所述指令,使得所述主控芯片执行如前述图1或图2所示实施例及任一可选实现方式中所述的方法。
本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。
本申请实施例提供一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。
该计算机存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
主控芯片获取读取指令;
所述主控芯片根据所述读取指令读取对应的离散数据,所述离散数据为所述主控芯片对原数据经过离散运算后得到的数据,所述离散数据的离散化程度高于所述原数据;
所述主控芯片对所述离散数据进行处理,得到所述原数据。
2.根据权利要求1所述的方法,其特征在于,所述主控芯片获取读取指令之前,所述方法还包括:
当在固态硬盘上写入所述原数据时,所述主控芯片为所述原数据分配随机数;
所述主控芯片使用预设算法对所述原数据和所述随机数进行离散运算,并生成所述离散数据;
所述主控芯片将所述离散数据保存在所述固态硬盘中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述主控芯片从所述固态硬盘中查询加密饶码表;
所述主控芯片为所述原数据分配随机数包括:
所述主控芯片从所述加密饶码表中为所述原数据分配所述随机数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述主控芯片根据公式一建立随机模型;
所述公式一为:k=(page_addr+pe_cnt)mod pageN,其中,page_addr为数据块block中页page的地址,pe_cnt为所述block的擦写次数,mod为求余函数,pageN为所述block中page的总数,K为所述随机模型中page地址对应的值;
所述主控芯片从所述加密饶码表中为所述原数据分配所述随机数包括:
所述主控芯片根据所述原数据的存储空间的page地址查询得到对应的K值;
所述主控芯片根据所述K值从所述加密饶码表中选择所述随机数。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述主控芯片根据所述读取指令读取对应的离散数据之后,所述主控芯片对所述离散数据进行处理,得到所述原数据之前,所述方法还包括:
所述主控芯片对所述离散数据进行纠错操作。
6.一种主控芯片,其特征在于,包括:
获取单元,用于获取读取指令;
运算单元,用于对原数据进行离散运算并得到离散数据,所述离散数据的离散化程度高于所述原数据;
读取单元,用于根据所述读取指令读取所述离散数据;
处理单元,用于对所述离散数据进行处理,得到所述原数据。
7.根据权利要求6所述的主控芯片,其特征在于,所述主控芯片还包括:
分配单元,用于当在固态硬盘上写入所述原数据时,为所述原数据分配随机数;
所述运算单元,具体用于使用预设算法对所述原数据和所述随机数进行离散运算,并生成所述离散数据;
保存单元,用于将所述离散数据保存在所述固态硬盘中。
8.根据权利要求7所述的主控芯片,其特征在于,所述主控芯片还包括:
查询单元,用于从所述固态硬盘中查询加密饶码表;
所述分配单元,具体用于从所述加密饶码表中为所述原数据分配所述随机数。
9.根据权利要求8所述的主控芯片,其特征在于,
处理单元,还用于根据公式一建立随机模型;
所述公式一为:k=(page_addr+pe_cnt)mod pageN,其中,page_addr为数据块block中页page的地址,pe_cnt为所述block的擦写次数,mod为求余函数,pageN为所述block中page的总数,K为所述随机模型中page地址对应的值;
所述分配单元,具体用于根据所述原数据的存储空间的page地址查询得到对应的K值;根据所述K值从所述加密饶码表中选择所述随机数。
10.根据权利要求6至9中任一项所述的主控芯片,其特征在于,所述主控芯片还包括:
纠错单元,用于对所述离散数据进行纠错操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810837262.1A CN108958666A (zh) | 2018-07-26 | 2018-07-26 | 一种数据处理方法及主控芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810837262.1A CN108958666A (zh) | 2018-07-26 | 2018-07-26 | 一种数据处理方法及主控芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108958666A true CN108958666A (zh) | 2018-12-07 |
Family
ID=64463406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810837262.1A Pending CN108958666A (zh) | 2018-07-26 | 2018-07-26 | 一种数据处理方法及主控芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958666A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210591A (zh) * | 2019-06-05 | 2019-09-06 | 金邦达有限公司 | 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866877A (zh) * | 2011-07-08 | 2013-01-09 | 三星电子株式会社 | 存储器控制器及操作方法,及含存储器控制器的电子设备 |
CN103092766A (zh) * | 2012-12-28 | 2013-05-08 | 北京时代民芯科技有限公司 | 一种用于nand flash的均衡损耗实现方法 |
CN103984607A (zh) * | 2013-02-08 | 2014-08-13 | 华为技术有限公司 | 分布式存储的方法、装置和*** |
CN106502590A (zh) * | 2016-10-24 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种固态硬盘ssd存储***及方法 |
CN106599701A (zh) * | 2016-12-06 | 2017-04-26 | 华为技术有限公司 | 一种硬盘加密方法、硬盘及硬盘加密设备 |
JP2017102844A (ja) * | 2015-12-04 | 2017-06-08 | 株式会社東芝 | 乱数発生回路および半導体記憶装置 |
CN107203476A (zh) * | 2016-03-18 | 2017-09-26 | 慧荣科技股份有限公司 | 数据储存装置、存储器控制器及其数据管理方法 |
CN107590395A (zh) * | 2017-08-15 | 2018-01-16 | 国家电网公司 | 适用于云环境的多层数据加密方法、装置、设备及*** |
CN107741947A (zh) * | 2017-08-30 | 2018-02-27 | 浙江九州量子信息技术股份有限公司 | 基于hdfs文件***的随机数密钥的存储与获取方法 |
CN107765997A (zh) * | 2017-09-30 | 2018-03-06 | 记忆科技(深圳)有限公司 | 一种固态硬盘写入数据加扰的方法 |
-
2018
- 2018-07-26 CN CN201810837262.1A patent/CN108958666A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866877A (zh) * | 2011-07-08 | 2013-01-09 | 三星电子株式会社 | 存储器控制器及操作方法,及含存储器控制器的电子设备 |
CN103092766A (zh) * | 2012-12-28 | 2013-05-08 | 北京时代民芯科技有限公司 | 一种用于nand flash的均衡损耗实现方法 |
CN103984607A (zh) * | 2013-02-08 | 2014-08-13 | 华为技术有限公司 | 分布式存储的方法、装置和*** |
JP2017102844A (ja) * | 2015-12-04 | 2017-06-08 | 株式会社東芝 | 乱数発生回路および半導体記憶装置 |
CN107203476A (zh) * | 2016-03-18 | 2017-09-26 | 慧荣科技股份有限公司 | 数据储存装置、存储器控制器及其数据管理方法 |
CN106502590A (zh) * | 2016-10-24 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种固态硬盘ssd存储***及方法 |
CN106599701A (zh) * | 2016-12-06 | 2017-04-26 | 华为技术有限公司 | 一种硬盘加密方法、硬盘及硬盘加密设备 |
CN107590395A (zh) * | 2017-08-15 | 2018-01-16 | 国家电网公司 | 适用于云环境的多层数据加密方法、装置、设备及*** |
CN107741947A (zh) * | 2017-08-30 | 2018-02-27 | 浙江九州量子信息技术股份有限公司 | 基于hdfs文件***的随机数密钥的存储与获取方法 |
CN107765997A (zh) * | 2017-09-30 | 2018-03-06 | 记忆科技(深圳)有限公司 | 一种固态硬盘写入数据加扰的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210591A (zh) * | 2019-06-05 | 2019-09-06 | 金邦达有限公司 | 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质 |
CN110210591B (zh) * | 2019-06-05 | 2022-06-21 | 金邦达有限公司 | 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11327834B2 (en) | Efficient computation of parity data in storage system implementing data striping | |
US10983860B2 (en) | Automatic prefill of a storage system with conditioning of raid stripes | |
US10684915B2 (en) | Efficient packing of compressed data in storage system implementing data striping | |
US20200249868A1 (en) | Write flow offloading to raid array storage enclosure | |
US10152601B2 (en) | Reliably recovering stored data in a dispersed storage network | |
US9081752B2 (en) | Redundant disk encoding via erasure decoding | |
TWI716416B (zh) | 儲存系統、用於管理儲存媒體的方法以及系統、操作儲存系統的方法、以及非暫存性電腦可讀媒體 | |
US9811419B2 (en) | Validation bits and offsets to represent logical pages split between data containers | |
US9465692B2 (en) | High reliability erasure code distribution | |
US20150095747A1 (en) | Method for data recovery | |
US20150349805A1 (en) | Method of Handling Error Correcting Code in Non-volatile Memory and Non-volatile Storage Device Using the Same | |
US11494103B2 (en) | Memory-efficient processing of RAID metadata bitmaps | |
CN105745627A (zh) | 用于非易失性存储器存储设备的地址转换 | |
CN108733311B (zh) | 用于管理存储***的方法和设备 | |
US20160239666A1 (en) | Non-deterministic encryption | |
US20110113313A1 (en) | Buffer transfer check on variable length data | |
CN104733051B (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
US20130080787A1 (en) | Memory storage apparatus, memory controller and password verification method | |
CN109753463A (zh) | 控制器及其操作方法和存储***及其操作方法 | |
WO2015096496A1 (zh) | 存储数据的方法及存储装置 | |
CN105897689B (zh) | 嵌入式***及其方法 | |
CN103270546A (zh) | 签名生成装置、签名生成方法以及记录介质 | |
JP2016038767A (ja) | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 | |
CN108958666A (zh) | 一种数据处理方法及主控芯片 | |
CN107153510A (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 |
Application publication date: 20181207 |
|
RJ01 | Rejection of invention patent application after publication |