固态储存装置及其逻辑至实体对应表建立方法

文档序号:6438025阅读:388来源:国知局
专利名称:固态储存装置及其逻辑至实体对应表建立方法
技术领域
本发明是有关于一种固态储存装置及其控制方法,且特别是有关于一种固态储存装置及其逻辑至实体对应表(L2P Table)建立方法。
背景技术
众所周知,固态储存装置(Solid State Drive, SSD)使用与非门闪存(NAND flashmemory)为主要储存组件,而此类的储存装置为一种非挥发性(non-volatile)的内存组件。也就是说,当数据写入闪存后,一旦系统电源关闭,数据仍保存在固态储存装置中。请参照图1,其所绘示为固态储存装置的示意图。固态储存装置10中包括一控制单元101与一闪存105。在控制单元101内部包括一映像单元(mapping unit) 107以及一历史数目产生器(history number generator) 109,用来管理闪存105内部的数据。而在固态储存装置10外部,控制单元101利用一外部总线20与主机(host) 12之间进行指令与数据的传递。其中,外部总线20可为USB总线、IEEE 1394总线或SATA总线等等。基本上,映像单元107中至少包括一逻辑至实体对应表(Logical toPhysicalTable,简称L2P表)以及一点阵列表格(Bitmap)。当固态储存装置10未接受电源时,映像单元107中L2P表以及点阵列表格中的数据将被删除。亦即,映像单元107可为静态随机存取内存(SRAM)或动态随机存取内存(DRAM)。当然,映像单元107也可以外接于控制单元101。以下详细介绍L2P表以及点阵列表格的功能与用途。一般来说,闪存105中包括许多区块(block),而每个区块中又包括多个页(page)。例如,一个区块中有8页,而每个页的容量为4K bytes。再者,由于闪存105的特性,每次数据写入时是以页为最小单位,而在一个区块中其根据页码由小到大依序写入。再者,当一个区块被写入时,历史数目产生器109就会提供该区块一个历史数目。基本上,历史数目产生器109会由小到大依序递增历史数目,且不会重复,亦即历史数目越大的区块其写入资料越新。另外,每次数据抹除(erase)时则是以区块为单位进行数据抹除,当区块被抹除之后,其对应的历史数目也会一并抹除,待下一次该区块再被写入后,历史数目产生器109就会提供该区块一个新的历史数目。由于闪存105的特性,当区块中某一个页的数据需要更改时,控制单元101将无法直接修改该页中的数据,因此控制单元101需要将修改后的更新数据写在另一空白页,而原来旧的页将被视为无效页(invalid page),里面的数据将被视为无效数据(invaliddata)。接着,以下先介绍主机12与固态储存装置10之间的数据传递方式。主机12与固态储存装置10之间以逻辑区块地址(Logical Block Address,以下简称LBA)进行沟通,而每个LBA的位置中可储存512bytes的数据量。也就是说,假设主机12要写入数据时,主机12会发出写入指令并提供LBA(X)并伴随着512byte的资料。当固态储存装置10收到此讯息时,即会将收到的512bytes数据储存至LBA(X)的位置。同理,假设主机12要读取数据时,主机12会发出读取指令并提供LBA (Y)。当固态储存装置10收到此讯息时,即会将LBA(Y)位置中的512bytes数据输出至主机12。然而,固态储存装置10内部以逻辑配置地址(Logical AllocationAddress,以下简称LAA)进行沟通,而每个LAA的储存容量由固态储存装置10自行定义,例如4KbytesLAA 或者 8Kbytes IAk。以4Kbytes LAA为例,每个LAA可储存的容量为LBA的8倍(4Kbytes/512Bytes=8)。换句话说,当主机12发出LBA(X)的位置时,控制单元101会先将X除以8,而计算出的商数即为LAA,而根据计算出的余数即可在该LAA中寻找到特定512Bytes所储存的位置。再者,L2P表提供LAA对应至实体配置地址(Physical AllocationAddress,以下简称PAA)的表格,而LAA与PAA具有相同的储存容量。而点阵列表格对应至所有的PAA的位置,并利用I个位(bit)来表示PAA位置中是否有合法(有效)资料。请参照图2A 图5A、图2B 图5B、图2C 图5C,其所绘示为固态储存装置中闪存、L2P表与点阵列表格的功能与用途示意图。假设闪存105中有4个区块(BlockJ) Block_3),每个区块中有8个页、每个页的大小为4Kbytes。再者,定义闪存105中每个PAA与LAA的容量为4Kbytes。如图2A所示,假设主机产生的写入数据由LBA转换至LAA后,其欲将数据写入逻辑配置地址为 LAA (18)、LAA (05)、LAA (IA)、LAA (13)、LAA (OF)、LAA (ID)、LAA (IE)的位置,而控制单元101利用第一区块(Block-_l)里的实体配置地址PAA(08) PAA(OE)来储存上述写入数据。而如图2B所示,L2P表中即会产生LAA与PAA之间对应的关系。同时,如图2C所示,点阵列表格中对应的PAA (08) PAA (OE)被设定为“ I ”,代表该PAA (08) PAA (OE)位置中的写入数据为有效数据;而点阵列表格中其它PAA被设定为“0”,代表其它PAA位置中不是有效数据。 再者,第一区块(Block_l)的最后一个页用来作区块关闭(close block)所使用。当执行区块关闭时,最后一个页内会填入该第一区块(Block_l)中所有PAA至LAA的对应数据(Physical to Logical data),亦即该第一区块的 P2L datal 资料。此 P2L datal 与第2B图的L2P表内对应的关系相同。并且,于区块关闭时,历史数目产生器109提供历史数目I (H:1),代表该第一区块(Block_l)为最先被执行区块关闭的区块。接着,假设主机产生的写入数据由LBA转换至LAA后,其欲依序将数据写入逻辑配置地址为 LAA(00)、LAA(05)、LAA(15)、LAA(IE)、LAA(03)、LAA(OB)、LAA(OF)的位置,其中LAA (05)、LAA (OF)、LAA (IE)位置的数据为更新数据。如图3A所示,控制单元101利用第二区块(Block-_2)里的实体配置地址PAA(IO) PAA(16)来储存上述写入数据。而如图3么与图38所示,1^表中1^(00)位置的数据写入PAA(10)位置;LAA(05)位置的数据写入PAA(Il)位置,由于原PAA(09)位置的数据已经被取代了,所以PAA(09)中的数据变为无效数据;LAA(15)位置的数据写入PAA(12)位置;LAA(1E)位置的数据写Λ PAA (13)位置,由于原PAA(OE)位置的数据已经被取代了,所以PAA (OE)中的数据变为无效数据;LAA(03)位置的数据写入PAA(14)位置;LAA(0B)位置的数据写入PAA(15)位置;LAA(OF)位置的数据写入PAA(16)位置,由于原PAA(OC)位置的数据已经被取代了,所以PAA(OC)中的数据变为无效数据。同时,如图3C所示,点阵列表格中对应的PAA(IO) PAA(16)被设定为“1”,代表该PAA(IO) PAA(16)位置中的写入数据为有效数据;而PAA(09)、PAA(OC)、PAA(OE)由“ I”被改为“O”代表这些PAA位置中已经不是有效数据。之后,对第二区块(Block_2)执行区块关闭,并由历史数目产生器109提供历史数目2(H:2)。因此,该第二区块(Block_2)最后一个页内会填入该第二区块(Block_2)的P2L data2 资料。接着,假设主机产生的写入数据由LBA转换至LAA后,其欲依序将数据写入逻辑配置地址为 LAA(18)、LAA(ID)、LAA(Il)、LAA(13)、LAA(15)、LAA(06)、LAA(IA)的位置,其中LAA (18) ,LAA(IA) ,LAA (13) ,LAA(ID) ,LAA (15)位置的数据为更新数据。如图4A所示,控制单元101利用第零区块(Block-O)里的实体配置地址PAA(OO) PAA (06)来储存上述写入数据。而如图4A与图4B所示,L2P表中LAA(18)位置的数据写入PAA(OO)位置,由于原PAA(08)位置的数据已经被取代了,所以PAA(OS)中的数据变为无效数据;LAA(1D)位置的数据写入PAA(Ol)位置,由于原PAA(OD)位置的数据已经被取代了,所以PAA(OD)中的数据变为无效数据;LAA(11)位置的数据写入PAA(02)位置;LAA(13)位置的数据写入PAA(03)位置,由于原PAA(OB)位置的数据已经被取代了,所以PAA(OB)中的数据变为无效数据;LAA(15)位置的数据写入PAA(04)位置,由于原PAA(12)位置的数据已经被取代了,所以PAA(12)中的数据变为无效数据;LAA(06)位置的数据写入PAA(05)位置;LAA(1A)位置的数据写入PAA(06)位置,由于原PAA(OA)位置的数据已经被取代了,所以PAA(OA)中的数据变为无效数据。同时,如图4C所示,点阵列表格中对应的PAA(OO) PAA(07)被设定为“1”,代表该PAA (10) PAA (16)位置中的写入数据为有效数据;而PAA (08)、PAA (OA)、PAA(OB)、PAA(OD)、PAA(12)由“ I”被改为“O”代表这些PAA位置中已经不是有效数据。之后,对第零区块(BlockJ))执行区块关闭,并由历史数目产生器109提供历史数目3(H:3)。因此,该第零区块(BlockJ))最后一个页内会填入该第零区块(BlockJ))的P2L dataO 资料。由于图4A中第一区块(Block_l)内已经都是无效数据,因此可进行第一区块(Block_l)的区块抹除动作(erase block)。如图5A所示,第一区块(Block_l)中的PAA(08) PAA(OF)已成为空白页,且历史号码已经被清除了。再者,如图5B的L2P表与图4B相同;同时,图5C的点阵列表格PAA(08) PAA(OF)位置也为被设为“O”。由以上的说明可知,当固态储存装置10在写入数据或者更新数据时,L2P表以及点阵列表格必须同步进行更新,使得控制单元101确定闪存105中所有数据的对应关系,并且有效地进行数据的管理。然而,当固态储存装置10不再供应电力时,映像单元107中的L2P表与点阵列表格中的数据皆会被删除。因此,当固态储存装置10再次被供电时,快闪储存装置10的控制单元101需在最短的时间内重建L2P表以及点阵列表格。亦即,当固态储存装置10再次被供电时,控制单元101需要根据所有区块内所储存的P2L data来重建L2P表以及点阵列表格。众所周知,现今的固态储存装置的容量越来越大,闪存中的区块数目非常的多。如果利用上述的作法,在固态储存装置10被供电时重建L2P表与点阵列表格将会耗费很长的时间。以100G容量的固态储存装置为例,将会耗费超过3分钟以上的时间来重建L2P表与点阵列表格。

