固态储存装置及遭遇低电压时的数据处理方法制造方法及图纸

技术编号:10436290 阅读:157 留言:0更新日期:2014-09-17 13:07
一种固态储存装置的数据处理方法,包括下列步骤:接收一主机的写入数据,并转换为一待储存数据;比较一供应电压与一预设电压;以及,当该供应电压低于该预设电压时,以强页程式程序将该待储存数据储存于一多层晶胞闪存的一空白区域。

【技术实现步骤摘要】
固态储存装置及遭遇低电压时的数据处理方法
本专利技术是有关于一固态储存装置,且特别是有关于一种固态储存装置遭遇低电压时的数据处理方法。
技术介绍
众所周知,固态储存装置(SolidStateDrive,SSD)使用与非门闪存(NANDflashmemory)为主要储存组件,而此类的储存装置为一种非挥发性(non-volatile)的内存组件。也就是说,当数据写入闪存后,一旦系统电源关闭,数据仍保存在固态储存装置中。基本上,闪存的每个晶胞(cell)中皆包含浮动闸晶体管(floatinggatetransistor)。在程序(program)时是将热载子(hotcarrier)注入(inject)浮动闸晶体管的浮动闸极,而根据注入热载子的数量即可改变浮动闸晶体管的临限电压(thresholdvoltage),并进而决定该晶胞的储存状态。于抹除(erase)时是将热载子退出(eject)浮动闸晶体管的浮动闸极。闪存依据不同的设计,可分为单层晶胞(single-levelcell,简称SLC)、与多层晶胞(multi-levelcell)。而多层晶胞可包括二层晶胞(double-levelcell)、三层晶胞(triple-levelcell)、四层晶胞(quadruple-levelcell),或者更多层晶胞的闪存。单层晶胞闪存的特性为访问速度快、价格贵、可抹除次数约为数万次以上,但是一个晶胞(cell)仅可储存1位的数据。三层晶胞闪存的特性为访问速度慢、价格便宜、可抹除次数约为1千次以下,但是一个晶胞可储存3位的数据。而二层晶胞闪存的特性介于单层晶胞闪存与三层晶胞闪存之间,访问速度与价格一般、可抹除次数约为1千至5千次之间,而一个晶胞可储存2位的数据。换句话说,由相同晶胞数目所组成的闪存,三层晶胞闪存将有最大的容量,单层晶胞闪存的容量最小。请参照图1,其所绘示为各种闪存中的储存状态与临限电压的关系示意图。单层晶胞(SLC)闪存中,每个晶胞可储存一位的数据(1bit/cell)。因此,根据热载子的注入量,晶胞中的浮动闸晶体管可产生二种临限电压分布,用以代表二种相异的储存状态。举例来说,具备低临限电压的晶胞,其可视为储存状态“0”;具备高临限电压的晶胞,其可视为储存状态“1”。当然,此处的储存状态“0”与储存状态“1”仅是表示相异的二个储存状态,当然也可以用第一储存状态与第二储存状态来表示。举例来说,临限电压在0V附近的晶胞,其可视为第一储存状态;临限电压在1V附近的晶胞,其可视为第二储存状态。同理,双层晶胞闪存中,每个晶胞可储存二位的数据(2bits/cell)。因此,根据热载子的注入量,晶胞中的浮动闸晶体管可产生四种临限电压分布,用以代表四种相异的储存状态。例如,临限电压由低至高依序为储存状态“00”、储存状态“01”、储存状态“10”与储存状态“11”。三双层晶胞闪存中,每个晶胞可储存三位的数据(3bits/cell)。因此,根据热载子的注入量,晶胞中的浮动闸晶体管可产生八种临限电压分布,用以代表八种相异的储存状态。例如,临限电压由低至高依序为储存状态“000”、储存状态“001”、储存状态“010”、储存状态“011”、储存状态“100”、储存状态“101”、储存状态“110”与储存状态“111”。四层晶胞闪存中,每个晶胞可储存四位的数据(4bits/cell)。因此,根据热载子的注入量,晶胞中的浮动闸晶体管可产生十六种临限电压分布,用以代表十六种相异的储存状态。例如,临限电压由低至高依序为储存状态“0000”、储存状态“0001”、储存状态“0010”、储存状态“0011”、储存状态“0100”、储存状态“0101”、储存状态“0110”、储存状态“0111”、储存状态“1000”、储存状态“1001”、储存状态“1010”、储存状态“1011”、储存状态“1100”、储存状态“1101”、储存状态“1110”与储存状态“1111”。由以上说明可知,在闪存程序时,控制晶胞的载子注入量,即可改变晶胞的临限电压并更改其储存状态。然而,除了单层晶胞闪存在程序时,仅需进行一次程序步骤(programprocedure)即可以达到想要的储存状态。而其他多层晶胞快闪记忆则需要进行多次程序步骤才可以到达想要的储存状态。以三层晶胞闪存为例来作说明。请参照图2A,其所绘示为将三层晶胞闪存程序为“100”储存状态的流程示意图。假设欲将三层晶胞闪存程序为“100”储存状态时,需要进行三次程序步骤。于第一次程序步骤时,提供一第一程序电压(programvoltage),并改变为“111”储存状态。接着,于第二次程序步骤时,再提供一第二程序电压用以改变为“101”储存状态。最后,于第三次程序步骤时,再提供一第三程序电压用以改变为“100”储存状态。由以上说明可知,需要先知道最终的储存状态,才来决定三层晶胞闪存要如何进行三次程序步骤。如图2A中的虚线所示,假设欲将三层晶胞闪存程序为“011”储存状态时,需要先程序为“000”储存状态,接着程序为“010”储存状态,最后程序为“011”储存状态。而其他储存状态的三次程序步骤也可以依此类推,不再赘述。由以上说明可知,三层晶胞闪存在第一次程序步骤后,仅能区别出二种相异的储存状态;在第二次程序步骤后,能区别出四种相异的储存状态;而在第三次程序步骤后,才可以完整的区别出八种相异的储存状态。另外,如图2B所示,将二层晶胞闪存程序为各种储存状态则需要二个程序步骤。同理,四层晶胞闪存需进行四次程序步骤。再者,多层晶胞闪存每次程序步骤所耗费的程序时间(programtime)也不相同。以三层晶胞闪存为例,第一次程序步骤的时间最短,约为1ms左右;第二次程序步骤的时间会超过2.5ms;第三次程序步骤最长约为7.0ms。总结来说,多层晶胞闪存的层数越多,需要执行越多的程序步骤来改变至特定的储存状态,并且总程序时间也越长。再者,第一次程序步骤的程序时间最短,最后一次程序步骤的时间最长。请参照图3,其所绘示为公知固态储存装置的示意图。固态储存装置300中包括一控制单元301、一缓冲单元307与一闪存305。控制单元301连接至缓冲单元307与闪存305。再者,控制单元301利用一外部总线310与主机(host)320之间进行指令与数据的传递。基本上,当主机320提供写入数据欲写入闪存305时,控制单元301会先进行ECC编码程序,并且将编码后的待储存数据暂存于缓冲单元307。之后,控制单元301会适时的将待储存数据记录于闪存305。其中,缓冲单元307为SRAM或者DRAM,其暂存的所有数据会随着供应电源消失而不见;外部总线310可为USB总线、IEEE1394总线或SATA总线等等,而闪存305可为单层晶胞或多层晶胞闪存。众所周知,固态储存装置300的控制单元301写入数据时是以页(page)为单位写入闪存305。页的大小可由闪存制造商来定义,举例来说每一页可为2Kbytes、4Kbytes或者8Kbytes。以4Kbytes页为例,待写入数据报括:用户数据、编码数据与其他相关数据,总共为4224bytes。亦即,如果利用单层晶胞闪存来储存一个4Kbytes页的数据,则需要(4224×本文档来自技高网...
固态储存装置及遭遇低电压时的数据处理方法

【技术保护点】
一种固态储存装置,连接至一主机,包括:一控制单元,接收该主机的一写入数据,并且转换为一待储存数据;一缓冲单元,暂存该待储存数据;一多层晶胞闪存,连接至该控制单元;以及一电压侦测单元,接收一供应电压,当该供应电压低于一预设电压时,产生一通知信号至该控制单元;其中,当该控制单元接收到该通知信号时,以一强页程式程序将该待储存数据储存于该多层晶胞闪存的一空白区域。

【技术特征摘要】
1.一种固态储存装置,连接至一主机,包括:一控制单元,接收该主机的一写入数据,并且转换为一待储存数据;一缓冲单元,暂存该待储存数据;一多层晶胞闪存,连接至该控制单元;以及一电压侦测单元,接收一供应电压,当该供应电压低于一预设电压时,产生一通知信号至该控制单元;其中,当该控制单元接收到该通知信号时,以一强页程序步骤将该待储存数据储存于该多层晶胞闪存的一空白区域。2.如权利要求1所述的固态储存装置,其中,当该控制单元未接收到该通知信号时,依序进行该强页程序步骤以及一弱页程序步骤,以将该待储存数据储存于该多层晶胞闪存。3.如权利要求1所述的固态储存装置,其中,该多层晶胞闪存为一二层晶胞闪存、一三层晶胞闪存或者一四层晶胞闪存。4.如权利要求1所述的固态储存装置,其中...

【专利技术属性】
技术研发人员:张昆昌叶志伟李威汉
申请(专利权)人:光宝科技股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1