CN110289036B - 读取电压最佳化方法以及存储控制器 - Google Patents

读取电压最佳化方法以及存储控制器 Download PDF

Info

Publication number
CN110289036B
CN110289036B CN201810224434.8A CN201810224434A CN110289036B CN 110289036 B CN110289036 B CN 110289036B CN 201810224434 A CN201810224434 A CN 201810224434A CN 110289036 B CN110289036 B CN 110289036B
Authority
CN
China
Prior art keywords
sum
golay
read voltage
count
read
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
Application number
CN201810224434.8A
Other languages
English (en)
Other versions
CN110289036A (zh
Inventor
萧又华
刘笠勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Daxin Electronic Technology Co ltd
Original Assignee
Shenzhen Daxin Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Daxin Electronic Technology Co ltd filed Critical Shenzhen Daxin Electronic Technology Co ltd
Priority to CN201810224434.8A priority Critical patent/CN110289036B/zh
Publication of CN110289036A publication Critical patent/CN110289036A/zh
Application granted granted Critical
Publication of CN110289036B publication Critical patent/CN110289036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Landscapes

  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种读取电压最佳化方法以及存储控制器。所述方法包括选择多个字线中的目标字线;利用不同的X个读取电压组分别读取所述目标字线的多个目标存储单元,以获得对应的X个葛雷码总和组;计算所述X个葛雷码总和组中每两个相邻的葛雷码总和组各自的N‑1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述每两个葛雷码总和组的X‑1个葛雷码计数总和差值组;以及根据所述X‑1个葛雷码计数总和差值组,从属于所述X个读取电压组中的X*(N‑1)个读取电压中决定N‑1个最佳化读取电压。

Description

读取电压最佳化方法以及存储控制器
技术领域
本发明涉及一种读取电压最佳化方法,尤其涉及一种适用于配置有可复写式非易失性存储器模块的存储装置的读取电压最佳化方法以及存储控制器。
背景技术
一般来说,在对可复写式非易失性存储器模块读取数据时,若页面读取失败的情况没有发生,系统会使用预设读取电压组或之前用过的最佳读取电压组来读取数据。直到读取失败的情况发生,系统(存储系统)才会不使用预设读取电压组或已用过的最佳电压,并且对应地调整读取电压组。
换句话说,可复写式非易失性存储器模块的最佳读取电压组值并不会是固定的。然而,传统上调整读取电压组以获得最佳读取电压组来读取数据的作法是耗费资源的。举例来说,第一种传统的读取电压最佳化的过程会一直调整对应不同临界电压分布的多个不同读取电压的大小(调整一个读取电压组中的对应一个临界分布交界的一个读取电压,并且固定该读取电压组中其余的读取电压)来读取上述发生页面读取失败的数据,以尝试获得最好的数据读取结果且将对应最好的数据读取结果的读取电压组作为对应用以存储所述数据的实体单元的最佳化读取电压组。以TLC型快闪存储器(一个存储单元存储3个比特值)为例,一个读取电压组内共有七个读取电压对应于不同电压区段。采用传统方法,需固定六个读取电压,并改变一个读取电压。若每个读取电压需调整X次(且经由读取来获得结果,以比较所有结果来找出最佳者),则为了获得最佳读取电压所使用的读取次数为(23-1)*X=7*X次。此外,上述传统的作法还需要准备已经验证的数据。换言之,第一种传统作法会需要耗费大量的计算资源(调整读取电压及验证对应的读取扣数据)与存储空间(用以存储已验证数据的空间)。
此外,第二种传统作法是分别利用存储器模块硬件规格上所被预先设定的多个调整读取电压组来对尝试读取所述数据,以找寻最佳的数据读取结果。其中,每个调整读取电压组中的多个读取电压并不能被存储装置的控制器所设定,并且所述调整读取电压组的数量也是有限。换言之,利用第二种传统作法,或许可以找到其中的一组调整读取电压组以让通过此读取电压组所读取的数据可以为正确的(解码成功的)。但是,所述找到的调整读取电压组并不能够如同第一种传统作法,找到符合当前临界电压分布的最佳读取电压组。此外,由于调整读取电压组的数量与精度较低,因此,也会出现所有调整读取电压组皆不能使所读取的数据读取正确的情形。
也就是说,第二种传统作法虽然可以利用少数量的调整电压组来较第一种传统作法来较快速地找到可使所读取数据正确的读取电压组,但是此方法的失败机率也会相较于第一种传统作法大,并且所读取的数据的错误比特数也会较高。
因此,如何在不需要准备验证数据的情况下,快速且有效率地对读取电压进行最佳化,以改善传统作法的缺陷,进而提升可复写式非易失性存储器模块的读取效率,是本领域人员研究的课题之一。
发明内容
本发明提供一种读取电压最佳化方法与存储控制器,可在不需要准备已验证数据的情况下,快速且有效率地获得精确的最佳化读取电压组,进而可经由最佳化读取电压组的多个最佳化读取电压来正确地读取数据。
本发明的一实施例提供一种读取电压最佳化方法,适用于配置有可复写式非易失性存储器模块的存储装置,其中所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线包括多个存储单元,其中所述多个存储单元中的每一个存储单元用以被程序化以存储对应不同的多个葛雷码(Grey Code)的其中之一的比特值,并且所述多个葛雷码的总数为N,N为大于2的第一预定正整数。所述方法包括:选择所述多个字线中的目标字线,其中所述目标字线的多个目标存储单元皆已被程序化;利用不同的X个读取电压组分别读取所述多个目标存储单元,以获得对应的X个葛雷码总和组,其中X为第二预定正整数,并且所述X个读取电压组以及对应的所述X个葛雷码总和组皆以第一预定顺序排列,其中所述X个读取电压组中相邻的两个读取电压组之间的电压差值为一预定电压差,其中每一个所述X个读取电压组具有依据一第二预定顺序排列的N-1个读取电压,并且每一个所述X个葛雷码总和组具有依据所述第二预定顺序排列的N-1个葛雷码计数总和,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和对应所述N-1个读取电压中的第j个读取电压,并且j的数值依据所述第二预定顺序为1至N-1;根据所述第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据所述第二预定顺序计算所述被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的X-1个葛雷码计数总和差值组,其中每一个所述X-1个葛雷码计数总和差值组具有依据所述第二预定顺序所排序的N-1个葛雷码计数总和差值,并且所述N-1个葛雷码计数总和差值中的第j个葛雷码计数总和差值对应所述N-1个读取电压中的第j个读取电压;以及根据每一个所述X-1个葛雷码计数总和差值组所具有的所述N-1个葛雷码计数总和差值,从属于所述X个读取电压组中的X*(N-1)个读取电压中决定对应所述第二预定顺序的N-1个最佳化读取电压,以组成对应所述目标字线的最佳化读取电压组。
本发明的一实施例提供用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器。所述存储控制器包括:连接接口电路、存储器接口控制电路、读取电压管理电路单元以及处理器。连接接口电路用以电性连接至主机系统。存储器接口控制电路用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线包括多个存储单元,其中所述多个存储单元中的每一个存储单元用以被程序化以存储对应不同的多个葛雷码(Grey Code)的其中之一的比特值,并且所述多个葛雷码的总数为N,N为大于2的一第一预定正整数。处理器电性连接至所述连接接口电路、所述存储器接口控制电路及所述读取电压管理电路单元。所述处理器选择所述多个字线中的一目标字线,并且指示所述读取电压管理电路单元进行对应所述目标字线的一读取电压最佳化操作,其中所述目标字线的多个目标存储单元皆已被程序化。在所述读取电压最佳化操作中,所述读取电压管理电路单元用以利用不同的X个读取电压组分别读取所述多个目标存储单元,以获得对应的X个葛雷码总和组,其中X为一第二预定正整数,并且所述X个读取电压组以及对应的所述X个葛雷码总和组皆以一第一预定顺序排列,其中所述X个读取电压组中相邻的两个读取电压组之间的电压差值为一预定电压差,其中每一个所述X个读取电压组具有依据一第二预定顺序排列的N-1个读取电压,并且每一个所述X个葛雷码总和组具有依据所述第二预定顺序排列的N-1个葛雷码计数总和,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和对应所述N-1个读取电压中的第j个读取电压。此外,所述读取电压管理电路单元还用以根据所述第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据所述第二预定顺序计算所述被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的X-1个葛雷码计数总和差值组,其中每一个所述X-1个葛雷码计数总和差值组具有依据所述第二预定顺序所排序的N-1个葛雷码计数总和差值,并且所述N-1个葛雷码计数总和差值中的第j个葛雷码计数总和差值对应所述N-1个读取电压中的第j个读取电压。所述读取电压管理电路单元还用以根据每一个所述X-1个葛雷码计数总和差值组所具有的所述N-1个葛雷码计数总和差值,从属于所述X个读取电压组中的X*(N-1)个读取电压中决定对应所述第二预定顺序的N-1个最佳化读取电压,以组成对应所述目标字线的一最佳化读取电压组且完成对应所述目标字线的读取电压最佳化操作。
基于上述,本发明实施例所提供的读取电压最佳化方法以及存储控制器,可在不需要准备已验证数据的情况下,对任何目标字线执行对应所述目标字线的读取电压最佳化操作。在所述读取电压最佳化操作,存储控制器调整多个不同的读取电压组来获得多个不同的葛雷码计数总和差值,以从属于所述多个读取电压组中的多个读取电压中决定多个最佳化读取电压,以组成对应所述目标字线的最佳化读取电压组,进而增进了所读取数据的正确性且增进了读取操作整体的效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一实施例所示出的主机系统及存储装置的方块示意图。
图2是根据本发明的一实施例所示出的读取电压最佳化方法的流程图。
图3为根据本发明的一实施例所示出的经由第一读取电压组所读取的对应N个葛雷码的比特值的多个存储单元的临界电压分布及对应的多个葛雷码计数的示意图。
图4为根据本发明的一实施例所示出的两个不同的读取电压组及其中的电压差的示意图。
图5为根据本发明的一实施例所示出的经由第二读取电压组所读取的对应N个葛雷码的比特值的多个存储单元的临界电压分布及对应的多个葛雷码计数的示意图。
图6A为根据本发明的一实施例所示出的根据第二预定顺序(由左至右)计算对应第一读取电压组的葛雷码计数总和的示意图。
图6B为根据本发明的一实施例所示出的根据第四预定顺序(由右至左)计算对应第一读取电压组的葛雷码计数总和的示意图。
图7为根据本发明的一实施例所示出的用以记录葛雷码计数、对应的葛雷码计数总和及葛雷码计数总和组(第二预定顺序)的统计表的示意图。
图8A为根据本发明的一实施例所示出的根据第二预定顺序(由左至右)计算对应相邻的两个读取电压组的葛雷码计数总和差值的示意图。
图8B为根据本发明的一实施例所示出的根据第四预定顺序(由右至左)计算对应相邻的两个读取电压组的葛雷码计数总和差值的示意图。
图9为根据本发明的一实施例所示出的用以记录葛雷码计数总和与对应的葛雷码计数总和差值(第二预定顺序)的统计表的示意图。
图10为根据本发明的一实施例所示出的读取电压快筛操作的流程图。
附图标记说明
10:主机系统;
20:存储装置;
110、211:处理器;
120:主机存储器;
130:数据传输接口电路;
210:存储控制器;
212:数据传输管理电路;
213:存储器接口控制电路;
214:错误检查与校正电路;
215:读取电压管理电路单元;
2151:葛雷码计数电路;
2152:读取电压最佳化电路;
216:缓冲存储器;
217:电源管理电路;
220:可复写式非易失性存储器模块;
230:连接接口电路;
S21、S23、S25、S27:读取电压最佳化方法的流程步骤;
R11~R17、R21~R27、R35:读取电压;
G1~G8:葛雷码;
L:下实体页面的比特值;
M:中实体页面的比特值;
U:上实体页面的比特值;
VR(1)、VR(2)、VR(X):读取电压组;
C1,1~C1,8、C2,1~C2,8、CX,1~CX,8:葛雷码计数;
C(1)~C(X):葛雷码计数组;
SL(1)~SL(X):葛雷码总和组;
SL1,1~SL1,7、SL2,1~SL2,7、SL3,1~SL3,7、SLX-1,1~SLX-1,7、SLX,1~SLX,7、SR2,1、SR1,1:葛雷码计数总和;
DL1,1~DL1,7、DL2,1~DL2,7、DLX-1,1~DLX-1,7、DR1,1:葛雷码计数总和;
A9(1)~A9(X-1):箭头;
Voffset:预定电压差;
710、720、910:统计表。
具体实施方式
在本实施例中,存储装置包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与存储装置控制器(也称,存储控制器或存储控制电路)。此外,存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储装置或从存储装置中读取数据。
图1是根据本发明的一实施例所示出的主机系统及存储装置的方块示意图。
请参照图1,主机系统(Host System)10包括处理器(Processor)110、主机存储器(Host Memory)120及数据传输接口电路(Data Transfer Interface Circuit)130。在本实施例中,数据传输接口电路130电性连接(也称,电性连接)至处理器110与主机存储器120。在另一实施例中,处理器110、主机存储器120与数据传输接口电路130之间利用系统总线(System Bus)彼此电性连接。
存储装置20包括存储控制器(Storage Controller)210、可复写式非易失性存储器模块(Rewritable Non-Volatile Memory Module)220及连接接口电路(ConnectionInterface Circuit)230。其中,存储控制器210包括处理器211、数据管理电路(DataTransfer Management Circuit)212与存储器接口控制电路(Memory Interface ControlCircuit)213。
在本实施例中,主机系统10是通过数据传输接口电路130与存储装置20的连接接口电路230电性连接至存储装置20来进行数据的存取操作。例如,主机系统10可经由数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。
在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机系统10的主机板上。数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以经由有线或无线方式电性连接至存储装置20。存储装置20可例如是U盘、存储卡、固态硬盘(Solid State Drive,SSD)或无线存储器存储装置。无线存储器存储装置可例如是近距离无线通讯(Near Field Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板也可以通过系统总线电性连接至全球定位系统(Global Positioning System,GPS)模块、网路接口卡、无线传输装置、键盘、屏幕、喇叭等各式I/O装置。
在本实施例中,数据传输接口电路130与连接接口电路230是相容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准的接口电路。并且,数据传输接口电路130与连接接口电路230之间是利用快速非易失性存储器接口标准(Non-Volatile Memory express,NVMe)通讯协定来进行数据的传输。
然而,必须了解的是,本发明不限于此,数据传输接口电路130与连接接口电路230也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(UltraHigh Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、eMMC接口标准、通用快闪存储器(UniversalFlash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。此外,在另一实施例中,连接接口电路230可与存储控制器210封装在一个芯片中,或者连接接口电路230是布设于一包含存储控制器210的芯片外。
在本实施例中,主机存储器120用以暂存处理器110所执行的指令或数据。例如,在本范例实施例中,主机存储器120可以是动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,主机存储器120也可以是其他适合的存储器。
存储控制器210用以执行以硬件型式或固体型式实作的多个逻辑门或控制指令并且根据主机系统10的指令在可复写式非易失性存储器模块220中进行数据的写入、读取与抹除等运作。
更详细来说,存储控制器210中的处理器211为具备运算能力的硬件,其用以控制存储控制器210的整体运作。具体来说,处理器211具有多个控制指令,并且在存储装置20运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
值得一提的是,在本实施例中,处理器110与处理器211例如是中央处理单元(Central Processing Unit,CPU)、微处理器(micro-processor)、或是其他可程序化的处理单元(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似电路元件,本发明并不限于此。
在一实施例中,存储控制器210还具有只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储控制器210被致能时,处理器211会先执行此开机码来将存储于可复写式非易失性存储器模块220中的控制指令载入至存储控制器210的随机存取存储器中。之后,处理器211会运转此些控制指令以进行数据的写入、读取与抹除等运作。在另一实施例中,处理器211的控制指令也可以程序码型式存储于可复写式非易失性存储器模块220的特定区域,例如,可复写式非易失性存储器模块220中专用于存放系统数据的实体存储单元中。
在本实施例中,如上所述,存储控制器210还包括数据管理电路212与存储器接口控制电路213。应注意的是,存储控制器220各部件所执行的操作也可视为存储控制器220所执行的操作。
其中,数据管理电路212电性连接至处理器211、存储器接口控制电路213与连接接口电路230。数据管理电路212用以接受处理器211的指示来进行数据的传输。例如,经由连接接口电路230从主机系统10(如,主机存储器120)读取数据,并且将所读取的数据经由存储器接口控制电路213写入至可复写式非易失性存储器模块220中(如,根据来自主机系统10的写入指令来进行写入操作)。又例如,经由存储器接口控制电路213从可复写式非易失性存储器模块220的一或多个实体单元中读取数据(数据可读取自一或多个实体单元中的一或多个存储单元),并且将所读取的数据经由连接接口电路230写入至主机系统10(如,主机存储器120)中(如,根据来自主机系统10的读取指令来进行读取操作)。在另一实施例中,数据管理电路212也可整合至处理器211中。
存储器接口控制电路213用以接受处理器211的指示,配合数据管理电路212来进行对于可复写式非易失性存储器模块220的写入(也称,程序化,Programming)操作、读取操作或抹除操作。
举例来说,处理器211可执行写入指令序列,以指示存储器接口控制电路213将数据写入至可复写式非易失性存储器模块220中;处理器211可执行读取指令序列,以指示存储器接口控制电路213从可复写式非易失性存储器模块220的对应读取指令的一或多个实体单元(也称,目标实体单元)中读取数据;处理器211可执行抹除指令序列,以指示存储器接口控制电路213对可复写式非易失性存储器模块220进行抹除操作。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示对可复写式非易失性存储器模块220执行相对应的写入、读取及抹除等操作。在一实施例中,处理器211还可以下达其他类型的指令序列给存储器接口控制电路213,以对可复写式非易失性存储器模块220执行相对应的操作。
此外,欲写入至可复写式非易失性存储器模块220的数据会经由存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211要存取可复写式非易失性存储器模块220,处理器211会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变预设读取电压组的多个预设读取电压值以进行读取操作,或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
可复写式非易失性存储器模块220是电性连接至存储控制器210(存储器接口控制电路213)并且用以存储主机系统10所写入的数据。可复写式非易失性存储器模块220可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(TripleLevel Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quadruple Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、三维NAND型快闪存储器模块(3D NAND flashmemory module)或垂直NAND型快闪存储器模块(Vertical NAND flash memory module)等其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块220中的存储单元是以阵列的方式设置。
在本实施例中,可复写式非易失性存储器模块220具有多个字线,其中所述多个字线的每一个字线包括多个存储单元。同一条字线上的多个存储单元会组成一或多个实体程序化单元(实体页面)。此外,多个实体程序化单元可组成一个实体单元(实体区块或实体抹除单元)。在本实施例中,以三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块做例子来说明,即,在下述的实施例中,会将一个可存储3个比特值的存储单元作为一个实体程序化单元(即,在每次程序化操作中,会对一个实体程序化单元接着一个实体程序化单元来施加程序化电压以程序化数据),其中每一个存储单元可区分为各自可存储一个比特值的下实体页面(Lower Physical Page)、中实体页面(Middle Physical Page)与上实体页面(Upper Physical Page)。
在本实施例中,是以存储单元作为写入(程序化)数据的最小单位。实体单元为抹除的最小单位,即,每一实体单元含有最小数目之一并被抹除的存储单元。每一实体单元会具有多个存储单元。。在本实施例中,
应注意的是,在本实施例中,用以记录一实体单元的信息的系统数据可利用该实体单元中的一或多个存储单元来记录,或是利用一个系统区中用以记录所有系统数据的特定实体单元的一或多个存储单元来记录。在本实施例中,所述对应一实体单元的系统数据包括该实体单元的抹除次数值(Program erase cycle,PEC)、数据存放时间戳记(DataRetention Timestamp,DRT)、读取次数值(Read counter value)等信息。更详细来说,每当处理器211对一实体单元进行抹除操作时,在完成所述抹除操作后,处理器211会对当前对应该实体单元的抹除次数值加1(如,抹除次数值会随着每次的抹除操作而从0开始累加)。即,抹除次数值可反映出其所对应的实体单元的被抹除的次数的总和。所述数据存放时间戳记用以指示存储于对应的实体单元中的数据的存放时间。时间戳记的大小(数值差异)可用来表示时间的先后顺序。本发明并不限定所述时间戳记的详细格式。每对所述实体单元执行写入操作时,处理器211会更新所述实体单元的数据存放时间戳记为所述实体单元执行所述写入操作的时间。即,对应一实体单元的数据存放时间戳记用以表示所述实体单元最后一次被执行写入操作的时间(如,完成最后一次写入操作的本地时间)。所述写入操作例如是程序化数据至所述实体单元的一或多个存储单元,或例如是程序化数据至所述实体单元的其他型态的实体地址。接着,处理器211可经由数据存放时间戳记来计算实体单元中的数据距离前一次的写入已存放了多长的时间。所述读取次数值用以统计对应的实体单元被读取的次数,并且所述读取次数值会在对应的实体单元被抹除时而被清空。
在以下实施例中,是以一个实体区块作为一个实体单元的范例。然而,在另一实施例中,一个实体单元也可以是指任意数目的存储单元组成,视实务上的需求而定。此外,必须了解的是,当处理器211对可复写式非易失性存储器模块220中的存储单元(或实体单元)进行分组以执行对应的管理操作时,此些存储单元(或实体单元)是被逻辑地分组,而其实际位置并未更动。
举例来说,在本实施例中,处理器211可根据该可复写式非易失性存储器模块220的多个实体单元的统计值划分所述多个实体单元至多个实体单元组。所述统计值包括前述的抹除次数值、数据存放时间戳记(也称,久存值)、读取次数值等信息的其中之一或其组合。被划分至同一实体单元组的多个实体单元会具有较接近的物理特性。处理器211可对划分至同一个实体单元组的实体单元经由同一组读取电压组来进行数据的读取(如,使用相同的读取电压组来下达读取指令序列,以对属于相同实体单元组的实体单元来进行读取操作)。
在其他实施例中,处理器211可根据该可复写式非易失性存储器模块220的多个字线的统计值划分所述多个字线至多个字线组(处理器211可统计每个字线的上述统计值),并且被划分至同一字线组的多个字线会具有较接近的物理特性,进而如上述实施例般被同一组读取电压(如,对应的最佳化读取电压)所读取。应注意的是,为了可以更精细地针对每个字线来进行对应每个字线的读取电压最佳化操作(而非针对每个实体单元),以下的实施例是针对每个字线来说明读取电压最佳化操作及其中的读取电压最佳化方法。然,针对多个实体单元组的实施例,处理器211可从每个实体单元组中挑选一个实体单元的字线来进行读取电压最佳化操作,或从每个实体单元组中挑选一个实体单元来进行读取电压最佳化操作。
存储控制器210会配置多个逻辑单元给可复写式非易失性存储器模块220。主机系统10是通过所配置的逻辑单元来存取存储在多个实体单元中的使用者数据。在此,每一个逻辑单元可以是由一或多个逻辑地址组成。例如,逻辑单元可以是逻辑区块(LogicalBlock)、逻辑页面(Logical Page)或是逻辑扇区(Logical Sector)。一个逻辑单元可以是映射至一或多个实体单元,其中实体单元可以是一或多个实体地址、一或多个实体扇、一或多个实体程序化单元或者一或多个实体抹除单元。在本实施例中,逻辑单元为逻辑区块,并且逻辑子单元为逻辑页面。每一逻辑单元具有多个逻辑子单元。
此外,存储控制器210会建立逻辑转实体地址映射表(Logical To Physicaladdress mapping table)与实体转逻辑地址映射表(Physical To Logical addressmapping table),以记录配置给可复写式非易失性存储器模块220的逻辑单元(如,逻辑区块、逻辑页面或逻辑扇区)与实体单元(如,实体抹除单元、实体程序化单元、实体扇区)之间的映射关系。换言之,存储控制器210可通过逻辑转实体地址映射表来查找一逻辑单元所映射的实体单元,并且存储控制器210可通过实体转逻辑地址映射表来查找一实体单元所映射的逻辑单元。然而,上述有关逻辑单元与实体单元映射的技术概念为本领域技术人员的惯用技术手段,不再赘述于此。
在本实施例中,错误检查与校正电路214是电性连接至处理器211并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当处理器211从主机系统10中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且处理器211会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块220中。之后,当处理器211从可复写式非易失性存储器模块220中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路214会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。此外,在错误检查与校正程序后,若成功解码所读取的数据,错误检查与校正电路214可回传错误比特值给处理器211。
在一实施例中,存储控制器210还包括缓冲存储器216与电源管理电路217。缓冲存储器是电性连接至处理器211并且用以暂存来自于主机系统10的数据与指令、来自于可复写式非易失性存储器模块220的数据或其他用以管理存储装置20的系统数据,以让处理器211可快速地从缓冲存储器216中存取所述数据、指令或系统数据。电源管理电路217是电性连接至处理器211并且用以控制存储装置20的电源。
在本实施例中,读取电压管理电路单元215包括葛雷码计数电路2151与读取电压最佳化电路2152。所述读取电压管理电路单元215用以执行对多个字线的读取电压进行管理。更具体来说,处理器211可在特定的时间点来选择可复写式非易失性存储器模块220的属于多个实体单元的多个字线的其中之一个字线(也称,目标字线),并且指示读取电压管理电路单元215来对此目标字线进行读取电压最佳化操作。举例来说,处理器211可在(1)存储装置20闲暇(即,存储装置20闲置超过一预定时间门槛值)时;(2)存储装置开电时;或(3)从一字线所读取的数据的错误比特数超过一错误比特数门槛值时,来从所有字线中选择一目标字线进行读取电压最佳化操作。其中,处理器211可根据所有字线组的统计值与错误比特数的其中之一或其组合,来挑选物理状态较差的字线组(例如,抹除次数较多、读取次数较多、久存时间较长或错误比特数较多的字线组)中的一字线来做为目标字线。此外,处理器211也可根据错误检查与校正电路214所回传的错误比特数,来选择目标字线。具体来说,当从一字线所读取的数据的错误比特数超过一错误比特数门槛值时,其中该字线被设定为该目标字线。应注意的是,被选择的目标字线存储有数据,即,已被程序化数据。此外,若针对一目标字线的读取电压最佳化操作已经完成,读取电压管理电路单元215可记录对应该目标字线的读取电压组。
在一实施例中,处理器211也可随机挑选目标字线来进行读取电压最佳化操作。在另一实施例中,处理器211也可直接对每一个字线进行读取电压最佳化操作。
以下会配合多个图式来详细说明读取电压管理电路单元215如何进行读取电压最佳化操作的细节以及葛雷码计数电路2151与读取电压最佳化电路2152的功能。
图2是根据本发明的一实施例所示出的读取电压最佳化方法的流程图。请同时参照图1与图2,在步骤S21中,处理器211选择可复写式非易失性存储器模块的多个字线中的目标字线,其中所述目标字线的多个目标存储单元皆已被程序化。
假设处理器211目前对多个字线组的其中之一(也称,目标字线组)进行读取电压最佳化操作。处理器211会先从中选择欲进行读取电压最佳化操作的目标字线。目标字线可从目标字线组的多个字线中根据特定选择条件被选择。所述特定选择条件包括(1)目标字线的一统计值接近其所属的字线组中所有字线的该统计值的平均值;(2)目标字线的错误比特数是其所属的字线组中所有字线的最小者;或(3)随机选取一字线作为目标字线。
在本实施例中,如上所述,目标字线的存储有数据。具体来说,每个字线的多个存储单元用以被程序化以存储对应不同的多个葛雷码(Grey Code)的其中之一的比特值,并且所述葛雷码的总数为N,N为大于2的一第一预定正整数。换言之,目标字线的多个存储单元可存储有分别对应不同葛雷码的比特值。以下先配合图3来说明所述多个葛雷码的细节。
图3为根据本发明的一实施例所示出的经由第一读取电压组所读取的对应N个葛雷码的比特值的多个存储单元的临界电压分布及对应的多个葛雷码计数的示意图。由于本实施例是以三阶存储单元NAND型快闪存储器模块做例子来说明,其中N等于8(即,23)。三阶存储单元NAND型快闪存储器模块的每一存储单元具有三个实体页面来分别存储比特数据,所述每一存储单元包括各自可存储一个比特值的下实体页面(Lower Physical Page,L)、中实体页面(Middle Physical Page,M)与上实体页面(Upper Physical Page,U)。假设处理器211经由第一读取电压组VR(1)的多个读取电压R11~R17读取三阶存储单元NAND型快闪存储器模块的目标字线的多个存储单元(多个目标存储单元),并且藉此识别出所述多个存储单元所存储的不同比特值(分别对应不同葛雷码的比特值)。每一存储单元中的闸极电压可依据第一读取电压组中的读取电压R11~R17而区分为8种葛雷码,如“L:1M:1U:1”、“L:0M:1U:1”、“L:0M:0U:1”、“L:0M:0U:0”、“L:0M:1U:0”、“L:1M:1U:1”、“L:1M:0U:0”与“L:1M:0U:1”的8种葛雷码(“L:”表示下实体页面的比特值;“M:”表示中实体页面的比特值;“U:”表示上实体页面的比特值)。所述8种葛雷码也可表示为“111”、“011”、“001”、“000”、“010”、“111”、“100”与“101”,8种比特值组合,其中每个比特值组合中的比特值的先后排序是依据下、中、上实体页面的顺序。也就是说,经由分别施加第一读取电压组VR(1)的不同电压值的读取电压R11~R17至目标字线的一个存储单元上,处理器211可根据判断该存储单元的通道是否导通而分别判定出该存储单元所存储的比特值(也称,比特数据或读取比特值)对应不同的多个葛雷码(“111”、“011”、“001”、“000”、“010”、“111”、“100”或“101”)的其中之一(即,经由使用第一读取电压组VR(1)来从目标字线的一个存储单元读取出读取比特值)。例如,读取电压R11可区分葛雷码“111”与葛雷码“011”(读取电压R11的左方是对应葛雷码“111”的临界电压分布;读取电压R11的右方是对应葛雷码“011”的临界电压分布)。应注意的是,在可复写式非易失性存储器模块220的存储单元可具有的多个葛雷码的数目(在此例子中,为8),每个读取电压组的所述多个读取电压的数目为所述多个葛雷码的数目减一(在此例子,为7,即,N-1=8-1=7)。
应注意的是,根据可复写式非易失性存储器模块220的种类,N可为大于2的预定正整数(也称,第一预定正整数)。例如,若可复写式非易失性存储器模块220为MLC,则N=4;若可复写式非易失性存储器模块220为SLC,则N=2;若可复写式非易失性存储器模块220为QLC,则N=16。
值得一提的是,在本实施例中,字线的多个存储单元的临界电压分布相较于预设的临界电压分布可能会发生偏移的现象。由于临界电压分布的偏移,原本对应于预设临界电压的预设读取电压组已经不再适合用以读取具有已偏移临界电压分布的字线。处理器211需另外找出对应目标字线的多个读取电压,以使所述多个读取电压可各自接近对应的两个相邻的临界电压分布的交界处,进而使找到的所述多个读取电压组合成读取电压组作为目标字线的最佳化读取电压组。
请再回到图2,在步骤S23中,读取电压管理电路单元215利用不同的X个读取电压组分别读取所述多个目标存储单元,以获得对应的X个葛雷码总和组,其中每一个所述X个读取电压组具有依据第二预定顺序(如,根据电压大小,由左到右,第1至第N-1个,N例如为8)排列的N-1个读取电压,并且每一个所述X个葛雷码总和组具有依据所述第二预定顺序排列的N-1个葛雷码计数总和。其中,X为一第二预定正整数,并且所述X个读取电压组以及对应的所述X个葛雷码总和组皆以一第一预定顺序排列。所述X个读取电压组中相邻的两个读取电压组之间的电压差值为一第一预定电压差。所述N-1个葛雷码计数总和中的第j个葛雷码计数总和对应所述N-1个读取电压中的第j个读取电压。j的数值依据该第二预定顺序为1至N-1。厂商可预先设定第二预定正整数(即,X)与第一预定电压差的值。应注意的是,在本实施例中,目标字线的所述多个目标存储单元为所述目标字线的用以存储任何数据的所有存储单元,但本发明不限于此。例如,在另一实施例中,所述多个目标存储单元为所述目标字线的用以存储任何数据的所有存储单元中的部份的存储单元。
图4为根据本发明的一实施例所示出的两个不同的读取电压组及其中的电压差的示意图。
举例来说,请参照图4,假设第一读取电压组VR(1)为所述X个读取电压组的第一个读取电压组(如,预设的读取电压组),并且第二读取电压组VR(2)为所述X个读取电压组的第二个读取电压组。此两个相邻的读取电压组之间的电压差值为预定电压差(Voffset)。例如,第二读取电压组的第一个读取电压R21与对应的第一读取电压组的第一个读取电压R11之间的电压差值为预定电压差(Voffset),即,读取电压R21的电压值减去读取电压R11的电压值的差值等于Voffset
应注意的是,X个读取电压组中可根据第一读取电压组来渐增预定电压差来形成多个读取电压组,或是根据第一读取电压组来渐减预定电压差来形成多个读取电压组。为了方便说明,以下实施例会以根据第一读取电压组来渐增预定电压差来形成X个读取电压组来作为例子,但此例子并不限制本发明的X个读取电压组。
值得一提的是,反应于选择所述目标字线,读取电压管理电路单元215可识别该目标字线的多个统计值,并且根据所述多个统计值的至少其中之一来调整所述预定电压差的大小且调整第二预定正整数的值。所述多个统计值包括该目标字线的抹除次数值;该目标字线的读取次数值;该目标字线的久存时间值;以及该目标字线所存储数据的错误比特数。具体来说,若所述多个统计值的其中之一反映出目标字线的物理状况较差时(例如,错误比特数较高或抹除次数值较高),读取电压管理电路单元215可使用较小的预定电压差,并且较多的第二预定正整数来更精细地使用彼此间隔小且数量较多组的多个读取电压组来找寻最佳化读取电压组。反之,若所述多个统计值的其中之一反映出目标字线的物理状况较好时(例如,错误比特数较低或抹除次数值较低),读取电压管理电路单元215可使用较大的预定电压差,并且较少的第二预定正整数来更粗略地使用彼此间隔大且数量较少组的多个读取电压组来找寻最佳化读取电压组。
在本实施例中,在上述利用不同的所述X个读取电压组分别读取该些目标存储单元,以获得对应的所述X个葛雷码总和组的运作中,读取电压管理电路单元215(如,葛雷码计数电路2151)选择所述X个读取电压组中的第i个读取电压组,其中i的数值依据该第一预定顺序为1至X。举例来说,请参照图3,假设i为1,即,读取电压管理电路单元215选择所述X个读取电压组中的第1个读取电压组(第一读取电压组VR(1))来读取目标字线的多个目标存储单元。
接着,读取电压管理电路单元215(如,葛雷码计数电路2151)利用所述第i个读取电压组的N-1个读取电压分别读取所述多个目标存储单元,以获得对应所述第i个读取电压组的被区分为所述多个葛雷码的多个读取比特值。如上所述,读取电压管理电路单元215利用所述第一读取电压组VR(1)的7个读取电压R11~R17来读取目标字线的所述多个目标存储单元,以识别出每个目标存储单元所对应的葛雷码,进而依据这些不同的葛雷码来区分所述多个目标存储单元。例如,所识别的具有读取比特值“111”的目标存储单元会被区分至葛雷码“111”。
接着,读取电压管理电路单元215(如,葛雷码计数电路2151)根据所获得的对应所述第i个读取电压组的所述多个读取比特值与所属的所述多个葛雷码,经由总计分别被区分至所述多个葛雷码的每一个葛雷码中的所述多个读取比特值的数量以作为对应所述第i个读取电压组的N个葛雷码计数(Grey Code Counts),其中所述多个葛雷码计数以一第三预定顺序(如,由左到右,第1至第8个)排列。举例来说,在所述多个目标存储单元的读取比特值被识别后,依据读取比特值所被区分至的不同的多个葛雷码G1~G8,可进一步去总计,为不同葛雷码的目标存储单元的数量。如,读取比特值为对应葛雷码G1“111”的多个目标存储单元的数量,可被总计为葛雷码计数C1,1。依此类推,分别对应葛雷码G1~G8的葛雷码计数C1,1~C1,8皆可被计算出来(其中,“C1,1”的下标“1,1”中的左方的数字用以表示此葛雷码计数所对应的读取电压组在X个读取电压组中的依据第一预定顺序的排序值;右方的数字用以表示此葛雷码计数在其所属的葛雷码计数组中的依据第三预定顺序的排序值)。
应注意的是,读取电压管理电路单元215(如,葛雷码计数电路2151)可利用第一读取电压组与对应的临界电压分布图来计算对应第一读取电压组的分别对应葛雷码G1~G8的葛雷码计数C1,1~C1,8。例如,对应葛雷码G1的葛雷码计数C1,1可视为读取电压R11左方的临界电压分布的存储单元个数(如图3所示出的对应葛雷码G1的灰色面积);对应葛雷码G5的葛雷码计数C1,5可视为读取电压R14与读取电压R15之间的临界电压分布的存储单元个数(如图3所示出的对应葛雷码G5的灰色面积);对应葛雷码G8的葛雷码计数C1,8可视为读取电压R17右方的临界电压分布的存储单元个数(如图3所示出的对应葛雷码G8的灰色面积)。
图5为根据本发明的一实施例所示出的经由第二读取电压组所读取的对应N个葛雷码的比特值的多个存储单元的临界电压分布及对应的多个葛雷码计数的示意图。请参照图5,依此类推,假设i等于2,读取电压管理电路单元215可利用第二读取电压组VR(2)与对应的临界电压分布图来计算对应第二读取电压组的分别对应葛雷码G1~G8的葛雷码计数C2,1~C2,8。例如,对应葛雷码G1的葛雷码计数C2,1可视为读取电压R21左方的临界电压分布的存储单元个数(如图5所示出的对应葛雷码G1的灰色面积);对应葛雷码G5的葛雷码计数C2,5可视为读取电压R24与读取电压R25之间的临界电压分布的存储单元个数(如图5所示出的对应葛雷码G5的灰色面积);对应葛雷码G8的葛雷码计数C2,8可视为读取电压R27右方的临界电压分布的存储单元个数(如图5所示出的对应葛雷码G8的灰色面积)。
应注意的是,第二读取电压组VR(2)的每个读取电压R21~R27相较于对应的第一读取电压组VR(1)的每个读取电压R11~R17各右移了一个Voffset。因此,所获得的对应第二读取电压组VR(2)的多个葛雷码计数C2,1~C2,8会不同于所获得的对应第一读取电压组VR(1)的多个葛雷码计数C1,1~C1,8(对应葛雷码的临界电压分布的面积不同)。
值得一提的是,在本实施例中,上述的X个读取电压组是利用所执行的一个读取电压快筛操作来决定的,以下会配合图10说明如下。
图10为根据本发明的一实施例所示出的读取电压快筛操作的流程图。应注意的是,请参照图10,在读取电压快筛操作的一开始,即,步骤S1001中,读取电压管理电路单元215(如,葛雷码计数电路2151)会利用Z个读取电压组来读取所述多个目标存储单元,以获得分别对应所述Z个读取电压组的Z个葛雷码计数组。其中,所述Z个读取电压组中相邻的两个读取电压组之间的电压差值为一第二预定电压差。厂商可预先设定Z与第二预定电压差的值。所述第二预定电压差大于所述第一预定电压差。所述Z个读取电压组整体涵盖的电压范围会大于X个读取电压组整体涵盖的电压范围。获得葛雷码计数组的方式已经说明如上,相似于利用X个读取电压组来获得葛雷码计数组的方法,不赘述于此。
接着,在步骤S1003中,读取电压管理电路单元215(如,葛雷码计数电路2151)根据所述Z个葛雷码计数组的每一个葛雷码计数组的第1个葛雷码计数与最后一个葛雷码计数中的至少其中之一及葛雷码计数预定值来从所述Z个读取电压组中选择其中的一个读取电压组作为初始基准读取电压组。所述葛雷码计数预定值可根据所读取的多个目标存储单元的总数量(也称,读取存储单元数量,Read Memory Cells Amount)来被设定。例如,所读取的多个目标存储单元的总数量为18592*8(在此例子下,此些被读取的目标存储单元中包括用以存储为16千比特组大小的使用者数据的多个存储单元及用以存储为2208比特组大小的系统数据的多个存储单元)。所述“18592”*8中的“18592”的值,也可被称为葛雷码计数预定值(可用Cprest表示)或葛雷码计数平均值(可用Caverage表示)(葛雷码计数预定值为读取存储单元数量的值除以8)。值得一提的是,之所以针对每一个葛雷码计数组的第1个葛雷码计数与最后一个葛雷码计数中的至少其中之一,是因为,在使用多个不同电压范围的读取电压组时,每一个葛雷码计数组中非第1个葛雷码计数与最后一个葛雷码计数的其他葛雷码计数,并不能够反映出所使用的读取电压组过度偏离了当前目标存储单元的临界电压分布的现象。即,每一个葛雷码计数组中非第1个葛雷码计数与最后一个葛雷码计数的其他葛雷码计数并没有鉴别度,故,不能够用于读取电压的快筛操作。
更详细来说,假设在本实施例中,读取电压快筛操作是以每一个葛雷码计数组的最后1个葛雷码计数(如,Cq,8,其中q为1~Z)及葛雷码计数预定值来从所述Z个读取电压组中选择其中的一个读取电压组作为初始基准读取电压组。则,读取电压管理电路单元215(如,葛雷码计数电路2151)会比较所有每一个葛雷码计数组的最后1个葛雷码计数减去葛雷码计数预定值所获得的差值(也称,第一葛雷码计数偏差值,即,Cq,8-Cpreset)的绝对值(也称,第二葛雷码计数偏差值,即,|Cq,8-Cpreset|),并且识别对应所有葛雷码计数组的所有第二葛雷码计数偏差值中的最小者(即,识别所获得的所有第二葛雷码计数偏差值中的最小者)。假设,所述Z个葛雷码计数组中的第Q个葛雷码计数组的最后1个葛雷码计数减去葛雷码计数预定值所获得葛雷码计数偏差值是最小的,则读取电压管理电路单元215(如,葛雷码计数电路2151)会将所述Z个读取电压组中的第Q个读取电压组作为初始基准读取电压组。在另一实施例中,假设读取电压快筛操作是以每一个葛雷码计数组的第1个葛雷码计数(如,Cq,1,其中q为1~Z)及葛雷码计数预定值来从所述Z个读取电压组中选择其中的一个读取电压组作为初始基准读取电压组。则,读取电压管理电路单元215(如,葛雷码计数电路2151)会比较所有每一个葛雷码计数组的第1个葛雷码计数减去葛雷码计数预定值所获得的差值(也称,第一葛雷码计数偏差值,即,Cq,1-Cpreset)的绝对值(也称,第二葛雷码计数偏差值,即,|Cq,1-Cpreset|),并且识别对应所有葛雷码计数组的所有第二葛雷码计数偏差值中的最小者(即,识别所获得的所有第二葛雷码计数偏差值中的最小者),以将对应所述最小的第二葛雷码计数偏差值的读取电压组作为初始基准读取电压组。在又另一实施例中,假设读取电压快筛操作是以每一个葛雷码计数组的第1个葛雷码计数与最后1个葛雷码计数及葛雷码计数预定值来从所述Z个读取电压组中选择其中的一个读取电压组作为初始基准读取电压组。则,读取电压管理电路单元215(如,葛雷码计数电路2151)会将所有每一个葛雷码计数组的第1个葛雷码计数减去葛雷码计数预定值所获得的差值的绝对值,加上最后1个葛雷码计数减去葛雷码计数预定值所获得的差值的绝对值来做为每一个葛雷码计数组的第三葛雷码计数偏差值,即,|Cq,1-Cpreset|+|Cq,8-Cpreset|),识别其中的最小者(即,识别所获得的所有第三葛雷码计数偏差值中的最小者),以将对应所述最小的第三葛雷码计数偏差值的读取电压组作为初始基准读取电压组。
接着,在确定初始基准读取电压组后,在步骤S1005中,读取电压管理电路单元215(如,葛雷码计数电路2151)根据所述初始基准读取电压组、第一葛雷码计数偏差值、所述第二预定正整数与所述第一预定电压差,来决定所述X个读取电压组。其中,所述初始基准读取电压组会被包含至所述X个读取电压组,并且所述X个读取电压组的电压范围不会超过所述Z个读取电压组的电压范围。具体来说,第二预定正整数用以决定X个读取电压组的总数;所述第一预定电压差用以决定每两个相邻的读取电压组之间的电压差;以及所述第一葛雷码计数偏差值可用来决定所述初始基准读取电压组位于所述X个读取电压组的电压范围中的位置(排序)(即,所述X个读取电压组的电压范围是以初始基准读取电压组为准,向左或向右调整)。所述向左/向右调整是表示在所述电压范围的宽度不变的情况下,将整个电压范围从以初始基准读取电压组为中心,向左/向右平移整个电压范围。如,当将整个电压范围从以初始基准读取电压组为中心向左平移整个电压范围时,所述X个读取电压组的电压范围的第一个至最后一个读取电压组都会较调整前的所述X个读取电压组的电压范围的第一个至最后一个读取电压组还要小。
举例来说,假设所述读取电压快筛操作以每一个葛雷码计数组的最后1个葛雷码计数(每一个葛雷码计数组中对应“最右边”的读取电压的葛雷码计数)(如,Cq,8,其中q为1~Z)及葛雷码计数预定值来从所述Z个读取电压组中选择其中的一个读取电压组作为初始基准读取电压组。则,读取电压管理电路单元215(如,葛雷码计数电路2151)可以知道对应初始基准读取电压组的第一葛雷码计数偏差值的值(即,CQ,8)。其中,若第一葛雷码计数偏差值为正值,则所述X个读取电压组的电压范围是以初始基准读取电压组为准向“右”调整(即,初始基准读取电压组会排序在所述X个读取电压组中的中间偏前的位置(假设所述X个读取电压组由小至大排序));若第一葛雷码计数偏差值为负值,则所述X个读取电压组的电压范围是以初始基准读取电压组为准向“左”调整(即,初始基准读取电压组会排序在所述X个读取电压组中的中间偏后的位置(假设所述X个读取电压组由小至大排序))。相似地,当第一葛雷码计数偏差值的值是基于第1个葛雷码计数(对应“最左边”的读取电压的葛雷码计数)来计算时,即,读取电压管理电路单元215(如,葛雷码计数电路2151)可以知道对应初始基准读取电压组的CQ,1的值,则,当此第一葛雷码计数偏差值为正值,则所述X个读取电压组的电压范围是以初始基准读取电压组为准向“左”调整;若此第一葛雷码计数偏差值为负值,则所述X个读取电压组的电压范围是以初始基准读取电压组为准向“右”调整。调整的程度可依据正值或负值的大小来成正比地被决定。当完成X个读取电压组的决定时,读取电压快筛操作的执行也完成。应注意的是,上述读取电压快筛操作(步骤S101~S105)是在上述步骤S21之后且步骤S23之前被执行。然而,在另一实施例中,可不进行读取电压快筛操作,而直接决定X个读取电压组。
值得一提的是,上述Z个读取电压组的整体的电压范围可包括了对于读取存储单元的读取操作中,读取电压所可被调整的所有电压范围(如,从Z个读取电压组第一个读取电压组的第1个读取电压的0V至最后一个读取电压组的最后一个读取电压的6V,共6V的电压范围)。由于此范围很大,可因为所执行的读取电压快筛操作来筛选出具有较小电压范围的X个读取电压组(如,从X个读取电压组中的第一个读取电压组的第1个读取电压至最后一个读取电压组的最后一个读取电压共有2V的电压范围,其中初始基准读取电压组可被包含在此电压范围内),以使之后的读取电压最佳化操作可以在小范围的X个读取电压组中更有效率地进行。此外,在一实施例中,在一些特定情况下(如,存储装置可被用以执行读取电压最佳化操作的时间很短的情况下),也可直接使用经执行读取电压快筛操作所获得的初始基准电压组来做为暂时的最佳化读取电压组。应注意的是,Z例如可为256,并且第二预定电压差例如可为7.5mV;X例如可为20,并且第一预定电压差例如可为7.5mV或更小值。每个读取电压组的最后一个读取电压与第一个读取电压之间的电压差例如可为4V(伏特)。
以下开始说明通过多个葛雷码计数来获得葛雷码计数总和/葛雷码总和组的方法。具体来说,在获得对应所述第i个读取电压组的N个葛雷码计数后,接着,读取电压管理电路单元215(如,葛雷码计数电路2151)根据对应所述第i个读取电压组的所述N个葛雷码计数与该第二预定顺序来计算N-1个葛雷码计数总和,并且将所述N-1个葛雷码计数总和作为所述X个葛雷码总和组中对应所述第i个读取电压组的第i个葛雷码总和组,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和的值为前j个葛雷码计数的总和。
图6A为根据本发明的一实施例所示出的根据第二预定顺序(由左至右)计算对应第一读取电压组的葛雷码计数总和的示意图。请参照图6A,假设i为1,N为8。举例来说,在获得对应第一读取电压组的8个葛雷码计数C1,1~C1,8后,读取电压管理电路单元215(如,葛雷码计数电路2151)对应所述第一读取电压组VR(1)的所述C1,1~C1,8个葛雷码计数与第二预定顺序,对于对应第一读取电压组VR(1)的第1个(即,j=1)葛雷码计数总和SL1,1,读取电压管理电路单元215加总前1个葛雷码计数的总和,即,仅加总第1个葛雷码计数C1,1(即,SL1,1=C1,1)。对于对应第一读取电压组VR(1)的第2个(即,j=2)葛雷码计数总和SL1,2,读取电压管理电路单元215加总前2个葛雷码计数的总和,即,仅加总第1个葛雷码计数C1,1与第2个葛雷码计数C1,2(即,SL1,2=C1,1+C1,2=SL1,1+C1,2);依此类推,读取电压管理电路单元215(如,葛雷码计数电路2151)总共可计算出葛雷码计数总和SL1,1~SL1,7,并且将7个葛雷码计数总和SL1,1~SL1,7作为对应第一读取电压VR(1)的葛雷码总和组SL(1)。
在本实施例中,读取电压管理电路单元215(如,葛雷码计数电路2151)可使用下列公式(F1)来计算每一个所述X个葛雷码总和组中的N-1个葛雷码计数总和:
Figure BDA0001600906040000161
其中SLi,j用以表示对应所述第i个读取电压组的第i个葛雷码总和组中的第j个葛雷码计数总和,Ci,k用以表示对应所述第i个读取电压组的N个葛雷码计数中的第k个葛雷码计数,其中k的数值依据第二预定顺序包括1至N-1。其中,“SL1,1”的下标“1,1”中的左方的数字用以表示此葛雷码计数总和所对应的读取电压组在X个读取电压组中的依据第一预定顺序的排序值(如,“1”表示在X个读取电压组中排序为第1个的第一读取电压组);右方的数字用以表示此葛雷码计数总和在其所属的葛雷码总和组中的依据第二预定顺序的排序值(如,“1”表示在葛雷码总和组中排序为第1个的葛雷码计数总和)。此外,“SL1,1”中的“L”用以表示计算葛雷码计数总和的顺序为由“左方(Left)”开始的葛雷码计数累加至右方的葛雷码计数。应注意的是,在另一实施例中,对于第j个葛雷码计数总和的值的计算,可不按照由左至右的顺序来加总前j个的葛雷码计数总和。
应注意的是,本发明并不限于上述依据由左至右的顺序来计算葛雷码计数总和的方法。例如,在另一实施例中,读取电压管理电路单元215(如,葛雷码计数电路2151)可依据由右至左的顺序来计算葛雷码计数总和。具体来说,读取电压管理电路单元215(如,葛雷码计数电路2151)根据对应所述第i个读取电压组的所述N个葛雷码计数与一第四预定顺序来计算N-1个葛雷码计数总和,以并且将所述N-1个葛雷码计数总和作为所述X个葛雷码总和组中对应所述第i个读取电压组的第i个葛雷码总和组,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和的值为“后N-j”个葛雷码计数的总和,其中该第四预定顺序与该第二预定顺序“相反”。以下通过图6B来说明相关细节。
图6B为根据本发明的一实施例所示出的根据第四预定顺序(由右至左)计算对应第一读取电压组的葛雷码计数总和的示意图。请参照图6B,在此另一实施例中,假设i为1,N为8。举例来说,在获得对应第一读取电压组的8个葛雷码计数C1,1~C1,8后,读取电压管理电路单元215(如,葛雷码计数电路2151)对应所述第一读取电压组VR(1)的所述C1,1~C1,8个葛雷码计数与第四预定顺序(所述第四预定顺序与所述第二预定顺序相反),对于对应第一读取电压组VR(1)的第1个(即,j=1)葛雷码计数总和SR1,1,读取电压管理电路单元215依据第四预定顺序由右至左加总“后7个”(N-j=7)葛雷码计数的总和,即,从最右边(排序最后的)的第8个葛雷码计数C1,8开始,往前(往左)加总至第2个葛雷码计数C1,2(即,SR1,1=C1,8+C1,7+C1,6+C1,5+C1,4+C1,3+C1,2=SR1,6+C1,2)。又例如,对于对应第一读取电压组VR(1)的第7个(即,j=7)葛雷码计数总和SR1,7,读取电压管理电路单元215加总后1个葛雷码计数的总和,即,仅加总第8个葛雷码计数C1,8(即,SL1,7=C1,8)。依此类推,读取电压管理电路单元215(如,葛雷码计数电路2151)总共可计算出葛雷码计数总和SR1,1~SR1,7,并且将7个葛雷码计数总和SR1,1~SR1,7作为对应第一读取电压VR(1)的葛雷码总和组SR(1)。
在此另一实施例中,读取电压管理电路单元215(如,葛雷码计数电路2151)可使用下列公式(F2)来计算每一个所述X个葛雷码总和组中的N-1个葛雷码计数总和:
Figure BDA0001600906040000171
其中SRi,j用以表示对应所述第i个读取电压组的第i个葛雷码总和组中的第j个葛雷码计数总和,Ci,k用以表示对应所述第i个读取电压组的N个葛雷码计数中的第k个葛雷码计数,其中k的数值依据第四预定顺序包括N至j+1。其中,“SR1,1”的下标“1,1”中的左方的数字用以表示此葛雷码计数总和所对应的读取电压组在X个读取电压组中的依据第一预定顺序的排序值(如,“1”表示在X个读取电压组中排序为第1个的第一读取电压组);右方的数字用以表示此葛雷码计数总和在其所属的葛雷码总和组中的依据第二预定顺序的排序值(如,“1”表示在葛雷码总和组中排序为第1个的葛雷码计数总和)。此外,“SR1,1”中的“R”用以表示计算葛雷码计数总和的顺序为由“右方(Right)”开始的葛雷码计数累加至左方的葛雷码计数。应注意的是,在另一实施例中,对于第j个葛雷码计数总和的值的计算,可不按照由右至左的顺序来加总后N-j个的葛雷码计数总和。
图7为根据本发明的一实施例所示出的用以记录葛雷码计数、对应的葛雷码计数总和及葛雷码计数总和组(第二预定顺序)的统计表的示意图。
请参照图7,读取电压管理电路单元215可通过如同图7所示出的统计表710、720的形式来记录所获得的对应所有X个读取电压组的葛雷码计数组C(1)~C(X)与葛雷码总和组SL(1)~SL(X)。应注意的是,为了方便说明,以下主要是依据第二预定顺序所获得的多个葛雷码总和组来进行读取电压最佳化操作。
请再回到图2,在步骤S25中,读取电压管理电路单元215根据第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据所述第二预定顺序计算所述被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的X-1个葛雷码计数总和差值组。
其中在上述根据该第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据该第二预定顺序计算所述被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的所述X-1个葛雷码计数总和差值组的运作中,读取电压管理电路单元215(如,读取电压最佳化电路2152)从所述X个葛雷码总和组中选择第i个葛雷码总和组与第i+1个葛雷码总和组(如,利用所记录的统计表720)。读取电压管理电路单元215(如,读取电压最佳化电路2152)根据该第二预定顺序计算该第i+1个葛雷码总和组的所述N-1个葛雷码计数总和中的第j个葛雷码计数总和与该第i个葛雷码总和组的所述N-1个葛雷码计数总和中的第j个葛雷码计数总和之间的差值,并且将该差值作为所述X-1个葛雷码计数总和差值组中的第i个葛雷码计数总和差值组的N-1个葛雷码计数总和差值中的所述第j个葛雷码计数总和差值,其中所述第i个葛雷码计数总和差值组对应所述第i个读取电压组与第i+1个读取电压组,并且所述第i个葛雷码计数总和差值组中的所述第j个葛雷码计数总和差值对应所述第i个读取电压组中的第j个读取电压与第i+1个读取电压组中的第j个读取电压。以下通过图8A的例子来做说明。
图8A为根据本发明的一实施例所示出的根据第二预定顺序(由左至右)计算对应相邻的两个读取电压组的葛雷码计数总和差值的示意图。
请参照图8A,图8A示出基于图6A的例子所计算出的葛雷码计数总和SL1,1~SL1,7来计算多个葛雷码计数总和差值的示意图。举例来说,假设读取电压管理电路单元215(如,读取电压最佳化电路2152)针对于X个读取电压组中相邻的两个读取电压组,选择了第一读取电压组VR(1)与第二读取电压组VR(2)来计算对应的葛雷码计数总和差值组DL(1)。依据第二预定顺序,葛雷码计数总和差值组DL(1)的第1个葛雷码计数总和差值DL1,1的计算方式是:从相同于第1个葛雷码计数总和差值DL1,1的排序,从对应第一读取电压组VR(1)的葛雷码总和组SL(1)识别排序在第1个的葛雷码计数总和SL1,1,并且从对应第二读取电压组VR(2)的葛雷码总和组SL(2)识别排序在第1个的葛雷码计数总和SL2,1。接着,读取电压管理电路单元215(如,读取电压最佳化电路2152)计算上述排序相同的葛雷码计数总和SL1,1与葛雷码计数总和SL2,1之间的差值(如,DL1,1=|SL2,1-SL1,1|),如,长条SL1,1与长条SL1,2之间的面积差异(如灰色方块所示)。应注意的是,上述计算葛雷码计数总和差值的方式也可视为:读取电压管理电路单元215(如,读取电压最佳化电路2152)利用临界电压分布、读取电压R11与读取电压R12来计算出差异面积(如,临界电压分布图中读取电压R11与读取电压R21之间的灰色面积)。依此类推,读取电压管理电路单元215(如,读取电压最佳化电路2152)可计算出对应第一读取电压组VR(1)与第二读取电压组VR(2)的葛雷码计数总和差值组DL(1)的第1~第7个葛雷码计数总和差值DL1,1~DL1,7
在计算出第一读取电压组VR(1)与第二读取电压组VR(2)之间的葛雷码计数总和差值组后,读取电压管理电路单元215(如,读取电压最佳化电路2152)可继续计算对应第二读取电压组VR(2)与排序于其后的第三读取电压组VR(3)的葛雷码计数总和差值组DL(2)。例如,针对葛雷码计数总和差值组DL(2)的第5个葛雷码计数总和差值DL2,5,读取电压管理电路单元215(如,读取电压最佳化电路2152)计算上述排序相同(第5个)的对应第二读取电压组VR(2)的葛雷码总和组SL(2)的葛雷码计数总和SL2,5与对应第三读取电压组VR(3)的葛雷码总和组SL(3)的葛雷码计数总和SL3,5之间的差值(如,DL2,5=|SL3,5-SL2,5|)(取绝对值)。
依此类推,读取电压管理电路单元215(如,读取电压最佳化电路2152)可计算出对应X个读取电压组中每两个相邻的读取电压组的X-1个葛雷码计数总和差值组DL(1)~DL(X-1)。
换言之,读取电压管理电路单元215(如,读取电压最佳化电路2152)可经由下列的葛雷码计数总和差值公式(F3)来根据多个葛雷码计数总和以计算每个葛雷码计数总和差值:
DLi,j=|SLi+1,j–SLi,j| (F3)
其中葛雷码计数总和差值组DL(i)对应读取电压组VR(i)与读取电压组VR(i+1),i的范围为1~(X-1),并且j的范围为1~(N-1)。在另一实施例中,公式(F3)中的“SLi+1,j”与“SLi,j”的顺序可交换,即,DLi,j=|SLi,j–SLi+1,j|。
应注意的是,本发明并不限于上述依据由左至右的顺序所计算的葛雷码计数总和来计算葛雷码计数总和差值的方法。例如,在另一实施例中,可利用相同公式来依据由右至左的顺序所计算的葛雷码计数总和来计算葛雷码计数总和差值。以下通过图8B来说明相关细节。
图8B为根据本发明的一实施例所示出的根据第四预定顺序(由右至左)计算对应相邻的两个读取电压组的葛雷码计数总和差值的示意图。
请参照图8B,图8B示出基于图6B的例子所计算出的葛雷码计数总和SR1,1~SR1,7来计算多个葛雷码计数总和差值的示意图。举例来说,假设读取电压管理电路单元215(如,读取电压最佳化电路2152)针对于X个读取电压组中相邻的两个读取电压组,选择了第一读取电压组VR(1)与第二读取电压组VR(2)来计算对应的葛雷码计数总和差值组DR(1)。依据第二预定顺序,葛雷码计数总和差值组DR(1)的第1个葛雷码计数总和差值DR1,1的计算方式是:从相同于第1个葛雷码计数总和差值DR1,1的排序,从对应第一读取电压组VR(1)的葛雷码总和组SR(1)识别排序在第1个的葛雷码计数总和SR1,1,并且从对应第二读取电压组VR(2)的葛雷码总和组SR(2)识别排序在第1个的葛雷码计数总和SR2,1。接着,读取电压管理电路单元215(如,读取电压最佳化电路2152)计算上述排序相同的葛雷码计数总和SR1,1与葛雷码计数总和SR2,1之间的差值(如,DR1,1=|SR2,1-SR1,1|),如,长条SR1,1与长条SR1,2之间的面积差异(如灰色方块所示)。应注意的是,上述计算葛雷码计数总和差值的方式也可视为:读取电压管理电路单元215(如,读取电压最佳化电路2152)利用临界电压分布、读取电压R11与读取电压R12来计算出差异面积(如,临界电压分布图中读取电压R11与读取电压R21之间的灰色面积)。
图9为根据本发明的一实施例所示出的用以记录葛雷码计数总和与对应的葛雷码计数总和差值(第二预定顺序)的统计表的示意图。
请参照图9,读取电压管理电路单元215可通过如同图9所示出的统计表910的形式来记录所获得葛雷码计数总和差值组DL(1)~DL(X-1)。其中,如上所述,葛雷码计数总和差值组DL(1)是经由计算葛雷码总和组SL(1)与葛雷码总和组SL(2)之间的每两个排序相同的葛雷码计数总和之间的差值来获得的(如,箭头A9(1)所示)。相似地,读取电压管理电路单元215可经由计算葛雷码总和组SL(2)与葛雷码总和组SL(3)之间的每两个排序相同的葛雷码计数总和之间的差值来获得葛雷码计数总和差值组DL(2)(如,箭头A9(2)所示);经由计算葛雷码总和组SL(X-1)与葛雷码总和组SL(X)之间的每两个排序相同的葛雷码计数总和之间的差值来获得葛雷码计数总和差值组DL(X-1)(如,箭头A9(X-1)所示)。
值得一提的是,上述的统计表710、720、910仅是一种记录的方式,本领域人员可在不脱离上述统计表的精神的情况下来进行相关信息的记录,以计算出所述多个葛雷码计数、葛雷码计数总和及葛雷码计数总和差值。
在计算出X-1个葛雷码计数总和差值组后,在步骤S27中,读取电压管理电路单元215根据每一个所述X-1个葛雷码计数总和差值组所具有的N-1个葛雷码计数总和差值,从属于所述X个读取电压组中的X*(N-1)个读取电压中决定对应所述第二预定顺序的N-1个最佳化读取电压,以组成对应所述目标字线的最佳化读取电压组。
更详细来说,读取电压管理电路单元215根据第二预定顺序,从每一个所述X-1个葛雷码计数总和差值组中选择第j个葛雷码计数总和差值,以获得X-1个第j个葛雷码计数总和差值,其中该读取电压管理电路单元根据所述X-1个第j个葛雷码计数总和差值决定所述最佳化读取电压组的所述N-1个最佳化读取电压中的第j个最佳化读取电压。
例如,假设j为1。读取电压管理电路单元215(如,读取电压最佳化电路2152)从每一个所述X-1个葛雷码计数总和差值组DL(1)、DL(2)~DL(X-1)中选择所述X-1个葛雷码计数总和差值组DL(1)、DL(2)~DL(X-1)中的第1个(j=1)葛雷码计数总和差值DL1,1、DL2,1~DLX-1,1,共计X-1个。接着,读取电压管理电路单元215(如,读取电压最佳化电路2152)根据所述共X-1个的第1个葛雷码计数总和差值DL1,1、DL2,1~DLX-1,1决定所述最佳化读取电压组的所述7(N-1=8-1=7)个最佳化读取电压中的第1个最佳化读取电压(最佳化读取电压组中排序在第1个的最佳化读取电压)。
更详细来说,读取电压管理电路单元215(如,读取电压最佳化电路2152)识别所述X-1个第j个葛雷码计数总和差值中的小于一最佳化门槛值的多个目标第j个葛雷码计数总和差值。例如,读取电压管理电路单元215(如,读取电压最佳化电路2152)识别在所述共X-1个的第1个葛雷码计数总和差值DL1,1、DL2,1~DLX-1,1中小于最佳化门槛值的多个第1个葛雷码计数总和差值(也称,目标第1个葛雷码计数总和差值)。
接着,读取电压管理电路单元215(如,读取电压最佳化电路2152)对所述多个目标第j个葛雷码计数总和差值进行检查操作,以从所述多个目标第j个葛雷码计数总和差值中识别一或多个错误第j个葛雷码计数总和差值,并且从所述多个目标第j个葛雷码计数总和差值中剩余的一或多个正确第j个葛雷码计数总和差值中选择其中之一作为一最佳化第j个葛雷码计数总和差值。
具体来说,读取电压管理电路单元215(如,读取电压最佳化电路2152)识别所述多个目标第j个葛雷码计数总和差值的其中之一目标第j个葛雷码计数总和差值所属的葛雷码计数总和差值组,并且识别所述目标第j个葛雷码计数总和差值所属的所述葛雷码计数总和差值组所对应的两个葛雷码总和组各自的第j个葛雷码计数。接着,读取电压管理电路单元215(如,读取电压最佳化电路2152)判断所述两个第j个葛雷码计数的其中之一是否超出一正确范围。若所述两个第j个葛雷码计数的其中之一超出所述正确范围,读取电压管理电路单元215(如,读取电压最佳化电路2152)判定所述“目标第j个葛雷码计数总和差值”为错误的,即,也称为错误“目标第j个葛雷码计数总和差值”(即,判定超出正确范围的“目标第j个葛雷码计数总和差值”是错误的“目标第j个葛雷码计数总和差值”);若所述两个第j个葛雷码计数皆不超出所述正确范围中,读取电压管理电路单元215(如,读取电压最佳化电路2152)判定所述“目标第j个葛雷码计数总和差值”为正确的,即,也称为正确“目标第j个葛雷码计数总和差值”(即,判定正确范围内的“目标第j个葛雷码计数总和差值”是正确的“目标第j个葛雷码计数总和差值”)。所述正确范围可根据读取存储单元数量来被设定。例如,读取存储单元数量为18592*8。其中,所述“18592”*8的“18592”的值,也可被称为葛雷码计数预定值或葛雷码计数平均值。更具体来说,正确范围可依据葛雷码计数预定值与一偏移值来计算。厂商可预先设定所述偏移值。正确范围的上下边界可经由“(葛雷码计数预定值*8±偏移值)/葛雷码个数”来计算。所述葛雷码个数的值,如上述会对应所读取的目标存储单元的每一个存储单元可存储数据的最大的数据比特数来被设定(以三阶存储单元NAND型快闪存储器模块为例,每个存储单元最多可存储“3”个数据比特,则所对应的葛雷码个数为8,即,2的“3”次方),即,所述葛雷码个数的值会对应所读取的目标存储单元所属的存储器模块的类型而定。例如,假设对应读取空间大小的葛雷码计数预定值为18592,偏移值为6400,并且所读取的目标存储单元属于三阶存储单元NAND型快闪存储器模块。则,第一正确范围的上限为(18592*8+6400)/8=19392;下限为(18592*8-6400)/8=17792。即,正确范围为17792~19392。
举例来说,假设所述共X-1个的第1个葛雷码计数总和差值DL1,1、DL2,1~DLX-1,1中小于一最佳化门槛值的多个目标第1个葛雷码计数总和差值为葛雷码计数总和差值DL1,1与葛雷码计数总和差值DLX-1,1。对于葛雷码计数总和差值DL1,1,读取电压管理电路单元215(如,读取电压最佳化电路2152)会识别葛雷码计数总和差值DL1,1所属的葛雷码计数总和差值组DL(1)及对应的两个葛雷码计数总和组SL(1)与葛雷码计数总和组SL(2),并且识别葛雷码计数总和组SL(1)与葛雷码计数总和组SL(2)各自的第1个葛雷码计数,即,葛雷码计数C1,1与葛雷码计数C2,1。接着,读取电压管理电路单元215(如,读取电压最佳化电路2152)会判断所述两个第1个葛雷码计数C1,1与第1个葛雷码计数C2,1的数值的其中之一是否超出正确范围。若所述两个第1个葛雷码计数C1,1与第1个葛雷码计数C2,1的数值皆不超出正确范围,则读取电压管理电路单元215(如,读取电压最佳化电路2152)会判定葛雷码计数总和差值DL1,1为正确目标第1个葛雷码计数总和差值(Correct Target 1st Grey Code CountAmount Difference)。反之,若所述两个第1个葛雷码计数C1,1与第1个葛雷码计数C2,1的数值的其中之一超出正确范围,则读取电压管理电路单元215(如,读取电压最佳化电路2152)会判定葛雷码计数总和差值DL1,1为错误目标第1个葛雷码计数总和差值(IncorrectTarget 1st Grey Code Count Amount Difference)。相似地,针对葛雷码计数总和差值DLX-1,1,读取电压管理电路单元215(如,读取电压最佳化电路2152)会判断对应的两个第1个葛雷码计数CX-1,1与第1个葛雷码计数CX,1的数值的其中之一是否超出正确范围。
假设在此例子中,葛雷码计数总和差值DL1,1为正确目标第1个葛雷码计数总和差值,并且葛雷码计数总和差值DLX-1,1为错误目标第1个葛雷码计数总和差值。则,读取电压管理电路单元215(如,读取电压最佳化电路2152)会选择目标第1个葛雷码计数总和差值DL1,1作为最佳化第1个葛雷码计数总和差值(j=1)。
在获得最佳化第j个葛雷码计数总和差值后,读取电压管理电路单元215(如,读取电压最佳化电路2152)识别该最佳化第j个葛雷码计数总和差值所属的葛雷码计数总和差值组为于所述X-1个葛雷码计数总和差值组中的第Y个葛雷码计数总和差值组。接着,读取电压管理电路单元215(如,读取电压最佳化电路2152)将第Y个读取电压组中的第j个读取电压或第Y+1个读取电压组中的第j个读取电压作为所述最佳化读取电压组的N-1个最佳化读取电压中的第j个最佳化读取电压,其中Y的值为小于等于X-1且大于等于1的正整数。
举例来说,接续上述选择目标第1个葛雷码计数总和差值DL1,1作为最佳化第1个葛雷码计数总和差值的例子。读取电压管理电路单元215(如,读取电压最佳化电路2152)识别最佳化第1个葛雷码计数总和差值DL1,1所属的葛雷码计数总和差值组DL(1)为于所述X-1个葛雷码计数总和差值组中的第1个葛雷码计数总和差值组(Y=1),并且将第1个葛雷码计数总和差值组DL(1)所对应的第1个读取电压组VR(1)及第2个读取电压组VR(2)中的第1个读取电压R11及第1个读取电压R21的其中之一作为最佳化读取电压组中的第1个最佳化读取电压(1st Optimized Read Voltage),即,最佳化读取电压组中,排列顺序由左至右排列在第一个的最佳化读取电压。
换句话说,针对一排列顺序,读取电压管理电路单元215会去找寻对应该排列顺序的小于最佳化门槛值的多个目标葛雷码计数总和差值,并且经由检查操作来过滤掉错误的目标葛雷码计数总和差值,以获得正确的目标葛雷码计数总和差值,进而获得对应该排列顺序的最佳化葛雷码计数总和差值(即,最佳化第j个葛雷码计数总和差值)。最后,读取电压管理电路单元215可识别出对应的两个读取电压组中对应该排列顺序的两个读取电压,并且将所述两个读取电压都可作为对应该排列顺序的最佳化电压。也就是说,在葛雷码计数总和差值中小到一定程度的目标葛雷码计数总和差值,其对应的两个读取电压都可作为最佳化读取电压。例如,请参照图8A,针对排列顺序为第5个的最佳化读取电压。读取电压R15与读取电压R25所对应的葛雷码计数总和差值会小于读取电压R25与读取电压R35所对应的葛雷码计数总和差值(读取电压R15与读取电压R25之间的临界电压分布的面积会小于读取电压R25与读取电压R35之间的临界电压分布的面积)。在此情况下,较小的葛雷码计数总和差值所对应的读取电压R15与读取电压R25相较于较大的葛雷码计数总和差值所对应的读取电压R25与读取电压R35更能够作为最佳化读取电压的候选者(因为,读取电压R15与读取电压R25相较于读取电压R25与读取电压R35更接近对应葛雷码G5的临界电压分布与对应葛雷码G6的临界电压分布的交界处)。
本实施例,是利用最佳化读取电压应该会位于对应两个葛雷码的两个临界电压分布的交界处的概念,利用该交界处的面积变化会小于一特定值(即,最佳化门槛值)的概念来找寻最佳电压的位置。本领域技术人员,当可依照此概念来针对临界电压分布的交界处的面积变化会小于一特定值的概念,来改良上述实施例的读取电压最佳化方法/操作。但,仍不脱离本发明的精神和范围。本实施例所提供的读取电压最佳化方法相较于传统作法,仅需要分别利用X个读取电压组来读取目标字线X*M次(M为一存储单元可存储的比特值的数量),即,需要X*M次的读取次数,就获得目标字线的最佳化读取电压组。但,前述第一种传统作法区所需要的读取次数会为(2M-1)*X次。以TLC型快闪存储器(一个存储单元存储3个比特值)为例,一个读取电压组内共有七个读取电压对应于不同电压区段。采用第一种传统方法,需固定六个读取电压,并改变一个读取电压,以进行读取。若每个读取电压需调整X次(且经由读取来获得结果,以比较所有结果来找出最佳者),则为了获得最佳读取电压所使用的读取次数为(23-1)*X=7*X次。此外,上述传统的作法还需要准备已经验证的数据。换言之,第一种传统作法会需要耗费大量的计算资源(调整读取电压及验证对应的读取扣数据)与存储空间(用以存储已验证数据的空间)。
在读取次数的差异上,本实施例所提供的读取电压最佳化方法会大量减少耗费在读取电压最佳化操作的时间与计算资源,但还可达到第一种传统作法的效用与精细度。
此外,相较于第二种传统作法,本实施例所提供的读取电压最佳化方法可利用较多的X个读取电压组,以获得较第二种传统作法精确的最佳化读取电压(第二种传统作法的调整读取电压组的数量会小于本实施例所提供的X个读取电压组的数量)。
相较于第二种传统作法的缺陷,即,第二种传统作法的缺陷在于:失败机率较高,并且所读取的数据的错误比特数也会较高。本发明的实施例所提供的读取电压最佳化方法以及存储控制器,可完全克服第二种传统作法的缺陷(因为,本发明的方法可以达到第一种传统作法的精确度)。同时,也可以利用本发明的读取电压快筛操作及后续的读取电压最佳化操作,快速且有效率地找到最佳化读取电压组。换言之,本发明的实施例所提供的读取电压最佳化方法以及存储控制器,可同时拥有两种传统作法的优点,又改善了两种传统作法的缺陷。
综上所述,本发明实施例所提供的读取电压最佳化方法以及存储控制器,可在不需要准备已验证数据的情况下,对任何目标字线执行对应所述目标字线的读取电压最佳化操作。在所述读取电压最佳化操作中,存储控制器可通过读取电压快筛操作来快速地从较广的读取电压组的电压范围中获得电压范围较小的多个不同的读取电压组,调整所述多个读取电压组来获得多个不同的葛雷码计数总和差值,以从属于所述多个读取电压组中的多个读取电压中决定多个最佳化读取电压,以组成对应所述目标字线的最佳化读取电压组,进而增进了所读取数据的正确性且增进了读取操作整体的效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定者为准。

Claims (26)

1.一种读取电压最佳化方法,适用于配置有可复写式非易失性存储器模块的存储装置,其中所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线包括多个存储单元,其中所述多个存储单元中的每一个存储单元用以被程序化以存储对应不同的多个葛雷码的其中之一的比特值,并且所述多个葛雷码的总数为N,N为大于2的第一预定正整数,所述方法包括:
选择所述多个字线中的目标字线,其中所述目标字线的多个目标存储单元皆已被程序化;
利用不同的X个读取电压组分别读取所述多个目标存储单元,以获得对应的X个葛雷码总和组,其中X为第二预定正整数,并且所述X个读取电压组以及对应的所述X个葛雷码总和组皆以第一预定顺序排列,其中所述X个读取电压组中相邻的两个读取电压组之间的电压差值为第一预定电压差,其中每一个所述X个读取电压组具有依据第二预定顺序排列的N-1个读取电压,并且每一个所述X个葛雷码总和组具有依据所述第二预定顺序排列的N-1个葛雷码计数总和,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和对应所述N-1个读取电压中的第j个读取电压;
根据所述第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据所述第二预定顺序计算被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的X-1个葛雷码计数总和差值组,其中每一个所述X-1个葛雷码计数总和差值组具有依据所述第二预定顺序所排序的N-1个葛雷码计数总和差值,并且所述N-1个葛雷码计数总和差值中的第j个葛雷码计数总和差值对应所述N-1个读取电压中的第j个读取电压;以及
根据每一个所述X-1个葛雷码计数总和差值组所具有的所述N-1个葛雷码计数总和差值,从属于所述X个读取电压组中的X*(N-1)个读取电压中决定对应所述第二预定顺序的N-1个最佳化读取电压,以组成对应所述目标字线的最佳化读取电压组。
2.根据权利要求1所述的读取电压最佳化方法,还包括:
在上述选择所述多个字线中的所述目标字线的步骤后,执行读取电压快筛操作,以决定所述X个读取电压组,其中所述读取电压快筛操作包括:
利用Z个读取电压组来读取所述多个目标存储单元,以获得分别对应所述Z个读取电压组的Z个葛雷码计数组,其中所述Z个读取电压组中相邻的两个读取电压组之间的电压差值为第二预定电压差,所述Z的值小于所述第二预定正整数,并且所述第二预定电压差大于所述第一预定电压差;
根据所述Z个葛雷码计数组的每一个葛雷码计数组的第1个葛雷码计数与最后一个葛雷码计数中的至少其中之一及葛雷码计数预定值来从所述Z个读取电压组中选择其中一个作为一初始基准读取电压组;以及
根据所述初始基准读取电压组、第一葛雷码计数偏差值、所述第二预定正整数与所述第一预定电压差,来决定所述X个读取电压组。
3.根据权利要求1所述的读取电压最佳化方法,其中j的数值依据所述第二预定顺序为1至N-1,其中上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的步骤包括:
选择所述X个读取电压组中的第i个读取电压组,其中i的数值依据所述第一预定顺序为1至X;
利用所述第i个读取电压组的N-1个读取电压分别读取所述多个目标存储单元,以获得对应所述第i个读取电压组的被区分为所述多个葛雷码的多个读取比特值;
根据所获得的对应所述第i个读取电压组的所述多个读取比特值与所属的所述多个葛雷码,经由总计分别被区分至所述多个葛雷码的每一个葛雷码中的所述多个读取比特值的数量以作为对应所述第i个读取电压组的N个葛雷码计数,其中所述N个葛雷码计数以第三预定顺序排列;以及
根据对应所述第i个读取电压组的所述N个葛雷码计数与所述第二预定顺序来计算N-1个葛雷码计数总和,并且将所述N-1个葛雷码计数总和作为所述X个葛雷码总和组中对应所述第i个读取电压组的第i个葛雷码总和组,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和的值为前j个葛雷码计数的总和。
4.根据权利要求3所述的读取电压最佳化方法,其中上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的步骤还包括:
使用下列公式来计算每一个所述X个葛雷码总和组中的N-1个葛雷码计数总和:
Figure FDA0002885873760000021
其中SLi,j用以表示对应所述第i个读取电压组的第i个葛雷码总和组中的第j个葛雷码计数总和,Ci,k用以表示对应所述第i个读取电压组的N个葛雷码计数中的第k个葛雷码计数,其中k的数值依据所述第二预定顺序包括1至N-1。
5.根据权利要求1所述的读取电压最佳化方法,其中上述根据所述第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据所述第二预定顺序计算所述被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的所述X-1个葛雷码计数总和差值组的步骤包括:
从所述X个葛雷码总和组中选择第i个葛雷码总和组与第i+1个葛雷码总和组;
根据所述第二预定顺序计算所述第i+1个葛雷码总和组的所述N-1个葛雷码计数总和中的第j个葛雷码计数总和与所述第i个葛雷码总和组的所述N-1个葛雷码计数总和中的第j个葛雷码计数总和之间的差值,并且将所述差值作为所述X-1个葛雷码计数总和差值组中的第i个葛雷码计数总和差值组的N-1个葛雷码计数总和差值中的所述第j个葛雷码计数总和差值,其中所述第i个葛雷码计数总和差值组对应第i个读取电压组与第i+1个读取电压组,并且所述第i个葛雷码计数总和差值组中的所述第j个葛雷码计数总和差值对应所述第i个读取电压组中的第j个读取电压与第i+1个读取电压组中的第j个读取电压。
6.根据权利要求1所述的读取电压最佳化方法,其中上述根据每一个所述X-1个葛雷码总和差值组所具有的所述N-1个葛雷码计数总和差值,从属于所述X个读取电压组中的所述X*(N-1)个读取电压中决定对应所述第二预定顺序的所述N-1个最佳化读取电压,以组成对应所述目标字线的所述最佳化读取电压组的步骤包括:
根据所述第二预定顺序,从每一个所述X-1个葛雷码计数总和差值组中选择第j个葛雷码计数总和差值,以获得X-1个第j个葛雷码计数总和差值;以及
根据所述X-1个第j个葛雷码计数总和差值决定所述最佳化读取电压组的所述N-1个最佳化读取电压中的第j个最佳化读取电压。
7.根据权利要求6所述的读取电压最佳化方法,其中上述根据所述X-1个第j个葛雷码计数总和差值决定所述最佳化读取电压组的所述N-1个最佳化读取电压中的所述第j个最佳化读取电压的步骤包括:
识别所述X-1个第j个葛雷码计数总和差值中的小于最佳化门槛值的多个目标第j个葛雷码计数总和差值;
对所述多个目标第j个葛雷码计数总和差值进行检查操作,以从所述多个目标第j个葛雷码计数总和差值中识别一或多个错误第j个葛雷码计数总和差值,并且从所述多个目标第j个葛雷码计数总和差值中剩余的一或多个正确第j个葛雷码计数总和差值中选择其中之一作为最佳化第j个葛雷码计数总和差值;
识别所述最佳化第j个葛雷码计数总和差值所属的葛雷码计数总和差值组为于所述X-1个葛雷码计数总和差值组中的第Y个葛雷码计数总和差值组;以及
将第Y个读取电压组中的第j个读取电压或第Y+1个读取电压组中的第j个读取电压作为所述最佳化读取电压组的N-1个最佳化读取电压中的第j个最佳化读取电压,其中Y的值为小于等于X-1且大于等于1的正整数。
8.根据权利要求7所述的读取电压最佳化方法,其中上述对所述多个目标第j个葛雷码计数总和差值进行所述检查操作,以从所述多个目标第j个葛雷码计数总和差值中识别所述一或多个错误第j个葛雷码计数总和差值的步骤包括:
识别所述多个目标第j个葛雷码计数总和差值的其中之一目标第j个葛雷码计数总和差值所属的葛雷码计数总和差值组,并且识别所述目标第j个葛雷码计数总和差值所属的所述葛雷码计数总和差值组所对应的两个葛雷码总和组各自的第j个葛雷码计数;
判断两个第j个葛雷码计数的其中之一是否超出正确范围;
若所述两个第j个葛雷码计数的其中之一超出所述正确范围,判定所述目标第j个葛雷码计数总和差值为错误目标第j个葛雷码计数总和差值;以及
若所述两个第j个葛雷码计数皆不超出所述正确范围中,判定所述目标第j个葛雷码计数总和差值为正确目标第j个葛雷码计数总和差值。
9.根据权利要求8所述的读取电压最佳化方法,其中所读取的所述多个目标存储单元的数量是预先设定的,并且所述正确范围是根据所读取的所述多个目标存储单元的用以存储数据的存储空间的大小被设定,
其中若所述多个目标存储单元的所述存储空间的所述大小越大,所述正确范围被设定的越大,并且,若所述多个目标存储单元的所述存储空间的所述大小越小,所述正确范围被设定的越小,
其中所述正确范围还根据每一存储单元可存储的最大数据比特数量而被调整。
10.根据权利要求1所述的读取电压最佳化方法,其中上述选择所述多个字线中的所述目标字线的步骤包括:
在特定时间点,选择所述目标字线,其中所述特定时间点包括下列条件的其中之一:
所述存储装置闲置超过预定时间门槛值时;
所述存储装置开电时;以及
当从字线所读取的数据的错误比特数超过错误比特数门槛值时,其中所述字线被设定为所述目标字线。
11.根据权利要求1所述的读取电压最佳化方法,还包括:
反应于选择所述目标字线,识别所述目标字线的多个统计值;以及
根据所述多个统计值的至少其中之一来调整所述预定电压差的大小且调整第二预定正整数的值,
其中所述多个统计值包括:
所述目标字线的抹除次数值;
所述目标字线的读取次数值;
所述目标字线的久存时间值;以及
所述目标字线所存储数据的错误比特数。
12.根据权利要求1所述的读取电压最佳化方法,其中j的数值依据所述第二预定顺序为1至N-1,其中上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的步骤包括:
选择所述X个读取电压组中的第i个读取电压组,其中i的数值依据所述第一预定顺序为1至X;
利用所述第i个读取电压组的N-1个读取电压分别读取所述多个目标存储单元,以获得对应所述第i个读取电压组的被区分为所述多个葛雷码的多个读取比特值;
根据所获得的对应所述第i个读取电压组的所述多个读取比特值与所属的所述多个葛雷码,经由总计分别被区分至所述多个葛雷码的每一个葛雷码中的所述多个读取比特值的数量以作为对应所述第i个读取电压组的N个葛雷码计数,其中所述N个葛雷码计数以第三预定顺序排列;以及
根据对应所述第i个读取电压组的所述N个葛雷码计数与第四预定顺序来计算N-1个葛雷码计数总和,以并且将所述N-1个葛雷码计数总和作为所述X个葛雷码总和组中对应所述第i个读取电压组的第i个葛雷码总和组,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和的值为后N-j个葛雷码计数的总和,其中所述第四预定顺序与所述第二预定顺序相反。
13.根据权利要求11所述的读取电压最佳化方法,其中上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的步骤还包括:
使用下列公式来计算每一个所述X个葛雷码总和组中的N-1个葛雷码计数总和:
Figure FDA0002885873760000051
其中SRi,j用以表示对应第i个读取电压组的第i个葛雷码总和组中的第j个葛雷码计数总和,Ci,k用以表示对应所述第i个读取电压组的N个葛雷码计数中的第k个葛雷码计数,其中k的数值依据第四预定顺序包括N至2。
14.一种存储控制器,用于控制配置有可复写式非易失性存储器模块的存储装置,所述存储控制器包括:
连接接口电路,用以电性连接至主机系统;
存储器接口控制电路,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线包括多个存储单元,其中所述多个存储单元中的每一个存储单元用以被程序化以存储对应不同的多个葛雷码的其中之一的比特值,并且所述多个葛雷码的总数为N,N为大于2的第一预定正整数;
读取电压管理电路单元;以及
处理器,电性连接至所述连接接口电路、所述存储器接口控制电路及所述读取电压管理电路单元,
其中所述处理器选择所述多个字线中的目标字线,并且指示所述读取电压管理电路单元进行对应所述目标字线的读取电压最佳化操作,其中所述目标字线的多个目标存储单元皆已被程序化,其中在所述读取电压最佳化操作中,
所述读取电压管理电路单元用以利用不同的X个读取电压组分别读取所述多个目标存储单元,以获得对应的X个葛雷码总和组,其中X为第二预定正整数,并且所述X个读取电压组以及对应的所述X个葛雷码总和组皆以第一预定顺序排列,其中所述X个读取电压组中相邻的两个读取电压组之间的电压差值为预定电压差,其中每一个所述X个读取电压组具有依据第二预定顺序排列的N-1个读取电压,并且每一个所述X个葛雷码总和组具有依据所述第二预定顺序排列的N-1个葛雷码计数总和,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和对应所述N-1个读取电压中的第j个读取电压,
其中所述读取电压管理电路单元还用以根据所述第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据所述第二预定顺序计算被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的X-1个葛雷码计数总和差值组,其中每一个所述X-1个葛雷码计数总和差值组具有依据所述第二预定顺序所排序的N-1个葛雷码计数总和差值,并且所述N-1个葛雷码计数总和差值中的第j个葛雷码计数总和差值对应所述N-1个读取电压中的第j个读取电压,
其中所述读取电压管理电路单元还用以根据每一个所述X-1个葛雷码计数总和差值组所具有的所述N-1个葛雷码计数总和差值,从属于所述X个读取电压组中的X*(N-1)个读取电压中决定对应所述第二预定顺序的N-1个最佳化读取电压,以组成对应所述目标字线的最佳化读取电压组且完成对应所述目标字线的读取电压最佳化操作。
15.根据权利要求14所述的存储控制器,其中
在上述选择所述多个字线中的所述目标字线的运作后,所述读取电压管理电路单元还用以执行读取电压快筛操作,以决定所述X个读取电压组,其中所述读取电压快筛操作包括:
利用Z个读取电压组来读取所述多个目标存储单元,以获得分别对应所述Z个读取电压组的Z个葛雷码计数组,其中所述Z个读取电压组中相邻的两个读取电压组之间的电压差值为第二预定电压差,所述Z的值小于所述第二预定正整数,并且所述第二预定电压差大于所述第一预定电压差;
根据所述Z个葛雷码计数组的每一个葛雷码计数组的第1个葛雷码计数与最后一个葛雷码计数中的至少其中之一及一葛雷码计数预定值来从所述Z个读取电压组中选择其中一个作为一初始基准读取电压组;以及
根据所述初始基准读取电压组、第一葛雷码计数偏差值、所述第二预定正整数与所述第一预定电压差,来决定所述X个读取电压组。
16.根据权利要求14所述的存储控制器,其中j的数值依据所述第二预定顺序为1至N-1,其中在上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的运作中,
所述读取电压管理电路单元选择所述X个读取电压组中的第i个读取电压组,其中i的数值依据所述第一预定顺序为1至X,
其中所述读取电压管理电路单元利用所述第i个读取电压组的N-1个读取电压分别读取所述多个目标存储单元,以获得对应所述第i个读取电压组的被区分为所述多个葛雷码的多个读取比特值,
其中所述读取电压管理电路单元根据所获得的对应所述第i个读取电压组的所述多个读取比特值与所属的所述多个葛雷码,经由总计分别被区分至所述多个葛雷码的每一个葛雷码中的所述多个读取比特值的数量以作为对应所述第i个读取电压组的N个葛雷码计数,其中所述N个葛雷码计数以第三预定顺序排列,
其中所述读取电压管理电路单元根据对应所述第i个读取电压组的所述N个葛雷码计数与所述第二预定顺序来计算N-1个葛雷码计数总和,并且将所述N-1个葛雷码计数总和作为所述X个葛雷码总和组中对应所述第i个读取电压组的第i个葛雷码总和组,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和的值为前j个葛雷码计数的总和。
17.根据权利要求16所述的存储控制器,其中在上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的运作中,
所述读取电压管理电路单元使用下列公式来计算每一个所述X个葛雷码总和组中的N-1个葛雷码计数总和:
Figure FDA0002885873760000071
其中SLi,j用以表示对应所述第i个读取电压组的第i个葛雷码总和组中的第j个葛雷码计数总和,Ci,k用以表示对应所述第i个读取电压组的N个葛雷码计数中的第k个葛雷码计数,其中k的数值依据所述第二预定顺序包括1至N-1。
18.根据权利要求14所述的存储控制器,其中在上述根据所述第一预定顺序,选择所述X个葛雷码总和组中每两个相邻的葛雷码总和组,并且根据所述第二预定顺序计算所述被选择每两个葛雷码总和组各自的N-1个葛雷码计数总和中排序相同的两个葛雷码计数总和之间的葛雷码计数总和差值,以获得对应所有所述被选择每两个葛雷码总和组的所述X-1个葛雷码计数总和差值组的运作中,
所述读取电压管理电路单元从所述X个葛雷码总和组中选择第i个葛雷码总和组与第i+1个葛雷码总和组,
其中所述读取电压管理电路单元根据所述第二预定顺序计算所述第i+1个葛雷码总和组的所述N-1个葛雷码计数总和中的第j个葛雷码计数总和与所述第i个葛雷码总和组的所述N-1个葛雷码计数总和中的第j个葛雷码计数总和之间的差值,并且将所述差值作为所述X-1个葛雷码计数总和差值组中的第i个葛雷码计数总和差值组的N-1个葛雷码计数总和差值中的所述第j个葛雷码计数总和差值,其中所述第i个葛雷码计数总和差值组对应第i个读取电压组与第i+1个读取电压组,并且所述第i个葛雷码计数总和差值组中的所述第j个葛雷码计数总和差值对应所述第i个读取电压组中的第j个读取电压与第i+1个读取电压组中的第j个读取电压。
19.根据权利要求14所述的存储控制器,其中在上述根据每一个所述X-1个葛雷码总和差值组所具有的所述N-1个葛雷码计数总和差值,从属于所述X个读取电压组中的所述X*(N-1)个读取电压中决定对应所述第二预定顺序的所述N-1个最佳化读取电压,以组成对应所述目标字线的所述最佳化读取电压组的运作中,
所述读取电压管理电路单元根据所述第二预定顺序,从每一个所述X-1个葛雷码计数总和差值组中选择第j个葛雷码计数总和差值,以获得X-1个第j个葛雷码计数总和差值,
其中所述读取电压管理电路单元根据所述X-1个第j个葛雷码计数总和差值决定所述最佳化读取电压组的所述N-1个最佳化读取电压中的第j个最佳化读取电压。
20.根据权利要求19所述的存储控制器,其中在上述根据所述X-1个第j个葛雷码计数总和差值决定所述最佳化读取电压组的所述N-1个最佳化读取电压中的所述第j个最佳化读取电压的运作中,
所述读取电压管理电路单元识别所述X-1个第j个葛雷码计数总和差值中的小于最佳化门槛值的多个目标第j个葛雷码计数总和差值,
其中所述读取电压管理电路单元对所述多个目标第j个葛雷码计数总和差值进行检查操作,以从所述多个目标第j个葛雷码计数总和差值中识别一或多个错误第j个葛雷码计数总和差值,并且从所述多个目标第j个葛雷码计数总和差值中剩余的一或多个正确第j个葛雷码计数总和差值中选择其中之一作为最佳化第j个葛雷码计数总和差值,
其中所述读取电压管理电路单元识别所述最佳化第j个葛雷码计数总和差值所属的葛雷码计数总和差值组为于所述X-1个葛雷码计数总和差值组中的第Y个葛雷码计数总和差值组,
其中所述读取电压管理电路单元将第Y个读取电压组中的第j个读取电压或第Y+1个读取电压组中的第j个读取电压作为所述最佳化读取电压组的N-1个最佳化读取电压中的第j个最佳化读取电压,其中Y的值为小于等于X-1且大于等于1的正整数。
21.根据权利要求20所述的存储控制器,其中在上述对所述多个目标第j个葛雷码计数总和差值进行所述检查操作,以从所述多个目标第j个葛雷码计数总和差值中识别所述一或多个错误第j个葛雷码计数总和差值的运作中,
所述读取电压管理电路单元识别所述多个目标第j个葛雷码计数总和差值的其中之一目标第j个葛雷码计数总和差值所属的葛雷码计数总和差值组,并且识别所述目标第j个葛雷码计数总和差值所属的所述葛雷码计数总和差值组所对应的两个葛雷码总和组各自的第j个葛雷码计数,
其中所述读取电压管理电路单元判断两个第j个葛雷码计数的其中之一是否超出正确范围,
其中若所述两个第j个葛雷码计数的其中之一超出所述正确范围,所述读取电压管理电路单元判定所述目标第j个葛雷码计数总和差值为错误目标第j个葛雷码计数总和差值,
其中若所述两个第j个葛雷码计数皆不超出所述正确范围中,所述读取电压管理电路单元判定所述目标第j个葛雷码计数总和差值为正确目标第j个葛雷码计数总和差值。
22.根据权利要求21所述的存储控制器,其中所读取的所述多个目标存储单元的数量是预先设定的,并且所述正确范围是根据所读取的所述多个目标存储单元的用以存储数据的存储空间的大小被设定,
其中若所述多个目标存储单元的所述存储空间的所述大小越大,所述正确范围被设定的越大,并且,若所述多个目标存储单元的所述存储空间的所述大小越小,所述正确范围被设定的越小,
其中所述正确范围还根据每一存储单元可存储的最大数据比特数量而被调整。
23.根据权利要求14所述的存储控制器,其中在上述选择所述多个字线中的所述目标字线的运作中,
所述处理器于特定时间点,选择所述目标字线,其中所述特定时间点包括下列条件的其中之一:
所述存储装置闲置超过预定时间门槛值时;以及
当从字线所读取的数据的错误比特数超过错误比特数门槛值时,其中所述字线被设定为所述目标字线。
24.根据权利要求14所述的存储控制器,在所述读取电压最佳化操作中,
所述读取电压管理电路单元还用以反应于选择所述目标字线,识别所述目标字线所属的目标实体单元的多个统计值,
其中所述读取电压管理电路单元还用以根据所述目标实体单元的所述多个统计值的至少其中之一来调整所述预定电压差的大小且调整第二预定正整数的值,
其中所述多个统计值包括:
所述目标实体单元的抹除次数值;
所述目标实体单元的读取次数值;
所述目标实体单元的久存时间值;以及
所述目标字线所存储数据的错误比特数。
25.根据权利要求14所述的存储控制器,其中j的数值依据所述第二预定顺序为1至N-1,其中在上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的运作中,
所述读取电压管理电路单元选择所述X个读取电压组中的第i个读取电压组,其中i的数值依据所述第一预定顺序为1至X,
其中所述读取电压管理电路单元利用所述第i个读取电压组的N-1个读取电压分别读取所述多个目标存储单元,以获得对应所述第i个读取电压组的被区分为所述多个葛雷码的多个读取比特值,
其中所述读取电压管理电路单元根据所获得的对应所述第i个读取电压组的所述多个读取比特值与所属的所述多个葛雷码,经由总计分别被区分至所述多个葛雷码的每一个葛雷码中的所述多个读取比特值的数量以作为对应所述第i个读取电压组的N个葛雷码计数,其中所述N个葛雷码计数以第三预定顺序排列,
其中所述读取电压管理电路单元根据对应所述第i个读取电压组的所述N个葛雷码计数与第四预定顺序来计算N-1个葛雷码计数总和,以并且将所述N-1个葛雷码计数总和作为所述X个葛雷码总和组中对应所述第i个读取电压组的第i个葛雷码总和组,其中所述N-1个葛雷码计数总和中的第j个葛雷码计数总和的值为后N-j个葛雷码计数的总和,其中所述第四预定顺序与所述第二预定顺序相反。
26.根据权利要求25所述的存储控制器,其中在上述利用不同的所述X个读取电压组分别读取所述多个目标存储单元,以获得对应的所述X个葛雷码总和组的运作中,
所述读取电压管理电路单元使用下列公式来计算每一个所述X个葛雷码总和组中的N-1个葛雷码计数总和:
Figure FDA0002885873760000091
其中SRi,j用以表示对应所述第i个读取电压组的第i个葛雷码总和组中的第j个葛雷码计数总和,Ci,k用以表示对应所述第i个读取电压组的N个葛雷码计数中的第k个葛雷码计数,其中k的数值依据所述第四预定顺序包括N至2。
CN201810224434.8A 2018-03-19 2018-03-19 读取电压最佳化方法以及存储控制器 Active CN110289036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810224434.8A CN110289036B (zh) 2018-03-19 2018-03-19 读取电压最佳化方法以及存储控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810224434.8A CN110289036B (zh) 2018-03-19 2018-03-19 读取电压最佳化方法以及存储控制器

Publications (2)

Publication Number Publication Date
CN110289036A CN110289036A (zh) 2019-09-27
CN110289036B true CN110289036B (zh) 2021-05-18

Family

ID=68000748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810224434.8A Active CN110289036B (zh) 2018-03-19 2018-03-19 读取电压最佳化方法以及存储控制器

Country Status (1)

Country Link
CN (1) CN110289036B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111105835B (zh) * 2019-12-03 2022-03-18 长江存储科技有限责任公司 存储器读参考电压的确定方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653201A (zh) * 2014-12-02 2016-06-08 旺宏电子股份有限公司 读取平均化方法及使用读取平均化方法的存储器装置
CN106504796A (zh) * 2016-10-28 2017-03-15 东南大学 一种应用于nand闪存上的极化码纠错方案

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8158457B2 (en) * 2010-02-08 2012-04-17 Sandisk Technologies Inc. Rule-based semiconductor die stacking and bonding within a multi-die package

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653201A (zh) * 2014-12-02 2016-06-08 旺宏电子股份有限公司 读取平均化方法及使用读取平均化方法的存储器装置
CN106504796A (zh) * 2016-10-28 2017-03-15 东南大学 一种应用于nand闪存上的极化码纠错方案

Also Published As

Publication number Publication date
CN110289036A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
US9086954B2 (en) Data storing method, memory controller and memory storage apparatus
CN108701084B (zh) 部分写入块处理
US11288019B2 (en) Memory management method and storage controller
TWI651721B (zh) 解碼方法以及儲存控制器
TWI650757B (zh) 解碼方法以及儲存控制器
US10579518B2 (en) Memory management method and storage controller
US10424383B1 (en) Decoding method and storage controller
US10884665B2 (en) Data reading method, storage controller and storage device for optimizing read voltages
US10628082B2 (en) Data reading method and storage controller
CN111651371B (zh) 非对称型平面管理方法以及数据存储装置及其控制器
US10748599B1 (en) Data reading method, storage controller and storage device background of the disclosure
CN111258505B (zh) 快闪存储器的数据合并方法、控制电路单元与存储装置
CN110471612B (zh) 存储器管理方法以及存储控制器
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
CN108428467B (zh) 读取电压追踪方法、存储器储存装置及控制电路单元
CN110289036B (zh) 读取电压最佳化方法以及存储控制器
CN110377538B (zh) 存储器管理方法以及存储控制器
US10474386B1 (en) Memory management method and storage controller
CN110364207B (zh) 解码方法以及储存控制器
CN110364197B (zh) 解码方法以及存储控制器
CN108108118B (zh) 数据写入方法以及存储控制器
CN109273037B (zh) 数据读取方法以及存储控制器
CN110727390A (zh) 存储器管理方法以及存储控制器
CN112099727B (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
CN112802512B (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