CN113129943A - 基于闪存数据页存储结构的数据操作方法及固态硬盘 - Google Patents
基于闪存数据页存储结构的数据操作方法及固态硬盘 Download PDFInfo
- Publication number
- CN113129943A CN113129943A CN201911396448.9A CN201911396448A CN113129943A CN 113129943 A CN113129943 A CN 113129943A CN 201911396448 A CN201911396448 A CN 201911396448A CN 113129943 A CN113129943 A CN 113129943A
- Authority
- CN
- China
- Prior art keywords
- data
- flash
- hexadecimal
- binary
- storage structure
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
- G11C5/063—Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
Landscapes
- Read Only Memory (AREA)
Abstract
本发明涉及存储器技术领域,特别是涉及一种闪存数据页存储结构、基于闪存数据页存储结构的数据操作方法及固态硬盘。该闪存数据页存储结构包括:至少两个存储单元;其中,所述至少两个存储单元之间串联连接;所述至少两个存储单元中的每个存储单元的数据位用于存放一n比特的第一数据,所述n为正整数;当n>1时,所述n比特的数据的数据位之间串联连接。本发明实施例提供的一种闪存数据页存储结构、基于闪存数据页存储结构的数据操作方法及固态硬盘能够使一个存储单元存储的多个数据位都属于一个数据页中,降低了闪存介质的读写操作的延时,避免了编程和读取过程中的相互干扰,从而降低了错误发生概率,提高了存储器的使用寿命。
Description
技术领域
本发明涉及存储器技术领域,特别是涉及一种闪存数据页存储结构、基于闪存数据页存储结构的数据操作方法及固态硬盘。
背景技术
NAND闪存存储器具有低功率、高速度等优点,近年来随着便携式装置的广泛使用而变得普及。
NAND闪存存储器是由一些逻辑单元DIE组成,DIE是接收和执行闪存命令的基本单元,每个逻辑单元DIE由面Plane组成,每个面Plane由物理块Blcok组成,每个物理块Blcok由物理页Page组成,每个Wordline(WL字线)对应着若干个Page。NAND闪存存储器按照存储单元(cell)的电压的不同层次,可分为SLC、MLC、TLC以及QLC。其中,对SLC来说,一个Wordline对应一个Page页;MLC则对应两个Page页;TLC则对应三个Page页;QLC则对于四个Page页。对于多比特的存储单元,比如MLC、TLC和QLC,一个存储单元存储的多个数据位一般都分别属于不同的Page页。
发明人在实现本发明的过程中,发现相关技术至少存在以下问题:在编程和读写过程中不同Page页存储的数据位容易相互干扰,增加了错误的发生概率,并且会影响读写效率和存储器的使用寿命。
发明内容
本发明实施例旨在提供一种闪存数据页存储结构的实现方法、装置及固态硬盘,其能够降低存储器在编程和读写过程中错误的发生概率,提高读写效率并且延长存储器的使用寿命。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种闪存数据页存储结构,所述闪存数据页存储结构包括:
至少两个存储单元;
其中,所述至少两个存储单元之间串联连接;
所述至少两个存储单元中的每个存储单元的数据位用于存放一n比特的第一数据,所述n为正整数;
当所述n>1时,所述n比特的数据的数据位之间串联连接。
在一些实施例中,当n=2时,所述闪存数据页存储结构为MLC闪存存储器;当n=4时,所述闪存数据页存储结构为QLC闪存存储器;当n=8时,所述闪存数据页存储结构为OLC闪存存储器。
在一些实施例中,所述第一数据为二进制数据,或者十六进制数据。
第二方面,本发明实施例提供一种基于闪存数据页存储结构的数据操作方法,所述闪存数据页存储结构为如上所述的闪存数据页存储结构,所述方法包括:
获取原始数据;
将获取的所述原始数据进行分段,每n比特为一段,以获得第一数据,所述n为正整数;
将所述第一数据对应的电压值分别存入一个存储单元,其中,所述存储单元存储的数据位之间串联连接。
在一些实施例中,所述原始数据为二进制数据,所述n=4,所述将所述第一数据对应的电压值分别存入一个存储单元包括:
将分段后的每段二进制数据分别转换为十六进制数据;
获取所述十六进制数据对应的电压值,并将所述十六进制数据对应的电压值分别存入一个存储单元。
在一些实施例中,所述方法还包括:
获取待写入的数据;
判断所述待写入的数据是否为二进制;
若是,将所述待写入的数据由二进制转换为十六进制,并将转换后的十六进制数据缓存于十六进制寄存器,以从所述十六进制寄存器写入所述数据。
在一些实施例中,所述方法还包括:
获取待输出的数据;
判断所述待输出的数据是否以二进制输出;
若是,将所述待输出的数据由十六进制转换为二进制,并将转换后的二进制数据缓存于二进制寄存器,以从所述二进制寄存器输出所述数据。
第三方面,本发明实施例提供一种固态硬盘,包括:闪存介质;主控制器,与所述闪存介质连接;其中,所述主控制器包括至少一个处理器;以及,与所述至少一个处理器通信连接的缓存器;与所述至少一个处理器通信连接的数据转换器;其中,所述缓存器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器根据所述数据转换器对所述闪存介质执行如上所述的方法。
在一些实施例中,所述数据转换器包括十六进制寄存器和二进制寄存器,
所述十六进制寄存器用于缓存由二进制转换为十六进制的数据;
所述二进制寄存器用于缓存由十六进制转换为二进制的数据。
在一些实施例中,所述闪存介质包括如上所述的闪存数据页存储结构。
本发明实施例的有益效果是:区别于现有技术的情况,本发明实施例提供的一种闪存数据页存储结构、基于闪存数据页存储结构的数据操作方法及固态硬盘,通过获取原始数据;将获取的所述原始数据进行分段,每n比特为一段,以获得第一数据,所述n为正整数;将所述第一数据对应的电压值分别存入一个存储单元,其中,所述存储单元存储的数据位之间串联连接。由此,本发明实施例提供的一种闪存数据页存储结构、基于闪存数据页存储结构的数据操作方法及固态硬盘能够使一个存储单元存储的多个数据位都属于一个数据页中,降低了闪存介质的读写操作的延时,避免了编程和读取过程中的相互干扰,从而降低了错误发生概率,提高了存储器的使用寿命。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种固态硬盘的结构示意图;
图2是本发明实施例提供的一种闪存数据页存储结构的示意图;
图3a是本发明实施例提供的一种QLC Nand Flash的逻辑结构示意图;
图3b是本发明实施例提供的另一种QLC Nand Flash的逻辑结构示意图;
图4是本发明实施例提供的一种基于闪存数据页存储结构的数据操作方法的流程图;
图5是本发明实施例提供的一种基于闪存数据页存储结构的数据操作流程示意图;
图6是本发明实施例提供的一种基于闪存数据页存储结构的数据操作装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
请参阅图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”,包覆在浮动栅表面的绝缘体用于将浮动栅中的负电子困住,实现数据存储。即Nand FLASH的存储单元为浮动栅晶体管,使用浮动栅晶体管以电荷的形式存储数据。存储电荷的多少与浮动栅晶体管所被施加的电压的大小有关。
一个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时,表示存储单元的数据为0;当单个存储单元所存储的电荷的电压小于预设电压阈值Vth时,表示存储单元的数据为1。由于存储单元的默认数据为1,存储单元的数据为0表示将单个存储单元所存储的电荷进行注入,当电荷注入到一定程度使得浮动栅晶体管的电压大于预设电压阈值Vth时,完成写入数据0的操作。当闪存介质10的存储单元为MLC类型、TLC类型或QLC类型时,单个存储单元可以存储多位数据。其中,MLC闪存类型为例,MLC一个存储单元可以存放2比特的数据,通过控制存储单元内部电荷的多少,定义多个预设电压阈值Vth,对于写入数据,通过充电过程,控制存储单元内部的电荷的多少,使其落入不同的相邻两个预设电压阈值Vth的区间,对应表示不同的数据00,01,10,11;对于读取数据,则通过获取对应的存储单元内部的电流,然后通过一系列解码电路完成读取,解析出该存储单元所存储的数据00,01,10,11。
在本实施例中,所述闪存介质10包括闪存数据页存储结构。如图2所示,该闪存数据页存储结构由至少两个存储单元101组成。所述至少两个存储单元101之间串联连接。
其中,所述存储单元101可以包括一个或者多个数据位。当所述存储单元101为一个数据位时,所述闪存数据页存储结构为SLC闪存存储器;当所述存储单元101为两个数据位时,所述闪存数据页存储结构为MLC闪存存储器;所述存储单元101为三个数据位时,所述闪存数据页存储结构为TLC闪存存储器;所述存储单元101为四个数据位时,所述闪存数据页存储结构为QLC闪存存储器;所述存储单元101为八个数据位时,所述闪存数据页存储结构为OLC闪存存储器。
对于包含多个数据位的存储单元101,其中每一数据位之间串联连接。
在本实施例中,所述存储单元101用于存放第一数据,所述第一数据可以是预设的n比特数据,n为正整数。当所述存储单元101为多个时,每一个存储单元101都可以用于存放一n比特的所述第一数据。当n>1时,所述第一数据的数据的数据位之间串联连接。
其中,所述第一数据具体可以是从原始数据页中选取的数据大小为n比特的数据,所述n为正整数。所述原始数据页由多个具有相同数据位的多个存储单元的同一序位的数据位组成,所述原始数据页是现有技术中Nand FLASH执行读写操作的最小单位。例如,如图3a所示,每一列构成一个Page,共4个page;所述Page即所述原始数据页,原始数据页的数据存储于多个存储单元的同一序列数据位中;在图3a中,每一行代表一个存储单元,可以基于第一个存储单元至第四个存储单元,从第一列的page中选择4比特数据,图3a中一个正方形表示1数据位,当所述闪存数据页存储结构为QLC闪存存储器,从所述原始数据页中选取的所述4比特数据用于存放在所述闪存数据页存储结构的第一个存储单元101中;当再从所述原始数据页选择4比特数据时,该4比特数据存放于所述闪存数据页存储结构的第二个存储单元101中,依次类推,可以通过多个存储单元101来存放所述原始数据页的数据。
需要说明的是,上述存储单元101为至少两个,在一些实施例中,所述闪存数据页存储结构也可以包括一个存储单元101。该一个存储单元101的数据位之间串联连接。
其中,所述第一数据具体可以是二进制数据。当所述闪存介质10为QLC NandFlash时,可以将所述第一数据由二进制转换为十六进制,即,将QLC保存在原始数据页的二进制数据转换为十六进制,从而使得一个存储单元保存的4比特数据位属于同一数据页。
具体的,例如,请参阅图3a和图3b,图3a是QLC Nand Flash在现有技术中的一种逻辑结构示意图,其中,每一列表示一个page,每一行(BL1/2/3/4……)表示一个存储单元(cell),一个存储单元由4比特的数据位构成,同一个存储单元的4比特数据位分别位于不同的数据页(page)中。在本实施例中,首先对page进行分段,每一段为4比特数据,然后将分段后的4比特数据对应的电压值存入一个存储单元中,全部的存储单元以串联方式连接,并且都属于一个page,即,如图3b所示,每一行代表一个存储单元,每一个存储单元中的四个正方形代表4比特数据位。需要说明的是,在实际的物理结构上,每个WL与BLx(x=1,2,3……)的交点构成一个存储单元,该4比特数据位用一个电压值表示,因此,实际写入数据时,该存储单元存入的是二进制数据转换为十六进制后的数据所代表的电压值。
需要说明的是,图3a和图3b只示出了4个存储单元,在实际应用中还可以包括更多个存储单元,并且一个page可以被分成多个4比特的数据段,根据上述方式对每个page都进行分段,最后得到大小为4比特的多个数据段,所得到的全部数据段可以根据分段时的顺序分别存入所述QLC Nand Flash的存储单元。
在本实施例中,所述QLC闪存存储器的实现原理为:基于现有的闪存存储结构,对现有的page页中存储的二进制数据进行分段,每一段为4比特,可以得到至少一个分段后的4比特数据;再将该至少一个4比特二进制数据分别转换为16进制。可以理解的是,在二进制转换为16进制的过程中,16位数的表示方法是由“0”至“F”总共16个数字和字母组成,二进制与16进制的对应关系是每4个0和/或1对应一个16进制数,因此,将4比特的二进制数转换为16进制后,该16进制数据只用一个数据表示,比如“1001”转换为16进制后为“9”,因此,分段后的4比特二进制数据全部都转换为16进制后,所述QLC闪存存储器只包括一个page页。由此,实现了将现有技术中同一存储单元的不同数据位属于不同page页转换为同一存储单元的数据位都属于一个page页,从而避免了同一存储单元的数据位在多个page页之间的相互干扰,降低了错误发生概率,也能解决在执行垃圾回收时现有技术所带来的写放大问题。
其中,所述QLC闪存存储器可以包括至少一个存储单元,所述存储单元用于存放占据4数据位的16进制数据。所述现有的page页即如上所述的原始数据页。
根据上述对QLC Nand Flash进行数据处理的原理,可以对MLC Nand Flash和OLCNand Flash进行数据处理,以使所述MLC Nand Flash和OLC Nand Flash的同一个存储单元的数据位都能属于一个数据页,从而减少了一个存储单元中不同数据位在编程和读写时的互相干扰,减少了由于存储单元不同数据位所属不同数据页的生命周期差异而带来的写放大问题,延长了存储器的使用寿命,并提高了存储器的读写性能。
在本实施例中,主控制器20包括闪存控制器201、处理器202、缓存器203、数据转换器204以及接口205。
闪存控制器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作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如执行本发明方法实施例对应的程序指令/模块(例如,图6所示的获取模块41、分段模块42以及处理模块43)。处理器202通过运行存储在缓存器203中的非易失性软件程序、指令以及模块,从而实现本发明任一方法实施例。一个或者多个模块存储在缓存器203中,当被一个或者多个处理器202执行时,执行本发明实施例的基于闪存数据页存储结构的数据操作方法,例如,执行图4中的方法步骤,实现图6中的各模块的功能。
缓存器203可以包括存储程序区,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,缓存器203可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,缓存器203可选包括相对于处理器202远程设置的存储器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据转换器204分别与处理器202和闪存控制器201连接,所述数据转换器204用于将二进制数据转换为十六进制数据,以及将十六进制数据转换为二进制数据。具体地,当所述闪存控制器201向所述闪存介质10写入数据时,通过所述数据转换器204将待写入的二进制数据转换为十六进制数据,然后再写入闪存介质10。当所述闪存控制器201从所述闪存介质10读取数据时,通过所述数据转换器204将闪存介质10中存储的十六进制数据转换为二进制数据,然后从二进制数据页寄存器中读取转换后的数据。其中,所述数据转换器204可以包括二进制数据寄存器和十六进制数据寄存器。所述二进制数据寄存器可以用于保存由十六进制转换为二进制后的数据,所述十六进制数据寄存器可以用于保存由二进制转换为十六进制后的数据。
接口205还与主机200连接,接口205可以为SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口、SFF-8639接口和M.2NVME/SATA协议。
综上,固态硬盘100写数据的大致过程包括:主机200通过接口205将写指令发送给处理器202;处理器202通过内部总线将写指令分发至闪存控制器201、缓存器203和数据转换器204;数据转换器204根据接收到的写指令将待写入的数据由二进制转换为十六进制;闪存控制器201通过内部总线将接收到的写指令发送给闪存介质10;闪存介质10根据该写指令,执行写操作,以获得经所述数据转换器204转换后的写数据;再通过内部总线将写数据传输至缓存器203中进行缓存;然后通过接口205将缓存器203缓存的写数据传输至主机200,或者,通过处理器202将缓存器203缓存的写数据依次传输至接口205和主机200。
固态硬盘100读数据的大致过程包括:主机200通过接口205将读指令发送给处理器202;处理器202通过内部总线将读指令分发至闪存控制器201、缓存器203和数据转换器204;数据转换器204根据接收到的读指令将待读出的数据由十六进制转换为二进制;闪存控制器201通过内部总线将接收到的读指令发送给闪存介质10;闪存介质10根据该读指令,执行读操作,以获得经所述数据转换器204转换后的读数据;再通过内部总线将读数据传输至缓存器203中进行缓存;然后通过接口205将缓存器203缓存的读数据传输至主机200,或者,通过处理器202将缓存器203缓存的读数据依次传输至接口205和主机200。
本发明实施例提供了一种固态硬盘,其可执行本发明实施例所提供的基于闪存数据页存储结构的数据操作方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的基于闪存数据页存储结构的数据操作方法。
请参阅图4,图4是本发明实施例提供的一种基于闪存数据页存储结构的数据操作方法的流程图,所述闪存数据页存储结构具体可以是上述实施例中的闪存介质10。如图4所示,所述方法包括:
步骤301、获取原始数据。
所述原始数据可以是待存入所述闪存数据页存储结构的数据,其可以是任何格式和类型的数据,在此不做具体限制。
在一些实施例中,所述原始数据可以为多个具有相同数据位的多个存储单元的同一序列的数据。例如,如图3a所示,每一列构成一个Page,一个Page中所包含的数据即所述原始数据。
步骤302、将获取的所述原始数据进行分段,每n比特为一段,以获得第一数据,所述n为正整数。
步骤303、将所述第一数据对应的电压值分别存入一个存储单元,其中,所述存储单元存储的数据位之间串联连接。
其中,所述n具体可以是1或2或3等其他正整数。
当n=4时,即按每4比特为一段进行分段。例如,请参阅图5,将获得的原始数据进行分段,每4比特为一段,得到D0,D1,D2,……DN,然后将D0,D1,D2,……DN分别存入一个存储单元,得到N个存储单元,该N个存储单元之间串联连接。所述N为一个Wordline中涉及的全部存储单元的个数。图5所示的D0至DN的列表可以用于表示为十六进制数据寄存器。
其中,存储单元DN中存储的数据具体可以是十六进制数据。当所述存储单元存储的数据为十六进制时,所述将分段后的每段数据所对应的电压值分别存入一个存储单元包括:将分段后的每段二进制数据分别转换为十六进制数据;获取所述十六进制数据对应的电压值,并将所述十六进制数据对应的电压值分别存入一个存储单元。比如,D3对应的是1010,转换为十六进制后为“A”,那么D3存入的是“A”代表的电压值。
在一些实施例中,当有数据需要写入所述闪存数据页存储结构时,所述方法还包括:获取待写入的数据;判断所述待写入的数据是否为二进制;若是,将所述待写入数据由二进制转换为十六进制,并将转换后的十六进制数据缓存于十六进制寄存器,以从所述十六进制寄存器写入所述数据。其中,如果所述待写入的数据为十六进制数据,则可以直接将所述数据缓存于所述十六进行寄存器中,最后从该十六进制寄存器中将数据写入闪存数据页存储结构,所述闪存数据页存储结构具体可以是QLC Nand Flash。
在一些实施例中,当需要从所述闪存数据页存储结构读取数据时,所述方法还包括:获取待输出的数据;判断所述待输出数据是否以二进制输出;若是,将所述数据由十六进制转换为二进制,并将转换后的二进制数据缓存于二进制寄存器,以从所述二进制寄存器输出所述数据。其中,如果所述待读出的数据不是以二进制输出,则可以直接输出所述数据。所述闪存数据页存储结构具体可以是QLC Nand Flash。
本发明实施例提供的基于闪存数据页存储结构的数据操作方法,可以基于一个存储单元全部数据位来存储预设大小的数据,通过一个存储单元中的数据位的串联以及多个存储单元之间的串联实现数据的存储,从而可以将属于一个存储单元的不同数据位由原始属于不同的数据页调整为属于同一数据页,由此,在数据编程和读写的过程中,不会相互干扰,降低了错误发生概率,同时减少了由于存储单元不同数据位所属不同数据页的生命周期差异而造成的写放大问题,该实施方式能够延长存储器的使用寿命,提高存储器的读写性能。
请参阅图6,图6是本发明实施例提供的一种基于闪存数据页存储结构的数据操作装置的结构示意图。所述闪存数据页存储结构具体可以是上述实施例中的闪存介质10。所述装置40包括:获取模块41、分段模块42以及处理模块43。
其中,所述获取模块41用于获取原始数据;所述分段模块42用于将获取的所述原始数据进行分段,每n比特为一段,以获得第一数据,所述n为正整数;所述处理模块43用于将所述第一数据对应的电压值分别存入一个存储单元,其中,所述存储单元存储的数据位之间串联连接。
在一些实施例中,所述原始数据为二进制数据,所述n=4,则所述处理模块43具体用于:将分段后的每段二进制数据分别转换为十六进制数据;获取所述十六进制数据对应的电压值,并将所述十六进制数据对应的电压值分别存入一个存储单元,其中,所述存储单元之间串联连接。
在一些实施例中,同样请参阅图6,所述装置40还包括数据写入模块44,所述数据写入模块44具体用于:获取待写入的数据;判断所述待写入的数据是否为二进制;若是,将所述待写入数据由二进制转换为十六进制,并将转换后的十六进制数据缓存于十六进制寄存器,以从所述十六进制寄存器写入所述数据。
在一些实施例中,同样请参阅图6,所述装置40还包括数据读出模块45,所述数据读出模块45具体用于:获取待输出的数据;判断所述待输出的数据是否以二进制输出;若是,将所述待输出的数据由十六进制转换为二进制,并将转换后的二进制数据缓存于二进制寄存器,以从所述二进制寄存器输出所述数据。
值得说明的是,上述装置内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现降低闪存滞留错误的装置,当然也可以通过硬件实现。并且,由于降低闪存滞留错误的装置的构思与上述各个实施例所述的降低闪存滞留错误的方法的构思一样,在内容不互相冲突下,降低闪存滞留错误的装置的实施例可以引用上述各个实施例的内容,在此不赘述。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行图4的方法步骤,实现图6中的各模块的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的降低闪存滞留错误的方法,例如,执行图4的方法步骤,实现图6中的各模块的功能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种闪存数据页存储结构,其特征在于,所述闪存数据页存储结构包括:
至少两个存储单元;
其中,所述至少两个存储单元之间串联连接;
所述至少两个存储单元中的每个存储单元的数据位用于存放一n比特的第一数据,所述n为正整数;
当所述n>1时,所述n比特的数据的数据位之间串联连接。
2.根据权利要求1所述的闪存数据页存储结构,其特征在于,
当n=2时,所述闪存数据页存储结构为MLC闪存存储器;
当n=4时,所述闪存数据页存储结构为QLC闪存存储器;
当n=8时,所述闪存数据页存储结构为OLC闪存存储器。
3.根据权利要求1所述的闪存数据页存储结构,其特征在于,所述第一数据为二进制数据,或者十六进制数据。
4.一种基于闪存数据页存储结构的数据操作方法,所述闪存数据页存储结构为权利要求1至3任一项所述的闪存数据页存储结构,其特征在于,所述方法包括:
获取原始数据;
将获取的所述原始数据进行分段,每n比特为一段,以获得第一数据,所述n为正整数;
将所述第一数据对应的电压值分别存入一个存储单元,其中,所述存储单元存储的数据位之间串联连接。
5.根据权利要求4所述的方法,其特征在于,所述原始数据为二进制数据,所述n=4,所述将所述第一数据对应的电压值分别存入一个存储单元包括:
将分段后的每段二进制数据分别转换为十六进制数据;
获取所述十六进制数据对应的电压值,并将所述十六进制数据对应的电压值分别存入一个存储单元。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取待写入的数据;
判断所述待写入的数据是否为二进制;
若是,将所述待写入的数据由二进制转换为十六进制,并将转换后的十六进制数据缓存于十六进制寄存器,以从所述十六进制寄存器写入所述数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取待输出的数据;
判断所述待输出的数据是否以二进制输出;
若是,将所述待输出的数据由十六进制转换为二进制,并将转换后的二进制数据缓存于二进制寄存器,以从所述二进制寄存器输出所述数据。
8.一种固态硬盘,其特征在于,包括:
闪存介质;
主控制器,与所述闪存介质连接;
其中,所述主控制器包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的缓存器;
与所述至少一个处理器通信连接的数据转换器;
其中,所述缓存器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器根据所述数据转换器对所述闪存介质执行权利要求4至7任一项所述的方法。
9.根据权利要求8所述的固态硬盘,其特征在于,所述数据转换器包括十六进制寄存器和二进制寄存器,
所述十六进制寄存器用于缓存由二进制转换为十六进制的数据;
所述二进制寄存器用于缓存由十六进制转换为二进制的数据。
10.根据权利要求8所述的固态硬盘,其特征在于,所述闪存介质包括权利要求1至3任一项所述的闪存数据页存储结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396448.9A CN113129943A (zh) | 2019-12-30 | 2019-12-30 | 基于闪存数据页存储结构的数据操作方法及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396448.9A CN113129943A (zh) | 2019-12-30 | 2019-12-30 | 基于闪存数据页存储结构的数据操作方法及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113129943A true CN113129943A (zh) | 2021-07-16 |
Family
ID=76768061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911396448.9A Pending CN113129943A (zh) | 2019-12-30 | 2019-12-30 | 基于闪存数据页存储结构的数据操作方法及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113129943A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356234A (zh) * | 2021-12-31 | 2022-04-15 | 深圳大普微电子科技有限公司 | 非对齐存储结构的闪存设备及数据存储方法 |
WO2024012528A1 (zh) * | 2022-07-15 | 2024-01-18 | 华为技术有限公司 | 数据存储方法、电子设备以及存储介质 |
WO2024119712A1 (zh) * | 2022-12-07 | 2024-06-13 | 深圳大普微电子科技有限公司 | 闪存块的寿命预测方法、闪存设备及存储介质 |
-
2019
- 2019-12-30 CN CN201911396448.9A patent/CN113129943A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356234A (zh) * | 2021-12-31 | 2022-04-15 | 深圳大普微电子科技有限公司 | 非对齐存储结构的闪存设备及数据存储方法 |
WO2024012528A1 (zh) * | 2022-07-15 | 2024-01-18 | 华为技术有限公司 | 数据存储方法、电子设备以及存储介质 |
WO2024119712A1 (zh) * | 2022-12-07 | 2024-06-13 | 深圳大普微电子科技有限公司 | 闪存块的寿命预测方法、闪存设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11237765B2 (en) | Data writing method and storage device | |
CN113129943A (zh) | 基于闪存数据页存储结构的数据操作方法及固态硬盘 | |
US20190087101A1 (en) | Memory system | |
US11776615B2 (en) | Sequential SLC read optimization | |
CN111752484A (zh) | 一种ssd控制器、固态硬盘及数据写入方法 | |
CN112513988A (zh) | 伪异步多平面独立读取 | |
CN111383689A (zh) | 可调nand写入性能 | |
US20230176741A1 (en) | Validating read level voltage in memory devices | |
US10372377B2 (en) | Memory controller, memory system, and control method | |
CN110827902B (zh) | 一种随机编码方法及固态硬盘 | |
US11664079B2 (en) | Intervallic dynamic start voltage and program verify sampling in a memory sub-system | |
EP4018314A1 (en) | Data compaction within the same plane of a memory component | |
US11922993B2 (en) | Read-time overhead and power optimizations with command queues in memory device | |
US9837145B2 (en) | Multi-level flash storage device with minimal read latency | |
US20230060312A1 (en) | Continuous memory programming operations | |
US11594292B2 (en) | Power loss immunity in memory programming operations | |
US20210272619A1 (en) | Data Storage With Improved Read Performance By Avoiding Line Discharge | |
CN115148260A (zh) | 使用更少锁存器的存储器装置编程技术 | |
CN112558883A (zh) | 一种数据存储管理方法、固态硬盘控制器及固态硬盘 | |
US12001678B2 (en) | Address translation metadata compression in memory devices | |
CN110970082A (zh) | 降低闪存滞留错误的方法、装置及固态硬盘 | |
US11749346B2 (en) | Overwrite mode in memory programming operations | |
US12027210B2 (en) | Programming delay scheme for a memory sub-system based on memory reliability | |
US20220415414A1 (en) | Partial block erase operations in memory devices | |
CN116560906A (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 |