CN114527937B - 一种在加密情境下减少非易失性内存写放大方法 - Google Patents
一种在加密情境下减少非易失性内存写放大方法 Download PDFInfo
- Publication number
- CN114527937B CN114527937B CN202210073380.6A CN202210073380A CN114527937B CN 114527937 B CN114527937 B CN 114527937B CN 202210073380 A CN202210073380 A CN 202210073380A CN 114527937 B CN114527937 B CN 114527937B
- Authority
- CN
- China
- Prior art keywords
- counter
- data
- cache line
- encryption
- cache
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000003321 amplification Effects 0.000 title claims abstract description 20
- 238000003199 nucleic acid amplification method Methods 0.000 title claims abstract description 20
- 238000012937 correction Methods 0.000 claims abstract description 14
- 230000004927 fusion Effects 0.000 claims abstract description 11
- 238000013524 data verification Methods 0.000 claims abstract description 7
- 238000011084 recovery Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000005265 energy consumption Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000008520 organization Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000001172 regenerating 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出一种在加密情境下减少非易失性内存写放大方法,包括:计数器产生步骤,加密步骤,加密计数器纠删码融合步骤,数据写入步骤,数据读取步骤,密文解密步骤,数据验证纠错步骤。本发明提出的方法在不影响缓存行数据的可靠性的前提下,通过将加密计数器融入到缓存行的纠删码中,减轻在加密情境下由于需要额外写入加密元数据导致的写放大问题,同时通过扩大加密计数器的大小来减少重新加密的频率,提高非易失性内存的使用寿命,降低读写延迟和使用能耗。
Description
技术领域
本发明涉及计算机数据存储领域,特别是指一种在加密情境下减少非易失性内存写放大方法。
背景技术
当前,非易失性存储器由于具有非易失性、字节寻址、良好的扩展性等特性而得到工业界和学术界的广泛关注,非易失性内存是下一代计算机内存系统不可或缺的组成部分。虽然非易失性内存有着众多优势,但是其有限的写耐久次数和高的写入延迟成为了计算机整体系统性能提高的瓶颈,同时相对于传统的内存,由于非易失性内存的非易失性(即在系统掉电后,数据并不会丢失,攻击者很容易就可以得到内存当中的数据),非易失性内存系统存在严重的数据安全问题。
为了解决非易失性内存中数据持久性引起的数据安全问题,数据加密方法被广泛应用。而如果直接对内存数据进行加密会导致读取数据、读取密文和解密过程只能串行执行,导致性能的下降。因此,现在业界主要使用计数器模式加密,使用这种加密方法可以使得读取密文和解密流程并行执行,大大提升了系统的性能。虽然通过数据加密方法保证了数据的安全性,却进一步加剧了非易失性内存的写磨损,这对写耐久次数本就有限的非易失性存储器来说是不能接受的。而且计数器模式加密虽然提升了性能,但是在计数器溢出时,需要对整个页(一般是4KB)进行重新加密,这也加剧了写磨损,缩短了非易失性内存的使用寿命。非易失性存储器,例如PCM(相变存储器)的写耐久次数只有107~108,当存储器经历了一定的写次数之后,存储器老化,就容易造成数据错误,而当写次数达到最大值时,存储器的寿命也会随之结束。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种在加密情境下减少非易失性内存写放大方法,在不影响缓存行数据的可靠性的前提下,通过将加密计数器融入到缓存行的纠删码中,减轻在加密情境下由于需要额外写入加密元数据导致的写放大问题,同时通过扩大加密计数器的大小来减少重新加密的频率,提高非易失性内存的使用寿命,降低读写延迟和使用能耗。
本发明采用如下技术方案:
一种在加密情境下减少非易失性内存写放大方法,包括:
计数器产生步骤:采用双计数器混合模式或采用唯一计数器模式;
所述双计数器混合模式中包括第一计数器和第二计数器,对于所写入的缓存行数据,将该缓存行的第二计数器加一;若加一之后,第二计数器溢出,则将第二计数器置零并将第一计数器加一;唯一计数器模式中,对于每次缓存行数据写入,唯一计数器加一;
纠删码产生步骤:对于一个缓存行,采用SEC-DED码和BCH码两种纠删码编码;
加密步骤:根据缓存行的地址和计数器使用高级加密标准产生与缓存行数据大小相同的一次性密码本,然后将缓存行数据与一次性密码本进行异或操作实现数据加密操作;
加密计数器纠删码融合步骤:将计数器放入每个缓存行的比特纠删码空间中,实现加密计数器纠删码融合;
数据写入步骤:若缓存行数据命中数据缓存,则在数据缓存当中进行数据更新,同时在计数器缓存当中更新相应的计数器;若采用唯一计数器模式,则计数器缓存中每个页的计数器以基量加增量的方式存在;若缓存行数据未命中数据缓存,则根据LRU算法进行缓存替换,并使用更新之后的计数器产生新的一次性密码本,对缓存行数据进行加密,并将被替换的缓存行、纠删码和加密计数器一起写入内存系统当中;
数据读取步骤:根据读取请求到内存系统当中相应的地址读取密文数据和纠删码数据。
密文解密步骤:根据读取请求到计数器缓存当中读取相应的计数器,使用AES算法产生一次性密码本,完成读取数据后,将一次性密码本与密文数据进行异或操作得到明文数据;
数据验证纠错步骤:根据得到的明文数据计算新的纠删码,并与原有的纠删码进行对比,若比对结果相一致,读取完成;否则,则进行数据恢复。
具体地,纠删码产生步骤:对于一个缓存行,采用SEC-DED码或BCH码进行纠删码编码,具体为:
使用SEC-DED码来保证数据的准确性,对应双计数器混合模式,将一个64字节的缓存行分为8个8字节的数据块,针对每个数据块产生对应的SEC-DED实现双检错,其中纠错功能通过穷举遍历来实现;
使用BCH码来保证数据的准确性,对应唯一计数器模式,采用36个检验位来纠4个比特错误。
具体地,加密计数器纠删码融合步骤:将计数器放入每个缓存行的比特纠删码空间中,实现加密计数器纠删码融合,具体为:
若采用双计数器混合模式,每个缓存行存在64比特纠删码空间,使用SEC-DED需56比特空间,每个缓存行存在8比特的空闲空间,将第二计数器存放到空闲空间中;
若采用唯一计数器模式,每个缓存行有64比特纠删码空间,而采用BCH码需36比特空间,每个缓存行有28比特的空闲空间,将唯一计数器存放到空闲空间中。
具体地,数据写入步骤中,在计数器缓存当中更新相应的计数器,具体为:
对计数器缓存进行更新时,首先将增量加一,若增量溢出,则将该缓存行所属页当中所有的缓存行的计数器进行扫描,并将当中最小值作为新的增量,并更新该页当中所有缓存计数器的增量;采用更新之后的计数器产生新的一次性密码本,对缓存行数据进行加密。
具体地,数据验证纠错步骤中,进行数据恢复,具体为:
若采用SEC-DED来产生纠删码,则通过穷举方法进行数据恢复;具体为:将64字节的缓存行数据分为8个8字节的数据块,对每个数据块进行比对恢复,对于每个8字节的数据块,通过改变该数据块第k个位置上的比特数据,k为1~64,若原有第k位置上的比特数据为“1”,则将其改变为“0”,否则将其改变为“1”,再计算改变一个比特位后的数据块的SEC-DED,将该SEC-DED与原有的汉明码进行对比,若匹配成功,则数据恢复成功,终止数据恢复过程;否则,进行下一个数据比特修改,直至匹配成功;
若采用BCH码来产生纠删码,则直接进行BCH解码恢复准确数据。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
本发明在不影响原有纠删码纠错检错功能的前提下,通过将加密计数器存放到相应缓存行的纠删码的部分空间当中,将缓存行数据写和加密计数器写融合成一次写,避免了缓存行数据写和加密计数器写双写带来的写放大问题,其中纠错功能通过穷举计算来恢复。此外,通过将双计数器混合模式中的第二计数器的大小扩大一倍来降低内存重新加密的频率,和将唯一计数器模式中的唯一计数器的大小提升到设备的最大磨损次数来彻底规避内存重新加密,同时在计数器缓存当中使用基量加增量的数据组织方式,从而提高了非易失性内存的使用寿命,降低了读写延迟和使用能耗。
附图说明
图1为本发明实施例提供的方法流程示意图;
图2为本发明双计数器混合模式下纠删码加密计数器组织结构的示意图;
图3为本发明主要唯一计数器模式下纠删码加密计数器组织结构的示意图;
图4为本发明计数器缓存中计数器组织结构的示意图;
图5为本发明数据写入过程的示意图;
图6为本发明数据读取过程的示意图。
以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
本发明提出一种在加密情境下减少非易失性内存写放大方法,在不影响缓存行数据的可靠性的前提下,通过将加密计数器融入到缓存行的纠删码中,减轻在加密情境下由于需要额外写入加密元数据导致的写放大问题,同时通过扩大加密计数器的大小来减少重新加密的频率,提高非易失性内存的使用寿命,降低读写延迟和使用能耗。
图1为本发明实施例的总体示意图,根据整个系统的读写请求进行相应的读写操作,当处理完所有读写请求之后,进入结束步骤。
一种在加密情境下减少非易失性内存写放大方案,其特征在于,包括如下步骤:
(1)计数器产生步骤,使用两种计数器组织模式,分别对应两种纠删码模式,若使用SEC-DED码(汉明码),则进行过程(1.1);若使用BCH码,则进行过程(1.2):
(1.1)使用双计数器混合模式,其中第一计数器为主要计数器,第二计数器为次要计数器,在本发明中,主要计数器的大小为64比特,取值范围为0~264-1,次要计数器的大小为8比特,取值范围为0~28-1。每个缓存行有私有的次要计数器,每个页(由64个缓存行组成)共享一个主要计数器。使用这种模式,对于所写入的缓存行数据,将该缓存行的次要计数器加一。若加一之后,次要计数器溢出,则将次要计数器置零并将主要计数器加一。
(1.2)使用唯一计数器模式,每个缓存行有私有的唯一计数器,在本发明中,唯一计数器的大小为28比特,取值范围为0~228-1。对于每次缓存行数据写入,唯一计数器加一。
(2)纠删码产生步骤,对于一个缓存行,使用两种纠删码编码方式,进行下列过程:
(2.1)使用SEC-DED码来保证数据的准确性,对应过程(1.1)中的双计数器混合模式。本发明使用普通汉明码来实现双检错功能将一个64字节的缓存行分为8个8字节的数据块,针对每个数据块产生对应的汉明码,只实现双检错功能,普通汉明码需要7比特的纠删码空间,其中纠错功能通过穷举遍历来实现,具体见步骤(8),数据验证纠错步骤。
(2.2)使用BCH码来保证数据的准确性,对应过程(1.2)中的唯一计数器模式。在本发明中,使用BCH(548,512)来保证数据准确性,即使用36个检验位来纠4个比特错误。
(3)加密步骤,进行下列过程:
根据缓存行的地址、计数器使用高级加密标准(Advanced Encryption Standard,简称AES)产生与缓存行数据大小相同的一次性密码本(One-Time Pad,简称OTP),然后将缓存行数据与OTP进行异或操作实现数据加密操作。
(4)加密计数器纠删码融合步骤,进行下列过程:
(4.1)若使用过程(1.1)中的双计数器混合模式,由于每个缓存行有64比特纠删码空间,而使用普通汉明码只需要56比特空间,因此每个缓存行有8比特的纠删码空间空闲,可以将次要计数器存放到这一部分空间当中,使得次要计数器和纠删码有机结合,从而规避写入数据时需要额外写入次要计数器带来的写放大问题。此外,8比特的次要计数器也将次要计数器溢出的频率降低了一倍,降低了内存重加密次数。
(4.2)若使用过程(1.2)中的唯一计数器模式,由于每个缓存行有64比特纠删码空间,而使用BCH码只需要36比特空间,因此每个缓存行有28比特的纠删码空间空闲,可以将唯一计数器存放到这一部分空闲空间当中,从而避免数据写入和计数器写入带来的写放大问题。此外,28比特的唯一计数器可以彻底避免计数器溢出问题,从而彻底避免了重加密问题。
图2为本发明双计数器混合模式下纠删码加密计数器组织结构的示意图,该模式下将计数器分为主要计数器和次要计数器,而次要计数器和纠删码融合在一起。具体为:将整个缓存行数据分成大小相同的8个数据块,分别计算出这8个数据块的汉明码,总共占据56比特,并且将次要计数器存放在剩下的8比特的纠删码空间当中。
图3为本发明唯一计数器模式下纠删码加密计数器组织结构的示意图,该模式下使用BCH码来保证数据正确性。针对整个缓存行数据产生一个BCH码,该BCH码占据36比特的纠删码空间,而唯一计数器存放在剩下的28比特空间当中。
(5)数据写入步骤,进行下列过程:
(5.1)若缓存行数据命中数据缓存,则直接在数据缓存当中进行数据更新,同时在计数器缓存当中更新相应的计数器。若采用唯一计数器模式,则计数器缓存中每个页的计数器以基量加增量的方式存在,即每个缓存行都有其私有的增量且共享整个页的基量。唯一计数器模式中,每个缓存行的计数器大小为28比特,其中基量大小为21比特,由该缓存行所属页当中的所有缓存行共享,而增量大小为7比特,为该缓存行私有。图4为本发明计数器缓存中计数器组织结构的示意图,在唯一计数器模式下,在计数器缓存中采用基量加增量的方式来组织计数器以提高缓存利用率。在计数器缓存中,64个缓存行组成一个页,该页内的所有缓存行共享一个21比特的基量,然后私有7比特的增量。对计数器缓存进行更新时,首先将增量加一,若增量溢出的话,则将该缓存行所属页当中所有缓存行的计数器进行扫描,将当中最小值作为新的增量,并更新该页当中所有的缓存计数器的增量。
对计数器缓存进行更新时,首先将增量加一,若增量溢出的话,则将该缓存行所属页当中所有的缓存行的计数器进行扫描,并将当中最小值作为新的增量,并更新该页当中所有缓存计数器的增量。然后使用更新之后的计数器产生新的OTP,对缓存行数据进行加密。
(5.2)若缓存行数据未命中数据缓存,则根据LRU算法进行缓存替换,并使用更新之后的计数器产生新的OTP,对缓存行数据进行加密。被替换出去的缓存行、纠删码、加密计数器被一起写入内存系统当中。
图5为数据写入过程的示意图,进行下述操作:
接收数据写入请求,将该缓存行数据的对应加密计数器加一;判断该计数器是否溢出,若是,则将第二计数器置零并将第一计数器加一,否则只将第二计数器加一;然后采用磨损均衡算法对写入数据进行重映射,将频繁被写的缓存行映射到相对不频繁被写的缓存行位置;判断是否使用汉明码进行纠删码编码,若是,将该缓存行数据分为大小相等的8个数据块,并对每个数据块进行汉明码编码产生校验码,否则对整个缓存行数据进行BCH码编码;根据缓存行数据的计数器,地址等元数据信息使用AES算法产生与缓存行数据大小相等的OTP(一次性密码本);将缓存行数据和OTP执行异或操作进行数据加密;进行加密计数器纠删码融合;将加密后的缓存行数据以及计数器纠删码等元数据写入系统。
(6)数据读取步骤,进行下列过程:
根据读取请求到内存系统当中相应的地址读取密文数据、纠删码数据等,同时并行进行步骤(7)。
图6为本发明数据读取过程的示意图,进行下述操作:
接收数据读取请求,在系统相应位置读取密文和元数据;根据读取到的元数据信息重新生成OTP;将密文和OTP进行异或操作得到明文数据;判断是否使用了汉明码进行纠删码编码,若是,将该缓存行数据分为大小相等的8个数据块,并对每个数据块进行汉明码编码产生校验码,判断新生成的汉明码与读取到的旧汉明码是否一致,若是,则完成数据读取,否则,对数据块进行按位修改并重新计算汉明码,再次与读取到的旧汉明码进行比对;若不是使用汉明码进行纠删码编码则表示采用了BCH编码,对整个缓存行数据进行BCH编码产生纠删码,判断新生成的BCH码与读取到的旧BCH码是否一致,若是,则完成数据读取,否则,根据BCH解码方法进行解码得到准确数据。
(7)密文解密步骤,进行下列过程:
根据读取请求到计数器缓存当中读取相应的计数器,使用AES算法产生OTP,待步骤(6)完成读取数据,将OTP与密文数据进行异或操作得到明文。
(8)数据验证纠错步骤,进行下列过程:
(8.1)根据步骤(7)得到的明文数据计算新的纠删码,并与原有的纠删码进行对比,若比对结果相一致,说明数据没有出现错误,读取完成;否则,转过程(8.2)。
(8.2)若使用过程(2.1)中的汉明码来产生纠删码,则通过穷举方法进行数据恢复。具体为:将64字节的缓存行数据分为8个8字节的数据块,对每个数据块进行比对恢复。对于每个8字节的数据块(64比特),通过改变该数据块第k个位置上的比特数据(k的取值范围为1~64),若原有第k位置上的比特数据为“1”,则将其改变为“0”,否则将其改变为“1”,然后计算改变了一个比特位后的数据块的汉明码,将该汉明码与原有的汉明码进行对比,若匹配成功,则数据恢复成功,终止数据恢复过程;否则,进行下一个数据比特修改,直至匹配成功。若使用过程(3.2)的BCH码来产生纠删码,则直接进行BCH解码恢复准确数据。
本发明在不影响原有纠删码纠错检错功能的前提下,通过将加密计数器存放到相应缓存行的纠删码的部分空间当中,将缓存行数据写和加密计数器写融合成一次写,避免了缓存行数据写和加密计数器写双写带来的写放大问题,其中纠错功能通过穷举计算来恢复。此外,通过将双计数器混合模式中的第二计数器的大小扩大一倍来降低内存重新加密的频率,和将唯一计数器模式中的唯一计数器的大小提升到设备的最大磨损次数来彻底规避内存重新加密,同时在计数器缓存当中使用基量加增量的数据组织方式,从而提高了非易失性内存的使用寿命,降低了读写延迟和使用能耗。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
Claims (5)
1.一种在加密情境下减少非易失性内存写放大方法,其特征在于,包括:
计数器产生步骤:采用双计数器混合模式或采用唯一计数器模式;
所述双计数器混合模式中包括第一计数器和第二计数器,对于所写入的缓存行数据,将该缓存行的第二计数器加一;若加一之后,第二计数器溢出,则将第二计数器置零并将第一计数器加一;唯一计数器模式中,对于每次缓存行数据写入,唯一计数器加一;
纠删码产生步骤:对于一个缓存行,采用SEC-DED码或BCH码进行纠删码编码;
加密步骤:根据缓存行的地址和计数器使用高级加密标准产生与缓存行数据大小相同的一次性密码本,然后将缓存行数据与一次性密码本进行异或操作实现数据加密操作;
加密计数器纠删码融合步骤:将计数器放入每个缓存行的比特纠删码空间中,实现加密计数器纠删码融合;
数据写入步骤:若缓存行数据命中数据缓存,则在数据缓存当中进行数据更新,同时在计数器缓存当中更新相应的计数器;若采用唯一计数器模式,则计数器缓存中每个页的计数器以基量加增量的方式存在;若缓存行数据未命中数据缓存,则根据LRU算法进行缓存替换,并使用更新之后的计数器产生新的一次性密码本,对缓存行数据进行加密,并将被替换的缓存行、纠删码和加密计数器一起写入内存系统当中;
数据读取步骤:根据读取请求到内存系统当中相应的地址读取密文数据和纠删码数据;
密文解密步骤:根据读取请求到计数器缓存当中读取相应的计数器,使用AES算法产生一次性密码本,完成读取数据后,将一次性密码本与密文数据进行异或操作得到明文数据;
数据验证纠错步骤:根据得到的明文数据计算新的纠删码,并与原有的纠删码进行对比,若比对结果相一致,读取完成;否则,则进行数据恢复。
2.根据权利要求1所述的一种在加密情境下减少非易失性内存写放大方法,其特征在于,纠删码产生步骤:对于一个缓存行,采用SEC-DED码和BCH码两种纠删码编码,具体为:
使用SEC-DED码来保证数据的准确性,对应双计数器混合模式,将一个64字节的缓存行分为8个8字节的数据块,针对每个数据块产生对应的SEC-DED实现双检错,其中纠错功能通过穷举遍历来实现;
使用BCH码来保证数据的准确性,对应唯一计数器模式,采用36个检验位来纠4个比特错误。
3.根据权利要求1所述的一种在加密情境下减少非易失性内存写放大方法,其特征在于,加密计数器纠删码融合步骤:将计数器放入每个缓存行的比特纠删码空间中,实现加密计数器纠删码融合,具体为:
若采用双计数器混合模式,每个缓存行存在64比特纠删码空间,使用SEC-DED需56比特空间,每个缓存行存在8比特的空闲空间,将第二计数器存放到空闲空间中;
若采用唯一计数器模式,每个缓存行有64比特纠删码空间,而采用BCH码需36比特空间,每个缓存行有28比特的空闲空间,将唯一计数器存放到空闲空间中。
4.根据权利要求1所述的一种在加密情境下减少非易失性内存写放大方法,其特征在于,数据写入步骤中,在计数器缓存当中更新相应的计数器,具体为:
对计数器缓存进行更新时,首先将增量加一,
若增量溢出,则将该缓存行所属页当中所有的缓存行的计数器进行扫描,并将当中最小值作为新的增量,并更新该页当中所有缓存计数器的增量;
采用更新之后的计数器产生新的一次性密码本,对缓存行数据进行加密。
5.根据权利要求1所述的一种在加密情境下减少非易失性内存写放大方法,其特征在于,数据验证纠错步骤中,进行数据恢复,具体为:
若采用SEC-DED来产生纠删码,则通过穷举方法进行数据恢复;具体为:将64字节的缓存行数据分为8个8字节的数据块,对每个数据块进行比对恢复,对于每个8字节的数据块,通过改变该数据块第k个位置上的比特数据,k为1~64,若原有第k位置上的比特数据为“1”,则将其改变为“0”,否则将其改变为“1”,再计算改变一个比特位后的数据块的SEC-DED,将该SEC-DED与原有的汉明码进行对比,若匹配成功,则数据恢复成功,终止数据恢复过程;否则,进行下一个数据比特修改,直至匹配成功;
若采用BCH码来产生纠删码,则直接进行BCH解码恢复准确数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210073380.6A CN114527937B (zh) | 2022-01-21 | 2022-01-21 | 一种在加密情境下减少非易失性内存写放大方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210073380.6A CN114527937B (zh) | 2022-01-21 | 2022-01-21 | 一种在加密情境下减少非易失性内存写放大方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114527937A CN114527937A (zh) | 2022-05-24 |
CN114527937B true CN114527937B (zh) | 2023-11-21 |
Family
ID=81620106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210073380.6A Active CN114527937B (zh) | 2022-01-21 | 2022-01-21 | 一种在加密情境下减少非易失性内存写放大方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114527937B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021333B1 (en) * | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
CN106775476A (zh) * | 2016-12-19 | 2017-05-31 | 中国人民解放军理工大学 | 混合内存系统及其管理方法 |
CN112860475A (zh) * | 2021-02-04 | 2021-05-28 | 山东云海国创云计算装备产业创新中心有限公司 | 基于rs纠删码的校验块恢复方法、装置、系统及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860420B2 (en) * | 2019-02-05 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for mitigating read disturb impact on persistent memory |
-
2022
- 2022-01-21 CN CN202210073380.6A patent/CN114527937B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021333B1 (en) * | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
CN106775476A (zh) * | 2016-12-19 | 2017-05-31 | 中国人民解放军理工大学 | 混合内存系统及其管理方法 |
CN112860475A (zh) * | 2021-02-04 | 2021-05-28 | 山东云海国创云计算装备产业创新中心有限公司 | 基于rs纠删码的校验块恢复方法、装置、系统及介质 |
Non-Patent Citations (2)
Title |
---|
一种基于重复数据删除技术的云中云存储系统;毛波;叶阁焰;蓝琰佳;张杨松;吴素贞;计算机研究与发展;第52卷(第006期);全文 * |
采用最大修改字节重定向写入策略的相变存储器延寿方法;高鹏;汪东升;王海霞;;计算机研究与发展(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114527937A (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9229853B2 (en) | Method and system for data de-duplication | |
US7613982B2 (en) | Data processing apparatus and method for flash memory | |
US11847243B2 (en) | Memory system | |
US10983858B2 (en) | Data writing method, memory control circuit unit and memory storage device | |
US11568074B2 (en) | Memory system | |
US11899942B2 (en) | Memory systems and devices including examples of accessing memory and generating access codes using an authenticated stream cipher | |
US11775198B2 (en) | Data erasure in memory sub-systems | |
KR20210107148A (ko) | 암호화 컴포넌트를 갖는 메모리 디바이스 | |
US11818248B2 (en) | Encoder and decoder using physically unclonable functions | |
KR20090014828A (ko) | 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법 | |
CN112214347A (zh) | 产生用于存储器子系统中的数据修改期间的错误检测的错误校验数据 | |
EP2568655B1 (en) | Method for authenticating a storage device, machine-readable storage medium, and host device | |
US11899829B2 (en) | Memory systems and devices including examples of generating access codes for memory regions using authentication logic | |
US10735030B2 (en) | Re-encoding data associated with failed memory devices | |
US11216217B2 (en) | Data transfer method after data encryption function is disabled and memory storage device | |
CN114527937B (zh) | 一种在加密情境下减少非易失性内存写放大方法 | |
US20200244289A1 (en) | Data writing method, memory control circuit unit and memory storage device | |
US11726924B2 (en) | Memory system for data encryption | |
US10824368B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
JP2022144469A (ja) | メモリシステム | |
JP2022030661A (ja) | メモリシステム、制御方法、および情報処理システム | |
US11704444B2 (en) | Managing encryption keys per logical block on a persistent memory device | |
US11886741B2 (en) | Method and storage device for improving NAND flash memory performance for intensive read workloads | |
CN112948288A (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 |