CN108733578A - 快闪存储器的垃圾回收断电回复方法及使用该方法的装置 - Google Patents

快闪存储器的垃圾回收断电回复方法及使用该方法的装置 Download PDF

Info

Publication number
CN108733578A
CN108733578A CN201710368590.7A CN201710368590A CN108733578A CN 108733578 A CN108733578 A CN 108733578A CN 201710368590 A CN201710368590 A CN 201710368590A CN 108733578 A CN108733578 A CN 108733578A
Authority
CN
China
Prior art keywords
mentioned
garbage reclamation
flash memory
powers
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
Application number
CN201710368590.7A
Other languages
English (en)
Inventor
柯冠宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN108733578A publication Critical patent/CN108733578A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本发明涉及一种快闪存储器的垃圾回收断电回复方法及使用该方法的装置,由处理单元执行,包含下列步骤:于断电重启后,从储存单元读取垃圾回收回复旗标并判断垃圾回收回复旗标是否表示快闪存储器需要瞬间断电保护;以及当垃圾回收回复旗标表示快闪存储器需要瞬间断电保护时,写入虚假数据至储存单元的目的地区块中接下来的预设数目的空页面,以及执行未完成的垃圾回收数据存取作业。

Description

快闪存储器的垃圾回收断电回复方法及使用该方法的装置
技术领域
本发明有于一种快闪存储器,特别是一种快闪存储器的断电回复方法及使用该方法的装置。
背景技术
快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,主装置(host)可于地址脚位上提供存取NOR快闪装置的任意地址,并即时地由NOR快闪装置的数据脚位上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列的位元组(bytes)值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。实际上,NAND快闪装置通常从存储器单元(memory cells)上读取或写入完整的数页数据。当一整页的数据从阵列读取到装置中的缓存器(buffer)后,藉由使用提取信号(strobesignal)顺序地敲出(clock out)内容,让主单元可逐位元组或字元组(words)存取数据。
如果区块中的部分页面的数据已经无效(又称为过期页面),读取这些区块中具有效数据的页面并重新写入其他之前被抹除的空区块。接着,这些被释放的页面加上过期数据的页面,可收集起来以写入新的数据。如上所述的程序称为垃圾回收(garbagecollection)。垃圾回收程序牵涉到从快闪存储器读取数据以及重新写入数据至快闪存储器。这代表快闪控制器首先需要读出整个区块,接着将区块中拥有有效数据的部分页面写入。由自然或人为引起的瞬间断电可能损害配置给垃圾回收程序的实体区块(又称为垃圾回收区块)中已写入页面之后的空页面。系统重启程序中的断电回复是一种处理,用以于瞬间断电后回复或继续NAND快闪存储器系统。为了防止可能受到损害的页面被垃圾回收程序使用,每次执行系统重启程序时,断电回复处理会于垃圾回收区块的已写入页面后再写入数个空页面。然而,当垃圾回收区块没有被损坏时,断电回复处理会误写空页面,导致空间浪费。因此,需要一种快闪存储器的断电回复方法以及使用该方法的装置,用以解决以上所述的问题。
发明内容
本发明的实施例提出一种快闪存储器的垃圾回收断电回复方法,由处理单元执行,包含下列步骤:于断电重启后,从储存单元读取垃圾回收回复旗标并判断垃圾回收回复旗标是否表示快闪存储器需要瞬间断电保护;以及当垃圾回收回复旗标表示快闪存储器需要瞬间断电保护时,写入虚假数据至储存单元的目的地区块中接下来的预设数目的空页面,以及执行未完成的垃圾回收数据存取作业。
本发明的实施例提出一种快闪存储器的断电回复装置,包含存取介面及处理单元。存取介面耦接于储存单元,而处理单元耦接于存取介面。于断电重启后,处理单元驱动存取介面从储存单元读取垃圾回收回复旗标并判断垃圾回收回复旗标是否表示快闪存储器需要瞬间断电保护;以及,当垃圾回收回复旗标表示快闪存储器需要瞬间断电保护时,驱动存取介面以写入虚假数据至储存单元的目的地区块中接下来的预设数目的空页面,以及执行未完成的垃圾回收数据存取作业。
附图说明
图1是依据本发明实施例的快闪存储器的系统架构示意图。
图2是依据本发明实施例的存取介面与储存单元的方块图。
图3是依据本发明实施例的一个存取子介面与多个储存子单元的连接示意图。
图4是依据本发明实施例的垃圾回收示意图。
图5是依据本发明实施例的垃圾回收数据存取方法的流程图。
图6是依据本发明实施例的垃圾回收断电回复方法的流程图。
图7A至7C是依据本发明实施例的垃圾回收示意图。
符号说明
10系统;
110处理单元;
120数据缓存器;
130动态随机存取存储器;
150存取介面;
160主装置;
170存取介面;
170_0~170_j存取子介面;
180储存单元;
180_0_0~180_j_i储存子单元;
310_0数据线;
320_0_0~320_0_i芯片致能控制信号;
410、430、450、470区块;
411、433、455、457区段;
P1、P2、P3、P4页面;
S511~S570方法步骤;
S610~S690方法步骤;
710、730、750、770区块;
770a、770b、…、770g页面。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的"包含"、"包括"等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
于权利要求中使用如"第一"、"第二"、"第三"等词系用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110透过存取介面170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。系统架构10使用数个电子信号来协调处理单元110与储存单元180间的数据与命令传递,包含数据线(data line)、时脉信号(clock signal)与控制信号(control signal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chip enable,CE)、地址提取致能(addresslatch enable,ALE)、命令提取致能(command latch enable,CLE)、写入致能(writeenable,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 advancedtechnology attachment,SATA)、快速周边元件互联(peripheral componentinterconnect express,PCI-E)或其他介面。
储存单元180可包含多个储存子单元,每一个储存子单元实施于一个晶粒(die)上,各自使用关联的存取子介面与处理单元110进行沟通。图2是依据本发明实施例的存取介面与储存单元的方块图。快闪存储器10可包含j+1个存取子介面170_0至170_j,存取子介面又可称为通道(channel),每一个存取子介面连接i+1个储存子单元。换句话说,i+1个储存子单元共享一个存取子介面。例如,当快闪存储器10包含4个通道(j=3)且每一个通道连接4个储存单元(i=3)时,快闪存储器10一共拥有16个储存单元180_0_0至180_j_i。处理单元110可驱动存取子介面170_0至170_j中之一者,从指定的储存子单元读取数据。每个储存子单元拥有独立的芯片致能(CE)控制信号。换句话说,当欲对指定的储存子单元进行数据读取时,需要驱动关联的存取子介面致能此储存子单元的芯片致能控制信号。图3是依据本发明实施例的一个存取子介面与多个储存子单元的连接示意图。处理单元110可透过存取子介面170_0使用独立的芯片致能控制信号320_0_0至320_0_i来从连接的储存子单元180_0_0至180_0_i中选择出其中一者,接着,透过共享的数据线310_0从选择出的储存子单元的指定位置读取数据。
图4是依据本发明实施例的垃圾回收示意图。假设一个页面可储存四个区段的数据:经过多次存取后,区块410中的页面P1的第0个区段411为有效数据,其余为无效数据。区块430中的页面P2的第1个区段433为有效数据,其余为无效数据。区块450中的页面P3的第2个及第3个区段455及457为有效数据,其余为无效数据。为了将页面P1至P3中的有效数据回收成一个页面以储存至区块470中的新页面P4,可执行垃圾回收程序。详细来说,数据缓存器120可配置空间以储存一个页面的数据。处理单元110可透过存取子介面170读取区块410中的页面P1的数据,保留页面P1的第0个区段411的数据,并储存至数据缓存器120中配置空间的第0个区段。接着,处理单元110可透过存取子介面170读取区块430中的页面P2的数据,保留页面P2的第1个区段433的数据,并储存至数据缓存器120中配置空间的第1个区段。接着,处理单元110可透过存取子介面170读取区块450中的页面P3的数据,保留页面P3的第2个及第3个区段455及457的数据,并储存至数据缓存器120中配置空间的第2个及第3个区段。最后,处理单元110可透过存取子介面170将数据缓存器120中配置空间的数据写入区块470中的页面P4。
处理单元110写入一个垃圾回收回复旗标至储存单元180(亦即是,非挥发性储存空间),用以指出快闪存储器是否需要瞬间断电保护。例如,当垃圾回收回复旗标为"0"时,代表快闪存储器不需要瞬间断电保护。当垃圾回收回复旗标为"1"时,代表快闪存储器需要瞬间断电保护。图5是依据本发明实施例的垃圾回收数据存取方法的流程图。此方法由处理单元110于载入并执行特定微码或软体指令时实施。当进入垃圾回收数据存取模式时,驱动存取介面170以写入垃圾回收回复旗标"1"及垃圾回收历程至储存单元180,垃圾回收历程包含目的地区块及储存单元180中需要搜集的有效区段的资讯(步骤S511)及设定计时器以计数一段预设时间(步骤S513)。计时器的设定系用以确保垃圾回收数据存取作业的执行不超过这段预设时间,避免影响一般数据存取作业。当一般数据存取作业包含为回应主装置160发出的数据读取及写入命令所执行的数据存取。于此须注意的是,当垃圾回收历程中存在任何需要搜集的有效区段的资讯时,代表尚有未完成的垃圾回收数据存取作业。接着,周期性地执行垃圾回收数据存取模式的存取作业后(步骤S530),判断垃圾回收数据存取模式的存取作业是否完成(步骤S551)及判断计时器是否逾时(步骤S553)。于步骤S530,于每次成功执行垃圾回收数据存取模式的存取作业后,处理单元110更新垃圾回收历程,用以将已搜集并写入的有效区段的资讯移除。于步骤S551,处理单元110可检查垃圾回收历程中是否存在任何需要搜集的有效区段的资讯。如果不存在任何需要搜集的有效区段的资讯,代表垃圾回收数据存取模式的存取作业完成。当垃圾回收数据存取模式的存取作业完成时(步骤S551中"是"的路径),或当计时器逾时的时候(步骤S553中"是"的路径),将储存单元180中的垃圾回收回复旗标更新为"0"(步骤S570)。于步骤S530,处理单元110可执行一段预设时间、预设数据量或预设交易笔数的垃圾回收数据存取模式的数据存取作业。于一些实施例中,于步骤S513,处理单元110可另于动态随机存取存储器130储存逾时旗标,初始为"0"。当计时器计数到预设时间(亦称为计时器逾时),可于动态随机存取存储器130将逾时旗标设为"1"。于步骤S553,处理单元110可检查动态随机存取存储器130中的逾时旗标,用以判断计时器是否逾时。于另一些实施例中,当计时器计数到预设时间,可向处理单元110发送中断信号,此中断信号会触发处理单元110执行高优先级的中断服务处理程序(ISR,Interrupt Service Routine),用以直接中断目前执行的垃圾回收数据存取模式的存取作业,以及将垃圾回收回复旗标设为"0"(步骤S570)。
于断电重启后,处理单元110执行系统重启程序中的垃圾回收断电回复方法,用以继续未完成的垃圾回收数据存取作业。图6是依据本发明实施例的垃圾回收断电回复方法的流程图。处理单元110驱动存取介面170从储存单元180读取垃圾回收历程(GC logs)后(步骤S610),判断是否有未完成的垃圾回收数据存取作业(步骤S630)。若没有尚未完成的垃圾回收数据存取作业(步骤S630中"否"的路径),整个流程结束。若存在任何未完成的垃圾回收数据存取作业(步骤S630中"是"的路径),从储存单元180驱动存取介面170从储存单元180读取垃圾回收回复旗标并判断垃圾回收回复旗标是否为"1"(步骤S650)。当储存单元180中的垃圾回收回复旗标为"1"时(步骤S650中"是"的路径),从垃圾回收历程取得目的地区块(亦即是有效区块)及写入虚假数据(dummy data)至储存单元180的目的地区块中接下来的预设数目的空页面(步骤S670),以及从垃圾回收历程中取得需要搜集的有效区段的资讯并据以驱动存取介面170执行未完成的垃圾回收数据存取作业(步骤S690)。当储存单元180中的垃圾回收回复旗标为"0"时(步骤S650中"否"的路径),直接从垃圾回收历程中取得目的地区块及需要搜集的有效区段的资讯并据以驱动存取介面170执行未完成的垃圾回收数据存取作业(步骤S690)。于此须注意的是,透过储存单元180中的垃圾回收回复旗标及步骤S650的判断可避免写入不必要的虚假数据而浪费储存单元180的储存空间。
以下举出二个情境说明如上所述第5图及第6图的方法。第一个情境描述虽然发生由自然或人为引起的瞬间断电,但却不是发生在写入有效区块时,而没有损害有效区块的空面页。图7A至7C是依据本发明实施例的垃圾回收示意图。参考图7A。处理单元110使用一或多个回合搜集区块710、730及750中有效区段的数据(斜线方框所示)并集合起来写入有效区块770中的三个空页面770a、770b及770c(步骤S530)。假设写入三个空页面770a、770b及770c有效区段的数据之后,计时器逾时且垃圾回收历程记录尚有未完成的垃圾回收数据存取作业:。当处理单元110发现计时器逾时(步骤S553中"是"的路径),将储存单元180中的垃圾回收回复旗标更新为"0"(步骤S570)。之后,发生由自然或人为引起的瞬间断电。参考图7B。于断电重启后,处理单元110读取垃圾回收历程(步骤S610)并发现存在未完成的垃圾回收数据存取作业且垃圾回收回复旗标为"0"(步骤S630中"是"的路径接步骤S650中"否"的路径)。接着,处理单元110执行未完成的垃圾回收数据存取作业,用以搜集区块710、730及750中有效区段的数据(斜线方框所示)并集合起来写入目的地区块770中的空页面770d(步骤S690)。
第二个情境描述在写入有效区块时发生由自然或人为引起的瞬间断电,损害正写入的空面页。参考图7B。假设处理单元110使用一或多个回合搜集区块710、730及750中有效区段的数据(斜线所示)并集合起来写入目的地区块770中的空页面770d时(步骤S530),发生瞬间断电:由于写入目的地区块770中的空页面770d的操作尚未完成,垃圾回收历程记录尚有未完成的垃圾回收数据存取作业。参考图7C。于断电重启后,处理单元110读取垃圾回收历程(步骤S610)并发现存在未完成的垃圾回收数据存取作业且垃圾回收回复旗标为"1"(步骤S630中"是"的路径接步骤S650中"是"的路径)。接着,处理单元110写入虚假数据至有效区块770中的接下来三个空页面770d、770e及770f(步骤S670),以及搜集区块710、730及750中有效区段的数据(斜线方框所示)并集合起来写入目的地区块770中的空页面770g(步骤S690)。
虽然图1至3中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图5及图6的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,熟悉本技术领域者可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,熟悉本技术领域者亦可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明亦不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟悉本技术领域者显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。

