CN110970082B - 降低闪存滞留错误的方法、装置及固态硬盘 - Google Patents
降低闪存滞留错误的方法、装置及固态硬盘 Download PDFInfo
- Publication number
- CN110970082B CN110970082B CN201911202913.0A CN201911202913A CN110970082B CN 110970082 B CN110970082 B CN 110970082B CN 201911202913 A CN201911202913 A CN 201911202913A CN 110970082 B CN110970082 B CN 110970082B
- Authority
- CN
- China
- Prior art keywords
- voltage
- flash memory
- error correction
- ecc
- storage unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000014759 maintenance of location Effects 0.000 title claims abstract description 44
- 239000007787 solid Substances 0.000 title claims abstract description 19
- 238000012937 correction Methods 0.000 claims abstract description 109
- 230000005055 memory storage Effects 0.000 claims abstract description 73
- 238000012360 testing method Methods 0.000 claims description 81
- 238000012545 processing Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 abstract description 7
- 239000004065 semiconductor Substances 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 239000012212 insulator Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 229910052814 silicon oxide Inorganic materials 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5004—Voltage
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及半导体技术领域,特别是涉及一种降低闪存滞留错误的方法、装置及固态硬盘。该方法包括:获取目标电压;在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。该方法降低数据存储出错的概率,有效的延长了闪存的滞留时间,并间接的提升了闪存的品质。
Description
技术领域
本发明涉及半导体技术领域,特别是涉及一种降低闪存滞留错误的方法、装置及固态硬盘。
背景技术
闪存介质的存储器储存单元包括衬底、浮栅、控制栅、填充于衬底与浮栅之间的隧道氧化物以及位于浮栅与控制栅之间的填充氧化物,对控制栅施加电压,使电子从衬底层穿过隧道氧化物进入浮栅,由于隧道氧化物和填充氧化物的绝缘特性,使得电子被保存在浮栅中,从而完成数据的存储。
然而,若存储器储存单元长时间不通电,或者随着使用时间的增加,隧道氧化物逐渐氧化,可能导致存储于浮栅中的电子逃逸,如果电子逃逸很多,那么数据的存储状态就会意外改变,即发生滞留错误。其中,从数据写入闪存到发生滞留错误的时间为滞留时间。如何延长该滞留时间,对提升闪存的品质有着重要意义。
发明内容
本发明实施例旨在提供一种降低闪存滞留错误的方法、装置及固态硬盘,其能够延长闪存的滞留时间。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种降低闪存滞留错误的方法,所述方法包括:
获取目标电压;
在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。
在一些实施例中,所述获取目标电压包括:
获取所述存储器储存单元的最优电压;
获取所述存储器储存单元的偏移电压;
将所述最优电压和所述偏移电压进行求和运算,以得到所述目标电压。
在一些实施例中,所述获取所述存储器储存单元的偏移电压包括:
对所述偏移电压进行初始化,得到初始电压;
获取预设的间隔电压;
将所述初始电压与所述间隔电压进行求和运算,得到试验电压;
判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围;
如果满足,则将所述试验电压与所述间隔电压进行求和运算得到新的试验电压,并判断所述新的试验电压是否满足所述闪存的ECC校验的纠错能力范围,直至得到不满足所述闪存的ECC校验的纠错能力范围的试验电压;
如果不满足,则将所述不满足所述闪存的ECC校验的纠错能力范围的试验电压减去所述间隔电压,以得到所述偏移电压。
在一些实施例中,所述判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围包括:
获取预设字线数据的pattern所对应的最优电压;
根据所述试验电压和所述预设字线数据的pattern所对应的最优电压获取所述预设字线数据的写入电压;
根据所述写入电压写入所述预设字线数据;
读取经过ECC纠错后的字线数据,判断所述经过ECC纠错后的字线数据的pattern是否与写入的所述预设字线数据的pattern相同;
若是,则所述试验电压满足所述闪存的ECC校验的纠错能力范围;
若否,则所述试验电压不满足所述闪存的ECC校验的纠错能力范围。
在一些实施例中,所述目标电压为满足所述闪存ECC校验的纠错能力范围内的最大电压。
第二方面,本发明实施例提供一种降低闪存滞留错误的装置,所述装置包括:
获取模块,用于获取目标电压;
处理模块,用于在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。
在一些实施例中,所述获取模块包括:
第一获取单元,用于获取所述存储器储存单元的最优电压;
第二获取单元,用于获取所述存储器储存单元的偏移电压;
处理单元,用于将所述最优电压和所述偏移电压进行求和运算,以得到所述目标电压。
在一些实施例中,所述第二获取单元具体用于:
对所述偏移电压进行初始化,得到初始电压;
获取预设的间隔电压;
将所述初始电压与所述间隔电压进行求和运算,得到试验电压;
判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围;
如果满足,则将所述试验电压与所述间隔电压进行求和运算得到新的试验电压,并判断所述新的试验电压是否满足所述闪存的ECC校验的纠错能力范围,直至得到不满足所述闪存的ECC校验的纠错能力范围的试验电压;
如果不满足,则将所述不满足所述闪存的ECC校验的纠错能力范围的试验电压减去所述间隔电压,以得到所述偏移电压。
在一些实施例中,所述判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围包括:
获取预设字线数据的pattern所对应的最优电压;
根据所述试验电压和所述预设字线数据的pattern所对应的最优电压获取所述预设字线数据的写入电压;
根据所述写入电压写入所述预设字线数据;
读取经过ECC纠错后的字线数据,判断所述经过ECC纠错后的字线数据的pattern是否与写入的所述预设字线数据的pattern相同;
若是,则所述试验电压满足所述闪存的ECC校验的纠错能力范围;
若否,则所述试验电压不满足所述闪存的ECC校验的纠错能力范围。
第三方面,本发明实施例提供一种固态硬盘,包括:
闪存介质;
主控制器,与所述闪存介质连接;
其中,所述主控制器包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的缓存器;其中,
所述缓存器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器对所述闪存介质执行如上所述的降低闪存滞留错误的方法。
本发明实施例的有益效果是:区别于现有技术的情况,本发明实施例提供的一种降低闪存滞留错误的方法、装置及固态硬盘,通过获取目标电压,在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入所述存储器储存单元,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。由于将写入电压进行了提高,并且提高后的写入电压大于最优电压且在ECC校验的纠错能力范围内,保证了数据的错误比特数在纠错能力之内,从而能够降低数据存储出错的概率,有效的延长了闪存的滞留时间,并间接的提升了闪存的品质。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种固态硬盘的结构示意图;
图2是本发明实施例提供的一种降低闪存滞留错误的方法的流程图;
图3是本发明实施例提供的闪存ECC校验过程中错误比特数与电压的对应关系的示意图;
图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时,表示存储器储存单元的数据为1;当单个存储器储存单元所存储的电荷的电压小于预设电压阈值Vth时,表示存储器储存单元的数据为0。由于存储器储存单元的默认数据为1,存储器储存单元的数据为0表示将单个存储器储存单元所存储的电荷进行释放,当电荷释放到一定程度使得浮动栅晶体管的电压小于预设电压阈值Vth时,完成写入数据0的操作。当闪存介质10的存储器储存单元为MLC类型、TLC类型或QLC类型时,单个存储器储存单元可以存储多位数据。其中,MLC闪存类型为例,MLC一个存储器储存单元可以存放2bit的数据,通过控制存储器储存单元内部电荷的多少,定义多个预设电压阈值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作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如执行本发明方法实施例对应的程序指令/模块(例如,图6所示的各个模块)。处理器202通过运行存储在缓存器203中的非易失性软件程序、指令以及模块,从而实现本发明任一方法实施例。一个或者多个模块存储在缓存器203中,当被一个或者多个处理器202执行时,执行本发明实施例的降低闪存滞留错误的方法,例如,执行图2,图4,图5的方法步骤,实现图6中的各模块和各单元的功能。
缓存器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。
本发明实施例提供了一种固态硬盘,其可执行本发明实施例所提供的降低闪存滞留错误的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的降低闪存滞留错误的方法。
请参阅图2,图2是本发明实施例提供的一种降低闪存滞留错误的方法的流程图。该方法可以应用于上述实施例中的固态硬盘,该方法包括:
步骤31、获取目标电压;
步骤32、在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。
Nand Flash闪存本身存在着固有缺陷,存储数据的储存单元中的电子数目会随着时间发生变化,当这种变化累积到一定程度后,就会出现读取状态的变化,即该储存单元Bit值发生了翻转。在Bit值翻转问题的处理上,通用的处理方法是加入ECC校验功能,所述ECC校验能纠正单位错误和检测双位错误,该纠错算法由闪存控制器的硬件来完成,其具有计算速度快、效率高等特点。比如,将一个页中的数据划分为数个ECC单元,当ECC单元内的数据发生翻转的Bit数在ECC引擎的纠错能力范围内,则该ECC单元中的数据都可以保证正确;当ECC单元内的数据发生翻转的Bit数不在ECC引擎的纠错能力范围内,则该ECC单元中的数据不一定都可以保证正确。通常ECC的最大纠错值是固定的,该值表示一个ECC单元内最大允许出错的Bit数。
当向存储器储存单元写入数据时,需要对该存储器储存单元施加电压并形成一个电场,由此,电子可以通过绝缘体进入到该存储器储存单元,此时完成写入数据。
本发明实施例基于闪存ECC校验的错误比特数在纠错能力之内都能保证数据的正确性这一特性,对向存储器储存单元的写入电压进行设置,也即是确定所述目标电压。当向存储器储存单元施加该目标电压时,可以保证数据的正确性。此外,所述目标电压大于最优电压,由于随着时间的推移,存储器储存单元的实际电压会渐渐降低,逐渐趋于最优电压。本发明实施例利用目标电压降低至最优电压的这段时间来延长闪存的滞留时间,从而改善了闪存的滞留特性。
其中,所述目标电压是预设的电压,所述目标电压可以由开发人员根据当前应用的闪存的实际品质和固态硬盘主控ECC纠错的能力来进行预先设置,在执行写数据时,通过闪存控制器对闪存施加该目标电压。
其中,所述最优电压指的是向所述存储器储存单元写入电压时,该写入的电压能够使存储器储存单元的错误比特数最小。当前施加的电压为最优电压时,不需要对闪存进行ECC校验。
其中,所述目标电压可以是大于所述最优电压,并且满足所述闪存ECC校验的纠错能力范围内的最大电压。例如,如图3所示,所述目标电压为图3中的最高电压,随着时间的推移,电子出现泄漏情况,此时电压会逐渐从最高电压降低到图3所示的最低电压,其中,由于数据读出时可以理解为将读出的电压与最优电压值进行比较,当两个电压值差别越大时,错误比特数越高,因此,当电压从最高电压降低到最优电压的过程中,错误的比特数也渐渐降低至最小,当电压从最优电压降低至最小电压的过程中,错误的比特数渐渐升高至最大。其中,如果最高电压降低至最优电压的时间为T,那么该方式为闪存的滞留时间延长了T,直接改善了闪存的滞留特性。其中,图3所示的最高电压和最优电压都在ECC纠错能力范围内。
需要说明的是,所述目标电压除了是所述最高电压之外,还可以是大于最优电压且小于最高电压的电压。所述目标电压为所述最高电压时,所述闪存的滞留时间最长。
本发明实施例提供的一种降低闪存滞留错误的方法,该方法通过获取目标电压,在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入所述存储器储存单元,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。由于将写入电压进行了提高,并且提高后的写入电压大于最优电压且在ECC校验的纠错能力范围内,保证了数据的错误比特数在纠错能力之内,从而能够降低数据存储出错的概率,另外,目标电压降低至最优电压的这段时间有效的延长了闪存的滞留时间,该方法总体上提升了闪存的品质。
在一些实施例中,请参阅图4,上述步骤31获取目标电压具体包括:
步骤311、获取所述存储器储存单元的最优电压。
所述最优电压即如上所述的最优电压,具体可以参考上述方法实施例。
步骤312、获取所述存储器储存单元的偏移电压。
由于闪存的写入单元是字线,当用户数据确定后,每个存储器储存单元上的最优电压就已经确定了,而且不同的存储器储存单元其最优电压,如果为每个存储器储存单元寻找一个最高电压将会提高算法复杂度,因此,本实施例通过确定偏移电压的方式来确定目标电压,其中,实际写入每个存储器储存单元的写入电压=最优电压+偏移电压,下面提供了一种如何确定所述偏移电压的方法。
其中,请参阅图5,所述获取所述存储器储存单元的偏移电压具体包括:
步骤3121、对所述偏移电压进行初始化,得到初始电压Va。
其中,初始化后的所述初始电压Va可以为零,也可以是其他数值。
步骤3122、获取预设的间隔电压Vb。
所述间隔电压Vb可以是一个电压参数范围内的电压,该电压参数范围可以基于闪存的实际品质和闪存ECC纠错能力来进行设定。比如,该电压参数范围为(0,1],该间隔电压Vb=0.5V,等。所述间隔电压Vb的值越小,则精度越高,需要重复实验的步骤越多;所述间隔电压Vb的值越大,则精度越低,需要重复实验的步骤越少。
步骤3123、将所述初始电压Va与所述间隔电压Vb进行求和运算,得到试验电压Vi(i=1,2,3……,n)。
其中,n为正整数。在第一次实验时,所述试验电压为V1,在后续的重复实验过程中,所述试验电压分别为V1、V2、V3、V4……并且新的试验电压是在上一试验电压的基础上加上间隔电压得到的。
步骤3124、判断所述试验电压Vi(i=1,2,3……,n)是否满足所述闪存的ECC校验的纠错能力范围。
判断所述试验电压Vi(i=1,2,3……,n)是否满足所述闪存的ECC校验的纠错能力范围,也即是判断,当给存储器储存单元施加该试验电压时,其错误比特数是否在ECC的纠错能力范围内。具体地,判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围包括:
获取预设字线数据的pattern所对应的最优电压;根据所述试验电压和所述预设字线数据的pattern所对应的最优电压获取所述预设字线数据的写入电压;根据所述写入电压写入所述预设字线数据;读取经过ECC纠错后的字线数据,判断所述经过ECC纠错后的字线数据的pattern是否与写入的所述预设字线数据的pattern相同;若是,则所述试验电压满足所述闪存的ECC校验的纠错能力范围;若否,则所述试验电压不满足所述闪存的ECC校验的纠错能力范围。
当所述试验电压Vi(i=1,2,3……,n)满足所述闪存的ECC校验的纠错能力范围时,执行下述步骤3125。
步骤3125、将所述试验电压与所述间隔电压进行求和运算得到新的试验电压,并判断所述新的试验电压是否满足所述闪存的ECC校验的纠错能力范围,直至得到不满足所述闪存的ECC校验的纠错能力范围的试验电压。
可以理解的是,所述偏移电压是根据所述试验电压和所述间隔电压逐步递增得到的,比如,V1=Va+Vb,V2=V1+Vb,V3=V2+Vb……依此类推。在所述试验电压满足所述闪存的ECC校验的纠错能力范围时,该试验电压不一定是最大电压,因此,将所述试验电压与所述间隔电压进行求和运算得到新的试验电压,直至得到不满足所述闪存的ECC校验的纠错能力范围的试验电压。最终得到的试验电压是满足所述ECC校验的纠错能力范围的并且最大的电压。值得说明的是,试验电压越大,所述滞留时间越长。
当所述试验电压Vi(i=1,2,3……,n)不满足所述闪存的ECC校验的纠错能力范围时,则执行下述步骤3126。
步骤3126、将所述不满足所述闪存的ECC校验的纠错能力范围的试验电压减去所述间隔电压Vb,以得到所述偏移电压。
比如,不满足所述闪存的ECC校验的纠错能力范围的试验电压为V5,V5=V4+Vb,那么最终得到的偏移电压为V4。
步骤313、将所述最优电压和所述偏移电压进行求和运算,以得到所述目标电压。
本实施例提供了一种获取目标电压的方法,通过逐步递增的方式来寻找所述目标电压,一方面,所得到的目标电压是稳定且可靠的,另一方面,最终得到的目标电压提高了闪存滞留时间,提升了闪存的品质。
请参阅图6,图6是本发明实施例提供的一种降低闪存滞留错误的装置的结构示意图。该装置可以应用于上述固态硬盘。该装置40包括:获取模块41和处理模块42。
其中,所述获取模块41,用于获取目标电压。所述处理模块42,用于在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。
同样请参阅图6,所述获取模块41包括:第一获取单元411、第二获取单元412以及处理单元413。所述第一获取单元411,用于获取所述存储器储存单元的最优电压;所述第二获取单元412,用于获取所述存储器储存单元的偏移电压;所述处理单元413,用于将所述最优电压和所述偏移电压进行求和运算,以得到所述目标电压。
其中,所述第二获取单元412具体用于:
对所述偏移电压进行初始化,得到初始电压;
获取预设的间隔电压;
将所述初始电压与所述间隔电压进行求和运算,得到试验电压;
判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围;
如果满足,则将所述试验电压与所述间隔电压进行求和运算得到新的试验电压,并判断所述新的试验电压是否满足所述闪存的ECC校验的纠错能力范围,直至得到不满足所述闪存的ECC校验的纠错能力范围的试验电压;
如果不满足,则将所述不满足所述闪存的ECC校验的纠错能力范围的试验电压减去所述间隔电压,以得到所述偏移电压。
其中,所述判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围包括:
获取预设字线数据的pattern所对应的最优电压;
根据所述试验电压和所述预设字线数据的pattern所对应的最优电压获取所述预设字线数据的写入电压;
根据所述写入电压写入所述预设字线数据;
读取经过ECC纠错后的字线数据,判断所述经过ECC纠错后的字线数据的pattern是否与写入的所述预设字线数据的pattern相同;
若是,则所述试验电压满足所述闪存的ECC校验的纠错能力范围;
若否,则所述试验电压不满足所述闪存的ECC校验的纠错能力范围。
值得说明的是,上述装置内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供的一种降低闪存滞留错误的装置,该装置通过获取目标电压,在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入所述存储器储存单元,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压。由于将写入电压进行了提高,并且提高后的写入电压大于最优电压且在ECC校验的纠错能力范围内,保证了数据的错误比特数在纠错能力之内,从而能够降低数据存储出错的概率,另外,目标电压降低至最优电压的这段时间有效的延长了闪存的滞留时间,该装置总体上提升了闪存的品质。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现降低闪存滞留错误的装置,当然也可以通过硬件实现。并且,由于降低闪存滞留错误的装置的构思与上述各个实施例所述的降低闪存滞留错误的方法的构思一样,在内容不互相冲突下,降低闪存滞留错误的装置的实施例可以引用上述各个实施例的内容,在此不赘述。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行图2,图4,图5的方法步骤,实现图6中的各模块和各单元的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的降低闪存滞留错误的方法,例如,执行图2,图4,图5的方法步骤,实现图6中的各模块和各单元的功能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种降低闪存滞留错误的方法,其特征在于,所述方法包括:
获取目标电压,所述目标电压包括存储器储存单元的偏移电压;
在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压;所述最优电压指的是向所述存储器储存单元写入电压时,写入的电压使所述存储器储存单元的错误比特数最小的电压;
其中,所述方法还包括:获取所述存储器储存单元的偏移电压,所述获取所述存储器储存单元的偏移电压包括:
对所述偏移电压进行初始化,得到初始电压;
获取预设的间隔电压;
将所述初始电压与所述间隔电压进行求和运算,得到试验电压;
判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围;
如果满足,则将所述试验电压与所述间隔电压进行求和运算得到新的试验电压,并判断所述新的试验电压是否满足所述闪存的ECC校验的纠错能力范围,直至得到不满足所述闪存的ECC校验的纠错能力范围的试验电压;
如果不满足,则将所述不满足所述闪存的ECC校验的纠错能力范围的试验电压减去所述间隔电压,以得到所述偏移电压。
2.根据权利要求1所述的方法,其特征在于,所述获取目标电压包括:
获取所述存储器储存单元的最优电压;
将所述最优电压和所述偏移电压进行求和运算,以得到所述目标电压。
3.根据权利要求2所述的方法,其特征在于,所述判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围包括:
获取预设字线数据的pattern所对应的最优电压;
根据所述试验电压和所述预设字线数据的pattern所对应的最优电压获取所述预设字线数据的写入电压;
根据所述写入电压写入所述预设字线数据;
读取经过ECC纠错后的字线数据,判断所述经过ECC纠错后的字线数据的pattern是否与写入的所述预设字线数据的pattern相同;
若是,则所述试验电压满足所述闪存的ECC校验的纠错能力范围;
若否,则所述试验电压不满足所述闪存的ECC校验的纠错能力范围。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述目标电压为满足所述闪存ECC校验的纠错能力范围内的最大电压。
5.一种降低闪存滞留错误的装置,其特征在于,所述装置包括:
获取模块,用于获取目标电压,所述目标电压包括存储器储存单元的偏移电压;
处理模块,用于在对存储器储存单元写入电压时,将所述目标电压作为所述写入电压写入,其中,所述目标电压为大于所述存储器储存单元的最优电压,并且满足所述闪存ECC校验的纠错能力范围的电压;所述最优电压指的是向所述存储器储存单元写入电压时,写入的电压使所述存储器储存单元的错误比特数最小的电压;
其中,所述获取模块包括第二获取单元,所述第二获取单元用于获取所述存储器储存单元的偏移电压,具体地,所述第二获取单元用于:
对所述偏移电压进行初始化,得到初始电压;
获取预设的间隔电压;
将所述初始电压与所述间隔电压进行求和运算,得到试验电压;
判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围;
如果满足,则将所述试验电压与所述间隔电压进行求和运算得到新的试验电压,并判断所述新的试验电压是否满足所述闪存的ECC校验的纠错能力范围,直至得到不满足所述闪存的ECC校验的纠错能力范围的试验电压;
如果不满足,则将所述不满足所述闪存的ECC校验的纠错能力范围的试验电压减去所述间隔电压,以得到所述偏移电压。
6.根据权利要求5所述的装置,其特征在于,所述获取模块包括:
第一获取单元,用于获取所述存储器储存单元的最优电压;
处理单元,用于将所述最优电压和所述偏移电压进行求和运算,以得到所述目标电压。
7.根据权利要求6所述的装置,其特征在于,所述判断所述试验电压是否满足所述闪存的ECC校验的纠错能力范围包括:
获取预设字线数据的pattern所对应的最优电压;
根据所述试验电压和所述预设字线数据的pattern所对应的最优电压获取所述预设字线数据的写入电压;
根据所述写入电压写入所述预设字线数据;
读取经过ECC纠错后的字线数据,判断所述经过ECC纠错后的字线数据的pattern是否与写入的所述预设字线数据的pattern相同;
若是,则所述试验电压满足所述闪存的ECC校验的纠错能力范围;
若否,则所述试验电压不满足所述闪存的ECC校验的纠错能力范围。
8.一种固态硬盘,其特征在于,包括:
闪存介质;
主控制器,与所述闪存介质连接;
其中,所述主控制器包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的缓存器;其中,
所述缓存器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器对所述闪存介质执行权利要求1至4任一项所述的降低闪存滞留错误的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202913.0A CN110970082B (zh) | 2019-11-29 | 2019-11-29 | 降低闪存滞留错误的方法、装置及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202913.0A CN110970082B (zh) | 2019-11-29 | 2019-11-29 | 降低闪存滞留错误的方法、装置及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110970082A CN110970082A (zh) | 2020-04-07 |
CN110970082B true CN110970082B (zh) | 2022-03-15 |
Family
ID=70032246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911202913.0A Active CN110970082B (zh) | 2019-11-29 | 2019-11-29 | 降低闪存滞留错误的方法、装置及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110970082B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449713B2 (en) * | 2012-06-26 | 2016-09-20 | Freescale Semiconductor, Inc. | Method for preconditioning thin film storage array for data retention |
US8902669B2 (en) * | 2012-11-08 | 2014-12-02 | SanDisk Technologies, Inc. | Flash memory with data retention bias |
CN105513636B (zh) * | 2014-09-26 | 2019-11-12 | 北京兆易创新科技股份有限公司 | 一种编程监控的装置 |
KR20210066899A (ko) * | 2019-02-20 | 2021-06-07 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 시스템을 프로그래밍하기 위한 방법 |
-
2019
- 2019-11-29 CN CN201911202913.0A patent/CN110970082B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110970082A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100902008B1 (ko) | 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템 | |
US10553290B1 (en) | Read disturb scan consolidation | |
US9478298B2 (en) | Memory system and method of reading data thereof | |
US8266368B2 (en) | Memory controller, memory system, and control method for memory system | |
US11282567B2 (en) | Sequential SLC read optimization | |
KR20130010343A (ko) | 플래시 메모리 장치 | |
CN112053733A (zh) | 故障敏感存储器页面的选择性加速取样 | |
US20230176741A1 (en) | Validating read level voltage in memory devices | |
CN114792546A (zh) | 存储器装置的基于深度学习的编程验证建模和电压估计 | |
US20210303172A1 (en) | Monitoring flash memory erase progress using erase credits | |
US11295819B2 (en) | Dual sense bin balancing in NAND flash | |
CN110827902B (zh) | 一种随机编码方法及固态硬盘 | |
US10878910B2 (en) | Memory start voltage management | |
WO2021035083A1 (en) | Data compaction within the same plane of a memory component | |
US12094547B2 (en) | Continuous memory programming operations | |
US11664079B2 (en) | Intervallic dynamic start voltage and program verify sampling in a memory sub-system | |
CN110970082B (zh) | 降低闪存滞留错误的方法、装置及固态硬盘 | |
US12027228B2 (en) | Temperature differential-based voltage offset control | |
US20230062226A1 (en) | Memory sub-system sanitization | |
US20220199163A1 (en) | Setting an initial erase voltage using feedback from previous operations | |
CN114097035A (zh) | 在存储器子系统通电阶段期间执行完全存储器刷新的决策 | |
US20240176508A1 (en) | Reliability gain in memory devices with adaptively selected erase policies | |
US12079481B2 (en) | Memory block erase protocol | |
US20240071547A1 (en) | Block family error avoidance bin designs addressing error correction decoder throughput specifications | |
US20230386583A1 (en) | Adaptive porogramming delay scheme in a memory sub-system |
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 |