CN110658977B - 存储器管理方法以及存储控制器 - Google Patents
存储器管理方法以及存储控制器 Download PDFInfo
- Publication number
- CN110658977B CN110658977B CN201810691387.8A CN201810691387A CN110658977B CN 110658977 B CN110658977 B CN 110658977B CN 201810691387 A CN201810691387 A CN 201810691387A CN 110658977 B CN110658977 B CN 110658977B
- Authority
- CN
- China
- Prior art keywords
- target
- bit value
- blank
- cell
- value ratio
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器管理方法。所述方法包括选择目标实体程序化单元;使用对应所述目标实体程序化单元的第一类型实体页面的第一读取电压来读取所述目标实体程序化单元的多个目标存储单元,以计算第一比特值比率。若所述第一比特值比率不小于第一预定门槛值,使用对应所述目标实体程序化单元的第二读取电压来读取所述多个目标存储单元,以计算第二比特值比率;以及通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的。
Description
技术领域
本发明涉及一种存储器管理方法,尤其涉及一种适用于配置有可复写式非易失性存储器模块的存储装置的存储器管理方法与存储控制器。
背景技术
对于配置有可复写式非易失性存储器模块的存储装置来说,判断/识别空页(空白的存储单元)的位置与存在是很重要的一个过程。原因在于,存储装置的存储控制器需要辨别一个存储单元是否为空白的,以确实地管理所有可使用的存储空间或分配/管理尚未被使用的存储空间。此外,若能够精确地识别已经被使用的存储单元,也有助于存储控制器对已存储的数据来进行维护。
一般来说,当存储控制器要判断一个存储单元是否为空白的,存储控制器会读取此存储单元,以根据所读取的为“1”的比特值的数量是否大于预定值的判断结果来判断此存储单元是否为空白的。
然而,在所存储数据经过了长时间的存放后,上述的传统做法会导致空白存储单元的误判。严重的话,会发生所判定的为空白的存储单元实际上有存放数据的情形,进而导致了数据的损毁或存储空间的管理与识别上的困难。
因此,如何增加空白的存储单元的判断操作(也称,空白单元判断操作或空页判断操作)的准确性,进而提升可复写式非易失性存储器模块的存储空间管理效率,是本领域技术人员研究的课题之一。
发明内容
本发明提供一种存储器管理方法(也称,空白存储单元管理方法)与存储控制器,可准确地识别空白的存储单元,进而增加了存储装置的使用空间的管理效率。
本发明的一实施例提供适用于配置有可复写式非易失性存储器模块的存储装置的一种存储器管理方法。所述可复写式非易失性存储器模块具有多个实体程序化单元,其中所述多个实体程序化单元的每一个实体程序化单元具有多个存储单元。所述方法包括选择所述多个实体程序化单元中的目标实体程序化单元;使用对应所述目标实体程序化单元的第一类型实体页面的第一读取电压来读取所述目标实体程序化单元的多个目标存储单元,以识别所述多个目标存储单元中存储第一比特值的多个第一目标存储单元,并且根据所述多个第一目标存储单元与所述多个目标存储单元来计算第一比特值比率。若所述第一比特值比率不小于第一预定门槛值,使用对应所述目标实体程序化单元的第一类型实体页面的第二读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第二目标存储单元,并且根据所述多个第二目标存储单元与所述多个目标存储单元来计算第二比特值比率,其中所述第二读取电压不同于所述第一读取电压,并且所述第一读取电压与所述第二读取电压用以识别所述目标实体程序化单元的所述第一类型实体页面所存储的比特值;以及通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的。
本发明的一实施例提供用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器。所述存储控制器包括:连接接口电路、存储器接口控制电路、空白单元管理电路单元以及处理器。连接接口电路用以耦接至主机系统。存储器接口控制电路用以耦接至所述可复写式非易失性存储器模块。所述可复写式非易失性存储器模块具有多个实体程序化单元,其中所述多个实体程序化单元的每一个实体程序化单元具有多个存储单元。处理器耦接至所述连接接口电路、所述存储器接口控制电路及所述空白单元管理电路单元。所述处理器选择所述多个实体程序化单元中的目标实体程序化单元以指示所述空白单元管理电路单元对所述目标实体程序化单元执行空白单元识别操作。在所述空白单元识别操作中,所述空白单元管理电路单元用以使用对应所述目标实体程序化单元的第一类型实体页面的第一读取电压来读取所述目标实体程序化单元的多个目标存储单元,以识别所述多个目标存储单元中存储第一比特值的多个第一目标存储单元,并且根据所述多个第一目标存储单元与所述多个目标存储单元来计算第一比特值比率,其中若所述第一比特值比率不小于第一预定门槛值,所述空白单元管理电路单元还用以使用对应所述目标实体程序化单元的第一类型实体页面的第二读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第二目标存储单元,并且根据所述多个第二目标存储单元与所述多个目标存储单元来计算第二比特值比率,其中所述第二读取电压不同于所述第一读取电压,并且所述第一读取电压与所述第二读取电压用以识别所述目标实体程序化单元的第一类型实体页面所存储的比特值,其中所述空白单元管理电路单元还用以通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的。
基于上述,本发明实施例所提供的存储器管理方法以及存储控制器,可利用通过读取电压所获得的不同的比特值比率与比特值比率来识别存储单元是否为空白的,以增强识别空白的存储单元的准确性,进而增加存储装置管理已使用空间与未使用空间的效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一实施例所示出的主机系统及存储装置的方块示意图。
图2是根据本发明的一实施例所示出的存储器管理方法的流程图。
图3A为根据本发明的一实施例所示出的单阶存储单元(SLC)NAND型快闪存储器模块的多个存储单元的临界电压分布及对应的读取电压的示意图。
图3B为根据本发明的一实施例所示出的针对单阶存储单元NAND型快闪存储器模块的空白单元识别操作的示意图。
图3C为根据本发明的一实施例所示出的针对单阶存储单元NAND型快闪存储器模块的空白单元识别操作的示意图。
图4A为根据本发明的一实施例所示出的多阶存储单元(MLC)NAND型快闪存储器模块的多个存储单元的临界电压分布及对应的读取电压的示意图。
图4B~4E为根据本发明的一实施例所示出的针对多阶存储单元NAND型快闪存储器模块的空白单元识别操作的示意图。
图4F为根据本发明的一实施例所示出的空白识别操作/方法应用于具有异常偏置的临界电压分布的实体程序化单元的示意图。
图5为根据本发明的一实施例所示出的针对三阶存储单元(TLC)NAND型快闪存储器模块的多个存储单元的临界电压分布及对应的空白单元识别操作的示意图。
附图标记说明:
10:主机系统;
20:存储装置;
110、211:处理器;
120:主机存储器;
130:数据传输接口电路;
210:存储控制器;
212:数据管理电路;
213:存储器接口控制电路;
214:错误检查与校正电路;
215:空白单元管理电路模块;
2151:葛雷码计数电路;
2152:空白单元判断电路;
216:缓冲存储器;
217:电源管理电路;
220:可复写式非易失性存储器模块;
230:连接接口电路;
S21、S23、S25、S27、S2:存储器管理方法的流程步骤;
SS0、SS1、SS2、MS1、MS2、MS3、MS4、TS1、TS2、TS3、TS4、TS5、TS6、TS7、TS8:临界电压分布;
L:下实体页面的比特值/存储状态;
M:中实体页面的比特值/存储状态;
U:上实体页面的比特值/存储状态;
V(1)、V(2):读取电压;
A301、A302、A401、A402、A403、A404、A405、A406、A407、A500、A501、A502、A503、A504:箭头。
具体实施方式
在本实施例中,存储装置包括可复写式非易失性存储器模块(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、数据管理电路(DataManagement Circuit)212与存储器接口控制电路(Memory Interface Control Circuit)213。
在本实施例中,主机系统10是通过数据传输接口电路130与存储装置20的连接接口电路230耦接至存储装置20来进行数据的存取操作。例如,主机系统10可通过数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。
在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机系统10的主机板上。数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以通过有线或无线方式耦接至存储装置20。存储装置20可例如是优盘、存储卡、固态硬盘(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接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(MultiMedia Card,MMC)接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated DeviceElectronics,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。应注意的是,存储控制器210各部件所执行的操作也可视为存储控制器210所执行的操作。
其中,数据管理电路212耦接至处理器211、存储器接口控制电路213与连接接口电路230。数据管理电路212用以接受处理器211的指示来进行数据的传输。例如,通过连接接口电路230从主机系统10(如,主机存储器120)读取数据,并且将所读取的数据通过存储器接口控制电路213写入至可复写式非易失性存储器模块220中(如,根据来自主机系统10的写入指令来进行写入操作)。又例如,通过存储器接口控制电路213从可复写式非易失性存储器模块220的一或多个实体单元中读取数据(数据可读取自一或多个实体单元中的一或多个存储单元),并且将所读取的数据通过连接接口电路230写入至主机系统10(如,主机存储器120)中(如,根据来自主机系统10的读取指令来进行读取操作)。在另一实施例中,数据管理电路212也可整合至处理器211中。
存储器接口控制电路213用以接受处理器211(或空白单元管理电路模块215)的指示,配合数据管理电路212来进行对于可复写式非易失性存储器模块220的写入(也称,程序化,Programming)操作、读取操作或抹除操作。例如,根据空白单元管理电路模块215的指示使用特定的读取电压来进行对于可复写式非易失性存储器模块220的存储单元的读取操作。
举例来说,处理器211可执行写入指令序列,以指示存储器接口控制电路213将数据写入至可复写式非易失性存储器模块220中;处理器211可执行读取指令序列,以指示存储器接口控制电路213从可复写式非易失性存储器模块220的对应读取指令的一或多个实体单元(也称,目标实体单元)中读取数据;处理器211可执行抹除指令序列,以指示存储器接口控制电路213对可复写式非易失性存储器模块220进行抹除操作。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示对可复写式非易失性存储器模块220执行相对应的写入、读取及抹除等操作。在一实施例中,处理器211还可以下达其他类型的指令序列给存储器接口控制电路213,以对可复写式非易失性存储器模块220执行相对应的操作。
此外,欲写入至可复写式非易失性存储器模块220的数据会通过存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211(或空白单元管理电路模块215)要存取可复写式非易失性存储器模块220,处理器211(或空白单元管理电路模块215)会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变预设读取电压组的多个预设读取电压值以进行读取操作,或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
可复写式非易失性存储器模块220是耦接至存储控制器210(存储器接口控制电路213)并且用以存储主机系统10所写入之数据。可复写式非易失性存储器模块220可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple LevelCell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quadruple Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、三维NAND型快闪存储器模块(3D NAND flashmemory module)或垂直NAND型快闪存储器模块(Vertical NAND flash memory module)等其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块220中的存储单元是以数组的方式设置。
在本实施例中,可复写式非易失性存储器模块220具有多个字线,其中所述多个字线的每一个字线包括多个存储单元。同一条字线上的多个存储单元会组成一或多个实体程序化单元(实体页面)。此外,多个实体程序化单元可组成一个实体单元(实体区块或实体抹除单元)。在本实施例中,一个实体程序化单元可具有不同类型的实体页面。举例来说,在一实施例中,对于三阶存储单元NAND型快闪存储器模块来说,三阶存储单元NAND型快闪存储器模块的一个实体程序化单元可具有第一类型实体页面与第二类型实体页面。所述第一类型实体页面例如为存储一个比特值的下实体页面(Lower Physical Page);所述第二类型实体页面例如为各自存储一个比特值的中实体页面(Middle Physical Page)与上实体页面(Upper Physical Page)。又例如,在一实施例中,对于三阶存储单元NAND型快闪存储器模块来说,三阶存储单元NAND型快闪存储器模块的一个实体程序化单元可具有第一类型实体页面、第二类型实体页面与第三类型实体页面。所述第一类型实体页面例如为存储一个比特值的下实体页面;所述第二类型实体页面例如为存储一个比特值的中实体页面;所述第三类型实体页面例如为存储一个比特值的上实体页面。一般来说,当欲写入数据至三阶存储单元NAND型快闪存储器模块的一个实体程序化单元的上、中、下实体页面时,会依序从下实体页面开始写入数据,再写入至中实体页面,最后写入至上实体页面。
在本实施例中,实体抹除单元为抹除的最小单位,即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。每一实体抹除单元会具有多个实体程序化单元。一个实体抹除单元可以是指任意数目的实体程序化单元组成,视实务上的需求而定。
在以下实施例中,是以一个实体区块作为一个实体抹除单元(也可称为,实体单元)的范例,并且每一个实体程序化单元被视为一个实体子单元。此外,必须了解的是,当处理器211对可复写式非易失性存储器模块220中的实体程序化单元(或实体单元)进行分组以执行对应的管理操作时,此些实体程序化单元(或实体单元)是被逻辑地分组,而其实际位置并未更改。
为了方便说明,在以下的实施例中,一个实体程序化单元会被视为一个存储单元,并且以下的实施例会针对实体程序化单元来说明空白单元识别操作(也可称,空白存储单元识别操作)及其所使用的存储器管理方法。
存储控制器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中接收到写入指令时,错误检查与校正电路214会为对应此写入指令的数据产生对应的错误更正码(errorcorrecting 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为用以执行空白单元识别操作的电路模块(硬件)。空白单元管理电路模块215各部件所执行的操作也可视为空白单元管理电路模块215所执行的操作。空白单元管理电路模块215也可用以记录关于空白单元的信息,如所有空白的存储单元的位置与总容量等信息。
以下会配合多个附图来详细说明空白单元管理电路模块215如何进行空白单元识别操作的细节以及葛雷码计数电路2151与空白单元判断电路2152的功能。
图2是根据本发明的一实施例所示出的存储器管理方法的流程图。应注意的是,图2所示出的存储器管理方法也可称为空白单元识别方法。请同时参照图1与图2,在步骤S21中,处理器211选择可复写式非易失性存储器模块的多个实体程序化单元中的目标实体程序化单元。
具体来说,处理器211可在特定的时间点来选择可复写式非易失性存储器模块220的多个实体程序化单元中的其中之一个实体程序化单元(也称,目标实体程序化单元),并且指示空白单元管理电路模块215来对此目标实体程序化单元进行空白单元识别操作。举例来说,特定的时间点包括:(1)存储装置20闲暇(即,存储装置20闲置超过预定时间门槛值)时;(2)存储装置开电时;或(3)执行对应突然断电事件的恢复操作时。
处理器211(或空白单元管理电路模块215)可在尚未确认是否为空白的多个实体程序化单元中对每个实体程序化单元来分别执行空白单元识别操作,其中被选择来执行空白单元识别操作的实体程序化单元即为目标实体程序化单元。在另一实施例中,处理器211(或空白单元管理电路模块215)可在可复写式非易失性存储器模块220的所有实体程序化单元中分别选择不同的实体程序化单元来作为目标实体程序化单元来执行空白单元识别操作。
此外,处理器211(或空白单元管理电路模块215)也可直接对开放实体单元(即,当前被用以存储写入数据的实体单元)的所有实体程序化单元分别执行空白单元识别操作。
在选择目标实体程序化单元后,接续至步骤S23,空白单元管理电路模块215使用对应所述目标实体程序化单元的第一类型实体页面的第一读取电压来读取所述目标实体程序化单元的多个目标存储单元,以识别所述多个目标存储单元中存储第一比特值的多个第一目标存储单元,并且根据所述多个第一目标存储单元与所述多个目标存储单元来计算第一比特值比率。
具体来说,目标实体程序化单元为多个存储单元(也称,目标存储单元)所构成的。每个存储单元用以被程序化以存储对应不同的多个葛雷码(Gray Code)(也称,存储状态)的其中之一的比特值,并且所述葛雷码的总数为N,N为大于2的第一预定正整数。对应为不同型态的NAND型快闪存储器的可复写式非易失性存储器模块220,N的值也会不同。例如,若可复写式非易失性存储器模块220是单阶存储单元NAND型快闪存储器模块,N等于2;若可复写式非易失性存储器模块220是多阶存储单元NAND型快闪存储器模块,N等于4;若可复写式非易失性存储器模块220是三阶存储单元NAND型快闪存储器模块,N等于8;若可复写式非易失性存储器模块220是四阶存储单元NAND型快闪存储器模块,N等于16,依此类推。换言之,N的数值是根据可复写式非易失性存储器模块220的类型而被决定的。
图3A为根据本发明的一实施例所示出的单阶存储单元(SLC)NAND型快闪存储器模块的多个存储单元的临界电压分布及对应的读取电压的示意图。图4A为根据本发明的一实施例所示出的多阶存储单元(MLC)NAND型快闪存储器模块的多个存储单元的临界电压分布及对应的读取电压的示意图。图5为根据本发明的一实施例所示出的针对三阶存储单元(TLC)NAND型快闪存储器模块的多个存储单元的临界电压分布及对应的空白单元识别操作的示意图。
请参照图3A,单阶存储单元NAND型快闪存储器模块(简称,SLC)可具有两种存储状态(葛雷码),如,比特值“1”与比特值“0”。此外,处理器211(或空白单元管理电路模块215)可使用对应两种存储状态的读取电压V(1)1来读取SLC的目标实体程序化单元(即,使用读取电压V(1)1来读取为SLC的可复写式非易失性存储器模块220的多个实体程序化单元的其中之一),以识别此目标实体程序化单元的多个目标存储单元所具有的存储状态(即,以识别所述多个目标存储单元所被写入的比特值)。换言之,SLC中被程序化为比特值“1”(图3A中的标记“L:1”)的多个存储单元具有临界电压分布SS1,其小于读取电压V(1)1;SLC中被程序化为比特值“0”(即:“L:0”)的多个存储单元具有临界电压分布SS2,其大于读取电压V(1)1。所述读取电压V(1)1可为对应目标实体程序化单元的预定读取电压,或是对应目标实体程序化单元的最佳化读取电压。本实施例并不限制一开始用以读取目标实体程序化单元的读取电压。
图3B为根据本发明的一实施例所示出的针对单阶存储单元NAND型快闪存储器模块的空白单元识别操作的示意图。
请参照图3B,若SLC的目标实体程序化单元尚未被程序化数据(即,目标实体程序化单元的存储态样为已抹除的或空白的),则此目标实体程序化单元的所有目标存储单元的临界电压分布SS0会位于电压0伏特的附近,并且所有目标存储单元的存储状态为“1”。也就是说,在此目标实体程序化单元中存储状态为“1”的目标存储单元的总数量占了此目标实体程序化单元的所有目标存储单元的总数量的100%(如,图3B的上方所示出的例子),即,在此目标实体程序化单元中存储状态为“1”的目标存储单元的总数量占了此目标实体程序化单元的所有目标存储单元的总数量的100%,即,全部目标存储单元的存储状态皆为“1”。上述通过读取电压V(1)1(也称,第一读取电压V(1)1),存储状态为“1”的目标存储单元的总数量除以与所有目标存储单元的总数量所获得的比率(比值)也可称为比特值比率(对应第一读取电压的比特值比率可称为第一比特值比率),其用以表示:通过利用读取电压来读取目标实体程序化单元后,在目标实体程序化单元的所有目标存储单元中,所识别的存储状态为“1”的目标存储单元所占的比率。在上述的定义下,可知道存储态样为已抹除或空白的SLC的实体程序化单元的第一比特值比率等于100%。也因为此现象,一般传统的做法为,若通过第一读取电压所计算出的第一比特值比率为100%时,空白单元管理电路模块215(如,空白单元判断电路2152)会直接判定此实体程序化单元为空白的。所述100%也可称为预定值。但,本发明的空白单元识别操作并不会仅利用此规则来判断实体程序化单元是否为空白的,在以下对应图3C、图4E的说明中会进一步阐述传统做法的缺陷及本发明的改良。
若SLC的目标实体程序化单元已被程序化数据(即,目标实体程序化单元的存储态样为非空白的),则此目标实体程序化单元的所述多个目标存储单元会被均匀地程序化为具有存储状态“1”与“0”(比例近似为各50%)。在此目标实体程序化单元中存储状态为“1”的目标存储单元的总数量占了此目标实体程序化单元的所有目标存储单元的总数量的50%(如,图3B的下方所示出的例子),并且在此目标实体程序化单元中存储状态为“0”的目标存储单元的总数量也占了此目标实体程序化单元的所有目标存储单元的总数量的另50%。在此例子中,存储态样为非空白的之SLC的实体程序化单元的第一比特值比率等于50%。
在本实施例中,空白单元管理电路模块215的葛雷码计数电路2151可用以计算对应每种读取电压的存储状态的存储单元的总数量(即,统计不同种类的读取比特值/存储状态的总数量),并且葛雷码计数电路2151也可用以计算对应每种读取电压的比特值比率。
请参照图4A,相较于SLC,多阶存储单元NAND型快闪存储器模块(简称,MLC)的实体程序化单元可具有下实体页面(可标记为“L”)(也称,第一类型实体页面)与下实体页面(可标记为“U”)(也称,第一类型实体页面),其中上、下实体页面各自可存储两种存储状态(即,“1”,“0”)。因此,MLC共可具有四种存储状态(葛雷码),如,比特值“11”(如图4A中的“L:1、U:1”,即,下实体页面的存储状态为“1”且上实体页面的存储状态为“1”);比特值“10”(如图4A中的“L:1、U:0”,即,下实体页面的存储状态为“1”且上实体页面的存储状态为“0”);比特值“00”(如图4A中的“L:0、U:0”,即,下实体页面的存储状态为“0”且上实体页面的存储状态为“0”);以及比特值“01”(如图4A中的“L:0、U:1”,即,下实体页面的存储状态为“0”且上实体页面的存储状态为“1”)。此外,处理器211(或空白单元管理电路模块215)可使用对应四种存储状态的读取电压V(1)1~V(1)3来读取MLC的目标实体程序化单元,以识别此目标实体程序化单元的多个目标存储单元所具有的存储状态/临界电压分布。所述读取电压V(1)1~V(1)3可为对应MLC的目标实体程序化单元的预定读取电压,或是对应MLC的目标实体程序化单元的最佳化读取电压。本实施例并不限制一开始用以读取目标实体程序化单元的读取电压。应注意的是,MLC具有第一类型实体页面与第二类型实体页面,但SLC仅具有第一类型实体页面。
举例来说,读取电压V(1)2用以识别/区分下实体页面的存储单元的存储状态。举例来说,临界电压分布小于读取电压V(1)2的下实体页面的存储单元的存储状态为“1”(如图4A中的“L:1”),如,临界电压分布MS1、MS2;临界电压分布大于读取电压V(1)2的下实体页面的存储单元的存储状态为“0”(如图4A中的“L:0”),如,临界电压分布MS3、MS4。读取电压V(1)1与V(1)3用以识别/区分上实体页面的存储单元的存储状态。举例来说,临界电压分布小于读取电压V(1)1的上实体页面的存储单元的存储状态为“1”(如图4A中的“U:1”),如,临界电压分布MS1;临界电压分布大于读取电压V(1)3的上实体页面的存储单元的存储状态为“1”(如图4A中的“U:1”),如,临界电压分布MS4;临界电压分布在读取电压V(1)1与V(1)3之间的上实体页面的存储单元的存储状态为“0”(如图4A中的“U:0”),如,临界电压分布MS2、MS3。换言之,可通过读取电压V(1)1~V(1)3来识别:临界电压分布MS1的存储单元的存储状态的比特值为“11”;临界电压分布MS2的存储单元的存储状态的比特值为“10”;临界电压分布MS3的存储单元的存储状态的比特值为“00”;临界电压分布MS4的存储单元的存储状态的比特值为“01”。
应注意的是,若MLC的目标实体程序化单元尚未被程序化数据(即,目标实体程序化单元的存储态样为已抹除的或空白的),则相同于上述SLC的例子,此目标实体程序化单元的所有目标存储单元的临界电压分布会位于电压0伏特的附近,并且所有目标存储单元的存储状态为“1”。在此存储态样时,目标实体程序化单元的比特值比率为100%。此外,若TLC/QLC的实体程序化单元的存储态样也是已抹除的或是空白的,TLC/QLC的实体程序化单元的比特值比率为100%。
请参照图5,相似于SLC与MLC,对于三阶存储单元NAND型快闪存储器模块(简称,TLC)的实体程序化单元可具有下实体页面(可标记为“L”)(也称,第一类型实体页面)、中实体页面(可标记为“M”)与上实体页面(可标记为“U”)(其中,中实体页面与上实体页面可被称为第二类型实体页面),其中上、中、下实体页面各自可存储两种存储状态(即,“1”,“0”),进而使TLC的实体程序化单元可存储八种存储状态(如图5所示出的下、中、上实体页面的存储状态组合:“111”、“110”、“100”、“101”、“001”、“000”、“010”、“011”)。读取电压V(1)4用以识别/区分下实体页面的存储状态;读取电压V(1)2与读取电压V(1)6用以识别/区分中实体页面的存储状态;读取电压V(1)1、读取电压V(1)3、读取电压V(1)5、读取电压V(1)7用以识别/区分上实体页面的存储状态。
以下先以多阶存储单元NAND型快闪存储器模块为例来进行关于计算比特值比率的说明。
图4B~4E为根据本发明的一实施例所示出的针对多阶存储单元NAND型快闪存储器模块的空白单元识别操作的示意图。
请参照图4B的上方,假设MLC的目标实体程序化单元仅被程序化数据(即,目标实体程序化单元的存储态样为非空白的)至下实体页面(第一类型实体页面),即,此目标实体程序化单元为第一类存储态样(第一类型实体页面为非空白的且第二类型实体页面为空白的)。此目标实体程序化单元的下实体页面的所述多个目标存储单元会被均匀地程序化为具有存储状态“1”与“0”(比例近似为各50%),即,存储状态为“1”的目标存储单元占所有目标存储单元的50%。在此例子中(图4B上方),葛雷码计数电路2151通过使用对应下实体页面的第一读取电压V(1)2来读取为第一类存储态样的MLC的目标实体程序化单元,以计算出第一比特值比率(50%)。
又例如,请参照图4C的上方,假设MLC的目标实体程序化单元被程序化数据(即,目标实体程序化单元的存储态样为非空白的)至下实体页面(第一类型实体页面)与上实体页面(第二类型实体页面),即,此目标实体程序化单元为第二类存储态样(第一类型实体页面为非空白的且第二类型实体页面为非空白的)。在本实施例中,葛雷码计数电路2151使用对应下实体页面的第一读取电压V(1)2(用以识别/区分下实体页面的存储单元的存储状态的读取电压V(1)2)来读取目标实体程序化单元(见图4B的上方例子),以识别目标实体程序化单元的多个目标存储单元中存储比特值“1”(即,第一比特值)的多个第一目标存储单元。葛雷码计数电路2151根据所述多个第一目标存储单元与所述多个目标存储单元来计算第一比特值比率,即,将所述多个第一目标存储单元的总数量除以所述多个目标存储单元的总数量所计算出的比率作为第一比特值比率。在上述的例子中,所计算出的第一比特值比率为50%,其包含了临界电压分布MS1的多个存储单元所占的25%与临界电压分布MS2的多个存储单元所占的25%(临界电压小于读取电压V(1)2的存储单元的存储状态被判定为“1”)。
在本实施例中,对于第一类型实体页面是否为空白的判断方法为:空白单元判断电路2152会根据判断对应第一类型实体页面的第一比特值比率是否小于预定门槛值(也称,第一预定门槛值)的结果来判断此第一比特值比率所对应的实体程序化单元的第一类型实体页面是否为空白的。
具体来说,在计算出第一比特值比率后(S23),若第一比特值比率小于第一预定门槛值,接续至步骤S25,空白单元判断电路2152直接判定目标实体程序化单元的第一类型实体页面为非空白的(Not empty)。
举例来说,假设预定门槛值为90%,并且通过对应第一类型实体页面的读取电压所获得出的比特值比率为50%。在此情况下,空白单元判断电路2152会直接判定这个比特值比率所对应的第一类型实体页面为非空白的(也可称,不为空白的或已被程序化的)。例如,图3B下方的例子、图4B上方的例子以及图4C上方的例子皆属于此种情况。
厂商可根据需求及可复写式非易失性存储器模块220的物理特性来设计所述第一预定门槛值的数值,如,90%。但本发明并不限于第一预定门槛值的具体数值,第一预定门槛值可为非90%的其他数值。
另一方面,在计算出第一比特值比率后(S23),若第一比特值比率不小于第一预定门槛值,接续至步骤S27,葛雷码计数电路2151使用对应所述目标实体程序化单元的第一类型实体页面的第二读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第二目标存储单元,并且根据所述多个第二目标存储单元与所述多个目标存储单元来计算第二比特值比率。
在此说明第二读取电压的细节。具体来说,在步骤S27的运作中,葛雷码计数电路2151会使用不同于第一读取电压的第二读取电压来读取目标实体程序化单元的第一类型实体页面。第二读取电压也是用以识别第一类型实体页面的存储单元的存储状态的读取电压,并且第二读取电压的电压值可通过第一读取电压加上一个“负值的”偏置电压来获得(也可视为:第二读取电压的电压值可通过第一读取电压减去一个“正值的”偏置电压来获得)。一般来说,第一读取电压可利用电压调整指令以指示去使用多个偏置电压(可为负值或正值)的其中之一来调整第一读取电压的电压值。在本实施例中,步骤S27中的第二读取电压可利用电压调整指令以将第一读取电压往最左方向调整(如图3C上方所示出的箭头A302),以使第一读取电压V(1)1调整为第二读取电压V(2)1(例如,第一读取电压加上一个最小的负值的偏离电压)。在另一实施例中,第二读取电压也可预先设定,即,不通过第一读取电压来调整。
在本实施例中,步骤S27不同于步骤S23的地方在于,步骤S27是使用第二读取电压来读取目标实体程序化单元的第一类型实体页面,以计算出对应第二读取电压的第二比特值比率。如同上述步骤S23所说明的方式,举例来说,请参照图3C下方的例子,假设第一预定门槛值为90%,并且对应第一读取电压V(1)1的第一比特值比率为100%。葛雷码计数电路2151使用对应第一类型实体页面的第二读取电压V(2)1来读取目标实体程序化单元,以识别目标实体程序化单元的多个目标存储单元中存储比特值“1”(即,第一比特值)的多个第一目标存储单元。
在获得第二比特值比率后,接续至步骤S29,空白单元判断电路2152通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的。
也就是说,若第一比特值比率不小于第一预定门槛值,空白单元判断电路2152不会直接判定第一比特值比率所对应的第一类型实体页面不为空白的,也不会直接判定第一比特值比率所对应的第一类型实体页面为空白的。空白单元判断电路2152需要在获得第二比特值比率后,再根据第一比特值比率与第二比特值比率来判断所对应的第一类型实体页面是否为空白的。
更详细来说,在上述“通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的”之运作中,若所述第一比特值比率与所述第二比特值比率之间的绝对差值大于一第二预定门槛值,空白单元判断电路2152判定所述目标实体程序化单元的所述第一类型实体页面不为空白的。反之,若所述第一比特值比率与所述第二比特值比率之间的所述绝对差值不大于所述第二预定门槛值,空白单元判断电路2152判定所述目标实体程序化单元的所述第一类型实体页面为空白的。厂商可根据需求及可复写式非易失性存储器模块220的物理特性来设计所述第二预定门槛值的数值,如,15%。但本发明并不限于第二预定门槛值的具体数值,第二预定门槛值可为非15%的其他数值。例如,所述第二预定门槛值的数值的范围例如是10%~20%。
举例来说,请参照图3B上方的例子,假设第一预定门槛值为90%,第二预定门槛值为15%,并且所获得的对应第一读取电压V(1)1的第一比特值比率为100%。由于第一比特值比率比小于第一预定门槛值,葛雷码计数电路2151调整第一读取电压V(1)1为第二读取电压V(2)1(如箭头A301所示),利用第二读取电压V(2)1来读取目标实体程序化单元,以计算第二比特值比率,其数值为100%。接着,空白单元判断电路2152计算第一比特值比率与第二比特值比率之间的绝对差值(即,差值的绝对值),并且计算结果为0%。由于所计算出的第一比特值比率与第二比特值比率之间的绝对差值不大于第二预定门槛值,因此,空白单元判断电路2152判定目标实体程序化单元的第一类型实体页面为空白的。在一实施例中,当第二比特值比率等于第一比特值比率时,空白单元判断电路2152也会直接判定对应的实体页面为空白的。
本发明所提供的空白单元识别方法的精神在于,先后利用不同的两个读取电压读取同一个实体程序化单元(所述两个读取电压用以识别此实体程序化单元的实体页面的存储状态),以获得对应的两个比特值比率,进而通过比较分别对应不同读取电压的两个比特值比率来判断此实体程序化单元的实体页面是否为空白的。此方法的益处在于:当已被写入(程序化)数据的实体程序化单元的临界电压分布具有异常偏置时,本发明所提供的空白单元识别方法可避免空白单元的误判。以下先以图3C来做说明。
图3C为根据本发明的一实施例所示出的针对单阶存储单元NAND型快闪存储器模块的空白单元识别操作的示意图。
请参照图3C,假设可复写式非易失性存储器模块220为SLC,目标实体程序化单元已被写入数据并且已被写入数据的多个目标存储单元的临界电压分布具有异常偏置。在此例子中,由于临界电压分布的异常偏置,使用第一读取电压V(1)1来读取目标实体程序化单元所获得的第一比特值比率为100%,其不同于图3B下方的例子(正常的已被写入数据的存储单元的临界电压分布)的第一比特值比率(50%),但是却相同于图3B上方的例子(空白的/已被抹除的,即,没有被写入数据的)的第一比特值比率(100%)。换句话说,若是单纯地如同传统做法般:“仅根据判断第一读取电压所获得的第一比特值比率是否相近于/等于100%(或是否大于一特定门槛值)来判断对应的实体页面是否为空白的”,传统做法会导致具有异常临界电压分布的实体程序化单元的实体页面也被判定为空白的(虽然此实体程序化单元实际上并非空白的),进而使空白单元的识别结果为错误的。
然而,根据本实施例所提供的空白单元识别操作/方法,当对应第一读取电压V(1)1的第一比特值比率(100%)不小于第一预定门槛值(如,90%),空白单元管理电路模块215会利用第二读取电压V(2)1(如,箭头A302所示)来读取实体程序化单元,以获得第二比特值比率(50%)(如,图3C下方的例子)。空白单元管理电路模块215会进一步计算第一比特值比率与第二比特值比率之间的绝对差值。在此例子中,假设第二预定门槛值为15%。由于所计算的绝对差值为50%,其大于第二预定门槛值,因此,空白单元管理电路模块215会判定此实体程序化单元的实体页面不为空白的。如此一来,当实体程序化单元的实体页面的多个存储单元的临界电压分布具有异常偏置时,本实施例所提供的空白单元识别操作/方法仍可有效率且精确地判断所述实体页面是否为空白的,而避免了传统做法所导致的错误的空白单元的识别结果。
不单单针对图3C所示的SLC,相似地,具有异常偏置的临界电压分布的MLC/TLC/QLC的实体程序化单元的存储单元皆可应用本实施例所提供的空白单元识别操作/方法,来达到有效率且精确地的空白单元识别结果。以下再以MLC做例子来说明。
请参照图4E,假设可复写式非易失性存储器模块220为MLC,目标实体程序化单元已被写入数据并且已被写入数据的多个目标存储单元的临界电压分布具有异常偏置。在此例子中,由于临界电压分布的异常偏置,使用第一读取电压V(1)1来读取目标实体程序化单元所获得的第一比特值比率为98%,其不同于图3C上方的例子(为第二存储态样的MLC的实体程序化单元的存储单元的正常的临界电压分布)的第一比特值比率(50%)。假设传统做法的空白单元判断条件为:“当比特值比率大于95%时,判定对应的实体页面为空白的”。则,使用传统做法所得到的空白单元的识别结果将会是错误的(因为,98%大于95%,图4E的具有异常偏置的临界电压分布的实体页面会被判定为空白的)。
根据本实施例所提供的空白单元识别操作/方法,当对应第一读取电压V(1)1的第一比特值比率(98%)不小于第一预定门槛值(如,90%),空白单元管理电路模块215会利用第二读取电压V(2)1(如,箭头A405所示)来读取实体程序化单元,以获得第二比特值比率(53%,即25%+25%+3%)(如,图4E下方的例子)。空白单元管理电路模块215会进一步计算第一比特值比率与第二比特值比率之间的绝对差值。在此例子中,假设第二预定门槛值为15%。由于所计算的绝对差值为45%,其大于第二预定门槛值,因此,空白单元管理电路模块215会判定此实体程序化单元的实体页面不为空白的。如此一来,当实体程序化单元的实体页面的多个存储单元的临界电压分布具有异常偏置时,本实施例所提供的空白单元识别操作/方法仍可有效率且精确地判断所述实体页面是否为空白的,从而避免了传统做法所导致的错误的空白单元的识别结果。
在本实施例中,在“目标实体程序化单元具有第一类型实体页面与第二类型实体页面”且“写入顺序为第一类型实体页面会先被写入,然后写入第二类型实体页面”的情况下(如,MLC或TLC/QLC等),若判定所述目标实体程序化单元的所述第一类型实体页面为空白的,空白单元管理电路模块215(如,空白单元判断电路2152)可直接判定所述目标实体程序化单元的第二类型实体页面为空白的。
相反地,若判定所述目标实体程序化单元的所述第一类型实体页面不为空白的,葛雷码计数电路2151会对第二类型实体页面来执行空白单元识别操作:葛雷码计数电路2151会先后利用多个第三读取电压与多个第四读取电压来读取第二类型实体页面,以获得对应的第三比特值比率与第四比特值比率,进而根据第三比特值比率与第四比特值比率来判断第二类型实体页面是否为空白的。具体来说,葛雷码计数电路2151使用对应所述目标实体程序化单元的多个第三读取电压来读取所述目标实体程序化单元的所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第三目标存储单元,并且根据所述多个第三目标存储单元与所述多个目标存储单元来计算第三比特值比率。
需说明的是,在存储控制器210或可复写式非易失性存储器模块220具有写入标记机制的情况下,在“第二类型实体页面”未被写入数据时,对应已写入数据的第二类型实体页面的写入标记会被记录为特定比特值。当使用读取电压读取写入标记被记录为所述特定比特值的第二类型实体页面时,会强制读取到第二类型实体页面的所有存储单元的存储状态皆为“1”的结果(即,对应写入标记为特定比特值的实体页面的比特值比率必为100%)。因此,为了对应此种情况,在一实施例中,在存储控制器210或可复写式非易失性存储器模块220具有写入标记机制时,若所述第三比特值比率等于100%(也称,预定值),空白单元判断电路2152可直接判定所述目标实体程序化单元的所述第二类型实体页面为空白的。
若所述第三比特值比率不等于所述预定值(即,100%),葛雷码计数电路2151使用对应所述目标实体程序化单元的多个第四读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第四目标存储单元,并且根据所述多个第四目标存储单元与所述多个目标存储单元来计算第四比特值比率。
所述多个第四读取电压可根据所述多个第三读取电压所调整的或为预定的。此外,所述多个第三读取电压与所述多个第四读取电压用以识别所述目标实体程序化单元的第二类型实体页面所存储的比特值(即,所述多个第三读取电压与所述多个第四读取电压为用以区分/识别所述目标实体程序化单元的第二类型实体页面的存储单元的存储状态的多个读取电压)。
最后,空白单元判断电路2152可通过比较所述第三比特值比率与所述第四比特值比率来判断所述目标实体程序化单元的所述第二类型实体页面是否为空白的。
相似于上述已说明的“通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的”之运作,在上述“通过比较所述第三比特值比率与所述第四比特值比率来判断所述目标实体程序化单元的所述第二类型实体页面是否为空白的”的运作中,若所述第三比特值比率与所述第四比特值比率之间的绝对差值大于一第三预定门槛值,空白单元判断电路2152判定所述目标实体程序化单元的所述第二类型实体页面不为空白的。反之,若所述第三比特值比率与所述第四比特值比率之间的所述绝对差值不大于所述第三预定门槛值,空白单元判断电路2152判定所述目标实体程序化单元的所述第二类型实体页面为空白的。厂商可根据需求及可复写式非易失性存储器模块220的物理特性来设计所述第二预定门槛值的数值,如,15%。但本发明并不限于第二预定门槛值的具体数值,第二预定门槛值可为非15%的其他数值。例如,所述第二预定门槛值的数值的范围例如是10%~20%。
以下会开始举例说明对应第二类型实体页面的空白单元识别操作的细节。
请参照图4B,假设目标实体程序化单元为第一类存储态样。如上述,空白单元管理电路模块215先执行对应目标实体程序化单元的第一类型实体页面的空白单元识别操作,其中空白单元管理电路模块215通过使用对应第一类型实体页面的第一读取电压V(1)2所获得的第一比特值比率等于50%,并且判定目标实体程序化单元的第一类型实体页面为非空白的。接着,空白单元管理电路模块215会开始执行对应目标实体程序化单元的第二类型实体页面的空白单元识别操作(假设对应的预定第三门槛值为15%),即,空白单元管理电路模块215先使用对应第二类型实体页面的读取电压V(1)1与V(1)3(也称,第三读取电压)来读取目标实体程序化单元,并且计算出对应的比特值比率(50%)(即,第三比特值比率)。接着,空白单元管理电路模块215可调整读取电压V(1)1与V(1)3为读取电压V(2)1与V(2)3(如箭头A401、A402所示),并且使用读取电压V(2)1与V(2)3(也称,第四读取电压)来读取目标实体程序化单元,并且计算出对应的另个比特值比率(50%)(即,第四比特值比率)。最后,空白单元管理电路模块215可计算出第三比特值比率与第四比特值比率之间的绝对差值为0%,并且空白单元管理电路模块215会判定第二类型实体页面为空白的(因为第三比特值比率与第四比特值比率之间的绝对差值不大于第三预定门槛值)。如此一来,对于目标实体程序化单元的空白单元识别操作就完成了,并且所得到的识别结果也符合第一类存储态样(即,第一类型实体页面为非空白的以及第二类型实体页面为空白的)。
请参照图4C,假设目标实体程序化单元为第二类存储态样。如上述,空白单元管理电路模块215先执行对应目标实体程序化单元的第一类型实体页面的空白单元识别操作,其中空白单元管理电路模块215通过使用对应第一类型实体页面的第一读取电压V(1)2所获得的第一比特值比率等于50%,并且判定目标实体程序化单元的第一类型实体页面不为空白的。接着,空白单元管理电路模块215会开始执行对应目标实体程序化单元的第二类型实体页面的空白单元识别操作(假设对应的预定第三门槛值为15%),即,空白单元管理电路模块215使用对应第二类型实体页面(如,上实体页面)的第三读取电压V(1)1与V(1)3(用以识别/区分上实体页面的存储单元的存储状态的读取电压V(1)2与V(1)3)来读取目标实体程序化单元,以识别目标实体程序化单元的多个目标存储单元中存储比特值“1”(即,第一比特值)的多个第三目标存储单元。空白单元管理电路模块215根据所述多个第三目标存储单元与所述多个目标存储单元来计算第三比特值比率,即,将所述多个第三目标存储单元的总数量除以所述多个目标存储单元的总数量所计算出的比率作为第三比特值比率。在此例子中,所计算出的第三比特值比率为50%,其包含了临界电压分布MS1的多个存储单元(临界电压小于读取电压V(1)1的存储单元的存储状态被判定为“1”)所占的25%与临界电压分布MS4(临界电压大于读取电压V(1)3的存储单元的存储状态被判定为“1”)的多个存储单元所占的25%。
接着,空白单元管理电路模块215可调整读取电压V(1)1与V(1)3为读取电压V(2)1与V(2)3(如箭头A403、A404所示)。请参照图4D,空白单元管理电路模块215使用读取电压V(2)1与V(2)3来读取目标实体程序化单元,并且计算出对应的另个比特值比率(25%)(即,第四比特值比率)。接着,空白单元管理电路模块215可计算出第三比特值比率与第四比特值比率之间的绝对差值为25%,并且判定第二类型实体页面为非空白的(因为第三比特值比率与第四比特值比率之间的绝对差值大于第三预定门槛值)。如此一来,对于目标实体程序化单元的空白单元识别操作就完成了,并且所得到的识别结果也符合第二类存储态样(即,第一类型实体页面为非空白的以及第二类型实体页面为非空白的)。
上述图4B~4D是基于具有正常的临界电压分布的实体程序化单元所作的例子。于图4E的说明中,见上述,也阐述了本发明的空白识别操作/方法也可应用于具有异常偏置的临界电压分布的实体程序化单元(针对第一类型实体页面)。以下进一步利用图4F来阐述本发明的空白识别操作/方法可应用于具有异常偏置的临界电压分布的实体程序化单元(针对第二类型实体页面)。
请参照图4F,假设目标实体程序化单元为第二类存储态样。由于已判定第一类型实体页面为非空白的(图4E的例子),接着,空白单元管理电路模块215会开始执行对应目标实体程序化单元的第二类型实体页面的空白单元识别操作(假设对应的预定第三门槛值为15%)。即,空白单元管理电路模块215先使用对应第二类型实体页面的读取电压V(1)1与V(1)3(也称,第三读取电压)来读取目标实体程序化单元,并且计算出对应的比特值比率(60%)(即,第三比特值比率)。接着,空白单元管理电路模块215可调整读取电压V(1)1与V(1)3为读取电压V(2)1与V(2)3(如箭头A406、A407所示),并且使用读取电压V(2)1与V(2)3(也称,第四读取电压)来读取目标实体程序化单元,并且计算出对应的另个比特值比率(35%)(即,第四比特值比率)。最后,空白单元管理电路模块215可计算出第三比特值比率与第四比特值比率之间的绝对差值为25%,并且空白单元管理电路模块215会判定第二类型实体页面为非空白的(因为第三比特值比率与第四比特值比率之间的绝对差值大于第三预定门槛值)。如此一来,对于目标实体程序化单元的空白单元识别操作就完成了,并且所得到的识别结果也符合第二类存储态样(即,第一类型实体页面为非空白的以及第二类型实体页面为非空白的)。
值得一提的是,在以上的实施例中,比特值比率皆指对应存储状态为“1”的存储单元所占的比率,并且对应的预定值、多个预定门槛值也是基于此精神来设计的,但本发明并不限于此。例如,在另一实施例中,空白单元管理电路模块215会针对存储状态为“0”的存储单元所占的比率来作为“比特值比率”,并且对应的预定值、多个预定门槛值也会对应地设计。基本上,在“比特值比率皆指对应存储状态为“0”的存储单元所占的比率”的情况下所设计的预定值、多个预定门槛值会与在“比特值比率皆指对应存储状态为“1”的存储单元所占的比率”的情况下所设计的预定值、多个预定门槛值具有对应的关联(因为一种类型的实体页面所可存储的比特值只为“1”或“0”,各自占的比率的总和为100%)。
上述的实施例是以SLC与MLC作为例子来说明,然而,本领域技术人员当可从上述的例子知道如何进行对应TLC的空白单元识别操作。例如,请参照图5,在对应TLC的实体程序化单元的第一类型实体页面的空白单元识别操作中,空白单元管理电路模块215可利用第一读取电压V(1)4与对应往左边调整的第二读取电压来判断第一类型实体页面是否为空白的。若判定第一类型实体页面为空白的,空白单元管理电路模块215可直接判定第二类型实体页面为空白的。若判定第一类型实体页面为非空白的,空白单元管理电路模块215可执行对应第二类型实体页面的空白单元识别操作,使用第三读取电压V(1)1、V(1)3、V(1)5、V(1)7与对应调整的第四读取电压V(2)1、V(2)3、V(2)5、V(2)7来判断第二类型实体页面是否为空白的(如箭头A501~A504所示)。电压调整的方式基本上如图5所示,会以读取电压V(1)4为中心,位于读取电压V(1)4左侧的读取电压往左边调整(越往左边调整越具有准确度/鉴别度);位于读取电压V(1)4右侧的读取电压往右边调整(越往右边调整越具有准确度/鉴别度)。
应注意的是,在一实施例中,若所对应的实体页面(如,第一类型实体页面)仅需要一个读取电压(如,对应的第一读取电压)来执行读取,则将对应第一类型实体页面的第一读取电压V(1)4调整为第二读取电压V(2)4的动作仅能往左(或最左)调整。在一实施例中,若所对应的实体页面(如,第二类型实体页面)需要两个以上的读取电压(如,多个第三读取电压)来执行读取,则在读取电压的调整上,会将所述多个第三读取电压中的最左的读取电压(电压值最小者)往左调整,并且将所述多个第三读取电压中的最右的读取电压(电压值最大者)往右调整。接着,再利用调整后的读取电压来取得另个比特值比率,以根据所述另个比特值比率与原本的比特值比率(通过调整前的多个第三读取电压所获得的)的绝对差值来判断是否对应的实体页面是否为空白的。此外,上述的空白单元识别方法与读取电压调整方式也可应用至QLC的空白单元的辨别上。
综上所述,本发明实施例所提供的存储器管理方法以及存储控制器,可在不经过解码操作的情况下,利用通过读取电压所获得的不同的比特值比率与比特值比率来识别存储单元是否为空白的,以增强识别空白的存储单元的准确性,进而增加存储装置管理已使用空间与未使用空间的效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视所附权利要求所界定者为准。
Claims (12)
1.一种存储器管理方法,其特征在于,适用于配置有可复写式非易失性存储器模块的存储装置,其中所述可复写式非易失性存储器模块具有多个实体程序化单元,其中所述多个实体程序化单元的每一个实体程序化单元具有多个存储单元,所述方法包括:
选择所述多个实体程序化单元中的目标实体程序化单元;
使用对应所述目标实体程序化单元的第一读取电压来读取所述目标实体程序化单元的多个目标存储单元,以识别所述多个目标存储单元中存储第一比特值的多个第一目标存储单元,并且根据所述多个第一目标存储单元与所述多个目标存储单元来计算第一比特值比率;
若所述第一比特值比率小于第一预定门槛值,判定所述目标实体程序化单元的第一类型实体页面不为空白的;
若所述第一比特值比率不小于第一预定门槛值,使用对应所述目标实体程序化单元的第二读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第二目标存储单元,并且根据所述多个第二目标存储单元与所述多个目标存储单元来计算第二比特值比率,其中所述第二读取电压不同于所述第一读取电压,并且所述第一读取电压与所述第二读取电压用以识别所述目标实体程序化单元的第一类型实体页面所存储的比特值;以及
通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的。
2.根据权利要求1所述的存储器管理方法,其特征在于,上述通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的步骤包括:
若所述第一比特值比率与所述第二比特值比率之间的绝对差值大于第二预定门槛值,判定所述目标实体程序化单元的所述第一类型实体页面不为空白的;以及
若所述第一比特值比率与所述第二比特值比率之间的所述绝对差值不大于所述第二预定门槛值,判定所述目标实体程序化单元的所述第一类型实体页面为空白的。
3.根据权利要求1所述的存储器管理方法,其特征在于,所述存储器管理方法还包括:
若判定所述目标实体程序化单元的所述第一类型实体页面为空白的,判定所述目标实体程序化单元的第二类型实体页面为空白的。
4.根据权利要求1所述的存储器管理方法,其特征在于,所述存储器管理方法还包括:
若判定所述目标实体程序化单元的所述第一类型实体页面不为空白的,使用对应所述目标实体程序化单元的多个第三读取电压来读取所述目标实体程序化单元的所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第三目标存储单元,并且根据所述多个第三目标存储单元与所述多个目标存储单元来计算第三比特值比率;
若所述第三比特值比率不等于预定值,使用对应所述目标实体程序化单元的多个第四读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第四目标存储单元,并且根据所述多个第四目标存储单元与所述多个目标存储单元来计算第四比特值比率,其中所述多个第三读取电压与所述多个第四读取电压用以识别所述目标实体程序化单元的第二类型实体页面所存储的比特值;以及
通过比较所述第三比特值比率与所述第四比特值比率来判断所述目标实体程序化单元的所述第二类型实体页面是否为空白的。
5.根据权利要求4所述的存储器管理方法,其特征在于,上述通过比较所述第三比特值比率与所述第四比特值比率来判断所述目标实体程序化单元的所述第二类型实体页面是否为空白的步骤包括:
若所述第三比特值比率与所述第四比特值比率之间的绝对差值大于第三预定门槛值,判定所述目标实体程序化单元的所述第二类型实体页面不为空白的;以及
若所述第三比特值比率与所述第四比特值比率之间的所述绝对差值不大于所述第三预定门槛值,判定所述目标实体程序化单元的所述第二类型实体页面为空白的。
6.根据权利要求5所述的存储器管理方法,其特征在于,还包括:
若所述第三比特值比率等于所述预定值,判定所述目标实体程序化单元的所述第二类型实体页面为空白的。
7.一种存储控制器,其特征在于,用于控制配置有可复写式非易失性存储器模块的存储装置,所述存储控制器包括:
连接接口电路,用以耦接至主机系统;
存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体程序化单元,其中所述多个实体程序化单元的每一个实体程序化单元具有多个存储单元;
空白单元管理电路单元;以及
处理器,耦接至所述连接接口电路、所述存储器接口控制电路及所述空白单元管理电路单元,
其中所述处理器选择所述多个实体程序化单元中的目标实体程序化单元以指示所述空白单元管理电路单元对所述目标实体程序化单元执行空白单元识别操作,
在所述空白单元识别操作中,
所述空白单元管理电路单元用以使用对应所述目标实体程序化单元的第一读取电压来读取所述目标实体程序化单元的多个目标存储单元,以识别所述多个目标存储单元中存储第一比特值的多个第一目标存储单元,并且根据所述多个第一目标存储单元与所述多个目标存储单元来计算第一比特值比率,
其中若所述第一比特值比率小于第一预定门槛值,所述空白单元管理电路单元判定所述目标实体程序化单元的第一类型实体页面不为空白的,
其中若所述第一比特值比率不小于第一预定门槛值,所述空白单元管理电路单元还用以使用对应所述目标实体程序化单元的第二读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第二目标存储单元,并且根据所述多个第二目标存储单元与所述多个目标存储单元来计算第二比特值比率,其中所述第二读取电压不同于所述第一读取电压,并且所述第一读取电压与所述第二读取电压用以识别所述目标实体程序化单元的第一类型实体页面所存储的比特值,
其中所述空白单元管理电路单元还用以通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的。
8.根据权利要求7所述的存储控制器,其特征在于,其中在上述所述空白单元管理电路单元还用以通过比较所述第一比特值比率与所述第二比特值比率来判断所述目标实体程序化单元的所述第一类型实体页面是否为空白的之运作中,
若所述第一比特值比率与所述第二比特值比率之间的绝对差值大于第二预定门槛值,所述空白单元管理电路单元判定所述目标实体程序化单元的所述第一类型实体页面不为空白的;以及
若所述第一比特值比率与所述第二比特值比率之间的所述绝对差值不大于所述第二预定门槛值,所述空白单元管理电路单元判定所述目标实体程序化单元的所述第一类型实体页面为空白的。
9.根据权利要求7所述的存储控制器,其特征在于,
若判定所述目标实体程序化单元的所述第一类型实体页面为空白的,所述空白单元管理电路单元判定所述目标实体程序化单元的第二类型实体页面为空白的。
10.根据权利要求7所述的存储控制器,其特征在于,
若判定所述目标实体程序化单元的所述第一类型实体页面不为空白的,所述空白单元管理电路单元使用对应所述目标实体程序化单元的多个第三读取电压来读取所述目标实体程序化单元的所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第三目标存储单元,并且根据所述多个第三目标存储单元与所述多个目标存储单元来计算第三比特值比率,
其中若所述第三比特值比率不等于预定值,所述空白单元管理电路单元使用对应所述目标实体程序化单元的多个第四读取电压来读取所述多个目标存储单元,以识别所述多个目标存储单元中存储所述第一比特值的多个第四目标存储单元,并且根据所述多个第四目标存储单元与所述多个目标存储单元来计算第四比特值比率,其中所述多个第三读取电压与所述多个第四读取电压用以识别所述目标实体程序化单元的第二类型实体页面所存储的比特值,
其中所述空白单元管理电路单元通过比较所述第三比特值比率与所述第四比特值比率来判断所述目标实体程序化单元的所述第二类型实体页面是否为空白的。
11.根据权利要求10所述的存储控制器,其特征在于,在上述所述空白单元管理电路单元通过比较所述第三比特值比率与所述第四比特值比率来判断所述目标实体程序化单元的所述第二类型实体页面是否为空白的运作中,
若所述第三比特值比率与所述第四比特值比率之间的绝对差值大于第三预定门槛值,所述空白单元管理电路单元判定所述目标实体程序化单元的所述第二类型实体页面不为空白的;以及
若所述第三比特值比率与所述第四比特值比率之间的所述绝对差值不大于所述第三预定门槛值,所述空白单元管理电路单元判定所述目标实体程序化单元的所述第二类型实体页面为空白的。
12.根据权利要求11所述的存储控制器,其特征在于,
若所述第三比特值比率等于所述预定值,所述空白单元管理电路单元判定所述目标实体程序化单元的所述第二类型实体页面为空白的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810691387.8A CN110658977B (zh) | 2018-06-28 | 2018-06-28 | 存储器管理方法以及存储控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810691387.8A CN110658977B (zh) | 2018-06-28 | 2018-06-28 | 存储器管理方法以及存储控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110658977A CN110658977A (zh) | 2020-01-07 |
CN110658977B true CN110658977B (zh) | 2023-02-24 |
Family
ID=69026450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810691387.8A Active CN110658977B (zh) | 2018-06-28 | 2018-06-28 | 存储器管理方法以及存储控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110658977B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988880A (zh) * | 2015-02-17 | 2016-10-05 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器储存装置 |
CN106445404A (zh) * | 2015-08-13 | 2017-02-22 | 群联电子股份有限公司 | 存储器编程方法、存储器控制电路单元与存储器存储装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9679664B2 (en) * | 2012-02-11 | 2017-06-13 | Samsung Electronics Co., Ltd. | Method and system for providing a smart memory architecture |
TWI515734B (zh) * | 2014-03-13 | 2016-01-01 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 |
-
2018
- 2018-06-28 CN CN201810691387.8A patent/CN110658977B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988880A (zh) * | 2015-02-17 | 2016-10-05 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器储存装置 |
CN106445404A (zh) * | 2015-08-13 | 2017-02-22 | 群联电子股份有限公司 | 存储器编程方法、存储器控制电路单元与存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110658977A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI655576B (zh) | 記憶體管理方法以及儲存控制器 | |
US9086954B2 (en) | Data storing method, memory controller and memory storage apparatus | |
US10698762B2 (en) | Data reading method and storage controller | |
CN110335635B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
US10884665B2 (en) | Data reading method, storage controller and storage device for optimizing read voltages | |
US10460815B2 (en) | Decoding method of selecting optimized read voltage set based on gray code count deviation summations, and storage controller using the same | |
US10628082B2 (en) | Data reading method and storage controller | |
US10748599B1 (en) | Data reading method, storage controller and storage device background of the disclosure | |
TWI584291B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US10424383B1 (en) | Decoding method and storage controller | |
US20200234786A1 (en) | Data reading method, storage controller and storage device | |
TWI667606B (zh) | 記憶體管理方法以及儲存控制器 | |
CN108428467B (zh) | 读取电压追踪方法、存储器储存装置及控制电路单元 | |
CN107204205B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
CN110727390B (zh) | 存储器管理方法以及存储控制器 | |
CN110658977B (zh) | 存储器管理方法以及存储控制器 | |
CN110364197B (zh) | 解码方法以及存储控制器 | |
CN110364207B (zh) | 解码方法以及储存控制器 | |
CN111831210B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN110289036B (zh) | 读取电压最佳化方法以及存储控制器 | |
CN110275668B (zh) | 区块管理方法、存储器控制电路单元与存储器存储装置 | |
CN109273037B (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 |