Claims (16)

1.一种快闪存储器的垃圾回收断电回复方法,由一处理单元执行,包含:
于断电重启后,从一储存单元读取一垃圾回收回复旗标并判断上述垃圾回收回复旗标是否表示一快闪存储器需要瞬间断电保护;以及
当上述垃圾回收回复旗标表示上述快闪存储器需要瞬间断电保护时,写入虚假数据至上述储存单元的一目的地区块中接下来的预设数目的空页面,以及执行一未完成的垃圾回收数据存取作业。
2.如权利要求1所述的快闪存储器的垃圾回收断电回复方法,其特征在于,包含:
当上述垃圾回收回复旗标表示上述快闪存储器不需要瞬间断电保护时,执行上述未完成的垃圾回收数据存取作业。
3.如权利要求2所述的快闪存储器的垃圾回收断电回复方法,其特征在于,上述目的地区块从一垃圾回收历程取得。
4.如权利要求3所述的快闪存储器的垃圾回收断电回复方法,其特征在于,上述垃圾回收历程包含上述储存单元中需要搜集的有效区段的资讯。
5.如权利要求1所述的快闪存储器的垃圾回收断电回复方法,其特征在于,上述储存单元提供非挥发性储存空间。
6.如权利要求1所述的快闪存储器的垃圾回收断电回复方法,其特征在于,上述未完成的垃圾回收数据存取作业用以搜集多个有效区段的数据并集合起来写入上述储存单元中的上述目的地区块。
7.如权利要求1所述的快闪存储器的垃圾回收断电回复方法,其特征在于,还包含:
于断电重启后,从上述储存单元读取一垃圾回收历程,包含上述目的地区块以及需要搜集的有效区段的资讯。
8.如权利要求7所述的快闪存储器的垃圾回收断电回复方法,其特征在于,上述未完成的垃圾回收数据存取作业的执行系依据上述垃圾回收历程中的上述目的地区块以及上述需要搜集的有效区段的资讯。
9.一种快闪存储器的垃圾回收断电回复装置,包含:
一存取介面,耦接于一储存单元;以及
一处理单元,耦接于上述存取介面,于断电重启后,驱动上述存取介面从上述储存单元读取一垃圾回收回复旗标并判断上述垃圾回收回复旗标是否表示一快闪存储器需要瞬间断电保护;以及,当上述垃圾回收回复旗标表示上述快闪存储器需要瞬间断电保护时,驱动上述存取介面以写入虚假数据至上述储存单元的一目的地区块中接下来的预设数目的空页面,以及执行一未完成的垃圾回收数据存取作业。
10.如权利要求9所述的快闪存储器的垃圾回收断电回复装置,其特征在于,当上述垃圾回收回复旗标表示上述快闪存储器不需要瞬间断电保护时,上述处理单元执行上述未完成的垃圾回收数据存取作业。
11.如权利要求10所述的快闪存储器的垃圾回收断电回复装置,其特征在于,上述目的地区块从一垃圾回收历程取得。
12.如权利要求11所述的快闪存储器的垃圾回收断电回复装置,其特征在于,上述垃圾回收历程包含上述储存单元中需要搜集的有效区段的资讯。
13.如权利要求9所述的快闪存储器的垃圾回收断电回复装置,其特征在于,上述储存单元提供非挥发性储存空间。
14.如权利要求9所述的快闪存储器的垃圾回收断电回复装置,其特征在于,上述未完成的垃圾回收数据存取作业用以搜集多个有效区段的数据并集合起来写入上述储存单元中的上述目的地区块。
15.如权利要求9所述的快闪存储器的垃圾回收断电回复装置,其特征在于,上述处理单元于断电重启后,驱动上述存取介面从上述储存单元读取一垃圾回收历程,包含上述目的地区块以及需要搜集的有效区段的资讯。
16.如权利要求15所述的快闪存储器的垃圾回收断电回复装置,其特征在于,上述处理单元依据上述垃圾回收历程中的上述目的地区块以及上述需要搜集的有效区段的资讯驱动上述存取介面以执行上述未完成的垃圾回收数据存取作业。
CN201710368590.7A 2017-04-21 2017-05-23 快闪存储器的垃圾回收断电回复方法及使用该方法的装置 Pending CN108733578A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106113424A TWI628542B (zh) 2017-04-21 2017-04-21 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置
TW106113424 2017-04-21

