CN106569730A - 固态储存装置及其相关资料写入方法 - Google Patents
固态储存装置及其相关资料写入方法 Download PDFInfo
- Publication number
- CN106569730A CN106569730A CN201510650116.4A CN201510650116A CN106569730A CN 106569730 A CN106569730 A CN 106569730A CN 201510650116 A CN201510650116 A CN 201510650116A CN 106569730 A CN106569730 A CN 106569730A
- Authority
- CN
- China
- Prior art keywords
- layers
- program
- data
- page
- memory cell
- 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.)
- Granted
Links
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/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
- 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
-
- 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种固态储存装置的资料写入方法,包括下列步骤:(a)判断一主机是否发出一电源关闭指令;(b)于确认该主机未发出该电源关闭指令时,进行多个编程程序,将一缓冲元件中的多个写入资料根据一编程次序储存至一TLC闪存;(c)于确认该主机发出该电源关闭指令时,产生多个冗余资料作为写入资料储存于该缓冲元件中;之后,进行多个编程程序,将该缓冲元件中的所述写入资料根据该编程次序储存至该TLC闪存。
Description
技术领域
本发明是有关于一种固态储存装置及其控制方法,且特别是有关于一种由三层存储单元(triple-level cell)闪存组成的固态储存装置及其相关资料写入方法。
背景技术
众所周知,固态储存装置(Solid State Device,SSD)使用与非门闪存(NAND flash memory)为主要储存元件,而闪存为一种非挥发性(non-volatile)存储器。也就是说,当资料写入闪存后,即使系统电源关闭,资料仍保存在闪存中。
基本上,闪存的每个存储单元(cell)中皆包含浮动栅晶体管(floating gate transistor)。在进行编程动作(program action)时,是将热载子(hot carrier)注入(inject)浮动栅晶体管的浮动栅极,而根据注入热载子的数量即可改变浮动栅晶体管的临限电压(thresholdvoltage),并进而决定该存储单元的储存状态。并且,于抹除动作(eraseaction)时,将热载子退出(eject)浮动栅晶体管的浮动栅极。
闪存依据不同的设计,可分为单层存储单元(single-level cell)与多层存储单元(multi-level cell)的闪存。而多层存储单元还包括二层存储单元(double-level cell)、三层存储单元(triple-level cell),或者更多层存储单元的闪存。
请参照图1,其所绘示为各种闪存中的储存状态与临限电压的关系示意图。在单层存储单元闪存中,每个存储单元可储存一位的资料(1bit/cell)。因此,根据热载子的注入量,存储单元中的浮动栅晶体管可产生二种临限电压分布,用以代表二种相异的储存状态。举例来说,具备低临限电压的存储单元,其可视为储存状态“0”;具备高临限电压的存储单元,其可视为储存状态“1”。当然,此处的储存状态“0”与储存状态“1”仅是表示相异的二个储存状态,当然也可以用第一储存状态与第二储存状态来表示。举例来说,临限电压在0V附近的存储单元,其可视为第一储存状态;临限电压在10V附近的存储单元,其可视为第二储存状态。
同理,二层存储单元闪存中,每个存储单元可储存二位的资料(2bits/cell)。因此,根据热载子的注入量,存储单元中的浮动栅晶体管可产生四种临限电压分布,用以代表四种相异的储存状态。例如,临限电压由低至高依序为储存状态“00”、储存状态“01”、储存状态“10”与储存状态“11”。
三层存储单元闪存中,每个存储单元可储存三位的资料(3bits/cell)。因此,根据热载子的注入量,存储单元中的浮动栅晶体管可产生八种临限电压分布,用以代表八种相异的储存状态。例如,临限电压由低至高依序为储存状态“000”、储存状态“001”、储存状态“010”、储存状态“011”、储存状态“100”、储存状态“101”、储存状态“110”与储存状态”111”。
由以上说明可知,在编程闪存时,控制存储单元的热载子注入量,即可改变存储单元的临限电压并更改其储存状态。然而,除了单层存储单元闪存在编程动作时,仅需进行一次编程程序(program procedure)即可以达到想要的储存状态,其他多层存储单元快闪存储于编程动作时,需要进行多次编程程序才可以到达想要的储存状态。
请参照图2A,其所绘示为二层存储单元闪存的编程示意图。图2A是将二层存储单元闪存编程为“10”储存状态所进行的二次编程程序。于第一次编程程序时,提供一第一编程电压(program voltage),并将存储单元改变为“11”储存状态。接着,于第二次编程程序时,再提供一第二编程电压用以改变为“10”储存状态。
同理,如欲将二层存储单元闪存编程为“01”储存状态。则于第一次编程程序时,将存储单元改变为“00”储存状态。接着,于第二次编程程序时,再将存储单元改变为“01”储存状态。
众所周知,闪存写入资料时是以页(page)为单位写入闪存。页的大小可由闪存制造商来定义,举例来说每一页可为2K bytes、4K bytes或者8K bytes。以4K bytes大小的页为例,写入资料报括:用户资料、编码资料与其他相关资料,总共为4224bytes(亦即,4224×8bits)。
换言之,如果利用单层存储单元闪存来储存一个4K bytes页的资料时,则需要利用(4224×8)数目的单层存储单元来储存。再者,由于二层存储单元闪存的资料密度较高,所以(4224×8)数目的二层存储单元闪存可以储存二个页的资料(2×4224bytes)。同理,(4224×8)数目的三层存储单元闪存可以储存三个页的资料(3×4224bytes)。
请参照图2B与图2C,其所绘示为利用(4224×8)数目的二层存储单元闪存来储存二个页(第M页与第N页)的资料的示意图。以第一个字节(Byte-1)为例,假设于编程动作时,是将写入资料(write data)0×65h(01100101b)储存于第M页的第一个字节,将写入资料0×DBh(11011011b)储存于第N页的第一个字节。
如图2B所示,于第一次编程程序时,是将第M页的第一个字节的写入资料(01100101b)编程至二层存储单元闪存的8个存储单元中。完成后,8个存储单元的储存状态依序为“00”、“11”、“11”、“00”、“00”、“11”、“00”、“11”。换言之,于第一次编程程序后,第M页的第一个字节的资料为(01100101b),而第N页的第一个字节的资料也为(01100101b)。
如图2C所示,于第二次编程程序时,再将第N页的第一个字节的写入资料(11011011b)编程至二层存储单元闪存的8个存储单元中。完成后,8个存储单元的储存状态更改为“01”、“11”、“10”、“01”、“01”、“10”、“01”、“11”。换言之,于第二次编程程序后,第M页的第一个字节的资料为(01100101b),而第N页的第一个字节的资料才会成为(11011011b)。
由上述的说明可知,于编程动作的第一次编程程序后,(4224×8)个存储单元的二层存储单元闪存仅能够储存第M页的资料。而必须再次进行第二次编程程序之后,(4224×8)个存储单元的二层存储单元闪存才够同时储存第M页以及第N页的资料。
根据多层存储单元闪存的规格书的定义,二层存储单元闪存是进一步的被区分为上页(upper page)以及下页(lower page)。而上述图2B所示的第M页,即为上页,上述图2C所示的第N页,即为下页。换言之,而在编程动作(program action)的过程,第一次编程程序即为上页编程程序,第二次编程程序即为下页编程程序。而上页编程程序以及下页编程程序皆完成后,才能够读取二层存储单元闪存中的资料。
同理,三层存储单元闪存是进一步的被区分为上页(upper page)、中页(middle page)以及下页(lower page)。而在编程的过程,需要进行三次的编程程序来分别编程上页、中页以及下页。
然而,根据规格书的规范,于编程三层存储单元闪存时并无法连续三次都针对相同的三层存储单元进行编程程序。因此,可能会使得三层存储单元快闪存储在编程动作的过程中造成资料遗失的风险。
发明内容
本发明是有关于一种固态储存装置的资料写入方法,包括下列步骤:(a)判断一主机是否发出一电源关闭指令;(b)于确认该主机未发出该电源关闭指令时,进行多个编程程序,将一缓冲元件中的多个写入资料根据一编程次序储存至一TLC闪存;(c)于确认该主机发出该电源关闭指令时,产生多个冗余资料作为写入资料储存于该缓冲元件中;之后,进行多个编程程序,将该缓冲元件中的写入资料根据该编程次序储存至该TLC闪存。
本发明是有关于一种固态储存装置,连接至一主机,该固态储存装置包括:一控制器,连接至该主机;一缓冲元件,连接至该控制器;以及一TLC闪存,连接至该控制器;其中,当该主机发出一电源关闭指令时,该控制器产生多个冗余资料作为多个写入资料储存于该缓冲元件中;以及,该控制器进行多个编程程序,将该缓冲元件中的写入资料根据一编程次序储存至该TLC闪存。
附图说明
为了对本发明的上述及其他方面有更佳的了解,下文特举较佳实施例,并配合所附附图,作详细说明如下,其中:
图1所绘示为各种闪存中的储存状态与临限电压的关系示意图。
图2A所绘示为二层存储单元闪存的编程示意图。
图2B与图2C所绘示为利用(4224×8)数目的二层存储单元闪存来储存二个页(第M页与第N页)的资料的示意图。
图3所绘示为三层存储单元闪存的编程示意图。
图4A所绘示为本发明固态储存装置示意图。
图4B所绘示为TLC闪存的编程次序示意图。
图5所绘示为本发明固态储存装置的资料写入方法流程图。
图6A至图6D所绘示为接到电源关闭指令后,固态储存装置的内部运作示意图。
具体实施方式
请参照图3,其所绘示为三层存储单元闪存(以下简称为TLC闪存)的编程示意图。图3是将TLC闪存编程为“100”储存状态的流程示意图。于第一次编程程序时,先将TLC闪存改变为“111”储存状态。接着,于第二次编程程序时,再改变为“101”储存状态。最后,于第三次编程程序时,再改变为“100”储存状态。
由以上的说明可知,于编程TLC闪存时时,需要先知道TLC闪存最终的储存状态,才能决定如何进行编程程序。举例来说,如图3中的虚线所示,假设欲将TLC闪存编程为“011”储存状态时,需要先编程为“000”储存状态,接着编程为“010”储存状态,最后编程为“011”储存状态。同理,其他储存状态的三次编程程序也可以依此类推,不再赘述。
相同地,根据规格书的定义,TLC闪存是被定义为上页、中页以及下页,并且需要进行上页编程程序、中页编程程序以及下页编程程序。以下介绍TLC闪存的编程动作。
请参照图4A,其所绘示为本发明固态储存装置示意图。固态储存装置300中包括一控制器301、一缓冲元件307与一TLC闪存305。控制器301连接至缓冲元件307与TLC闪存305。再者,控制器301利用一外部总线310与主机(host)320之间进行指令与资料的传递。
基本上,当主机320提供主机资料(host data)欲写入TLC闪存305时,控制器301会先将主机资料进行ECC编码程序,并且将主机资料编码为写入资料暂存于缓冲元件307。之后,控制器301会适时的进行编程动作,将缓冲元件307中的写入资料储存于TLC闪存305。其中,缓冲元件307是为SRAM或者DRAM,其暂存的所有资料会随着供应电源消失而不见;外部总线310可为USB总线、IEEE 1394总线、PCIe总线或SATA总线等等。
另外,规格书中针对TLC闪存305的特性,规范了编程次序(programorder)。请参照图4B,其所绘示为TLC闪存的编程次序示意图。以下的说明是以4K bytes的页为例来进行说明,其中一页的写入资料报括:用户资料、编码资料与其他相关资料,总共为4224bytes(亦即,4224×8bits)。
如图4B所示,TLC闪存305中有多个页,每个页中各有(4224×8)数目的TLC存储单元。另外,固态储存装置300收到12页的主机资料,经过ECC编码程序后,依序产生A~L共12页的写入资料暂存于缓冲元件307中。
基本上,第A-C页的写入资料会储存于第一页TLC存储单元中。同理,第D-F页的写入资料会储存于第二页TLC存储单元中;第G-I页的写入资料会储存于第三页TLC存储单元中;第J-L页的写入资料会储存于第四页TLC存储单元中。
再者,根据规格书的规范,于TLC闪存305进行编程动作时,其编程次序如图4B所示。首先,动作(activate)第一页TLC存储单元,进行第一次编程程序(1st),也就是第一页TLC存储单元的上页编程程序;接着,动作第二页TLC存储单元,进行第二次编程程序(2nd),也就是第二页TLC存储单元的上页编程程序;接着,动作第一页TLC存储单元,进行第三次编程程序(3rd),也就是第一页TLC存储单元的中页编程程序;接着,动作第三页TLC存储单元,进行第四次编程程序(4th),也就是第三页TLC存储单元的上页编程程序;接着,动作第二页TLC存储单元,进行第五次编程程序(5th),也就是第二页TLC存储单元的中页编程程序;接着,动作第一页TLC存储单元,进行第六次编程程序(6th),也就是第一页TLC存储单元的下页编程程序;接着,动作第四页TLC存储单元,进行第七次编程程序(7th),也就是第四页TLC存储单元的上页编程程序;接着,动作第三页TLC存储单元,进行第八次编程程序(8th),也就是第三页TLC存储单元的中页编程程序;接着,动作第二页TLC存储单元,进行第九次编程程序(9th),也就是第二页TLC存储单元的下页编程程序。
由图4B所示的编程次序可知,当进行一特定页中的上页编程程序后,会继续进行该特定页的前一页的中页编程程序,接着继续进行该特定页前二页的下页编程程序。因此,当第一次编程程序(1st)、第三次编程程序(3rd)与第六次编程程序(6th)完成之后,才可确认第一页TLC存储单元已经完成编程。同理,当第二次编程程序(2nd)、第五次编程程序(5th)与第九次编程程序(9th)完成之后,才可确认第二页TLC存储单元已经完成编程。
另外,由于主机320尚未提供其他新主机资料,因此缓冲元件307中并没有新增的写入资料。由于TLC闪存305的编程次序限制,当控制器301无法对第五页TLC存储单元进行上页编程程序时,控制器301也无法对第四页TLC存储单元进行中页编程程序以及第三页TLC存储单元进行下页编程程序。同理,控制器301更无法对第四页TLC存储单元进行下页编程程序。因此,缓冲元件307中,尚暂存了三页(I、K、L)的写入资料未被编程至TLC闪存305。
基本上,当一页的TLC存储单元已经完成编程(经过三次编程程序)后,其储存的所有资料可视为稳定的资料(stable data),可正确地经由控制器301的ECC译码程序(ECC decoding procedure)而被正确的读取。反之,当一页的TLC存储单元尚未完成编程(经过三次编程程序)时,其储存的资料可视为不稳定的资料(unstable data),将无法经由控制器301的ECC译码程序而被正确的读取。
由以上的说明可知,图4B中的第三页TLC存储单元以及第四页TLC存储单元尚未完成编程,所以第三页TLC存储单元以及第四页TLC存储单元中的资料为不稳定的资料。而控制器301必须等到主机320提供其他新的主机资料之后,才可以根据TLC闪存305的编程次序来继续进行编程程序,如此才可使得第三页TLC存储单元以及第四页TLC存储单元中的资料变成稳定的资料。
众所周知,缓冲元件307(SRAM或DRAM)暂存的所有资料会随着供应电源消失而不见。当主机320传递电源关闭指令(shut-down command)至固态储存装置300时,由于编程次序的限制,缓冲元件307中暂存的三页写入资料(I、K、L)将随着电源的消失而不见。
因此,当固态储存装置300再次接收到电源时,由于第三页TLC存储单元以及第四页TLC存储单元皆未编程完成,所以控制器301无法通过ECC译码程序读取其储存内容,而造成第三页TLC存储单元以及第四页TLC存储单元中的资料遗失的问题。
为了解决上述的状况,本发明提出一种固态储存装置及其相关资料写入方法,用以解决TLC闪存305的编程次序所造成的资料遗失的问题。请参照图5,其所绘示为本发明固态储存装置的资料写入方法流程图。此流程图主要在说明固态储存装置300在写入资料的过程收到电源关闭指令的动作,以及恢复供电时的动作。至于其他的运作,例如读取动作(readaction)与抹除动作,则不再详述。
首先,当固态储存装置300正常运作时,控制器301会判断是否收到主机320发出的电源关闭指令(步骤S502)。当控制器301未收到主机320发出的电源关闭指令时,控制器301进行编程程序,将缓冲元件307中的写入资料根据编程次序储存至TLC闪存305(步骤S504)。
再者,当控制器301收到主机320发出的电源关闭指令时,则控制器301产生预定的冗余资料(redundant data)作为写入资料储存于缓冲元件307中。接着,控制器301进行编程程序,将缓冲元件307中的写入资料根据编程次序储存至TLC闪存305(步骤S508)。之后,固态储存装置300的电源消失(步骤S510),此时缓冲元件307中暂存的写入资料将随着电源的消失而不见。其中,预定的冗余资料是由控制器301自行产生具有特定图样(specific pattern)的冗余资料。
之后,当固态储存装置300再次接收电源(步骤S520)时,控制器301产生电源消失前的冗余资料作为写入资料储存于缓冲元件307中(步骤S522)。接着,回到步骤S502。
请参考图6A至图6D,其所绘示为接到电源关闭指令后,固态储存装置的内部运作示意图。
首先,假设固态储存装置300接到电源关闭指令之前,缓冲元件307以及TLC存储单元闪存305中的资料储存情况如图4B所示,亦即第三页TLC存储单元以及第四页TLC存储单元尚未编程完成,且缓冲元件307中尚有写入资料(I、K、L)。
根据本发明的实施例,当固态储存装置300接收到电源关闭指令时,控制器301即产生预定的冗余资料作为写入资料并储存于缓冲元件307中。如图6A所示,控制器301自行产生冗余资料(R1-R6)作为写入资料,暂存于缓冲元件307中。
接着,控制器301进行编程程序,将缓冲元件307中的写入资料根据编程次序储存至TLC闪存305。
因此,如图6B所示,控制器301动作第五页TLC存储单元,进行第十次编程程序(10th),也就是第五页TLC存储单元的上页编程程序;接着,动作第四页TLC存储单元,进行第十一次编程程序(11th),也就是第四页TLC存储单元的中页编程程序;接着,动作第三页TLC存储单元,进行第十二次编程程序(12th),也就是第三页TLC存储单元的下页编程程序;接着,动作第六页TLC存储单元,进行第十三次编程程序(13th),也就是第六页TLC存储单元的上页编程程序;接着,动作第五页TLC存储单元,进行第十四次编程程序(14th),也就是第五页TLC存储单元的中页编程程序;接着,动作第四页TLC存储单元,进行第十五次编程程序(15th),也就是第四页TLC存储单元的下页编程程序。
由图6B可知,运用本发明的资料写入方法,于固态储存装置300的电源关闭之前,可以确认由主机资料所编码成的写入资料已经完全储存于TLC闪存305中。也就是说,可确认第一页TLC存储单元至第四页TLC存储单元皆已经完成编程,而第一页TLC存储单元至第四页TLC存储单元中的资料为稳定的资料。
再者,当固态储存装置300的电源关闭之后,由于缓冲元件307中暂存的三页冗余资料(R3、R5、R6)未被编程至TLC闪存305,所以会随着电源消失而消失。
如图6C所示,当固态储存装置300再次接收电源时,控制器301先产生电源消失前的冗余资料作为写入资料储存于缓冲元件307中。由于电源关闭前的冗余资料是由控制器301自行产生,因此于电源恢复后,控制器301再次产生电源消失前的冗余资料(R1-R6)作为写入资料储存于缓冲元件307中。
再者,如图6D所示,当固态储存装置300再次收到主机资料,经过ECC编码程序后,即产生M-R的写入资料暂存于缓冲元件307。之后,控制器301进行编程程序,将缓冲元件307中的写入资料根据编程次序储存至TLC闪存305。
因此,如图6D所示,当固态储存装置300未收到电源关闭指令时,控制器301会依序进行第十六次编程程序(16th)至第二十一次编程程序(21th),而详细的流程不再赘述。
换言之,当固态储存装置300再次接收到电源之后,随着新的写入资料持续储存至缓冲元件307,控制器301会进行编程程序,会使得第五页TLC存储单元以及第六页TLC存储单元中的资料成为稳定的资料。
由以上的说明可知,本发明的资料写入方法是以页为单位来进行。换句话说,TLC闪存305中具有多个TLC存储单元群,每一TLC存储单元群具有M个TLC存储单元,用以进行三次编程程序,且每一该编程程序是写入M个资料。再者,M个资料即为一个页的位元数目,而所述TLC存储单元群即为多个页的TLC存储单元,且每一页的TLC存储单元是可写入三个页的位元数目。
另外,本发明是利用电源关闭之前的短暂时间,产生冗余资料。并且,根据编程次序,将主机资料编码而成的写入资料储存于TCL闪存305中,防止主机资料编码而成的写入资料随着电源消失而消失。
再者,当固态储存装置300再次接收到电源之后,控制器301可再次产生冗余资料并储存于缓冲元件307中。并且,随着主机资料的输入,使得冗余资料继续被储存于TLC闪存305中。
明显地,虽然冗余资料会占据TLC闪存305的储存空间,但是可以有效地防止主机资料编码而成的写入资料消失。
再者,主机320发出电源关闭指令至电源真正停止供应电源的时间约为100ms。再者,以资料写入速率200Mbyte/sec为例,写入6个页的资料量为(4224×6)bytes,所以大约需要0.13ms即可将产生的冗余资料储存至TLC闪存305。因此,当固态储存装置300接收到电源关闭指令之后,确实有足够的时间进行本发明所揭露的写入方法,有效地防止主机资料编码而成的写入资料随着电源消失而消失。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的权利要求范围所界定的为准。
Claims (12)
1.一种固态储存装置的资料写入方法,包括下列步骤:
(a)判断一主机是否发出一电源关闭指令;
(b)于确认该主机未发出该电源关闭指令时,进行多个编程程序,将一缓冲元件中的多个写入资料根据一编程次序储存至一三层存储单元闪存;以及
(c)于确认该主机发出该电源关闭指令时,产生多个冗余资料作为写入资料储存于该缓冲元件中;之后,进行多个编程程序,将该缓冲元件中的所述写入资料根据该编程次序储存至该三层存储单元闪存。
2.如权利要求1所述的固态储存装置的资料写入方法,还包括下列步骤:
(d)当接收到一电源后,产生所述冗余资料作为写入资料储存于该缓冲元件中;以及
(e)回到该步骤(a)。
3.如权利要求1所述的固态储存装置的资料写入方法,其中所述冗余资料由该固态储存装置所产生。
4.如权利要求1所述的固态储存装置的资料写入方法,其中该固态储存装置中的该三层存储单元闪存中具有多个三层存储单元群,每一个三层存储单元群具有M个三层存储单元,用以进行三次编程程序,且每一该编程程序写入M个资料,其中该编程次序包括下列步骤:
(f1)对所述三层存储单元群中的一特定三层存储单元群进行该三次编程程序中的一第一次编程程序;
(f2)对该特定三层存储单元群的前一个三层存储单元群进行该三次编程程序中的一第二次编程程序;以及
(f3)对该特定三层存储单元群的前二个三层存储单元群进行该三次编程程序中的一第三次编程程序。
5.如权利要求4所述的固态储存装置的资料写入方法,其中该M个资料为一个页的位元数目,每一该三层存储单元群为一个页的三层存储单元,且每一该页的三层存储单元写入三个页的位元数目。
6.如权利要求4所述的固态储存装置的资料写入方法,其中该步骤(f1)对该特定三层存储单元群进行一上页编程程序;该步骤(f2)对该特定三层存储单元群的前一个三层存储单元群进行一中页编程程序;以及该步骤(f3)对该特定三层存储单元群的前二个三层存储单元群进行一下页编程程序。
7.一种固态储存装置,连接至一主机,该固态储存装置包括:
一控制器,连接至该主机;
一缓冲元件,连接至该控制器;以及
一三层存储单元闪存,连接至该控制器;
其中,当该主机发出一电源关闭指令时,该控制器产生多个冗余资料作为写入资料储存于该缓冲元件中;以及,该控制器进行多个编程程序,将该缓冲元件中的所述写入资料根据一编程次序储存至该三层存储单元闪存。
8.如权利要求7所述的固态储存装置,其中当该主机未发出该电源关闭指令时,该控制器进行所述编程程序,将该缓冲元件中的写入资料根据该编程次序储存至该三层存储单元闪存。
9.如权利要求7所述的固态储存装置,其中当该固态储存装置接收到一电源后,该控制器再次产生所述冗余资料作为写入资料,储存于该缓冲元件中。
10.如权利要求7所述的固态储存装置,其中,该三层存储单元闪存中具有多个三层存储单元群,每一个三层存储单元群具有M个三层存储单元,用以进行三次编程程序,且每一该编程程序写入M个资料。
11.如权利要求10所述的固态储存装置,其中该编程次序依序进行:(f1)对所述三层存储单元群中的一特定三层存储单元群进行该三次编程程序中的一第一次编程程序;(f2)对该特定三层存储单元群的前一个三层存储单元群进行该三次编程程序中的一第二次编程程序;以及,(f3)对该特定三层存储单元群的前二个三层存储单元群进行该三次编程程序中的一第三次编程程序。
12.如权利要求11所述的固态储存装置,其中该M个资料为一个页的位元数目,每一该三层存储单元群为一个页的三层存储单元,且每一该页的三层存储单元写入三个页的位元数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510650116.4A CN106569730B (zh) | 2015-10-08 | 2015-10-08 | 固态储存装置及其相关资料写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510650116.4A CN106569730B (zh) | 2015-10-08 | 2015-10-08 | 固态储存装置及其相关资料写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106569730A true CN106569730A (zh) | 2017-04-19 |
CN106569730B CN106569730B (zh) | 2019-03-22 |
Family
ID=58506141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510650116.4A Active CN106569730B (zh) | 2015-10-08 | 2015-10-08 | 固态储存装置及其相关资料写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106569730B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828794A (zh) * | 2017-11-23 | 2019-05-31 | 光宝电子(广州)有限公司 | 固态储存装置及其相关程序的载入方法 |
CN110609657A (zh) * | 2018-06-14 | 2019-12-24 | 慧荣科技股份有限公司 | 内存控制器及方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010049799A1 (en) * | 2000-06-05 | 2001-12-06 | Hirofumi Morita | Disk array device including a memory with backup power supply and method thereof |
US20100235568A1 (en) * | 2009-03-12 | 2010-09-16 | Toshiba Storage Device Corporation | Storage device using non-volatile memory |
TW201117001A (en) * | 2009-11-06 | 2011-05-16 | Phison Electronics Corp | Data backup method for a flash memory and controller and storage system using the same |
US20120137059A1 (en) * | 2009-04-30 | 2012-05-31 | Velobit, Inc. | Content locality-based caching in a data storage system |
US8327080B1 (en) * | 2010-09-28 | 2012-12-04 | Emc Corporation | Write-back cache protection |
CN103164345A (zh) * | 2011-12-08 | 2013-06-19 | 建兴电子科技股份有限公司 | 固态存储装置遭遇断电后的数据存储方法 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN104050107A (zh) * | 2013-03-12 | 2014-09-17 | 光宝科技股份有限公司 | 固态储存装置及遭遇低电压时的数据处理方法 |
CN104461377A (zh) * | 2013-09-18 | 2015-03-25 | 柯尼卡美能达株式会社 | 信息处理装置以及信息处理装置的电源关闭控制方法 |
CN104571933A (zh) * | 2013-10-18 | 2015-04-29 | 光宝科技股份有限公司 | 具固态储存元件的电子装置及其相关控制方法 |
CN104715796A (zh) * | 2013-12-17 | 2015-06-17 | 擎泰科技股份有限公司 | 多位存储单元非易失性存储器的写入方法及系统 |
US20150193302A1 (en) * | 2014-01-09 | 2015-07-09 | Sandisk Technologies Inc. | Selective ecc refresh for on die buffered non-volatile memory |
-
2015
- 2015-10-08 CN CN201510650116.4A patent/CN106569730B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010049799A1 (en) * | 2000-06-05 | 2001-12-06 | Hirofumi Morita | Disk array device including a memory with backup power supply and method thereof |
US20100235568A1 (en) * | 2009-03-12 | 2010-09-16 | Toshiba Storage Device Corporation | Storage device using non-volatile memory |
US20120137059A1 (en) * | 2009-04-30 | 2012-05-31 | Velobit, Inc. | Content locality-based caching in a data storage system |
TW201117001A (en) * | 2009-11-06 | 2011-05-16 | Phison Electronics Corp | Data backup method for a flash memory and controller and storage system using the same |
US8327080B1 (en) * | 2010-09-28 | 2012-12-04 | Emc Corporation | Write-back cache protection |
CN103164345A (zh) * | 2011-12-08 | 2013-06-19 | 建兴电子科技股份有限公司 | 固态存储装置遭遇断电后的数据存储方法 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN104050107A (zh) * | 2013-03-12 | 2014-09-17 | 光宝科技股份有限公司 | 固态储存装置及遭遇低电压时的数据处理方法 |
CN104461377A (zh) * | 2013-09-18 | 2015-03-25 | 柯尼卡美能达株式会社 | 信息处理装置以及信息处理装置的电源关闭控制方法 |
CN104571933A (zh) * | 2013-10-18 | 2015-04-29 | 光宝科技股份有限公司 | 具固态储存元件的电子装置及其相关控制方法 |
CN104715796A (zh) * | 2013-12-17 | 2015-06-17 | 擎泰科技股份有限公司 | 多位存储单元非易失性存储器的写入方法及系统 |
US20150193302A1 (en) * | 2014-01-09 | 2015-07-09 | Sandisk Technologies Inc. | Selective ecc refresh for on die buffered non-volatile memory |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828794A (zh) * | 2017-11-23 | 2019-05-31 | 光宝电子(广州)有限公司 | 固态储存装置及其相关程序的载入方法 |
CN109828794B (zh) * | 2017-11-23 | 2021-09-17 | 建兴储存科技(广州)有限公司 | 固态储存装置及其相关程序的载入方法 |
CN110609657A (zh) * | 2018-06-14 | 2019-12-24 | 慧荣科技股份有限公司 | 内存控制器及方法 |
CN110609657B (zh) * | 2018-06-14 | 2022-10-21 | 慧荣科技股份有限公司 | 内存控制器及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106569730B (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544993B (zh) | 非易失性存储器件和存储器系统及管理、擦除和编程方法 | |
CN105988718B (zh) | 非挥发性储存装置与控制器进行的控制方法 | |
CN103699344B (zh) | 非易失性存储器装置及其操作方法 | |
CN107544748B (zh) | 固态储存装置及其数据写入方法 | |
KR102518884B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN101533671B (zh) | 非易失性存储装置及其操作方法 | |
CN109542675A (zh) | 存储器系统及其操作方法 | |
CN101349963B (zh) | 固态盘控制器及其数据处理方法 | |
KR20150139112A (ko) | 가비지 컬렉션 유닛을 포함하는 메모리 시스템 및 동작 방법 | |
CN105005450B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN109062827A (zh) | 闪存控制装置、闪存控制系统以及闪存控制方法 | |
CN104835526A (zh) | 将数据写入至闪存的方法及相关的记忆装置与闪存 | |
CN110083546A (zh) | 记忆装置中进行写入管理的方法、记忆装置和其控制器 | |
CN102346652A (zh) | 快闪存储装置与快闪存储装置管理方法 | |
KR20190043863A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
JP4253272B2 (ja) | メモリカード、半導体装置、及び半導体メモリの制御方法 | |
TW201905711A (zh) | 資料儲存裝置及非揮發式記憶體操作方法 | |
CN103106155A (zh) | 存储器储存装置、存储器控制器与其数据传输方法 | |
US10712970B2 (en) | Flash memory controller and associated accessing method and electronic device | |
CN104850514A (zh) | 存取闪存的方法及相关的控制器与记忆装置 | |
CN102033811A (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
CN105988936B (zh) | 非挥发性储存装置与控制器 | |
CN106569730A (zh) | 固态储存装置及其相关资料写入方法 | |
CN104050107B (zh) | 固态储存装置及遭遇低电压时的数据处理方法 | |
CN110489050A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191230 Address after: Room 302, factory a, No.8 Guangbao Road, Science City, Huangpu District, Guangzhou City, Guangdong Province Patentee after: Jianxing storage technology (Guangzhou) Co., Ltd Address before: No. 25 West Road, Science City, Guangzhou high tech Industrial Development Zone, Guangdong, China Co-patentee before: Lite-On Technology Corporation Patentee before: Guangbao Electronics (Guangzhou) Co., Ltd. |
|
TR01 | Transfer of patent right |