CN110827902A - 一种随机编码方法及固态硬盘 - Google Patents

一种随机编码方法及固态硬盘 Download PDF

Info

Publication number
CN110827902A
CN110827902A CN201911052516.XA CN201911052516A CN110827902A CN 110827902 A CN110827902 A CN 110827902A CN 201911052516 A CN201911052516 A CN 201911052516A CN 110827902 A CN110827902 A CN 110827902A
Authority
CN
China
Prior art keywords
data
bit
stored
input
register
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
Application number
CN201911052516.XA
Other languages
English (en)
Other versions
CN110827902B (zh
Inventor
张吉兴
武艺
李东起
杨亚飞
李卫军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN201911052516.XA priority Critical patent/CN110827902B/zh
Publication of CN110827902A publication Critical patent/CN110827902A/zh
Application granted granted Critical
Publication of CN110827902B publication Critical patent/CN110827902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/04Shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明涉及数据存储领域,公开了一种随机编码方法及固态硬盘。其中,所述随机编码方法应用于固态硬盘,包括:接收输入数据;根据线性反馈移位寄存器,产生随机序列;基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,其中,所述输入数据处于高电压状态的数据与所述输入数据的数据比例大于或等于第一预设比例阈值,所述待存储数据处于高电压状态的数据与所述待存储数据的数据比例小于或等于第二预设比例阈值,所述第二预设比例阈值小于所述第一预设比例阈值。本发明实施例降低了数据存储出错的概率。

Description

一种随机编码方法及固态硬盘
技术领域
本发明涉及数据存储领域,特别是涉及一种随机编码方法及固态硬盘。
背景技术
闪存介质的存储单元包括衬底、浮栅、控制栅、填充于衬底与浮栅之间的隧道氧化物以及位于浮栅与控制栅之间的填充氧化物,对控制栅施加电压,使电子从衬底层穿过隧道氧化物进入浮栅,由于隧道氧化物和填充氧化物的绝缘特性,使得电子被保存在浮栅中,从而完成数据的存储。
但若存储单元长时间不通电,或者随着使用时间的增加,隧道氧化物逐渐氧化,可能导致存储于浮栅中的电子逃逸,引起阈值电压的变化,使得数据存储出错,特别是处于高电压状态的存储单元,其数据存储出错的概率较高。
发明内容
本发明实施例旨在提供一种随机编码方法及固态硬盘,其能够降低数据存储出错的概率。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种随机编码方法,应用于固态硬盘,所述方法包括:
接收输入数据;
根据线性反馈移位寄存器,产生随机序列;
基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,其中,所述输入数据处于高电压状态的数据与所述输入数据的数据比例大于或等于第一预设比例阈值,所述待存储数据处于高电压状态的数据与所述待存储数据的数据比例小于或等于第二预设比例阈值,所述第二预设比例阈值小于所述第一预设比例阈值。
在一些实施例中,所述接收输入数据之后,所述方法还包括:
将所述输入数据存储于数据寄存器内;
其中,所述数据寄存器包括第一输入位、第一输出位以及位于所述第一输入位和所述第一输出位之间的至少一个数据位,所述线性反馈移位寄存器包括第二输入位、第二输出位以及位于所述第二输入位和所述第二输出位之间的至少一个数据位,所述随机序列分别存储于所述线性反馈移位寄存器的各个数据位。
在一些实施例中,所述方法还包括:
每隔一个时钟周期,更新所述数据寄存器;
其中,所述更新所述数据寄存器,包括:
将所述第一输出位的数据移出所述第一输出位;
将所述数据寄存器中剩余数据位的数据向右移动一位;
将所述输入数据中的一位数据移入所述第一输入位。
在一些实施例中,所述基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,包括:
将从所述数据寄存器的第一输出位上移出的数据与所述线性反馈移位寄存器的第二输出位的数据进行逻辑异或运算,以获得所述待存储数据的一位数据。
在一些实施例中,所述根据线性反馈移位寄存器,产生随机序列,包括:
初始化所述线性反馈移位寄存器,产生初始随机序列;
每隔一个时钟周期,更新所述随机序列。
在一些实施例中,所述每隔一个时钟周期,更新所述随机序列,包括:
每隔一个时钟周期,根据所述线性反馈移位寄存器的特征多项式,更新所述随机序列,其中,所述特征多项式为G(X)=X^16+X^5+X^4+X^3+1。
在一些实施例中,所述方法还包括:
根据所述随机序列,将所述待存储数据还原为所述输入数据。
在一些实施例中,所述固态硬盘包括闪存介质,所述方法还包括:
将所述待存储数据存入所述闪存介质。
在一些实施例中,在所述接收输入数据之后,所述方法还包括:
获取预设存储空间内所述输入数据中处于高电压状态的数据所占比例;
判断所述比例是否小于第三预设比例阈值;
若是,则直接将所述输入数据存入所述闪存介质;
若否,则将所述输入数据随机编码为所述待存储数据,并生成转换标志,其中,所述转换标志存储于所述预设存储空间内。
第二方面,本发明实施例提供一种随机编码装置,应用于固态硬盘,所述装置包括:
接收模块,用于接收输入数据;
产生模块,用于根据线性反馈移位寄存器,产生随机序列;
第一编码模块,用于基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,其中,所述输入数据处于高电压状态的数据与所述输入数据的数据比例大于或等于第一预设比例阈值,所述待存储数据处于高电压状态的数据与所述待存储数据的数据比例小于或等于第二预设比例阈值,所述第二预设比例阈值小于所述第一预设比例阈值。
在一些实施例中,所述装置还包括:
寄存模块,用于将所述输入数据存储于数据寄存器内;
其中,所述数据寄存器包括第一输入位、第一输出位以及位于所述第一输入位和所述第一输出位之间的至少一个数据位,所述线性反馈移位寄存器包括第二输入位、第二输出位以及位于所述第二输入位和所述第二输出位之间的至少一个数据位,所述随机序列分别存储于所述线性反馈移位寄存器的各个数据位。
在一些实施例中,所述装置还包括:
第一更新模块,用于每隔一个时钟周期,更新所述数据寄存器;
其中,所述第一更新模块包括:
第一移位单元,用于将所述第一输出位的数据移出所述第一输出位;
第二移位单元,用于将所述数据寄存器中剩余数据位的数据向右移动一位;
第三移位单元,用于将所述输入数据中的一位数据移入所述第一输入位。
在一些实施例中,所述第一编码模块包括:
逻辑异或单元,用于将从所述数据寄存器的第一输出位上移出的数据与所述线性反馈移位寄存器的第二输出位的数据进行逻辑异或运算,以获得所述待存储数据的一位数据。
在一些实施例中,所述产生模块包括:
初始化模块,用于初始化所述线性反馈移位寄存器,产生初始随机序列;
第二更新模块,用于每隔一个时钟周期,更新所述随机序列。
在一些实施例中,所述第二更新模块包括:
更新单元,用于每隔一个时钟周期,根据所述线性反馈移位寄存器的特征多项式,更新所述随机序列,其中,所述特征多项式为G(X)=X^16+X^5+X^4+X^3+1。
在一些实施例中,所述装置还包括:
还原模块,用于根据所述随机序列,将所述待存储数据还原为所述输入数据。
在一些实施例中,所述固态硬盘包括闪存介质,所述装置还包括:
第一存入模块,用于将所述待存储数据存入所述闪存介质。
在一些实施例中,所述装置还包括:
获取模块,用于获取预设存储空间内所述输入数据中处于高电压状态的数据所占比例;
判断模块,用于判断所述比例是否小于第三预设比例阈值;
第二存入模块,用于所述比例小于所述预设比例阈值时,则直接将所述输入数据存入所述闪存介质;
第二编码模块,用于所述比例大于所述预设比例阈值时,则将所述输入数据随机编码为所述待存储数据,并生成转换标志,其中,所述转换标志存储于所述预设存储空间内。
第三方面,本发明实施例提供一种固态硬盘,包括:
闪存介质;以及,
主控制器,与所述闪存介质连接;
其中,所述主控制器包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的缓存器;其中,
所述缓存器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的随机编码方法。
第四方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使固态硬盘能够执行如上任一项所述的随机编码方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供的一种随机编码方法及固态硬盘,通过接收输入数据,根据线性反馈移位寄存器,产生随机序列,基于随机序列,对输入数据进行逻辑运算,以获得待存储数据,其中,输入数据处于高电压状态的数据与输入数据的数据比例大于或等于第一预设比例阈值,待存储数据处于高电压状态的数据与待存储数据的数据比例小于或等于第二预设比例阈值,第二预设比例阈值小于第一预设比例阈值,因此,本发明实施例将大部分处于高电压状态的数据转换为处于其他状态的数据,从而降低了数据存储出错的概率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种固态硬盘的结构示意图;
图2是本发明实施例提供的一种用于实现随机编码方法的电路逻辑示意图;
图3是本发明实施例提供的其中一种随机编码方法的流程示意图;
图4是本发明实施例提供的其中一种随机编码方法的流程示意图;
图5是本发明实施例提供的其中一种随机编码方法的流程示意图;
图6是本发明实施例提供的任一方法实施例方法步骤S50之后的流程示意图;
图7是本发明实施例提供的任一方法实施例方法步骤S10之后的流程示意图;
图8是本发明实施例提供的其中一种随机编码装置的结构示意图;
图9是本发明实施例提供的其中一种随机编码装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
请参阅图1,为本发明实施例提供的一种固态硬盘的结构示意图。如图1所示,所述固态硬盘100包括闪存介质10以及与所述闪存介质10连接的主控制器20。其中,所述固态硬盘100通过有线或无线的方式与所述主机200通信连接,用以实现数据交互。
闪存介质10作为所述固态硬盘100的存储介质,也称作闪存、Flash、Flash存储器或Flash颗粒,属于存储器件的一种,是一种非易失性存储器,在没有电流供应的条件下也能够长久地保存数据,其存储特性相当于硬盘,使得闪存介质10得以成为各类便携型数字设备的存储介质的基础。
在本实施例中,闪存介质10为Nand FLASH,Nand FLASH以单晶体管作为二进制信号的存储单元,其结构与普通的半导体晶体管非常相似,区别在于Nand FLASH的单晶体管加入了浮动栅和控制栅,浮动栅用于贮存电子,表面被一层硅氧化物绝缘体所包覆,并通过电容与控制删相耦合,当负电子在控制栅的作用下被注入到浮动栅中,Nand FLASH的单晶体的存储状态就由“1”变成了“0”,而当负电子从浮动栅中移走后,存储状态就由“0”变成了“1”,包覆在浮动栅表面的绝缘体用于将浮动栅中的负电子困住,实现数据存储。即NandFLASH的存储单元为浮动栅晶体管,使用浮动栅晶体管以电荷的形式存储数据。存储电荷的多少与浮动栅晶体管所被施加的电压的大小有关,具体的,存储单元中是否存储有数据取决于其所存储的电荷的电压是否大于预设电压阈值Vth。
一个Nand FLASH包括至少一个Chip芯片,每一个Chip芯片由若干个Block物理块组成,每一个Block物理块包括若干个Page页。其中,Block物理块是Nand FLASH执行擦除操作的最小单位,Page页为Nand FLASH执行读写操作的最小单位,一个Nand FLASH的容量等于其Block物理块的数量*一个Block物理块包含的Page页的数量*一个Page页的容量。
具体的,闪存介质10按照存储单元的电压的不同层次,可分为SLC、MLC、TLC以及QLC。当闪存介质10的存储单元为SLC类型时,单个存储单元只存储一位数据1或0,当单个存储单元所存储的电荷的电压大于预设电压阈值Vth时,表示存储单元的数据为1;当单个存储单元所存储的电荷的电压小于预设电压阈值Vth时,表示存储单元的数据为0。由于存储单元的默认数据为1,存储单元的数据为0表示将单个存储单元所存储的电荷进行释放,当电荷释放到一定程度使得浮动栅晶体管的电压小于预设电压阈值Vth时,完成写入数据0的操作。当闪存介质10的存储单元为MLC类型、TLC类型或QLC类型时,单个存储单元可以存储多位数据,以2位数据为例,通过控制存储单元内部电荷的多少,定义多个预设电压阈值Vth,对于写入数据,通过充电过程,控制存储单元内部的电荷的多少,使其落入不同的相邻两个预设电压阈值Vth的区间,对应表示不同的数据00,01,10,11;对于读取数据,则通过获取对应的存储单元内部的电流,然后通过一系列解码电路完成读取,解析出该存储单元所存储的数据00,01,10,11。
在本实施例中,主控制器20包括闪存控制器201、处理器202、缓存器203以及接口204。
闪存控制器201与闪存介质10连接,用于访问后端的闪存介质10,管理闪存介质10的各种参数和数据I/O;或者,用于提供访问的接口和协议,实现对应的SAS/SATA target协议端或者NVMe协议端,获取Host发出的I/O指令并解码和生成内部私有数据结果等待执行;或者,用于负责FTL(Flash translation layer,闪存转换层)的核心处理。
处理器202分别与闪存控制器201、缓存器203以及接口204连接,其中,处理器202与缓存器203可以通过总线或者其他方式连接。缓存器203还与闪存控制器201和接口204连接。
其中,缓存器203主要用于缓存主机200发送的读/写指令以及根据主机200发送的读/写指令从闪存介质10获取的读数据或者写数据。缓存器203作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如执行本发明方法实施例对应的程序指令/模块(例如,图8或图9所示的各个模块)。处理器202通过运行存储在缓存器203中的非易失性软件程序、指令以及模块,从而实现本发明任一方法实施例。一个或者多个模块存储在缓存器203中,当被一个或者多个处理器202执行时,执行本发明实施例的随机编码方法,例如,执行图3至图7的方法步骤,实现图8或图9中的各模块和各单元的功能。
缓存器203可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据随机编码装置的使用所创建的数据等。此外,缓存器203可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,缓存器203可选包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至随机编码装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
接口204还与主机200连接,接口204可以为SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口、SFF-8639接口和M.2NVME/SATA协议。
综上,固态硬盘100读写数据的大致过程如下:主机200通过接口204将读/写指令发送给处理器202;处理器202通过内部总线将读/写指令分发至闪存控制器201和缓存器203;闪存控制器201通过内部总线将接收到的读/写指令发送给闪存介质10;闪存介质10根据该读/写指令,执行读/写操作,以获得对应的读数据或写数据;再通过内部总线将读数据或写数据传输至缓存器203中进行缓存;然后通过接口204将缓存器203缓存的读数据或写数据传输至主机200,或者,通过处理器202将缓存器203缓存的读数据或写数据依次传输至接口204和主机200。
本发明实施例提供了一种固态硬盘,其可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
请参阅图3,本发明实施例提供的其中一种随机编码方法的流程示意图。如图3所示,所述随机编码方法应用于固态硬盘,所述随机编码方法包括:
步骤S10:接收输入数据。
其中,接口204接收主机200发送的输入数据,输入数据可以是文件数据、图像数据、程序数据、指令数据、请求数据、地址数据等二进制数据,其长度是任意的,本发明实施例以16bit的输入数据为例。输入数据经过接口204、处理器202、缓存器203以及闪存控制器201的传输和处理,最终存储于闪存介质10中的存储单元。
以MLC闪存为例,其每个存储单元存储2bit的数据,根据存储单元预设阈值电压的大小,采用2n个电压状态表示存储的数据,其中n=2,故而,MLC闪存包括电压状态1、电压状态2、电压状态3以及电压状态4,对应的预设阈值电压包括预设阈值电压1、预设阈值电压2以及预设阈值电压3。存储单元的浮栅存储的电子越多,该存储单元的电压越大,当存储单元的电压小于预设阈值电压1,存储数据为“11”,处于电压状态1,即擦除状态;当存储单元的电压大于预设阈值电压1且小于预设阈值电压2,存储数据为“10”,处于电压状态2,即高电平状态;当存储单元的电压大于预设阈值电压2且小于预设阈值电压3,存储数据为“01”,处于电压状态3,即低电平状态;当存储单元的电压大于预设阈值电压3,存储数据为“00”,处于电压状态4,即写入状态。
在一些实施例中,请参阅图4,所述接收输入数据之后,所述方法还包括:
步骤S701:将所述输入数据存储于数据寄存器内。
其中,所述数据寄存器包括第一输入位、第一输出位以及位于所述第一输入位和所述第一输出位之间的至少一个数据位,所述线性反馈移位寄存器包括第二输入位、第二输出位以及位于所述第二输入位和所述第二输出位之间的至少一个数据位,所述随机序列分别存储于所述线性反馈移位寄存器的各个数据位。
可以理解,数据寄存器用于暂存接口204接收的输入数据,以减少访问缓存器203的次数,提升处理器202的处理速度。在一些实施例中,所述数据寄存器还用于存放操作数、运算结果、运算的中间结果、从缓存器203读取的数据以及写入缓存器203的数据。
如图2所示,以8位数据寄存器和16位线性反馈移位寄存器为例进行阐述。
8位数据寄存器包括第一输入位D7、第一输出位D0以及位于所述第一输入位D7和所述第一输出位D0之间的至少一个数据位D6-D1。16位线性反馈移位寄存器包括第二输入位S0、第二输出位S15以及位于所述第二输入位和所述第二输出位之间的至少一个数据位S1-S14,16位线性反馈移位寄存器产生的随机序列分别存储于数据位S0-S15,随机序列的每一位为二进制数据0或1。
可以理解,数据寄存器和线性反馈移位寄存器的长度不限于本发明实施例所公开的长度,其可根据输入数据的长度进行调整。
在一些实施例中,请参阅图5,所述方法还包括:
步骤S702:每隔一个时钟周期,更新所述数据寄存器。
其中,所述更新所述数据寄存器,包括:将所述第一输出位的数据移出所述第一输出位;将所述数据寄存器中剩余数据位的数据向右移动一位;将所述输入数据中的一位数据移入所述第一输入位。
在本实施例中,所述数据寄存器为右移寄存器,每隔一个时钟周期,所述数据寄存器接收一个时钟脉冲信号,触发所述数据寄存器接收一位所述输入数据,且各数据位的数据向右移动一位。
其中,在时钟周期1,8位数据寄存器接收一位输入数据x0,并更新至第一输入位D7;在时钟周期2,8位数据寄存器接收新的一位输入数据x1,并更新至第一输入位D7,第一输入位D7的时钟周期1的值x0向右移动一位至数据位D6,即在时钟周期2,第一输入位D7的时钟周期1的值x0赋值给数据位D6;在时钟周期3,8位数据寄存器接收新的一位输入数据x2,并更新至第一输入位D7,第一输入位D7的时钟周期2的值x1向右移动一位至数据位D6,数据位D6的时钟周期2的值x0向右移动一位至数据位D5,即在时钟周期3,第一输入位D7的时钟周期2的值x1赋值给数据位D6,数据位D6的时钟周期2的值x0赋值给数据位D5,以此类推,直到所述输入数据的最后一位也存入8位数据寄存器的第一输入位D7,此时,第一输入位D7至第一输出位D0存储所述输入数据的后8位数据。之后,每隔一个时钟周期,将所述第一输出位D0的数据移出所述第一输出位,将8位数据寄存器中剩余数据位的数据向右移动一位,直到所述输入数据全部移出8位数据寄存器。
在一些实施例中,可以采用FIFO存储器替代数据寄存器,此时,可以省略步骤S702。
步骤S30:根据线性反馈移位寄存器,产生随机序列。
在本实施例中,所述根据线性反馈移位寄存器,产生随机序列,包括:初始化所述线性反馈移位寄存器,产生初始随机序列;每隔一个时钟周期,更新所述随机序列。
需要说明的是,初始化所述线性反馈移位寄存器的时机可以为第一次数据寄存器各个数据位均存储有数据时,即所述第一输出位第一次存储数据时,初始化线性反馈移位寄存器,产生初始随机序列,之后,所述线性反馈移位寄存器与所述数据寄存器保持时钟同步。初始化所述线性反馈移位寄存器的时机也可以为数据寄存器第一次接收输入数据时,即当所述第一输入位第一次接收输入数据时,初始化线性反馈移位寄存器,产生初始随机序列,之后,所述线性反馈移位寄存器与所述数据寄存器保持时钟同步,在第一次数据寄存器各个数据位均存储有数据后,每隔一个时钟周期,更新所述随机序列。
在本实施例中,以前8个时钟周期(时钟周期1~8)为例,假设输入数据为“10101010 1010 1010”,初始化线性反馈移位寄存器,其初始随机序列为“1111 1111 11111111”。在时钟周期1,数据寄存器存储的数据为“1”,在时钟周期2,数据寄存器存储的数据为“01”,在时钟周期3,数据寄存器存储的数据为“101”,在时钟周期4,数据寄存器存储的数据为“0101”,在时钟周期5,数据寄存器存储的数据为“10101”,在时钟周期6,数据寄存器存储的数据为“010101”,在时钟周期7,数据寄存器存储的数据为“1010101”,在时钟周期8,数据寄存器存储的数据为“01010101”,此时,第一输出位第一次存储数据,触发初始化线性反馈移位寄存器。
在一些实施例中,在时钟周期1,数据寄存器存储的数据为“1”,第一输入位第一次接收输入数据,触发初始化线性反馈移位寄存器,在时钟周期2,数据寄存器存储的数据为“01”,在时钟周期3,数据寄存器存储的数据为“101”,在时钟周期4,数据寄存器存储的数据为“0101”,在时钟周期5,数据寄存器存储的数据为“10101”,在时钟周期6,数据寄存器存储的数据为“010101”,在时钟周期7,数据寄存器存储的数据为“1010101”,在时钟周期8,数据寄存器存储的数据为“01010101”,在时钟周期2至时钟周期8内,线性反馈寄存器每隔一个时钟周期,更新所述随机序列,由于此时数据寄存器的第一输出位并未移出数据,随机序列与输入数据亦未进行逻辑运算,相应的,没有产生待存储数据,在时钟周期8结束后,随机序列为1110 1000 0001 0111。
在一些实施例中,在时钟周期1,在第一输入位D7存入数据“1”,第一输入位第一次接收输入数据,触发初始化线性反馈移位寄存器,在时钟周期2,数据寄存器存储的数据为“01”,在时钟周期3,数据寄存器存储的数据为“101”,在时钟周期4,数据寄存器存储的数据为“0101”,在时钟周期5,数据寄存器存储的数据为“10101”,在时钟周期6,数据寄存器存储的数据为“010101”,在时钟周期7,数据寄存器存储的数据为“1010101”,在时钟周期8,数据寄存器存储的数据为“01010101”,并且,在时钟周期2至时钟周期8内,线性反馈移位寄存器未更新,在时钟周期8结束后,随机序列为1111 1111 1111 1111。
其中,所述每隔一个时钟周期,更新所述随机序列,包括:每隔一个时钟周期,根据所述线性反馈移位寄存器的特征多项式,更新所述随机序列,其中,所述特征多项式为G(X)=X^16+X^5+X^4+X^3+1,其中,X为自变量。
根据特征多项式G(X)=X^16+X^5+X^4+X^3+1构建的线性反馈移位寄存器如图2所示。具体的,每隔一个时钟周期,第二输出位S15上一时钟周期的数据赋值给第二输入位S0,第二输入位S0上一时钟周期的数据赋值给数据位S1,数据位S1上一时钟周期的数据赋值给数据位S2,数据位S2上一时钟周期的数据与第二输出位S15上一时钟周期的数据进行逻辑异或运算后赋值给数据位S3,数据位S3上一时钟周期的数据与第二输出位S15上一时钟周期的数据进行逻辑异或运算后赋值给数据位S4,数据位S4上一时钟周期的数据与第二输出位S15上一时钟周期的数据进行逻辑异或运算后赋值给数据位S5,数据位S5上一时钟周期的数据赋值给数据位S6,数据位S6上一时钟周期的数据赋值给数据位S7,数据位S7上一时钟周期的数据赋值给数据位S8,数据位S8上一时钟周期的数据赋值给数据位S9,数据位S9上一时钟周期的数据赋值给数据位S10,数据位S10上一时钟周期的数据赋值给数据位S11,数据位S11上一时钟周期的数据赋值给数据位S12,数据位S12上一时钟周期的数据赋值给数据位S13,数据位S13上一时钟周期的数据赋值给数据位S14,数据位S14上一时钟周期的数据赋值给第二输出位S15。
执行如图2所示的逻辑异或运算可以由计算机软件程序实现,也可以基于硬件异或门集成电路实现。异或的逻辑符号一般用xrl或⊕,其运算法则为:
Figure BDA0002255667590000141
逻辑异或运算式包括:True⊕False=True,False⊕True=True,False⊕False=False,True⊕True=False,即当a、b两个值不同,则异或结果为1,当a、b两个值相同,则异或结果为0。
具体的,在紧接着的后8个时钟周期(即时钟周期9-16),在时钟周期9,S15的旧数据“1”与S2的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S3,S15的旧数据“1”与S3的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S4,S15的旧数据“1”与S4的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S5,其余数据位依次进行线性移位,得到随机序列“1110 0011 1111 1111”。在时钟周期10,S15的旧数据“1”与S2的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S3,S15的旧数据“1”与S3的旧数据“0”进行逻辑异或运算,将运算结果“1”赋值给S4,S15的旧数据“1”与S4的旧数据“0”进行逻辑异或运算,将运算结果“1”赋值给S5,其余数据位依次进行线性移位,得到随机序列“1110 1101 1111 1111”。同理,在时钟周期11,得到随机序列“1110 1010 1111 111”,在时钟周期12,得到随机序列“1110 1001 0111 1111”,在时钟周期13,得到随机序列“1110 1000 1011 1111”,在时钟周期14,得到随机序列“1110 1000 0101 1111”,在时钟周期15,得到随机序列“1110 10000010 1111”,在时钟周期16,得到随机序列“1110 1000 0001 0111”。
在后8个时钟周期(即时钟周期17-24),在时钟周期17,S15的旧数据“1”与S2的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S3,S15的旧数据“1”与S3的旧数据“0”进行逻辑异或运算,将运算结果“1”赋值给S4,S15的旧数据“1”与S4的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S5,其余数据位依次进行线性移位,得到随机序列“11101000 0000 1011”。在时钟周期18,S15的旧数据“1”与S2的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S3,S15的旧数据“1”与S3的旧数据“0”进行逻辑异或运算,将运算结果“1”赋值给S4,S15的旧数据“1”与S4的旧数据“1”进行逻辑异或运算,将运算结果“0”赋值给S5,其余数据位依次进行线性移位,得到随机序列“1110 1000 0000 0101”。以此类推,在时钟周期19,线性反馈移位寄存器产生随机序列“1110 1000 0000 0010”,在时钟周期20,线性反馈移位寄存器产生随机序列“0111 0100 0000 0001”,在时钟周期21,线性反馈移位寄存器产生随机序列“1010 0110 0000 0000”,在时钟周期22,线性反馈移位寄存器产生随机序列“0101 0011 0000 0000”,在时钟周期23,线性反馈移位寄存器产生随机序列“00101001 1000 0000”,在时钟周期24,线性反馈移位寄存器产生随机序列“0001 0100 11000000”。
步骤S50:基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,其中,所述输入数据处于高电压状态的数据与所述输入数据的数据比例大于或等于第一预设比例阈值,所述待存储数据处于高电压状态的数据与所述待存储数据的数据比例小于或等于第二预设比例阈值,所述第二预设比例阈值小于所述第一预设比例阈值。
在本实施例中,所述基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,包括:将从所述数据寄存器的第一输出位上移出的数据与所述线性反馈移位寄存器的第二输出位的数据进行逻辑异或运算,以获得所述待存储数据的一位数据。
综上,针对时钟周期9-16,在时钟周期9,数据寄存器接收一位输入数据“1”,第一输出位移出一位输入数据“1”,数据寄存器存储的数据为“10101010”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“1”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据“0”;在时钟周期10,数据寄存器接收一位输入数据“0”,第一输出位移出一位输入数据“0”,数据寄存器存储的数据为“01010101”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“0”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据“1”;在时钟周期11,数据寄存器接收一位输入数据“1”,第一输出位移出一位输入数据“1”,数据寄存器存储的数据为“10101010”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“1”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据“0”;在时钟周期12,数据寄存器接收一位输入数据“0”,第一输出位移出一位输入数据“0”,数据寄存器存储的数据为“01010101”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“0”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据“1”;在时钟周期13,数据寄存器接收一位输入数据“1”,第一输出位移出一位输入数据“1”,数据寄存器存储的数据为“10101010”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“1”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据“0”;在时钟周期14,数据寄存器接收一位输入数据“0”,第一输出位移出一位输入数据“0”,数据寄存器存储的数据为“01010101”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“0”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据1”;在时钟周期15,数据寄存器接收一位输入数据“1”,第一输出位移出一位输入数据“1”,数据寄存器存储的数据为“10101010”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“1”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据“0”;在时钟周期16,数据寄存器接收一位输入数据“0”,第一输出位移出一位输入数据“0”,数据寄存器存储的数据为“01010101”,第二输出位的数据为“1”,将第一输出位移出一位输入数据“0”与第二输出位的数据为“1”进行逻辑异或运算,获得待存储数据的一位数据“1”。
故而,在时钟周期9至时钟周期16内,输出待存储数据为“01010101”。以此类推,在时钟周期17至时钟周期24内,输出待存储数据为“10111101”。
因此,将所述输入数据“1010 1010 1010 1010”随机编码为“0101 0101 10111101”,即将8个属于高电压状态的“10”转换为了5个低电压状态的“01”、2个擦除状态“11”以及1个高电压状态的“10”,所述输入数据处于高电压状态的数据与所述输入数据的数据比例为100%,其大于或等于第一预设比例阈值(例如50%),将所述输入数据随机编码为所述待存储数据,所述待存储数据处于高电压状态的数据与所述待存储数据的数据比例为12.5%,其小于或等于第二预设比例阈值(例如20%),且所述第二预设比例阈值小于所述第一预设比例阈值(即20%<50%),从而降低了存入闪存的待存储数据的高电压状态的数据的比例,进而降低了数据存储出错的概率。
在一些实施例中,请参阅图6,所述方法还包括:
步骤S703:根据所述随机序列,将所述待存储数据还原为所述输入数据。
步骤S704:将所述待存储数据存入所述闪存介质。
由于线性反馈移位寄存器是线性可逆的,故而,在获得待存储数据之后,可根据所述随机序列,将所述待存储数据还原为所述输入数据。所述输入数据的读取过程为:将所述待存储数据存入所述闪存介质之后,根据所述随机序列,将所述待存储数据还原为所述输入数据。
在一些实施例中,请参阅图7,在所述接收输入数据之后,所述方法还包括:
步骤S705:获取预设存储空间内所述输入数据中处于高电压状态的数据所占比例。
步骤S706:判断所述比例是否小于第三预设比例阈值。
步骤S707:若是,则直接将所述输入数据存入所述闪存介质。
步骤S708:若否,则将所述输入数据随机编码为所述待存储数据,并生成转换标志,其中,所述转换标志存储于所述预设存储空间内。
在输入数据存入闪存介质10之前,可以将输入数据存入内存中,内存被分为若干个物理页,每一物理页具有一定的存储容量,例如,对于32位的CPU来说,每一物理页的大小为4K。在本实施例中,以物理页为单位,获取所述输入数据中处于高电压状态的数据所占比例。所述转换标志存储于所述物理页的spare区域。
其中,所述获取预设存储空间内所述输入数据中处于高电压状态的数据所占比例,包括:获取所述物理页实时接收的所述输入数据处于高电压状态的数据所占比例;或者,获取所述物理页在预设时间段内接收的所述输入数据处于高电压状态的数据所占比例;或者,每隔预设时间,获取所述物理页接收的所述输入数据处于高电压状态的数据所占比例;或者,检测所述物理页的存储容量,当存储容量大于预设容量值时,获取所述物理页接收的所述输入数据处于高电压状态的数据所占比例。
本发明实施例提供的一种随机编码方法,通过接收输入数据,根据线性反馈移位寄存器,产生随机序列,基于随机序列,对输入数据进行逻辑运算,以获得待存储数据,其中,输入数据处于高电压状态的数据与输入数据的数据比例大于或等于第一预设比例阈值,待存储数据处于高电压状态的数据与待存储数据的数据比例小于或等于第二预设比例阈值,第二预设比例阈值小于第一预设比例阈值,因此,本发明实施例将大部分处于高电压状态的数据转换为处于其他状态的数据,从而降低了数据存储出错的概率。
请参阅图8,本发明实施例提供的其中一种随机编码装置的结构示意图。如图8所示,所述随机编码装置800包括接收模块81、产生模块82以及第一编码模块83。
所述接收模块81用于接收输入数据;所述产生模块82用于根据线性反馈移位寄存器,产生随机序列;所述第一编码模块83用于基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,其中,所述输入数据处于高电压状态的数据与所述输入数据的数据比例大于或等于第一预设比例阈值,所述待存储数据处于高电压状态的数据与所述待存储数据的数据比例小于或等于第二预设比例阈值,所述第二预设比例阈值小于所述第一预设比例阈值。
所述产生模块82包括初始化模块821和第二更新模块822。
所述初始化模块821用于初始化所述线性反馈移位寄存器,产生初始随机序列;所述第二更新模块822用于每隔一个时钟周期,更新所述随机序列。
所述第二更新模块822包括更新单元8221,所述更新单元8221用于每隔一个时钟周期,根据所述线性反馈移位寄存器的特征多项式,更新所述随机序列,其中,所述特征多项式为G(X)=X^16+X^5+X^4+X^3+1。
在一些实施例中,将所述输入数据存储于数据寄存器内。其中,所述数据寄存器包括第一输入位、第一输出位以及位于所述第一输入位和所述第一输出位之间的至少一个数据位,所述线性反馈移位寄存器包括第二输入位、第二输出位以及位于所述第二输入位和所述第二输出位之间的至少一个数据位,所述随机序列分别存储于所述线性反馈移位寄存器的各个数据位。
所述第一编码模块83包括逻辑异或单元831,用于将从所述数据寄存器的第一输出位上移出的数据与所述线性反馈移位寄存器的第二输出位的数据进行逻辑异或运算,以获得所述待存储数据的一位数据。
请参阅图9,本发明实施例提供的其中一种随机编码装置的结构示意图。如图9所示,随机编码装置900包括上述装置实施例所述的随机编码装置800,相同之处请参阅上述各个实施例,在此不一一赘述。区别在于,随机编码装置900还包括寄存模块91、第一更新模块92、还原模块93以及第一存入模块94中的一个或多个模块。在一些实施例中,随机编码装置900还包括获取模块95、判断模块96、第二存入模块97以及第二编码模块98。
所述寄存模块91用于将所述输入数据存储于数据寄存器内。
所述第一更新模块92用于每隔一个时钟周期,更新所述数据寄存器。
其中,所述第一更新模块92包括第一移位单元921、第二移位单元922以及第三移位单元923。
所述第一移位单元921用于将所述第一输出位的数据移出所述第一输出位;所述第二移位单元922用于将所述数据寄存器中剩余数据位的数据向右移动一位;所述第三移位单元923用于将所述输入数据中的一位数据移入所述第一输入位。
所述还原模块93用于根据所述随机序列,将所述待存储数据还原为所述输入数据。
所述第一存入模块94用于将所述待存储数据存入所述闪存介质。
所述获取模块95用于获取预设存储空间内所述输入数据中处于高电压状态的数据所占比例;所述判断模块96用于判断所述比例是否小于第三预设比例阈值;所述第二存入模块97用于所述比例小于所述预设比例阈值时,则直接将所述输入数据存入所述闪存介质;所述第二编码模块98用于所述比例大于所述预设比例阈值时,则将所述输入数据随机编码为所述待存储数据,并生成转换标志,其中,所述转换标志存储于所述预设存储空间内。
值得说明的是,上述装置内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种随机编码装置,通过接收模块接收输入数据,产生模块根据线性反馈移位寄存器,产生随机序列,第一编码模块基于随机序列,对输入数据进行逻辑运算,以获得待存储数据,其中,输入数据处于高电压状态的数据与输入数据的数据比例大于或等于第一预设比例阈值,待存储数据处于高电压状态的数据与待存储数据的数据比例小于或等于第二预设比例阈值,第二预设比例阈值小于第一预设比例阈值,因此,本发明实施例将大部分处于高电压状态的数据转换为处于其他状态的数据,从而降低了数据存储出错的概率。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现随机编码装置,当然也可以通过硬件实现。并且,由于随机编码装置的构思与上述各个实施例所述的随机编码方法的构思一样,在内容不互相冲突下,随机编码装置的实施例可以引用上述各个实施例的内容,在此不赘述。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图3至图7的方法步骤,实现图8或图9中的各模块和各单元的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的随机编码方法,例如,执行以上描述的图3至图7的方法步骤,实现图8或图9中的各模块和各单元的功能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种随机编码方法,应用于固态硬盘,其特征在于,所述方法包括:
接收输入数据;
根据线性反馈移位寄存器,产生随机序列;
基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,其中,所述输入数据处于高电压状态的数据与所述输入数据的数据比例大于或等于第一预设比例阈值,所述待存储数据处于高电压状态的数据与所述待存储数据的数据比例小于或等于第二预设比例阈值,所述第二预设比例阈值小于所述第一预设比例阈值。
2.根据权利要求1所述的方法,其特征在于,所述接收输入数据之后,所述方法还包括:
将所述输入数据存储于数据寄存器内;
其中,所述数据寄存器包括第一输入位、第一输出位以及位于所述第一输入位和所述第一输出位之间的至少一个数据位,所述线性反馈移位寄存器包括第二输入位、第二输出位以及位于所述第二输入位和所述第二输出位之间的至少一个数据位,所述随机序列分别存储于所述线性反馈移位寄存器的各个数据位。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
每隔一个时钟周期,更新所述数据寄存器;
其中,所述更新所述数据寄存器,包括:
将所述第一输出位的数据移出所述第一输出位;
将所述数据寄存器中剩余数据位的数据向右移动一位;
将所述输入数据中的一位数据移入所述第一输入位。
4.根据权利要求3所述的方法,其特征在于,所述基于所述随机序列,对所述输入数据进行逻辑运算,以获得待存储数据,包括:
将从所述数据寄存器的第一输出位上移出的数据与所述线性反馈移位寄存器的第二输出位的数据进行逻辑异或运算,以获得所述待存储数据的一位数据。
5.根据权利要求1所述的方法,其特征在于,所述根据线性反馈移位寄存器,产生随机序列,包括:
初始化所述线性反馈移位寄存器,产生初始随机序列;
每隔一个时钟周期,更新所述随机序列。
6.根据权利要求5所述的方法,其特征在于,所述每隔一个时钟周期,更新所述随机序列,包括:
每隔一个时钟周期,根据所述线性反馈移位寄存器的特征多项式,更新所述随机序列,其中,所述特征多项式为G(X)=X^16+X^5+X^4+X^3+1。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
根据所述随机序列,将所述待存储数据还原为所述输入数据。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述固态硬盘包括闪存介质,所述方法还包括:
将所述待存储数据存入所述闪存介质。
9.根据权利要求8所述的方法,其特征在于,在所述接收输入数据之后,所述方法还包括:
获取预设存储空间内所述输入数据中处于高电压状态的数据所占比例;
判断所述比例是否小于第三预设比例阈值;
若是,则直接将所述输入数据存入所述闪存介质;
若否,则将所述输入数据随机编码为所述待存储数据,并生成转换标志,其中,所述转换标志存储于所述预设存储空间内。
10.一种固态硬盘,其特征在于,包括:
闪存介质;以及,
主控制器,与所述闪存介质连接;
其中,所述主控制器包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的缓存器;其中,
所述缓存器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9任一项所述的随机编码方法。
CN201911052516.XA 2019-10-31 2019-10-31 一种随机编码方法及固态硬盘 Active CN110827902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911052516.XA CN110827902B (zh) 2019-10-31 2019-10-31 一种随机编码方法及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911052516.XA CN110827902B (zh) 2019-10-31 2019-10-31 一种随机编码方法及固态硬盘

Publications (2)

Publication Number Publication Date
CN110827902A true CN110827902A (zh) 2020-02-21
CN110827902B CN110827902B (zh) 2021-07-30

Family

ID=69551662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911052516.XA Active CN110827902B (zh) 2019-10-31 2019-10-31 一种随机编码方法及固态硬盘

Country Status (1)

Country Link
CN (1) CN110827902B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650188A (zh) * 2022-05-20 2022-06-21 广州万协通信息技术有限公司 一种基于代理节点的数据安全传输方法及装置
CN114679337A (zh) * 2022-05-25 2022-06-28 广州万协通信息技术有限公司 一种信息分布式处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660363A (zh) * 2013-11-18 2015-05-27 张立洁 一种pn码生成器
CN110033797A (zh) * 2019-06-12 2019-07-19 上海亿存芯半导体有限公司 存储系统及存储方法
US20190279680A1 (en) * 2018-03-08 2019-09-12 Panasonic Intellectual Property Management Co., Ltd. Data coding method and data coding device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660363A (zh) * 2013-11-18 2015-05-27 张立洁 一种pn码生成器
US20190279680A1 (en) * 2018-03-08 2019-09-12 Panasonic Intellectual Property Management Co., Ltd. Data coding method and data coding device
CN110033797A (zh) * 2019-06-12 2019-07-19 上海亿存芯半导体有限公司 存储系统及存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650188A (zh) * 2022-05-20 2022-06-21 广州万协通信息技术有限公司 一种基于代理节点的数据安全传输方法及装置
CN114679337A (zh) * 2022-05-25 2022-06-28 广州万协通信息技术有限公司 一种信息分布式处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110827902B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
US8176234B2 (en) Multi-write coding of non-volatile memories
KR100546348B1 (ko) 플래시 메모리 시스템 및 그 데이터 저장 방법
US8612667B2 (en) Method for performing data pattern management regarding data accessed by a controller of a flash memory, and associated memory device and controller thereof
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
US20190312593A1 (en) Decoding method and storage controller
CN109933455B (zh) 动态多级解码
KR20140008705A (ko) 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
KR101089013B1 (ko) 메모리 제어기, 메모리 시스템, 및 메모리 시스템의 제어 방법
TW201521032A (zh) 應用於快閃記憶體裝置的錯誤更正碼單元、自我測試方法及相關的控制器
US11531587B2 (en) Dynamic multi-stage decoding
US9208021B2 (en) Data writing method, memory storage device, and memory controller
CN107657982B (zh) 对多级非易失性存储器单元进行编程的方法和存储器装置
KR20100124087A (ko) 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법
CN110415753B (zh) 错误校正电路及操作该错误校正电路的方法
CN110827902B (zh) 一种随机编码方法及固态硬盘
KR20190051570A (ko) 메모리 시스템 및 그것의 동작 방법
WO2023134299A1 (en) Memory device, memory system, and method of operating the same
TWI536749B (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
TWI751096B (zh) 使用藉助於先算資訊輪換的資料保護的非揮發性記憶體寫入方法和設備
CN113129943A (zh) 基于闪存数据页存储结构的数据操作方法及固态硬盘
CN105679365B (zh) 半导体存储器操作方法
US9760301B2 (en) WOM code emulation of EEPROM-type devices
CN110970082B (zh) 降低闪存滞留错误的方法、装置及固态硬盘
TWI656529B (zh) 資料儲存裝置及其操作方法
US20230223078A1 (en) Memory device, memory system, and method of operating the same

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