发明内容
本发明的目的在于提供一种固态储存装置及其逻辑至实体对应表(L2P Table)建立方法,其可快速的建立L2P表以及点矩阵表格,以节省L2P表以及点矩阵表格的重建时间。为实现上述目的,本发明提供的固态储存装置,其包括:—闪存,该闪存中具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;以及一控制单元,连接至该闪存,该控制单元包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格;其中,当该历史数目到达一第一数值时,该第一数值被设定为一参考历史数目,且该控制单元将该逻辑至实体对应表以及该点阵列表格储存至该闪存中;其中,当该固态储存装置再次被供电时,该控制单元读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;该控制单元寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。所述的固态储存装置,其中该控制单元寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目,并验证该点阵列表格中对应于该多个实体配置地址的字段内容。所述的固态储存装置,其中当该历史数目到达该第一数值后,该控制单元将该第一数值再增加一固定数值后并重新设定为该第一数值;以及当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且该控制单元将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。本发明提供的固态储存装置中的逻辑至实体对应表建立方法,其中,该固态储存装置包含一闪存,其具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据,其中,该历史数目根据该些区块的写入顺序依序递增;一映像单元,该映像单元内包括一逻辑至实体对应表以及一点阵列表格,该方法包括下列步骤:当该历史数目到达一第一数值时,设定该第一数值为一参考历史数目,并将该映像单元内的该逻辑至实体对应表以及该点阵列表格储存至该闪存中;当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将记录于该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。所述的方法,其中包括下列步骤:
寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目;验证该点阵列表格中对应于该多个实体配置地址的字段内容。所述的方法,其中包括下列步骤:当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。本发明提供的固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置具有一闪存,其中,该方法包括下列步骤:写入数据于该闪存中的多个区块内,且记录对应的一历史数目以及一实体至逻辑数据于该些区块内,其中,该历史数目根据该些区块的写入顺序依序递增;在该写入数据于该闪存时,更新一逻辑至实体对应表及一点阵列表格,其中该逻辑至实体对应表及该点阵列表格储存于一映像单元;当该历史数目到达一第一数值时,设定该历史数目为一参考历史数目,并将该映像单元中的该逻辑至实体对应表及该点阵列表格储存于该闪存;当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将记录于该多个新写入区块中的该实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。所述的方法,其中包括下列步骤:寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目;验证该点阵列表格中对应于该多个实体配置地址的字段内容。所述的方法,其中包括下列步骤:当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。由以上的说明可知,本发明的优点可快速的建立L2P表以及点矩阵表格。相较于公知控制单元需要耗费许多时间来读取所有区块中的P2L数据来重建L2P表,本发明确实可以节省L2P表以及点矩阵表格的时间。


