CN105976866B - 二进制数据序列的编码方法、存储装置和电子设备 - Google Patents
二进制数据序列的编码方法、存储装置和电子设备 Download PDFInfo
- Publication number
- CN105976866B CN105976866B CN201610252389.8A CN201610252389A CN105976866B CN 105976866 B CN105976866 B CN 105976866B CN 201610252389 A CN201610252389 A CN 201610252389A CN 105976866 B CN105976866 B CN 105976866B
- Authority
- CN
- China
- Prior art keywords
- transistor
- voltage
- data sequence
- binary data
- encoded
- 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
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
Landscapes
- Read Only Memory (AREA)
Abstract
二进制数据序列的编码方法、存储装置和电子设备。在所述编码方法中,所述二进制数据序列包括n位数据,n为大于1的整数,其中在所述n位数据中包括m个逻辑“0”数据,0≤m≤n,m为整数,当m=0时,所述二进制数据序列被编码为0;当m=1时,该二进制数据序列编码为1~C(n,1)之间的数值;当1<m<n时,该二进制数据序列编码为在之间的数值;当m=n时,所述二进制数据序列被编码为2n‑1。所述存储装置的缓存电路中存储的数据采用上述编码方法。
Description
技术领域
本发明的实施例涉及一种二进制数据序列的编码方法和采用该编码方法的存储装置和电子设备。
背景技术
诸如闪存之类的存储装置已经广泛应用于例如手机、数码相机、平板电脑、个人计算机之类的电子装置中。闪存通常包括两种类型,即,NOR闪存和NAND闪存。NOR闪存和NAND闪存包括多个存储单元(memory cell),存储单元均由具有浮动栅极(floating gate)三端(源极、漏极和控制栅极)器件构成。向该浮动栅极注入电荷的过程就是编程(写入)的过程。对于浮动栅极中存在电荷的存储单元,由于浮动栅极的感应作用,仅需要在控制栅极施加较小的偏置电压,甚至施加0V的偏置电压,就可以使得三端器件导通。通常,将浮动栅极中存在电荷认为存储单元中存在例如,数据“1”。也就是说,当存储单元中存在数据“1”时,存储单元的对应的阈值电压会降低。在完成数据的编程之后,通常还要进行数据的验证,以检查数据是否恰当地被编程到存储单元。
发明内容
本公开的实施例提供一种二进制数据序列的编码方法,所述二进制数据序列包括n位数据,n为大于1的整数,其中在所述n位数据中包括m个逻辑“0”数据,0≤m≤n,m为整数,当m=0时,所述二进制数据序列被编码为0;当m=1时,该二进制数据序列编码为1~C(n,1)之间的数值;当1<m<n时,该二进制数据序列编码为在之间的数值;当m=n时,所述二进制数据序列被编码为2n-1。
例如,当1<m<n时,所述二进制数据序列根据数值的大小而编码为在之间的数值。
本公开的实施例还提供一种存储装置,包括电源接口、存储单元、读写电路、验证电路和一个或多个缓存电路,其中,所述电源接口配置为提供电源电压;所述读写电路配置为向所述存储单元施加编程电压并且写入与所述编程电压对应的数据,或从所述存储单元读取或验证数据;所述验证电路配置为验证向所述存储单元写入数据是否成功;所述一个或多个缓存电路配置为缓存与所述编程电压对应的二进制数据序列;所述二进制数据序列根据上述编码方法来编码。
例如,所述缓存电路的数量等于所述二进制数据序列的位数。
例如,所述缓存电路包括:第一晶体管、第二晶体管、第三晶体管、锁存器以及感测节点,其中,锁存器配置为存储二进制数据序列的一位数据;所述第一晶体管的一端连接到电源接口,所述第一晶体管的另一端连接到所述第二晶体管的一端,所述第一晶体管根据第一信号RDL而导通或截止;所述第二晶体管的另一端连接到所述感测节点,所述第二晶体管根据所述一位数据的电压而导通或截止;所述第三晶体管的一端连接到电源接口,所述第三晶体管的另一端连接到所述锁存器以接收所述一位数据的电压,所述第三晶体管根据所述感测节点的电压而导通或截止。
例如,所述第三晶体管是PMOS晶体管,以使得响应于所述感测节点的电压为逻辑低电平而导通。
例如,所述锁存器进一步存储所述一位数据的反向信号。
例如,所述锁存器包括2个反相器。
例如,当所述二进制数据序列编码为0时,所述二进制数据序列对应于存储单元的擦除状态;当所述二进制数据序列编码为2n-1时,所述二进制数据序列对应于存储单元中阈值电平最高的状态。
本公开的实施例还提供一种电子设备,包括上述存储装置。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。
图1示出了多级存储单元的阈值电压的分布的示意图。
图2示出了由本公开实施例提供的一种存储装置的示意图。
图3示出了由本公开实施例提供的包括3个缓存电路的存储装置的示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另作定义,本公开所使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本公开中“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”、“耦接”或者“相连”等类似的词语并非限定于物理或者机械耦接,而是可以包括电性耦接,不管是直接还是间接的耦接。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
闪存通常采用NOR存储单元或NAND存储单元。以下以NAND存储单元为例进行说明,但本发明不限于此。通常,在NAND闪存中,由存储单元构成存储阵列。存储阵列的一列以一个存储单元的源极连接到另一个存储单元的漏极的方式串行排列而构成。一列存储单元也可以称为一个存储串(string of memory cells),存储串可以连接在源线(SL)和位线(BL)之间。存储阵列的一行中的存储单元的控制栅极均连接到同一条字线。通常,通过字线向控制栅极施加电压来控制对存储单元的编程、读取和验证等操作。
由于对存储单元的操作(例如,编程、读取和验证)可以是逐行进行的,所以在本公开中如果没有特别说明,均以一列存储单元为例进行说明。
存储单元可以配置为单级存储单元(Single Level Memory Cell,SLC)或多级存储单元(Multi Level Memory Cell,MLC)。单级存储单元在每一个存储单元中仅能存储1位(bit)数据,而多级存储单元可以在每一个存储单元中存储多于1位的数据,例如,2位或更多位。由于在存储单元存储数据会影响存储单元的阈值电压,因此,多级存储单元根据设定的数据是否存储而具有2N个阈值电压,N为整数。例如,2位的多级存储单元具有4个阈值电压。
图1示出了多级存储单元(例如2位数据)的阈值电压Vcell_th的分布的示意图。如图1所示,4个阈值电压范围Vcell_th 102-108分别表示二进制的值‘00’、‘01’、‘10’和‘11’,即分别为0、1、2和3。例如,如果阈值电压落入Vcell_th 102的范围,则向该阈值电压Vcell_th 102执行写入操作(即,向被施加了该阈值电压Vcell_th 102的浮动栅极注入电荷)以表示存储数据‘11’。如果阈值电压落入Vcell_th 104的范围,则向该阈值电压Vcell_th 104执行写入操作(即,向被施加了该阈值电压Vcell_th 104的浮动栅极注入电荷)以表示存储数据‘10’。类似地,Vcell_th 106表示‘00’,Vcell_th 108表示‘01’。单级存储单元(1位数据)与多级存储单元类似,但是仅包括2个不同的阈值电压范围。即,被注入电荷的阈值电压与在该存储单元存储的数据对应。因此,本领域技术人员可以知道,在存储单元中存储的数据可以是“1”或“0”(单级存储单元),或“00”、“01”、“10”和“11”的任一个(2位数据的多级存储单元),或其他数据,且本公开所列举的数值并不构成限定。
图2示出一种示例性的存储装置200。该存储装置200可以包括电源接口、存储单元串202、读写电路220、验证电路230和一个或多个缓存电路240。该电源接口配置为提供电源电压。该电源电压例如可以包括多种电压,诸如1V、1.5V、2V、5V等。本领域技术人员应当知道,本公开中的电源的数量不限于一个,而可以是多个。
以下描述读写电路220的功能和结构。
例如,该读写电路220可以配置为向存储单元串210施加编程电压并且写入与该编程电压对应的数据,或从存储单元串210读取数据,或验证数据是否写入。该读写电路220包括:钳位单元222、充电单元224和隔断单元226。该读写电路220用于与存储单元串210的耦接的端点被称为节点BL。节点BL耦接到钳位单元222的一端。
钳位单元222的另一端耦接到充电单元224,钳位单元222可以配置为根据施加至其控制端BLC的钳位电压VBLCLAMP而导通或截止。例如,该钳位单元222可以根据钳位电压VBLCLAMP将控制电路200的其余部分与节点BL之间导通或断开。在图2的实施例中,该钳位单元222包括晶体管T8。该晶体管T8可以配置为根据钳位电压VBLCLAMP而导通或截止。该晶体管T8例如可以是NMOS晶体管,配置为根据钳位电压VBLCLAMP,将与存储单元串连接的节点BL的电压VBL设置为VBLCLAMP-Vth,其中,VBLCLAMP是施加到晶体管T8的栅极的钳位电压,Vth是晶体管T8的阈值电压。根据Vgs≥Vth,当晶体管T8导通的时候,VBLCLAMP-VBL≥Vth,因此,VBL≤VBLCLAMP-Vth。也就是说,当晶体管T8导通的时候,节点BL的电压被钳位在VBLCLAMP-Vth。因此,当VBLCLAMP=Vdd+Vth时,节点BL的电压可以被钳位在Vdd,此时对存储单元进行编程抑制。而当VBLCLAMP=Vslp+Vth(Vslp是略大于0的电压,例如0.1~0.2V)时,节点BL的电压可以被钳位Vslp,此时对存储单元进行弱编程。而当节点BL的电压为0V时,对存储单元进行强编程。即,通过控制节点BL的电压,可以控制存储单元的编程操作。
充电单元224一端耦接在钳位单元222的另一端和节点SEN之间。充电单元224的另一端可以耦接到电源接口。充电单元224可以配置为根据信号PGM0而导通或截止。在本实施例中,充电单元224例如可以是NMOS晶体管T29。响应于信号PGM0为高电平,NMOS晶体管T29导通,从而电源电压经由钳位单元222可以向节点BL充电,例如可以充电到电源电压Vdd。响应于PGM0为低电平,NMOS晶体管T29截止,从而可以结束充电过程。
隔断单元226可以耦接在节点BL和节点SEN之间。隔断单元226可以根据节点LAT(将在下文进一步描述)的电压而导通或截止。隔断单元226例如可以响应于节点LAT的电压为第二逻辑电平(例如,逻辑电平“1”)时而截止,并且隔断单元226响应于节点LAT的电压为第一逻辑电平(例如,逻辑电平“0”)时而导通。在图2的实施例中,隔断单元226例如可以包括PMOS晶体管T6。该PMOS晶体管T6的源极与节点SEN耦接,其漏极与晶体管T8耦接,其栅极例如与节点LAT耦接,或者与一信号线连接,该信号线上施加的信号电压例如与节点LAT的电压相关。根据PMOS晶体管的电路特性,当节点LAT的电压为逻辑电平“1”时,PMOS晶体管截止,而当节点LAT的电压为逻辑电平“0”时,PMOS晶体管导通。隔断单元226例如还可以包括NMOS晶体管T7。该NMOS晶体管T7的漏极与节点SEN耦接,其源极与作为钳位电路的晶体管T8耦接,其栅极与节点INV耦接,或者与一控制线连接,该控制线可以被施加与节点INV的电压相同或相关的控制信号。节点LAT和节点INV在下文进一步描述。
读写电路220还可以包括在节点SEN和钳位单元222之间设置的导通单元227。导通单元227具有与节点SEN耦接的输入端以及与钳位单元222耦接的输出端。在图2的实施例中,导通单元227被设置在节点SEN和隔断单元206之间。本领域技术人员应当知道,导通单元227的位置并不限于上述示例,而是只要能够实现电流根据控制的导通即可,例如也可以设置在充电单元204和隔断单元206之间。如图2所示,该导通单元227的一个示例可以包括NMOS晶体管T5。该NMOS晶体管T5的漏极和栅极短接并且与节点SEN耦接,NMOS晶体管T5的源极与隔断单元206耦接。导通单元227的另一个示例也可以是二极管(未示出),其阳极与节点SEN耦接,其阴极与隔断单元206耦接。本领域技术人员应当知道,导通单元227并不限于上述两种电路结构(即,短接的NMOS管或二极管),任何可以使得电流单向导通的电路结构均可以采用。由于短接的NMOS管相比于相同规格的二极管来说,具有势垒相对较低的优点,因而在本申请的以下实施例中将采用短接的NMOS晶体管T5(即,如图2所示)进行说明。此外,导通单元227可以进一步包括与NMOS晶体管T7并联的晶体管T4,并且该晶体管T4具有与控制信号线PASS耦接的栅极。可以通过向控制信号线PASS施加导通信号以使得晶体管T4导通,或可以通过向控制信号线PASS施加截止信号以使得晶体管T4截止。在本实施例中,该晶体管T4是NMOS晶体管,但是也可以采用PMOS晶体管。因此,当晶体管T4导通时,信号可以从节点BL流向节点SEN,而当晶体管T4截止时,信号仅可以从节点SEN流向节点BL,从而实现了信号流动方向的控制。
通常编程操作要求在控制节点BL的电压的同时,向选定的存储单元施加编程电压Vprogram以将数据与阈值电压Vcell_th对应地写入到存储单元中。通常,该编程电压Vprogram在编程过程中逐级抬高,且不可降低。例如,编程电压Vprogram从18V开始以0.2~0.4V递增。
又例如,在存储单元的读取过程中,存储单元串210中的要读取的存储单元被施加读取电压Vread,而对其他存储单元施加足以使得它们导通的字线电压。因此,例如,在向要读取的存储单元施加读取电压Vread的情况下,当要检测的存储单元在与读取电压Vread对应的阈值电压中存在被注入的电荷时,存储单元中存储了与该阈值电压对应的数据,例如,图1中与Vcell_th 104对应的数据“10”。此时,在该读取电压Vread下的存储单元导通,从而使得感测节点SEN向源线SL放电(discharge),并且感测节点SEN的电压下降;而当在与读取电压Vread对应的阈值电压中不存在被注入的电荷(即,对应的阈值电压中无数据)时,要检测的存储单元截止,感测节点SEN的电压保持。通过检测感测节点SEN的电压变化就可以读取在要检测的存储单元中存储的数据。读取电压Vread通常从0V开始以0.4~0.8V递增。
以下描述验证电路230的功能和结构。
验证电路230配置为验证向存储单元写入数据是否成功。验证操作与读取操作类似。为了验证例如与阈值电压Vcell_th对应的数据是否正确地存储,通过向要验证的存储单元施加验证电压Vverify而对其他存储单元施加足以使得它们导通的字线电压,以验证是否可以读取到对应数据,例如,与Vcell_th104对应的数据“10”。在上述过程中,与验证电压Vverify对应的阈值电压阈值电压Vcell_th’比写入数据的阈值电压Vcell_th略低。因而,当施加验证电压Vverify的存储单元导通时,说明数据并未正确地存储到阈值电压Vcell_th,而是存储在了比阈值电压Vcell_th略低的阈值电压Vcell_th’,或者说编程程度还不够。
该验证电路230可以包括包含晶体管T0和晶体管T1的第一上拉电路、包含晶体管T11和晶体管T12的第二上拉电路、包含第二晶体管T2的复位电路、用于编程操作和数据传输的晶体管T31和T32、输出锁存器等结构。输出锁存器可以由两个反相器构成,包括节点LAT和输出反向电平的节点INV。晶体管T0的一端连接到电源接口,另一端与晶体管T1的一端连接,并且根据信号STB而导通或截止。晶体管T1的另一端连接到节点LAT。例如,晶体管T0和T1可以均为PMOS晶体管。
晶体管T1可以根据节点SEN的电压而导通或截止。例如,在图2的实施例中,晶体管T1为具有特定阈值电平Vt的PMOS晶体管。当节点SEN的电压小于电源电压Vdd与该特定阈值电平Vt的绝对值的差(即,小于Vdd-|Vt|)时,晶体管T1导通,验证电路230的锁存电路的输入端(即,节点LAT)被上拉到电源电压Vdd,从而锁存电路输出第二逻辑电平(例如,逻辑高电平“1”)。当节点SEN的电压大于或等于电源电压Vdd与该特定阈值电平Vt的绝对值的差(即,大于等于Vdd-|Vt|)时,晶体管T1截止,锁存电路保持原有的输出电平或者在晶体管T2受设置电平SET控制而导通时输出第一逻辑电平(例如,逻辑低电平“0”)。
晶体管T11的一端连接到电源接口,另一端与晶体管T12的一端连接,并且根据信号BSEN而导通或截止。晶体管T2的另一端连接到地,并根据节点LAT的电压而导通或截止。例如,晶体管T0和T1可以均为NMOS晶体管。晶体管T2的一端连接到节点LAT,另一端连接到地,并且根据信号RST而导通或截止。当晶体管T2导通时,节点LAT被下拉到地,从而释放电荷并呈现逻辑电平“0”。
以下具体描述验证电路230的操作流程。
通过控制信号PRE使得晶体管T3导通,从而将节点BL与SEN预充电。在预充电完成后,将晶体管T3截止。然后,通过控制信号RST以使得一端连接到地的晶体管T2导通,从而将节点LAT放电,以使得节点LAT的电压降低。此时,如果在被施加验证电压Vverify的存储单元中数据被存储在比目标阈值电压Vcell_th略低的阈值电压Vcell_th’(即,数据写入不成功),该存储单元将导通,并且使得被预充电的节点SEN经由读写电路和存储单元串向地放电。同时,通过控制信号STB以使得晶体管T0导通。若节点SEN的电压下降到使得晶体管T1导通,则节点LAT的电压经由晶体管T0被上拉到电源电压,即,拉高到逻辑高电平“1”。因此,说明验证没通过。若节点LAT的电压不变,则说明通过。这样,如果验证失败,节点LAT的电压被拉高到逻辑高电平“1”,从而晶体管T12将会被打开。当晶体管T11也打开时就会有电流流到地。因此,可以根据电流的大小来判断有多少个储存单元没有编程成功。若超过设定的阈值,则需要重新进行编程。类似地,该验证电压Vverify在验证过程中逐级抬高,且不可降低。
以下描述缓存电路240的功能和结构。
缓存电路240可以配置为缓存数据,例如,指示验证操作中要验证的阈值电压Vcell_th的值。在图3的示例中,缓存电路240包括LSB(Least Significant Bit)缓存电路241、MSB(Least Significant Bit)缓存电路242和CSB(Center Significant Bit)缓存电路243在内的3个缓存电路,以便于为3级存储单元指示相应的阈值电压Vcell_th的值。本领域技术人员可以根据需要存储单元的级数来增加或减少缓存电路的数量,而不限于本实施例的示例。例如,4级存储单元对应于4个缓存电路。
由于多个缓存电路的结构相同或相似,以下将以LSB(Least Significant Bit)缓存电路241为例进行说明。
如图3所示,LSB缓存电路241可以包括:第一晶体管T37、第二晶体管T38、第三晶体管T34、锁存器2411。
锁存器2411可以配置为存储二进制数据序列中的一位数据。该二进制数据序列例如代表在验证操作中用于表示要验证的阈值电平。例如,该二进制数据序列为“010”,则表示要验证与该“010”对应的阈值电平处是否成功写入数据。需要注意的是,“010”并不必然等于直接根据二进制规则转换为数值“2”,而是可以根据特定的编码规则表示其他数值。在下文将进一步描述本公开实施例提供的编码规则。在图3的示例中,锁存器2411包括2个反相器。该2个反相器的输出分别节点INVA和节点LATA,其中,节点INVA的电压是节点LATA的电压的反向电压。
第一晶体管T37的一端连接到电源接口,第一晶体管T37的另一端连接到第二晶体管T38的一端,第一晶体管T37可以根据信号RDL而导通或截止。在图3的示例中,第一晶体管T37响应于信号RDL为逻辑低电平而导通。
第二晶体管T38的另一端连接到节点SEN,第二晶体管T38可以根据与上述的一位数据对应的电压而导通或截止。在图3的示例中,第二晶体管T38响应于节点LATA的电压为逻辑低电平“0”而导通。因此,当第一晶体管T37和第二晶体管T38均导通时,节点SEN经由第一晶体管T37和第二晶体管T38连接到电压接口,从而节点SEN的电压被上拉到电压电压。
第三晶体管T34的一端连接到电源接口,第三晶体管T34的另一端连接到该锁存器以接收与上述的一位数据对应的电压,第三晶体管T34可以根据节点sen的电压而导通或截止。在图3的示例中,第三晶体管T34可以是PMOS晶体管,因而当节点SEN的电压为逻辑低电平时导通,且当节点SEN的电压为逻辑高电平时截止。
上述LSB缓存电路241的操作方法将在以下描述。
根据上述LSB缓存电路241的配置,可以通过不同的操作分别检测LSB缓存电路中存储逻辑电平“0”和逻辑电平“1”的情况。
例如,检测LSB缓存电路241中是否存储逻辑电平“0”的操作包括如下步骤。
步骤1:将节点SEN放电,以使得节点SEN的电压呈现逻辑低电平“0”。在图3的示例中,可以通过导通晶体管T22和T23来使得节点SEN放电。
步骤2:导通第一晶体管T37。如果节点LATA的电压为逻辑低电平“0”,则第二晶体管T38导通,从而节点SEN经由第一晶体管T37和第二晶体管T38上拉到电源电压VDD,即呈现逻辑高电平“1”。因此,通过检测节点SEN是否呈现逻辑高电平“1”可以检测锁存器中是否存在逻辑电平“0”。此外,由于节点SEN呈现逻辑高电平“1”,与节点SEN相连的第三晶体管T34将截止,锁存器的值将保留。
如上所述,检测LSB缓存电路241中是否存储逻辑电平“0”需要将节点SEN放电,而如果LSB缓存电路241存储了逻辑电平“0”,则节点SEN会被重新充电。因而,在检测CSB缓存电路和MSB缓存电路中是否存储逻辑电平“0”,还需要分别将节点SEN放电。也就是说,检测缓存电路中是否存储逻辑电平“0”需要根据缓存电路的数量对节点SEN进行相应次数的放电。
在另一示例中,检测LSB缓存电路241中是否存储逻辑电平“1”的操作包括如下步骤。
步骤1:将节点SEN放电,以使得节点SEN的电压呈现逻辑低电平“0”。在图3的示例中,可以通过导通晶体管T22和T23来使得节点SEN放电。
步骤2:导通第一晶体管T37。如果节点LATA的电压为逻辑低电平“1”,则第二晶体管T38截止,从而节点SEN保持原有的逻辑低电平“0”。因此,通过检测节点SEN是否保持逻辑低电平“0”可以检测锁存器中是否存在逻辑电平“1”。此外,由于节点SEN呈现逻辑低电平“0”,与节点SEN相连的第三晶体管T34将导通,从而可以通过连接在第三晶体管T34之间的第四晶体管T35和第五晶体管T36而控制锁存器中存储的值。例如,控制信号SETA以使得第四晶体管T35导通,从而节点INVA被拉高的逻辑高电平“1”而节点LATA被设置为逻辑低电平“0”。
如上所述,虽然检测LSB缓存电路241中是否存储逻辑电平“1”也需要将节点SEN放电,但是如果LSB缓存电路241存储了逻辑电平“1”,则节点SEN会保持在逻辑低电平“0”,从而可以同时检测例如CSB缓存电路和MSB缓存电路中是否存储逻辑电平“1”,而无需分别将节点SEN放电。也就是说,检测缓存电路中是否存储逻辑电平“1”在多个相应缓存电路中存储逻辑电平“1”的情况下无需反复充电,从而该方法一次操作就可以检测LSB/CSB/MSB中两个或者三个同为“1”。但是,也可以注意到,如果LSB缓存电路241存储了逻辑电平“0”,则节点SEN会被上拉到逻辑低电平“1”,从而在下一次检测中需要重新放电。因而,在检测逻辑电平“1”的操作方法中,在LSB、CSB、MSB缓存电路中存储更多的逻辑电平“1”可以减少节点SEN的放电次数,有助于提高检测速度。因此,希望提供一种编码方法,可以将包含最多逻辑电平“1”的数据序列设置为第一状态,而包含较多逻辑电平“1”的数据序列被设置为较为靠前的状态,从而提供检测的效率。
本公开的实施例提供一种编码方法,将包含最多逻辑电平“1”的数据序列设置为第一状态,而包含较多逻辑电平“1”的数据序列被设置为较为靠前的状态,从而提高检测的效率。
以下表1示出了针对3位数据序列的格雷码。如表1所示,在二进制数据序列的格雷码中,任意两个相邻的二进制数据序列只有一位二进制数据不同。例如,表示擦除状态E的序列“111”与表示第一阈值电平状态的P1的序列“110”之间仅存在一位数据的差别。
表1
以下表2示出了本公开实施例提供的一种3位二进制数据序列编码方法。如表2所示,将含逻辑电平“1”较多的二进制数据序列设置为较为靠前的状态,将含逻辑电平“1”较少的二进制数据序列设置为较为靠后的状态。例如,序列“111”包含最多的“1”,因而被用于表示擦除状态E;序列“000”包含最少的“1”(即,不包含“1”),因而被用于表示阈值电平最高的状态P7。包含2个“1”的序列“110”、“101”和“011”被编码给状态P1、P2和P3。在表2的示例中,根据序列的数值大小来分配,即,数值相对最大的序列“110”被编码给状态P1,而相对较小的序列“011”被编码给状态P3。本领域技术人员应当理解,对于状态P1-P3,由于包含相同数量的“1”,因而任何编码方式都不影响对状态P1-P3的检测速度。例如,也可以将数值相对最大的序列“110”编码给状态P3,而将相对较小的序列“011”编码给状态P1。即,对于包含相同数量的“1”的序列,其编码方法不做限制,可以根据需要采用期望的编码方式,例如,根据序列的数值大小来分配。
表2
通过采用上述编码方法,包括较多“1”的状态将优先得到验证。例如,表示擦除的状态E会首先被验证。在状态E验证通过之后,进行状态P1(即,“110”)的验证。状态P1的验证也得到通过,则将MSB缓存电路中的“0”修改为“1”,并且进行下一个状态的验证,直到全部状态得到验证。
本公开的实施例还提供一种n位二进制数据序列的编码方法。该二进制数据序列包括n位数据,n为大于1的整数,其中在该n位数据中包括m个逻辑“0”数据,0≤m≤n,m为整数。当m=0时,该二进制数据序列被编码为0。当m=n时,该二进制数据序列被编码为2n-1。当m=1时,该二进制数据序列编码为1~C(n,1)之间的数值。当1<m<n时,该二进制数据序列编码为在之间的数值。
例如,当n=3且m=2时,
即,该二进制数据序列表示表2中的状态P4~P6。
例如,当0<m<n时,该二进制数据序列根据数值的大小而编码为在之间的数值。例如,在表2中,在状态P1-P3中,由于“110”的数值最大,因此被编码为状态P1,而“011”的数值最小,因而被编码为状态P3。
通过上述编码方法,与包含较多“1”的数据序列对应的阈值电平将首先被验证。由于在上述存储装置200中,针对“1”的验证速度较快,因而可以较快地确定完成编程之后存储单元所处的状态。
本公开的实施例还提供了一种电子设备,包括本发明实施例提供的上述存储装置,该电子设备可以为:手机、平板电脑、笔记本电脑、数码相机、导航仪等任何具有存储功能的产品或部件。
以上所述仅是本发明的示范性实施方式,而非用于限制本发明的保护范围,本发明的保护范围由权利要求确定。
Claims (9)
1.一种二进制数据序列的编码方法,所述编码方法对存储装置中的一个或多个缓存电路缓存的与编程电压对应的二进制数据序列进行编码,所述二进制数据序列包括n位数据,n为大于1的整数,其中在所述n位数据中包括m个逻辑“0”数据,0≤m≤n,m为整数,
其中,所述缓存电路包括:第一晶体管、第二晶体管、第三晶体管、锁存器以及感测节点,其中:
锁存器配置为存储所述二进制数据序列的一位数据,
所述第一晶体管的一端接收电源电压,所述第一晶体管的另一端连接到所述第二晶体管的一端,所述第一晶体管根据第一信号RDL而导通或截止,
所述第二晶体管的另一端连接到所述感测节点,所述第二晶体管根据所述一位数据的电压而导通或截止,
所述第三晶体管的一端接收所述电源电压,所述第三晶体管的另一端连接到所述锁存器以接收所述一位数据的电压,所述第三晶体管根据所述感测节点的电压而导通或截止;
其中,所述编码方法包括:
当m=0时,所述二进制数据序列被编码为0;
当m=1时,所述二进制数据序列编码为1~C(n,1)之间的数值;
当1<m<n时,所述二进制数据序列编码为在之间的数值;
当m=n时,所述二进制数据序列被编码为2n-1。
2.如权利要求1所述的编码方法,其中,
当1<m<n时,所述二进制数据序列根据数值的大小而编码为在之间的数值。
3.一种存储装置,包括电源接口、存储单元、读写电路、验证电路和一个或多个缓存电路,其中,
所述电源接口配置为提供电源电压;
所述读写电路配置为向所述存储单元施加编程电压并且写入与所述编程电压对应的数据,或从所述存储单元读取或验证数据;
所述验证电路配置为验证向所述存储单元写入数据是否成功;
所述一个或多个缓存电路配置为缓存与所述编程电压对应的二进制数据序列;
所述二进制数据序列根据权利要求1所述的编码方法来编码;
其中,所述缓存电路包括:第一晶体管、第二晶体管、第三晶体管、锁存器以及感测节点,其中,
锁存器配置为存储二进制数据序列的一位数据;
所述第一晶体管的一端连接到电源接口,所述第一晶体管的另一端连接到所述第二晶体管的一端,所述第一晶体管根据第一信号RDL而导通或截止;
所述第二晶体管的另一端连接到所述感测节点,所述第二晶体管根据所述一位数据的电压而导通或截止;
所述第三晶体管的一端连接到所述电源接口,所述第三晶体管的另一端连接到所述锁存器以接收所述一位数据的电压,所述第三晶体管根据所述感测节点的电压而导通或截止。
4.如权利要求3所述的存储装置,其中,所述缓存电路的数量等于所述二进制数据序列的位数。
5.如权利要求3所述的存储装置,其中,所述第三晶体管是PMOS晶体管,以使得响应于所述感测节点的电压为逻辑低电平而导通。
6.如权利要求3所述的存储装置,其中,所述锁存器进一步存储所述一位数据的反向信号。
7.如权利要求6所述的存储装置,其中,所述锁存器包括2个反相器。
8.如权利要求3所述的存储装置,其中,
当所述二进制数据序列编码为0时,所述二进制数据序列对应于存储单元的擦除状态;
当所述二进制数据序列编码为2n-1时,所述二进制数据序列对应于存储单元中阈值电平最高的状态。
9.一种电子设备,包括如权利要求3-8所述的存储装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610252389.8A CN105976866B (zh) | 2016-04-21 | 2016-04-21 | 二进制数据序列的编码方法、存储装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610252389.8A CN105976866B (zh) | 2016-04-21 | 2016-04-21 | 二进制数据序列的编码方法、存储装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105976866A CN105976866A (zh) | 2016-09-28 |
CN105976866B true CN105976866B (zh) | 2019-11-26 |
Family
ID=56993248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610252389.8A Active CN105976866B (zh) | 2016-04-21 | 2016-04-21 | 二进制数据序列的编码方法、存储装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105976866B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976866B (zh) * | 2016-04-21 | 2019-11-26 | 清华大学 | 二进制数据序列的编码方法、存储装置和电子设备 |
CN112710254A (zh) * | 2020-12-21 | 2021-04-27 | 珠海格力智能装备有限公司 | 对象的测量方法、***、装置、存储介质和处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083138A (zh) * | 2007-05-30 | 2007-12-05 | 忆正存储技术(深圳)有限公司 | 闪存数据读写处理方法 |
CN101211660A (zh) * | 2006-12-28 | 2008-07-02 | 海力士半导体有限公司 | 非易失性存储装置以及对其中的多级单元进行编程的方法 |
CN101937707A (zh) * | 2009-06-29 | 2011-01-05 | 海力士半导体有限公司 | 对非易失性存储器器件进行编程的方法 |
CN105976866A (zh) * | 2016-04-21 | 2016-09-28 | 清华大学 | 二进制数据序列的编码方法、存储装置和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101024134B1 (ko) * | 2009-06-12 | 2011-03-22 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 이의 프로그램 방법 |
-
2016
- 2016-04-21 CN CN201610252389.8A patent/CN105976866B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211660A (zh) * | 2006-12-28 | 2008-07-02 | 海力士半导体有限公司 | 非易失性存储装置以及对其中的多级单元进行编程的方法 |
CN101083138A (zh) * | 2007-05-30 | 2007-12-05 | 忆正存储技术(深圳)有限公司 | 闪存数据读写处理方法 |
CN100468576C (zh) * | 2007-05-30 | 2009-03-11 | 忆正存储技术(深圳)有限公司 | 闪存数据读写处理方法 |
CN101937707A (zh) * | 2009-06-29 | 2011-01-05 | 海力士半导体有限公司 | 对非易失性存储器器件进行编程的方法 |
CN105976866A (zh) * | 2016-04-21 | 2016-09-28 | 清华大学 | 二进制数据序列的编码方法、存储装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105976866A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8270215B2 (en) | Nonvolatile memory device and method of programming the same | |
KR100779281B1 (ko) | 반도체 기억 장치 | |
KR100662684B1 (ko) | 비휘발성 반도체 메모리 | |
US8395940B2 (en) | Page buffer circuit, nonvolatile memory device including the page buffer circuit, and method of operating the nonvolatile memory device | |
KR100673703B1 (ko) | 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법 | |
KR100624300B1 (ko) | 프로그램 시간을 감소시키는 플래시 메모리 장치의프로그램 동작 제어 방법 | |
US7539067B2 (en) | Semiconductor integrated circuit device | |
TW201413723A (zh) | 在具有多記憶體狀態的非依電性記憶體單元中執行操作之設備及方法 | |
KR20040057972A (ko) | 불휘발성 반도체 메모리 | |
JP2010160873A (ja) | 半導体記憶装置と半導体記憶システム | |
CN105741877B (zh) | 感测电路、存储装置以及操作存储装置的方法 | |
US10748607B2 (en) | Non-volatile memory device and associated peripheral circuit with data verifying and rewriting functions | |
US20160005459A1 (en) | Nonvolatile semiconductor memory device | |
US7782680B2 (en) | Flash memory device having a verify data buffer capable of being employed as a program data buffer, and a method thereof | |
CN105976866B (zh) | 二进制数据序列的编码方法、存储装置和电子设备 | |
JP2007213806A (ja) | 不揮発性半導体記憶装置 | |
CN109801651A (zh) | 半导体存储装置以及读出方法 | |
CN114783488A (zh) | 页缓冲器、编程方法、存储器装置及*** | |
JP7025472B2 (ja) | 半導体装置 | |
CN105845175B (zh) | 存储器装置及应用其上的方法 | |
KR101579362B1 (ko) | 메모리 셀들의 프로그래밍 | |
JP3825739B2 (ja) | 不揮発性半導体記憶装置 | |
KR102306249B1 (ko) | 반도체장치 및 독출방법 | |
CN109637575B (zh) | 闪存存储单元的双数据读取验证方法和设备 | |
JP4550854B2 (ja) | 不揮発性半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100084 Tsinghua University, Beijing, Haidian District Patentee after: TSINGHUA University Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100084 Tsinghua University, Beijing, Haidian District Patentee before: TSINGHUA University Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
CP01 | Change in the name or title of a patent holder |