CN110648713A - 一种闪存存储器及其编程方法、编程系统和存储器系统 - Google Patents
一种闪存存储器及其编程方法、编程系统和存储器系统 Download PDFInfo
- Publication number
- CN110648713A CN110648713A CN201910891635.8A CN201910891635A CN110648713A CN 110648713 A CN110648713 A CN 110648713A CN 201910891635 A CN201910891635 A CN 201910891635A CN 110648713 A CN110648713 A CN 110648713A
- Authority
- CN
- China
- Prior art keywords
- data
- voltage
- voltage interval
- programming
- preset value
- 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
Links
Images
Classifications
-
- 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
-
- 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
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
-
- 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/30—Power supply circuits
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
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)
- Read Only Memory (AREA)
Abstract
本发明提供了一种闪存存储器及其编程方法、编程系统和存储器系统,包括:获得与存储单元对应的第一电压区间;将存储单元的电压提升到对应的第一电压区间内;获得2N‑1个第一电压区间及其对应的第二编程数据;根据第三编程数据、第二编程数据获得与存储单元对应的第二电压区间,第二电压区间组包括2N个第二电压区间;将存储单元的电压提升到对应的第二电压区间内。由于第i个第二电压区间与第i个第一电压区间相同,第i个第一电压区间与第i+1个第一电压区间阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间阈值的差值大于第二预设值,因此,可以在保证数据准确性的基础上,保证存储器以及系统的数据处理能力。
Description
技术领域
本发明涉及存储器技术领域,更具体地说,涉及一种闪存存储器及其编程方法、编程系统和存储器系统。
背景技术
现有的闪存存储器包括多个存储单元,每个存储单元的状态又包括编程状态和擦除状态。其中,对存储单元进行编程即是将存储单元的擦除状态编程至编程状态。具体编程方法为:通过施加编程脉冲将电荷注入到存储单元的栅极,来将与待存储的数据对应的电压区间内的电压施加到存储单元的栅极和源极之间。
闪存存储器中的存储单元包括单电平存储单元(SLC)和多电平存储单元(MLC),每个单电平存储单元仅能存储1个bit的数据,而每个多电平存储单元能够存储多个bit的数据。由于具有多电平存储单元的闪存存储器的存储容量更大、成本更低,因此,具有多电平存储单元的闪存存储器的应用更为广泛。
现有技术中,可以通过多个编程遍对多电平存储单元进行编程,以提高数据的准确性。例如,通过第一个编程遍对一组存储单元中的一个或多个较低页/位进行编程,通过一个或多个后续编程遍对同一组存储单元中的较高页/位进行编程。但是,现有的采用多个编程遍的编程方法,不能在保证存储单元存储数据准确性的同时,保证闪存存储器以及存储器系统的数据处理能力。
发明内容
有鉴于此,本发明提供了一种闪存存储器及其编程方法、编程系统和存储器系统,以在保证存储单元存储数据准确性的同时,保证闪存存储器以及存储器系统的数据处理能力。
为实现上述目的,本发明提供如下技术方案:
一种闪存存储器的编程方法,包括:
接收第一编程数据,根据所述第一编程数据以及第一电压区间组获得与任一存储单元对应的第一电压区间,所述第一电压区间组包括2N个第一电压区间;
将所述存储单元的电压提升到对应的所述第一电压区间内;
接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据;
接收第三编程数据,根据所述第三编程数据以及所述第二编程数据获得第四编程数据,根据所述第四编程数据以及第二电压区间组获得与所述存储单元对应的第二电压区间,所述第二电压区间组包括2N个第二电压区间;
将所述存储单元的电压提升到对应的所述第二电压区间内;
其中,第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,以便根据读出的电压获得2N-1个第一电压区间;
第i个第二电压区间与第i个第一电压区间相同,并且,任意两个第二电压区间的阈值的差值都大于第三预设值,所述第二预设值大于所述第三预设值,所述第三预设值大于所述第一预设值,i=1、3、5…2N-1,i+1≤i+2≤2N,N为大于0的整数。
可选地,N等于4。
可选地,所述第一编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据;
所述第二编程数据包括LP页的数据、MP页的数据和UP页的数据;
所述第三编程数据包括XP页的数据。
可选地,所述第一预设值的范围为0~0.5V,所述第二预设值的范围为0.5V~1V,所述第三预设值的范围为0.5V~1V。
一种闪存存储器的编程系统,包括:
第一电压获取单元,用于接收第一编程数据,根据所述第一编程数据以及第一电压区间组获得与任一存储单元对应的第一电压区间,所述第一电压区间组包括2N个第一电压区间;
第一电压控制单元,用于将所述存储单元的电压提升到对应的所述第一电压区间内;
电压读取单元,用于接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据;
第二电压获取单元,用于接收第三编程数据,根据所述第三编程数据以及所述第二编程数据获得第四编程数据,根据所述第四编程数据以及第二电压区间组获得与所述存储单元对应的第二电压区间,所述第二电压区间组包括2N个第二电压区间;
第二电压控制单元,用于将所述存储单元的电压提升到对应的所述第二电压区间内;
其中,第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,以便根据读出的电压获得2N-1个第一电压区间;
第i个第二电压区间与第i个第一电压区间相同,并且,任意两个第二电压区间的阈值的差值都大于第三预设值,所述第二预设值大于所述第三预设值,所述第三预设值大于所述第一预设值,i=1、3、5…2N-1,i+1≤i+2≤2N,N为大于0的整数。
可选地,N等于4。
可选地,所述第一编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据;
所述第二编程数据包括LP页的数据、MP页的数据和UP页的数据;
所述第三编程数据包括XP页的数据。
可选地,所述第一预设值的范围为0~0.5V,所述第二预设值的范围为0.5V~1V,所述第三预设值的范围为0.5V~1V。
一种闪存存储器,包括如上任一项所述的编程系统。
一种存储器系统,包括闪存存储器和主控制器,所述闪存存储器为如上任一所述的闪存存储器,所述主控制器通过向所述闪存存储器发送第一编程数据、读取指令和第三编程数据,控制所述闪存存储器的编程。
与现有技术相比,本发明所提供的技术方案具有以下优点:
本发明所提供的闪存存储器及其编程方法、编程系统和存储器系统,采用了两个编程遍对存储单元进行编程,在第一个编程遍中,将存储单元的电压提升到了第一电压区间内,在第二编程遍中,将存储单元的电压提升到了第二电压区间内。由于第i个第二电压区间与第i个第一电压区间相同,即第一编程遍中和第二编程遍中施加到部分存储单元上的电压相同,因此,可以减小部分存储单元最终存储的电压的偏移,在一定基础上保证了存储数据的准确性。
并且,由于第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,且第二预设值大于第一预设值,因此,可以根据读出的电压获得2N-1个第一电压区间及其对应的第二编程数据,如N等于4时,第二编程数据包括LP页的数据、MP页的数据和UP页的数据,也就是说,主控制器可以直接从存储单元中读出第二编程数据,从而不必再花费空间存储第二编程数据,进而可以保证闪存存储器以及存储器系统的数据处理能力。
此外,由于任意两个第二电压区间的阈值的差值都大于第三预设值,且第三预设值大于第一预设值,因此,最终存储到存储单元上的电压之间不会发生干扰,即可以从存储单元上读出2N个第二电压区间,从而进一步保证了数据存储的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术提供的一种编程方法的操作示意图;
图2为现有技术提供的另一种编程方法的操作示意图;
图3为本发明实施例提供的一种闪存存储器的编程方法的流程图;
图4为本发明实施例提供的一种闪存存储器的编程方法的操作示意图;
图5为本发明实施例提供的一种闪存存储器的编程系统的结构示意图;
图6为本发明实施例提供的一种闪存存储器的结构示意图;
图7为本发明实施例提供的一种存储器系统的结构示意图。
具体实施方式
正如背景技术所述,现有的采用多个编程遍的编程方法,不能在保证存储单元存储数据准确性的同时,保证闪存存储器以及存储器系统的数据处理能力。
以四电平单元(QLC)闪存存储器为例,一个存储单元可以存储4bit数据,即每个存储单元可以具有16种不同的存储状态,由E(D0)、D1、D2…D15表示,每个状态对应一个电压区间。将这16个电压区间采用4位二进制编码来表征,每一个二进制位可以看成一个页地址,则QLC闪存存储器存在4个页地址,分别可以设置为较低页(LP)、中间页(MP)、较高页(UP)和额外页(XP),如下表1所示。
主控制器将LP页的数据、MP页的数据、UP页的数据和XP页的数据(如1101)发送给QLC闪存存储器后,QLC闪存存储器获得存储单元对应的存储状态(如D1),并获得该存储状态(如D1)对应的一个电压区间,然后通过对该存储单元进行编程,将其电压提升为该电压区间内的电压,来完成4bit数据的存储。
现有技术中,如图1所示,第一种编程方法是:在第一编程遍之前,主控制器向QLC闪存存储器提供LP页的数据、MP页的数据和UP页的数据(如111、101等),以便对其存储单元进行第一编程遍,将存储单元的电压提升到对应的电压区间内的电压;在第二编程遍之前,主控制器向QLC闪存存储器发出读取命令,闪存存储器根据读取命令执行感测操作,读出存储单元的电压值,根据电压值获得在第一编程遍中已被编程到存储单元中的LP页的数据、MP页的数据和UP页的数据,之后,主控制器将XP页的数据以及通过读取重新获得的LP页的数据、MP页的数据和UP页的数据(如1111、1101等)发送至QLC闪存存储器,以便对其存储单元进行第二编程遍,将存储单元的电压提升到对应的电压区间内的电压,该电压大于第一次提升的电压。
如图2所示,第二种编程方法是:在第一编程遍之前,主控制器向QLC闪存存储器提供LP页的数据、MP页的数据、UP页的数据和XP页的数据(如1111、1101等),以便对其存储单元进行第一编程遍,将存储单元的电压提升到对应的电压区间内的电压。在第二编程遍之前,主控制器向QLC闪存存储器再次提供LP页的数据、MP页的数据、UP页的数据和XP页的数据(如1111、1101等),以便对其存储单元进行第二编程遍,将存储单元的电压再次提升到对应的电压区间内的电压。
在第一种编程方法中,由于第一编程遍中施加到存储单元上的电压小于第二编程遍中施加到存储单元上电压,因此,在电压偏移等因素的影响下,两次施加的电压都会出现偏移,导致存储单元最终存储的电压也会出现偏移,进而导致存储单元存储的数据的准确性较差。
而在第二种编程方法中,由于第一编程遍中和第二编程遍中施加到存储单元上的电压相同,因此,可以极大地减小存储单元最终存储的电压的偏移,提高存储数据的准确性。但是,与第一种编程方法相比,由于第二种编程方法中第一编程遍后存储单元的电压偏移更大,其中电压越大偏移越大,因此,在第二编程遍之前,主控制器不能准确地从存储单元中读出LP页的数据、MP页的数据、UP页的数据和XP页的数据,因此,主控制器需要花费额外的空间来存储LP页的数据、MP页的数据、UP页的数据和XP页的数据,这样不仅不利于主控制器的运行,而且会影响QLC闪存存储器以及存储器系统的数据处理能力。
基于此,本发明提供了一种闪存存储器及其编程方法、编程系统和存储器系统,以克服现有技术存在的上述问题,包括:
接收第一编程数据,根据所述第一编程数据获得对应的第一电压区间组,所述第一电压区间组包括2N个第一电压区间;
将任意一个存储单元的电压提升到对应的所述第一电压区间内;
接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据;
接收第三编程数据,根据所述第三编程数据以及所述第二编程数据获得对应的第二电压区间组,所述第二电压区间组包括2N个第二电压区间;
将任意一个存储单元的电压提升到对应的所述第二电压区间内;
其中,第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,以便根据读出的电压获得2N-1个第一电压区间;
第i个第二电压区间与第i个第一电压区间相同,并且,任意两个第二电压区间的阈值的差值都大于第三预设值,所述第二预设值大于所述第三预设值,所述第三预设值大于所述第一预设值,i=1、3、5…2N-1,i+1≤i+2≤2N,N为大于0的整数。
本发明所提供的闪存存储器及其编程方法、编程系统和存储器系统,采用了两个编程遍对存储单元进行编程,在第一个编程遍中,将存储单元的电压提升到了第一电压区间内,在第二编程遍中,将存储单元的电压提升到了第二电压区间内。由于第i个第二电压区间与第i个第一电压区间相同,即第一编程遍中和第二编程遍中施加到部分存储单元上的电压相同,因此,可以减小部分存储单元最终存储的电压的偏移,在一定基础上保证了存储数据的准确性。
并且,由于第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,且第二预设值大于第一预设值,因此,可以根据读出的电压获得2N-1个第一电压区间及其对应的第二编程数据,如N等于4时,第二编程数据包括LP页的数据、MP页的数据和UP页的数据,也就是说,主控制器可以直接从存储单元中读出第二编程数据,从而不必再花费空间存储第二编程数据,进而可以保证闪存存储器以及存储器系统的数据处理能力。
此外,由于任意两个第二电压区间的阈值的差值都大于第三预设值,且第三预设值大于第一预设值,因此,最终存储到存储单元上的电压之间不会发生干扰,即可以从存储单元上读出2N个第二电压区间,从而进一步保证了数据存储的准确性。
以上是本发明的核心思想,为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种闪存存储器的编程方法,如图3所示,包括:
S101:接收第一编程数据,根据所述第一编程数据以及第一电压区间组获得与任一存储单元对应的第一电压区间,所述第一电压区间组包括2N个第一电压区间;
本发明实施例中,以N等于4、即以闪存存储器为QLC闪存存储器为例进行说明,但是,并不仅限于此,在其他实施例中,N还可以等于3或2或5等,即闪存存储器还可以是三电平单元或二电平单元或五电平单元闪存存储器等。可选地,N为大于0的整数。
当N等于4时,第一编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据,如包括E(1111)、D1(1101)、D2(0101)等,闪存存储器在接收到第一编程数据后,根据预先存储的第一电压区间组以及第一编程数据中的数据与第一电压区间组中的第一电压区间的对应关系,得到与第一编程数据中的数据对应的第一电压区间,如得到与E(1111)对应的第1个第一电压区间(V0,V2)、与D1(1101)对应的第2个第一电压区间(V1,V3)、与D2(0101)对应的第3个第一电压区间(V4,V6)等。
获得与第一编程数据中的数据对应的第一电压区间后,根据第一编程数据中的数据与存储单元的对应关系,获得与任一存储单元对应的第一电压区间。需要说明的是,当N等于4时,第一电压区间组包括2N=24=16个第一电压区间。
S102:将存储单元的电压提升到对应的所述第一电压区间内;
获得与任一存储单元对应的第一电压区间之后,通过向存储单元的栅极施加电压,将相应的存储单元的电压提升到对应的第一电压区间内,如将与E(1111)对应的存储单元的电压提升到第1个第一电压区间(V0,V2)内,将与D2(0101)对应的存储单元的电压提升到第3个第一电压区间(V4,V6)内。
S103:接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据;
本发明实施例中,第一电压区间组中,第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,i=1、3、5…2N-1,i+1≤i+2≤2N。
如图4所示,与存储状态E(1111)对应的第1个第一电压区间(V0,V2)和与存储状态D1(1101)对应的第2个第一电压区间(V1,V3)的阈值的差值V2-V1小于第一预设值,与存储状态D1(1101)对应的第2个第一电压区间(V1,V3)和与存储状态D2(0101)对应的第3个第一电压区间(V4,V6)的阈值的差值V4-V3大于第二预设值,与存储状态D2(0101)对应的第3个第一电压区间(V4,V6)和与存储状态D3(0111)对应的第4个第一电压区间(V5,V7)的阈值的差值V6-V5小于第一预设值,与存储状态D3(0111)对应的第4个第一电压区间(V5,V7)和与存储状态D4(0110)对应的第5个第一电压区间(V8,V10)的阈值的差值V8--V7大于第二预设值,…,以此类推,与存储状态D14(1010)对应的第15个第一电压区间(V28,V30)和与存储状态D15(1110)对应的第16个第一电压区间(V29,V31)的阈值的差值V30-V29小于第一预设值。
也就是说,本发明实施例中,每一偶数个第一电压区间与其相邻的一个奇数个第一电压区间的阈值的差值小于第一预设值,这个偶数个第一电压区间与其相邻的另一个第一电压区间的阈值的差值小于第二预设值,且第二预设值大于第一预设值,如第一预设值的范围为0~0.5V,第二预设值的范围为0.5V~1V,因此,可以使得偶数个第一电压区间与其相邻的一个奇数个第一电压区间重叠,从而使得闪存存储器接收到读取指令,并根据读取指令从存储单元中读取数据时,并不能将偶数个第一电压区间与其相邻的一个奇数个第一电压区间区分开,如并不能将第2个第一电压区间与第1个第一电压区间区分开,这样就只能从已编程的存储单元中读取2N-1=23=8个第一电压区间,并根据2N-1个第一电压区间获得对应的第二编程数据,进而可以使得主控制器直接从存储单元中读出第二编程数据,从而不必再花费空间存储第二编程数据,进而可以保证闪存存储器以及存储器系统的数据处理能力。并且,由于重叠后读出的一个第一电压区间的范围或步长较大,因此,相对于现有技术中的第二种编程方法而言,读出的数据的准确性较大。
可选地,当N等于4时,第二编程数据包括LP页的数据、MP页的数据和UP页的数据。需要说明的是,第一预设值可以根据闪存存储器的读取精度设置,只要第一预设值小于闪存存储器的读取精度,第二预设值大于闪存存储器的读取精度,即可保证读取数据时,只能从2N个第一电压区间读出2N-1个第一电压区间。
S104:接收第三编程数据,根据所述第三编程数据以及所述第二编程数据获得第四编程数据,根据所述第四编程数据以及第二电压区间组获得与所述存储单元对应的第二电压区间,所述第二电压区间组包括2N个第二电压区间;
当N等于4时,第三编程数据包括XP页的数据,由于第二编程数据包括LP页的数据、MP页的数据和UP页的数据,因此,根据第三编程数据和第二编程数据可以得到第四编程数据,该第四编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据,从而可以根据第四编程数据、预先存储的第二电压区间组以及第四编程数据中的数据与第二电压区间组的对应关系,获得与第四编程数据中的数据对应的第二电压区间,如得到与E(1111)对应的第1个第二电压区间(V0,V2)、与D2(0101)对应的第3个第二电压区间(V4,V6)等。之后,即可根据第四编程数据中的数据与存储单元的对应关系,获得与任一存储单元对应的第二电压区间。
S105:将所述存储单元的电压提升到对应的所述第二电压区间内;
获得存储单元对应的第二电压区间后,通过向存储单元的栅极施加电压,将存储单元的电压提升到对应的第二电压区间内,如将与E(1111)对应的存储单元的电压提升到第1个第二电压区间(V0,V2)内,将与D2(0101)对应的存储单元的电压提升到第3个第二电压区间(V4,V6)内。
本发明实施例中,第i个第二电压区间与第i个第一电压区间相同,i=1、3、5…2N-1,如图4所示,第1个第二电压区间(V0,V2)与第1个第一电压区间(V0,V2)相同,第3个第二电压区间(V4,V6)与第3个第一电压区间(V4,V6)相同,第5个第二电压区间(V8,V10)与第5个第一电压区间(V8,V10)相同,第7个第二电压区间(V12,V14)与第7个第一电压区间(V12,V14)相同,第9个第二电压区间(V16,V18)与第9个第一电压区间(V16,V18)相同,第11个第二电压区间(V20,V22)与第11个第一电压区间(V20,V22)相同,第13个第二电压区间(V24,V26)与第13个第一电压区间(V24,V26)相同,第15个第二电压区间(V28,V30)与第15个第一电压区间(V28,V30)相同。
但是,如图4所示,本发明实施例中,第i+1个第二电压区间与第i+1个第一电压区间不相同,i=1、3、5…2N-1,如图4所示,第2个第二电压区间(V32,V33)与第2个第一电压区间(V1,V3)不相同,第4个第二电压区间(V34,V35)与第4个第一电压区间(V5,V7)不相同,以此类推。也就是说,序号相同的第二电压区间和第一电压区间中,序号为奇数的第二电压区间与第一电压区间相同,序号为偶数的第二电压区间与第一电压区间不相同。基于此,第一编程遍中和第二编程遍中施加到一半的存储单元上的电压相同,因此,可以减小一半的存储单元最终存储的电压的偏移,在一定基础上保证了存储数据的准确性。
此外,由于任意两个第二电压区间的阈值的差值如V32-V2都大于第三预设值,且第三预设值大于第一预设值,可选地,第三预设值的范围为0.5V~1V,因此,最终存储到存储单元上的电压之间不会发生干扰,即可以从存储单元上读出2N个第二电压区间,从而进一步保证了数据存储的准确性。
本发明实施例还提供了一种闪存存储器的编程系统,如图5所示,包括:
第一电压获取单元10,用于接收第一编程数据,根据所述第一编程数据以及第一电压区间组获得与任一存储单元对应的第一电压区间,所述第一电压区间组包括2N个第一电压区间;
第一电压控制单元11,用于将所述存储单元的电压提升到对应的所述第一电压区间内;
电压读取单元12,用于接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据;
第二电压获取单元13,用于接收第三编程数据,根据所述第三编程数据以及所述第二编程数据获得第四编程数据,根据所述第四编程数据以及第二电压区间组获得与所述存储单元对应的第二电压区间,所述第二电压区间组包括2N个第二电压区间;
第二电压控制单元14,用于将所述存储单元的电压提升到对应的所述第二电压区间内;
其中,第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,以便根据读出的电压获得2N-1个第一电压区间;
第i个第二电压区间与第i个第一电压区间相同,并且,任意两个第二电压区间的阈值的差值都大于第三预设值,所述第二预设值大于所述第三预设值,所述第三预设值大于所述第一预设值,i=1、3、5…2N-1,i+1≤i+2≤2N,N为大于0的整数。
可选地,本发明实施例中,N等于4。并且,当N等于4时,所述第一编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据;所述第二编程数据包括LP页的数据、MP页的数据和UP页的数据;所述第三编程数据包括XP页的数据。
可选地,所述第一预设值的范围为0~0.5V,所述第二预设值的范围为0.5V~1V,所述第三预设值的范围为0.5V~1V。
本发明实施例中,对存储单元的编程过程包括两个编程遍,进行第一个编程遍时,第一电压获取单元10接收第一编程数据,可选地,第一编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据,之后根据预先存储的第一电压区间组以及第一编程数据中的数据与第一电压区间组中的第一电压区间的对应关系,得到与第一编程数据中的数据对应的第一电压区间,根据第一编程数据中的数据与存储单元的对应关系,获得与任一存储单元对应的第一电压区间。其中,所述第一电压区间组包括2N个第一电压区间;之后,第一电压控制单元11将所述存储单元的电压提升到对应的所述第一电压区间内。
之后,电压读取单元12接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据,可选地,第二编程数据包括LP页的数据、MP页的数据和UP页的数据。
进行第二个编程遍时,第二电压获取单元13接收第三编程数据,可选地,第三编程数据包括XP页的数据,根据所述第三编程数据以及所述第二编程数据获得第四编程数据,该第四编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据,从而可以根据第四编程数据、预先存储的第二电压区间组以及第四编程数据中的数据与第二电压区间组的对应关系,获得与第四编程数据中的数据对应的第二电压区间,之后,即可根据第四编程数据中的数据与存储单元的对应关系,获得与任一存储单元对应的第二电压区间。
由于第i个第二电压区间与第i个第一电压区间相同,即第一编程遍中和第二编程遍中施加到部分存储单元上的电压相同,因此,可以减小部分存储单元最终存储的电压的偏移,在一定基础上保证了存储数据的准确性。
并且,由于第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,且第二预设值大于第一预设值,如第一预设值的范围为0~0.5V,第二预设值的范围为0.5V~1V,因此,可以根据读出的电压获得2N-1个第一电压区间及其对应的第二编程数据,也就是说,主控制器可以直接从存储单元中读出第二编程数据,从而不必再花费空间存储第二编程数据,进而可以保证闪存存储器以及存储器系统的数据处理能力。
此外,由于任意两个第二电压区间的阈值的差值都大于第三预设值,且第三预设值大于第一预设值,因此,最终存储到存储单元上的电压之间不会发生干扰,即可以从存储单元上读出2N个第二电压区间,从而进一步保证了数据存储的准确性。
本发明实施例还提供了一种闪存存储器,包括如上任一实施例提供的编程系统100。可选地,该闪存存储器为QLC闪存存储器。
本发明实施例还提供了一种存储器系统,该存储器系统包括闪存存储器1和主控制器2,所述闪存存储器1为如上任一实施例提供的闪存存储器,所述主控制器2用于控制闪存存储器1的所有操作,也就是说,闪存存储器1可以在主控制器2的控制下执行擦除操作、编程操作和读取操作等,本发明实施例中,主控制器2通过向所闪存存储器发送第一编程数据、读取指令和第三编程数据,来控制闪存存储器1执行编程操作。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种闪存存储器的编程方法,其特征在于,包括:
接收第一编程数据,根据所述第一编程数据以及第一电压区间组获得与任一存储单元对应的第一电压区间,所述第一电压区间组包括2N个第一电压区间;
将所述存储单元的电压提升到对应的所述第一电压区间内;
接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据;
接收第三编程数据,根据所述第三编程数据以及所述第二编程数据获得第四编程数据,根据所述第四编程数据以及第二电压区间组获得与所述存储单元对应的第二电压区间,所述第二电压区间组包括2N个第二电压区间;
将所述存储单元的电压提升到对应的所述第二电压区间内;
其中,第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,以便根据读出的电压获得2N-1个第一电压区间;
第i个第二电压区间与第i个第一电压区间相同,并且,任意两个第二电压区间的阈值的差值都大于第三预设值,所述第二预设值大于所述第三预设值,所述第三预设值大于所述第一预设值,i=1、3、5…2N-1,i+1≤i+2≤2N,N为大于0的整数。
2.根据权利要求1所述的方法,其特征在于,N等于4。
3.根据权利要求2所述的方法,其特征在于,所述第一编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据;
所述第二编程数据包括LP页的数据、MP页的数据和UP页的数据;
所述第三编程数据包括XP页的数据。
4.根据权利要求2或3所述的方法,其特征在于,所述第一预设值的范围为0~0.5V,所述第二预设值的范围为0.5V~1V,所述第三预设值的范围为0.5V~1V。
5.一种闪存存储器的编程系统,其特征在于,包括:
第一电压获取单元,用于接收第一编程数据,根据所述第一编程数据以及第一电压区间组获得与任一存储单元对应的第一电压区间,所述第一电压区间组包括2N个第一电压区间;
第一电压控制单元,用于将所述存储单元的电压提升到对应的所述第一电压区间内;
电压读取单元,用于接收读取指令,根据所述读取指令读出所述存储单元的电压,获得2N-1个第一电压区间及其对应的第二编程数据;
第二电压获取单元,用于接收第三编程数据,根据所述第三编程数据以及所述第二编程数据获得第四编程数据,根据所述第四编程数据以及第二电压区间组获得与所述存储单元对应的第二电压区间,所述第二电压区间组包括2N个第二电压区间;
第二电压控制单元,用于将所述存储单元的电压提升到对应的所述第二电压区间内;
其中,第i个第一电压区间与第i+1个第一电压区间的阈值的差值小于第一预设值,第i+1个第一电压区间与第i+2个第一电压区间的阈值的差值大于第二预设值,以便根据读出的电压获得2N-1个第一电压区间;
第i个第二电压区间与第i个第一电压区间相同,并且,任意两个第二电压区间的阈值的差值都大于第三预设值,所述第二预设值大于所述第三预设值,所述第三预设值大于所述第一预设值,i=1、3、5…2N-1,i+1≤i+2≤2N,N为大于0的整数。
6.根据权利要求5所述的编程系统,其特征在于,N等于4。
7.根据权利要求6所述的编程系统,其特征在于,所述第一编程数据包括LP页的数据、MP页的数据、UP页的数据和XP页的数据;
所述第二编程数据包括LP页的数据、MP页的数据和UP页的数据;
所述第三编程数据包括XP页的数据。
8.根据权利要求5或6所述的编程系统,其特征在于,所述第一预设值的范围为0~0.5V,所述第二预设值的范围为0.5V~1V,所述第三预设值的范围为0.5V~1V。
9.一种闪存存储器,其特征在于,包括权利要求5~8任一项所述的编程系统。
10.一种存储器系统,其特征在于,包括闪存存储器和主控制器,所述闪存存储器为权利要求9所述的闪存存储器,所述主控制器通过向所述闪存存储器发送第一编程数据、读取指令和第三编程数据,控制所述闪存存储器的编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910891635.8A CN110648713B (zh) | 2019-09-20 | 2019-09-20 | 一种闪存存储器及其编程方法、编程系统和存储器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910891635.8A CN110648713B (zh) | 2019-09-20 | 2019-09-20 | 一种闪存存储器及其编程方法、编程系统和存储器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110648713A true CN110648713A (zh) | 2020-01-03 |
CN110648713B CN110648713B (zh) | 2021-09-10 |
Family
ID=68992217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910891635.8A Active CN110648713B (zh) | 2019-09-20 | 2019-09-20 | 一种闪存存储器及其编程方法、编程系统和存储器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110648713B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281791A (zh) * | 2007-04-03 | 2008-10-08 | 海力士半导体有限公司 | 闪存装置的编程方法 |
JP2011128984A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | メモリシステム |
US20150043276A1 (en) * | 2011-07-22 | 2015-02-12 | Sandisk Technologies Inc. | Systems and methods of storing data |
US20150220388A1 (en) * | 2014-02-06 | 2015-08-06 | Lsi Corporation | Systems and Methods for Hard Error Reduction in a Solid State Memory Device |
CN109643574A (zh) * | 2016-09-30 | 2019-04-16 | 英特尔公司 | 用于在完成数据加载操作之前启动预读取操作的方法和设备 |
US20190259458A1 (en) * | 2018-02-22 | 2019-08-22 | Noboru Shibata | Semiconductor memory |
-
2019
- 2019-09-20 CN CN201910891635.8A patent/CN110648713B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281791A (zh) * | 2007-04-03 | 2008-10-08 | 海力士半导体有限公司 | 闪存装置的编程方法 |
JP2011128984A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | メモリシステム |
US20150043276A1 (en) * | 2011-07-22 | 2015-02-12 | Sandisk Technologies Inc. | Systems and methods of storing data |
US20150220388A1 (en) * | 2014-02-06 | 2015-08-06 | Lsi Corporation | Systems and Methods for Hard Error Reduction in a Solid State Memory Device |
CN109643574A (zh) * | 2016-09-30 | 2019-04-16 | 英特尔公司 | 用于在完成数据加载操作之前启动预读取操作的方法和设备 |
US20190259458A1 (en) * | 2018-02-22 | 2019-08-22 | Noboru Shibata | Semiconductor memory |
Also Published As
Publication number | Publication date |
---|---|
CN110648713B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11688458B2 (en) | Semiconductor memory device and memory system | |
US9922706B2 (en) | Solid state storage device using state prediction method | |
US11170857B2 (en) | Semiconductor memory device that performs successive tracking reads during an operation to read one page | |
KR102192910B1 (ko) | 반도체 장치, 메모리 시스템 및 이의 동작 방법 | |
US7379342B2 (en) | Flash memory device being programmed and verified using voltage higher than target/read threshold voltage to achieve uniform threshold voltage characteristic | |
CN110914908B (zh) | 半导体存储装置 | |
CN107767914B (zh) | 半导体存储装置及存储器系统 | |
US20160293259A1 (en) | Semiconductor apparatus and operating method thereof | |
US8520435B2 (en) | Nonvolatile memory device and method of operating the same | |
US9520184B2 (en) | Method for writing in-system programming code into flash memory for better noise margin | |
US9230664B2 (en) | Nonvolatile memory and data writing method | |
US10978165B2 (en) | Memory system and non-volatile semiconductor memory | |
WO2012011222A1 (ja) | メモリ装置及びcpuの制御方法 | |
CN103035292A (zh) | 半导体器件及其操作方法 | |
US20170337969A1 (en) | Semiconductor memory device and memory system | |
US9490024B1 (en) | Solid state storage device and reading control method thereof | |
KR102040904B1 (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
US9361983B2 (en) | Semiconductor device and method of refresh thereof | |
CN110993007B (zh) | 一种存储器的编程方法和编程系统 | |
CN110648713B (zh) | 一种闪存存储器及其编程方法、编程系统和存储器系统 | |
KR20140079912A (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
JP2009015977A (ja) | 不揮発性半導体メモリとそれを用いた記憶装置 | |
US20130077403A1 (en) | Memory and program method thereof | |
KR20100089507A (ko) | 플래시 메모리 소자의 프로그램 방법 |
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 |