CN108091364B - 数据写入方法、存储器控制电路单元与存储器存储装置 - Google Patents
数据写入方法、存储器控制电路单元与存储器存储装置 Download PDFInfo
- Publication number
- CN108091364B CN108091364B CN201611035052.8A CN201611035052A CN108091364B CN 108091364 B CN108091364 B CN 108091364B CN 201611035052 A CN201611035052 A CN 201611035052A CN 108091364 B CN108091364 B CN 108091364B
- Authority
- CN
- China
- Prior art keywords
- memory
- data string
- physical programming
- data
- programming 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
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
- 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
Landscapes
- Read Only Memory (AREA)
Abstract
本发明涉及一种用于具有多个实体抹除单元的可复写式非易失性存储器模块的数据写入方法、存储器控制电路单元与存储器存储装置。每一个实体抹除单元具有多个实体编程单元组,且每一个实体编程单元组具有多个实体编程单元。此方法包括接收多笔数据并且排列所接收的数据以产生第一数据串与第二数据串。此方法也包括编码第一数据串和第二数据串以产生第三数据串。此方法还包括下达编程指令序列以将第一数据串、第二数据串与第三数据串分别地写入至一个实体编程组的第一、第二与第三实体编程单元。本发明使得存储单元仅呈现部分存储状态,由此加大各存储状态之间的栅极电压差,避免误判存储单元的存储状态并大幅提升数据的可靠度。
Description
技术领域
本发明涉及一种数据写入方法,且尤其涉及一种用于可复写式非易失性存储器模块的数据写入方法及使用此方法的存储器控制电路单元与存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储介质的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种便携式多媒体装置中。
一般来说,控制电路会通过对字线(或字线层)施加电压,并且通过位线对可复写式非易失性存储器模块中所选择的存储单元进行编程(programming),以存储数据。对于市场大容量的存储需求,目前已发展出一个存储单元存储3个数据比特的可复写式非易失性存储器模块,即,三阶存储单元(Trinary Level Cell,TLC)NAND型闪存存储器模块。由于要在存储3个数据比特的存储单元中正确地识别出临界电压分布较为困难,TLC NAND型闪存存储器模块的可靠度不及单阶存储单元(Single Level Cell,SLC)NAND型闪存存储器模块和多阶存储单元(Multi Level Cell,MLC)NAND型闪存存储器模块,因此,在低容量需求下,存储器厂商会选用SLC NAND型闪存存储器模块或MLC NAND型闪存存储器模块。然而,SLCNAND型闪存存储器模块或MLC NAND型闪存存储器模块的生产成本高于TLC NAND型闪存存储器模块。因此,如何提升TLC NAND型闪存存储器模块的可靠度,是此领域技术人员所致力的欲解决的课题。
发明内容
本发明提供一种数据写入方法、存储器控制电路单元与存储器存储装置,其能够有效提升TLC NAND型闪存存储器模块的可靠度。
本发明的一范例实施例提出一种用于可复写式非易失性存储器模块的数据写入方法,此可复写式非易失性存储器模块具有多个实体抹除单元,每一个实体抹除单元具有多个实体编程单元组,每一个实体编程单元组具有多个实体编程单元,每一个实体编程单元组是由多个存储单元所形成,存储单元可被编程为多个存储状态的其中一个。此数据写入方法包括接收至少一笔数据并且排列所接收的数据以产生第一数据串与第二数据串。此数据写入方法也包括执行一编码操作以编码第一数据串和第二数据串以产生第三数据串。此数据写入方法还包括下达编程指令序列以将第一数据串、第二数据串与第三数据串分别地写入至第一实体编程组的第一实体编程单元、第二实体编程单元与第三实体编程单元,其中存储单元根据上述编码程序仅会被编程成上述存储状态之中的部分存储状态。
在本发明的一范例实施例中,由小大到排列的一第四预设读取电压、一第二预设读取电压、一第五预设读取电压、一第一预设读取电压、一第六预设读取电压、一第三预设读取电压与一第七预设读取电压会将每一个存储单元的存储状态区分为第一存储状态、第二存储状态、第三存储状态、第四存储状态、第五存储状态、第六存储状态、第七存储状态或第八存储状态。并且,在下达编程指令以将第一数据串、第二数据串与第三数据串分别地写入至上述第一实体编程组的第一实体编程单元、第二实体编程单元与第三实体编程单元之后,形成第一实体编程组的每一存储单元的存储状态为上述第一存储状态、第三存储状态、第五存储状态与第七存储状态的其中之一。
在本发明的一范例实施例中,上述编码第一数据串和第二数据串以产生第三数据串的步骤包括:对第一数据串和第二数据串执行异或运算以产生第三数据串。
在本发明的一范例实施例中,上述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,第一实体编程单元为下实体编程单元、第二实体编程单元为上实体编程单元并且第三实体编程单元为中实体编程单元。
在本发明的一范例实施例中,上述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,第一实体编程单元为下实体编程单元、第二实体编程单元为中实体编程单元并且第三实体编程单元为上实体编程单元。
在本发明的一范例实施例中,上述第一数据串的长度等于第二数据串的长度并且第三数据串的长度等于第一数据串的长度。
本发明的一范例实施例提出一种存储器控制电路单元。此存储器控制电路单元包括:主机接口、存储器接口和存储器管理电路。存储器管理电路电性连接至主机接口与存储器接口。主机接口用以电性连接至主机系统,并且存储器接口用以电性连接至可复写式非易失性存储器模块。此可复写式非易失性存储器模块具有多个实体抹除单元,每一个实体抹除单元具有多个实体编程单元组,每一个实体编程单元组具有多个实体编程单元,每一个实体编程单元组是由多个存储单元所形成,且存储单元可被编程为多个存储状态的其中一个。存储器管理电路用以接收多笔数据,并且排列所接收的数据以产生第一数据串与第二数据串。此外,存储器管理电路还用以执行编码操作以编码第一数据串和第二数据串以产生第三数据串。再者,存储器管理电路还用以下达编程指令序列以将第一数据串、第二数据串与第三数据串分别地写入至第一实体编程组的第一实体编程单元、第二实体编程单元与第三实体编程单元,其中存储单元根据上述编码操作仅会被编程成上述存储状态之中的部分存储状态。
在本发明的一范例实施例中,在上述编码第一数据串和第二数据串以产生第三数据串的运作中,存储器管理电路对第一数据串和第二数据串执行异或运算以产生第三数据串。
在本发明的一范例实施例中,存储器控制电路单元还包括电性连接至存储器管理电路的异或门。并且,在上述编码第一数据串和第二数据串以产生第三数据串的运作中,存储器管理电路将第一数据串和第二数据串输入至异或门以产生第三数据串。
本发明的一范例实施例提出一种存储器存储装置,其包括用以电性连接至主机系统的连接接口单元、可复写式非易失性存储器模块与电性连接至连接接口单元与可复写式非易失性存储器模块的存储器控制电路单元。此可复写式非易失性存储器模块具有多个实体抹除单元,每一个实体抹除单元具有多个实体编程单元组,每一个实体编程单元组具有多个实体编程单元。存储器控制电路单元用以接收多笔数据,并且排列所接收的数据以产生第一数据串与第二数据串,其中第一数据串的长度等于第二数据串的长度。此外,存储器控制电路单元还用以编码第一数据串和第二数据串以产生第三数据串,其中第三数据串的长度等于第一数据串的长度。再者,存储器控制电路单元还用以下达编程指令序列以将第一数据串、第二数据串与第三数据串分别地写入至第一实体编程组的第一实体编程单元、第二实体编程单元与第三实体编程单元。
在本发明的一范例实施例中,在上述编码第一数据串和第二数据串以产生第三数据串的运作中,存储器控制电路单元对第一数据串和第二数据串执行异或运算以产生第三数据串。
在本发明的一范例实施例中,存储器控制电路单元还包括电性连接至存储器管理电路的异或门。并且,在上述编码第一数据串和第二数据串以产生第三数据串的运作中,存储器控制电路单元将第一数据串和第二数据串输入至异或门以产生第三数据串。
基于上述,本范例实施例的数据写入方法、存储器控制电路单元与存储器存储装置是以类MLC NAND编程模式来将数据写入至TLC NAND型闪存存储器模块,以使得存储单元仅呈现部分存储状态,由此加大各存储状态之间的栅极电压差,避免误判存储单元的存储状态并大幅提升数据的可靠度
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据第一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。
图4是根据第一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
图5是根据第一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。
图6是根据第一范例实施例所示出的实体抹除单元的存储单元阵列的示意图。
图7是根据第一范例实施例所示出的编程存储单元的示意图。
图8是根据第一范例实施例所示出的从存储单元中读取数据的示意图。
图9、图10、图11与图12是根据第一范例实施例所示出的管理实体抹除单元的范例示意图。
图13是根据第一范例实施例所示出的存储器控制电路单元的概要方块图。
图14是根据第一范例实施例所示出的处理欲写入至一个实体编程单元组的数据的示意图。
图15是根据图14的写入操作所示出的存储单元的存储状态。
图16是根据本发明第一范例实施例所示出的存储器编程方法的流程图。
图17是根据第二范例实施例所示出的从存储单元中读取数据的示意图。
图18是根据第二范例实施例所示出的处理欲写入至一个实体编程单元组的数据的示意图。
图19是根据图18的写入操作所示出的存储单元的存储状态。
图20是根据本发明第二范例实施例所示出的存储器编程方法的流程图。
附图标号说明:
10:存储器存储装置;
11:主机系统;
12:输入/输出(I/O)装置;
110:系统总线;
111:处理器;
112:随机存取存储器(RAM);
113:只读存储器(ROM);
114:数据传输接口;
20:主机板;
204:无线存储器存储装置;
205:全球定位系统模块;
206:网络接口卡;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
30:存储器存储装置;
31:主机系统;
32:SD卡;
33:CF卡;
34:嵌入式存储装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
410(0)、410(1)、410(F-1)、410(F)、410(F+1)、410(S-1)、410(S)、410(S+1)、410(R-1)、410(R)、410(R+1)、410(N):实体抹除单元;
2202:存储单元阵列;
2204:字线控制电路;
2206:位线控制电路;
2208:行解码器;
2210:数据输入/输出缓冲器;
2212:控制电路;
702:存储单元;
704(1)、704(2)、704(3)、704(4):位线串;
704(1-1)、704(1-2)、704(1-3)、704(1-4)、704(2-1)、704(2-2)、704(2-3)、704(2-4)、704(3-1)、704(3-2)、704(3-3)、704(3-4)、704(4-1)、704(4-2)、704(4-3)、704(4-4):位线组;
706(1)、706(2)、706(3)、706(4)、706(5)、706(6)、706(7)、706(8)、706(9):字线层;
VA:第一预设读取电压;
VB:第二预设读取电压;
VC:第三预设读取电压;
VD:第四预设读取电压;
VE:第五预设读取电压;
VF:第六预设读取电压;
VG:第七预设读取电压;
502:数据区;
504:闲置区;
506:系统区;
508:暂存区;
510:取代区;
LBA(0)~LBA(H):逻辑单元;
1302:存储器管理电路;
1304:主机接口;
1306:存储器接口;
1308:错误检查与校正电路;
1310:缓冲存储器;
1312:电源管理电路;
S1601:接收多笔数据的步骤;
S1603:排列所接收的数据以产生欲编程至一个实体编程单元组的下实体编程单元的数据(以下可参考为第一数据串)和欲编程至此实体编程单元组的上实体编程单元的数据(以下可参考为第二数据串)的步骤;
S1605:根据第一数据串和第二数据串执行编码操作来产生欲编程至此实体编程单元组的中实体编程单元的数据(以下可参考为第三数据串)的步骤;
S1607:下达编程指令序列以将第一数据串、第二数据串和第三数据串分别地写入至此实体编程单元组的下实体编程单元、上实体编程单元与中实体编程单元的步骤;
S2001:接收多笔数据的步骤;
S2003:排列所接收的数据以产生欲编程至一个实体编程单元组的下实体编程单元的数据(以下可参考为第一数据串)和欲编程至此实体编程单元组的上实体编程单元的数据(以下可参考为第二数据串)的步骤;
S2005:根据第一数据串和第二数据串执行编码操作来产生欲编程至此实体编程单元组的中实体编程单元的数据(以下可参考为第三数据串)的步骤;
S2007:下达编程指令序列以将第一数据串、第二数据串和第三数据串分别地写入至此实体编程单元组的下实体编程单元、中实体编程单元与上实体编程单元的步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,存储器控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。在以下范例实施例中,存储器控制电路单元会以类MLC编程模式在TLC NAND型闪存存储器模块上写入数据,由此提升存储数据的可靠度。
第一范例实施例
图1是根据第一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。且图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可通过数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可通过系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以通过有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是U盘201、闪存卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near FieldCommunication Storage,NFC)存储器存储装置、无线保真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄像机、通信装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedMMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据第一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、超高速一代(UltraHigh Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、安全数字(Secure Digital,SD)接口标准、记忆棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded Multi ChipPackage,eMCP)接口标准、小型闪存(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元404用以执行以硬件或软件实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体编程单元,其中属于同一个实体抹除单元的实体编程单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体编程单元、256个实体编程单元或其他任意个实体编程单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体编程单元为编程的最小单元。即,实体编程单元为写入数据的最小单元。每一实体编程单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体编程单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512比特组(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体编程单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为三维三维(ThreeDimension,3D)三阶存储单元(Trinary Level Cell,TLC)NAND型闪存存储器模块(即,一个存储单元中可存储3个数据比特的闪存存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是其他具有相同特性的存储器模块。
图5是根据第一范例实施例所示出的可复写式非易失性存储器模块的概要方块图,并且图6是根据第一范例实施例所示出的实体抹除单元的存储单元阵列的示意图。
请参照图5与图6,可复写式非易失性存储器模块406包括存储单元阵列2202、字线控制电路2204、位线控制电路2206、行解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
请参照图5与图6,存储单元阵列2202包括用以存储数据的多个存储单元702、多个位线串(例如,第一位线串704(1)、第二位线串704(2)、第三位线串704(3)与第四位线串704(4))与多个字线层(例如,第一字线层706(1)、第二字线层706(2)、第三字线层706(3)、第四字线层706(4)、第五字线层706(5)、第六字线层706(6)、第七字线层706(7)、第八字线层706(8)与第九字线层706(9))。实体抹除单元的是由存储单元阵列2202中的存储单元702所构成。具体来说,每一位线串包括多个位线组(例如,位线组704(1-1)、位线组704(1-2)、位线组704(1-3)、位线组704(1-4)、位线组704(2-1)、位线组704(2-2)、位线组704(2-3)、位线组704(2-4)、位线组704(3-1)、位线组704(3-2)、位线组704(3-3)、位线组704(3-4)、位线组704(4-1)、位线组704(4-2)、位线组704(4-3)、位线组704(4-4)),并且每一位线组是沿第一方向彼此分离开来排列。此外,每一位线组包括沿第三方向彼此分离开来排列且沿第二方向延伸的多条位线(如图6所示垂直排列穿过各字线层的管状元件)。而此些字线层是沿第二方向堆叠且字线层之间彼此分离开来。例如,第一方向为X轴,第二方向为Z轴,而第三方向为Y轴。而构成实体抹除单元的存储单元位于每一字线层与每一位线串的每一位线的交错处。在本范例实施例,可复写式非易失性存储器模块406为3D TLC NAND型闪存存储器模块,因此,每个位线串与每个字线层交错处上的存储单元会构成3个实体编程单元。当从存储器控制电路单元404接收到写入指令或读取指令时,控制电路2212会控制字线控制电路2204、位线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据,其中字线控制电路2204用以控制施予至字线706的电压,位线控制电路2206用以控制施予至位线704的电压,行解码器2208依据指令中的解码列地址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。可复写式非易失性存储器模块406中的存储单元是以多种栅极电压来代表多比特(bits)的数据。存储单元阵列2202的存储单元的数据写入(或称为编程)是利用施予一特定端点的电压,例如是控制栅极电压来改变栅极中的一电荷补捉层的电子量,因而改变了存储单元的通道的导通状态,以呈现不同的存储状态。
图7是根据第一范例实施例所示出的编程存储单元的示意图。
请参照图7,在本范例实施例中,存储单元的编程是通过脉冲写入/验证临界电压方法来完成。具体来说,欲将数据写入至存储单元时,存储器控制电路单元404会设定初始写入电压以及写入电压脉冲时间,并且指示可复写式非易失性存储器模块406的控制电路2212使用所设定的初始写入电压以及写入电压脉冲时间来编程存储单元,以进行数据的写入。之后,存储器控制电路单元404会使用验证电压来对存储单元进行验证,以判断存储单元是否已处于正确的存储状态。倘若存储单元未被编程至正确的存储状态时,存储器控制电路单元404指示控制电路2212以目前施予的写入电压加上一增量阶跃脉冲程序(Incremental-step-pulse programming,ISPP)调整值作为新的写入电压(也称为重复写入电压)并且依据新的写入电压与写入电压脉冲时间再次来编程存储单元。反之,倘若存储单元已被编程至正确的存储状态时,则表示数据已被正确地写入至存储单元。例如,初始写入电压会被设定为16伏特(Voltage,V),写入电压脉冲时间会被设定为18微秒(microseconds,μs)并且增量阶跃脉冲程序调整值被设定为0.6V,但本发明不限于此。
存储单元阵列2202的存储单元的读取运作是通过施予读取电压于控制门(control gate),通过存储单元的通道(存储单元用以电连接位线与源极线的路径,例如是存储单元源极至漏极间的路径)的导通状态,来识别存储单元存储的数据。
图8是根据第一范例实施例所示出的从存储单元中读取数据的示意图。
请参照图8,可复写式非易失性存储器模块406的存储单元的存储状态包括左侧算起的第1个比特的最低有效比特(Least Significant Bit,LSB)、从左侧算起的第2个比特的中间有效比特(Center Significant Bit,CSB)以及从左侧算起的第3个比特的最高有效比特(Most Significant Bit,MSB)。在此范例中,每一存储单元中的栅极电压可依据第一预设读取电压VA、第二预设读取电压VB、第三预设读取电压VC、第四预设读取电压VD、第五预设读取电压VE、第六预设读取电压VF与第七预设读取电压VG而区分为第一存储状态、第二存储状态、第三存储状态、第四存储状态、第五存储状态、第六存储状态、第七存储状态与第八存储状态(即,"111"、"011"、"001"、"000"、"010"、"110"、"100"与"101")。特别是,由此些存储单元的LSB所组成的实体编程单元称为下实体编程单元,由此些存储单元的CSB所组成的实体编程单元称为中实体编程单元,并且由此些存储单元的MSB所组成的实体编程单元称为上实体编程单元。
图9、图10、图11与图12是根据第一范例实施例所示出的管理实体抹除单元的范例示意图。
请参照图9,存储器控制电路单元404会以实体编程单元为单位来对可复写式非易失性存储器模块406的存储单元702进行写入运作并且以实体抹除单元为单位来对可复写式非易失性存储器模块406的存储单元702进行抹除运作。具体来说,可复写式非易失性存储器模块406的存储单元702会构成多个实体编程单元,并且此些实体编程单元会构成多个实体抹除单元410(0)~410(N)。实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体编程单元为编程的最小单元。即,一个实体编程单元为写入数据的最小单元。特别是,在本范例实施例中,一个实体抹除单元被抹除之前,其中的实体编程单元可被执行一次或多次编程。每一实体编程单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码)。例如,以属于3D TLC NAND闪存存储器的可复写式非易失性存储器模块406为例,位于一字线层和一位线串交界处上的存储单元的LSB会构成一个下实体编程单元;位于一字线层和一位线串交界处上的存储单元的CSB会构成一个中实体编程单元;并且位于一字线层和一位线串交界处上的存储单元的MSB会构成一个上实体编程单元。也就是说,可复写式非易失性存储器模块406的实体抹除单元中的实体编程单元可区分为下实体编程单元、中实体编程单元与上实体编程单元(如图10所示)。
请参照图11,在本范例实施例中,存储器控制电路单元404会将实体抹除单元410(0)~410(N)逻辑地分组为数据区502、闲置区504、系统区506、暂存区508与取代区510。
逻辑上属于数据区502与闲置区504的实体抹除单元是用以存储来自于主机系统11的数据。具体来说,数据区502的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区504的实体抹除单元是用以替换数据区502的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器控制电路单元404会从闲置区504中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区502的实体抹除单元。
逻辑上属于系统区506的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体编程单元数、存储器存储装置10的软件码等。
逻辑上属于暂存区508的实体抹除单元是用以暂存主机系统11所写入的数据。
逻辑上属于取代区510中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区510中仍存有正常的实体抹除单元并且数据区502的实体抹除单元损坏时,存储器管理电路1302会从取代区510中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区502、闲置区504、系统区506、暂存区508与取代区510的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体抹除单元关联至数据区502、闲置区504、系统区506暂存区508与取代区510的分组关系会动态地变动。例如,当闲置区504中的实体抹除单元损坏而被取代区510的实体抹除单元取代时,则原本取代区510的实体抹除单元会被关联至闲置区504。例如,在开卡程序中,未配置实体抹单元至暂存区508,当执行写入运作时,存储器控制电路单元404会从闲置区504中提取实体抹除单元来暂存数据,而此用于暂存数据的实体抹除单元会被视为属于暂存区508。
请参照图12,存储器控制电路单元404会配置逻辑单元LBA(0)~LBA(H)以映射数据区502的实体抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的实体抹除单元的实体编程单元。并且,当主机系统11欲写入数据至逻辑单元或更新存储于逻辑单元中的数据时,存储器控制电路单元404会从闲置区504中提取一个实体抹除单元来写入数据,以轮替数据区502的实体抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。
为了识别每个逻辑单元的数据被存储在那个实体抹除单元,在本范例实施例中,存储器控制电路单元404会记录逻辑单元与实体抹除单元之间的映射。并且,当主机系统11欲在逻辑子单元中存取数据时,存储器控制电路单元404会确认此逻辑子单元所属的逻辑单元,并且对可复写式非易失性存储器模块406下达对应的指令序列以在此逻辑单元所映射的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元404会在可复写式非易失性存储器模块406中存储逻辑地址-实体地址映射表来记录每一逻辑单元所映射的实体抹除单元,并且当欲存取数据时存储器控制电路单元404会将逻辑地址-实体地址映射表载入至缓冲存储器来维护。
图13是根据第一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图13所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。
请参照图13,存储器控制电路单元404包括存储器管理电路1302、主机接口1304、存储器接口1306与错误检查与校正电路1308。
存储器管理电路1302用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路1302具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下描述存储器管理电路1302所执行的操作与功能,也可视为由存储器控制电路单元404所执行。
在本范例实施例中,存储器管理电路1302的控制指令是以软件来实作。例如,存储器管理电路1302具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路1302的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路1302具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路1302的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路1302的控制指令也可以一硬件来实作。例如,存储器管理电路1302包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
主机接口1304是电性连接至存储器管理电路1302并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口1304来传送至存储器管理电路1302。在本范例实施例中,主机接口1304是相容于USB标准。然而,必须了解的是本发明不限于此,主机接口1304也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、SD标准、SATA标准、UHS-I接口标准、UHS-II接口标准、MS标准、MMC标准、eMMC接口标准、UFS接口标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口1306是电性连接至存储器管理电路1302并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口1306转换为可复写式非易失性存储器模块406所能接受的格式。
错误检查与校正电路1308是电性连接至存储器管理电路1302并且用以执行一错误校正程序以确保数据的正确性。具体来说,当存储器管理电路1302从可复写式非易失性存储器模块406中读取数据时,错误检查与校正电路1308会对所读取的数据执行错误校正程序。例如,在本范例实施例中,错误检查与校正电路1308为低密度奇偶校正(Low DensityParity Check,LDPC)电路,并且会存储记录对数可能性比(Log Likelihood Ratio,LLR)值查询表。当存储器管理电路1302从可复写式非易失性存储器模块406读取数据时,错误检查与校正电路1308会依据所读取的数据以及查询表中对应的LLR值来执行错误校正程序。其中,值得说明的是在另一范例实施例中,错误检查与校正电路1308也可为涡轮码(TurboCode)电路。
在本发明一范例实施例中,存储器控制电路单元404还包括缓冲存储器1310与电源管理电路1312。
缓冲存储器1310是电性连接至存储器管理电路1302并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路1312是电性连接至存储器管理电路1302并且用以控制存储器存储装置10的电源。
在本范例实施例中,可复写式非易失性存储器模块406为3D TLC NAND型闪存存储器模块,并且存储器控制电路单元404是将可复写式非易失性存储器模块406模拟成MLCNAND型闪存存储器模块来管理。具体来说,存储器控制电路单元404仅会使用一个实体编程单元组的上实体编程单元与下实体编程单元来写入数据,并且依据同一个实体编程单元组中欲写入至上实体编程单元与下实体编程单元的数据来执行一编码操作以产生欲写入至中实体编程单元的数据,以使得存储单元在此编码操作下仅会被编程为部分的存储状态,例如存储单元仅会呈现第一存储状态、第三存储状态、第五存储状态或第七存储状态,即"111"、"001"、"010"、与"100"。基此,由于存储单元仅会有4个存储状态,因此,存储单元的电压分布中的读取极限(read margin)会加大,由此增加数据的可靠度
图14是根据第一范例实施例所示出的处理欲写入至一个实体编程单元组的数据的示意图,并且图15是根据图14的写入操作所示出的存储单元的存储状态。
请参照图14与15,为了方便说明,假设每个实体编程单元的容量为8个比特,存储器控制电路单元404从主机系统11接收到多笔数据后,会排列此些数据以产生欲写入至实体抹除单元(例如,实体抹除单元410(F))的第一个实体编程单元组的下实体编程单元与上实体编程单元的数据。在此假设欲写入至实体抹除单元410(F)的第一个实体编程单元组的下实体编程单元的数据(以下可参考为第一数据串)为"11100001",并且欲写入至实体抹除单元410(F)的第一个实体编程单元组的上实体编程单元的数据(以下可参考为第二数据串)为"10000111"。由于可复写式非易失性存储器模块406为3D TLC NAND型闪存存储器模块,一个存储单元可存储3个比特数据,因此,在本范例实施例中,存储器控制电路单元404会依据实体抹除单元410(F))的第一个实体编程单元组的下实体编程单元与上实体编程单元的数据来产生欲写入至实体抹除单元410(F))的第一个实体编程单元组的中实体编程单元的数据(以下可参考为第三数据串)。例如,存储器控制电路单元404会对第一数据串与第二数据串执行异或(XOR)运算(或者通过配置在存储器控制电路单元404中的异或门)来产生第三数据串(即,"10011001")。在此,第一数据串与第二数据串的长度是相同并相同于一个实体编程单元的容量,因此,所产生的第三数据串的长度也相同。在将上述数据写入至实体抹除单元410(F))的第一个实体编程单元组的实体编程单元后,形成实体抹除单元410(F))的第一个实体编程单元组的实体编程单元的存储单元仅会呈现第一存储状态、第三存储状态、第五存储状态或第七存储状态,即"111"、"001"、"010"、与"100",而任两个存储状态之间的栅极电压差会加大,由此读取极限会加大,较容易识别存储单元的存储状态,大幅提升数据的可靠度。
图16是根据第一范例实施例所示出的数据写入方法的流程图。
请参照图16,在步骤S1601中,存储器控制电路单元404会接收至少一笔数据。
在步骤S1603中,存储器控制电路单元404会排列所接收的数据以产生欲编程至一个实体编程单元组的下实体编程单元的数据(以下可参考为第一数据串)和欲编程至此实体编程单元组的上实体编程单元的数据(以下可参考为第二数据串)。
在步骤S1605中,存储器控制电路单元404会根据第一数据串和第二数据串执行一编码操作来产生欲编程至此实体编程单元组的中实体编程单元的数据(以下可参考为第三数据串)。例如,如上所述,存储器控制电路单元404是对第一数据串和第二数据串执行异或运算(或将第一数据串和第二数据串输入至异或门)来产生第三数据串。
在步骤S1607中,存储器控制电路单元404下达编程指令序列以将第一数据串、第二数据串和第三数据串分别地写入至此实体编程单元组的下实体编程单元、上实体编程单元与中实体编程单元。基此,此实体编程单元组的存储单元在此编码操作下仅会被编程成部分的存储状态。
第二范例实施例
第二范例实施例的存储器存储装置的硬件结构本质上是相同于第一范例实施例的存储器存储装置的硬件结构,其差异之处在于第二范例实施例的可复写式易失性存储器的存储单元的各存储状态所代表的比特数据不同于第一范例实施例的可复写式易失性存储器的存储单元的各存储状态所代表的比特数据。以下将使用第一范例实施例的存储器存储装置的附图与元件编号来详细说明第二范例实施例的存储器存储装置的运作。
图17是根据第二范例实施例所示出的从存储单元中读取数据的示意图。
请参照图17,可复写式非易失性存储器模块406的存储单元的存储状态包括左侧算起的第1个比特的LSB、从左侧算起的第2个比特的CSB以及从左侧算起的第3个比特的MSB,其中LSB对应下实体编程单元,CSB对应中实体编程单元,MSB对应上实体编程单元。在此范例中,每一存储单元中的栅极电压可依据第一预设读取电压VA、第二预设读取电压VB、第三预设读取电压VC、第四预设读取电压VD、第五预设读取电压VE、第六预设读取电压VF与第七预设读取电压VG而区分为第一存储状态、第二存储状态、第三存储状态、第四存储状态、第五存储状态、第六存储状态、第七存储状态与第八存储状态,即"111"、"101"、"100"、"110"、"010"、"000"、"001"与"010"。由此些存储单元的LSB所组成的实体编程单元称为下实体编程单元,由此些存储单元的CSB所组成的实体编程单元称为中实体编程单元,并且由此些存储单元的MSB所组成的实体编程单元称为上实体编程单元。
在第二范例实施例中,存储器控制电路单元404同样是将为3D TLC NAND型闪存存储器模块的可复写式非易失性存储器模块406模拟成MLC NAND型闪存存储器模块来管理。具体来说,存储器控制电路单元404仅会使用一个实体编程单元组的下实体编程单元与中实体编程单元来写入数据,并且依据同一个实体编程单元组中欲写入至下实体编程单元与中实体编程单元的数据来产生欲写入至上实体编程单元的数据,以使得存储单元仅会呈现第一存储状态、第三存储状态、第五存储状态或第七存储状态,即"111"、"100"、"010"、与"001"。基此,由于存储单元仅会有4个存储状态,因此,存储单元的电压分布中的读取极限会加大,由此增加数据的可靠度
图18是根据第二范例实施例所示出的处理欲写入至一个实体编程单元组的数据的示意图,并且图19是根据图18的写入操作所示出的存储单元的存储状态。
请参照图18与图19,为了方便说明,假设每个实体编程单元的容量为8个比特,存储器控制电路单元404从主机系统11接收到多笔数据后,会排列此些数据以产生欲写入至实体抹除单元(例如,实体抹除单元410(F+1))的第一个实体编程单元组的下实体编程单元与中实体编程单元的数据。在此假设欲写入至实体抹除单元410(F+1)的第一个实体编程单元组的下实体编程单元的数据(以下可参考为第一数据串)为"0001111"并且欲写入至实体抹除单元410(F)的第一个实体编程单元组的中实体编程单元的数据(以下可参考为第二数据串)为"10011001"。由于可复写式非易失性存储器模块406为3D TLC NAND型闪存存储器模块,一个存储单元可存储3个比特数据,因此,在本范例实施例中,存储器控制电路单元404会依据实体抹除单元410(F+1))的第一个实体编程单元组的下实体编程单元与中实体编程单元的数据来产生欲写入至实体抹除单元410(F))的第一个实体编程单元组的上实体编程单元的数据(以下可参考为第三数据串)。例如,存储器控制电路单元404会对第一数据串与第二数据串执行异或(XOR)运算(或者通过配置在存储器控制电路单元404中的异或门)来产生第三数据串,即"01101001"。因此,在将上述数据写入至实体抹除单元410(F))的第一个实体编程单元组的实体编程单元后,形成实体抹除单元410(F))的第一个实体编程单元组的实体编程单元的存储单元仅会呈现第一存储状态、第三存储状态、第五存储状态或第七存储状态,即"111"、"100"、"010"、与"001",而任两个存储状态之间的栅极电压差会加大,由此读取极限会加大,较容易识别存储单元的存储状态,大幅提升数据的可靠度。
图20是根据第二范例实施例所示出的数据写入方法的流程图。
请参照图20,在步骤S2001中,存储器控制电路单元404会接收至少一笔数据。
在步骤S2003中,存储器控制电路单元404会排列所接收的数据以产生欲编程至一个实体编程单元组的下实体编程单元的数据(以下可参考为第一数据串)和欲编程至此实体编程单元组的中实体编程单元的数据(以下可参考为第二数据串)。
在步骤S2005中,存储器控制电路单元404会根据第一数据串和第二数据串执行编码操作来产生欲编程至此实体编程单元组的上实体编程单元的数据(以下可参考为第三数据串)。例如,如上所述,存储器控制电路单元404是对第一数据串和第二数据串执行异或运算(或将第一数据串和第二数据串输入至异或门)来产生第三数据串。
在步骤S2007中,存储器控制电路单元404下达编程指令序列以将第一数据串、第二数据串和第三数据串分别地写入至此实体编程单元组的下实体编程单元、中实体编程单元与上实体编程单元。
综上所述,本发明的范例实施例的数据写入方法、存储器控制电路单元与存储器存储装置是以类MLC NAND编程模式来将数据写入至TLC NAND型闪存存储器模块,以使得存储单元仅呈现部分存储状态,由此加大各存储状态之间的栅极电压差,避免误判存储单元的存储状态并大幅提升数据的可靠度。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (20)
1.一种数据写入方法,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元之中的每一个实体抹除单元具有多个实体编程单元组,所述多个实体编程单元组之中的每一个实体编程单元组具有多个实体编程单元,所述多个实体编程单元组之中的每一个实体编程单元组是由多个存储单元所形成,所述多个存储单元分别被编程为多个存储状态的其中一个,所述数据写入方法包括:
接收至少一笔数据;
排列所述至少一笔数据以产生第一数据串与第二数据串;
执行编码操作以编码所述第一数据串和所述第二数据串以产生第三数据串;以及
下达编程指令序列以将所述第一数据串、所述第二数据串与所述第三数据串分别地写入至所述多个实体编程单元组之中的第一实体编程组的第一实体编程单元、第二实体编程单元与第三实体编程单元,
其中所述多个存储单元根据所述编码操作仅会被编程成所述多个存储状态之中的部分存储状态。
2.根据权利要求1所述的数据写入方法,其中由小到大排列的第四预设读取电压、第二预设读取电压、第五预设读取电压、第一预设读取电压、第六预设读取电压、第三预设读取电压与第七预设读取电压会将所述多个存储单元的每一个存储单元的存储状态区分为第一存储状态、第二存储状态、第三存储状态、第四存储状态、第五存储状态、第六存储状态、第七存储状态或第八存储状态,
在下达所述编程指令以将所述第一数据串、所述第二数据串与所述第三数据串分别地写入至所述多个实体编程单元组之中的所述第一实体编程组的所述第一实体编程单元、所述第二实体编程单元与所述第三实体编程单元之后,形成所述第一实体编程组的每一存储单元的存储状态为所述第一存储状态、所述第三存储状态、所述第五存储状态与所述第七存储状态的其中之一。
3.根据权利要求1所述的数据写入方法,其中上述编码所述第一数据串和所述第二数据串以产生所述第三数据串的步骤包括:
对所述第一数据串和所述第二数据串执行异或运算以产生所述第三数据串。
4.根据权利要求1所述的数据写入方法,其中所述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,所述第一实体编程单元为下实体编程单元、所述第二实体编程单元为上实体编程单元并且所述第三实体编程单元为中实体编程单元。
5.根据权利要求1所述的数据写入方法,其中所述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,所述第一实体编程单元为下实体编程单元、所述第二实体编程单元为中实体编程单元并且所述第三实体编程单元为上实体编程单元。
6.根据权利要求1所述的数据写入方法,其中所述第一数据串的长度等于所述第二数据串的长度并且所述第三数据串的长度等于所述第一数据串的长度。
7.一种存储器控制电路单元,包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元之中的每一个实体抹除单元具有多个实体编程单元组,所述多个实体编程单元组之中的每一个实体编程单元组具有多个实体编程单元,所述多个实体编程单元组之中的每一个实体编程单元组是由多个存储单元所形成,且所述多个存储单元被编程为多个存储状态的其中一个;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口,其中所述存储器管理电路用以接收至少一笔数据,并且排列所述至少一笔数据以产生第一数据串与第二数据串,
其中所述存储器管理电路还用以执行编码操作以编码所述第一数据串和所述第二数据串以产生第三数据串,
其中所述存储器管理电路还用以下达编程指令序列以将所述第一数据串、所述第二数据串与所述第三数据串分别地写入至所述多个实体编程单元组之中的第一实体编程组的第一实体编程单元、第二实体编程单元与第三实体编程单元,
其中所述多个存储单元根据所述编码操作仅会被编程成所述多个存储状态之中的部分存储状态。
8.根据权利要求7所述的存储器控制电路单元,其中由小到大排列的第四预设读取电压、第二预设读取电压、第五预设读取电压、第一预设读取电压、第六预设读取电压、第三预设读取电压与第七预设读取电压会将所述多个存储单元的每一个存储单元的存储状态区分为第一存储状态、第二存储状态、第三存储状态、第四存储状态、第五存储状态、第六存储状态、第七存储状态或第八存储状态,
其中在下达所述编程指令以将所述第一数据串、所述第二数据串与所述第三数据串分别地写入至所述多个实体编程单元组之中的所述第一实体编程组的所述第一实体编程单元、所述第二实体编程单元与所述第三实体编程单元之后,形成所述第一实体编程组的每一存储单元的存储状态为所述第一存储状态、所述第三存储状态、所述第五存储状态与所述第七存储状态的其中之一。
9.根据权利要求7所述的存储器控制电路单元,其中在上述编码所述第一数据串和所述第二数据串以产生所述第三数据串的运作中,所述存储器管理电路对所述第一数据串和所述第二数据串执行异或运算以产生所述第三数据串。
10.根据权利要求7所述的存储器控制电路单元,还包括:
异或门,电性连接至所述存储器管理电路,
其中在上述编码所述第一数据串和所述第二数据串以产生所述第三数据串的运作中,所述存储器管理电路将所述第一数据串和所述第二数据串输入至所述异或门以产生所述第三数据串。
11.根据权利要求7所述的存储器控制电路单元,其中所述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,所述第一实体编程单元为下实体编程单元、所述第二实体编程单元为上实体编程单元并且所述第三实体编程单元为中实体编程单元。
12.根据权利要求7所述的存储器控制电路单元,其中所述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,所述第一实体编程单元为下实体编程单元、所述第二实体编程单元为中实体编程单元并且所述第三实体编程单元为上实体编程单元。
13.根据权利要求7所述的存储器控制电路单元,其中所述第一数据串的长度等于所述第二数据串的长度并且所述第三数据串的长度等于所述第一数据串的长度。
14.一种存储器存储装置,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,具有多个实体抹除单元,所述多个实体抹除单元之中的每一个实体抹除单元具有多个实体编程单元组,所述多个实体编程单元组之中的每一个实体编程单元组具有多个实体编程单元,所述多个实体编程单元组之中的每一个实体编程单元组是由多个存储单元所形成,且所述多个存储单元被编程为多个存储状态的其中一个;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以接收至少一笔数据,并且排列所述至少一笔数据以产生第一数据串与第二数据串,
其中所述存储器控制电路单元还用以执行编码操作以编码所述第一数据串和所述第二数据串以产生第三数据串,
其中所述存储器控制电路单元还用以下达编程指令序列以将所述第一数据串、所述第二数据串与所述第三数据串分别地写入至所述多个实体编程单元组之中的第一实体编程组的第一实体编程单元、第二实体编程单元与第三实体编程单元,
其中所述多个存储单元根据所述编码操作仅会被编程成所述多个存储状态之中的部分存储状态。
15.根据权利要求14所述的存储器存储装置,其中由小到大排列的第四预设读取电压、第二预设读取电压、第五预设读取电压、第一预设读取电压、第六预设读取电压、第三预设读取电压与第七预设读取电压会将所述多个存储单元的每一个存储单元的存储状态区分为第一存储状态、第二存储状态、第三存储状态、第四存储状态、第五存储状态、第六存储状态、第七存储状态或第八存储状态,
在下达所述编程指令以将所述第一数据串、所述第二数据串与所述第三数据串分别地写入至所述多个实体编程单元组之中的所述第一实体编程组的所述第一实体编程单元、所述第二实体编程单元与所述第三实体编程单元之后,形成所述第一实体编程组的每一存储单元的存储状态为所述第一存储状态、所述第三存储状态、所述第五存储状态与所述第七存储状态的其中之一。
16.根据权利要求14所述的存储器存储装置,其中在上述编码所述第一数据串和所述第二数据串以产生所述第三数据串的运作中,所述存储器控制电路单元对所述第一数据串和所述第二数据串执行异或运算以产生所述第三数据串。
17.根据权利要求14所述的存储器存储装置,其中存储器控制电路单元包括异或门,
其中在上述编码所述第一数据串和所述第二数据串以产生所述第三数据串的运作中,所述存储器控制电路单元将所述第一数据串和所述第二数据串输入至所述异或门以产生所述第三数据串。
18.根据权利要求14所述的存储器存储装置,其中所述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,所述第一实体编程单元为下实体编程单元、所述第二实体编程单元为上实体编程单元并且所述第三实体编程单元为中实体编程单元。
19.根据权利要求14所述的存储器存储装置,其中所述可复写式非易失性存储器模块为三维三阶存储单元与非型闪存存储器,所述第一实体编程单元为下实体编程单元、所述第二实体编程单元为中实体编程单元并且所述第三实体编程单元为上实体编程单元。
20.根据权利要求14所述的存储器存储装置,其中所述第一数据串的长度等于所述第二数据串的长度并且所述第三数据串的长度等于所述第一数据串的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611035052.8A CN108091364B (zh) | 2016-11-23 | 2016-11-23 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611035052.8A CN108091364B (zh) | 2016-11-23 | 2016-11-23 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108091364A CN108091364A (zh) | 2018-05-29 |
CN108091364B true CN108091364B (zh) | 2020-08-18 |
Family
ID=62169866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611035052.8A Active CN108091364B (zh) | 2016-11-23 | 2016-11-23 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108091364B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112051963B (zh) * | 2019-06-06 | 2023-06-13 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140047168A1 (en) * | 2012-08-07 | 2014-02-13 | Kyung-Ryun Kim | Data storage system and method of operating data storage system |
US20140325118A1 (en) * | 2013-04-30 | 2014-10-30 | Phison Electronics Corp. | Data writing method, memory controller and memory storage apparatus |
CN104750617A (zh) * | 2013-12-31 | 2015-07-01 | 慧荣科技股份有限公司 | 电子装置及其数据维护方法 |
-
2016
- 2016-11-23 CN CN201611035052.8A patent/CN108091364B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140047168A1 (en) * | 2012-08-07 | 2014-02-13 | Kyung-Ryun Kim | Data storage system and method of operating data storage system |
US20140325118A1 (en) * | 2013-04-30 | 2014-10-30 | Phison Electronics Corp. | Data writing method, memory controller and memory storage apparatus |
CN104750617A (zh) * | 2013-12-31 | 2015-07-01 | 慧荣科技股份有限公司 | 电子装置及其数据维护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108091364A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372603B2 (en) | Handling of unaligned writes | |
TWI498898B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN107958687B (zh) | 存储器编程方法、存储器控制电路单元及其存储装置 | |
US10503433B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN111798910A (zh) | 存储装置及其操作方法 | |
TWI717751B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN112860194B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI613660B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI605457B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN109559774B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
CN108091364B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN107132989B (zh) | 数据程序化方法、存储器控制电路单元及存储器存储装置 | |
US11244735B2 (en) | Systems and methods for program verification on a memory system | |
CN105761754B (zh) | 存储单元编程方法、存储器控制电路单元与存储装置 | |
CN110875081B (zh) | 存储器测试方法与存储器测试系统 | |
CN109508252B (zh) | 数据编码方法、存储器控制电路单元与存储器存储装置 | |
CN109308930B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN110008146B (zh) | 数据写入方法、有效数据识别方法及存储器存储装置 | |
CN108428464B (zh) | 解码方法、存储器储存装置及存储器控制电路单元 | |
CN107239224B (zh) | 数据保护方法、存储器控制电路单元与存储器存储装置 | |
CN112099727B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN111666174B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
TWI765600B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112015327B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN112634972B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |