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

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

Info

Publication number
CN103106143B
CN103106143B CN201110357598.6A CN201110357598A CN103106143B CN 103106143 B CN103106143 B CN 103106143B CN 201110357598 A CN201110357598 A CN 201110357598A CN 103106143 B CN103106143 B CN 103106143B
Authority
CN
China
Prior art keywords
history number
logic
lattice array
flash memory
array form
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
Application number
CN201110357598.6A
Other languages
English (en)
Other versions
CN103106143A (zh
Inventor
黄志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jianxing Storage Technology Co., Ltd
Original Assignee
Lite On Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lite On Technology Corp filed Critical Lite On Technology Corp
Priority to CN201110357598.6A priority Critical patent/CN103106143B/zh
Priority to US13/446,129 priority patent/US9058255B2/en
Publication of CN103106143A publication Critical patent/CN103106143A/zh
Application granted granted Critical
Publication of CN103106143B publication Critical patent/CN103106143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明为一种固态储存装置及其逻辑至实体对应表(L2P?Table)建立方法。于固态储存装置再次被供电时,直接读取储存于该闪存中的逻辑至实体对应表以及点阵列表格。并根据历史数目大于参考历史数目的区块中的实体至逻辑数据来更新逻辑至实体对应表以及点阵列表格,以节省逻辑至实体对应表以及点阵列表格的重建时间。

Description

固态储存装置及其逻辑至实体对应表建立方法
技术领域
本发明是有关于一种固态储存装置及其控制方法,且特别是有关于一种固态储存装置及其逻辑至实体对应表(L2PTable)建立方法。
背景技术
众所周知,固态储存装置(SolidStateDrive,SSD)使用与非门闪存(NANDflashmemory)为主要储存组件,而此类的储存装置为一种非挥发性(non-volatile)的内存组件。也就是说,当数据写入闪存后,一旦系统电源关闭,数据仍保存在固态储存装置中。
请参照图1,其所绘示为固态储存装置的示意图。固态储存装置10中包括一控制单元101与一闪存105。在控制单元101内部包括一映像单元(mappingunit)107以及一历史数目产生器(historynumbergenerator)109,用来管理闪存105内部的数据。而在固态储存装置10外部,控制单元101利用一外部总线20与主机(host)12之间进行指令与数据的传递。其中,外部总线20可为USB总线、IEEE1394总线或SATA总线等等。
基本上,映像单元107中至少包括一逻辑至实体对应表(LogicaltoPhysicalTable,简称L2P表)以及一点阵列表格(Bitmap)。当固态储存装置10未接受电源时,映像单元107中L2P表以及点阵列表格中的数据将被删除。亦即,映像单元107可为静态随机存取内存(SRAM)或动态随机存取内存(DRAM)。当然,映像单元107也可以外接于控制单元101。以下详细介绍L2P表以及点阵列表格的功能与用途。
一般来说,闪存105中包括许多区块(block),而每个区块中又包括多个页(page)。例如,一个区块中有8页,而每个页的容量为4Kbytes。再者,由于闪存105的特性,每次数据写入时是以页为最小单位,而在一个区块中其根据页码由小到大依序写入。
再者,当一个区块被写入时,历史数目产生器109就会提供该区块一个历史数目。基本上,历史数目产生器109会由小到大依序递增历史数目,且不会重复,亦即历史数目越大的区块其写入资料越新。另外,每次数据抹除(erase)时则是以区块为单位进行数据抹除,当区块被抹除之后,其对应的历史数目也会一并抹除,待下一次该区块再被写入后,历史数目产生器109就会提供该区块一个新的历史数目。
由于闪存105的特性,当区块中某一个页的数据需要更改时,控制单元101将无法直接修改该页中的数据,因此控制单元101需要将修改后的更新数据写在另一空白页,而原来旧的页将被视为无效页(invalidpage),里面的数据将被视为无效数据(invaliddata)。
接着,以下先介绍主机12与固态储存装置10之间的数据传递方式。主机12与固态储存装置10之间以逻辑区块地址(LogicalBlockAddress,以下简称LBA)进行沟通,而每个LBA的位置中可储存512bytes的数据量。也就是说,假设主机12要写入数据时,主机12会发出写入指令并提供LBA(X)并伴随着512byte的资料。当固态储存装置10收到此讯息时,即会将收到的512bytes数据储存至LBA(X)的位置。同理,假设主机12要读取数据时,主机12会发出读取指令并提供LBA(Y)。当固态储存装置10收到此讯息时,即会将LBA(Y)位置中的512bytes数据输出至主机12。
然而,固态储存装置10内部以逻辑配置地址(LogicalAllocationAddress,以下简称LAA)进行沟通,而每个LAA的储存容量由固态储存装置10自行定义,例如4KbytesLAA或者8KbytesLAA。
以4KbytesLAA为例,每个LAA可储存的容量为LBA的8倍(4Kbytes/512Bytes=8)。换句话说,当主机12发出LBA(X)的位置时,控制单元101会先将X除以8,而计算出的商数即为LAA,而根据计算出的余数即可在该LAA中寻找到特定512Bytes所储存的位置。
再者,L2P表提供LAA对应至实体配置地址(PhysicalAllocationAddress,以下简称PAA)的表格,而LAA与PAA具有相同的储存容量。而点阵列表格对应至所有的PAA的位置,并利用1个位(bit)来表示PAA位置中是否有合法(有效)资料。请参照图2A~图5A、图2B~图5B、图2C~图5C,其所绘示为固态储存装置中闪存、L2P表与点阵列表格的功能与用途示意图。
假设闪存105中有4个区块(Block_0~Block_3),每个区块中有8个页、每个页的大小为4Kbytes。再者,定义闪存105中每个PAA与LAA的容量为4Kbytes。
如图2A所示,假设主机产生的写入数据由LBA转换至LAA后,其欲将数据写入逻辑配置地址为LAA(18)、LAA(05)、LAA(1A)、LAA(13)、LAA(0F)、LAA(1D)、LAA(1E)的位置,而控制单元101利用第一区块(Block-_1)里的实体配置地址PAA(08)~PAA(0E)来储存上述写入数据。而如图2B所示,L2P表中即会产生LAA与PAA之间对应的关系。同时,如图2C所示,点阵列表格中对应的PAA(08)~PAA(0E)被设定为“1”,代表该PAA(08)~PAA(0E)位置中的写入数据为有效数据;而点阵列表格中其它PAA被设定为“0”,代表其它PAA位置中不是有效数据。
再者,第一区块(Block_1)的最后一个页用来作区块关闭(closeblock)所使用。当执行区块关闭时,最后一个页内会填入该第一区块(Block_1)中所有PAA至LAA的对应数据(PhysicaltoLogicaldata),亦即该第一区块的P2Ldata1资料。此P2Ldata1与第2B图的L2P表内对应的关系相同。并且,于区块关闭时,历史数目产生器109提供历史数目1(H:1),代表该第一区块(Block_1)为最先被执行区块关闭的区块。
接着,假设主机产生的写入数据由LBA转换至LAA后,其欲依序将数据写入逻辑配置地址为LAA(00)、LAA(05)、LAA(15)、LAA(1E)、LAA(03)、LAA(0B)、LAA(0F)的位置,其中LAA(05)、LAA(0F)、LAA(1E)位置的数据为更新数据。如图3A所示,控制单元101利用第二区块(Block-_2)里的实体配置地址PAA(10)~PAA(16)来储存上述写入数据。
而如图3A与图3B所示,L2P表中LAA(00)位置的数据写入PAA(10)位置;LAA(05)位置的数据写入PAA(11)位置,由于原PAA(09)位置的数据已经被取代了,所以PAA(09)中的数据变为无效数据;LAA(15)位置的数据写入PAA(12)位置;LAA(1E)位置的数据写入PAA(13)位置,由于原PAA(0E)位置的数据已经被取代了,所以PAA(0E)中的数据变为无效数据;LAA(03)位置的数据写入PAA(14)位置;LAA(0B)位置的数据写入PAA(15)位置;LAA(0F)位置的数据写入PAA(16)位置,由于原PAA(0C)位置的数据已经被取代了,所以PAA(0C)中的数据变为无效数据。同时,如图3C所示,点阵列表格中对应的PAA(10)~PAA(16)被设定为“1”,代表该PAA(10)~PAA(16)位置中的写入数据为有效数据;而PAA(09)、PAA(0C)、PAA(0E)由“1”被改为“0”代表这些PAA位置中已经不是有效数据。
之后,对第二区块(Block_2)执行区块关闭,并由历史数目产生器109提供历史数目2(H:2)。因此,该第二区块(Block_2)最后一个页内会填入该第二区块(Block_2)的P2Ldata2资料。
接着,假设主机产生的写入数据由LBA转换至LAA后,其欲依序将数据写入逻辑配置地址为LAA(18)、LAA(1D)、LAA(11)、LAA(13)、LAA(15)、LAA(06)、LAA(1A)的位置,其中LAA(18)、LAA(1A)、LAA(13)、LAA(1D)、LAA(15)位置的数据为更新数据。如图4A所示,控制单元101利用第零区块(Block-0)里的实体配置地址PAA(00)~PAA(06)来储存上述写入数据。
而如图4A与图4B所示,L2P表中LAA(18)位置的数据写入PAA(00)位置,由于原PAA(08)位置的数据已经被取代了,所以PAA(08)中的数据变为无效数据;LAA(1D)位置的数据写入PAA(01)位置,由于原PAA(0D)位置的数据已经被取代了,所以PAA(0D)中的数据变为无效数据;LAA(11)位置的数据写入PAA(02)位置;LAA(13)位置的数据写入PAA(03)位置,由于原PAA(0B)位置的数据已经被取代了,所以PAA(0B)中的数据变为无效数据;LAA(15)位置的数据写入PAA(04)位置,由于原PAA(12)位置的数据已经被取代了,所以PAA(12)中的数据变为无效数据;LAA(06)位置的数据写入PAA(05)位置;LAA(1A)位置的数据写入PAA(06)位置,由于原PAA(0A)位置的数据已经被取代了,所以PAA(0A)中的数据变为无效数据。同时,如图4C所示,点阵列表格中对应的PAA(00)~PAA(07)被设定为“1”,代表该PAA(10)~PAA(16)位置中的写入数据为有效数据;而PAA(08)、PAA(0A)、PAA(0B)、PAA(0D)、PAA(12)由“1”被改为“0”代表这些PAA位置中已经不是有效数据。
之后,对第零区块(Block_0)执行区块关闭,并由历史数目产生器109提供历史数目3(H:3)。因此,该第零区块(Block_0)最后一个页内会填入该第零区块(Block_0)的P2Ldata0资料。
由于图4A中第一区块(Block_1)内已经都是无效数据,因此可进行第一区块(Block_1)的区块抹除动作(eraseblock)。如图5A所示,第一区块(Block_1)中的PAA(08)~PAA(0F)已成为空白页,且历史号码已经被清除了。再者,如图5B的L2P表与图4B相同;同时,图5C的点阵列表格PAA(08)~PAA(0F)位置也为被设为“0”。
由以上的说明可知,当固态储存装置10在写入数据或者更新数据时,L2P表以及点阵列表格必须同步进行更新,使得控制单元101确定闪存105中所有数据的对应关系,并且有效地进行数据的管理。
然而,当固态储存装置10不再供应电力时,映像单元107中的L2P表与点阵列表格中的数据皆会被删除。因此,当固态储存装置10再次被供电时,快闪储存装置10的控制单元101需在最短的时间内重建L2P表以及点阵列表格。亦即,当固态储存装置10再次被供电时,控制单元101需要根据所有区块内所储存的P2Ldata来重建L2P表以及点阵列表格。
众所周知,现今的固态储存装置的容量越来越大,闪存中的区块数目非常的多。如果利用上述的作法,在固态储存装置10被供电时重建L2P表与点阵列表格将会耗费很长的时间。以100G容量的固态储存装置为例,将会耗费超过3分钟以上的时间来重建L2P表与点阵列表格。
发明内容
本发明的目的在于提供一种固态储存装置及其逻辑至实体对应表(L2PTable)建立方法,其可快速的建立L2P表以及点矩阵表格,以节省L2P表以及点矩阵表格的重建时间。
为实现上述目的,本发明提供的固态储存装置,其包括:
一闪存,该闪存中具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;以及
一控制单元,连接至该闪存,该控制单元包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格;其中,当该历史数目到达一第一数值时,该第一数值被设定为一参考历史数目,且该控制单元将该逻辑至实体对应表以及该点阵列表格储存至该闪存中;
其中,当该固态储存装置再次被供电时,该控制单元读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;该控制单元寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
所述的固态储存装置,其中该控制单元寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目,并验证该点阵列表格中对应于该多个实体配置地址的字段内容。
所述的固态储存装置,其中当该历史数目到达该第一数值后,该控制单元将该第一数值再增加一固定数值后并重新设定为该第一数值;以及当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且该控制单元将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
本发明提供的固态储存装置中的逻辑至实体对应表建立方法,其中,该固态储存装置包含一闪存,其具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据,其中,该历史数目根据该些区块的写入顺序依序递增;一映像单元,该映像单元内包括一逻辑至实体对应表以及一点阵列表格,该方法包括下列步骤:
当该历史数目到达一第一数值时,设定该第一数值为一参考历史数目,并将该映像单元内的该逻辑至实体对应表以及该点阵列表格储存至该闪存中;
当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;
寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;
根据该些历史数目递增次序,依序将记录于该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及
根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
所述的方法,其中包括下列步骤:
寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目;
验证该点阵列表格中对应于该多个实体配置地址的字段内容。
所述的方法,其中包括下列步骤:
当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及
当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
本发明提供的固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置具有一闪存,其中,该方法包括下列步骤:
写入数据于该闪存中的多个区块内,且记录对应的一历史数目以及一实体至逻辑数据于该些区块内,其中,该历史数目根据该些区块的写入顺序依序递增;
在该写入数据于该闪存时,更新一逻辑至实体对应表及一点阵列表格,其中该逻辑至实体对应表及该点阵列表格储存于一映像单元;
当该历史数目到达一第一数值时,设定该历史数目为一参考历史数目,并将该映像单元中的该逻辑至实体对应表及该点阵列表格储存于该闪存;
当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;
寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;
根据该些历史数目递增次序,依序将记录于该多个新写入区块中的该实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及
根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
所述的方法,其中包括下列步骤:
寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目;
验证该点阵列表格中对应于该多个实体配置地址的字段内容。
所述的方法,其中包括下列步骤:
当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及
当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
由以上的说明可知,本发明的优点可快速的建立L2P表以及点矩阵表格。相较于公知控制单元需要耗费许多时间来读取所有区块中的P2L数据来重建L2P表,本发明确实可以节省L2P表以及点矩阵表格的时间。
附图说明
图1所绘示为固态储存装置的示意图。
图2A~图5A、图2B~图5B、图2C~图5C所绘示为固态储存装置中闪存、L2P表与点阵列表格的功能与用途示意图。
图6所绘示为闪存中L2P表以及点阵列表格的更新流程图。
图7所绘示为本发明固态储存装置的逻辑至实体对应表建立方法。
图8说明固态储存装置运作过程中映像单元内L2P表以及点阵列表格的变化。
图9A~图9D所绘示为说明本发明L2P表以及点阵列表格的重建流程范例。
具体实施方式
本发明提出的固态储存装置,包括:一闪存,该闪存中具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;以及,一控制单元,连接至该闪存,该控制单元包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格;其中,当该历史数目到达一第一数值时,该第一数值被设定为一参考历史数目,且该控制单元将该逻辑至实体对应表以及该点阵列表格储存至该闪存中;其中,当该固态储存装置再次被供电时,该控制单元读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;该控制单元寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
本发明提出一种固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置包含一闪存,其具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;一控制单元,包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格,该方法包括下列步骤:当该历史数目到达一第一数值时,设定该第一数值为一参考历史数目,并将该映像单元内的该逻辑至实体对应表以及该点阵列表格储存至该闪存中;当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
本发明提出一种固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置具有一闪存,该方法包括下列步骤:写入数据于该闪存中的多个区块内,且记录对应的一历史数目以及一实体至逻辑数据于该些区块内,其中,该历史数目根据该些区块的写入顺序依序递增;在该写入数据于该闪存时,更新一逻辑至实体对应表及一点阵列表格,其中该逻辑至实体对应表及该点阵列表格储存于一映像单元;当该历史数目到达一第一数值时,设定该历史数目为一参考历史数目,并将储存于该映像单元中的该逻辑至实体对应表及该点阵列表格储存于该闪存;当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将记录于该多个新写入区块中的该实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格。
为了对本发明上述及其它方面有更佳的了解,下文特举较佳实施例,并配合附图作详细说明如下:
由于公知固态储存装置再次被供电时需要读取所有区块中的P2Ldata并且重建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表、点阵列表格储存于映像单元中。接着,找寻闪存中所有历史数目大于参考历史数目的多个区块。并根据历史数目由小到大的次序,根据区块中的P2Ldata来依序修改映像单元中的L2P表、点阵列表格。
举例来说,假设参考历史数目为200时,控制单元将当时的L2P表、点阵列表格写入至闪存中。而当历史数目到达230之后,固态储存装置的电源被关闭。而当固态储存装置再次被供电时,控制单元仅需先将闪存中的L2P表、点阵列表格储存至映像单元中。接着,寻找闪存中历史数目为201至230的区块,并且根据历史数目递增的次序,依序将对应区块中P2Ldata更新至映像单元中的L2P表并修改点阵列表格。由以上的说明可知,而当固态储存装置再次被供电时,仅需读取至多30个区块中的P2Ldata更新至L2P表即可重建完成L2P表。换句话说,控制单元不需要如习知方式耗费许多时间来读取所有区块中的P2Ldata数据来重建L2P表。
再者,当L2P表重建完成后,需要再利用L2P表中PAA的位置来验证点阵列表格是否正确,当验证结果完成后即可确认点阵列表格也建立完成。
根据本发明的实施例,在利用L2P表中PAA的位置来验证点阵列表格是否正确的步骤中,其亦可仅验证L2P表中历史数目大于参考历史数目的PAA位置,而不需验证L2P表中所有的PAA位置。如此又可进一步节省验证时间,提高开机效率。
请参照图7,其所绘示为本发明固态储存装置的点阵列表格建立方法。当固态储存装置再次开使供电时,控制单元由闪存中读取参考历史数目、L2P表、点阵列表格,并将L2P表、点阵列表格储存于映像单元中(步骤S702)。接着,控制单元寻找闪存中所有历史数目大于参考历史数目的区块(步骤S704)。接着,根据历史数目递增的次序,依序将该些区块中的P2Ldata更新于映像单元中的L2P表并修改点阵列表格(步骤S706)。最后,根据映像单元中完成的L2P表来验证点阵列表格(步骤S708)。
以下以图8为例来说明在固态储存装置运作过程中,映像单元内的L2P表以及点阵列表格的变化。其中,仅以LAA(Z1)、LAA(Z2)、PAA(X1)、PAA(X2)、PAA(X3)之间的对应关系来作说明。
如图8所示,随着时间的增加,历史数目也逐渐递增。于时间点T1时,历史数目[H:98]的第一区块关闭完成,该第一区块中的P2Ldata中记载PAA(X1)对应至LAA(Z1);于时间点T2时,历史数目[H:99]的第二区块关闭完成,该第二区块中的P2Ldata中记载PAA(X2)对应至LAA(Z2);于时间点T3时,历史数目[H:100]的第三区块关闭完成。同时,于时间点T3,由于历史数目到达100,所以参考历史数目设定为100,并且此时的L2P表与点阵列表格被储存至闪存中。在时间点T3,L2P表的LAA(Z1)对应至PAA(X1)、LAA(Z2)对应至PAA(X2);而由点阵列表格可知,PAA(X1)为有效数据(1)、PAA(X2)为有效数据(1)。
于时间点T4时,历史数目[H:101]的第四区块关闭完成;于时间点T5时,历史数目[H:102]的第五区块关闭完成,该第五区块中的P2Ldata中记载PAA(X2)对应至LAA(Z1);于时间点T6时,历史数目[H:103]的第六区块关闭完成;于时间点T7时,历史数目[H:104]的第七区块关闭完成,该第七区块中的P2Ldata中记载PAA(X3)对应至LAA(Z2)。于时间点T8时,固态储存装置的电源被关闭。
由图8可知,在电源被关闭前的时间点T7,L2P表的LAA(Z1)对应至PAA(X2)、LAA(Z2)对应至PAA(X3);而由点阵列表格可知,PAA(X1)为无效数据(0)、PAA(X2)为有效数据(1)、PAA(X3)为有效数据(1)。再者,于时间点T8,映像单元中的L2P表以及点阵列表格中的数据皆被删除。
请参照图9A~图9D,其所绘示为说明本发明L2P表以及点阵列表格的重建流程范例。于时间点T8之后,电源重新供应至固态储存装置。因此,如图9A所示,将闪存中,参考历史数据[H:100]对应的L2P表以及点阵列表格储存于映像单元中。
再者,控制单元搜寻所有的区块的历史数目后得知,历史数目最大为[H:104],因此共需要读取四个区块中的P2Ldata来依序修改映像单元中的L2P表以及点阵列表格。此四个区块为历史数目[H:101]的第四区块、历史数目[H:102]的第五区块、历史数目[H:103]的第六区块、历史数目[H:104]的第七区块。
由图8可知,于历史资料[H:102]的第五区块中,P2Ldata记载PAA(X2)对应至LAA(Z1)。因此,如图9B所示,于映像单元中需将L2P表中的LAA(Z1)对应至PAA(X2);由于原PAA(X1)已经没有对应关系,代表PAA(X1)位置中的数据为无效数据,所以点阵列表格中PAA(X1)字段设定为“0”。接着,PAA(X2)位置中的数据为有效数据,所以点阵列表格中PAA(X2)字段需设定为“1”,由于PAA(X2)字段的值已经为“1”,因此不进行变更。
由图8可知,于历史资料[H:104]的第七区块中,P2Ldata记载PAA(X3)对应至LAA(Z2)。因此,如图9C所示,于映像单元中需将L2P表中的LAA(Z2)对应至PAA(X3);由于原PAA(X2)已经没有对应关系,代表PAA(X2)位置中的数据为无效数据,所以点阵列表格中PAA(X2)字段会被设定为“0”。接着,PAA(X3)位置中的数据为有效数据,所以点阵列表格中PAA(X3)字段会被设定为“1”。
由以上的说明可知,当控制单元根据历史数目递增的次序,依序将区块中P2Ldata更新于映像单元中的L2P表以及点阵列表格后,可以确定图9C中,映像单元里L2P表格已经正确无误。然而,图9C里的点阵列表格需要再根据L2P表来进一步的验证。很明显地,图9C中,LAA(Z1)对应至PAA(X2)。然而,点阵列表格中PAA(X2)位置却被设定为无效数据(0)。
由于记录于L2P表中的PAA位置中的数据为有效数据,因此在验证程序中,其根据记录在L2P表中的PAA位置再次确认点阵列表格中的对应字段是否设定为有效数据。
在上述例子中,如图9D所示,于验证程序中根据L2P表中记录的PAA(X2)及PAA(X3)位置来确认点阵列表格中的PAA(X2)及PAA(X3)字段是否设定为有效数据(1),进而发现PAA(X2)字段被设定为无效数据(0),因而将点阵列表格中PAA(X2)字段再次设定为有效数据(1)。
再者,由于在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表以及点矩阵表格的时间。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本领域技术人员在不脱离本发明的精神和范围内,当可作各种更动与润饰。因此,本发明的保护范围应当以申请的权利要求所界定的内容为准。

Claims (9)

1.一种固态储存装置,其特征在于,包括:
一闪存,该闪存中具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据;以及
一控制单元,连接至该闪存,该控制单元包括一历史数目产生器以及一映像单元,该历史数目产生器根据该些区块的写入次序依序提供递增的历史数目至对应的该些区块,且该映像单元内包括一逻辑至实体对应表以及一点阵列表格;其中,该点阵列表格用以指示该闪存中的实体配置地址是否为有效数据;其中,当该历史数目到达一第一数值时,该第一数值被设定为一参考历史数目,且该控制单元将该逻辑至实体对应表以及该点阵列表格储存至该闪存中;
其中,当该固态储存装置再次被供电时,该控制单元读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;该控制单元寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;根据该些历史数目递增次序,依序将该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及,根据该映像单元中更新完成后的该逻辑至实体对应表来验证该点阵列表格,其中该验证包含验证更新完成后的该逻辑至实体对应表中的实体配置地址在该点阵列表格中是否被指示为有效数据。
2.如权利要求1所述的固态储存装置,其特征在于,其中该控制单元寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目,并验证该点阵列表格中对应于该多个实体配置地址的字段内容。
3.如权利要求1所述的固态储存装置,其特征在于,其中当该历史数目到达该第一数值后,该控制单元将该第一数值再增加一固定数值后并重新设定为该第一数值;以及当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且该控制单元将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
4.一种固态储存装置中的逻辑至实体对应表建立方法,其特征在于,该固态储存装置包含一闪存,其具有复数个被写入数据的区块,该些区块各自对应至一历史数目以及一实体至逻辑数据,其中,该历史数目根据该些区块的写入顺序依序递增;一映像单元,该映像单元内包括一逻辑至实体对应表以及一点阵列表格,其中,该点阵列表格用以指示该闪存中的实体配置地址是否为有效数据;该方法包括下列步骤:
当该历史数目到达一第一数值时,设定该第一数值为一参考历史数目,并将该映像单元内的该逻辑至实体对应表以及该点阵列表格储存至该闪存中;
当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;
寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;
根据该些历史数目递增次序,依序将记录于该多个新写入区块中的实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及
验证更新完成后的该逻辑至实体对应表中的实体配置地址在该点阵列表格中是否被指示为有效数据。
5.如权利要求4所述的方法,其特征在于,其中包括下列步骤:
寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目;
验证该点阵列表格中对应于该多个实体配置地址的字段内容。
6.如权利要求5所述的方法,其特征在于,其中包括下列步骤:
当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及
当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
7.一种固态储存装置中的逻辑至实体对应表建立方法,该固态储存装置具有一闪存,其特征在于,该方法包括下列步骤:
写入数据于该闪存中的多个区块内,且记录对应的一历史数目以及一实体至逻辑数据于该些区块内,其中,该历史数目根据该些区块的写入顺序依序递增;
在该写入数据于该闪存时,更新一逻辑至实体对应表及一点阵列表格,其中该逻辑至实体对应表及该点阵列表格储存于一映像单元,其中,该点阵列表格用以指示该闪存中的实体配置地址是否为有效数据;
当该历史数目到达一第一数值时,设定该历史数目为一参考历史数目,并将该映像单元中的该逻辑至实体对应表及该点阵列表格储存于该闪存;
当该固态储存装置再次被供电时,读取储存于该闪存中的该逻辑至实体对应表以及该点阵列表格,并加载该映像单元中;
寻找该闪存中该历史数目大于该参考历史数目的多个新写入区块;
根据该些历史数目递增次序,依序将记录于该多个新写入区块中的该实体至逻辑数据更新于该映像单元中的该逻辑至实体对应表以及该点阵列表格;以及
验证更新完成后的该逻辑至实体对应表中的实体配置地址在该点阵列表格中是否被指示为有效数据。
8.如权利要求7所述的方法,其特征在于,其中包括下列步骤:
寻找该逻辑至实体对应表中的多个实体配置地址,其中,该多个实体配置地址所对应的该历史数目大于该参考历史数目;
验证该点阵列表格中对应于该多个实体配置地址的字段内容。
9.如权利要求7所述的方法,其特征在于,其中包括下列步骤:
当该历史数目到达该第一数值后,将该第一数值再增加一固定数值后并重新设定为该第一数值;以及
当该历史数目再次到达该第一数值时,将该第一数值设定为该参考历史数目,且将该映像单元中的该逻辑至实体对应表以及该点阵列表格储存至该闪存中。
CN201110357598.6A 2011-11-11 2011-11-11 固态储存装置及其逻辑至实体对应表建立方法 Active CN103106143B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110357598.6A CN103106143B (zh) 2011-11-11 2011-11-11 固态储存装置及其逻辑至实体对应表建立方法
US13/446,129 US9058255B2 (en) 2011-11-11 2012-04-13 Solid state drive and method for constructing logical-to-physical table thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110357598.6A CN103106143B (zh) 2011-11-11 2011-11-11 固态储存装置及其逻辑至实体对应表建立方法

Publications (2)

Publication Number Publication Date
CN103106143A CN103106143A (zh) 2013-05-15
CN103106143B true CN103106143B (zh) 2016-01-13

Family

ID=48281766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110357598.6A Active CN103106143B (zh) 2011-11-11 2011-11-11 固态储存装置及其逻辑至实体对应表建立方法

Country Status (2)

Country Link
US (1) US9058255B2 (zh)
CN (1) CN103106143B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645896B2 (en) * 2013-12-26 2017-05-09 Silicon Motion, Inc. Data storage device and flash memory control method
TWI579696B (zh) 2015-11-06 2017-04-21 群聯電子股份有限公司 資料重建方法與系統及其記憶體控制電路單元
CN106708416B (zh) * 2015-11-13 2020-06-09 群联电子股份有限公司 数据重建方法与系统及其存储器控制电路单元
CN107092560B (zh) * 2016-02-17 2020-06-16 建兴储存科技(广州)有限公司 固态储存装置及运用于其中的快闪转换层对应表重建方法
US9940261B2 (en) 2016-05-05 2018-04-10 Western Digital Technology, Inc. Zoning of logical to physical data address translation tables with parallelized log list replay
US20180095788A1 (en) 2016-10-04 2018-04-05 Pure Storage, Inc. Scheduling operations for a storage device
WO2018067743A1 (en) * 2016-10-04 2018-04-12 Pure Storage, Inc. Maintaining data associated with a storage device related applications
TWI613652B (zh) * 2017-03-27 2018-02-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI639917B (zh) 2017-04-25 2018-11-01 慧榮科技股份有限公司 資料儲存裝置及映射表重建方法
US10372341B2 (en) 2017-06-28 2019-08-06 Western Digital Technologies, Inc. Non-volatile storage device system with page based remapping
TWI707234B (zh) * 2019-05-20 2020-10-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US11243882B2 (en) * 2020-04-15 2022-02-08 International Business Machines Corporation In-array linked list identifier pool scheme
CN111625393B (zh) * 2020-05-22 2022-06-17 浪潮电子信息产业股份有限公司 一种l2p表校验方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101300554A (zh) * 2005-11-03 2008-11-05 英特尔公司 非易失性存储器故障的恢复
CN101770809A (zh) * 2008-12-31 2010-07-07 J·埃金顿 非易失性存储器掉电后的恢复
CN101901189A (zh) * 2009-05-26 2010-12-01 联发科技股份有限公司 更新用户数据的方法以及恢复用户数据的方法
CN102033814A (zh) * 2009-09-25 2011-04-27 慧荣科技股份有限公司 存取一闪存的方法以及相关的记忆装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
US7797479B2 (en) * 2005-06-30 2010-09-14 Intel Corporation Technique to write to a non-volatile memory
US7769945B2 (en) * 2007-01-18 2010-08-03 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
US8171205B2 (en) * 2008-05-05 2012-05-01 Intel Corporation Wrap-around sequence numbers for recovering from power-fall in non-volatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101300554A (zh) * 2005-11-03 2008-11-05 英特尔公司 非易失性存储器故障的恢复
CN101770809A (zh) * 2008-12-31 2010-07-07 J·埃金顿 非易失性存储器掉电后的恢复
CN101901189A (zh) * 2009-05-26 2010-12-01 联发科技股份有限公司 更新用户数据的方法以及恢复用户数据的方法
CN102033814A (zh) * 2009-09-25 2011-04-27 慧荣科技股份有限公司 存取一闪存的方法以及相关的记忆装置

Also Published As

Publication number Publication date
US20130124782A1 (en) 2013-05-16
US9058255B2 (en) 2015-06-16
CN103106143A (zh) 2013-05-15

Similar Documents

Publication Publication Date Title
CN103106143B (zh) 固态储存装置及其逻辑至实体对应表建立方法
US9043536B2 (en) Method of recording mapping information, and memory controller and memory storage apparatus using the same
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8892814B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8386905B2 (en) Error correcting method, and memory controller and memory storage system using the same
US8341336B2 (en) Region-based management method of non-volatile memory
US8667234B2 (en) Data writing method, memory controller, and memory storage apparatus
US9141530B2 (en) Data writing method, memory controller and memory storage device
US20130097362A1 (en) Data writing method, and memory controller and memory storage apparatus using the same
US10509697B2 (en) Data storage device and operating method therefor
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9304907B2 (en) Data management method, memory control circuit unit and memory storage apparatus
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN104699413A (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
CN102981969A (zh) 重复数据删除的方法及其固态硬盘
TW201324145A (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
US20100088540A1 (en) Block management and replacement method, flash memory storage system and controller using the same
CN107045423B (zh) 存储器装置及其数据存取方法
CN107861884B (zh) 一种提高nand闪存中跨页存储地址映射效率的方法
CN103678162B (zh) 系统数据储存方法、存储器控制器与存储器储存装置
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GUANGBAO SCIENCE + TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: JIANXING ELECTRONIC SCIENCE +. TECHNOLOGY CO., LTD.

Effective date: 20140626

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140626

Address after: Ruiguang road Taiwan Taipei City Neihu district China No. 392 22 floor

Applicant after: Lite-On Technology Corporation

Address before: Ruiguang road Taiwan Taipei City Neihu district China No. 392 14 floor

Applicant before: Jianxing Electronic Science &. Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191230

Address after: 21 / F, 392 Ruiguang Road, Neihu district, Taipei, Taiwan, China

Patentee after: Jianxing Storage Technology Co., Ltd

Address before: Ruiguang road Taiwan Taipei City Neihu district China No. 392 22 floor

Patentee before: Lite-On Technology Corporation