CN110045913A - 垃圾收集的方法、记忆装置及其控制器和电子装置 - Google Patents
垃圾收集的方法、记忆装置及其控制器和电子装置 Download PDFInfo
- Publication number
- CN110045913A CN110045913A CN201810595436.8A CN201810595436A CN110045913A CN 110045913 A CN110045913 A CN 110045913A CN 201810595436 A CN201810595436 A CN 201810595436A CN 110045913 A CN110045913 A CN 110045913A
- Authority
- CN
- China
- Prior art keywords
- page
- block
- destination
- destination block
- subsequent
- 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
- 230000005055 memory storage Effects 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000010813 municipal solid waste Substances 0.000 title claims abstract description 43
- 230000009183 running Effects 0.000 claims abstract description 30
- 238000013507 mapping Methods 0.000 claims description 74
- 238000012545 processing Methods 0.000 claims description 16
- 238000013480 data collection Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000000151 deposition Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000429 assembly Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013519 translation 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/0253—Garbage collection, i.e. reclamation of unreferenced 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/0614—Improving the reliability of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- 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/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
-
- 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
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
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)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Library & Information Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种用来于一记忆装置中重新使用关于垃圾收集的一目的地区块的方法、相关的记忆装置及其控制器以及相关的电子装置。所述方法可包括:于一垃圾收集程序中写入所述目的地区块的多页的一子集合的任一页时,在所述页的一数据区与一备用区分别写入有效数据与来源信息,其中一断电事件发生于写入所述目的地区块的期间;于所述断电事件结束之后,于所述目的地区块中进行空页搜寻,以找出所述目的地区块中的一最后一个有效页;以及将从所述来源区块取得的一组后续的有效数据写入所述目的地区块中的一后续的页,以重新使用所述目的地区块。本发明能针对所述记忆装置的运作进行妥善的控制,以缩短记忆装置的突然断电复原的时间。
Description
技术领域
本发明涉及闪存(Flash memory)的存取(access)控制,尤其涉及一种用来于一记忆装置中重新使用(reuse)关于垃圾收集(Garbage Collection,GC)的一目的地区块(destination block)的方法、相关的记忆装置及其控制器以及相关的电子装置。
背景技术
近年来由于存储器的技术不断地发展,各种可携式或非可携式记忆装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的记忆卡;又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)被广泛地实施于诸多应用中。因此,这些记忆装置中的存储器的存取(access)控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(single level cell,SLC)与多阶细胞(multiple level cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(memory cell)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的存储能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录至少两组位信息(诸如00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的至少两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保记忆装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据现有技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,由于抹除(erase)闪存中的一或多个区块很费时,故于需要时,记忆装置可在背景中通过垃圾收集机制来整理数据、然后抹除区块,以避免妨碍用户的使用。这样的记忆装置典型地仰赖外部电源来运作。当突然断电(sudden power-off)发生时,记忆装置中的一垃圾收集运作可能尚未完成、且被不预期地中断了。之后,当所述外部电源的电力恢复时,记忆装置可能被迫去重新进行所述垃圾收集运作中先前已经完成的工作。例如:当突然断电发生时,记忆装置可能已将大部分欲保留的数据收集到一个区块,其中记忆装置可能被迫去重新收集上述大部分欲保留的数据到另一个区块。随着现有技术的发展,区块的大小变得愈来愈大,这会导致上述问题变得更严重。另外,如果所述外部电源的电力不稳,例如突然断电发生很多次,使得可供存储欲保留的数据的空白区块很快就用完了,这可能会导致垃圾收集机制的崩溃。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下提升记忆装置的效能。
发明内容
本发明的一目的在于公开一种用来于一记忆装置中重新使用(reuse)关于垃圾收集(Garbage Collection,GC)的一目的地区块(destination block)的方法、相关的记忆装置及其控制器以及相关的电子装置,以解决上述问题。
本发明的另一目的在于公开一种用来于一记忆装置中重新使用关于垃圾收集的一目的地区块的方法、相关的记忆装置及其控制器以及相关的电子装置,以在没有副作用或较不可能带来副作用的状况下提升记忆装置的效能。
本发明的至少一实施例公开一种用来于一记忆装置中重新使用关于垃圾收集的一目的地区块的方法,其中所述记忆装置包括一非挥发性存储器(non-volatile memory,NV memory),且所述非挥发性存储器包括至少一非挥发性存储器组件(NV memoryelement)。所述方法可包括:于一垃圾收集程序中写入所述目的地区块的多页的一子集合的任一页时,在所述页的一数据区与一备用区分别写入有效数据(valid data)与来源信息,其中一断电事件(power-off event)发生于写入所述目的地区块的期间,所述来源信息指出所述有效数据的一来源位置,所述来源位置在一或多个来源区块当中,所述断电事件中断所述记忆装置的从所述一或多个来源区块中的一来源区块至所述目的地区块的有效数据收集,以及所述至少一非挥发性存储器组件中的多个区块包括所述一或多个来源区块与所述目的地区块;于所述断电事件结束之后,于所述目的地区块中进行空页搜寻,以找出所述目的地区块中的一最后一个有效页;以及将从所述来源区块取得的一组后续的(subsequent)有效数据写入所述目的地区块中的一后续的页,以重新使用所述目的地区块。
本发明的至少一实施例公开一种记忆装置,其可包括:一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的至少一运作。所述控制器可包括一处理电路。例如:所述处理电路可依据来自一主装置的一指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。另外,在所述处理电路的控制下,所述控制器可进行下列运作:于一垃圾收集程序中写入一目的地区块的多页的一子集合的任一页时,在所述页的一数据区与一备用区分别写入有效数据与来源信息,其中一断电事件发生于写入所述目的地区块的期间,所述来源信息指出所述有效数据的一来源位置,所述来源位置在一或多个来源区块当中,所述断电事件中断所述记忆装置的从所述一或多个来源区块中的一来源区块至所述目的地区块的有效数据收集,以及所述至少一非挥发性存储器组件中的多个区块包括所述一或多个来源区块与所述目的地区块;于所述断电事件结束之后,于所述目的地区块中进行空页搜寻,以找出所述目的地区块中的一最后一个有效页;以及将从所述来源区块取得的一组后续的有效数据写入所述目的地区块中的一后续的页,以重新使用所述目的地区块。
依据某些实施例,本发明另公开一种电子装置,其可包括上述的记忆装置,且还包括:所述主装置,耦接至所述记忆装置。所述主装置可包括:至少一处理器,用来控制所述主装置的运作;以及一电源供应电路,耦接至所述至少一处理器,用来提供电源予所述至少一处理器与所述记忆装置。另外,所述记忆装置可用来提供存储空间给所述主装置。
本发明的至少一实施例公开一种记忆装置的控制器,其中所述记忆装置包括所述控制器与一非挥发性存储器,且所述非挥发性存储器包括至少一非挥发性存储器组件。所述控制器可包括一处理电路。例如:所述处理电路可依据来自一主装置的一指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器。另外,在所述处理电路的控制下,所述控制器可进行下列运作:于一垃圾收集程序中写入一目的地区块的多页的一子集合的任一页时,在所述页的一数据区与一备用区分别写入有效数据与来源信息,其中一断电事件发生于写入所述目的地区块的期间,所述来源信息指出所述有效数据的一来源位置,所述来源位置在一或多个来源区块当中,所述断电事件中断所述记忆装置的从所述一或多个来源区块中的一来源区块至所述目的地区块的有效数据收集,以及所述至少一非挥发性存储器组件中的多个区块包括所述一或多个来源区块与所述目的地区块;于所述断电事件结束之后,于所述目的地区块中进行空页搜寻,以找出所述目的地区块中的一最后一个有效页;以及将从所述来源区块取得的一组后续的有效数据写入所述目的地区块中的一后续的页,以重新使用所述目的地区块。
本发明的好处之一在于,本发明能针对所述记忆装置的运作进行妥善的控制,以缩短记忆装置的突然断电复原(sudden power-off recovery,SPOR)的时间,其中所述记忆装置能迅速地重新使用所述目的地区块。另外,依据本发明的相关实施例来实施并不会增加许多额外的成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于现有技术,本发明能在没有副作用或较不可能带来副作用的状况下提升记忆装置的效能。
附图说明
图1为依据本发明一实施例的一种电子装置的示意图。
图2为依据本发明一实施例的一种用来于一记忆装置中重新使用(reuse)关于垃圾收集(Garbage Collection,GC)的一目的地区块(destination block)的方法的示意图。
图3为所述方法于一实施例中的工作流程。
图4绘示图3所示工作流程于一实施例中的控制方案。
图5绘示图3所示工作流程于一实施例中的控制方案。
图6为所述方法于另一实施例中的工作流程。
图7为所述方法于另一实施例中的工作流程。
其中,附图标记说明如下:
10 电子装置
50 主装置
52 处理器
54 电源供应电路
100 记忆装置
110 存储器控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑电路
116 挥发性存储器
118 传输接口电路
120 非挥发性存储器
122-1,122-2,…,122-N 非挥发性存储器组件
201 全局L2P地址映射表
211 暂时L2P地址映射表
212 暂时P2L地址映射表
300,600,700 工作流程
310,312,314,316,318,320,
322,324,
330,332,334,336,338,340,
620,
630,638,705,710,720,730, 步骤
732
DUMMY_DATA 虚拟数据
GCd,GCd(0) 目的地区块
GCs,GCs(0),GCs(W) 来源区块
L 索引
PAGE(0),PAGE(1),PAGE(2),
PAGE(3),…,PAGE(17),
PAGE(18),
PAGE(19),PAGE(20),
PAGE(21),
PAGE(22),PAGE(23),
PAGE(24),
PAGE(25),PAGE(26),
PAGE(27),…,
PAGE(S) 页
PDR 数据区
PSR 备用区
具体实施方式
I.存储器系统
图1为依据本发明一实施例的一种电子装置10的示意图,其中电子装置10包括一主装置(host device)50与一记忆装置100。主装置50可包括:至少一处理器52(例如一或多个处理器),用来控制主装置50的运作;以及一电源供应电路54,耦接至上述至少一处理器52,用来提供电源予上述至少一处理器52与记忆装置100、且输出一或多个驱动电压至记忆装置100,其中记忆装置100可用来提供存储空间给主装置50,且可从主装置50取得所述一或多个驱动电压,作为记忆装置100的电源。主装置50的例子可包括(但不限于):多功能移动电话(multifunctional mobile phone)、平板计算机(tablet)、可穿戴装置(wearabledevice)以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。记忆装置100的例子可包括(但不限于):可携式记忆装置(诸如符合SD/MMC、CF、MS、XD或UFS标准的记忆卡)、固态硬盘(solid state drive,SSD)以及各种嵌入式(embedded)存储装置(诸如符合UFS或EMMC规格的嵌入式存储装置)。依据本实施例,记忆装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatile memory,NV memory)120,其中所述控制器是用来存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。非挥发性存储器120可包括至少一非挥发性存储器组件(NV memory element)(例如一或多个非挥发性存储器组件),诸如多个非挥发性存储器组件122-1、122-2、…与122-N,其中符号“N”可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(Flashmemory),而非挥发性存储器组件122-1、122-2、…与122-N可分别为多个闪存芯片(Flashmemory chip)或多个闪存裸晶(Flash memory die),但本发明不限于此。
如图1所示,存储器控制器110可包括处理电路诸如微处理器112、存储器诸如只读存储器(Read Only Memory,ROM)112M、控制逻辑电路114、挥发性存储器116与传输接口电路118,其中这些组件中的至少一部分(例如一部分或全部)可通过总线彼此耦接。挥发性存储器116是以随机存取存储器(Random Access Memory,RAM)来实施,例如可为静态随机存取存储器(Static RAM,SRAM),但本发明不限于此。挥发性存储器116可用来提供内部存储空间给存储器控制器110,例如可暂时地存储数据。另外,本实施例的只读存储器112M是用来存储一程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,程序代码112C也可存储在挥发性存储器116或任何形式的存储器内。此外,控制逻辑电路114可用来控制非挥发性存储器120。控制逻辑电路114可包括错误更正码(Error Correction Code,ECC)电路(未显示),以进行数据保护及/或错误更正,但本发明不限于此。传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准、嵌入式多媒体记忆卡(embedded Multi Media Card,eMMC)标准、或通用闪存存储(UniversalFlash Storage,UFS)标准)且可依据所述特定通信标准进行通信。
于本实施例中,主装置50可通过传送主装置指令(host command)与对应的逻辑地址予存储器控制器110来间接地存取记忆装置100。存储器控制器110接收主装置指令与逻辑地址,并将主装置指令转译成存储器操作指令(可简称为操作指令),再以操作指令控制非挥发性存储器120读取或写入(write)/编程(program)非挥发性存储器120当中特定实体地址的记忆单位(memory unit)或数据页(page),其中实体地址对应于逻辑地址。当存储器控制器110对非挥发性存储器组件122-1、122-2、…与122-N中的任一非挥发性存储器组件122-n进行一抹除(erase)运作时(符号“n”可代表区间[1,N]中的任一整数),非挥发性存储器组件122-n的多个区块中的至少一个区块会被抹除,其中所述多个区块中的每一区块可包括多个页(诸如数据页),且存取运作(例如读取或写入)可对一或多页来进行。
关于非挥发性存储器120的区块管理,在所述处理电路诸如微处理器112的控制下,存储器控制器110可将一全局逻辑对实体地址映射表(global logical-to-physical(L2P)address mapping table,可简称为“全局L2P地址映射表”)存储在非挥发性存储器120中,并维持(例如:改变及/或更新)所述全局L2P地址映射表。所述全局L2P地址映射表可以包括多个局部逻辑对实体地址映射表(local L2P address mapping table,可简称为“L2P地址映射表”),其中所述多个L2P地址映射表中的任一个L2P地址映射表可包括用于将逻辑地址(例如:关联至主装置指令的地址,用于存取存储在非挥发性存储器120中的数据)映射到实体地址(例如:指向非挥发性存储器120中的存储数据的位置的地址)的多组L2P映射信息,且所述多组L2P映射信息中的任一组可以是用于将一主装置指令的一逻辑地址映射到非挥发性存储器120的一实体地址的映射信息。另外,存储器控制器110可将所述多个L2P地址映射表中的至少一L2P地址映射表(例如一或多个L2P地址映射表)存储(例如:加载(load))至挥发性存储器116中,作为一暂时L2P地址映射表,且可维护(例如:改变及/或更新)所述暂时L2P地址映射表。当需要时,存储器控制器110可以依据所述暂时L2P地址映射表来更新所述全局L2P地址映射表,但本发明不限于此。于某些实施例中,存储器控制器110可在需要时简单地读取所述暂时L2P地址映射表,而非依据非挥发性存储器120的使用来改变及/或更新所述暂时L2P地址映射表,这是因为存储器控制器110可依据非挥发性存储器120的使用直接更新所述全局L2P地址映射表。
举例来说,所述多组L2P映射信息中的一第一组可以是用于将一第一逻辑地址映射到一第一实体地址的映射信息,而所述多组L2P映射信息中的一第二组可以是用于将一第二逻辑地址映射到一第二实体地址的映射信息。依据某些实施例,所述多组L2P映射信息的实施可予以改变。例如:所述多组L2P映射信息中的任一组可包括一实体地址,且所述L2P地址映射表中的多个实体地址中,所述实体地址相对于其它实体地址的排名(ranking)可代表一逻辑地址,但本发明不限于此。又例如:所述多组L2P映射信息中的任一组可包括一逻辑地址与一实体地址。
II.快速且有效的复原(recovery)架构
图2为依据本发明一实施例的一种用来于一记忆装置中重新使用(reuse)关于垃圾收集(Garbage Collection,GC)的一目的地区块(destination block)的方法的示意图。所述方法可应用于电子装置10及记忆装置100,且可应用于所述控制器诸如存储器控制器110,尤其可应用于所述处理电路诸如微处理器112。图2上半部所示的全局L2P地址映射表201与暂时L2P地址映射表211可分别作为上述的所述全局L2P地址映射表与所述暂时L2P地址映射表的例子,其中存储器控制器110可加载上述至少一L2P地址映射表作为暂时L2P地址映射表211(于图2中标示为“载入L2P表”,以求简洁),且可依据暂时L2P地址映射表211来更新全局L2P地址映射表201(于图2上半部中标示为“更新L2P表”,以求简洁),但本发明不限于此。当进行一垃圾收集运作时,基于所述方法来运作的存储器控制器110可将从一或多个来源区块GCs收集的有效数据(valid data)存储于一或多个目的地区块GCd(例如:一目的地区块GCd(0),其可做为被重新使用的所述目的地区块的一例)的多页的各自的数据区(data region)PDR,且可在所述多页的各自的备用区(spare region)PSR分别写入上述的有效数据的各自的来源信息,诸如上述的有效数据的各自的来源位置,其中上述的至少一非挥发性存储器组件(诸如多个非挥发性存储器组件122-1、122-2、…与122-N)中的多个区块可包括所述一或多个来源区块GCs与所述一或多个目的地区块GCd。例如:针对所述一或多个目的地区块GCd的某一页所存储的数据而言,其来源位置可为所述一或多个来源区块GCs中的某一来源区块中的某一来源页。为了便于理解,所述来源信息可包括一区块地址与一页地址,其中所述区块地址可代表这个来源区块,所述页地址可代表这个来源页,且所述区块地址与所述页地址可分别为逻辑区块地址与逻辑页地址,但本发明不限于此。
在一正常状况诸如没有突然断电(sudden power-off)发生的状况下,存储器控制器110可完成所述一或多个来源区块GCs的垃圾收集运作,且可抹除所述一或多个来源区块GCs以供进一步使用。在一不正常状况诸如突然断电发生的状况下,某一垃圾收集运作尚未完成、且收集有效数据至目的地区块GCd(0)的运作被不预期地中断了。在此状况下,存储器控制器110可于电力恢复时依据已经写入所述一或多个目的地区块GCd(尤其是,目的地区块GCd(0))的一或多页的备用区中的来源信息,来决定应当如何重新使用目的地区块GCd(0)。例如:所述一或多个来源区块GCs中的某一个来源区块GCs(W)中的已被收集到目的地区块GCd(0)的有效数据可位于这个来源区块GCs(W)中的从其最开始页起的某些数据页,诸如第0至(Y-1)页,而尚未被收集到目的地区块GCd(0)的有效数据可位于这个来源区块中的一些其它的数据页,其中W可代表大于或等于0的正整数。存储器控制器110可找到这个来源区块GCs(W)中的被上述突然断电中断的位置(例如:从所述最开始页起的这些数据页中的最后一页的下一页的位置,诸如第Y页),以将尚未被收集到目的地区块GCd(0)的有效数据从这些其它的数据页收集到目的地区块GCd(0),其中符号“Y”可代表自然数。另外,存储器控制器110可选择性地重新进行所述垃圾收集运作中先前已经完成的工作中的一小部分,以确保数据的正确性及/或数据存储的可靠性(例如避免上述突然断电直接地或间接地导致的任何错误),但本发明不限于此。基于所述方法,存储器控制器110能快速地针对垃圾收集机制进行复原,以重新使用目的地区块GCd(0)。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于现有技术,本发明能在没有副作用或较不可能带来副作用的状况下提升记忆装置的效能。
关于这个快速且有效的复原架构的某些实施细节进一步说明如下。存储器控制器110可于挥发性存储器116中存储或管理(例如:改变及/或更新)至少一实体对逻辑地址映射表(physical-to-logical address mapping table,可简称为“P2L地址映射表”),诸如一或多个P2L地址映射表,其可通称为暂时P2L地址映射表212,且其内的每一P2L地址映射表可包括用于将实体地址映射到逻辑地址的多组P2L映射信息,且所述多组P2L映射信息中的任一组可以是用于将一实体地址映射到一逻辑地址的映射信息。在所述正常状况下,存储器控制器110可于进行所述一或多个来源区块GCs的垃圾收集运作时,将上述的有效数据的各自的来源信息(诸如上述的有效数据的各自的来源位置)记录在暂时P2L地址映射表212,以产生所述多组P2L映射信息。在所述不正常状况下,由于挥发性存储器116中的信息于断电时丧失,故任何已被记录于暂时P2L地址映射表212中的P2L映射信息就丧失了。在此状况下,存储器控制器110可于电力恢复时依据所述一或多个目的地区块GCd(尤其是,目的地区块GCd(0))的所述多页当中的至少一部分(例如一部分或全部)的页的各自的备用区中的来源信息,来建立(build)或重建(rebuild)上述的至少一P2L地址映射表诸如暂时P2L地址映射表212(于图2中标示为“建立/重建P2L表”,以求简洁),以供记忆装置100的进一步使用。例如:存储器控制器110可依据暂时P2L地址映射表212来更新暂时L2P地址映射表211(于图2所示的指向暂时L2P地址映射表211的箭头上标示为“更新L2P表”,以求简洁),以间接地更新全局L2P地址映射表201,但本发明不限于此。又例如:存储器控制器110可依据暂时P2L地址映射表212来直接地更新全局L2P地址映射表201。另外,于需要时,存储器控制器110可备份暂时P2L地址映射表212(于图2最下面标示为“备份P2L表”,以求简洁),例如将暂时P2L地址映射表212备份至目的地区块GCd(0)的某一(些)页,但本发明不限于此。
III.系统管理
图3为所述方法于一实施例中的工作流程300。例如:在所述处理电路诸如微处理器112的控制下,存储器控制器110可进行工作流程300中的步骤,以重新使用所述目的地区块诸如目的地区块GCd(0)。为了便于理解,绘示于一步骤中的某些步骤可视为所述步骤的子步骤。
于步骤310中,存储器控制器110可于目的地区块GCd(0)中进行空页搜寻。依据本实施例,存储器控制器110可从目的地区块GCd(0)的开头起搜寻(例如:每一预定数量的页读取一页来检查它是否为空页),直到找到连续NE个空页,但本发明不限于此。另外,在一开始(例如执行步骤312之前),存储器控制器110可将步骤312中的页PAGE(x)的索引x设为一初始值x0。例如:目的地区块GCd(0)的开头可为页PAGE(0),且x0=1,但本发明不限于此。
于步骤312中,存储器控制器110以多面(multi-plane)方式读取页PAGE(x)的备用区,其中多面闪存可作为非挥发性存储器120的一例,且以多面方式读取可增加空页搜寻的速度,但本发明不限于此。
于步骤314中,存储器控制器110可检查页PAGE(x)是否为有效。依据页PAGE(x)的备用区的内容,存储器控制器110可判断页PAGE(x)是否为有效。当页PAGE(x)的备用区并非空白(例如:所述备用区中存在信息诸如来源信息)、且没有发生所述备用区的不可更正的错误更正码错误(uncorrectable ECC error,可简称为“UECC错误”),存储器控制器110可判断页PAGE(x)为有效;否则,存储器控制器110可判断页PAGE(x)为空页,这表示页PAGE(x)并非有效。当页PAGE(x)为有效,进入步骤316;否则,进入步骤318。
于步骤316中,存储器控制器110可将所述来源信息写入一P2L地址映射表,诸如图2所示的P2L地址映射表,以建立或重建所述P2L地址映射表,其中步骤316中的所述来源信息可用来作为所述P2L地址映射表中的一组P2L映射信息。在多次进入步骤316的状况下,步骤316的运作可被执行多次,且存储器控制器110可在所述P2L地址映射表中(例如:从最上面开始)依序写入对应的来源信息,作为所述P2L地址映射表中的一部分的P2L映射信息。
于步骤318中,存储器控制器110可检查是否找到连续NE个空页。当找到连续NE个空页,进入步骤320;否则,进入步骤312,其中存储器控制器110可将索引x增加一增量Δx诸如2(标示为“x+=2”,以便于理解),但本发明不限于此。
依据本实施例,所述预定数量可和增量Δx成正比,尤其可等于增量Δx或其倍数。另外,NE可代表一预定页数(predetermined page count)。例如:
NE=(Memory_cell_bit_count*MultiPlane);
其中Memory_cell_bit_count可代表一记忆细胞位数,诸如非挥发性存储器120中的每个被当作记忆细胞(memory cell)的晶体管所能存储的位的数量,而MultiPlane可代表所述多面闪存的面数(plane count)。为了便于理解,非挥发性存储器120可为多阶细胞(multiple level cell,MLC)闪存且可为多面闪存,其中Memory_cell_bit_count=2且MultiPlane=2,使NE=(2*2)=4,但本发明不限于此。
于步骤320中,存储器控制器110可设定索引L。举例来说,目的地区块GCd(0)中的页PAGE(L0)可代表存储器控制器110于被中断的单枪编程(one-shot programming)运作中所写入的某一页;符号“L0”可代表自然数。通过上述空页搜寻,存储器控制器110可将目的地区块GCd(0)中的页PAGE(0)至页PAGE(L0)判断为有效。为了便于理解,假设L0≥NE。于步骤322中,存储器控制器110可依据下列方程式来设定索引L:
L=(L0/NE)*NE-1;
其中(L0/NE)的运算的运算结果可为一简化的运算结果,使((L0/NE)*NE)等于在NE的倍数中的不大于L0的数中的最大值。此刻的页PAGE(L)可代表存储器控制器110于被中断的单枪编程运作的前一次单枪编程运作中所写入的最后一页。例如:L0=24且NE=4,使L=((24/4)*4)-1=23,其中L=23可使索引L指向目的地区块GCd(0)的页PAGE(23),但本发明不限于此。
另外,当步骤324的运作被触发时,存储器控制器110可于步骤324中调整索引L,尤其将索引L减少NE(标示为“L-=NE”,以便于理解)。
于步骤330中,存储器控制器110可找出目的地区块GCd(0)中的最后一个有效页以及选择性地触发一舍弃范围的使用。在一开始(例如执行步骤332之前),存储器控制器110可依据函数f(L,NE)来设定步骤332中的页PAGE(x’)的索引x’,以使x’=f(L,NE)。例如:函数f(L,NE)可等于(L-NE+1),其中x’=(L-NE+1),但本发明不限于此。
于步骤332中,存储器控制器110以单面(single-plane)方式读取页PAGE(x’)。
于步骤334中,存储器控制器110可检查是否发生页PAGE(x’)的UECC错误。存储器控制器110可译码从页PAGE(x’)的数据区取得的数据,尤其可对所述数据进行错误更正码译码(ECC decoding)。当发生UECC错误,进入步骤336;否则(例如:没有任何错误发生;又例如:有错误发生、但所述错误已被更正),进入步骤338。
于步骤336中,存储器控制器110可于所述P2L地址映射表中清除页PAGE((x’/NE)*NE)至页PAGE(L)的P2L映射信息,其中所述舍弃范围可包括这些页,且(x’/NE)的运算的运算结果可为一简化的运算结果,使((x’/NE)*NE)等于在NE的倍数中的不大于x’的数中的最大值,诸如(L-NE+1)。例如:在NE=4且L=23的状况下,不论x’等于21、22或23,((x’/NE)*NE)可等于20,所以存储器控制器110可于所述P2L地址映射表中清除页PAGE(20)至页PAGE(23)的P2L映射信息。由于索引x’和L在工作流程300中可变化,故执行步骤324的运作1次代表所述舍弃范围可达NE页,执行步骤324的运作2次代表所述舍弃范围可达(NE*2)页,依此类推,但本发明不限于此。之后,进入步骤324以触发所述舍弃范围的使用。
于步骤338中,存储器控制器110可检查是否x’=L。当x’=L,进入步骤340;否则,进入步骤332,其中存储器控制器110可将索引x’加1(标示为“x’++”,以便于理解)。
于步骤340中,存储器控制器110可从目的地区块GCd(0)的页PAGE(L)的备用区取得某一来源区块地址(诸如来源区块GCs(W)的区块地址)与某一来源页地址(诸如来源区块GCs(W)中的某一页的页地址),以恢复垃圾收集运作。于是,存储器控制器110可收集来源区块GCs(W)中的后续的有效数据,且可在所述P2L地址映射表中写入对应的来源信息,作为所述P2L地址映射表中的一后续部分的P2L映射信息。
依据本实施例,存储器控制器110可于步骤322中的(L0/NE)的运算中舍去小数的部分(例如:L0与NE都是整数,且(L0/NE)的运算所产生的商数是整数),且可于步骤336中的(x’/NE)的运算中舍去小数的部分(例如:x’与NE都是整数,且(x’/NE)的运算所产生的商数是整数),但本发明不限于此。另外,为了便于理解,于步骤320中可假设L0≥NE,但本发明不限于此。当L0<NE,L=-1;这表示:被中断的单枪编程运作是存储器控制器110于一开始写入目的地区块GCd(0)时的第一个单枪编程运作。此状况下,存储器控制器110可从目的地区块GCd找出一先前的目的地区块,诸如在使用目的地区块GCd(0)之前刚刚使用过的目的地区块,且从所述先前的目的地区块的最后一个数据页(诸如页PAGE(Lmax);符号“Lmax”可代表最后一个数据页的页码)的备用区取得某一来源区块地址(诸如来源区块GCs(W)的区块地址)与某一来源页地址(诸如来源区块GCs(W)中的某一页的页地址),以恢复垃圾收集运作。于是,存储器控制器110可继续使用目的地区块GCd(0)来收集来源区块GCs(W)中的后续的有效数据,且可在所述P2L地址映射表中写入对应的来源信息,以重建所述P2L地址映射表。
依据某些实施例,非挥发性存储器120的类型可予以变化。例如:非挥发性存储器120可为单阶细胞(single level cell,SLC)闪存且Memory_cell_bit_count=1。又例如:非挥发性存储器120可为三阶细胞(triple level cell,TLC)闪存且Memory_cell_bit_count=3。依据某些实施例,非挥发性存储器120可为单面闪存且MultiPlane=1,而存储器控制器110于步骤312中以单面方式读取页PAGE(x)的备用区。依据某些实施例,编程目的地区块GCd(0)的实施可予以变化。例如:存储器控制器110不需要以单枪编程方式写入目的地区块GCd(0),其中步骤322的方程式可对应地变化。依据某些实施例,步骤310中的初始值x0及/或增量Δx可予以变化,其实施细节的例子可包括(但不限于):
x0=2且Δx=3(“x+=2”取代为“x+=3”);
x0=3且Δx=4(“x+=2”取代为“x+=4”);...
x0=0且Δx=2;
x0=0且Δx=3(“x+=2”取代为“x+=3”);
x0=0且Δx=4(“x+=2”取代为“x+=4”);...。
依据某些实施例,步骤310的运作中的搜寻方法可予以变化。例如:存储器控制器110可依据二元搜寻法,于目的地区块GCd(0)中进行空页搜寻,以找出目的地区块GCd(0)中的最后一个有效页。又例如:存储器控制器110可依据任何其它搜寻法,于目的地区块GCd(0)中进行空页搜寻,以找出目的地区块GCd(0)中的最后一个有效页。依据某些实施例,页PAGE(x)的索引x以及页PAGE(x’)的索引x’可代表页地址,诸如逻辑页地址。例如:这些页地址可为十六进制的数值或二进制的数值,但本发明不限于此。
依据某些实施例,所述方法可包括:寻找目的地区块GCd(0)的最后一个有效页以及选择性地触发所述舍弃范围的使用(步骤330);从目的地区块GCd(0)的页PAGE(L)的备用区取得所述来源区块地址与所述来源页地址(步骤340);重建所述P2L地址映射表,从头到尾,其中其内的P2L映射信息可对应于(例如等同于)目的地区块GCd(0)的最开始的页至最后一页的来源信息;当所述舍弃范围的使用被触发时,编程虚拟页(dummy page)于目的地区块GCd(0)中,尤其于所述舍弃范围中编程所述虚拟页,且于所述P2L地址映射表中清除对应于所述舍弃范围的P2L映射信息,其中所述舍弃范围可包括一字线群组(word-linegroup)中的全部的页,而所述字线群组可包括一或多个字线(word-line);收集来源区块GCs(W)中的后续的有效数据,且在所述P2L地址映射表中写入对应的来源信息,作为所述P2L地址映射表中的所述后续部分的P2L映射信息。
图4绘示图3所示工作流程300于一实施例中的控制方案。图4左半部所示的P2L地址映射表可作为步骤316中所述的所述P2L地址映射表的一例,其中符号“X”可代表预定信息,诸如0xFFFFFFFF;以及图4右半部所示的目的地区块GCd(0)可包括页{PAGE(0),PAGE(1),PAGE(2),PAGE(3),…,PAGE(17),PAGE(18),PAGE(19),PAGE(20),PAGE(21),PAGE(22),PAGE(23),PAGE(24),PAGE(25),PAGE(26),PAGE(27),…},其中符号“1”与“2”可分别代表步骤310的运作与步骤330的运作;但本发明不限于此。例如:存储器控制器110(于被中断的垃圾收集运作中的)先前写入目的地区块GCd(0)的页可包括页{PAGE(0),PAGE(1),…,PAGE(24)},且页{PAGE(20),PAGE(21),PAGE(22),PAGE(23)}可属于同一字线群组。为了便于理解,假设索引L在某一时间点对应于(例如指向)页PAGE(23)。基于工作流程300,存储器控制器110可找出目的地区块GCd(0)中的最后一个有效页以及选择性地触发所述舍弃范围的使用。本实施例与前述实施例相仿的内容在此不重复赘述。
依据某些实施例,于垃圾收集运作的一开始,在存储器控制器110于所述P2L地址映射表中填入P2L映射信息之前,存储器控制器110可将所述预定信息(诸如0xFFFFFFFF)填入所述P2L地址映射表中的每一字段。例如:于一字段中的所述预定信息可指出所述字段处于没有使用的状态。另外,于恢复垃圾收集运作的期间,当需要时,存储器控制器110可清除某一字段中的P2L映射信息,尤其可强制地将所述预定信息填入这个字段,以指出它目前处于没有使用的状态。依据某些实施例,所述预定信息的内容及/或位数可予以变化。
图5绘示图3所示工作流程300于一实施例中的控制方案。例如:存储器控制器110(于被中断的垃圾收集运作中的)先前写入目的地区块GCd(0)的页可包括页{PAGE(0),PAGE(1),…,PAGE(24)},其中存储器控制器110已将从来源区块GCs(0)与GCs(W)取得的多组有效数据分别存储于页{PAGE(0),PAGE(1),…,PAGE(24)}中,且忽略来源区块GCs(0)与GCs(W)的多组无效数据。依据本实施例,所述舍弃范围可包括页PAGE(24),尤其可包括页{PAGE(24),…,PAGE(S-1)}。存储器控制器110可于所述舍弃范围写入虚拟数据(dummy data)DUMMY_DATA以使页{PAGE(24),…,PAGE(S-1)}变成虚拟页,且可在所述P2L地址映射表中清除对应的来源信息,例如于待清除的字段中强制地填入所述预定信息,诸如0xFFFFFFFF,其中于图5所示的所述P2L地址映射表中,标示为符号“X”之处可指出被清除的字段,但本发明不限于此。由于页PAGE(24)位于所述舍弃范围中,故页PAGE(24)中的数据可视为被舍弃的。页PAGE(23)的备用区中的来源信息可包括来源区块GCs(W)中的某一页的页地址,例如,这一页可为来源区块GCs(W)的第(Y-1)页,这表示收集有效数据的工作应当从下一页(诸如第Y页)起继续进行。存储器控制器110可收集来源区块GCs(W)中的后续的有效数据,且可在所述P2L地址映射表中写入对应的来源信息,作为所述P2L地址映射表中的所述后续部分的P2L映射信息。例如:存储器控制器110可读取来源区块GCs(W)的第Y页以重新取得其内的这一组有效数据、且将这一组有效数据写入目的地区块GCd(0)的页PAGE(S),并且可在所述P2L地址映射表中写入对应的来源信息。本实施例与前述实施例相仿的内容在此不重复赘述。
图6为所述方法于另一实施例中的工作流程600。例如:在所述处理电路诸如微处理器112的控制下,存储器控制器110可进行工作流程600中的步骤,以重新使用所述目的地区块诸如目的地区块GCd(0)。相较于图3所示的工作流程300,于本实施例中新增了步骤638、且移除了步骤324,以及在执行步骤336之后,进入步骤638,然后进入步骤340。因应这些修改,步骤320与330分别变成工作流程600中的步骤620与630。当步骤638的运作被触发时,存储器控制器110可于步骤638中调整索引L,尤其将索引L减少(R*NE)(标示为“L-=(R*NE)”,以便于理解),其中R可代表一预定值,诸如一正整数。例如:R=1。又例如:R可为任何其它正整数。本实施例与前述实施例相仿的内容在此不重复赘述。
图7为所述方法于另一实施例中的工作流程700。例如:在所述处理电路诸如微处理器112的控制下,存储器控制器110可进行工作流程700中的步骤,以重新使用所述目的地区块诸如目的地区块GCd(0)。
于步骤705中,存储器控制器110可于一垃圾收集程序中写入目的地区块GCd(0)的多页的一子集合的任一页时,在所述页的数据区PDR与备用区PSR分别写入有效数据与来源信息,其中一断电事件(power-off event)发生于写入目的地区块GCd(0)的期间,且所述来源信息指出所述有效数据的一来源位置。依据本实施例,所述来源位置可以在所述一或多个来源区块GCs中的某一区块(例如:来源区块GCs(0);又例如:来源区块GCs(W))当中,尤其可为这个来源区块中的某一页。所述断电事件中断了记忆装置100的从来源区块GCs(W)至目的地区块GCd(0)的有效数据收集。举例来说,记忆装置100(例如存储器控制器110)于所述断电事件开始之前正在将从来源区块GCs(W)取得的某一组有效数据写入目的地区块GCd(0),尤其正在将这一组有效数据从来源区块GCs(W)复制到目的地区块GCd(0)。于所述断电事件结束之后,进入步骤710。
于步骤710中,存储器控制器110可于目的地区块GCd(0)中进行空页搜寻,以找出目的地区块GCd(0)中的一最后一个有效页。例如:存储器控制器110可进行等同于或类似步骤310的空页搜寻运作,以找出所述最后一个有效页,其中初始值x0及/或增量Δx可予以变化。又例如:存储器控制器110可依据二元搜寻法或任何其它搜寻法,于目的地区块GCd(0)中进行空页搜寻,以找出目的地区块GCd(0)中的所述最后一个有效页。
于步骤720中,存储器控制器110可依据一预定规则,决定于目的地区块GCd(0)中的一舍弃范围(诸如上述的舍弃范围),其中所述舍弃范围可包括所述最后一个有效页。例如:所述预定规则可指出所述舍弃范围的大小。依据本实施例,存储器控制器110可于所述舍弃范围中写入虚拟数据(诸如上述的虚拟数据DUMMY_DATA)。
于步骤730中,存储器控制器110可将从来源区块GCs(W)取得的一组后续的有效数据写入目的地区块GCd(0)中的位于所述舍弃范围以外的一后续的页,以重新使用目的地区块GCd(0)。所述最后一个有效页与所述后续的页可分别属于不同的字线。例如:目的地区块GCd(0)的所述多页的所述子集合可对应于至少一第一字线(诸如一或多个第一字线),且所述子集合可包括所述最后一个有效页。又例如:目的地区块GCd(0)的所述多页的另一子集合可对应于至少一第二字线(诸如一或多个第二字线),且所述另一子集合可包括所述后续的页。
于步骤732中,存储器控制器110可检查关于重新使用目的地区块GCd(0)的运作是否完成。当这些运作完成,工作流程700结束;否则,进入步骤730。
依据本实施例,通过步骤730与步骤732所形成的循环,存储器控制器110可将从来源区块GCs(W)取得的多组后续的有效数据分别写入目的地区块GCd(0)中的多个后续的页,以完成所述垃圾收集程序,其中所述多组后续的有效数据包括所述组后续的有效数据,且所述多个后续的页包括所述后续的页。尤其是,所述多组后续的有效数据可分别写入所述多个后续的页的各自的数据区PDR。于将所述多组后续的有效数据写入所述多个后续的页时,存储器控制器110可将多组来源信息分别写入所述多个后续的页的各自的备用区PSR,其中所述多组来源信息分别指出所述多组后续的有效数据的各自的来源位置。另外,依据目的地区块GCd(0)的所述多页当中的至少一部分的页(例如所述多页的一部分或全部)的各自的备用区PSR中的来源信息,存储器控制器110可重建上述的至少一P2L地址映射表,以供记忆装置100的进一步使用。本实施例与前述实施例相仿的内容在此不重复赘述。
依据某些实施例,存储器控制器110可辨识(identify)于目的地区块GCd(0)中的所述舍弃范围,其中所述舍弃范围包括所述最后一个有效页。例如:所述舍弃范围可对应于至少一字线(诸如一或多个字线)。于是,存储器控制器110可避免所述断电事件直接地或间接地导致的任何错误。这些实施例与前述实施例相仿的内容在此不重复赘述。
依据某些实施例,所述预定规则可对应于所述至少一非挥发性存储器组件的厂牌以及型号中的至少一者。当所述至少一非挥发性存储器组件的厂牌以及型号中的所述至少一者变化,所述预定规则可变化,使得所述舍弃范围的大小对应上述其它厂牌及/或其它型号。例如,当所述至少一非挥发性存储器组件例如被代换为其它的非挥发性存储器组件,诸如其它厂牌及/或其它型号的非挥发性存储器组件,所述舍弃范围的大小可变大或变小,以符合上述其它的非挥发性存储器组件的特性(诸如是否易发生数据错误的特性)。这些实施例与前述实施例相仿的内容在此不重复赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种用来于一记忆装置中重新使用关于垃圾收集的一目的地区块的方法,所述记忆装置包括一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述方法的特征在于,包括有:
于一垃圾收集程序中写入所述目的地区块的多页的一子集合的任一页时,在所述页的一数据区与一备用区分别写入有效数据与来源信息,其中一断电事件发生于写入所述目的地区块的期间,所述来源信息指出所述有效数据的一来源位置,所述来源位置在一或多个来源区块当中,所述断电事件中断所述记忆装置的从所述一或多个来源区块中的一来源区块至所述目的地区块的有效数据收集,以及所述至少一非挥发性存储器组件中的多个区块包括所述一或多个来源区块与所述目的地区块;
于所述断电事件结束之后,于所述目的地区块中进行空页搜寻,以找出所述目的地区块中的一最后一个有效页;以及
将从所述来源区块取得的一组后续的有效数据写入所述目的地区块中的一后续的页,以重新使用所述目的地区块。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
选择性地触发于所述目的地区块中的一舍弃范围的使用,其中所述舍弃范围包括所述最后一个有效页;
其中将从所述来源区块取得的所述组后续的有效数据写入所述目的地区块中的所述后续的页以重新使用所述目的地区块的步骤还包括:
将所述组后续的有效数据写入所述目的地区块中的位于所述舍弃范围以外的所述后续的页。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
依据一预定规则,决定于所述目的地区块中的一舍弃范围,其中所述舍弃范围包括所述最后一个有效页;
其中将从所述来源区块取得的所述组后续的有效数据写入所述目的地区块中的所述后续的页以重新使用所述目的地区块的步骤还包括:
将所述组后续的有效数据写入所述目的地区块中的位于所述舍弃范围以外的所述后续的页。
4.如权利要求3所述的方法,其特征在于,所述预定规则指出所述舍弃范围的大小。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
辨识于所述目的地区块中的一舍弃范围,其中所述舍弃范围包括所述最后一个有效页。
6.如权利要求5所述的方法,其特征在于,所述舍弃范围对应于至少一字线。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
于所述目的地区块中的一舍弃范围中写入虚拟数据,其中所述舍弃范围包括所述最后一个有效页;
其中将从所述来源区块取得的所述组后续的有效数据写入所述目的地区块中的所述后续的页以重新使用所述目的地区块的步骤还包括:
将所述组后续的有效数据写入所述目的地区块中的位于所述舍弃范围以外的所述后续的页。
8.如权利要求1所述的方法,其特征在于,所述最后一个有效页与所述后续的页分别属于不同的字线。
9.如权利要求1所述的方法,其特征在于,所述目的地区块的所述多页的所述子集合对应于至少一第一字线,以及所述子集合包括所述最后一个有效页。
10.如权利要求9所述的方法,其特征在于,所述目的地区块的所述多页的另一子集合对应于至少一第二字线,以及所述另一子集合包括所述后续的页。
11.如权利要求1所述的方法,其特征在于,所述来源信息包括一区块地址与一页地址。
12.如权利要求1所述的方法,其特征在于,所述方法还包括:
将从所述来源区块取得的多组后续的有效数据分别写入所述目的地区块中的多个后续的页,以完成所述垃圾收集程序,其中所述多组后续的有效数据包括所述组后续的有效数据,且所述多个后续的页包括所述后续的页。
13.如权利要求12所述的方法,其特征在于,所述多组后续的有效数据是分别写入所述多个后续的页的各自的数据区;以及所述方法还包括:
于将所述多组后续的有效数据写入所述多个后续的页时,将多组来源信息分别写入所述多个后续的页的各自的备用区,其中所述多组来源信息分别指出所述多组后续的有效数据的各自的来源位置。
14.如权利要求1所述的方法,其特征在于,所述方法还包括:
依据所述目的地区块的所述多页当中的至少一部分的页的各自的备用区中的来源信息,重建一实体对逻辑地址映射表,以供所述记忆装置的进一步使用。
15.一种记忆装置,其特征在于,包括有:
一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及
一控制器,耦接至所述非挥发性存储器,用来控制所述记忆装置的至少一运作,其中所述控制器包括:
一处理电路,用来依据来自一主装置的一指令控制所述控制器,
以容许所述主装置通过所述控制器存取所述非挥发性存储器,其中在所述处理电路的控制下,所述控制器进行下列运作:
于一垃圾收集程序中写入一目的地区块的多页的一子集合的任一页时,在所述页的一数据区与一备用区分别写入有效数据与来源信息,其中一断电事件发生于写入所述目的地区块的期间,所述来源信息指出所述有效数据的一来源位置,所述来源位置在一或多个来源区块当中,所述断电事件中断所述记忆装置的从所述一或多个来源区块中的一来源区块至所述目的地区块的有效数据收集,以及所述至少一非挥发性存储器组件中的多个区块包括所述一或多个来源区块与所述目的地区块;
于所述断电事件结束之后,于所述目的地区块中进行空页搜寻,以找出所述目的地区块中的一最后一个有效页;以及
将从所述来源区块取得的一组后续的有效数据写入所述目的地区块中的一后续的页,以重新使用所述目的地区块。
16.如权利要求15所述的记忆装置,其特征在于,所述控制器选择性地触发于所述目的地区块中的一舍弃范围的使用,其中所述舍弃范围包括所述最后一个有效页;以及所述控制器将所述组后续的有效数据写入所述目的地区块中的位于所述舍弃范围以外的所述后续的页。
17.如权利要求15所述的记忆装置,其特征在于,依据一预定规则,所述控制器决定于所述目的地区块中的一舍弃范围,其中所述舍弃范围包括所述最后一个有效页;以及所述控制器将所述组后续的有效数据写入所述目的地区块中的位于所述舍弃范围以外的所述后续的页。
18.如权利要求15所述的记忆装置,其特征在于,所述最后一个有效页与所述后续的页分别属于不同的字线。
19.一种电子装置,其包括如权利要求15所述的记忆装置,且还包括所述主装置,所述主装置耦接至所述记忆装置,该电子装置的特征在于,所述主装置包括:
至少一处理器,用来控制所述主装置的运作;以及
一电源供应电路,耦接至所述至少一处理器,用来提供电源予所述至少一处理器与所述记忆装置;
其中所述记忆装置是用来提供存储空间给所述主装置。
20.一种记忆装置的控制器,所述记忆装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述控制器的特征在于,包括有:
一处理电路,用来依据来自一主装置的一指令控制所述控制器,以容许所述主装置通过所述控制器存取所述非挥发性存储器,其中在所述处理电路的控制下,所述控制器进行下列运作:
于一垃圾收集程序中写入一目的地区块的多页的一子集合的任一页时,在所述页的一数据区与一备用区分别写入有效数据与来源信息,其中一断电事件发生于写入所述目的地区块的期间,所述来源信息指出所述有效数据的一来源位置,所述来源位置在一或多个来源区块当中,所述断电事件中断所述记忆装置的从所述一或多个来源区块中的一来源区块至所述目的地区块的有效数据收集,以及所述至少一非挥发性存储器组件中的多个区块包括所述一或多个来源区块与所述目的地区块;
于所述断电事件结束之后,于所述目的地区块中进行空页搜寻,以找出所述目的地区块中的一最后一个有效页;以及
将从所述来源区块取得的一组后续的有效数据写入所述目的地区块中的一后续的页,以重新使用所述目的地区块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107101357A TWI643066B (zh) | 2018-01-15 | 2018-01-15 | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 |
TW107101357 | 2018-01-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110045913A true CN110045913A (zh) | 2019-07-23 |
CN110045913B CN110045913B (zh) | 2022-05-13 |
Family
ID=65431856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810595436.8A Active CN110045913B (zh) | 2018-01-15 | 2018-06-11 | 垃圾收集的方法、记忆装置及其控制器和电子装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10452535B2 (zh) |
CN (1) | CN110045913B (zh) |
TW (1) | TWI643066B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737165A (zh) * | 2020-07-02 | 2020-10-02 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112306375A (zh) * | 2019-08-01 | 2021-02-02 | 北京兆易创新科技股份有限公司 | 用户数据搬移的恢复方法、装置、电子设备及存储介质 |
US11755242B2 (en) | 2020-06-22 | 2023-09-12 | Phison Electronics Corp. | Data merging method, memory storage device for updating copied L2P mapping table according to the physical address of physical unit |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI658462B (zh) * | 2018-01-19 | 2019-05-01 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 |
KR20190092054A (ko) * | 2018-01-30 | 2019-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11379155B2 (en) | 2018-05-24 | 2022-07-05 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
CN111902804B (zh) | 2018-06-25 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 用于管理存储设备的资源并量化i/o请求成本的系统和方法 |
JP2020003838A (ja) * | 2018-06-25 | 2020-01-09 | キオクシア株式会社 | メモリシステム |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
JP7213712B2 (ja) * | 2019-02-14 | 2023-01-27 | キオクシア株式会社 | 不揮発性半導体記憶装置 |
KR20200113992A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치 |
TWI717755B (zh) * | 2019-06-12 | 2021-02-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
CN112286721A (zh) | 2019-07-23 | 2021-01-29 | 慧荣科技股份有限公司 | 瞬间断电回复处理方法及计算机可读取存储介质以及装置 |
CN112306742A (zh) | 2019-07-23 | 2021-02-02 | 慧荣科技股份有限公司 | 瞬间断电回复处理方法及计算机可读取存储介质以及装置 |
TWI704450B (zh) * | 2019-07-23 | 2020-09-11 | 慧榮科技股份有限公司 | 瞬間斷電回復處理方法及電腦程式產品以及裝置 |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
US11055190B1 (en) * | 2020-01-03 | 2021-07-06 | Alibaba Group Holding Limited | System and method for facilitating storage system operation with global mapping to provide maintenance without a service interrupt |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11379447B2 (en) | 2020-02-06 | 2022-07-05 | Alibaba Group Holding Limited | Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller |
US11449386B2 (en) | 2020-03-20 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11301173B2 (en) | 2020-04-20 | 2022-04-12 | Alibaba Group Holding Limited | Method and system for facilitating evaluation of data access frequency and allocation of storage device resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
CN112052193B (zh) * | 2020-09-28 | 2023-04-07 | 成都佰维存储科技有限公司 | 一种垃圾回收方法、装置、可读存储介质及电子设备 |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
CN114328281B (zh) * | 2021-11-30 | 2023-11-14 | 苏州浪潮智能科技有限公司 | 固态硬盘异常掉电处理方法、装置、电子设备及介质 |
US11687447B1 (en) * | 2022-01-04 | 2023-06-27 | Silicon Motion, Inc. | Method and apparatus for performing access control of memory device with aid of additional physical address information |
CN116467224B (zh) * | 2022-01-12 | 2023-10-31 | 联芸科技(杭州)股份有限公司 | L2p映射表重建方法及固态硬盘 |
CN115563026B (zh) * | 2022-12-07 | 2023-04-14 | 合肥康芯威存储技术有限公司 | 一种映射表的重建方法及数据存储设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200731067A (en) * | 2005-08-03 | 2007-08-16 | Sandisk Corp | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
WO2008083001A1 (en) * | 2006-12-26 | 2008-07-10 | Sandisk Corporation | Managing a lba interface in a direct data file memory system |
CN105893266A (zh) * | 2015-01-04 | 2016-08-24 | 伊姆西公司 | 用于重新使用文件系统的存储块的方法和装置 |
WO2016195242A1 (ko) * | 2015-05-29 | 2016-12-08 | 주식회사 이에프텍 | 비휘발성 메모리 시스템 |
US20170031836A1 (en) * | 2015-07-31 | 2017-02-02 | SK Hynix Inc. | Memory system and operating method thereof |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3928724B2 (ja) * | 2003-02-20 | 2007-06-13 | ソニー株式会社 | 記録媒体の記録制御方法および記録媒体の記録制御装置 |
US20050120265A1 (en) * | 2003-12-02 | 2005-06-02 | Pline Steven L. | Data storage system with error correction code and replaceable defective memory |
JP4700562B2 (ja) * | 2006-05-18 | 2011-06-15 | 株式会社バッファロー | データ記憶装置およびデータ記憶方法 |
US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
US8108759B2 (en) * | 2006-12-14 | 2012-01-31 | Regents Of The University Of Minnesota | Error detection and correction using error pattern correcting codes |
US8700970B2 (en) * | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US20120297248A1 (en) * | 2011-05-17 | 2012-11-22 | Alan David Bennett | Block write handling after corruption |
JP2013061799A (ja) * | 2011-09-13 | 2013-04-04 | Toshiba Corp | 記憶装置、記憶装置の制御方法およびコントローラ |
CN103164345B (zh) * | 2011-12-08 | 2016-04-27 | 光宝科技股份有限公司 | 固态存储装置遭遇断电后的数据存储方法 |
US9747202B1 (en) * | 2013-03-14 | 2017-08-29 | Sandisk Technologies Llc | Storage module and method for identifying hot and cold data |
WO2016051512A1 (ja) * | 2014-09-30 | 2016-04-07 | 株式会社日立製作所 | 分散型ストレージシステム |
US9841910B2 (en) * | 2014-09-30 | 2017-12-12 | Sandisk Technologies Llc | Moving and committing valid data on a set-by-set basis |
US9659619B2 (en) * | 2015-05-21 | 2017-05-23 | Sandisk Technologies Llc | System and method for memory integrated circuit chip write abort indication |
US9691485B1 (en) * | 2016-07-11 | 2017-06-27 | Sandisk Technologies Llc | Storage system and method for marginal write-abort detection using a memory parameter change |
US10671642B2 (en) * | 2016-11-11 | 2020-06-02 | International Business Machines Corporation | Copying data changes to a target database |
TWI628542B (zh) * | 2017-04-21 | 2018-07-01 | 慧榮科技股份有限公司 | 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置 |
CN109542335B (zh) * | 2017-09-22 | 2022-04-01 | 慧荣科技股份有限公司 | 快闪存储器的数据内部搬移方法以及使用该方法的装置 |
-
2018
- 2018-01-15 TW TW107101357A patent/TWI643066B/zh active
- 2018-06-11 CN CN201810595436.8A patent/CN110045913B/zh active Active
- 2018-06-26 US US16/019,532 patent/US10452535B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200731067A (en) * | 2005-08-03 | 2007-08-16 | Sandisk Corp | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
WO2008083001A1 (en) * | 2006-12-26 | 2008-07-10 | Sandisk Corporation | Managing a lba interface in a direct data file memory system |
CN105893266A (zh) * | 2015-01-04 | 2016-08-24 | 伊姆西公司 | 用于重新使用文件系统的存储块的方法和装置 |
WO2016195242A1 (ko) * | 2015-05-29 | 2016-12-08 | 주식회사 이에프텍 | 비휘발성 메모리 시스템 |
US20170031836A1 (en) * | 2015-07-31 | 2017-02-02 | SK Hynix Inc. | Memory system and operating method thereof |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306375A (zh) * | 2019-08-01 | 2021-02-02 | 北京兆易创新科技股份有限公司 | 用户数据搬移的恢复方法、装置、电子设备及存储介质 |
US11755242B2 (en) | 2020-06-22 | 2023-09-12 | Phison Electronics Corp. | Data merging method, memory storage device for updating copied L2P mapping table according to the physical address of physical unit |
CN111737165A (zh) * | 2020-07-02 | 2020-10-02 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN111737165B (zh) * | 2020-07-02 | 2023-09-12 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
TWI643066B (zh) | 2018-12-01 |
TW201933102A (zh) | 2019-08-16 |
US10452535B2 (en) | 2019-10-22 |
US20190220392A1 (en) | 2019-07-18 |
CN110045913B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110045913A (zh) | 垃圾收集的方法、记忆装置及其控制器和电子装置 | |
CN102298555B (zh) | 基于nand技术的模块化闪存管理系统 | |
CN103871447B (zh) | 与非门快闪存储器阵列及芯片及其存取、读取及管理方法 | |
CN108733510A (zh) | 数据储存装置及映射表重建方法 | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
TWI649755B (zh) | 資料儲存裝置與記憶體裝置之資料處理方法 | |
CN103995784A (zh) | 快闪存储器控制器与存储装置以及快闪存储器控制方法 | |
CN110083546A (zh) | 记忆装置中进行写入管理的方法、记忆装置和其控制器 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US20220318157A1 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
TW201324145A (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
US20100088540A1 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
CN109857584A (zh) | 于记忆装置进行访问控制的方法、记忆装置和其控制器 | |
CN109815158A (zh) | 进行系统备份的方法、记忆装置及控制器、及电子装置 | |
CN110489264A (zh) | 记忆装置页可用性管理方法及系统、记忆装置及电子装置 | |
CN102592670B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103389881A (zh) | 控制装置、存储装置以及数据写入方法 | |
CN109783005A (zh) | 控制记忆装置的方法、记忆装置、及其控制器和电子装置 | |
CN102968385B (zh) | 数据写入方法、存储器控制器与储存装置 | |
CN102866861A (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN106484308A (zh) | 数据保护方法、存储器控制电路单元及存储器储存装置 | |
US8738847B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN104238956A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN115878033A (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 |