CN104572324A - 固态储存装置及其控制方法 - Google Patents
固态储存装置及其控制方法 Download PDFInfo
- Publication number
- CN104572324A CN104572324A CN201310471811.5A CN201310471811A CN104572324A CN 104572324 A CN104572324 A CN 104572324A CN 201310471811 A CN201310471811 A CN 201310471811A CN 104572324 A CN104572324 A CN 104572324A
- Authority
- CN
- China
- Prior art keywords
- voltage
- critical voltage
- preprogrammed
- frame
- flash 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
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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
- G11C16/3409—Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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]
-
- 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
- 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/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种固态储存装置及其控制方法,而此控制方法包括下列步骤。以第一程序化机制将资料程序化至闪存模块。判定闪存模块的资料错误参数。若资料错误参数超过错误默认值,则以第二程序化机制将资料程序化至闪存模块。其中,第一程序化机制及第二程序化机制分别映像至第一临界电压框及第二临界电压框,且第二临界电压框的电压区间宽于第一临界电压框的电压区间。
Description
技术领域
本发明是有关于一种固态储存装置,特别是关于具有多个程序化机制的固态储存装置以及其控制方法。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于闪存(flash memory)具有资料非挥发性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态储存装置就是一种以闪存作为储存媒体的储存装置。因此,近年闪存产业成为电子产业中相当热门的一环。
用于固态储存装置的闪存一般为一种非挥发性(non-volatile)的存储器元件。也就是说,当资料写入闪存后,一旦系统电源关闭,资料仍保存在固态储存装置中。图1是根据已知技术所绘示的闪存元件的示意图。
请参照图1,闪存元件1包含用于储存电子的电荷捕捉层(chargetraping layer)2、用于施加电压的控制栅极(Control Gate)3、穿遂氧化层(Tunnel Oxide)4与多晶硅间介电层(Interpoly Dielectric)5。当欲写入资料至闪存元件1时,可通过将电子注入电荷补捉层2以改变闪存元件1的临界电压,并通过默认的临界电压的大小来定义闪存元件1的数字储存值,而实现储存资料的功能。在此,注入电子至电荷补捉层2的过程称为程序化。反之,当欲将所储存的资料移除时,通过将所注入的电子从电荷补捉层2中移除,则可使闪存元件1回复至未被程序化前的状态。
在写入与擦除过程中,闪存元件1会随着电子的多次的注入与移除而造成磨损,导致闪存元件1无法维持在程序化的临界电压而会产生飘移。一旦闪存元件1的临界电压产生飘移时,闪存元件1可能无法被正确地识别其储存状态,而产生错误位。另一方面,经过多次写入与擦除,闪存元件1的使用寿命也会因为穿遂氧化层4的磨损而逐渐缩短。
发明内容
本发明提供一种固态储存装置及其控制方法,其能够根据读取资料时的位错误参数来设定适当的程序化机制,以于不同的时期使用不同的程序化机制而延长闪存的使用寿命。
本发明提出一种固态储存装置的控制方法,其中此固态储存装置包含闪存模块用以储存资料,且闪存模块具有多个存储单元。每一存储单元具有多个储存状态,此控制方法包括下列步骤。以第一程序化机制将资料程序化至闪存模块。判定闪存模块的资料错误参数。若资料错误参数超过错误默认值,则以第二程序化机制将资料程序化至闪存模块。第一程序化机制及第二程序化机制分别映像至第一临界电压框及第二临界电压框,且第二临界电压框的电压区间宽于第一临界电压框的电压区间。
在本发明的一实施例中,上述的控制方法还包括计算存储单元的擦除次数参数、读取次数参数与写入次数参数的至少其中之一。当擦除次数参数、读取次数参数与写入次数参数的至少其中之一超过预设次数参数值,将第一程序化机制转换为第二程序化机制。
在本发明的一实施例中,上述的储存状态包括擦除状态与至少一非擦除状态,且第一程序化机制中具有至少一第一验证电压以区分这些储存状态。第二程序化机制具有至少一第二验证电压以区分这些储存状态。对应于相同的储存状态的第一验证电压与第二验证电压为不同的电压值。
在本发明的一实施例中,上述的至少一非擦除状态于第一程序化机制中具有对应的至少一第一验证电压,至少一非擦除状态于第二程序化机制中具有对应的第二验证电压,其中对应于相同的非擦除状态的第二验证电压大于第一验证电压。
在本发明的一实施例中,上述的擦除状态于第一程序化机制中具有对应的第一临界电压下限值,擦除状态于第二程序化机制中具有对应的第二临界电压下限值。第一临界电压框的电压区间依据至少一第一验证电压与第一临界电压下限值而被区分为对应至每一储存状态的多个第一临界电压子框。第二临界电压框的电压区间依据至少一第二验证电压与第二临界电压下限值而被区分为对应至每一储存状态的多个第二临界电压子框,其中第二临界电压子框的电压区间宽于对应至相同的储存状态的第一临界电压子框的电压区间。
在本发明的一实施例中,上述的判定闪存模块的资料错误参数的步骤包括:通过一错误侦测校正码(Error Correction Code,ECC)计算资料于被读取时所产生的纠正位数,并将纠正位数作为资料错误参数。
在本发明的一实施例中,上述的判定闪存模块的资料错误参数的步骤包括:计算资料被读取时所产生的位错误率,并将位错误率作为资料错误参数。
从另一观点来看,本发明提出一种固态储存装置,包括连接器、闪存模块以及存储器控制器。闪存模块具有多个存储单元,且每一存储单元具有多个储存状态。存储器控制器耦接至连接器与闪存模块。存储器控制器以第一程序化机制将资料程序化至闪存模块,并判定闪存模块的。资料错误参数。若资料错误参数超过错误默认值,存储器控制器则以第二程序化机制将资料程序化至闪存模块。其中,第一程序化机制及第二程序化机制分别映像至第一临界电压框及第二临界电压框,且第二临界电压框的电压区间宽于第一临界电压框的电压区间。
基于上述,在本范例实施例的固态储存装置及其控制方法中,可通过读取资料时所侦测到的资料错误参数来使用适当的程序化机制,以于不同的时期使用不同的验证电压来程序化与读取资料,由此延长闪存模块的使用寿命。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
为使对本发明的目的、构造、特征、及其功能有进一步的了解,以下配合实施例及附图详细说明如后,其中:
图1是根据已知技术所绘示的闪存元件的示意图。
图2是绘示根据一范例实施例所绘示的存储器储存装置的概要方块图。
图3是根据一范例实施例所绘示的闪存模块的概要方块图。
图4是根据一范例实施例所绘示的存储单元阵列的示意图。
图5是根据一范例实施例所绘示的闪存模块中的储存状态与临界电压关系示意图。
图6是根据一范例实施例所绘示的程序化存储单元的示意图。
图7是根据一范例实施例所绘示的闪存模块中的储存状态与临界电压关系另一示意图。
图8是依照本发明一范例实施例所绘示的固态储存装置的控制方法的流程图。
图9A与图9B分别为依照本发明一范例实施例所绘示的第一程序化机制及第二程序化机制的示意图。
图10A为依照本发明一范例实施例所绘示的多个程序化机制的示意图。
与图10B为依照本发明另一范例实施例所绘示的第一程序化机制及第二程序化机制的示意图。
具体实施方式
一般而言,固态储存装置包括闪存模块与存储器控制器。通常固态储存装置是与主机系统一起使用,以使主机系统可将资料写入至固态储存装置或从固态储存装置中读取资料。
图2是绘示根据第一范例实施例所绘示的固态储存装置的概要方块图。请参照图2,固态储存装置100包括连接器102、存储器控制器104与闪存模块106。
在本范例实施例中,连接器102是兼容于通用串行总线(UniversalSerial Bus,USB)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced TechnologyAttachment,PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronie Engineers,IEEE)1394标准、高速周边零件连接接口(Per ipheral Component Interconnect Express,PCI Express)标准、安全数字(Secure Digital, SD)接口标准、序列先进附件(SerialAdvanced Technology Attachment,SATA)标准、存储棒(MemoryStick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、崁入式多媒体储存卡(EmbeddedMultimedia Card,eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或韧体型式实作的多个逻辑栅或控制指令,并且根据主机系统的指令在闪存模块106中进行资料的写入、读取与擦除等运作。
闪存模块106是耦接至存储器控制器104,并且用以储存主机系统所写入的资料。闪存模块106可以是单阶存储单元(Single LevelCell,SLC)NAND型闪存模块(即,一个存储单元中可储存1个位资料的闪存模块)、多阶存储单元(Multi Level Cell,MLC)NAND型闪存模块(即,一个存储单元中可储存2个位资料的闪存模块)、多阶存储单元(Trinary LevelCell,TLC)NAND型闪存模块(即,一个存储单元中可储存3个位资料的闪存模块)、其他闪存模块或其他具有相同特性的存储器模块。
请参照图3,闪存模块106包括存储单元阵列2202、字符线控制电路2204、位线控制电路2206、行译码器(column decoder)2208、资料输入/输出缓冲器2210与控制电路2212。
存储单元阵列2202包括用以储存资料的多个存储单元702、多个选择栅汲极(select gate drain,SGD)晶体管712与多个选择栅源极(selectgate source,SGS)晶体管714、以及连接此些存储单元的多条位线704、多条字符线706、与共享源极线708(如图4所示)。存储单元702是以阵列方式配置在位线704与字符线706的交叉点上。当从存储器控制器104接收到写入指令或读取资料时,控制电路2212会控制字符线控制电路2204、位线控制电路2206、行译码器2208、资料输入/输出缓冲器2210来写入资料至存储单元阵列2202或从存储单元阵列2202中读取资料,其中字符线控制电路2204用以控制施予至字符线706的电压,位线控制电路2206用以控制施予至位线704的电压,行译码器2208用以依据指令中的译码列地址以选择对应的位线,而资料输入/输出缓冲器2210用以暂存资料。
闪存模块106中的存储单元是以临界电压来代表储存的位(bits)资料。具体来说,存储单元阵列2202的每一存储单元具有多个储存状态,并且此些状态是以多个默认电压来区分。
详细来说,图5是根据一范例实施例所绘示的闪存模块中的储存状态与临界电压关系示意图。请参照图5,以MLC闪存为例,每一存储单元的临界电压可依据第一默认电压VA、第二默认电压VB与第三默认电压VC而区分为4种储存状态,并且此些储存状态分别地代表“11”、“10”、“00”与“01”的位资料。换言之,每一个储存状态包括最低有效位(LeastSignificant Bit,LSB)以及最高有效位(Most Significant Bit,MSB)。在此范例实施例中,每一存储单元可储存2个位资料,因此每一存储单元具有四种储存状态,而此四种储存状态通过使用三个默认电压将临界电压区分而成。必须了解的是,图5所绘示的临界电压及其储存状态的对应仅为一个范例,并非用以限定本发明。在本发明另一范例实施例中,临界电压与储存状态的对应亦可是随着临界电压越大而以“11”、“10”、“01”与“00”排列。
图6是根据一范例实施例所绘示的程序化存储单元的示意图。请参照图6,在本范例实施例中,存储单元的程序化是通过提供多次脉冲写入电压以及多次验证的方法来完成。具体来说,欲将资料写入至存储单元时,存储器控制器104会设定对应写入资料的临界电压及验证电压,并且指示闪存模块106的控制电路2212使用默认的初始写入电压以及写入电压脉冲时间来程序化存储单元,以进行资料的写入。之后,存储器控制器104会使用验证电压来对存储单元进行验证,以判断存储单元是否已到达所需的临界电压并处于正确的储存状态。倘若存储单元未被程序化至所需的临界电压时,存储器控制器104指示控制电路2212以目前施予的写入电压加上一增量阶跃脉冲程序(Incremental-step-pulse programming,ISPP)调整值作为新的写入电压(亦称为重复写入电压)并且依据新的写入电压与写入电压脉冲时间再次来程序化存储单元。反之,倘若存储单元已被程序化至所需的临界电压时,则表示资料已被正确地写入至存储单元。例如,初始写入电压会被设定为16伏特(Voltage,V),写入电压脉冲时间会被设定为18微秒(microseconds,μs)并且增量阶跃脉冲程序调整值被设定为0.6V,但本发明不限于此。
图7是根据一范例实施例所绘示的闪存模块中的储存状态与临界电压关系另一示意图。基于上述可知,为了确保存储单元被程序化至正确的储存状态,存储器控制器104通过验证电压来对存储单元进行验证。如图7的实线所示,以MLC闪存为例,每一存储单元的临界电压可依据验证电压Vfy_A、验证电压Vfy_B与验证电压Vfy_C而区分为4种储存状态,并且此些储存状态分别地代表“ER”、“A”、“B”与“C”。举例来说,当存储单元的写入资料为储存状态“C”所对应的位资料时,存储器控制器104指示控制电路2212将此存储单元的临界电压程序化至超过验证电压Vfy_C。
当欲从存储单元中读取资料时,存储器控制器104会指示闪存模块106的控制电路2212对连接至欲读取的存储单元的字符线施予默认的读取电压组,并根据存储单元的导通状态来判定存储单元的储存状态。然而,在写入与擦除过程中,闪存模块106的存储单元702会随着电子多次的注入与移除而造成部份结构磨损,例如穿遂氧化层的磨损,即存储单元的临界电压会随着电子多次的注入与移除而产生偏移。换句话说,闪存模块中的储存状态的临界电压分布会因而变宽(如图7的虚线所示)。
根据上述闪存的特性,本发明提出了一种具有多个程序化机制的固态储存装置,固态储存装置可根据不同的条件选择对应的程序化机制来将资料程序化至闪存模块。
图8为依照本发明一实施例所绘示的固态储存装置的控制方法的流程图。请参照图2、图3以及图8,本实施例的方法适用于上述的存储器储存装置100,以下即搭配图2中存储器储存装置100的各项元件,说明本实施例方法的详细流程。
在步骤S801中,存储器控制器104以一第一程序化机制将资料程序化至闪存模块106。接着,在步骤S803中,存储器控制器104判定闪存模块106的一资料错误参数。在步骤S805中,若该资料错误参数超过一错误默认值,则存储器控制器104以一第二程序化机制将资料程序化至闪存模块106。在本发明实施例中,第一程序化机制及第二程序化机制分别映像至一第一临界电压框及一第二临界电压框,且第二临界电压框的电压区间宽于第一临界电压框的电压区间。
如前所述,闪存模块106内的存储单元可依据默认的验证电压而区分为多种储存状态。在本发明一实施例中,临界电压框可定义为最大验证电压与一默认电压所构成的电压区间。在一实施例中,默认电压可为存储单元的擦除状态“ER”的临界电压下限值。然而,本发明并不以此为限。在另一实施例中,默认电压可设定为低于擦除状态“ER”的临界电压下限值的一电压值。
图9A与图9B分别为依照本发明一实施例所绘示的第一程序化机制及第二程序化机制的示意图。在图9A中,闪存模块106内的存储单元依据三个验证电压V_1a、V_1b、V_1c而区分为四个储存状态“ER”、“A”、“B”、“C”,其中验证电压V_1a<V_1b<V_1c,且擦除状态“ER”具有一临界电压下限值V_1er。如图9A所示的第一程序化机制P_1,第一程序化机制P_1映像至第一临界电压框f_1,且第一临界电压框f_1为擦除状态“ER”的临界电压下限值V_1er与最大验证电压V_1c所构成的电压区间。
另一方面,在图9B中,闪存模块106内的存储单元依据三个验证电压V_2a、V_2b、V_2c而区分为四个储存状态“ER”、“A”、“B”、“C”,其中验证电压V_2a<V_2b<V_2c,且擦除状态“ER”具有一临界电压下限值V_2er。如图9B所示的第二程序化机制P_2,第二程序化机制P_2映像至第二临界电压框f_2,且第二临界电压框f_2为擦除状态“ER”的临界电压下限值V_2er与最大验证电压V_2c所构成的电压区间。请同时参照图9A与图9B,第二临界电压框f_2宽于第一临界电压框f_1。
基于图7的说明可知,闪存模块106内的存储单元的临界电压分布会随着电子多次的注入与移除而变宽。详细来说,在固态储存装置100的使用初期,存储单元的临界电压分布的变异值(Varianee)较小。相较之下,在固态储存装置100的使用后期,闪存模块106内的存储单元的临界电压分布的变异值(Varianee)会逐渐变大。因此,如果程序化机制的临界电压框的电压区间设定的太小(即各个储存状态所对应的临界电压分布之间的间隔太小),则于使用后期时,闪存模块106内的的存储单元的临界电压分布会产生重叠(overlap)的现象。如此一来,会有资料读取错误的状况发生。
反之,若为了避免闪存模块106内的存储单元的临界电压分布会产生重叠(overlap)的现象,以能够正确的读取资料,而将程序化机制的临界电压框的电压区间设定的太大(即各个储存状态所对应的临界电压分布之间的间隔太大),如此虽然存储单元的临界电压分布产生重叠(overlap)的现象的情况较少,但较高的临界电压会加速穿遂氧化层的磨损而缩短闪存模块106的使用寿命。因此,在本发明的实施例中,存储器控制器104可根据不同的条件选择对应的程序化机制来将资料程序化至闪存模块106,且不同的程序化机制具有不同的临界电压框。据此,闪存模块106可于不同的使用时期中依据适当的程序化机制而进行程序化的动作。
在本发明一实施例中,资料错误参数可为一位错误参数,而错误默认值可为一可允许门坎值。在步骤S802中,存储器控制器104进行错误侦测程序而获取位错误参数。当位错误参数超过可允许门坎值,存储器控制器104将第一程序化机制P_1转换为第二程序化机制P_2,并改采用第二程序化机制P_2来将资料程序化至闪存模块106,其中第二临界电压框f_2的电压区间宽于第一临界电压框f_1的电压区间。详细来说,当存储单元的临界电压分布开始变宽,在同一程序化机制下产生误判的机会也会随之增加,并进而使资料位的位错误参数增加。因此,当存储器控制器104发现位错误参数超过可允许门坎值时,存储器控制器104将第一程序化机制P_1转换为临界电压框较宽的第二程序化机制P_2,以改善资料读取错误的状况发生。在本发明实施例中,位错误参数例如是纠正位数或者是位错误率(RBER)。
具体来说,存储器控制器104通常具有一错误校正单元(ErrorCorrection Unit,ECU),用以执行错误检查与校正程序以确保资料的正确性。在本范例实施例中,当存储器控制器104从主机系统中接收到写入指令时,错误校正单元会为对应此写入指令的资料产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器控制器104会将对应此写入指令的资料与对应的错误检查与校正码写入至闪存模块106中。之后,当存储器控制器104从闪存模块106中读取资料时会同时读取此资料对应的错误检查与校正码,并且错误校正单元会依据此错误检查与校正码对所读取的资料执行错误检查与校正程序。
具体来说,错误校正单元会被设计能够校正一数目以内的错误位(以下称为此数目为最大可校正错误位数)。例如,最大可校正错误位数为24。倘若发生在所读取的资料的错误位的数目非大于24个时,错误校正单元就能够依据错误校正码将错误位校正回正确的值,即此资料为可错误校正。反之,错误校正单元就会回报错误校正失败,即此资料非为可错误校正。
据此,在本示范性实施例中,存储器控制器104通过错误侦测校正码计算被读取资料于被读取时所产生的纠正位数,并且判断纠正位数是否超过可允许门坎值。当纠正位数超过可允许门坎值时,将第一程序化机制P_1转换为第二程序化机制P_2。在本实施例中,可允许门坎值可以是ECU的最大可校正错误位数,也可以是比最大可校正错误位数小的数值。举例来说,假设最大可校正错误位数为24,则可允许门坎值可设定为24或是比24小的数值。也就是说,在存储器控制器104还有能力自行将资料校正为原始正确资料时,存储器控制器104并不需要改变程序化机制。一旦纠正位数逐渐变大,代表存储器控制器104可能无法正确的恢复资料,此时存储器控制器104将转换为具有较宽的临界电压宽的程序化机制,以避免资料判读错误的状况发生。
在另一实施例当中,存储器控制器104也可以计算被读取资料被读取时所产生的位错误率,并判断位错误率是否超过可允许门坎值。当位错误率超过可允许门坎值时,将第一程序化机制P_1转换为第二程序化机制P_2。然而,虽然上述实施范例是以资料错误参数作为转换程序化机制的依据,但于另一实施例当中,存储器控制器104也可通过其他判断机制的辅助来转换程序化机制。举例来说,存储器控制器104可计算闪存模块106内的存储单元的擦除次数参数、读取次数参数与写入次数参数的至少其中之一。当擦除次数参数、读取次数参数与写入次数参数的至少其中之一超过预设次数参数值时,存储器控制器104则将第一程序化机制P_1转换为第二程序化机制P_2。由此,存储器控制器104可于不同的时期而通过不同的程序化机制来程序化资料至闪存模块106。
基于上述可知,在存储器储存装置的使用初期,闪存模块106的存储单元的临界电压分布的变异值会比较小,各储存状态的临界电压之间并不需要很大的间隔。因此,初始的程序化机制的临界电压框可设定具有较窄的电压区间。也就是说,存储单元可通过较小的程序化电压值较小来将存储单元程序化至所需的储存状态,而较小的程序化电压值可减缓闪存模块106的氧化层磨损的速度。直到当存储器控制器104判别资料错误参数过高时,存储器控制器104才调整闪存模块106的程序化机制,采用具有较宽的电压区间的程序化机制。如此一来,可增加固态储存装置100的使用寿命。
在本实施范例中,各个每一程序化机制具有对应的验证电压用以区分多个储存状态。多个储存状态包括擦除状态与至少一非擦除状态,其中在不同的程序化机制中,针对对应相同的储存状态的验证电压为不同的电压值。换句话说,当程序化机制由第一程序化机制转换为第二程序化机制时,由于临界电压框的电压区间变宽,其各个储存状态所对应的验证电压也将随之调整。以下将举两范例来详细说明。
请先参照图10A,图10A为依照本发明一范例实施例所绘示的多个程序化机制的示意图。在本实施例中,固态储存装置100具有3种程序化机制PS_1、PS_2、以及PS_3。其中,第三程序化机制PS_3的第三临界电压框fs_3宽于第二程序化机制PS_2的第二临界电压框fs_2以及第一程序化机制PS_1的第一临界电压框fs_1,而第二程序化机制PS_2的第二临界电压框f_2宽于第一程序化机制PS_1的第一临界电压框f_1。由此可知,第一程序化机制PS_1具有最窄的临界电压框,而第三程序化机制PS_3具有最宽的临界电压框,因此存储器控制器104转换程序化机制的顺序为依照程序化机制PS_1→PS_2→PS_3的顺序。
再者,在本实施例中,存储器控制器104根据资料错误参数是否超过一第一错误默认值来决定是否将第一程序化机制PS_1转换为第二程序化机制PS_2,并根据资料错误参数是否超过一第二错误默认值决定是否将第二程序化机制PS_2进一步转换为第三程序化机制PS_3。在本实施例中,第一错误默认值与第二错误默认值可为相同的默认值,或为不同的默认值,其可根据资料错误参数的应用而有对应的设定。
在本范例实施例中,擦除状态″ER″于第一程序化机制PS_1中具有对应的临界电压下限值VS_1er,擦除状态″ER″于第二程序化机制PS_2中具有对应的临界电压下限值VS_2er,擦除状态″ER″于第三程序化机制PS_3中具有对应的临界电压下限值VS_3er。另一方面,非擦除状态“A”于第一程序化机制PS_1中具有对应的验证电压VS_1a,非擦除状态“A”于第二程序化机制PS_2中具有对应的验证电压VS_2a,非擦除状态“A”于第三程序化机制PS_3中具有对应的验证电压VS_3a。依此类推,如图10A所示,非擦除状态“B”与“C”分别于程序化机制PS_1、PS_2、以及PS_3中具有对应的不同的验证电压,于此不再赘述。
于图10A所示的范例中,对应于程序化机制PS_1、PS_2、以及PS_3中的擦除状态“ER”的临界电压下限值VS_1er、VS_2er、以及VS_3er可为相同的电压值。另一方面,以非擦除状态“A”为例说明,非擦除状态“A”于第二程序化机制PS_2中对应的验证电VS_2a大于非擦除状态“A”于第一程序化机制PS_1中对应的验证电压VS_1a,而非擦除状态“A”于第三程序化机制PS_3中对应的验证电压VS_3a大于非擦除状态“A”于第二程序化机制PS_2中对应的验证电压VS_2a。据此,用以对应各个储存状态的验证电压会随着临界电压框的电压区间变宽而随之增加,以因应随着使用时间而使各储存状态的临界电压分布的间隔加宽。基于图10A与上述说明,储存状态“B”与“C”分别于程序化机制PS_1、PS_2、以及PS_3中所对应的验证电压的关系可依据储存状态“A”的说明而类推得知,于此不再赘述。
请参照图10B,图10B为依照本发明另一范例实施例所绘示的第一程序化机制及第二程序化机制的示意图。在本实施例中,第二程序化机制PS_2的第二临界电压框fs_2的电压区间宽于第一程序化机制PS_1的第一临界电压框fs_1的电压区间。存储器控制器104使用的程序化机制依照程序化机制PS_1→PS_2的顺序而转换。于本范例中,第一临界电压框fs_1的电压区间可依据多个对应的验证电压而被区分为多个第一临界电压子框fs_11~fs_13,第二临界电压框fs_2的电压区间可依据多个对应的验证电压而被区分为多个第二临界电压子框fs_21~fs_23。在一实施例中,临界电压框的电压区间可被对应的验证电压均分为多个临界电压子框,如第一临界电压框fs_1所示,其多个第一临界电压子框fs_11~fs_13的电压区间具有相同的宽度。在另一实施例中,临界电压框的电压区间可被对应的验证电压不均等地分为多个临界电压子框,如第二临界电压框fs_2所示,其多个第二临界电压子框fs_21~fs_23的电压区间具有不相同的宽度。
具体来说,如图10B所示,擦除状态“ER”于第一程序化机制PS_1中具有对应的临界电压下限值VS_1er,擦除状态“ER”于第二程序化机制PS_2中具有对应的临界电压下限值VS_2er。另一方面,非擦除状态“A”于第一程序化机制PS_1中具有对应的验证电压VS_1a,非擦除状态“A”于第二程序化机制PS_2中具有对应的验证电压VS_2a。依此类推,如图10B所示,非擦除状态“B”与“C”分别于程序化机制PS_1以及PS_2中具有对应的不同的验证电压,于此不再赘述。与图10A所示的范例不同的是,于图10B所示的范例中,对应于程序化机制PS_1以及PS_2中的擦除状态“ER”的临界电压下限值VS_1er以及VS_2er可为不相同的电压值。需特别说明的是,为了改善因临界电压分布的变异值变大而造成资料判读错误的问题,在图10B所示的范例当中,可通过调整对应至各个储存状态的临界电压子框的电压区间的宽度而决定出不同的程序化机制。也就是说,在图10B所示的范例当中,不同的程序化机制中各个储存状态所对应的验证电压并不一定会随着使用时间呈现递增的趋势,但各个储存状态所对应的临界电压子框会随着使用时间的增加而调整成具有更宽的电压区间的临界电压子框。然而,本发明并不限制各个储存状态所对应的临界电压子框需依据相同的调整幅度来调宽,各个储存状态所对应的临界电压子框的调整幅度可视实际应用状况而设定。
综上所述,本发明提出的固态储存装置的控制方法及其装置可以依据资料错误参数的判定结果来适应性的调整程序化机制,其中各程序化机制具有不同电压区间宽度的的临界电压框。由此可减缓闪存模块磨损的速率,以延长固态储存装置的使用寿命。另一方面,也可通过适应性的调整程序化机制而改善资料判读错误的状况。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求范围所界定的为准。
Claims (16)
1.一种固态储存装置的控制方法,其中该固态储存装置包含一闪存模块用以储存资料,且该闪存模块具有多个存储单元,且每一所述存储单元具有多个储存状态,该控制方法包括:
以一第一程序化机制将资料程序化至该闪存模块;
判定该闪存模块的一资料错误参数;以及
若该资料错误参数超过一错误默认值,则以一第二程序化机制将资料程序化至该闪存模块,
其中,该第一程序化机制及该第二程序化机制分别映像至一第一临界电压框及一第二临界电压框,且该第二临界电压框的电压区间宽于该第一临界电压框的电压区间。
2.如权利要求1所述的固态储存装置的控制方法,还包括计算所述存储单元的一擦除次数参数、一读取次数参数与一写入次数参数的至少其中之一,当该擦除次数参数、该读取次数参数与该写入次数参数的至少其中之一超过一预设次数参数值,将该第一程序化机制转换为该第二程序化机制。
3.如权利要求1所述的固态储存装置的控制方法,其中每一该程序化机制具有一最大验证电压,且其对应的该临界电压框为该最大验证电压与一默认电压所构成的电压区间。
4.如权利要求3所述的固态储存装置的控制方法,其中所述储存状态包括一擦除状态,且对应每一该程序化机制的该擦除状态具有一临界电压下限值,其中该默认电压为该临界电压下限值。
5.如权利要求1所述的固态储存装置的控制方法,其中所述储存状态包括一擦除状态与至少一非擦除状态,且该第一程序化机制中具有对应的至少一第一验证电压以区分所述储存状态,该第二程序化机制具有对应的至少一第二验证电压以区分所述储存状态,其中对应于相同的储存状态的该至少一第一验证电压与该至少一第二验证电压为不同的电压值。
6.如权利要求1所述的固态储存装置的控制方法,其中所述储存状态包括一擦除状态与至少一非擦除状态,且该至少一非擦除状态于该第一程序化机制中具有对应的该至少一第一验证电压,该至少一非擦除状态于该第二程序化机制中具有对应的该至少一第二验证电压,其中该至少一第二验证电压大于对应至相同的该至少一非擦除状态的该至少一第一验证电压。
7.如权利要求1所述的固态储存装置的控制方法,其中所述储存状态包括一擦除状态与至少一非擦除状态,且该擦除状态于第一程序化机制中具有对应的一第一临界电压下限值,该擦除状态于第二程序化机制中具有对应的一第二临界电压下限值,且该至少一非擦除状态于该第一程序化机制中具有对应的该至少一第一验证电压,该至少一非擦除状态于该第二程序化机制中具有对应的该至少一第二验证电压,其中该第一临界电压框的电压区间依据该至少一第一验证电压与该第一临界电压下限值而被区分为对应至所述储存状态的多个第一临界电压子框,该第二临界电压框的电压区间依据该至少一第二验证电压与该第二临界电压下限值而被区分为对应至所述储存状态的多个第二临界电压子框,其中所述第二临界电压子框的电压区间宽于对应至相同的储存状态的所述第一临界电压子框的电压区间。
8.如权利要求1所述的固态储存装置的控制方法,其中判定该闪存模块的该资料错误参数的步骤包括:
通过一错误侦测校正码计算资料于被读取时所产生的一纠正位数,并将该纠正位数作为该资料错误参数。
9.如权利要求1所述的固态储存装置的控制方法,其中判定该闪存模块的该资料错误参数的步骤包括:
计算资料被读取时所产生的一位错误率,并将该位错误率作为该资料错误参数。
10.一种固态储存装置,包括:
一闪存模块,具有多个存储单元,且每一所述存储单元具有多个储存状态;以及
一存储器控制器,耦接至该闪存模块,且该存储器控制器以一第一程序化机制将资料程序化至该闪存模块,判定该闪存模块的一资料错误参数,若该资料错误参数超过一错误默认值,该存储器控制器则以一第二程序化机制将资料程序化至该闪存模块,
其中,该第一程序化机制及该第二程序化机制分别映像至一第一临界电压框及一第二临界电压框,且该第二临界电压框的电压区间宽于该第一临界电压框的电压区间。
11.如权利要求10所述的固态储存装置,其中存储器控制器还包括计算所述存储单元的一擦除次数参数、一读取次数参数与写入次数参数的至少其中之一,当该擦除次数参数、该读取次数参数与该写入次数参数的至少其中之一超过一预设次数参数值,存储器控制器将该第一程序化机制转换为该第二程序化机制。
12.如权利要求10所述的固态储存装置,其中每一该程序化机制具有一最大验证电压,且其对应的该临界电压框为该最大验证电压与一默认电压所构成的电压区间。
13.如权利要求12所述的固态储存装置,其中所述储存状态包括一擦除状态,且对应每一该程序化机制的该擦除状态具有一临界电压下限值,其中该默认电压为该临界电压下限值。
14.如权利要求10所述的固态储存装置,其中所述储存状态包括一擦除状态与至少一非擦除状态,且该第一程序化机制中具有对应的至少一第一验证电压以区分所述储存状态,该第二程序化机制具有对应的至少一第二验证电压以区分所述储存状态,其中对应于相同的储存状态的该至少一第一验证电压与该至少一第二验证电压为不同的电压值。
15.如权利要求10所述的固态储存装置,其中该存储器控制器包括通过错误侦测校正码计算资料于被读取时所产生的一纠正位数,并将该纠正位数作为该资料错误参数。
16.如权利要求10所述的固态储存装置,其中该存储器控制器包括计算资料被读取时所产生的一位错误率,并将该位错误率作为该资料错误参数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310471811.5A CN104572324A (zh) | 2013-10-11 | 2013-10-11 | 固态储存装置及其控制方法 |
US14/133,646 US20150106667A1 (en) | 2013-10-11 | 2013-12-19 | Solid state storage device and controlling method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310471811.5A CN104572324A (zh) | 2013-10-11 | 2013-10-11 | 固态储存装置及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572324A true CN104572324A (zh) | 2015-04-29 |
Family
ID=52810701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310471811.5A Pending CN104572324A (zh) | 2013-10-11 | 2013-10-11 | 固态储存装置及其控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150106667A1 (zh) |
CN (1) | CN104572324A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014104717B4 (de) * | 2014-04-03 | 2019-08-01 | Hyperstone Gmbh | Verfahren und Vorrichtung zur Datenerneuerung für eine Erhöhung der Zuverlässigkeit von Flashspeichern |
TWI527037B (zh) * | 2014-04-10 | 2016-03-21 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 |
JP6200381B2 (ja) * | 2014-06-11 | 2017-09-20 | ファナック株式会社 | 監視対象の稼働状況に応じた誤り訂正機能を有する制御装置 |
JP2021149991A (ja) * | 2020-03-19 | 2021-09-27 | キオクシア株式会社 | メモリシステムおよび方法 |
US11461050B2 (en) * | 2021-01-20 | 2022-10-04 | Vmware, Inc. | Managing data lifecycles through decay |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211314A (zh) * | 2006-12-31 | 2008-07-02 | 创惟科技股份有限公司 | 闪存资料读写寿命提升方法 |
US20110038212A1 (en) * | 2009-08-13 | 2011-02-17 | Hironori Uchikawa | Controller and non-volatile semiconductor memory device |
CN102623058A (zh) * | 2012-03-26 | 2012-08-01 | 北京兆易创新科技有限公司 | 非易失存储器的擦除电压产生电路及方法 |
CN102937935A (zh) * | 2012-09-04 | 2013-02-20 | 邹粤林 | 一种固态存储系统及控制器、提高闪存芯片寿命的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3200012B2 (ja) * | 1996-04-19 | 2001-08-20 | 株式会社東芝 | 記憶システム |
JP2003242787A (ja) * | 2002-02-14 | 2003-08-29 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
JP2012069199A (ja) * | 2010-09-22 | 2012-04-05 | Toshiba Corp | 半導体記憶装置 |
JP4902002B1 (ja) * | 2011-04-20 | 2012-03-21 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US9330787B2 (en) * | 2013-03-18 | 2016-05-03 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
-
2013
- 2013-10-11 CN CN201310471811.5A patent/CN104572324A/zh active Pending
- 2013-12-19 US US14/133,646 patent/US20150106667A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211314A (zh) * | 2006-12-31 | 2008-07-02 | 创惟科技股份有限公司 | 闪存资料读写寿命提升方法 |
US20110038212A1 (en) * | 2009-08-13 | 2011-02-17 | Hironori Uchikawa | Controller and non-volatile semiconductor memory device |
CN102623058A (zh) * | 2012-03-26 | 2012-08-01 | 北京兆易创新科技有限公司 | 非易失存储器的擦除电压产生电路及方法 |
CN102937935A (zh) * | 2012-09-04 | 2013-02-20 | 邹粤林 | 一种固态存储系统及控制器、提高闪存芯片寿命的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150106667A1 (en) | 2015-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI489469B (zh) | 資料讀取方法、控制電路、記憶體模組與記憶體儲存裝置 | |
US8289771B2 (en) | Data reading method and control circuit and memory controller using the same | |
US9478298B2 (en) | Memory system and method of reading data thereof | |
TWI512462B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9257187B2 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
TWI545572B (zh) | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8737126B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US10658065B2 (en) | Failure mode detection method and error correction method for solid state storage device | |
US20140226412A1 (en) | Data writing method, and memory control circuit unit and memory storage apparatus using the same | |
TW201501124A (zh) | 讀取電壓設定方法、控制電路與記憶體儲存裝置 | |
TWI536386B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9490024B1 (en) | Solid state storage device and reading control method thereof | |
US20150286527A1 (en) | Solid state drive and associated error check and correction method | |
CN103870399A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN104572324A (zh) | 固态储存装置及其控制方法 | |
CN104282339A (zh) | 读取电压设定方法、控制电路与存储器储存装置 | |
CN103631529A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
TWI556248B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI501245B (zh) | 資料讀取方法、控制電路、記憶體模組與記憶體儲存裝置 | |
US10403379B1 (en) | Erased block reverification method for solid state storage device | |
TWI613660B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20140050024A1 (en) | Data reading method, and circuit, rewritable non-volatile memory module and memory storage apparatus using the same | |
CN104102598A (zh) | 数据读取方法、控制电路、存储器模块与存储器储存装置 | |
CN104167220A (zh) | 数据读取方法、控制电路、存储器模块与存储器存储装置 | |
US8923068B2 (en) | Low margin read operation with CRC comparision |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150429 |
|
WD01 | Invention patent application deemed withdrawn after publication |