Publications (1)

Publication Number Publication Date
CN108733578A true CN108733578A (zh) 2018-11-02

Family

ID=63640510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710368590.7A Pending CN108733578A (zh) 2017-04-21 2017-05-23 快闪存储器的垃圾回收断电回复方法及使用该方法的装置

Country Status (3)

Country Link
US (1) US20180307496A1 (zh)
CN (1) CN108733578A (zh)
TW (1) TWI628542B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159069A (zh) * 2018-11-07 2020-05-15 慧荣科技股份有限公司 闪存控制器、管理闪存模块的方法及相关的电子装置
CN111984441A (zh) * 2019-05-21 2020-11-24 慧荣科技股份有限公司 瞬间断电回复处理方法及装置以及计算机可读取存储介质
CN113495850A (zh) * 2020-04-08 2021-10-12 慧荣科技股份有限公司 管理垃圾回收程序的方法、装置及计算机可读取存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI643066B (zh) * 2018-01-15 2018-12-01 慧榮科技股份有限公司 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置
TWI658462B (zh) * 2018-01-19 2019-05-01 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
KR20190092054A (ko) * 2018-01-30 2019-08-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102578191B1 (ko) * 2018-04-09 2023-09-14 에스케이하이닉스 주식회사 리커버리 성능이 최적화된 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20200113992A (ko) * 2019-03-27 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치
TWI745695B (zh) * 2019-05-22 2021-11-11 慧榮科技股份有限公司 用來進行無預警斷電復原管理之方法、記憶裝置及其控制器以及電子裝置
CN112306742A (zh) 2019-07-23 2021-02-02 慧荣科技股份有限公司 瞬间断电回复处理方法及计算机可读取存储介质以及装置
TWI697780B (zh) * 2019-07-23 2020-07-01 慧榮科技股份有限公司 瞬間斷電回復處理方法及電腦程式產品以及裝置
CN112286721A (zh) 2019-07-23 2021-01-29 慧荣科技股份有限公司 瞬间断电回复处理方法及计算机可读取存储介质以及装置
TWI704450B (zh) * 2019-07-23 2020-09-11 慧榮科技股份有限公司 瞬間斷電回復處理方法及電腦程式產品以及裝置
KR20210079549A (ko) * 2019-12-20 2021-06-30 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US11899577B2 (en) * 2020-11-24 2024-02-13 Micron Technology, Inc. Selective garbage collection

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559957A (en) * 1995-05-31 1996-09-24 Lucent Technologies Inc. File system for a data storage device having a power fail recovery mechanism for write/replace operations
CN1698337A (zh) * 2003-06-05 2005-11-16 恩维达公司 利用卸载单元处理tcp连接数据
CN102004706A (zh) * 2009-09-01 2011-04-06 联芯科技有限公司 一种基于ftl的闪存擦写掉电保护方法
CN103339903A (zh) * 2011-01-28 2013-10-02 纳派泰克股份公司 用于接收和转发数据分组的装置和方法
US20150332770A1 (en) * 2014-05-13 2015-11-19 Dae Han Kim Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
US20160110114A1 (en) * 2014-10-15 2016-04-21 Sangkwon Moon Data storage device including nonvolatile memory device and operating method thereof
CN106155874A (zh) * 2015-02-02 2016-11-23 慧荣科技股份有限公司 数据储存装置及其断电事件判断方法
US20170024140A1 (en) * 2015-07-20 2017-01-26 Samsung Electronics Co., Ltd. Storage system and method for metadata management in non-volatile memory
CN106528438A (zh) * 2016-10-08 2017-03-22 华中科技大学 一种固态存储设备的分段式垃圾回收方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200735118A (en) * 2006-03-09 2007-09-16 Power Quotient Int Co Ltd Recovery and utilization method of flash memory and apparatus thereof
US8762620B2 (en) * 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
TWI370362B (en) * 2008-10-08 2012-08-11 Sunplus Technology Co Ltd Method of flash translation layer using free pages of obsolete block
TWI405214B (zh) * 2009-05-06 2013-08-11 A Data Technology Co Ltd 快閃記憶體儲存系統之資料燒錄方法
TWI587136B (zh) * 2011-05-06 2017-06-11 創惟科技股份有限公司 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
KR101419004B1 (ko) * 2012-05-03 2014-07-11 주식회사 디에이아이오 비휘발성 메모리 시스템
US8966343B2 (en) * 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US20140136575A1 (en) * 2012-11-10 2014-05-15 Yuanyuan Zhao Log-structured garbage collection
US9218891B2 (en) * 2013-11-27 2015-12-22 Silicon Motion, Inc. Data storage device and flash memory control method
US9582435B2 (en) * 2015-03-23 2017-02-28 Sandisk Technologies Llc Memory system and method for efficient padding of memory pages
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法
US9996268B2 (en) * 2015-12-18 2018-06-12 Toshiba Memory Corporation Memory system and control method of the same
KR20180031853A (ko) * 2016-09-19 2018-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559957A (en) * 1995-05-31 1996-09-24 Lucent Technologies Inc. File system for a data storage device having a power fail recovery mechanism for write/replace operations
CN1698337A (zh) * 2003-06-05 2005-11-16 恩维达公司 利用卸载单元处理tcp连接数据
CN102004706A (zh) * 2009-09-01 2011-04-06 联芯科技有限公司 一种基于ftl的闪存擦写掉电保护方法
CN103339903A (zh) * 2011-01-28 2013-10-02 纳派泰克股份公司 用于接收和转发数据分组的装置和方法
US20150332770A1 (en) * 2014-05-13 2015-11-19 Dae Han Kim Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
US20160110114A1 (en) * 2014-10-15 2016-04-21 Sangkwon Moon Data storage device including nonvolatile memory device and operating method thereof
CN106155874A (zh) * 2015-02-02 2016-11-23 慧荣科技股份有限公司 数据储存装置及其断电事件判断方法
US20170024140A1 (en) * 2015-07-20 2017-01-26 Samsung Electronics Co., Ltd. Storage system and method for metadata management in non-volatile memory
CN106528438A (zh) * 2016-10-08 2017-03-22 华中科技大学 一种固态存储设备的分段式垃圾回收方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159069A (zh) * 2018-11-07 2020-05-15 慧荣科技股份有限公司 闪存控制器、管理闪存模块的方法及相关的电子装置
US11113201B2 (en) 2018-11-07 2021-09-07 Silicon Motion, Inc. Flash memory controller, method and associated electronic device for managing priority of quality detection or garbage collection of block
CN111159069B (zh) * 2018-11-07 2021-11-30 慧荣科技股份有限公司 闪存控制器、管理闪存模块的方法及相关的电子装置
CN111984441A (zh) * 2019-05-21 2020-11-24 慧荣科技股份有限公司 瞬间断电回复处理方法及装置以及计算机可读取存储介质
CN111984441B (zh) * 2019-05-21 2023-09-22 慧荣科技股份有限公司 瞬间断电回复处理方法及装置以及计算机可读取存储介质
CN113495850A (zh) * 2020-04-08 2021-10-12 慧荣科技股份有限公司 管理垃圾回收程序的方法、装置及计算机可读取存储介质
CN113495850B (zh) * 2020-04-08 2024-02-09 慧荣科技股份有限公司 管理垃圾回收程序的方法、装置及计算机可读取存储介质

