CN114255811A - 用以存取快闪存储器模块的方法、快闪存储器控制器与电子装置 - Google Patents
用以存取快闪存储器模块的方法、快闪存储器控制器与电子装置 Download PDFInfo
- Publication number
- CN114255811A CN114255811A CN202110360202.7A CN202110360202A CN114255811A CN 114255811 A CN114255811 A CN 114255811A CN 202110360202 A CN202110360202 A CN 202110360202A CN 114255811 A CN114255811 A CN 114255811A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- memory cells
- states
- read
- memory
- 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.)
- Pending
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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output 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/08—Address circuits; Decoders; Word-line control 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
-
- 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/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种用以存取一快闪存储器模块的方法、快闪存储器控制器与电子装置。该方法包含:将一读取指令发送至该快闪存储器模块,以藉由使用多个读取电压来读取多个存储器单元,其中每个存储器单元可用以储存多个位元,每个存储器单元具有多个状态,该多个状态用于指示该多个位元的不同组合;从该快闪存储器模块中获取一读出信息;分析该读出信息以决定该多个存储器单元的该多个状态的数量;根据该多个存储器单元的该多个状态的数量,判断该多个存储器单元是平衡的还是不平衡的,以产生一判断结果;以及参考该判断结果来调整该多个读取电压的电压准位。
Description
技术领域
本发明有关于一种快闪存储器控制器,尤指一种快闪存储器模块存取方法以及相关的快闪存储器控制器。
背景技术
近年来由于存储器的技术不断地发展,各种可携式或非可携式存储器装置(例如:分别符合SD/MMC、CF、MS以及XD标准的记忆卡;又例如:固态硬碟(solid state drive,SSD);又例如:分别符合通用快闪存储器储存(Universal Flash Storage,UFS)与嵌入式多媒体卡(embedded Multi Media Card,eMMC)标准的嵌入式(embedded)存储器装置)被广泛地实施于诸多应用中,因此,如何改善这些存储器装置中的存储器的存取控制是本领域急需解决的问题。
以常用的NAND型快闪存储器而言,其主要可包含单阶储存单元(single levelcell,SLC)与多阶储存单元(multiple level cell,MLC)的快闪存储器,在单阶储存单元的快闪存储器中,作为存储器单元(memory cell)的每个晶体管只有两种电荷值,分别用以代表逻辑值0与逻辑值1。另外,在多阶储存单元的快闪存储器中,作为存储器单元的每个晶体管的储存能力可充分被利用,其中相较于单阶储存单元的快闪存储器中的晶体管,多阶储存单元的快闪存储器中的晶体管是采用较高的电压来驱动,以透过不同位准的电压在一个晶体管中记录至少两位元的资讯(诸如00、01、11或10)。理论上,多阶储存单元的快闪存储器的记录密度可以达到单阶储存单元的快闪存储器的记录密度的至少两倍,因此多阶储存单元的快闪存储器是NAND快闪存储器制造商的首选。
比起单阶储存单元的快闪存储器,多阶储存单元的快闪存储器的成本较低且容量较大,故多阶储存单元快闪存储器很快地成为市面上的存储器装置竞相采用的主流,然而,多阶储存单元的快闪存储器的不稳定性所导致的问题也一一浮现,为了确保对储存装置中的快闪存储器的存取控制符合相关规范,快闪存储器的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据相关技术,具有上述管理机制的现有技术储存装置中仍有不足之处,举例来说,当三阶储存单元(triple level cell,TLC)的快闪存储器被应用于存储器装置时,会有例如位元错误率增加等问题。尽管目前有针对三阶储存单元的快闪存储器的读取数据的传统感测方案试着解决这些问题,但在具有四阶储存单元(quadruple level cell,QLC)的快闪存储器的存储器装置上并不适用,尤其传统感测方案对于在四阶储存单元的快闪存储器中的每个存储器单元的高阶储存电位(high-level per memory cell)并不好。因此,需要一种新方法和相关结构,以在没有任何副作用或较不会带来副作用的情况下提升整体效能。
发明内容
本发明之一目的在于提供一种用以存取一快闪存储器模块的方法,其使用一主动前景扫描以判断出适当的读取电压,来读取储存于该快闪存储器模块的数据,以解决上述的问题。
本发明一实施例揭示了一种用以存取一快闪存储器模块的方法,包含以下步骤:将一读取指令发送至该快闪存储器模块,以藉由使用多个读取电压来读取该快闪存储器模块的至少一个字元线的多个存储器单元,其中每个存储器单元可用以储存多个位元,每个存储器单元具有多个状态,该多个状态用于指示该多个位元的不同组合;从该快闪存储器模块中获取一读出信息;分析该读出信息以确定该多个存储器单元的该多个状态的数量;根据该多个存储器单元的该多个状态的数量,判断该多个存储器单元是平衡的还是不平衡的,以产生一判断结果;以及参考该判断结果来调整该多个读取电压的电压准位。
本发明另一实施例揭示了一种快闪存储器控制器,其中该快闪存储器控制器耦接至一快闪存储器模块,该快闪存储器模块包含至少一快闪存储器芯片,每一快闪存储器芯片包含多个区块,每一区块包含多个分页,以及该快闪存储器控制器包含一存储器以及一微处理器,该存储器是用来储存一程序码,该微处理器是用来执行该程序码以透过一控制逻辑电路来存取该快闪存储器模块,其中该微处理器用以:将一读取指令发送至该快闪存储器模块,以藉由使用多个读取电压来读取该快闪存储器模块的至少一个字元线的多个存储器单元,其中每个存储器单元可用以储存多个位元,每个存储器单元具有多个状态,该多个状态用于指示该多个位元的不同组合;从该快闪存储器模块中获取一读出信息;分析该读出信息以决定该多个存储器单元的该多个状态的数量;根据该多个存储器单元的该多个状态的数量,判断该多个存储器单元是平衡的还是不平衡的,以产生一判断结果;以及参考该判断结果来调整该多个读取电压的电压准位。
本发明又另一实施例揭示了一种电子装置,包含一快闪存储器模块以及一快闪存储器控制器,该快闪存储器控制器是用以存取该快闪存储器模块,其中该快闪存储器控制器另用以:将一读取指令发送至该快闪存储器模块,以藉由使用多个读取电压来读取该快闪存储器模块的至少一个字元线的多个存储器单元,其中每个存储器单元可用以储存多个位元,每个存储器单元具有多个状态,该多个状态用于显示该多个位元的不同组合;从该快闪存储器模块中获取一读出信息;分析该读出信息以决定该多个存储器单元的该多个状态的数量;根据该多个存储器单元的该多个状态的数量,判断该多个存储器单元是平衡的还是不平衡的,以产生一判断结果;以及参考该判断结果来调整该多个读取电压的电压准位。
附图说明
图1是依据本发明一实施例的一电子装置的示意图。
图2是依据本发明一实施例的一三维NAND型快闪存储器的示意图。
图3是依据本发明一实施例的一四阶储存单元区块中的一存储器单元的多个状态(编程状态)的示意图。
图4是依据本发明一实施例的用来存取快闪存储器模块的方法的流程图。
图5是依据本发明一实施例的存储器单元的状态的直方图。
图6是依据本发明一实施例的存储器单元的阈值电压分布的示意图。
图7是依据本发明一实施例的用来将数据写入快闪存储器模块的方法的流程图。
图8是依据本发明一实施例的一种用来存取快闪存储器模块的方法的流程图。
【符号说明】
10:电子装置
50:主机装置
52:处理器
54:电源供应电路
100:存储器装置
110:存储器控制器
112:微处理器
112C:程序码
112M:只读存储器
114:控制逻辑电路
132:编码器
134:解码器
136:随机化器
138:去随机化器
116:随机存取存储器
118:传输接口电路
120:快闪存储器模块
122-1,122-2,122-N:快闪存储器芯片
400,402,404,406,408,410:步骤
M(1,1,1),M(2,1,1),M(Nx,1,1),
M(1,2,1),M(Nx,2,1),M(1,Ny,1),M(Nx,Ny,1),
M(1,1,2),M(2,1,2),M(Nx,1,2),
M(1,2,2),M(Nx,2,2),
M(1,Ny,2),M(Nx,Ny,2),
M(1,1,Nz),M(Nx,1,Nz),
M(1,2,Nz),M(Nx,2,Nz),
M(1,Ny,Nz),M(Nx,Ny,Nz),
M(nx,ny,nz):存储器单元
MBLS(1,1),MBLS(Nx,1),
MBLS(1,2),MBLS(Nx,2),
MBLS(1,Ny),MBLS(Nx,Ny):上方选择电路
MSLS(1,1),MSLS(Nx,1),
MSLS(1,2),MSLS(Nx,2),
MSLS(1,Ny),MSLS(Nx,Ny):下方选择电路
BL(1),BL(Nx):位元线
WL(1,1),WL(2,1),WL(Ny,1),
WL(1,2),WL(2,2),WL(Ny,2),
WL(1,Nz),WL(2,Nz),WL(Ny,Nz):字元线
BLS(1),BLS(2),BLS(Ny):上方选择线
SLS(1),SLS(2),SLS(Ny):下方选择线
SL(1),SL(2),SL(Ny):源极线
PS2D(1),PS2D(2),PS2D(Ny):电路模块
S(1,1),S(Nx,1),
S(1,2),S(Nx,2),
S(1,Ny),S(Nx,Ny):次要电路模块
VR1,VR2,VR3,VR4,VR5,
VR6,VR7,VR11,VR12,VR13,
VR14,VR15,VR12',VR13',
VR14',VR15':读取电压
S0,S1,S2,S3,S4,S5,S6,S7,
S8,S9,S10,S11,S12,S13,
S14,S15:状态
700,702,704,706,708,710:步骤
800,802,804,806,808,810,812:步骤
具体实施方式
请参考图1,图1是本发明一实施例的一电子装置10的示意图,其中电子装置10可包含一主机装置(host device)50以及一存储器装置(memory device)100。主机装置50可包含至少一处理器(例如一个或多个处理器),可被统称为处理器52,且可进一步包含耦接至处理器52的一电源供应电路54,处理器52可用以控制主机装置50的运作,而电源供应电路54可用来提供电源给处理器52与存储器装置100,并且输出一个或多个驱动电压至存储器装置100,存储器装置100可用以提供储存空间给主机装置50,并且从主机装置50取得该一个或多个驱动电压作为存储器装置100的电源。主机装置50的例子可包含(但不限于):多功能行动电话(multifunctional mobile phone)、穿戴装置、平板电脑(tablet)以及个人电脑(personal computer)诸如桌上型电脑及笔记型电脑。存储器装置100的例子可包含(但不限于):固态硬碟(solid state drive,SSD)以及各种型式的嵌入式(embedded)存储器装置,例如符合快捷外设组件互联(Peripheral Component Interconnect Express,PCIe)标准的嵌入式存储器装置等等。依据本实施例,存储器装置100可包含一快闪存储器控制器(flash memory controller)110,且可另包含一快闪存储器模块(flash memorymodule)120,其中快闪存储器控制器110可用以控制存储器装置100的运作以及存取快闪存储器模块120,以及快闪存储器模块120是用以储存资讯。快闪存储器模块120可包含至少一快闪存储器芯片,例如多个快闪存储器芯片122-1、122-2、…、122-N,其中”N”可表示大于1的正整数。
如图1所示,快闪存储器控制器110可包含一处理电路(例如一微处理器112)、一储存单元(例如一只读存储器(read-only memory,ROM)112M)、一控制逻辑电路114、一随机存取存储器(random access memory,RAM)116以及一传输接口电路118,其中上述元件可经由一总线(bus)彼此耦接。随机存取存储器116是以一静态随机存取存储器(Static RAM,SRAM)来实施,但本发明不限于此。随机存取存储器116可用以提供内部储存空间给快闪存储器控制器110,举例来说,随机存取存储器116可用来作为一缓冲存储器以缓冲数据。另外,本实施例的只读存储器112M可用以储存一程序码112C,且微处理器112可用以执行程序码112C以控制快闪存储器模块120的存取。请注意,在某些例子中,程序码112C可储存在随机存取存储器116或任何型式的存储器内。此外,控制逻辑电路114可用以控制快闪存储器模块120,且控制逻辑电路114可包含一编码器132、一解码器134、一随机化器(randomizer)136、一去随机化器(de-randomizer)138以及其他电路。传输接口电路118可符合一特定通信标准(诸如串列高级技术附件(Serial Advanced Technology Attachment,SATA)标准、外设组件互联(Peripheral Component Interconnect,PCI)标准、快捷外设组件互联标准、通用快闪储存(Universal Flash Storage,UFS)标准等等),且可依据该特定通信标准进行通信,举例来说,可以为了存储器装置100而和主机装置50进行通信,其中主机装置50可包含符合该特定通信标准的对应的传输接口电路,来和存储器装置100进行通信。
在本实施例中,主机装置50可将主机指令(host command)与对应的逻辑地址(logical address)传送至快闪存储器控制器110以存取存储器装置100,快闪存储器控制器110接收主机指令及逻辑地址,并将主机指令转换成存储器操作指令(可简称为操作指令),并进一步以操作指令控制快闪存储器模块120来对快闪存储器模块120当中某些实体地址的存储器单元(例如数据分页)进行读取、写入(write)╱编程(program)等操作,其中实体地址对应于逻辑地址。当快闪存储器控制器110对多个快闪存储器芯片122-1、122-2、…以及122-N中的任一快闪存储器芯片122-n进行一抹除(erase)运作时(其中,”N”可以表示在区间[1,N]中的任一整数),快闪存储器芯片122-n的多个区块(block)中的至少一区块可被抹除,其中,该多个区块中的每一区块可包含多个分页(例如数据分页),且一存取运作(例如读取或写入)可对一或多个分页进行。
图2是依据本发明一实施例的一三维(three-dimensional,3D)NAND型快闪存储器的示意图,举例来说,前述的快闪存储器芯片122-1、122-2、…以及122-N中的至少一者中的任一存储器元件可基于图2所示的该三维NAND快闪存储器来实施,但本发明不限于此。
依据本实施例,该三维NAND型快闪存储器可包含以一三维架构排列的多个存储器单元,诸如分别被排列于垂直Z轴的Nz层并且对齐分别对应于X轴、Y轴及Z轴的三个方向的(Nx*Ny*Nz)个存储器单元{{M(1,1,1),…,M(Nx,1,1)},{M(1,2,1),…,M(Nx,2,1)},…,{M(1,Ny,1),…,M(Nx,Ny,1)}}、{{M(1,1,2),…,M(Nx,1,2)},{M(1,2,2),…,M(Nx,2,2)},…,{M(1,Ny,2),…,M(Nx,Ny,2)}}、…、以及{{M(1,1,Nz),…,M(Nx,1,Nz)},{M(1,2,Nz),…,M(Nx,2,Nz)},…,{M(1,Ny,Nz),…,M(Nx,Ny,Nz)}},且可另包含用于进行选择控制的多个选择电路(selector circuit),诸如被排列于该Nz层上面的一上方层(upper layer)的(Nx*Ny)个上方选择电路{MBLS(1,1),…,MBLS(Nx,1)}、{MBLS(1,2),…,MBLS(Nx,2)}、…及{MBLS(1,Ny),…,MBLS(Nx,Ny)}、以及被排列于该Nz层下面的一下方层(lower layer)的(Nx*Ny)个下方选择电路{MSLS(1,1),…,MSLS(Nx,1)}、{MSLS(1,2),…,MSLS(Nx,2)}、…及{MSLS(1,Ny),…,MSLS(Nx,Ny)}。另外,该三维NAND型快闪存储器可包含用于存取控制的多条位元线(bit line)以及多条字元线(word line),诸如被排列于该上方层上面的一顶部层(top layer)的Nx条位元线BL(1)、…及BL(Nx)、以及分别被排列于该Nz层的(Ny*Nz)条字元线{WL(1,1),WL(2,1),…,WL(Ny,1)}、{WL(1,2),WL(2,2),…,WL(Ny,2)}、…及{WL(1,Nz),WL(2,Nz),…,WL(Ny,Nz)}。此外,该三维NAND型快闪存储器可包含用于进行选取控制的多条选择线(selection line),诸如被排列于该上方层的Ny条上方选择线BLS(1)、BLS(2)、…及BLS(Ny)、以及被排列于该下方层的Ny条下方选择线SLS(1)、SLS(2)、…及SLS(Ny),且可另包含用于提供多个参考位准的多条源极线,诸如被排列于该下方层下面的一底部层(bottom layer)的Ny个源极线(source line)SL(1)、SL(2)、…及SL(Ny)。
如图2所示,该三维NAND型快闪存储器可被区分成沿着Y轴分布的Ny个电路模块PS2D(1)、PS2D(2)、…及PS2D(Ny)。为便于理解,电路模块PS2D(1)、PS2D(2)、…及PS2D(Ny)可具有与一平面(planar)NAND快闪存储器(其存储器单元被排列于一单一层)类似的某些电气特征,因此可分别被视为多个虚拟二维(pseudo-2D)电路模块,但本发明不限于此。另外,电路模块PS2D(1)、PS2D(2)、…及PS2D(Ny)中的任一电路模块PS2D(ny)可包含Nx个次要(secondary)电路模块S(1,ny)、…及S(Nx,ny),其中“ny”可表示区间[1,Ny]中的任一整数。例如,电路模块PS2D(1)可包含Nx个次要电路模块S(1,1)、…及S(Nx,1),电路模块PS2D(2)可包含Nx个次要电路模块S(1,2)、…及S(Nx,2),…,以及电路模块PS2D(Ny)可包含Nx个次要电路模块S(1,Ny)、…及S(Nx,Ny)。在电路模块PS2D(ny)中,次要电路模块S(1,ny)、…及S(Nx,ny)中的任一个次要电路模块S(nx,ny)可包含Nz个存储器单元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz),且可包含对应于存储器单元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz)的一组选择电路,诸如上方选择电路MBLS(nx,ny)以及下方选择电路MSLS(nx,ny),其中“nx”可表示区间[1,Nx]中的任一整数。上方选择电路MBLS(nx,ny)、下方选择电路MSLS(nx,ny)以及存储器单元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz)可由晶体管来实施,例如,上方选择电路以及下方选择电路MSLS(nx,ny)可由不具有任何浮动闸极(floating gate)的普通晶体管来实施,而存储器单元M(nx,ny,1)、M(nx,ny,2)、…及M(nx,ny,Nz)中的任一存储器单元M(nx,ny,nz)可由一浮动闸极晶体管来实施,其中“nz”可表示区间[1,Nz]中的任一整数,但本发明不限于此。此外,在电路模块PS2D(ny)中的上方选择电路MBLS(1,ny)、…及MBLS(Nx,ny)可依据对应的选择线BLS(ny)上的选择讯号来进行选择,而在电路模块PS2D(ny)中的下方选择电路MSLS(1,ny)、…及MSLS(Nx,ny)可依据对应的选择线SLS(ny)上的选择讯号来进行选择。
在快闪存储器模块120中,当快闪存储器芯片122-1~122-N中任一者的区块作为单阶储存单元(single-level cell,SLC)区块时,该区块内的每一实体分页对应于一逻辑分页,亦即该分页的每个存储器单元仅用以储存一位元,其中一实体分页可包含由一字元线所控制的多个晶体管(例如对应至对应的字元线WL(1,Nz)的存储器单元M(1,1,Nz)~M(Nx,1,Nz)形成一实体分页)。当快闪存储器芯片122-1~122-N中任一者的区块作为多阶储存单元(multiple-level cell,MLC)区块时,该区块内的每一实体分页对应于二个逻辑分页,亦即该分页的每个存储器单元用以储存二个位元。当快闪存储器芯片122-1~122-N中任一者的区块作为三阶储存单元(triple-level cell,TLC)区块时,该区块内的每一实体分页对应于三个逻辑分页,亦即该分页的每个存储器单元用以储存三个位元。当快闪存储器芯片122-1~122-N中任一者的区块作为四阶储存单元(quad-level cell,QLC)区块时,该区块内的每一实体分页对应于四个逻辑分页,亦即该分页的每个存储器单元用以储存四个位元。
图3是依据本发明一实施例的一四阶储存单元区块中的一存储器单元的多个状态(编程状态)的示意图。如图3所示,每一存储器单元可具有十六种状态,且每一状态代表四个位元的不同组合,分别称为一最高位元(top bit)、一较高位元(upper bit)、一中间位元(middle bit)以及一较低位元(lower bit)。在图3的实施例中,当该存储器单元被编程为一状态S0时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(1,1,1,1);当该存储器单元被编程为一状态S1时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(1,1,1,0);当该存储器单元被编程为一状态S2时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(1,0,1,0);当该存储器单元被编程为一状态S3时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(1,0,0,0);当该存储器单元被编程为一状态S4时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元为分别(1,0,0,1);当该存储器单元被编程为一状态S5时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(0,0,0,1);当该存储器单元被编程为一状态S6时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(0,0,0,0);当该存储器单元被编程为一状态S7时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(0,0,1,0);当该存储器单元被编程为一状态S8时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(0,1,1,0);当该存储器单元被编程为一状态S9时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(0,1,0,0);当该存储器单元被编程为一状态S10时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(1,1,0,0);当该存储器单元被编程为一状态S11时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(1,1,0,1);当该存储器单元被编程为一状态S12时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(0,1,0,1);当该存储器单元被编程为一状态S13时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元为分别(0,1,1,1);当该存储器单元被编程为一状态S14时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(0,0,1,1);当该存储器单元被编程为一状态S15时,该存储器单元中储存的最高位元、较高位元、中间位元以及较低位元分别为(1,0,1,1)。
在传统技术中,当快闪存储器控制器110需要读取最高位元时,快闪存储器控制器110可以控制快闪存储器模块120施加四个读取电压VR5,VR10,VR12和VR15来读取存储器单元,如果在施加读取电压VR5时存储器单元是导通的,则该最高位元决定为“1”;如果在施加读取电压VR5时存储器单元是不导通的,且在施加读取电压VR10时存储器单元是导通的,则该最高位元决定为“0”;如果在施加读取电压VR10时存储器单元是不导通的,且在施加读取电压VR12时存储器单元是导通的,则该最高位元决定为“1”;如果在施加读取电压VR12时存储器单元是不导通的,且在施加读取电压VR15时存储器单元是导通的,则该最高位元决定为“0”;以及如果在施加读取电压VR15时存储器单元是不导通的,则该最高位元决定为“1”。
当快闪存储器控制器110需要读取较高位元时,快闪存储器控制器110可以控制快闪存储器模块120施加三个读取电压VR2,VR8和VR14来读取存储器单元,如果在施加读取电压VR2时存储器单元是导通的,则该较高位元决定为“1”;如果在施加读取电压VR2时存储器单元是不导通的,且在施加读取电压VR8时存储器单元是导通的,则该较高位元决定为“0”;如果在施加读取电压VR8时存储器单元是不导通的,且在施加读取电压VR14时存储器单元是导通的,则该较高位元决定为“1”;以及如果在施加读取电压VR14时存储器单元是不导通的,则该较高位元决定为“0”。
当快闪存储器控制器110需要读取中间位元时,快闪存储器控制器110可以控制快闪存储器模块120施加四个读取电压VR3,VR7,VR9和VR13来读取存储器单元,如果在施加读取电压VR3时存储器单元是导通的,则该中间位元决定为“1”;如果在施加读取电压VR3时存储器单元是不导通的,且在施加读取电压VR7时存储器单元是导通的,则该中间位元决定为“0”;如果在施加读取电压VR7时存储器单元是不导通的,且在施加读取电压VR9时存储器单元是导通的,则该中间位元决定为“1”;如果在施加读取电压VR9时存储器单元是不导通的,且在施加读取电压VR13时存储器单元是导通的,则该中间位元决定为“0”;以及如果在施加读取电压VR13时存储器单元是不导通的,则该中间位元决定为“1”。
当快闪存储器控制器110需要读取较低位元时,快闪存储器控制器110可以控制快闪存储器模块120施加四个读取电压VR1,VR4,VR6和VR11来读取存储器单元,如果在施加读取电压VR1时存储器单元是导通的,则该较低位元决定为“1”;如果在施加读取电压VR1时存储器单元是不导通的,且在施加读取电压VR4时存储器单元是导通的,则该较低位元决定为“0”;如果在施加读取电压VR4时存储器单元是不导通的,且在施加读取电压VR6时存储器单元是导通的,则该较低位元决定为“1”;如果在施加读取电压VR6时存储器单元是不导通的,且在施加读取电压VR11时存储器单元是导通的,则该较低位元决定为“0”;如果在施加读取电压VR11时存储器单元是不导通的,则该较低位元决定为“1”。
需注意的是,图3中所示的格雷码(gray code)仅用于说明,而不是对本发明的限制。任何合适的格雷码都可以在存储器装置100中使用,且用于判断最高位元、较高位元、中间位元和较低位元的读取电压可以相对应地改变。
藉由使用读取电压VR1~VR15中的一部分读取电压从存储器单元读取的位元可以被视为一符号位元(sign bit),并且从多个存储器单元(例如4K个存储器单元)获得的符号位元由去随机化器138处理并且由解码器134执行一错误更正(error correction)操作以生成该编码数据。然而,由于QLC区块内的存储器单元的状态间隔较小,因此这些状态可能由于快闪存储器中发生的读取干扰、编程干扰或数据保留问题而具有严重的变动(variation),且该错误更正操作也可能会失败。为了解决这个问题,传统技术可进一步施加额外的读取电压来读取存储器单元以获得多个软位元(soft bit),以提升错误更正操作的成功率。举例来说,如果解码器134不能对从存储器单元获得的符号位元进行解码,则快闪存储器控制器110可以控制快闪存储器模块120使用额外的读取电压来再次读取存储器单元以获得第一组软位元,且解码器134使用一低密度奇偶校验码(low-density parity-check code,LDPC)方法来解码具有第一组软位元的符号位元,例如,如果快闪存储器控制器110打算读取该区块的一最高数据页(即,存储器单元的最高位元),则快闪存储器控制器110可以控制快闪存储器模块120使用额外的读取电压(VR5-Δ)、(VR10-Δ)、(VR12-Δ)以及(VR15-Δ)以获得第一组软位元。如果解码器134仍然解码失败,则快闪存储器控制器110可以控制快闪存储器模块120使用额外的读取电压(VR5+Δ)、(VR10+Δ)、(VR12+Δ)以及(VR15+Δ)来再次读取存储器单元以获得第二组软位元,且解码器134使用LDPC方法对具有第一组软位元及第二组软位元的符号位元进行解码,以此类推。
鉴于以上所述,如果快闪存储器控制器110需要从快闪存储器模块120内的QLC区块读取数据,则快闪存储器控制器110可以读取存储器单元并对数据进行多次解码以成功解码获得软位元,每次快闪存储器控制器110读取存储器单元都需要向快闪存储器模块120发送读取指令,且快闪存储器模块120需要一读取繁忙时间(read busy time)来读取符号位元或软位元,因此,传统读取机制用于具有诸如QLC块的高密度储存的3D NAND快闪存储器时效率较低。
为了解决上述问题,本发明的实施例提供了一种主动检测状态的信息的方法,以判断快闪存储器中的状态是否因为读取干扰、编程干扰或数据保留问题而发生变动,然后快闪存储器控制器110可控制读取电压VR1~VR15的一部分使其具有适当的准位,以使快闪存储器控制器110可以提升解码成功率,进一步提高系统效率。
图4是依据本发明一实施例的用来存取快闪存储器模块120的方法的流程图。在步骤400中,流程开始,且主机装置50以及存储器装置100被上电。在步骤402中,快闪存储器控制器110发送一读取指令至快闪存储器模块120以要求读取一或多个分页的数据。在步骤404中,快闪存储器模块120接收该读取指令,并使用所有读取电压来读取分页中的所有存储器单元以产生一读出信息,而快闪存储器模块120将该读出信息发送至快闪存储器控制器110。以图3为例,快闪存储器模块120利用读取电压VR1~VR15读取一字元线上的每个存储器单元以获得四个分页的数据,因为所有读取电压VR1~VR15都被使用于读取存储器单元,所以快闪存储器控制器110可以准确知道图3中所示的每种状态的数量。在步骤406中,在从快闪存储器模块120依序接收数据的过程中,快闪存储器控制器110判断至少一部分存储器单元的状态的数量是平衡的还是不平衡的,以产生一判断结果,若该判断结果指示部分存储器单元的状态数量为平衡的,则流程进入步骤408;若该判断结果指示部分存储器单元的状态数量为不平衡的,则流程进入步骤410。
具体而言,因为写入到快闪存储器模块120中的数据是之前由随机化器136处理过,所以状态S0~S15的数量应该彼此接近。举例来说,如果快闪存储器控制器110从快闪存储器模块120接收到一万六千个存储器单元的最高有效位元(most significant bit,MSB),则一万六千个存储器单元的16个状态S0~S15中的每个状态的数量应约为「1000」。若状态的数量之间的差在一定义的范围内,则判断状态的数量为平衡的;若状态的数量之间的差不在该定义的范围内,则判断为状态的数量为不平衡的。举例来说,快闪存储器控制器110可以建立如图5所示的直方图。如图5所示,理想中,状态S0~S15具有相似的数量,且若分页有数据保留或读取干扰等问题,则存储器单元可能具有阈值偏移问题。在图5所示的例子中,状态S15偏移到其他状态(例如状态S12~S14),因此一感测放大器(senseamplifier)不会从任何存储器单元感测出状态S15,并且该阈值偏移问题的现象会导致不平衡的状态数量。
若快闪存储器控制器110确定至少一部分存储器单元的状态的数量为平衡的,则流程进入步骤408,且快闪存储器控制器110可以控制快闪存储器模块120使用原始读取电压以读取后续的分页。如果快闪存储器控制器110判断至少一部分存储器单元的状态的数量为不平衡的,则流程进入步骤410,且快闪存储器控制器110调整读取电压VR1~VR15的一部分,以便快闪存储器控制器110可以控制快闪存储器模块120使用具有适当电压准位的调整后的读取电压来读取后续的分页。
关于步骤406,微处理器112或控制逻辑114可计算存储器单元的每个状态的数量与理想值之间的差,以产生该判断结果,以进一步判断至少一部分存储器单元的状态是平衡的还是不平衡的。具体而言,请参照第5图,假设存储器单元的每个状态的理想数量为“1000”,并且状态S0至S15的实际数量分别为“1002”、“990”、“980”、“1028”、“1010”、、“1010”、“1100”、“1050”、“1050”、“1020”、“1000”、“1300”、“1300”、“1180”以及“0”,微处理器112或控制逻辑114可以计算出与状态S0至S15相对应的差如下:“2”、“-10”、“-20”、“28”、“10”、“-10”、“10”、“100”、“50”、“50”、“20”、“0”、“300”、“300”、“180”以及“-1000”。在一个实施例中,若任何一个差大于一阈值(例如“80”),则微处理器112或控制逻辑114判断存储器单元的状态为不平衡的;若每个差均不大于该阈值,则微处理器112或控制逻辑114判断存储器单元的状态为平衡的。
关于步骤410,微处理器112或控制逻辑114可以参考在步骤406中计算出的差以决定更新后的读取电压。举例来说,微处理器112或控制逻辑114可以依据与状态S14和S15相对应的差以决定更新后的读取电压VR15',微处理器112或控制逻辑114可以依据更新后的读取电压VR15'以及与状态S13和S14相对应的差以决定更新后的读取电压VR14',微处理器112或控制逻辑114可以依据更新后的读取电压VR14'以及与状态S12和S13相对应的差以决定更新后的读取电压VR13',微处理器112或控制逻辑114可以依据更新后的读取电压VR13'以及与状态S11和S12相对应的差来决定更新后的读取电压VR12',依此类推。可以在一查找表中建立上述参数(例如,更新后的读取电压)与差之间的关系,且微处理器112或控制逻辑114可以参考在步骤406中计算出的差,再通过使用查找表以决定更新后的读取电压。图6显示出了用于代替原始读取电压VR12、VR13、VR14以及VR15的更新后的读取电压VR12'、VR13'、VR14'及VR15'。请参考图6,因为状态S15、S14、S13及S12向左移动,所以微处理器112或控制逻辑114将读取电压VR12、VR13、VR14及VR15向左调整以产生更新后的读取电压VR12'、VR13'、VR14'及VR15',其具有比先前更低的电压准位。
图4所显示的流程可以在前景操作及/或背景操作中执行。以背景操作为例,当快闪存储器控制器110被判断为空闲状态时,微处理器112可以开始图4所显示的流程,以将读取指令发送到快闪存储器模块120。举例来说,当快闪存储器控制器110在几秒钟内没有从主机装置50接收任何读取指令或写入指令时,微处理器112可以确定快闪存储器控制器110是处于空闲状态的。以前景操作为例,当快闪存储器控制器110从主机装置50接收到读取指令时,快闪存储器控制器110将读取指令发送给快闪存储器模块120,以获得主机装置50所需的读出信息,且快闪存储器控制器110可进一步使用从快闪存储器模块120读取的读出信息来执行步骤406/408/410。另外,如果主机装置50发送读取指令以请求仅一个逻辑分页(例如,仅有一字元线上的存储器单元的较高位元),则快闪存储器控制器110可以使用读取电压VR1~VR15中所有的读取电压以读取字元线的存储器单元的最高位元、较高位元、中间位元以及较低位元,以用于判断存储器单元的状态是平衡的还是不平衡的(步骤406);以及解码器134和解随机化器138可以只处理与较高位元相对应的读出信息,以产生数据到主机装置50。
在一个实施例中,因为图4所显示的流程可能占用系统资源,所以当更新后的读取电压更加合适时,可以禁用(disable)图4的流程。举例来说,如果主机装置50发送一读取指令以请求读取在一区块内的五十个逻辑分页,则快闪存储器控制器110可以使用所读出的信息的一部分(例如十二个逻辑分页)来判断存储器单元的状态为平衡的或不平衡的。
在图4~6所显示的上述实施例中,微处理器112或控制逻辑114可以计算存储器单元的每个状态的数量与理想值之间的差,以产生该判断结果,其中理想值是每个状态的一平均值。例如,如果读取了一万六千个存储器单元,并且有十六个状态S0-S15,则理想值(平均值)为“1000”。然而,使用平均值作为理想值在决定调整后的读取电压时可能会产生误差,为了解决这个问题,当数据写入快闪存储器模块120时,可记录存储器单元的每个状态的数量(以下称为存储器单元的每个状态的原始数量),将其作为理想值并用于计算存储器单元的每种状态的数量与理想值之间的差。
具体而言,图7显示出了依据本发明一个实施例的记录状态S0至S15的原始数量的流程。在步骤700中,流程开始。在步骤702中,快闪存储器控制器110从主机装置50接收写入指令和数据,其中该数据对应于四个逻辑分页(即,该数据可以存储在单一字元线的存储器单元中)。在步骤704中,随机化器136对数据执行一数据成形(data shaping)操作以产生一随机数据。在步骤706中,编码器132对该随机数据进行编码以产生一编码数据,其中,该编码数据包括该随机数据和对应的一错误更正码(error correcting code,ECC)。在步骤708中,控制逻辑电路114计算状态S0至S15的数量(原始数量)。具体而言,控制逻辑电路114可以参考图3所示的格雷码来计算状态S0至S15的数量,举例来说,假设该编码数据对应于分别命名为最高分页(top page)、较高分页(upper page)、中间分页(middle page)及较低分页(lower page)的四个逻辑分页,当准备写入存储器单元的最高分页、较高分页、中间分页及较低分页的位元分别为“1”、“1”、“1”、“1”时,判断存储器单元对应状态S0;当准备写入存储器单元的最高分页、较高分页、中间分页及较低分页的位元分别为“1”、“1”、“1”、“0”时,判断存储器单元对应状态S1;当准备写入存储器单元的最高分页、较高分页、中间分页及较低分页的位元分别为“1”、「0」、“1”、“0”时,判断存储器单元对应状态S2;当准备写入存储器单元的最高分页、较高分页、中间分页及较低分页的位元分别为“1”、“0”、“0”、“0”时,判断存储器单元对应状态S3,以此类推。在步骤710中,快闪存储器控制器110将具有存储器单元的状态的原始数量的编码数据写入字元线的分页中,具体而言,可以藉由编码器132对存储器单元的原始数量的信息进行编码以进行数据保护,然后将其记录在字元线的一或多个分页的一备用区域(spare region)或一元集(meta chunk)当中。
图8是依据本发明一实施例的用来存取快闪存储器模块120的方法的流程图。在步骤800中,流程开始,且主机装置50以及存储器装置100被上电。在步骤802中,快闪存储器控制器110向快闪存储器模块120发送一读取指令,并请求一或多个分页的数据。在步骤804中,快闪存储器模块120接收该读取指令,并使用所有读取电压读取分页的所有存储器单元以产生一读出信息,而快闪存储器模块120将该读出信息发送给快闪存储器控制器110。以图3为例,快闪存储器模块120利用读取电压VR1~VR15以读取一字元线上的每个存储器单元以获得四个分页的读出信息,由于所有读取电压VR1~VR15都用于读取存储器单元,所以快闪存储器控制器110可以准确知道图3中所显示的每种状态的数量。在步骤806中,解码器134对读出信息进行解码以获得该字元线上的存储器单元的16个状态S0至S15的原始数量。在步骤808中,在从快闪存储器模块120依序接收数据的过程中,快闪存储器控制器110判断至少一部分存储器单元的状态数量是平衡的还是不平衡的,以产生一判断结果,若该判断结果指示该至少一部分存储器单元的状态数量为平衡的,则流程进入步骤810;若该判断结果指示该至少一部分存储器单元的状态数量是不平衡的,则流程进入步骤812。
关于步骤808,微处理器112或控制逻辑114可以计算存储器单元的每种状态的数量与理想值(即每种状态的原始数量)之间的差,以产生判断结果,并用以判断至少一部分存储器单元的状态是平衡的或是不平衡的。具体而言,类似于图5中所示的实施例,假设状态S0至S15的原始数量分别为“950”、“990”、“1020”、“1030”、“1020”、“1030”、“960”、“1000”、“1010”、“990”、“950”、“1050”、“1100”、“1100”、“1050”以及“650”,且状态S0~S15的实际数量分别为“1002”、“990”、“980”、“1028”、“1010”、“990”、“1010”、“1100”、“1050”、“1050”、“1020”、“1000”、“1300”、“1300”、“1180”以及“0”,则微处理器112或控制逻辑114可以计算出对应于状态S0至S15的差如下:“52”、“0”、“-40”、“-2”、“-10”、“-40”、“50”、“100”、“40”、“60”、“70”、“-50”、“200”、“200”、“130”以及“-650”。在一个实施例中,若任何一个差大于一阈值,则微处理器112或控制逻辑114判断存储器单元的状态为不平衡的;若每一个差均不大于该阈值,则微处理器112或控制逻辑114判断存储器单元的状态为平衡的。
简而言之,在本发明快闪存储器模块的存取方法中,由于依据存储器单元的状态信息来调整读取电压,因此仅使用硬解码方法就可以成功解码大部分的读取信息,仅少量的读取信息需要使用软解码方法(例如低密度奇偶校验码方法)来解码,因此,解码器的操作变得更快,并且快闪存储器控制器的效率也可以提升。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (19)
1.一种用以存取一快闪存储器模块的方法,包含:
将一读取指令发送至该快闪存储器模块,以藉由使用多个读取电压来读取该快闪存储器模块的至少一个字元线的多个存储器单元,其中每个存储器单元可用以储存多个位元,每个存储器单元具有多个状态,该多个状态用于指示该多个位元的不同组合;
从该快闪存储器模块中获取一读出信息;
分析该读出信息以决定该多个存储器单元的该多个状态的数量;
根据该多个存储器单元的该多个状态的数量,判断该多个存储器单元是平衡的还是不平衡的,以产生一判断结果;以及
参考该判断结果来调整该多个读取电压的电压准位。
2.如权利要求1所述的方法,其特征在于,判断该多个存储器单元是平衡的还是不平衡的的步骤包含:
藉由计算该多个存储器单元的该多个状态的数量与多个理想值之间的多个差,来判断该多个存储器单元是平衡的还是不平衡的,以产生该判断结果。
3.如权利要求2所述的方法,其特征在于,每一理想值是藉由将该多个存储器单元的数量除以每一存储器单元的该多个状态的数量而获得的一平均值。
4.如权利要求2所述的方法,其特征在于,该多个理想值是当准备将数据储存到该多个存储器单元中时,所产生的该多个存储器单元的多个状态的多个原始数量。
5.如权利要求4所述的方法,其特征在于,还包含:
在将该读取指令发送到该快闪存储器模块的步骤之前:
从一主机装置接收一写入指令和数据;
对该数据进行一数据成形操作以产生一随机数据;
对该随机数据进行编码以产生一编码数据;
依据该编码数据来计算该多个状态的该多个原始数量;以及
将该编码数据和该多个状态的该多个原始数量写入该多个存储器单元中。
6.如权利要求2所述的方法,其特征在于,藉由计算该多个存储器单元的该多个状态的数量与该多个理想值之间的差,来判断该多个存储器单元是平衡的还是不平衡的步骤包含:
若该多个状态所分别对应的该多个差中的任一个差大于一阈值,则判断该多个存储器单元为不平衡的,以产生该判断结果;以及
若该多个状态所分别对应的该多个差均未大于该阈值,则判断该多个存储器单元为平衡的,以产生该判断结果。
7.如权利要求2所述的方法,其特征在于,参考该判断结果调整该多个读取电压的电压准位的步骤包含:
若该判断结果指示该多个存储器单元为平衡的,则不调整该多个读取电压的电压准位;以及
若该判断结果指示该多个存储器单元为不平衡的,则根据该多个存储器单元的该多个状态的数量与该多个理想值之间的该多个差,来调整该多个读取电压的电压准位。
8.如权利要求1所述的方法,其特征在于,该方法在一快闪存储器控制器的一前景操作中执行。
9.一种快闪存储器控制器,其中该快闪存储器控制器耦接至一快闪存储器模块,该快闪存储器模块包含至少一快闪存储器芯片,每一快闪存储器芯片包含多个区块,每一区块包含多个分页,以及该快闪存储器控制器包含:
一存储器,用来储存一程序码;以及
一微处理器,用来执行该程序码以透过一控制逻辑电路来存取该快闪存储器模块;
其中该微处理器用以:
将一读取指令发送至该快闪存储器模块,以藉由使用多个读取电压来读取该快闪存储器模块的至少一个字元线的多个存储器单元,其中每个存储器单元可用以储存多个位元,每个存储器单元具有多个状态,该多个状态用于指示该多个位元的不同组合;
从该快闪存储器模块中获取一读出信息;
分析该读出信息以决定该多个存储器单元的该多个状态的数量;
根据该多个存储器单元的该多个状态的数量,判断该多个存储器单元是平衡的还是不平衡的,以产生一判断结果;以及
参考该判断结果来调整该多个读取电压的电压准位。
10.如权利要求9所述的快闪存储器控制器,其特征在于,该微处理器用以藉由计算该多个存储器单元的该多个状态的数量与多个理想值之间的多个差,来判断该多个存储器单元是平衡的还是不平衡的,以产生该判断结果。
11.如权利要求10所述的快闪存储器控制器,其特征在于,每一理想值是藉由将该多个存储器单元的数量除以每一存储器单元的该多个状态的数量而获得的一平均值。
12.如权利要求10所述的快闪存储器控制器,其特征在于,该多个理想值是当准备将数据储存到该多个存储器单元中时,所产生的该多个存储器单元的该多个状态的多个原始数量。
13.如权利要求12所述的快闪存储器控制器,其特征在于,在该微处理器将该读取指令发送到该快闪存储器模块之前,该微处理器更用以:
从一主机装置接收一写入指令和数据;
对该数据进行一数据成形操作以产生一随机数据;
对该随机数据进行编码以产生一编码数据;
依据该编码数据来计算该多个状态的该多个原始数量;以及
将该编码数据和该多个状态的该多个原始数量写入该多个存储器单元中。
14.如权利要求10所述的快闪存储器控制器,其特征在于,若该多个状态所分别对应的该多个差中的任一个差大于一阈值,则该微处理器判断该多个存储器单元为不平衡的,以产生该判断结果;以及若该多个状态所分别对应的该多个差均未大于该阈值,则该微处理器判断该多个存储器单元为平衡的,以产生该判断结果。
15.如权利要求10所述的快闪存储器控制器,其特征在于,若该判断结果指示该多个存储器单元为平衡的,则该微处理器不调整该多个读取电压的电压准位;以及若该判断结果指示该多个存储器单元为不平衡的,则该微处理器根据该多个存储器单元的该多个状态的数量与该多个理想值之间的该多个差,来调整该多个读取电压的电压准位。
16.一种电子装置,包含:
一快闪存储器模块;以及
一快闪存储器控制器,用以存取该快闪存储器模块;
其中该快闪存储器控制器另用以:
将一读取指令发送至该快闪存储器模块,以藉由使用多个读取电压来读取该快闪存储器模块的至少一个字元线的多个存储器单元,其中每个存储器单元可用以储存多个位元,每个存储器单元具有多个状态,该多个状态用于指示该多个位元的不同组合;
从该快闪存储器模块中获取一读出信息;
分析该读出信息以决定该多个存储器单元的该多个状态的数量;
根据该多个存储器单元的该多个状态的数量,判断该多个存储器单元是平衡的还是不平衡的,以产生一判断结果;以及
参考该判断结果来调整该多个读取电压的电压准位。
17.如权利要求16所述的电子装置,其特征在于,该快闪存储器控制器用以藉由计算该多个存储器单元的该多个状态的数量与多个理想值之间的多个差,来判断该多个存储器单元是平衡的还是不平衡的,以产生该判断结果。
18.如权利要求17所述的电子装置,其特征在于,每一理想值是藉由将该多个存储器单元的数量除以每一存储器单元的该多个状态的数量而获得的一平均值。
19.如权利要求17所述的电子装置,其特征在于,该多个理想值是当准备将数据储存到该多个存储器单元中时,所产生的该多个存储器单元的该多个状态的多个原始数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/030,330 | 2020-09-23 | ||
US17/030,330 US11508446B2 (en) | 2020-09-23 | 2020-09-23 | Method for accessing flash memory module and associated flash memory controller and electronic device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114255811A true CN114255811A (zh) | 2022-03-29 |
Family
ID=80740793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110360202.7A Pending CN114255811A (zh) | 2020-09-23 | 2021-04-02 | 用以存取快闪存储器模块的方法、快闪存储器控制器与电子装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11508446B2 (zh) |
CN (1) | CN114255811A (zh) |
TW (1) | TWI782458B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI783842B (zh) * | 2021-12-29 | 2022-11-11 | 瑞昱半導體股份有限公司 | 記憶體壞塊掃描方法及其電路系統 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130343131A1 (en) * | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US9645177B2 (en) * | 2012-05-04 | 2017-05-09 | Seagate Technology Llc | Retention-drift-history-based non-volatile memory read threshold optimization |
US10381090B2 (en) * | 2017-03-31 | 2019-08-13 | Samsung Electronics Co., Ltd. | Operation method of nonvolatile memory device and storage device |
US10101931B1 (en) * | 2017-06-04 | 2018-10-16 | International Business Machines Corporation | Mitigating read errors following programming in a multi-level non-volatile memory |
US10872013B2 (en) * | 2019-03-15 | 2020-12-22 | Toshiba Memory Corporation | Non volatile memory controller device and method for adjustment |
-
2020
- 2020-09-23 US US17/030,330 patent/US11508446B2/en active Active
-
2021
- 2021-03-24 TW TW110110624A patent/TWI782458B/zh active
- 2021-04-02 CN CN202110360202.7A patent/CN114255811A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220093191A1 (en) | 2022-03-24 |
TWI782458B (zh) | 2022-11-01 |
TW202226252A (zh) | 2022-07-01 |
US11508446B2 (en) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110739016B (zh) | 闪存控制器以及用来存取闪存模块的方法 | |
CN107015886B (zh) | 操作存储设备的方法和操作包括其的数据处理系统的方法 | |
US8762629B2 (en) | Data conditioning to improve flash memory reliability | |
CN110444246B (zh) | 用于存储器系统的相邻辅助校正错误恢复及其方法 | |
TWI474330B (zh) | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 | |
KR100902008B1 (ko) | 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템 | |
CN109390027B (zh) | 解码方法及相关的闪存控制器与电子装置 | |
TWI730661B (zh) | 用來藉助於資訊排列進行記憶裝置的存取管理的方法、記憶裝置及其控制器、以及電子裝置 | |
US20150058697A1 (en) | Storage device, controller and memory controlling method | |
TWI782644B (zh) | 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置 | |
CN111540393B (zh) | 用于基于字线分组的读取操作的存储器系统和方法 | |
CN115938446A (zh) | 存储器装置、其操作方法以及存储器系统 | |
US20140289454A1 (en) | Storage device and controller | |
CN113628655B (zh) | 用以存取闪存模块的方法、闪存控制器与电子装置 | |
CN110569143B (zh) | 用于存储器系统的解码器及其方法 | |
CN111858390A (zh) | 存储器系统和操作存储器系统的方法 | |
CN116153364A (zh) | 估计非参数化最佳读取阈值的系统和方法 | |
CN114464241A (zh) | 用于读取错误恢复的系统和方法 | |
CN113936715A (zh) | 使用域变换的读取阈值优化系统和方法 | |
TWI782458B (zh) | 用以存取快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
US10706897B2 (en) | Read threshold voltage selection | |
US11217319B2 (en) | Read threshold optimization systems and methods by multi-dimensional search | |
CN115910181A (zh) | 基于预处理条件生成测试多核ssd固件的系统和方法 | |
CN114550785A (zh) | 使用元信息自适应地确定读取阈值电压的系统 | |
US20180039429A1 (en) | Apparatus and method for programming non-volatile memory using a multi-cell storage cell group |
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 |