图1所绘示为固态储存装置的示意图。图2A 图5A、图2B 图5B、图2C 图5C所绘示为固态储存装置中闪存、L2P表与点阵列表格的功能与用途示意图。
图6所绘示为闪存中L2P表以及点阵列表格的更新流程图。图7所绘示为本发明固态储存装置的逻辑至实体对应表建立方法。图8说明固态储存装置运作过程中映像单元内L2P表以及点阵列表格的变化。图9A 图9D所绘示为说明本发明L2P表以及点阵列表格的重建流程范例。
具体实施例方式本发明提出的固态储存装置,包括:一闪存,该闪存中具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;以及,一控制单元,连接至该闪存,该控制单元包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格;其中,当该历史数目到达一第一数值时,该第一数值被设定为一参考历史数目,且该控制单元将该逻辑至实体对应表以及该点阵列表格储存至该闪存中;其中,当该固态储存装置再次被供电时,该控制单元读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;该控制单元寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。本发明提出一种固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置包含一闪存,其具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;一控制单元,包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格,该方法包括下列步骤:当该历史数目到达一第一数值时,设定该第一数值为一参考历史数目,并将该映像单元内的该逻辑至实体对应表以及该点阵列表格储存至该闪存中;当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。本发明提出一种固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置具有一闪存,该方法包括下列步骤:写入数据于该闪存中的多个区块内,且记录对应的一历史数目以及一实体至逻辑数据于该些区块内,其中,该历史数目根据该些区块的写入顺序依序递增;在该写入数据于该闪存时,更新一逻辑至实体对应表及一点阵列表格,其中该逻辑至实体对应表及该点阵列表格储存于一映像单元;当该历史数目到达一第一数值时,设定该历史数目为一参考历史数目,并将储存于该映像单元中的该逻辑至实体对应表及该点阵列表格储存于该闪存;当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将记录于该多个新写入区块中的该实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
为了对本发明上述及其它方面有更佳的了解,下文特举较佳实施例,并配合附图作详细说明如下:由于公知固态储存装置再次被供电时需要读取所有区块中的P2L data并且重建L2P表以及点阵列表格会耗费太多时间。因此,本发明提出一种快速重建L2P表以及点阵列表格的方式。再者,固态储存装置的构造与图1相同,不再赘述。本发明详细说明如下。根据本发明的实施例,当固态储存装置被供电后并且正常运作时,控制单元会持续侦测历史数目产生器所产生的历史数目。当历史数目到达一第一数值时,即将映像单元中的L2P表以及点阵列表格写入闪存。之后,每当历史数目产生器的历史数目增加一个固定数目时,即更新闪存中的L2P表以及点阵列表格。换句话说,更新于闪存中的L2P表以及点阵列表格并不会随着电源关闭而消失。因此,当电源再次被供应时,即可读取闪存中的L2P表以及点阵列表格并且快速的重建。请参照图6,其所绘示为闪存中L2P表以及点阵列表格的更新流程图。于固态储存装置正常运作时,持续侦测历史数目并判断历史数目是否到达第一数值(A)(步骤S602)。当历史数目到达一第一数值(A)时,即将第一数值(A)的历史数目设定为参考历史数目,接着将参考历史数目、映像单元中的L2P表以及点阵列表格写入闪存(步骤S604)。接着,更新第一数值为(A+B),并且回到步骤S602,其中,B为一固定数目。以A与B皆为100为例,当固态储存装置的历史数目到达100时,控制单元会将当时的历史数目设定为参考历史数目,并将参考历史数目、L2P表以及点阵列表格写入闪存;同理,每当历史数目增加100时,控制单元会再次将更新的参考历史数目、L2P表以及点阵列表格与入闪存中。因此,当固态储存装置停止供电并且再次被供电时,控制单元可以先由固态储存装置中读取最后储存的L2P表、点阵列表格、以及参考历史数目,并将L2P表、点阵列表格储存于映像单元中。接着,找寻闪存中所有历史数目大于参考历史数目的多个区块。并根据历史数目由小到大的次序,根据区块中的P2L data来依序修改映像单元中的L2P表、点阵列表格。举例来说,假设参考历史数目为200时,控制单元将当时的L2P表、点阵列表格写入至闪存中。而当历史数目到达230之后,固态储存装置的电源被关闭。而当固态储存装置再次被供电时,控制单元仅需先将闪存中的L2P表、点阵列表格储存至映像单元中。接着,寻找闪存中历史数目为201至230的区块,并且根据历史数目递增的次序,依序将对应区块中P2Ldata更新至映像单元中的L2P表并修改点阵列表格。由以上的说明可知,而当固态储存装置再次被供电时,仅需读取至多30个区块中的P2L data更新至L2P表即可重建完成L2P表。换句话说,控制单元不需要如习知方式耗费许多时间来读取所有区块中的P2L data数据来重建L2P表。再者,当L2P表重建完成后,需要再利用L2P表中PAA的位置来验证点阵列表格是否正确,当验证结果完成后即可确认点阵列表格也建立完成。根据本发明的实施例,在利用L2P表中PAA的位置来验证点阵列表格是否正确的步骤中,其亦可仅验证L2P表中历史数目大于参考历史数目的PAA位置,而不需验证L2P表中所有的PAA位置。如此又可进一步节省验证时间,提高开机效率。请参照图7,其所绘示为本发明固态储存装置的点阵列表格建立方法。当固态储存装置再次开使供电时,控制单元由闪存中读取参考历史数目、L2P表、点阵列表格,并将L2P表、点阵列表格储存于映像单元中(步骤S702)。接着,控制单元寻找闪存中所有历史数目大于参考历史数目的区块(步骤S704)。接着,根据历史数目递增的次序,依序将该些区块中的P2Ldata更新于映像单元中的L2P表并修改点阵列表格(步骤S706)。最后,根据映像单元中完成的L2P表来验证点阵列表格(步骤S708)。以下以图8为例来说明在固态储存装置运作过程中,映像单元内的L2P表以及点阵列表格的变化。其中,仅以LAA(Zl)、LAA(Z2)、PAA(X1)、PAA(X2)、PAA(X3)之间的对应关系来作说明。如图8所示,随着时间的增加,历史数目也逐渐递增。于时间点Tl时,历史数目[H:98]的第一区块关闭完成,该第一区块中的P2L data中记载PAA(Xl)对应至LAA(Zl);于时间点T2时,历史数目[H:99]的第二区块关闭完成,该第二区块中的P2L data中记载PAA (X2)对应至LAA (Z2);于时间点T3时,历史数目[H: 100]的第三区块关闭完成。同时,于时间点T3,由于历史数目到达100,所以参考历史数目设定为100,并且此时的L2P表与点阵列表格被储存至闪存中。在时间点T3,L2P表的LAA(Zl)对应至PAA(Xl)、LAA(Z2)对应至PAA(X2);而由点阵列表格可知,PAA(Xl)为有效数据(1)、PAA(X2)为有效数据(I)。于时间点T4时,历史数目[H:101]的第四区块关闭完成;于时间点T5时,历史数目[H:102]的第五区块关闭完成,该第五区块中的P2L data中记载PAA(X2)对应至LAA(Zl);于时间点T6时,历史数目[H:103]的第六区块关闭完成;于时间点T7时,历史数目[H:104]的第七区块关闭完成,该第七区块中的P2L data中记载PAA(X3)对应至LAA (Z2)。于时间点T8时,固态储存装置的电源被关闭。由图8可知,在电源被关闭前的时间点T7,L2P表的LAA(Zl)对应至PAA(X2)、LAA(Z2)对应至PAA(X3);而由点阵列表格可知,PAA(Xl)为无效数据(0)、PAA(X2)为有效数据(1)、PAA(X3)为有效数据(I)。再者,于时间点T8,映像单元中的L2P表以及点阵列表格中的数据皆被删除。请参照图9A 图9D,其所绘示为说明本发明L2P表以及点阵列表格的重建流程范例。于时间点T8之后,电源重新供应至固态储存装置。因此,如图9A所示,将闪存中,参考历史数据[H:100]对应的L2P表以及点阵列表格储存于映像单元中。再者,控制单元搜寻所有的区块的历史数目后得知,历史数目最大为[H: 104],因此共需要读取四个区块中的P2L data来依序修改映像单元中的L2P表以及点阵列表格。此四个区块为历史数目[H:101]的第四区块、历史数目[H:102]的第五区块、历史数目[H:103]的第六区块、历史数目[H:104]的第七区块。由图8可知,于历史资料[H:102]的第五区块中,P2L data记载PAA(X2)对应至LAA(Zl)0因此,如图9B所示,于映像单元中需将L2P表中的LAA(Zl)对应至PAA(X2);由于原PAA(Xl)已经没有对应关系,代表PAA(Xl)位置中的数据为无效数据,所以点阵列表格中PAA(Xl)字段设定为“O”。接着,PAA(X2)位置中的数据为有效数据,所以点阵列表格中PAA (X2)字段需设定为“1”,由于PAA (X2)字段的值已经为“ 1”,因此不进行变更。由图8可知,于历史资料[H:104]的第七区块中,P2L data记载PAA(X3)对应至LAA (Z2)。因此,如图9C所示,于映像单元中需将L2P表中的LAA(Z2)对应至PAA(X3);由于原PAA(X2)已经没有对应关系,代表PAA(X2)位置中的数据为无效数据,所以点阵列表格中PAA(X2)字段会被设定为“O”。接着,PAA(X3)位置中的数据为有效数据,所以点阵列表格中PAA (X3)字段会被设定为“ I ”。由以上的说明可知,当控制单元根据历史数目递增的次序,依序将区块中P2Ldata更新于映像单元中的L2P表以及点阵列表格后,可以确定图9C中,映像单元里L2P表格已经正确无误。然而,图9C里的点阵列表格需要再根据L2P表来进一步的验证。很明显地,图9C中,LAA(Zl)对应至PAA(X2)。然而,点阵列表格中PAA(X2)位置却被设定为无效数据(O)。由于记录于L2P表中的PAA位置中的数据为有效数据,因此在验证程序中,其根据记录在L2P表中的PAA位置再次确认点阵列表格中的对应字段是否设定为有效数据。在上述例子中,如图9D所示,于验证程序中根据L2P表中记录的PAA(X2)及PAA (X3)位置来确认点阵列表格中的PAA (X2)及PAA(X3)字段是否设定为有效数据(1),进而发现PAA(X2)字段被设定为无效数据(O),因而将点阵列表格中PAA(X2)字段再次设定为有效数据(I)。再者,由于在L2P表以及点阵列表格的重建流程中,仅历史数目大于参考历史数目的区块内的PAA位置被更新,因此在验证程序中,其仅需验证记录于L2P表中历史数目大于参考历史数目的PAA位置。例如,根据上述的例子,记录在L2P表中历史数目大于参考历史数目的PAA位置为:历史资料[H:102]的PAA(X2)位置,以及历史数据[H:104]的PAA(X3)位置。因此,只需要验证点阵列表格中的PAA(X2)字段及PAA(X3)字段,而不需验证L2P表中所有的PAA位置。经过验证程序后即可确定点阵列表格里的数据为正确。所以于重建完成映像单元中的L2P表与点阵列表格后,快闪储存装置可以正常与主机进行沟通,而控制单元也可以根据映像单元来管理闪存中的数据。由以上的说明可知,本发明的优点可快速的建立L2P表以及点矩阵表格。相较于公知控制单元需要耗费许多时间来读取所有区块中的P2L数据来重建L2P表,本发明确实可以节省L2P表以及点矩阵表格的时间。综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本领域技术人员在不脱离本发明的精神和范围内,当可作各种更动与润饰。因此,本发明的保护范围应当以申请的权利要求所界定的内容为准。
权利要求
1.一种固态储存装置,其特征在于,包括: 一闪存,该闪存中具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;以及 一控制单元,连接至该闪存,该控制单元包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格;其中,当该历史数目到达一第一数值时,该第一数值被设定为一参考历史数目,且该控制单元将该逻辑至实体对应表以及该点阵列表格储存至该闪存中; 其中,当该固态储存装置再次被供电时,该控制单元读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;该控制单元寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
2.如权利要求1所述的固态储存装置,其特征在于,其中该控制单元寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目,并验证该点阵列表格中对应于该多个实体配置地址的字段内容。
3.如权利要求1所述的固态储存装置,其特征在于,其中当该历史数目到达该第一数值后,该控制单元将该第一数值再增加一固定数值后并重新设定为该第一数值;以及当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且该控制单元将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
4.一种固态储存装置中的逻辑至实体对应表建立方法,其特征在于,该固态储存装置包含一闪存,其具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据,其中,该历史数目根据该些区块的写入顺序依序递增;一映像单元,该映像单元内包括一逻辑至实体对应表以及一点阵列表格,该方法包括下列步骤: 当该历史数目到达一第一数值时,设定该第一数值为一参考历史数目,并将该映像单元内的该逻辑至实体对应表以及该点阵列表格储存至该闪存中; 当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中; 寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块; 根据该些历史数目递增次序,依序将记录于该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及 根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
5.如权利要求4所述的方法,其特征在于,其中包括下列步骤: 寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目; 验证该点阵列表格中对应于该多个实体配置地址的字段内容。
6.如权利要求5所述的方法,其特征在于,其中包括下列步骤: 当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
7.一种固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置具有一闪存,其特征在于,该方法包括下列步骤: 写入数据于该闪存中的多个区块内,且记录对应的一历史数目以及一实体至逻辑数据于该些区块内,其中,该历史数目根据该些区块的写入顺序依序递增; 在该写入数据于该闪存时,更新一逻辑至实体对应表及一点阵列表格,其中该逻辑至实体对应表及该点阵列表格储存于一映像单兀; 当该历史数目到达一第一数值时,设定该历史数目为一参考历史数目,并将该映像单元中的该逻辑至实体对应表及该点阵列表格储存于该闪存; 当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中; 寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块; 根据该些历史数目递增次序,依序将记录于该多个新写入区块中的该实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及 根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
8.如权利要求7所述的方法,其特征在于,其中包括下列步骤: 寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目; 验证该点阵列表格中对应于该多个实体配置地址的字段内容。
9.如权利要求7所述的方法,其特征在于,其中包括下列步骤: 当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及 当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
全文摘要
本发明为一种固态储存装置及其逻辑至实体对应表(L2P Table)建立方法。于固态储存装置再次被供电时,直接读取储存于该闪存中的逻辑至实体对应表以及点阵列表格。并根据历史数目大于参考历史数目的区块中的实体至逻辑数据来更新逻辑至实体对应表以及点阵列表格,以节省逻辑至实体对应表以及点阵列表格的重建时间。
文档编号G06F12/02GK103106143SQ201110357598
公开日2013年5月15日 申请日期2011年11月11日 优先权日2011年11月11日
发明者黄志伟 申请人:建兴电子科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1