Also Published As

Publication number Publication date
TWI628542B (zh) 2018-07-01
US20180307496A1 (en) 2018-10-25
TW201839615A (zh) 2018-11-01

Similar Documents

Publication Publication Date Title
CN108733578A (zh) 快闪存储器的垃圾回收断电回复方法及使用该方法的装置
EP2115595B1 (en) Memory device performance enhancement through pre-erase mechanism
US8583854B2 (en) Nonvolatile storage device with NCQ supported and writing method for a nonvolatile storage device
KR102384773B1 (ko) 스토리지 장치, 컴퓨팅 시스템, 그리고 그것의 디버깅 방법
US10572391B2 (en) Methods and apparatus for implementing a logical to physical address mapping in a solid state drive
CN105893275A (zh) 缓存及读取即将写入储存单元的数据的方法以及使用该方法的装置
US20110055457A1 (en) Method for giving program commands to flash memory, and controller and storage system using the same
US8732385B2 (en) Non-volatile memory, controller controlling next access
CN108628543B (zh) 垃圾回收方法以及使用该方法的装置
CN111045593B (zh) 用来进行读取加速的方法以及数据存储装置及其控制器
US8996794B2 (en) Flash memory controller
US8266371B2 (en) Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
CN105528299B (zh) 读取命令排程方法以及使用该方法的装置
CN111399750B (zh) 闪存数据写入方法及计算机可读取存储介质
CN113377695B (zh) 读写分离的固态存储设备的数据分布方法
CN107797755B (zh) 固态硬盘系统的原子写入方法以及使用该方法的装置
CN108628754A (zh) 一般及垃圾回收的数据存取方法以及使用该方法的装置
CN116257460B (zh) 基于固态硬盘的Trim命令处理方法及固态硬盘
CN112256203B (zh) Flash存储器的写入方法、装置、设备、介质及系统
US9152348B2 (en) Data transmitting method, memory controller and data transmitting system
TWI792534B (zh) 以局部清理操作來進行垃圾回收的方法與相關控制器和儲存系統
CN111767007A (zh) 用于闪存的写入管理机制
TWI544335B (zh) 資料儲存裝置以及快閃記憶體控制方法
CN113778317A (zh) 计算机可读取存储介质、调度主机命令的方法及装置
CN109598814A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181102