CN106155914A - 实体储存对照表维护方法以及使用该方法的装置 - Google Patents
实体储存对照表维护方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN106155914A CN106155914A CN201510180415.6A CN201510180415A CN106155914A CN 106155914 A CN106155914 A CN 106155914A CN 201510180415 A CN201510180415 A CN 201510180415A CN 106155914 A CN106155914 A CN 106155914A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- comparisons
- group
- physical storage
- data
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 171
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000013507 mapping Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000004242 micellar liquid chromatography Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000005245 sintering Methods 0.000 description 1
- 238000004809 thin layer chromatography Methods 0.000 description 1
Classifications
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- 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/70—Details relating to dynamic memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
本发明提出一种实体储存对照表维护方法以及使用该方法的装置。该实体储存对照表维护方法,系由处理单元执行,至少包含下列步骤。写入超过指定数目的逻辑区块的数据至储存单元后,依据未储存群组队列中的群组编号驱动存取接口,用以将储存于动态随机存取存储器中的实体储存对照表中的相应群组储存至储存单元中的区块。接着,更新动态随机存取存储器中的群组对照表,用以指出实体储存对照表中的群组的最新数据实际存放于储存单元中的哪个位置,以及将群组编号从未储存群组队列移除。
Description
技术领域
本发明关连于一种快闪存储器装置,特别是一种实体储存对照表产生方法以及使用该方法的装置。
背景技术
快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址引脚上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据引脚上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列的字节(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。实际上,为了提升写入的速度,一段连续逻辑位置的数据可能被散布放置于数个实体的储存单元中,并且使用实体储存对应表来指出被写入到实体储存单元中的何处。本发明提出一种实体储存对应表产生方法,用以提升重建速度,以及使用该方法的装置。
发明内容
本发明的实施例提出一种实体储存对照表维护方法,由处理单元执行,至少包含下列步骤。写入超过指定数目的逻辑区块的数据至储存单元后,依据未储存群组队列中的群组编号驱动存取接口,用以将储存于动态随机存取存储器中的实体储存对照表中的相应群组储存至储存单元中的区块。接着,更新动态随机存取存储器中的群组对照表,用以指出实体储存对照表中的群组的最新数据实际存放于储存单元中的哪个位置,以及将群组编号从未储存群组队列移除。
本发明的实施例提出一种实体储存对照表维护装置,至少包含存取接口与处理单元。存取接口耦接于储存单元。处理单元耦接于上述存取接口,于写入超过指定数目的逻辑区块的数据至储存单元后,依据未储存群组队列中的群组编号驱动存取接口,用以将储存于动态随机存取存储器中的实体储存对照表中的相应群组储存至储存单元中的区块。接着,处理单元更新动态随机存取存储器中的群组对照表,用以指出实体储存对照表中的群组的最新数据实际存放于储存单元中的哪个位置,以及将群组编号从未储存群组队列移除。
附图说明
图1是依据本发明实施例的快闪存储器的系统架构示意图。
图2是依据本发明实施例的快闪存储器中的储存单元示意图。
图3是依据本发明实施例的实体储存对照示意图。
图4是依据本发明实施例的实体储存对照表的切分示意图。
图5是依据本发明实施例的更新实体储存对照表的状态图。
图6是依据本发明实施例的执行于数据写入状态中的方法流程图。
图7是依据本发明实施例的执行于实体储存对照表写入状态中的方法流程图。
图8是依据本发明实施例的未储存群组队列示意图。
图9是依据本发明实施例的群组对照表示意图。
图10是依据本发明实施例的执行于实体储存对照表写入状态中的方法流程图。
图11是依据本发明实施例的群组及群组对照表储存示意图。
图12是依据本发明实施例的重建实体储存对照表的方法流程图。
【附图标记说明】
10 系统; 110 处理单元;
120 动态随机存取存储器;
150 存取接口; 160 主装置;
170 存取接口; 180 储存单元;
210 存储器单元阵列; 220 行解码单元;
230 列编码单元; 240 地址单元;
250 数据缓存器; 300 实体储存对照表;
310 实体位置信息; 310a 区块编号;
310b 单元编号; 400_0~400_n 群组;
510 闲置状态; 530 数据写入状态;
550 实体储存对照表写入状态;
570 群组对照表写入状态;
S611~S671 方法步骤; S711~S731 方法步骤;
800 未储存群组队列; 900 群组对照表;
900_0~900_n 储存格; S1011~S1041 方法步骤;
1100 储存单元中存放实体储存对照表的区块;
S1211~S1241 方法步骤。
具体实施方式
以下说明是为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110通过存取接口170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。系统架构10使用数个电子信号来协调处理单元110与储存单元180间的数据与命令传递,包含数据线(data line)、时脉信号(clock signal)与控制信号(control signal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chip enable,CE)、地址提取致能(address latchenable,ALE)、命令提取致能(command latch enable,CLE)、写入致能(write enable,WE)等控制信号。存取接口170可采用双倍数据率(double data rate,DDR)通讯协定与储存单元180沟通,例如,开放NAND快闪(open NAND flash interface,ONFI)、双倍数据率开关(DDR toggle)或其他接口。处理单元110另可使用存取接口150通过指定通讯协定与主装置160进行沟通,例如,通用序列总线(universal serial bus,USB)、先进技术附着(advanced technology attachment,ATA)、序列先进技术附着(serial advanced technology attachment,SATA)、快速周边元件互联(peripheral component interconnect express,PCI-E)或其他接口。
图2是依据本发明实施例的快闪存储器中的储存单元示意图。储存单元180可包含由MxN个存储器单元(memory cells)组成的阵列(array)210,而每一个存储器单元储存至少一个比特(bit)的信息。快闪存储器可以是NAND型快闪存储器,或其他种类的快闪存储器。为了正确存取信息,行解码单元220用以选择存储器单元阵列210中指定的行,而列编码单元230用以选择指定行中一定数量的字节的数据作为输出。地址单元240提供行信息给行解码器220,其中定义了选择存储器单元阵列210中的那些行。相似地,列解码器230则根据地址单元240提供的列信息,选择存储器单元阵列210的指定行中一定数量的列进行读取或写入操作。行可称为为字符线(wordline),列可称为比特线(bitline)。数据缓存器(data buffer)250可储存从存储器单元阵列210读取出的数据,或欲写入存储器单元阵列210中的数据。存储器单元可为单层式单元(single-levelcells,SLCs)、多层式单元(multi-level cells,MLCs)或三层式单元(triple-level cells,TLCs)。
主装置160可通过存取接口150提供逻辑区块地址(LBA,Logical BlockAddress)给处理单元110,用以指示写入或读取特定区域的数据。然而,为为最佳化数据写入的效率,存取接口170将一段具有连续逻辑区块地址的数据分散地摆放在储存单元180中的不同实体区域。因此,需要于动态随机存取存储器中储存一个实体储存对照表(storage mapping table,又称为H2F Host-to-Flash表),用以指出每个逻辑区块地址的数据实际储存于储存单元180中的哪个位置。图3是依据本发明实施例的实体储存对照示意图。实体储存对照表300依照逻辑储存地址的顺序,储存每一逻辑储存地址的数据实际储存于储存单元180中的哪个实体位置的信息。逻辑储存地址可以逻辑区块地址(LBA,LogicalBlock Address)表示,每一个逻辑区块地址对应到一个固定大小的实体储存空间,例如256K、512K或1024K字节(Bytes)。例如,实体储存对照表300依序储存由LBA0至LBA65535的实体位置信息。固定数目的连续逻辑区块的实体位置信息310可以4个字节表示,其中的2个字节310a记录区块编号(blocknumber),而另2个字节310b记录单元编号(unit number)。例如,此4个字节可指示连续八个实体区块的起始区块编号以及起始单元编号,而这八个实体区块又可统称为一个主页面(host page)。举例来说,储存对照表300所需要的空间从64M到1G字节不等。由于NAND快闪装置并非随机存取装置,为了提升写入的效率,主装置160需要提供至少一个逻辑区块的连续性数据,例如512字节的数据,使得储存装置180可以有效率的方式摆放到储存单元180。当主装置160写入数据到不同的逻辑区块时,例如写入逻辑区块地址LBA0、LBA1000、LBA4500、LBA10000,储存于动态随机存取存储器180中的实体储存对照表300中的相应实体位置信息也要随着更新。为了避免动态随机存取存储器180中储存的实体储存对照表300因断电而消失,需要一种方法有效率地将实体储存对照表300中已更新的实体位置信息写入到储存单元180中。如果每次主装置160写入一个逻辑区块的数据(例如512K字节)就相应地更新储存单元180中的实体位置信息(例如2字节),将使得存取接口170因频繁写入而不具效率。所以,于一些实施例中,可将实体储存对照表300切分成n个群组(groups),做为更新至储存单元180的最小单位。图4是依据本发明实施例的实体储存对照表的切分示意图。实体储存对照表300分为群组400_0至400_n,每一个群组包含4096个逻辑区块的实体位置信息(例如2K字节)。
图5是依据本发明实施例的更新实体储存对照表的状态图。处理单元110依据不同的触发事件来进入不同的状态,并执行每个状态中所需要的操作。处理单元110初始处于闲置状态(idle state)510,并且在经由存取接口150接收到主装置160所发出的写入命令后进入数据写入状态(data programming state)530。于数据写入状态中,处理单元110执行如下所示的一连串的操作,用以将数据写入储存单元180并更新动态随机存取存储器180中储存的实体储存对照表300。图6是依据本发明实施例的执行于数据写入状态中的方法流程图。处理单元110通过存取接口150取得一或多个逻辑区块地址(LBA)以及待写入的数据后(步骤S611),驱动存取接口170将数据写入到储存单元180中的有效区块(active block)中的单元(unit)(步骤S613)。有效区块以及写入单元分别以区块编号及单元编号表示。接着,更新动态存取存储器180中储存的实体储存对照表300,用以更新取得的逻辑区块地址的实体位置信息(步骤S615),以及更新未储存群组队列(unsaved group queue)(步骤S617)。未储存群组队列可记录于动态存取存储器180中,用以储存实体储存对照表300中的那些群组已经更新但尚未写入储存单元180的信息。假设,实体储存对照表300的群组切分如图4所示。处理单元110将逻辑区块地址LBA0、LBA1000、LBA4500、LBA10000的数据写入至储存单元180,并据以更新动态存取存储器180中实体储存对照表300的逻辑区块地址LBA0、LBA1000、LBA4500、LBA10000的实体位置信息。逻辑区块地址LBA0、LBA1000、LBA4500、LBA10000的实体位置信息分别属于第0个、第0个、第1个及第2个群组。处理单元110会检查未储存群组队列是否包含这些群组编号,如果没有,则将缺少的群组编号加入未储存群组队列。例如,当未储存群组队列只包含第0个、第1个、第8个及第10个群组的编号时,则将第2个群组的编号加入至未储存群组队列。接着,处理单元110判断是否已写入超过指定数目的逻辑区块的数据,例如7680个(步骤S631)。若是,进入实体储存对照表写入状态(Storage-mapping-table ProgrammingState)550(步骤S651);否则,回到闲置状态(Idle State)510(步骤S671)。步骤S631的判断可经由检查一个写入计数器完成。此写入计数器可在每写入一个逻辑区块的数据后加一,并且在每次执行完实体储存对照表写入状态550中的处理时重设为0。值得注意的是,经由步骤S631的判断,可于写入指定数目的逻辑区块的数据后再将更新过的群组写入至储存单元180,用以避免如上所述的因频繁写入更新后的实体位置信息而造成存取接口170的使用不具效率的问题。
图7是依据本发明实施例的执行于实体储存对照表写入状态中的方法流程图。此方法流程反复执行一个回圈,直到未储存群组队列中所指示的实体储存对照表300的所有群组都写入储存单元180为止(步骤S711至S721)。图8是依据本发明实施例的未储存群组队列示意图。未储存群组队列800为一个阵列(array),包含多个储存格(cells),每一储存格存放储存实体储存对照表300中的特定群组已经更新但尚未写入储存单元180的信息。例如,“G1”代表实体储存对照表300中的第0个群组;“G8”代表实体储存对照表300中的第8个群组,依此类推。于每一回合的执行中,处理单元110从未储存群组队列800中取得一个群组编号(步骤S711),以及驱动存取接口170将实体储存对照表300中的相应群组写入储存单元(步骤S713)。于此须注意的是,储存单元180会设置一或多个指定的区块来储存实体储存对照表300的数据,例如,区块10至17,并且存取接口170会将此群组的数据写入至一个可用的单元(spare unit)上,而不会覆写掉以前储存的数据。这些群组可依写入时间的先后依序储存。就算于数据写入状态530中仅更新此群组中的一个逻辑区块的实体位置信息,处理单元110还是会将一整个群组中所有的实体位置信息写入储存单元180。接着,处理单元110更新储存于动态随机存取存储器120中的群组对照表(groupmapping table,又称为G2F Group-to-Flash表),用以指出实体储存对照表300中的每个群组的最新数据实际存放于储存单元180中的哪个位置(步骤S715),以及将此群组编号从未储存群组队列中移除(步骤S717)。图9是依据本发明实施例的群组对照表示意图。群组对照表900为一个阵列,依照群组编号的顺序使用多个储存格900_0至900_n来储存每一群组的最新数据实际储存于储存单元180中的哪个实体位置的信息。例如,群组对照900依序储存从群组G0至Gn的实体位置信息。每一个储存格使用2个字节记录一个单元编号。例如,群组对照900中指出群组G0、G1及G2的最新数据实际存放在第100、200及300个单元上。当一个群组所对应到的所有逻辑区块还没有数据存放于储存单元180,相应的储存格会储存空值(null value),空值可设定为“0xFF”。例如,图9中以斜线表示的储存格900_3储存空值,表示群组G3所对应到的所有逻辑区块都还没有数据存放于储存单元180。接着,处理单元110判断是否已写入所有群组的数据(步骤S721),若是,回到闲置状态510;否则,回到步骤S711,用以处理下一个未写入的群组。于步骤S721中,当处理单元110发现未储存群组队列为一个空队列时,则判断已写入所有群组的数据。
然而,未写入的群组越多则占用越多时间将动态随机存取存储器120中的数据储存至储存单元180。若处理单元110通过存取接口150由主装置160接收到读取或写入命令,但却碍于正在写入大量的群组数据至储存单元180而无法处理接收的命令,可能会造成接收到的读取或写入命令逾时无时处理。在另一些实施例中,处理单元110可限制群组数据的写入操作不超过一段既定的时间,用以避免如上所述的问题。图10是依据本发明实施例的执行于实体储存对照表写入状态中的方法流程图。为了让说明书简洁易懂,步骤S1011至S1017、S1031以及S1041的详细内容可分别参考图7中步骤S711至S717、S721以及S731的说明。处理单元110可于进入实体储存对照表写入状态550时,启动一个计时器(timer),而此计时器会在一段时间后逾时(expired),例如35ms(milliseconds)。每回合的群组数据写入后(步骤S1011至S1017),处理单元110更判断是否超过既定的时间(步骤S1021)。若是,不管有没有写完所有的群组数据,强制回到闲置状态(步骤S1041);否则,继续进行步骤S1031的判断。于步骤S1021中,当处理单元110发现计时器已逾时,则判断超过既定的时间。
参考回图5,处理单元110处于闲置状态(idle state)510并且接收到即时待命(standby immediate)命令时,进入群组对照表写入状态(group-mapping-tableprogramming state)570。于群组对照表写入状态中,处理单元110驱动存取接口170将动态随机存取存储器120中的群组对照表900写入至储存单元180。当储存单元180设置一或多个指定的区块来储存实体储存对照表300的数据时,存取接口170从指定区块中取得一页的可用空间来储存群组对照表900。于此须注意的是,群组对照表900接续在已写入群组的数据之后。图11是依据本发明实施例的群组及群组对照表储存示意图。指定来储存实体储存对照表300的数据的区块1100可包含多个页面。假设一个页面包含八个单元;且每个单元可存放一个群组的数据:当实体储存对照表300的数据依群组写入时间的先后顺序摆放在第0至23个单元时,群组对照表900储存于包含第24至31个单元的页面中。第32个单元之后的区域(斜线所示)为尚未被使用的储存空间。
当快闪存储装置给电时,处理单元110依据储存单元180的群组对照表900以及群组数据,于动态随机存取存储器120中重建如图4所示的实体储存对照表300。图12是依据本发明实施例的重建实体储存对照表的方法流程图。首先,处理单元驱动存取接口170从储存单元180中的指定区块的最后一页读取群组对照表并储存至动态随机存取存储器120(步骤S1211)。接着,反复执行一个回圈(步骤S1213至S1241),用以依据群组对照表的内容读取每一群组的最新数据并储存至动态随机存取存储器120。详细来说,于每一回合中,处理单元110于取得上一个页面的单元编号区间后,如单元编号16至23(步骤S1213),判断是否群组对照表中所储存的单元编号中的至少一者落入取得的单元编号区间(步骤S1221)。若是(步骤S1221中“是”的路径),代表此页面(范围包含步骤S1213所取得的单元编号区间)中储存至少一个群组的最新数据,处理单元110驱动存取接口170读取此页面的数据(步骤S1231),以及将群组对照表900所指示的群组数据储存至动态随机存取存储器的指定位置(步骤S1233)。于此须注意的是,步骤S1221的判断是用以避免不必要的页面读取作业,换句话说,当判断群组对照表中所储存的单元编号都没有落入取得的单元编号区间时,则跳过此页的处理。然而,熟习此技艺人士亦可省略步骤S1221的判断,直接逐页读出数据后再决定是否更新实体储存对照表300中的内容。以图11为例,假设群组对照表900指示群组G4、G6、G22、G23、G24以及G43的数据分别储存于第22、23、19、20、21、16个单元上:处理单元110从储存单元180读出第2页面的数据后,会将其中的第22、23、19、20、21、16个单元的数据储存至动态随机存取存储器120中配置给群组G4、G6、G22、G23、G24以及G43的位置。最后,处理单元110判断是否已处理完所有的页面(步骤S1241),若是则结束整个实体储存对照表的重建作业;否则,回到步骤S1213用以处理前一个页面的数据。于步骤S1241中,当处理单元110发现目前处理的页面为第0页,则判断已处理完所有的页面。
虽然图1至图2中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图6、7、10以及图12的流程图采用指定的顺序来执行,但是在不违法发明精神的情况下,熟习此技艺人士可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,熟习此技艺人士亦可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明亦不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟习此技艺人士显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (18)
1.一种实体储存对照表维护方法,由一处理单元执行,包含:
写入超过指定数目的逻辑区块的数据至一储存单元后,依据一未储存群组队列中的一群组编号驱动一存取接口,用以将储存于一动态随机存取存储器中的一实体储存对照表中的一相应群组储存至上述储存单元中的一第一区块;
更新上述动态随机存取存储器中的一群组对照表,用以指出上述实体储存对照表中的上述群组的最新数据实际存放于上述储存单元中的哪个位置;以及
将上述群组编号从上述未储存群组队列移除。
2.如权利要求1所述的实体储存对照表维护方法,其特征在于,将上述动态随机存取存储器中的上述实体储存对照表中的上述相应群组储存至上述储存单元中的上述第一区块的执行时间被限制于一指定时间内。
3.如权利要求1所述的实体储存对照表维护方法,其特征在于,上述群组储存一段逻辑区块地址区间的数据实际存放于上述储存单元中的哪个位置的信息。
4.如权利要求3所述的实体储存对照表维护方法,其特征在于,上述实体储存对照表依据逻辑区块地址的顺序摆放每一逻辑区块地址的数据实际存放于上述储存单元中的哪个位置的信息。
5.如权利要求1所述的实体储存对照表维护方法,其特征在于,更包含:
于接收到一即时待命命令后,驱动上述存取接口,用以将上述动态随机存取存储器中的上述群组对照表储存至上述储存单元中的上述第一区块中的最后一个页面。
6.如权利要求5所述的实体储存对照表维护方法,其特征在于,上述群组对照表依据逻辑区块地址的顺序摆放上述群组的数据。
7.如权利要求6所述的实体储存对照表维护方法,其特征在于,上述群组对照表包含多个储存格,上述储存格中的至少一者存放包含一段逻辑区块地址区间的一群组的数据被储存于上述第一区块中的哪个单元的信息。
8.如权利要求7所述的实体储存对照表维护方法,其特征在于,上述储存格中的至少一者存放空值,用以指出一群组中的所有逻辑区块都还没数据存放于上述储存单元。
9.如权利要求1所述的实体储存对照表维护方法,其特征在于,更包含:
将一逻辑区块的数据写入至上述储存单元中的一第二区块中的一单元后,更新上述动态随机存取存储器中的上述实体储存对照表,用以指出上述逻辑区块的数据实际存放于上述第二区块中的上述单元的信息;以及
更新上述未储存群组队列,用以指出上述实体储存对照表中的一相应群组已经更新但尚未写入上述储存单元的信息。
10.一种实体储存对照表维护装置,包含:
一存取接口,耦接于一储存单元;以及
一处理单元,耦接于上述存取接口,于写入超过指定数目的逻辑区块的数据至上述储存单元后,依据一未储存群组队列中的一群组编号驱动上述存取接口,用以将储存于一动态随机存取存储器中的一实体储存对照表中的一相应群组储存至上述储存单元中的一第一区块;更新上述动态随机存取存储器中的一群组对照表,用以指出上述实体储存对照表中的上述群组的最新数据实际存放于上述储存单元中的哪个位置;以及将上述群组编号从上述未储存群组队列移除。
11.如权利要求10所述的实体储存对照表维护装置,其特征在于,将上述动态随机存取存储器中的上述实体储存对照表中的上述相应群组储存至上述储存单元中的上述第一区块的执行时间被限制于一指定时间内。
12.如权利要求10所述的实体储存对照表维护装置,其特征在于,上述群组储存一段逻辑区块地址区间的数据实际存放于上述储存单元中的哪个位置的信息。
13.如权利要求12所述的实体储存对照表维护装置,其特征在于,上述实体储存对照表依据逻辑区块地址的顺序摆放每一逻辑区块地址的数据实际存放于上述储存单元中的哪个位置的信息。
14.如权利要求10所述的实体储存对照表维护装置,其特征在于,上述处理单元更于接收到一即时待命命令后,驱动上述存取接口,用以将上述动态随机存取存储器中的上述群组对照表储存至上述储存单元中的上述第一区块中的最后一个页面。
15.如权利要求14所述的实体储存对照表维护装置,其特征在于,上述群组对照表依据逻辑区块地址的顺序摆放上述群组的数据。
16.如权利要求15所述的实体储存对照表维护装置,其特征在于,上述群组对照表包含多个储存格,上述储存格中的至少一者存放包含一段逻辑区块地址区间的一群组的数据被储存于上述第一区块中的哪个单元的信息。
17.如权利要求16所述的实体储存对照表维护装置,其特征在于,上述储存格中的至少一者存放空值,用以指出一群组中的所有逻辑区块都还没数据存放于上述储存单元。
18.如权利要求10所述的实体储存对照表维护装置,其特征在于,上述处理单元更将一逻辑区块的数据写入至上述储存单元中的一第二区块中的一单元后,更新上述动态随机存取存储器中的上述实体储存对照表,用以指出上述逻辑区块的数据实际存放于上述第二区块中的上述单元的信息;以及更新上述未储存群组队列,用以指出上述实体储存对照表中的一相应群组已经更新但尚未写入上述储存单元的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104106788 | 2015-03-04 | ||
TW104106788A TWI545433B (zh) | 2015-03-04 | 2015-03-04 | 實體儲存對照表維護方法以及使用該方法的裝置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106155914A true CN106155914A (zh) | 2016-11-23 |
Family
ID=56849690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510180415.6A Pending CN106155914A (zh) | 2015-03-04 | 2015-04-16 | 实体储存对照表维护方法以及使用该方法的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9852068B2 (zh) |
CN (1) | CN106155914A (zh) |
TW (1) | TWI545433B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572786A (zh) * | 2017-03-09 | 2018-09-25 | 上海宝存信息科技有限公司 | 避免读取扰动的数据搬移方法以及使用该方法的装置 |
CN110059031A (zh) * | 2018-01-19 | 2019-07-26 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
CN110633224A (zh) * | 2018-06-01 | 2019-12-31 | 深圳大心电子科技有限公司 | 逻辑转实体表更新方法及存储控制器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220222008A1 (en) * | 2021-01-14 | 2022-07-14 | Silicon Motion, Inc. | Method for managing flash memory module and associated flash memory controller and memory device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055458A1 (en) * | 2009-09-03 | 2011-03-03 | 248 Solid State, Inc. | Page based management of flash storage |
CN103455432A (zh) * | 2008-11-06 | 2013-12-18 | 慧帝科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
CN105426315A (zh) * | 2014-09-02 | 2016-03-23 | 慧荣科技股份有限公司 | 实体储存对照表维护方法以及使用该方法的装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003028183A1 (en) | 2001-09-28 | 2003-04-03 | Commvault Systems, Inc. | System and method for generating and managing quick recovery volumes |
JP4662548B2 (ja) | 2005-09-27 | 2011-03-30 | 株式会社日立製作所 | スナップショット管理装置及び方法並びにストレージシステム |
KR100885181B1 (ko) | 2007-02-06 | 2009-02-23 | 삼성전자주식회사 | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 |
JP2009211234A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US8341340B2 (en) | 2010-07-21 | 2012-12-25 | Seagate Technology Llc | Multi-tier address mapping in flash memory |
TWI448891B (zh) | 2012-09-06 | 2014-08-11 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體控制方法 |
US9690695B2 (en) | 2012-09-20 | 2017-06-27 | Silicon Motion, Inc. | Data storage device and flash memory control method thereof |
US20160011790A1 (en) | 2014-07-14 | 2016-01-14 | Sandisk Technologies Inc. | Systems and methods to enable access to a host memory associated with a unified memory architecture (uma) |
-
2015
- 2015-03-04 TW TW104106788A patent/TWI545433B/zh active
- 2015-04-16 CN CN201510180415.6A patent/CN106155914A/zh active Pending
- 2015-09-23 US US14/862,913 patent/US9852068B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455432A (zh) * | 2008-11-06 | 2013-12-18 | 慧帝科技(深圳)有限公司 | 用来管理一记忆装置的方法以及其相关的记忆装置 |
US20110055458A1 (en) * | 2009-09-03 | 2011-03-03 | 248 Solid State, Inc. | Page based management of flash storage |
CN105426315A (zh) * | 2014-09-02 | 2016-03-23 | 慧荣科技股份有限公司 | 实体储存对照表维护方法以及使用该方法的装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572786A (zh) * | 2017-03-09 | 2018-09-25 | 上海宝存信息科技有限公司 | 避免读取扰动的数据搬移方法以及使用该方法的装置 |
CN108572786B (zh) * | 2017-03-09 | 2021-06-29 | 上海宝存信息科技有限公司 | 避免读取扰动的数据搬移方法以及使用该方法的装置 |
CN110059031A (zh) * | 2018-01-19 | 2019-07-26 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
CN110059031B (zh) * | 2018-01-19 | 2022-09-20 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
CN110633224A (zh) * | 2018-06-01 | 2019-12-31 | 深圳大心电子科技有限公司 | 逻辑转实体表更新方法及存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
US9852068B2 (en) | 2017-12-26 |
TWI545433B (zh) | 2016-08-11 |
TW201633134A (zh) | 2016-09-16 |
US20160259733A1 (en) | 2016-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426315B (zh) | 实体储存对照表维护方法以及使用该方法的装置 | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
CN109783007A (zh) | 数据储存装置与存储器装置的数据处理方法 | |
CN105893275A (zh) | 缓存及读取即将写入储存单元的数据的方法以及使用该方法的装置 | |
CN106598479A (zh) | 闪速存储器的故障安全擦除的方法和装置 | |
CN105528299B (zh) | 读取命令排程方法以及使用该方法的装置 | |
JP2008009942A (ja) | メモリシステム | |
CN109947662A (zh) | 存储器系统及其操作方法 | |
CN101154190A (zh) | 映射信息管理设备和方法 | |
CN110489052B (zh) | 数据储存装置 | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
CN106201329B (zh) | 循环区块模式下的数据存取方法以及使用该方法的装置 | |
US7278001B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
CN106155914A (zh) | 实体储存对照表维护方法以及使用该方法的装置 | |
CN107291377A (zh) | 数据储存装置及其数据维护方法 | |
TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN106033323B (zh) | 读取快闪存储器中储存单元的方法以及使用该方法的装置 | |
CN109815158A (zh) | 进行系统备份的方法、记忆装置及控制器、及电子装置 | |
CN101930407B (zh) | 闪速存储器控制电路及其存储系统与数据传输方法 | |
CN108628754A (zh) | 一般及垃圾回收的数据存取方法以及使用该方法的装置 | |
CN110489050A (zh) | 数据储存装置及系统信息的编程方法 | |
CN107797756A (zh) | 固态硬盘系统的优先写入方法以及使用该方法的装置 | |
CN110489051A (zh) | 数据储存装置及系统信息的编程方法 | |
CN104714892B (zh) | 数据存取命令执行方法以及使用该方法的快闪存储器装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161123 |
|
WD01 | Invention patent application deemed withdrawn after publication |