CN106708422A - 数据储存装置及其数据维护方法 - Google Patents
数据储存装置及其数据维护方法 Download PDFInfo
- Publication number
- CN106708422A CN106708422A CN201610222091.2A CN201610222091A CN106708422A CN 106708422 A CN106708422 A CN 106708422A CN 201610222091 A CN201610222091 A CN 201610222091A CN 106708422 A CN106708422 A CN 106708422A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- current block
- page
- logical address
- write
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013500 data storage Methods 0.000 title abstract description 6
- 238000012423 maintenance Methods 0.000 title abstract 2
- 230000015654 memory Effects 0.000 claims abstract description 49
- 238000011084 recovery Methods 0.000 claims description 4
- 101100043098 Ipomoea batatas SPA15 gene Proteins 0.000 description 10
- 101150094617 spaK gene Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000007667 floating Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000018199 S phase Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明提供一种数据储存装置及其数据维护方法。数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个区块,每一区块包括多个页面,其中快闪存储器可储存相应于多个逻辑地址的数据。当数据储存装置发生一断电事件并且数据储存装置恢复电力后,控制器依序读取快闪存储器中的一第一目前区块以及一第二目前区块,以建立一第一目前区块表以及一第二目前区块表并且根据第二目前区块中的每一页面的逻辑地址建立一位元表,其中控制器还用以根据位元表整理第一目前区块表以及第二目前区块表。
Description
技术领域
本发明有关于一种数据储存装置,特别有关于以位元表维护的数据储存装置。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,是以电性方式抹除与程式化。以与非门型的快闪存储器(即NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模组(eMMC)…等使用。
快闪存储器(如,NAND FLASH)的储存阵列包括多个区块(blocks),其中浮置栅极晶体管可用以构成快闪存储器。浮置栅极晶体管中的浮置栅极,可捕捉的电荷以储存数据。另外,快闪存储器中的实体页面与主机装置所指定的逻辑页面的转换关系需要一个实体转逻辑表记录。当非预期的断电事件发生时,储存于随机存储器中的实体转逻辑表会丢失。如何有效重建实体转逻辑表是一个重要的课题。
发明内容
本发明所提供的数据储存装置以及数据维护方法可藉由位元表判断两个表中是否具有重复的逻辑地址以降低实体转逻辑对应表重建的时间。
本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个区块,每一区块包括多个页面,其中快闪存储器可储存相应于多个逻辑地址的数据。当数据储存装置发生一断电事件并且数据储存装置恢复电力后,控制器依序读取快闪存储器中的一第一目前区块以及一第二目前区块,以建立一第一目前区块表以及一第二目前区块表并且根据第二目前区块中的每一页面的逻辑地址建立一位元表,其中控制器还用以根据位元表整理第一目前区块表以及第二目前区块表。
在一实施例中,位元表具有多个位元,位元依序代表每一逻辑地址。第一目前区块表以及第二目前区块表分别具有第一目前区块以及第二目前区块中的所有页面中所储存的逻辑地址,其中控制器在读取第二目前区块的页面时,将位元表中代表所读取的页面的逻辑地址的位元写入一既定值。控制器用以根据位元表,判断第一目前区块表以及第二目前区块表中是否具有重复的逻辑地址。
在另一实施例中,控制器是在读取第一目前区块表中相应于一第一页面的一第一逻辑地址时,根据位元表中代表第一逻辑地址的位元是否为既定值,判断第一逻辑地址是否重复出现于第二目前区块表中,其中当代表第一逻辑地址的位元为既定值时,控制器判断第一逻辑地址重复出现于第二目前区块表中,当代表第一逻辑地址的位元不是既定值时,控制器判断第一逻辑地址没有重复出现于第二目前区块表中。
又另一实施例中,第一目前区块以及第二目前区块的页面具有多个写入序号,第一目前区块以及第二目前区块的每一页面,具有一个写入序号用以代表页面的数据被写入的顺序。当控制器判断第一逻辑地址重复出现于第二目前区块表时,控制器接着读取第二目前区块表以找出具有第一逻辑地址的至少一第二页面。控制器找出具有第一逻辑地址的第二页面后,比较第一页面以及第二页面所相应的写入序号,以将第一页面以及第二页面中写入序号小于第一页面以及第二页面中的其他者的至少一者舍弃。
一实施例中,控制器还用以根据一第一目前区块序号表以及一第二目前区块序号表,比较第一页面以及第二页面所相应的写入序号,其中第一目前区块序号表包括第一目前区块中的页面所储存的写入序号,并且第二目前区块序号表包括第二目前区块中的页面所储存的写入序号。当控制器判断第一逻辑地址没有重复出现于第二目前区块表时,控制器接着读取第一目前区块表中的下一个页面的逻辑地址。
另外,控制器根据至少一写入命令,将属于一连续型态的数据写入第一目前区块的页面,并且将属于一随机型态的数据写入第二目前区块的页面。
本发明另提供一种数据维护方法,适用于包括一快闪存储器的一数据储存装置,其中快闪存储器包括多个区块,每一区块包括多个页面,并且快闪存储器可储存相应于多个逻辑地址的数据。数据维护方法包括:当数据储存装置发生一断电事件并且数据储存装置恢复电力后,依序读取快闪存储器中的一第一目前区块以及一第二目前区块,以建立一第一目前区块表以及一第二目前区块表,并且根据第二目前区块中的每一页面的逻辑地址建立一位元表;以及根据位元表,整理第一目前区块表以及第二目前区块表。
在一实施例中,位元表具有多个位元,位元依序代表每一逻辑地址,第一目前区块表以及第二目前区块表分别具有第一目前区块以及第二目前区块中的所有页面中所储存的逻辑地址,其中根据第二目前区块中的每一页面的逻辑地址建立位元表的步骤还包括读取第二目前区块的页面时,将位元表中代表所读取的页面的逻辑地址的位元写入一既定值。
另外,根据位元表整理第一目前区块表以及第二目前区块表的步骤还包括根据位元表,判断第一目前区块表以及第二目前区块表中是否具有重复的逻辑地址。根据位元表整理第一目前区块表以及第二目前区块表的步骤还包括:在读取第一目前区块表中相应于一第一页面的一第一逻辑地址时,根据位元表中代表第一逻辑地址的位元是否为既定值,判断第一逻辑地址是否重复出现于第二目前区块表中;当代表第一逻辑地址的位元为既定值时,判断第一逻辑地址重复出现于第二目前区块表中;以及当代表第一逻辑地址的位元不是既定值时,判断第一逻辑地址没有重复出现于第二目前区块表中。
根据位元表整理第一目前区块表以及第二目前区块表的步骤还包括:当判断第一逻辑地址重复出现于第二目前区块表时,读取第二目前区块表以找出具有第一逻辑地址的至少一第二页面;以及当判断第一逻辑地址没有重复出现于第二目前区块表时,读取第一目前区块表中的下一个页面的逻辑地址。
一实施例中,第一目前区块以及第二目前区块的页面具有多个写入序号,第一目前区块以及第二目前区块的每一页面,具有一个写入序号用以代表页面的数据被写入的顺序。根据位元表整理第一目前区块表以及第二目前区块表的步骤还包括:找出具有第一逻辑地址的第二页面后,比较第一页面以及第二页面所相应的写入序号;以及将第一页面以及第二页面中写入序号小于第一页面以及第二页面中的其他者的至少一者舍弃。比较第一页面以及第二页面所相应的写入序号的步骤还包括根据一第一目前区块序号表以及一第二目前区块序号表,比较第一页面以及第二页面所相应的写入序号,其中第一目前区块序号表包括第一目前区块中的页面所储存的写入序号,并且第二目前区块序号表包括第二目前区块中的页面所储存的写入序号。
附图说明
图1为本发明所提供的一电子系统的一种实施例的方块图。
图2为本发明所提供的一快闪存储器的一种实施例的方块图。
图3为本发明所提供的一目前区块的一种实施例的方块图。
图4为本发明所提供的一目前区块表以及位元表的方块图。
图5为本发明所提供的一数据维护方法的一种实施例的流程图。
图6为本发明所提供的一目前区块表整理方法的一种实施例的流程图。
符号说明
100 电子系统;
120 主机;
140 数据储存装置;
160 控制器;
162 运算单元;
164 永久存储器;
166 随机存取存储器;
180 快闪存储器;
TB1 数据链结关系表;
SPA0-SPAN 备用区域;
P0-PN 页面;
B0~BN 区块;
CB0 第一目前区块;
CB1 第二目前区块;
D1~D4 数据;
AD1~AD10 逻辑地址;
1~4 写入序号;
CB0_ADT 第一目前区块表;
CB1_ADT 第二目前区块表;
CB0_SNT 第一目前区块序号表;
CB1_SNT 第二目前区块序号表;
BT 位元表;
S500~S504、S600~S610 步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机120所下达的命令操作。控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM)164以及随机存取存储器(RAM)166。永久存储器164与所载的程式码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。随机存取存储器(RAM)166用以载入程式码与参数以提供控制器160根据所载入的程式码与参数动作。快闪存储器180包括多个区块,每一区块包括多个页面P0~PN,其中每一页面P0~PN具有一备用区域(Spare Area)SPA0~SPAN,如图2所示。值得注意的是,快闪存储器180以区块为最小单位进行抹除,并且页面为最小单位进行写入。另外,备用区域SPA0~SPAN可在其所相应的页面的前方或者后方,本发明不限于此。在其他实施例中,备用区域SPA0~SPAN亦可位于区块B0~BN的前端或者后端。值得注意的是,在一实施例中,具有有效数据的每一页面的备用区域中包括一逻辑地址以及一写入序号。快闪存储器180还包括一数据链结关系表TB1,用以记录快闪存储器180中所有区块以及页面的逻辑地址以及实体地址的对应关系。
在一实施例中,控制器160依序接收多个写入指令,根据接收写入指令之顺序,分配写入指令不同的多个写入序号。另外,控制器160更依序根据写入指令,将多个数据以及目前所执行的写入指令的写入序号写入区块中的一第一目前区块CB0以及一第二目前区块CB1的页面中。在一实施例中,控制器160根据写入指令,判断写入指令所指示写入的数据的一型态为一连续型态或者一随机型态,并且将属于连续型态的数据写入第一目前区块CB0中的页面,将属于随机型态的数据写入第二目前区块CB1中的页面。举例而言,当写入指令所指示写入的数据的总长度大于一个页面的数据量时,控制器160判断该写入指令的数据为连续型态。当写入指令所指示写入的数据的总长度小于等于一个页面的数据量时,控制器160判断该写入指令的数据为随机型态,但本发明不限于此。值得注意的是,当写入指令的数据为连续型态,但这些数据中具有无法写满一个页面的数据的数据时,控制器160判断该无法写满一个页面的数据为随机型态。在另一实施例中,控制器160还将数据所相应的逻辑地址写入第一目前区块CB0以及第二目前区块CB1的页面中。详细而言,在写入数据的过程中,控制器160会自快闪存储器180的区块B0~BN中选取两个可使用的区块以作为一第一目前区块CB0以及一第二目前区块CB1,并且在随机存取存储器166中建立一实体转逻辑对应表以记录第一目前区块CB0以及第二目前区块CB1的页面的实体地址与数据的页面的逻辑地址的对应关系,如图3所示。第一目前区块CB0是用以储存连续型态的数据,并且第二目前区块CB1是用以储存随机型态的数据。当第一目前区块CB0以及第二目前区块CB1已经被写满(无法再写入新的数据时),控制器160将实体转逻辑对应表整理至数据链结关系表TB1,将第一目前区块CB0以及第二目前区块CB1定义为数据母区块,重新自快闪存储器180的区块B0~BN中选取两个可使用的区块以作为新的第一目前区块CB0以及新的第二目前区块CB1,并且在随机存取存储器166中建立新的一实体转逻辑对应表以记录新的第一目前区块CB0以及新的第二目前区块CB1之页面的实体地址与数据的页面的逻辑地址的对应关系。
图3为本发明所提供的一目前区块的一种实施例的方块图。在本实施例中,快闪存储器180中的每一区块B0~BN包括16个页面P0~P15,每一页面P0~P15具有一个相应的备用区域SPA0~SPA15,但本发明不限于此。因此,控制器160所选择的第一目前区块CB0以及第二目前区块CB1也同样分别包括16个页面P0~P15以及16个备用区域SPA0~SPA15。
举例而言,当控制器160接收到用以写入一第一数据D1的一第一写入指令时,控制器160根据接收第一写入指令的顺序分配一第一写入序号给第一写入指令。举例而言,当第一写入指令是控制器160选取第一目前区块CB0以及第二目前区块CB1后所接收到的第一个写入指令时,控制器160分配”1”以作为第一写入指令的写入序号。值得注意的是,第一写入指令包括第一数据D1的逻辑地址AD1。接着,由于第一写入指令所指示写入的第一数据D1的长度小于等于一页面的大小,因此控制器160判断第一数据D1的型态为随机型态。接着,控制器160将第一数据D1、第一写入序号”1”以及逻辑地址AD1写入第二目前区块CB1中之页面P0中。最后,控制器160在实体转逻辑对应表中记录逻辑地址AD1与第二目前区块CB1中的页面P0的实体地址对应关系。
接着,控制器160接收到用以写入多个第二数据D2的一第二写入指令。控制器160根据接收第二写入指令的顺序分配一第二写入序号给第二写入指令。由于第二写入指令是在第一写入指令之后所接收到的,所以控制器160分配”2”以作为第二写入指令的写入序号。值得注意的是,其中第二写入指令包括第二数据D2的逻辑地址AD2~AD5。接着,由于第二写入指令所指示写入的第二数据D2的总长度大于一页面的大小,因此控制器160判断第二数据D2的型态为连续型态。接着,控制器160依序将第二数据D2、第二写入序号”2”以及逻辑地址AD2~AD5写入第一目前区块CB0中的页面P0~P3中。详细而言,控制器160将第二数据D2中的第一者、第二写入序号”2”以及逻辑地址AD2写入第一目前区块CB0中的页面P0、将第二数据D2中的第二者、第二写入序号”2”以及逻辑地址AD3写入第一目前区块CB0中的页面P1、将第二数据D2中的第三者、第二写入序号”2”以及逻辑地址AD4写入第一目前区块CB0中的页面P2,依此类推。最后,控制器160在实体转逻辑对应表中记录逻辑地址AD2~AD5与第一目前区块CB0中的之页面P0~P3的实体地址对应关系。
接着,控制器160接收到用以写入多个第三数据D3的一第三写入指令。控制器160根据接收第三写入指令的顺序分配一第三写入序号给第三写入指令。由于第三写入指令是在第二写入指令之后所接收到的,所以控制器160分配”3”以作为第三写入指令的写入序号。值得注意的是,其中第三写入指令包括第三数据D3的逻辑地址AD6~AD10。接着,由于第三写入指令所指示写入的第三数据D3的总长度大于一页面的大小,因此控制器160判断第三数据D3的型态为连续型态。然而,第一个第三数据D3以及最后一个第三数据D3之数据量小于一个页面的大小,因此第一个第三数据D3以及最后一个第三数据D3被定义为随机型态,并且除了第一个第三数据D3以及最后一个第三数据D3外,其他第三数据D3为连续型态。举例而言,每一页面P0~P15的数据量为16K,其中第一页面的地址为0~15K、第二页面的地址为16~32K,依此类推。当第一个第三数据D3的起始逻辑地址AD6为8K时,第一个第三数据D3的数据则用以储存在8~15K的地址,故第一个第三数据D3的数据量小于一个页面的大小,逻辑地址为AD6的第三数据D3为随机型态。接着,控制器160将定义为随机型态的第一个以及最后一个第三数据D3、第三写入序号”3”以及逻辑地址AD6、AD10分别写入第二目前区块CB1中的页面P1以及页面P2中,并且依序将被定义为连续型态的第三数据D3、第三写入序号”3”以及逻辑地址AD7~AD9写入第一目前区块CB0的页面P4~P6中。详细而言,控制器160将第三数据D3中的第一者、第三写入序号”3”以及逻辑地址AD6写入第二目前区块CB1中的页面P1、将第三数据D3中的第二者、第三写入序号”3”以及逻辑地址AD7写入第一目前区块CB0中的页面P4、将第三数据D3中的第三者、第三写入序号”3”以及逻辑地址AD8写入第一目前区块CB0中的页面P5,依此类推。最后,控制器160在实体转逻辑对应表中记录逻辑地址AD6~AD9与第一目前区块CB0与第二目前区块CB1中的实体地址的对应关系。
最后,控制器160接收到用以写入一第四数据D4的一第四写入指令时,控制器160根据接收第四写入指令的顺序分配一第四写入序号给第四写入指令。由于第四写入指令是在第三写入指令之后所接收到的,所以控制器160分配”4”以作为第四写入指令的写入序号。值得注意的是,第四写入指令包括第四数据D4的逻辑地址AD2。接着,由于第四写入指令所指示写入的第四数据D4的长度小于等于一页面的大小,因此控制器160判断第四数据D4的型态为随机型态。接着,控制器160将第四数据D4、第四写入序号”4”以及逻辑地址AD2写入第二目前区块CB1中的页面P3中。最后,由于第四数据D4的逻辑地址AD2与已储存第一目前区块CB0的页面P0的于第二数据D2的逻辑地址AD2相同。因此,控制器160在写入第四数据D4之后,会将实体转逻辑对应表中逻辑地址AD2所相应的实体地址更新为第二目前区块CB1的页面P3。藉由上述流程可知,每一具有有效数据的页面包括数据中之一者、一写入序号以及该数据所相应的一逻辑地址。另外,本发明所提供的控制器160可将相应于写入指令的顺序的写入序号导入快闪存储器180中。
当发生一断电事件时,随机存取存储器166中所储存的实体转逻辑对应表会因为电力消失而丢失。因此当发生一断电事件并且数据储存装置140恢复电力后,控制器160需要依序读取第一目前区块CB0以及第二目前区块CB1中的页面以重新在随机存取存储器166中建立一实体转逻辑对应表。在本发明的一实施例中,控制器166先在随机存取存储器166中建立一第一目前区块表CB0_ADT以及一第二目前区块表CB1_ADT,并且根据一位元表BT整理第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT,以在随机存取存储器166中重建实体转逻辑对应表,如图4所示。
详细而言,当数据储存装置140发生一断电事件并且数据储存装置140恢复电力后,控制器160依序读取快闪存储器180中的第一目前区块CB0以及第二目前区块CB1,以建立第一目前区块表CB0_ADT、第二目前区块表CB1_ADT、一第一目前区块序号表CB0_SNT以及一第二目前区块序号表CB1_SNT。在一实施例中,第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT分别具有第一目前区块CB0以及第二目前区块CB1中的所有页面中所储存的逻辑地址。第一目前区块序号表CB0_SNT以及第二目前区块序号表CB1_SNT分别具有第一目前区块CB0以及第二目前区块CB1中的所有页面中所储存的写入序号。值得注意的是,在某些实施例中,第一目前区块序号表CB0_SNT以及第二目前区块序号表CB1_SNT可分别设置于第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT中,但本发明不限于此。
接着,控制器160根据第二目前区块CB1中的每一页面的逻辑地址建立一位元表BT。在一实施例中,位元表BT具有多个位元,位元依序代表每一逻辑地址,但本发明不限于此。位元表BT亦以其他形式记录每一逻辑地址的对应关系。控制器160在读取第二目前区块CB1的页面时,将位元表BT中代表所读取的第二目前区块CB1中的页面的逻辑地址的位元写入一既定值。举例而言,既定值可为1,但本发明不限于此。在其他实施例中,既定值可为0或者其他数值。
控制器160还用以根据位元表BT整理第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT。详细而言,控制器160用以根据位元表BT,判断第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT中是否具有重复的逻辑地址,以舍弃具有重复逻辑地址的页面数据只保留一个最新的数据。举例而言,控制器160在读取第一目前区块表CB0_ADT中相应于一第一页面的一第一逻辑地址时,根据位元表BT中代表第一逻辑地址的位元是否为既定值,判断第一逻辑地址是否重复出现于第二目前区块表CB1_ADT中。
当代表第一逻辑地址的位元为既定值时,控制器160判断第一逻辑地址重复出现于第二目前区块表CB1_ADT中。当控制器160判断第一逻辑地址重复出现于第二目前区块表CB1_ADT时,控制器160接着读取第二目前区块表CB1_ADT以找出具有第一逻辑地址的至少一第二页面。如图3所示,第一目前区块CB0以及第二目前区块CB1的页面具有多个写入序号,第一目前区块CB0以及第二目前区块CB1的每一页面,具有一个写入序号用以代表页面的数据被写入的顺序。值得注意的是,不具有写入序号以及逻辑地址的页面是尚未被写入的页面。控制器160找出具有第一逻辑地址的第二页面后,根据第一目前区块序号表CB0_SNT以及第二目前区块序号表CB1_SNT,比较第一页面以及第二页面所相应的写入序号,以将第一页面以及第二页面中写入序号小于第一页面以及第二页面中的其他者的至少一者舍弃,使得重复逻辑地址的页面中最后一个被写入的数据保留下来。
当代表第一逻辑地址的位元不是既定值时,控制器160判断第一逻辑地址没有重复出现于第二目前区块表CB1_ADT中。当控制器160判断第一逻辑地址没有重复出现于第二目前区块表CB1_ADT时,控制器160接着读取第一目前区块表CB0_ADT中的下一个页面的逻辑地址。
图4为本发明所提供的目前区块表以及位元表的方块图。值得注意的是,图4是以图3所示的一目前区块CB0以及第二目前区块CB1为例说明,本发明不限于此。详细而言,当数据储存装置140发生一断电事件并且数据储存装置140恢复电力后,控制器160依序读取快闪存储器180中的图3所示的第一目前区块CB0,以将储存于第一目前区块CB0的备用区域SPA0~SPA15中的逻辑地址填入第一目前区块表CB0_ADT中所相应的页面的栏位中,并且将储存于第一目前区块CB0的备用区域SPA0~SPA15中的写入序号填入第一目前区块序号表CB0_SNT中所相应的页面的栏位中。接着,控制器160依序读取快闪存储器180中的图3所示的第二目前区块CB1,以将储存于第二目前区块CB1的备用区域SPA0~SPA15中的逻辑地址填入第二目前区块表CB1_ADT中所相应的页面的栏位中、将储存于第二目前区块CB1的备用区域SPA0~SPA15中的写入序号填入第二目前区块序号表CB1_SNT中所相应的页面的栏位中、并且根据所读取到的逻辑地址将既定值写入位元表BT中相应于所读取道的逻辑地址的位元栏位。详细而言,位元表BT具有多个位元,每一位元分别依序对应至(代表)快闪存储器180可储存的逻辑地址AD1~AND。换言之,位元表BT包括所有主机120可用的逻辑地址的对应位元,位元表BT包括储存于快闪存储器180中所有区块中所储存的逻辑地址的对应位元。值得注意的是,在图3以及图4的实施例中,每一区块包括16个页面,但本发明不限于此。在其他实施例中,一个区块亦可包括265、1036等其他数量的页面。另外,在本实施例中,既定值为1。因此,控制器160是将既定值”1”写入位元表BT中对应于第二目前区块CB1中所具有的逻辑地址AD1、AD6、AD10、AD2的位元。不存在于二目前区块CB1中的其他位元,则保持0。
接着,控制器160依序读取第一目前区块表CB0_ADT中的逻辑地址,并且根据位元表BT,判断第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT中是否具有重复的逻辑地址,以舍弃具有重复逻辑地址的页面数据只保留一个最新的数据。举例而言,控制器160读取第一目前区块表CB0_ADT中相应于页面P0的逻辑地址AD2时,判断位元表BT中代表逻辑地址AD2的位元是否为既定值”1”。在本实施例中,位元表BT中代表逻辑地址AD2的位元为1,故控制器160判断第二目前区块表CB1_ADT具有重复的逻辑地址AD2。换言之,第一目前区块CB0所储存的相应于逻辑地址AD2的数据D2重复写在第二目前区块CB1中。因此,控制器160则需要在第二目前区块CB1中找出重复的页面,并且判断哪个页面是最后被写入的,以保留最后被写入的页面并舍弃其他页面。详细而言,控制器160根据位元表BT得知,第二目前区块表CB1_ADT具有重复的逻辑地址AD2时,控制器160依序读取第二目前区块表CB1_ADT中的所有栏位以寻找重复的逻辑地址AD2。当控制器160读到相应于第二目前区块CB1的页面P3的栏位时,获得逻辑地址AD2。因此,控制器160可得知具有重复逻辑地址的页面及为第二目前区块CB1的页面P3。接着,控制器160自第一目前区块序号表CB0_SNT中读取相应于第一目前区块CB0的页面P0的栏位以获得第一目前区块CB0的页面P0的写入序号”2”,并且自第二目前区块序号表CB1_SNT中读取相应于第二目前区块CB1的页面P3的栏位以获得第二目前区块CB1的页面P3的写入序号”4”。接着,控制器160比较第一目前区块CB0的页面P0的写入序号”2”以及第二目前区块CB1的页面P3的写入序号”4”后,判断具有较大写入序号”4”的第二目前区块CB1的页面P3是在第一目前区块CB0的页面P0之后写入的。因此,控制器160保留第二目前区块表CB1_ADT中页面P3的数据,并且舍弃第一目前区块表CB0_ADT中页面P0的数据。
接着,控制器160读取第一目前区块表CB0_ADT中相应于页面P1的逻辑地址AD3时,判断位元表BT中代表逻辑地址AD3的位元是否为既定值”1”。在本实施例中,位元表BT中代表逻辑地址AD3的位元为0,故控制器160判断第二目前区块表CB1_ADT并不具有重复的逻辑地址AD3。换言之,第一目前区块CB0所储存的相应于逻辑地址AD3的数据D2并未重复写在第二目前区块CB1中。依此类推,直到控制器160处理完所有第一目前区块表CB0_ADT中的所有数据。
由上述可知,控制器160可藉由先前所导入的写入序号以及位元表BT,成功辨认在不同的目前区块中具有相同逻辑地址的数据的写入顺序,以在整理完第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT后重建实体转逻辑对应表。换言之,控制器160不会将较旧的数据建入实体转逻辑对应表中。
图5为本发明所提供的一数据维护方法的一种实施例的流程图。数据维护方法适用于图1所示的数据储存装置140,用以在数据储存装置140发生一断电事件并且数据储存装置140恢复电力后重建实体转逻辑对应表。流程开始于步骤S500。
在步骤S500中,当数据储存装置140发生一断电事件并且数据储存装置140恢复电力后,控制器160依序读取快闪存储器180中的一第一目前区块CB0以及一第二目前区块CB1,以建立一第一目前区块表CB0_ADT、一第二目前区块表CB1_ADT、第一目前区块序号表CB0_SNT以及第二目前区块序号表CB1_SNT。在一实施例中,第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT分别具有第一目前区块CB0以及第二目前区块CB1中的所有页面中所储存的逻辑地址。第一目前区块序号表CB0_SNT以及第二目前区块序号表CB1_SNT分别具有第一目前区块CB0以及第二目前区块CB1中的所有页面中所储存的写入序号。值得注意的是,在某些实施例中,第一目前区块序号表CB0_SNT以及第二目前区块序号表CB1_SNT可分别设置于第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT中,但本发明不限于此。以图3以及图4为例,当数据储存装置140发生一断电事件并且数据储存装置140恢复电力后,控制器160依序读取快闪存储器180中的图3所示的第一目前区块CB0,以将储存于第一目前区块CB0的备用区域SPA0~SPA15中的逻辑地址填入第一目前区块表CB0_ADT中所相应的页面的栏位中,并且将储存于第一目前区块CB0的备用区域SPA0~SPA15中的写入序号填入第一目前区块序号表CB0_SNT中所相应的页面的栏位中。接着,控制器160依序读取快闪存储器180中的图3所示的第二目前区块CB1,以将储存于第二目前区块CB1的备用区域SPA0~SPA15中的逻辑地址填入第二目前区块表CB1_ADT中所相应的页面的栏位中、将储存于第二目前区块CB1的备用区域SPA0~SPA15中的写入序号填入第二目前区块序号表CB1_SNT中所相应的页面的栏位中。
接着,在步骤S502中,控制器160根据第二目前区块CB1中的每一页面的逻辑地址建立一位元表BT。详细而言,在一实施例中,位元表BT具有多个位元,位元依序代表每一逻辑地址,但本发明不限于此。位元表BT亦以其他形式记录每一逻辑地址的对应关系。控制器160在读取第二目前区块CB1的页面时,将位元表BT中代表所读取的页面的逻辑地址的位元写入一既定值。举例而言,既定值可为1,但本发明不限于此。在其他实施例中,既定值可为0或者其他数值。以图3以及图4为例,既定值为1。因此,控制器160将既定值”1”写入位元表BT中对应于第二目前区块CB1中所具有的逻辑地址AD1、AD6、AD10、AD2的位元。不存在于二目前区块CB1中的其他位元,则保持0。
接着,在步骤S504中,控制器160根据位元表BT,整理第一目前区块表CB0_ADT以及第二目前区块表CB1_ADT,以重建实体转逻辑对应表。值得注意的是,在本实施例中,第一目前区块表CB0_ADT、第二目前区块表CB1_ADT、第一目前区块序号表CB0_SNT、一第二目前区块序号表CB1_SNT、位元表BT以及实体转逻辑对应表皆是设置于随机存取存储器166中。
图6为本发明所提供的一目前区块表整理方法的一种实施例的流程图。目前区块表整理方法适用于图1所示的数据储存装置140,其中目前区块表整理方法是图5中步骤S504的一种实施例。流程开始于步骤S600。
在步骤S600中,控制器160依序读取第一目前区块表CB0_ADT中相应于页面的逻辑地址中之一者。
接着,在步骤S602中,控制器160读取位元表BT,以根据位元表BT,判断第二目前区块表CB1_ADT中是否具有与所读取的第一目前区块表CB0_ADT的逻辑地址重复的逻辑地址。详细而言,当控制器160在步骤S600中读取了第一目前区块表CB0_ADT中相应于一第一页面的一第一逻辑地址时,控制器160则在步骤S602中根据位元表BT中代表第一逻辑地址的位元是否为既定值,判断第一逻辑地址是否重复出现于第二目前区块表CB1_ADT中。当代表第一逻辑地址的位元为既定值时,控制器160判断第一逻辑地址重复出现于第二目前区块表CB1_ADT并且流程进行至步骤S604。当代表第一逻辑地址的位元不是既定值时,控制器160判断第一逻辑地址没有重复出现于第二目前区块表CB1_ADT,流程进行至步骤S610。
在步骤S604中,控制器160依序读取第二目前区块表CB1_ADT以找出在第二目前区块表CB1_ADT中具有第一逻辑地址的至少一第二页面。
接着,在步骤S606中,控制器160根据第一目前区块序号表CB0_SNT以及第二目前区块序号表CB1_SNT,比较第一页面以及第二页面所相应的写入序号。
接着,在步骤S608中,控制器160将第一页面以及第二页面中写入序号小于第一页面以及第二页面中的其他者的至少一者舍弃,使得重复逻辑地址的页面中最后一个被写入的数据保留下来。
接着,在步骤S610中,控制器160判断第一目前区块表CB0_ADT中所有的逻辑地址是否皆读取完毕。当第一目前区块表CB0_ADT中所有的逻辑地址皆读取完毕时,流程结束于步骤S610。当第一目前区块表CB0_ADT中具有至少一逻辑地址尚未读取时,流程回到步骤S600,以读取第一目前区块表CB0_ADT中的下一个页面的逻辑地址。
本发明所提供的数据储存装置140以及数据维护方法可藉由位元表BT判断两个表中是否具有重复的逻辑地址以降低实体转逻辑对应表重建的时间。
本发明的方法,或特定型态或其部份,可以以程式码的型态存在。程式码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程式产品,其中,当程式码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程式码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程式码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程式码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭示的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。
Claims (18)
1.一种数据储存装置,包括:
一快闪存储器,包括多个区块,每一上述区块包括多个页面,其中上述快闪存储器可储存相应于多个逻辑地址的数据;以及
一控制器,当上发现数据储存装置发生一断电事件并且上述数据储存装置恢复电力后,上述控制器依序读取上述快闪存储器中的一第一目前区块以及一第二目前区块,以建立一第一目前区块表以及一第二目前区块表并且根据上述第二目前区块中的每一上述页面的上述逻辑地址建立一位元表,其中上述控制器还用以根据上述位元表整理上述第一目前区块表以及上述第二目前区块表。
2.根据权利要求1所述的数据储存装置,其特征在于,上述位元表具有多个位元,上述位元依序代表每一上述逻辑地址,上述第一目前区块表以及上述第二目前区块表分别具有上述第一目前区块以及上述第二目前区块中的所有上述页面中所储存的上述逻辑地址,其中上述控制器在读取上述第二目前区块的页面时,将上述位元表中代表所读取的上述页面的上述逻辑地址的上述位元写入一既定值。
3.根据权利要求2所述的数据储存装置,其特征在于,上述控制器用以根据上述位元表,判断上述第一目前区块表以及上述第二目前区块表中是否具有重复的上述逻辑地址。
4.根据权利要求2所述的数据储存装置,其特征在于,上述控制器在读取上述第一目前区块表中相应于一第一页面的一第一逻辑地址时,根据上述位元表中代表上述第一逻辑地址的上述位元是否为上述既定值,判断上述第一逻辑地址是否重复出现于第二目前区块表中,其中当代表上述第一逻辑地址的上述位元为上述既定值时,上述控制器判断上述第一逻辑地址重复出现于第二目前区块表中,当代表上述第一逻辑地址的上述位元不是上述既定值时,上述控制器判断上述第一逻辑地址没有重复出现于第二目前区块表中。
5.根据权利要求4所述的数据储存装置,其特征在于,当上述控制器判断上述第一逻辑地址重复出现于第二目前区块表时,上述控制器接着读取上述第二目前区块表以找出具有上述第一逻辑地址的至少一第二页面,当上述控制器判断上述第一逻辑地址没有重复出现于第二目前区块表时,上述控制器接着读取上述第一目前区块表中的下一个页面的上述逻辑地址。
6.根据权利要求5所述的数据储存装置,其特征在于,上述第一目前区块以及上述第二目前区块的上述页面具有多个写入序号,上述第一目前区块以及上述第二目前区块的每一上述页面,具有一个上述写入序号用以代表上述页面的数据被写入的顺序。
7.根据权利要求6所述的数据储存装置,其特征在于,上述控制器找出具有上述第一逻辑地址的上述第二页面后,比较上述第一页面以及上述第二页面所相应的上述写入序号,以将上述第一页面以及上述第二页面中上述写入序号小于上述第一页面以及上述第二页面中的其他者的至少一者舍弃。
8.根据权利要求7所述的数据储存装置,其特征在于,上述控制器还用以根据一第一目前区块序号表以及一第二目前区块序号表,比较上述第一页面以及上述第二页面所相应的上述写入序号,其中上述第一目前区块序号表包括上述第一目前区块中的上述页面所储存的上述写入序号,并且上述第二目前区块序号表包括上述第二目前区块中的上述页面所储存的上述写入序号。
9.根据权利要求1所述的数据储存装置,其特征在于,上述控制器根据至少一写入命令,将属于一连续型态的数据写入上述第一目前区块的上述页面,并且将属于一随机型态的数据写入上述第二目前区块的上述页面。
10.一种数据维护方法,适用于包括一快闪存储器的一数据储存装置,其中上述快闪存储器包括多个区块,每一上述区块包括多个页面,并且上述快闪存储器可储存相应于多个逻辑地址的数据,数据维护方法包括:
当上述数据储存装置发生一断电事件并且上述数据储存装置恢复电力后,依序读取上述快闪存储器中的一第一目前区块以及一第二目前区块,以建立一第一目前区块表以及一第二目前区块表,并且根据上述第二目前区块中的第一上述页面的上述逻辑地址建立一位元表;以及
根据上述位元表,整理上述第一目前区块表以及上述第二目前区块表。
11.根据权利要求10所述的数据维护方法,其特征在于,上述位元表具有多个位元,上述位元依序代表每一上述逻辑地址,上述第一目前区块表以及上述第二目前区块表分别具有上述第一目前区块以及上述第二目前区块中的所有上述页面中所储存的上述逻辑地址,其中上述根据上述第二目前区块中的每一上述页面的上述逻辑地址建立上述位元表的步骤还包括读取上述第二目前区块的页面时,将上述位元表中代表所读取的上述页面的上述逻辑地址的上述位元写入一既定值。
12.根据权利要求11所述的数据维护方法,其特征在于,上述根据上述位元表整理上述第一目前区块表以及上述第二目前区块表的步骤还包括根据上述位元表,判断上述第一目前区块表以及上述第二目前区块表中是否具有重复的上述逻辑地址。
13.根据权利要求12所述的数据维护方法,其特征在于,上述根据上述位元表整理上述第一目前区块表以及上述第二目前区块表的步骤还包括:
在读取上述第一目前区块表中相应于一第一页面的一第一逻辑地址时,根据上述位元表中代理上述第一逻辑地址的上述位元是否为上述既定值,判断上述第一逻辑地址是否重复出现于第二目前区块表中;
当代表上述第一逻辑地址的上述位元为上述既定值时,判断上述第一逻辑地址重复出现于第二目前区块表中;以及
当代表上述第一逻辑地址的上述位元不是上述既定值时,判断上述第一逻辑地址没有重复出现于第二目前区块表中。
14.根据权利要求13所述的数据维护方法,其特征在于,上述根据上述位元表整理上述第一目前区块表以及上述第二目前区块表的步骤还包括:
当判断上述第一逻辑地址重复出现于第二目前区块表时,读取上述第二目前区块表以找出具有上述第一逻辑地址的至少一第二页面;以及
当判断上述第一逻辑地址没有重复出现于第二目前区块表时,读取上述第一目前区块表中的下一个页面的上述逻辑地址。
15.根据权利要求14所述的数据维护方法,其特征在于,上述第一目前区块以及上述第二目前区块的上述页面具有多个写入序号,上述第一目前区块以及上述第二目前区块的每一上述页面,具有一个上述写入序号用以代表上述页面的数据被写入的顺序。
16.根据权利要求15所述的数据维护方法,其特征在于,上述根据上述位元表整理上述第一目前区块表以及上述第二目前区块表的步骤还包括:
找出具有上述第一逻辑地址的上述第二页面后,比较上述第一页面以及上述第二页面所相应的上述写入序号;以及
将上述第一页面以及上述第二页面中上述写入序号小于上述第一页面以及上述第二页面中的其他者的至少一者舍弃。
17.根据权利要求16所述的数据维护方法,其特征在于,上述比较上述第一页面以及上述第二页面所相应的上述写入序号的步骤还包括根据一第一目前区块序号表以及一第二目前区块序号表,比较上述第一页面以及上述第二页面所相应之上述写入序号,其中上述第一目前区块序号表包括上述第一目前区块中的上述页面所储存的上述写入序号,并且上述第二目前区块序号表包括上述第二目前区块中的上述页面所储存的上述写入序号。
18.根据权利要求10所述的数据维护方法,其特征在于,还包括根据至少一写入命令,将属于一连续型态的数据写入上述第一目前区块的上述页面,并且将属于一随机型态的数据写入上述第二目前区块的上述页面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104138019 | 2015-11-18 | ||
TW104138019A TWI578222B (zh) | 2015-11-18 | 2015-11-18 | 資料儲存裝置及其資料維護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708422A true CN106708422A (zh) | 2017-05-24 |
CN106708422B CN106708422B (zh) | 2019-09-24 |
Family
ID=58690024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610222091.2A Active CN106708422B (zh) | 2015-11-18 | 2016-04-11 | 数据储存装置及其数据维护方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170139600A1 (zh) |
CN (1) | CN106708422B (zh) |
TW (1) | TWI578222B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6785204B2 (ja) | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10430106B2 (en) * | 2018-02-16 | 2019-10-01 | Microsoft Technology Licensing, Llc | Policy based tiered allocation for hybrid storage devices |
KR20220169642A (ko) * | 2021-06-21 | 2022-12-28 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
US12067288B2 (en) * | 2021-11-23 | 2024-08-20 | Silicon Motion Inc. | Storage devices including a controller for handling command sequences and methods of operating the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172262A1 (en) * | 2007-12-27 | 2009-07-02 | Pliant Technology, Inc. | Metadata rebuild in a flash memory controller following a loss of power |
US20110099323A1 (en) * | 2009-10-27 | 2011-04-28 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
TW201314449A (zh) * | 2011-07-22 | 2013-04-01 | Sandisk Technologies Inc | 儲存資料之系統及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200722997A (en) * | 2005-12-15 | 2007-06-16 | Inventec Corp | Method of protecting cache data of storage system |
TWI291618B (en) * | 2005-12-15 | 2007-12-21 | Inventec Corp | Method of protecting cache data of storage system |
-
2015
- 2015-11-18 TW TW104138019A patent/TWI578222B/zh active
-
2016
- 2016-04-11 CN CN201610222091.2A patent/CN106708422B/zh active Active
- 2016-10-21 US US15/331,116 patent/US20170139600A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172262A1 (en) * | 2007-12-27 | 2009-07-02 | Pliant Technology, Inc. | Metadata rebuild in a flash memory controller following a loss of power |
US20110099323A1 (en) * | 2009-10-27 | 2011-04-28 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
TW201314449A (zh) * | 2011-07-22 | 2013-04-01 | Sandisk Technologies Inc | 儲存資料之系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI578222B (zh) | 2017-04-11 |
TW201719373A (zh) | 2017-06-01 |
US20170139600A1 (en) | 2017-05-18 |
CN106708422B (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628319B2 (en) | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same | |
CN106708421A (zh) | 数据储存装置及其数据维护方法 | |
TWI590051B (zh) | 資料儲存裝置及其資料維護方法 | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US8489942B1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US9582224B2 (en) | Memory control circuit unit, memory storage apparatus and data accessing method | |
CN107977161A (zh) | 数据储存装置及其数据写入方法 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
TWI606339B (zh) | 資料儲存裝置及其資料維護方法 | |
CN106484316A (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
CN106708422A (zh) | 数据储存装置及其数据维护方法 | |
CN107291377A (zh) | 数据储存装置及其数据维护方法 | |
US9009442B2 (en) | Data writing method, memory controller and memory storage apparatus | |
CN110489360A (zh) | 存储器控制器及该存储器控制器的操作方法 | |
CN109426441A (zh) | 数据储存装置以及其操作方法 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103389881A (zh) | 控制装置、存储装置以及数据写入方法 | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
US20140089566A1 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
US20120317346A1 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
US20130326114A1 (en) | Write mitigation through fast reject processing | |
CN112230849B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
US20130067141A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |