CN101529370B - 用于快闪存储器的优先化擦除的装置和方法 - Google Patents
用于快闪存储器的优先化擦除的装置和方法 Download PDFInfo
- Publication number
- CN101529370B CN101529370B CN2007800385498A CN200780038549A CN101529370B CN 101529370 B CN101529370 B CN 101529370B CN 2007800385498 A CN2007800385498 A CN 2007800385498A CN 200780038549 A CN200780038549 A CN 200780038549A CN 101529370 B CN101529370 B CN 101529370B
- Authority
- CN
- China
- Prior art keywords
- data
- erasure
- piece
- priority
- flash cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- 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/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
一种具有优先化擦除能力的存储装置和方法,包括:用于存储数据的存储器,该存储器具有至少一个快闪单元,其中每一个快闪单元都具有多个块;以及控制器,被配置为:将该数据写入到该多个块中;给每一个块分配擦除优先级,其中该擦除优先级与该数据的擦除优先级相关;以及在接收到紧急擦除命令时根据每一个块的该擦除优先级擦除每一个块中的数据。优选地,该控制器被配置为在第一快闪单元中以任意顺序执行到该多个块中的数据的写入,并且与在第一快闪单元中的该顺序相关地执行到随后的快闪单元中的写入。优选地,该擦除的步骤包括:在完成该擦除之前对于该多个块中的至少一些块中止擦除。
Description
技术领域
本发明涉及一种装置,其用于以如下方式管理存储装置中数据的存储和擦除,所述方式是在擦除重要性较低的数据之前擦除重要性较高的数据。
擦除存储装置中的数据的需求在计算机工程领域中是公知的,并且通常以以下两种可选的需求作为动机:
(1)为新数据清理空间的需求;以及
(2)为具有安全区域的存储装置消除机密信息的需求。
尽管第一原因不具有紧迫性,然而在危急情形中第二原因是至关重要的。在决定擦除数据与在存储装置上失去控制之间的“时间窗口”可以非常得短。通常,可用于擦除存储装置的时间短于完全擦除整个存储装置所需的时间。不幸的是,现有技术没有教导组织擦除过程以使得在擦除重要性较低的数据之前擦除重要性较高的数据的方法。
将期望具有这样的装置,该装置用于确保在需要进行重要擦除时首先擦除最重要的数据。这样的优先化擦除过程将会在时间关键性的情形中提供最佳选择的解决方案。
发明内容
本发明的目的是,提供以如下方式管理存储装置中数据的存储和擦除的装置,所述方式为在擦除重要性较低的数据之前擦除重要性较高的数据。
出于清楚的目的,接下来具体定义在这里所使用的几个术语。在这里使用术语“擦除过程”表示如下电子过程,通过该电子过程以如下方式使块的内容无效:(1)将该块的所有单元都设置为相同的逻辑值,或者(2)使该块的所有单元的内容随机化。在这里使用术语“优先化(prioritized)擦除”表示如下擦除过程,即,在该擦除过程中根据擦除优先级协议来擦除存储器的各部分。在这里使用术语“块”表示快闪存储器存储装置的物理部分。在这里使用术语“净化(sanitized)擦除”表示如下擦除过程,通过该擦除过程,数字存储器的内容被消除以使得该内容不能被任何法院的(forensic)方法恢复。这样的净化擦除与普通的擦除过程相反,所述普通的擦除过程使得内容对于普通的读取命令是无效的,但是不能防止其被高级的技术手段恢复。术语“快闪单元”在这里被用来表示快闪存储器装置中的快闪存储器的一部分。
本发明适用于单级单元(single-level-cell,SLC)快闪存储器和多级单元(multi-level-cell,MLC)快闪存储器。虽然随后的讨论主要集中在SLC单元,但是本领域技术人员将很清楚本发明如何应用到MLC单元(以及通常应用到其它非易失性存储装置)。术语“擦”、“擦除”和“写入”在这里被用来表示设置存储单元的阈值电压,其中对于SLC单元,擦和擦除典型地将该电压设置为对应于逻辑值1,而写入典型地将该电压设置为对应于逻辑值0。术语“写入”和“编程”在这里可互换使用。本发明特别适用于一次被读取和编程一页的NAND型快闪存储器。
表1示出了本发明的三个替换实施例。
实施例 | 写入第一快闪单元 | 写入其它快闪单元 | 记录 | 紧急擦除 | 注释 |
1 | 任意的 | 任意的 | 所有高擦除优先级位置 | 根据日志 | 在写入时最简单的块分配 |
2 | 指定的 | 指定的 | N/A | 根据指定 | 最有效的紧急擦除 |
3 | 任意的 | 与第一快闪单元对准的 | 仅仅第一快闪单元 | 根据日志 | 在实施例1和2之间优化的性能 |
表1.本发明的三个替换实施例
在本发明的优选实施例中,以不对写入分配指定任何约束的任意方式将数据存储在快闪存储器中,如表1中的实施例1所示并且如下面所述。然而,记录了包含重要数据的所写入块的位置,并且根据这些记录来执行擦除。
在本发明的另一优选实施例中,以确保高擦除优先级数据的最快擦除的方式将数据存储在快闪单元中,如表1中的实施例2所示并且如下面所述。为了高擦除优先级的块而保留快闪单元的某些区域。在紧急情形中,在快闪单元的任何其它部分被擦除之前擦除所保留的区域。根据每一个块的擦除优先级来预先确定可用于写入数据的块的位置。
在本发明的另一优选实施例(如表1中的实施例3所示并且如下面所述)中,以结合实施例1和2的优点的方式将数据存储在快闪单元中。在实施例3中,与在实施例1中一样快地执行写入,并且与在实施例2中一样快地执行擦除。在实施例3中,以随机的顺序来执行第一快闪单元的写入(类似于实施例1),并且然后根据该第一快闪单元对准在剩余快闪单元中的高擦除优先级区域的位置。实施例3在写入第一快闪单元方面与实施例1一样快,并且在紧急擦除时与实施例2一样快。
能够使用至少三个不同的过程来实现快闪存储器的优先化擦除:
(1)普通的擦除命令,例如在可从韩国水原的三星电子公司购买的K9F1G08U0A快闪存储器的技术数据表中所描述的;
(2)净化擦除,例如在Koren等人的美国专利申请No.20040188710中所教导的;以及
(3)中断擦除,例如在下面详细描述的。
在本发明中所述的优先化擦除过程包括擦除顺序和擦除过程的选择。
因此,根据本发明,第一次提供了一种具有优先化擦除能力的非易失性存储装置,该装置包括:(a)存储器,用于在存储装置中存储数据,该存储器具有至少一个快闪单元,其中每一个快闪单元都具有多个块;以及(b)存储装置控制器,被配置为:(i)将数据写入到该多个块中;(ii)给每一个块分配擦除优先级,其中该擦除优先级与该数据的擦除优先级相关;以及(iii)在接收到紧急擦除命令时根据每一个块的擦除优先级擦除每一个块中的数据。
优选地,该控制器被配置为对任意选择的块执行该写入,并且根据该数据的该擦除优先级来执行该分配。
优选地,该控制器被配置为在该数据的写入之前执行该擦除优先级的分配,并且根据每一个块的擦除优先级来执行写入。
优选地,该控制器被配置为在第一快闪单元中以任意顺序执行到该多个块中的数据的写入,并且与在第一快闪单元中的所述顺序相关地执行到随后的快闪单元中的写入。
最优选地,该控制器进一步被配置为:(iv)给在每一个相应的快闪单元中具有共同的相对位置的块分配共同的擦除优先级。
优选地,该控制器进一步被配置为:(iv)存储用于每一个块的所述擦除优先级的日志;以及(v)在接收到该紧急擦除命令时根据存储在该日志中的该擦除优先级来擦除每一个块中的数据。
优选地,由所述控制器进行的擦除包括:在完成该擦除之前对该多个块中的至少一些块中止擦除。
根据本发明,第一次提供了一种具有优先化擦除能力的硬盘驱动器,该驱动器包括:(a)用于在该硬盘驱动器中存储数据的存储器,该存储器具有至少两个扇区;(b)用于给每一个扇区分配擦除优先级的机构,其中该擦除优先级与所述数据的擦除优先级相关;以及(c)用于根据每一个扇区的擦除优先级来擦除该扇区的机构。
从接下来的详细描述和实例中这些和另外的实施例将是显而易见的。
附图说明
在这里参考附图仅仅通过举例的方式来描述本发明,在附图中:
图1是根据本发明优选实施例的、使用优先化擦除过程的快闪存储器系统的简化示意性框图,该优先化擦除过程利用物理擦除片(erase-slice)来进行擦除;
图2是根据本发明优选实施例的、使用优先化擦除过程的快闪存储器系统的简化示意性框图,该优先化擦除过程利用逻辑擦除片来进行擦除;
图3是根据本发明优选实施例的优先化擦除过程的简化流程图。
具体实施方式
本发明涉及一种装置,用于以如下方式管理存储装置中数据的存储和擦除,所述方式为在擦除重要性较低的数据之前擦除重要性较高的数据。参考附随的描述和附图可以更好地理解根据本发明的、用于管理存储装置中数据的存储和擦除的原理和操作。
在上面的表1的实施例1中,写入处理是任意的,日志记录了块的各种擦除优先级等级的分配,并且根据该日志来执行擦除。
在上面的表1的实施例2中,根据为块的高擦除优先级等级所保留的分配来执行写入过程,并且根据该分配来执行擦除。
在上面的表1的实施例3中,与实施例1中的一样,任意地执行第一快闪单元的写入。然后这样的任意分配指定了在其余快闪单元中的分配,并且与实施例2中的一样地执行擦除。
现在参考附图,图1是根据本发明优选实施例的、使用优先化擦除过程的快闪存储器系统的简化示意性框图,该优先化擦除过程使用物理擦除片进行擦除。主机系统20被示出连接到快闪存储器装置22,该快闪存储器装置具有快闪控制器24和多个快闪单元26。
每一个快闪单元26都具有多个对于擦除能够被独立寻址的块28。用于快闪存储器盘驱动器的这样的结构在现有技术中是公知的,并且可以从以色列Kefar Saba的SanDisk IL有限公司购买的例如FFD-25-UATA-8192-A的元件中可以找到。
快闪单元26中的一些块28被选择来容纳高擦除优先级数据(如图1中的块H所示)。使块H的位置对于主机系统20的写入机构是已知的。写入机构典型地是快闪控制器24,但是也可以是主机系统20。写入机构随后将高擦除优先级的数据分配到块H。在快闪单元26中的其它块28被选择容纳中和低擦除优先级的数据(分别如图1中的块M和L所示)。同样使块M和L的位置对于主机系统20的写入机构是已知的。写入机构随后将较低擦除优先级的数据分配到块M和L。对于数据到块28的选择性分配,能够存在任意数目的擦除优先级等级。
在本发明的优选实施例中,一些块28被指定具有排除(excluded)的擦除优先级,其将所指定的块排除在优先化擦除过程之外(如图1中的块E所示)。可以将数据分配到在发生紧急擦除情形时不需要被擦除的块E。一旦需要紧急擦除快闪存储器装置22中的数据时,擦除机构就根据块28的指定擦除优先级来擦除块28,确保以正确的顺序来擦除数据。
“物理擦除片”是来自若干个快闪单元的块的集合,其中每一个所选的块都具有在其相应的快闪单元中的相同地址。如果在写入时分配块使得在每一个快闪单元中的所选擦除优先级块共享相同的地址,则能够通过物理擦除片来执行最优的优先化擦除。
物理擦除片30在图1中被示出为代表跨越若干个快闪单元26的块28的集合。虽然在图1中块H被示出作为物理擦除片30的一部分,但是物理擦除片30能够包括任意的块28的“片”。在本发明优选实施例中,同时执行物理擦除片30中的各块28的擦除。
在一些快闪存储器体系结构中,由于快闪存储器的异质结构,因此一些块的擦除比其它块的擦除更快。在图1所述的本实施例中,其中针对高擦除优先级的块被预先分配,优选地使用固有快速擦除的块用于分配给高擦除优先级数据。能够应用其中高擦除优先级数据驻留在快速擦除块中的协议。在这样的系统中,快速擦除块被选择容纳擦除优先级较高的数据。通过这样做,高擦除优先级数据将被更快地擦除。
在本实施例中应当注意,高擦除优先级块被随机地分配到快闪单元。因为在一个擦除周期期间擦除过程擦除每一个快闪单元中的一个块,因此可能出现这样的情况:在一些快闪单元中将存在剩余的要被擦除的块,而同时在其它快闪单元中所有的高擦除优先级块都已经被擦除了。这样的情形导致效率上的损失。擦除过程继续在每一个周期中擦除更小数量的块,直到在最后一个快闪单元中的最后一个高擦除优先级块被擦除。
图2是根据本发明优选实施例的、使用优先化擦除过程的快闪存储器系统的简化示意性框图,该优先化擦除过程使用逻辑擦除片进行擦除。在该实施例中,写入过程由与本发明无关的工程考虑来优化,并且在例如Gorobets的美国专利No.6,898,662中的快闪存储器装置结构的现有技术中被教导。
典型地,将不会一个快闪单元26接着另一个地通过连续的一组块28来执行写入,相反地,该写入是“均衡的”,其中在几个快闪单元26上并行地写入数据。在写入时,在每一个写入块28或者至少块H(即,其中写入了高擦除优先级数据的块)的擦除优先级的日志表(未示出)中进行记录。出于公开本发明的目的,假定存在三个级别的擦除优先级,并且假定大多数的块不具有任何擦除优先级(即,块E)。因此,不存在块E中的数据被留下没有被擦除的风险。
如在快闪存储器工程领域中已知的,当在擦除周期期间在每一个快闪单元中同时擦除块时,多单元快闪存储器装置的擦除是最高效的。然而,如果没有根据块的擦除优先级来预先安排块,则不能实现物理擦除片。在这样的情况下,可以执行“逻辑擦除片”。
“逻辑擦除片”是来自每一个快闪单元26的一个任意的、代表性的块28的集合(例如,图2中的块H、M或L)。本实施例利用这样的事实,即单个擦除周期能够在一次操作中擦除每一个快闪单元26中不同位置的块。通过提供每一个快闪单元26中的所选块28的地址并且随后将擦除命令应用到所有快闪单元26,能够同时擦除逻辑擦除片,其中在每一个快闪单元26中擦除了所选的块28。这样的过程提供了一种根据块28的相对的擦除优先级来擦除每一个快闪单元26中的块28的方式。
快闪存储器装置22能够在单个擦除周期中擦除物理擦除片或者逻辑擦除片。在图1中,数据被组织在对于以物理擦除片对块进行擦除是最佳的体系结构中。在图2中,数据被任意地组织;因此,不得不实施通过逻辑擦除片来擦除块的机制。
当需要紧急擦除快闪存储器装置22时,快闪控制器24检查日志表以找到每一个快闪单元26中的最高擦除优先级块。如图2所示,来自每一个快闪单元26的一组块H成为逻辑擦除片32。逻辑擦除片32被擦除,并且日志表被更新以反映这些块已经被擦除。请注意,不是所有的块H都以逻辑擦除片32被擦除,而是只有来自每一个快闪单元26的一个块H。随后快闪控制器24挑选每一个快闪单元26中的下一个最高擦除优先级的块(例如,块M)。来自每一个快闪单元26的一组块M成为被擦除的逻辑擦除片34,并且日志表再次被更新。该过程继续(例如,逻辑擦除片36和38)直到在任何快闪单元26中都不再存在高擦除优先级块。实际上,在逻辑擦除片32被擦除之后,所选择的下一个逻辑擦除片也可以仅仅包括块H。能够继续这样的过程直到块H不再位于日志表中,随后可以擦除逻辑擦除片34(即,块M),或者直到擦除过程被外部地停止。
图3是根据本发明优选实施例的优先化擦除过程的简化流程图。在从主机系统接收到紧急擦除命令时,快闪存储器装置的控制器开始优先化擦除过程(步骤40)。控制器检查是否存在要被擦除的擦除优先级块(步骤42)。如果不存在要被擦除的擦除优先级块,则优先化擦除过程结束(步骤44)。如果存在要被擦除的擦除优先级块,则控制器检查是否存在任何被留下来待检验的快闪单元(步骤46)。如果仍然存在要被检验的快闪单元,则控制器寻找下一个快闪单元中的最高擦除优先级块(步骤48),并且继续将该块添加到当前的逻辑擦除片(步骤50)。随后,控制器再次检查是否存在任何被留下来待检验的快闪单元(步骤46)。一旦所有的快闪单元都已经被检验过,则擦除当前的逻辑擦除片(步骤52),包含在该逻辑擦除片中的所有的块被并行地擦除。随后日志表被相应地更新(步骤54)。
在本发明的优选实施例中,使用“中断擦除”周期取代“全擦除”周期。全擦除周期是花费相对长的时间(典型地,2.5毫秒)的擦除过程,并且确保擦除是“干净的”,其意思是存储器块的所有的位都已经被设置为逻辑1。如果该擦除过程变短,则存在如下风险,即某些位将没有被设置为逻辑1。当必须擦除具有数千个块的快闪存储器,并且使用全擦除周期来擦除每一个块时,总的擦除时间可能会花费几十秒。在紧急情形中,存在这样的风险,即擦除过程将在所有的块都被擦除之前就被打断。
能够通过致力于使2.5ms周期的一小部分用于擦除一个块来更高效地使用紧急擦除时间,使得能够在2.5ms中擦除更多的块。典型地,在已经执行了小于50%的全擦除周期之后大多数的位失去了它们原来的逻辑状态。剩下的没有被完全擦除的位的数量是如此之少,以致于致使该信息实际上无效。因此,优选地使用50%的全擦除周期时间来擦除两倍的块的量,而不是使用全擦除周期时间来擦除50%的块。显然,通过使用工程考虑和关于对优先化擦除过程的总的可用时间的假定,能够将中断擦除周期的持续时间确定设置在标称全擦除周期的0%到100%之间的任何位置。
实现中断擦除周期的一种可能的方法是利用这样的事实,即快闪存储器(对于NOR型和NAND型快闪存储器两者)虽然在擦除周期期间“看不见(blind)”许多命令,但是会响应于特殊的“中止”命令,例如:
(1)在NOR型快闪存储器中的“重置”命令,例如在如下中所述的:
http://www.samsung.com/Products/Semiconductor/MCP/NOR b ased/K5L5628JBM/K5L5628JBM.htm;
(2)在NOR型快闪存储器中的“暂停擦除”命令,例如在如下中所述的:http://www.electronicstalk.com/news/sor/sor100.html;以及
(3)在NAND型快闪存储器中的“重置”命令,例如在如下中的三星K9F1G08U0A 的数据表中所述的:http://www.samsung.com/Products/Semiconductor/NANDFlash/SLC LargeBlock/1Gbit/K9F1G08U0A/ds k9f1g08x0a rev10.pdf。
三星K9F1G08U0A的数据表陈述了“该装置提供了重置特性,其通过将FFh写入到命令寄存器来执行。当在随机读取、编程或擦除模式期间该装置处于Busy状态时,重置操作将中止这些操作。”
这些命令比全擦除周期短得多(在NAND型快闪存储器中,重置命令最多花费0.5ms而全擦除周期花费2.5ms)。当全擦除周期被中止时,存储器被留在对于任何目的都无用的随机状态中。优选地使用5ms的间隔来开始五个全擦除周期并且每一次都在0.5ms之后中止该周期(使用五个重置命令,每一个命令耗用0.5ms),而不是执行两个完整的全擦除周期。两种可替代方案都耗用了全部5ms的间隔。
在本发明的优选实施例(如表1中的实施例3所示)中,能够以任意的方式来实现第一快闪单元的写入,记录接收了较高擦除优先级数据的块。当对第一快闪单元进行写入时,以与第一快闪单元的顺序相关的顺序来写入随后的快闪单元。典型地,随后的快闪单元与第一快闪单元的高擦除优先级块对准,使得在所有的快闪单元中具有相同(或相关)地址的块都接收具有相同擦除优先级的数据。这使系统能够通过并行地擦除具有相同地址的块来擦除高擦除优先级的数据,而不必须经历逻辑擦除片的构造(如上所述并且如图2所示)。
应当注意,针对高擦除优先级数据使用快速擦除的块和在共同的物理擦除片中对准高擦除优先级数据不是相矛盾的协议,并且能够优选地被一起实现。在高擦除优先级块被存储在快闪单元的“较快部分”中时,该块以随机的顺序被存储在第一快闪单元中。这个随机的顺序指定了所有其它快闪单元的顺序,致使高擦除优先级数据驻留于共同的物理擦除片中。
应当注意,虽然在逻辑擦除片中的擦除和在物理擦除片中的擦除可能导致相同顺序的擦除(并且因此,导致相同水平的优化),但是物理擦除片:(1)更易于实现,并且(2)与使用逻辑擦除片的实现方案相比需要更少的管理和管理数据的存储。因此,使用物理擦除片的实现方案是优选的。
应当注意,硬盘驱动器是本发明所覆盖的存储装置的一个典型实例。在任何情况下,本发明都并不仅仅限于快闪存储器存储装置,并且应用于且意图覆盖其特征在于下列特性的至少一些特征的任何存储系统:
(1)存储装置被划分为许多子单元,每一个子单元都能够被单独擦除;
(2)子单元的擦除时间是相对长的过程;
(3)子单元的完全擦除比中止擦除要花费长得多的时间量;以及
(4)存储装置控制器具有将数据存储在任何子单元中的灵活性。
虽然已经就有限数量的实施例来描述了本发明,但是应当明白,可以进行许多变化、修改和本发明的其它应用。
Claims (18)
1.一种具有优先化擦除能力的非易失性存储装置,该装置包含:
存储器,用于在存储装置中存储数据,所述存储器具有多个快闪单元,其中每一个快闪单元都具有多个块;以及
存储装置控制器,与所述存储器通信,被配置为将数据写入到不同快闪单元的多个块中,在所述存储装置控制器中存储有日志表,所述日志表记录每个块中的数据的擦除优先级,所述存储装置控制器将数据的擦除优先级分配给其中存储有所述数据的相应块,其中响应于擦除命令,所述存储装置控制器基于所述分配部分地擦除每个块中的所述数据。
2.根据权利要求1的装置,其中所述控制器被配置为在多个快闪单元上并行地写入数据。
3.根据权利要求1的装置,其中通过分配全擦除周期的一部分,所述控制器部分地擦除所述数据。
4.根据权利要求1的装置,其中所述控制器被配置为在第一快闪单元中以任意顺序执行所述数据的所述写入,并且与所述第一快闪单元中的所述顺序相关地执行到随后的快闪单元中的所述写入。
5.根据权利要求1的装置,其中所述控制器进一步被配置为:
在将数据写入相应的块之后,分配所述擦除优先级。
6.根据权利要求3的装置,其中所述全擦除周期的一部分为约50%。
7.根据权利要求1的装置,其中所述存储器为NOR型存储器或NAND型存储器之一。
8.一种具有优先化擦除能力的硬盘驱动器,该驱动器包含:
存储器,用于在该硬盘驱动器中存储数据,所述存储器具有多个扇区;
存储装置控制器,与所述存储器通信,存储装置控制器被配置为将数据写入到所述多个扇区中,在所述存储装置控制器中存储有日志表,所述日志表记录每个扇区中的数据的擦除优先级,所述存储装置控制器将数据的擦除优先级分配给其中存储有所述数据的相应扇区,其中响应于擦除命令,所述存储装置控制器基于所述分配部分地擦除每个扇区中的所述数据。
9.根据权利要求8的硬盘驱动器,其中通过分配全擦除周期的一部分,所述控制器部分地擦除所述数据。
10.一种用于非易失性存储装置的优先化擦除的方法,该方法包含以下步骤:
提供在该存储装置内的多个快闪单元,其中每一个快闪单元都具有多个块;
将数据并行写入到不同快闪单元的块中,其中向数据分配擦除优先级;
在日志表中记录每一个块中的数据的擦除优先级的日志;
接收擦除命令;
产生标识每一快闪单元内要擦除的块之一的逻辑擦除片;以及
并行地擦除所述逻辑擦除片的每一个块中的所述数据。
11.根据权利要求10的方法,其中对任意选择的块执行所述写入。
12.根据权利要求10的方法,其中根据每一个块的所述擦除优先级来执行所述写入。
13.根据权利要求10的方法,其中在第一快闪单元中以任意顺序执行所述写入,并且与所述第一快闪单元中的所述顺序相关地执行到随后的快闪单元中的写入。
14.根据权利要求10的方法,其中在所述写入之后所述块被分配所述数据的擦除优先级。
15.如权利要求10所述的方法,其中块的擦除时间是对于该块将该块中的数据完全擦除所需的擦除时间的一部分。
16.根据权利要求10的方法,其中所述擦除包括:在完成一个块内的全部数据的擦除之前中止擦除。
17.一种用于硬盘驱动器的优先化擦除的方法,该方法包含以下步骤:
提供该硬盘驱动器的多个扇区;
将数据并行写入到所述多个扇区中,其中向所述数据分配擦除优先级;
在日志表中记录每一个块中的数据的擦除优先级的日志;
接收擦除命令
产生标识所述硬盘驱动器内要擦除的扇区的逻辑擦除片;以及
擦除每一个扇区中的所述数据。
18.根据权利要求17的方法,其中所述擦除包括:在完成一个块内的全部数据的擦除之前中止擦除。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US82445206P | 2006-09-04 | 2006-09-04 | |
US60/824,452 | 2006-09-04 | ||
US11/797,377 | 2007-05-03 | ||
US11/797,378 | 2007-05-03 | ||
US11/797,377 US8117414B2 (en) | 2006-09-04 | 2007-05-03 | Method for prioritized erasure of flash memory |
US11/797,378 US7975119B2 (en) | 2006-09-04 | 2007-05-03 | Device for prioritized erasure of flash memory |
PCT/IL2007/001081 WO2008029389A1 (en) | 2006-09-04 | 2007-09-02 | Device and method for prioritized erasure of flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101529370A CN101529370A (zh) | 2009-09-09 |
CN101529370B true CN101529370B (zh) | 2012-02-22 |
Family
ID=38917809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800385498A Active CN101529370B (zh) | 2006-09-04 | 2007-09-02 | 用于快闪存储器的优先化擦除的装置和方法 |
Country Status (5)
Country | Link |
---|---|
JP (2) | JP5065395B2 (zh) |
KR (1) | KR101429898B1 (zh) |
CN (1) | CN101529370B (zh) |
TW (1) | TWI375227B (zh) |
WO (1) | WO2008029389A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5338306B2 (ja) * | 2008-12-26 | 2013-11-13 | 富士通株式会社 | データ記憶装置およびデータ記憶装置におけるデータ管理方法 |
US8572344B2 (en) | 2009-05-04 | 2013-10-29 | Hewlett-Packard Development Company, L.P. | Storage device erase command having a control field controllable by a requestor device |
WO2012079216A1 (en) * | 2010-12-13 | 2012-06-21 | Mediatek Singapore Pte. Ltd. | Nor flash memory controller |
TWI423023B (zh) | 2011-04-22 | 2014-01-11 | Silicon Motion Inc | 快閃記憶體之區塊選取方法及資料儲存裝置 |
JP6107286B2 (ja) * | 2013-03-25 | 2017-04-05 | 日本電気株式会社 | 分散ストレージシステム、ノード、データ管理方法、及びプログラム |
JP6253009B2 (ja) * | 2013-08-28 | 2017-12-27 | 東海光学株式会社 | 光学製品及び眼鏡レンズ |
KR20150116352A (ko) | 2014-04-07 | 2015-10-15 | 삼성전자주식회사 | 메모리 제어 방법 및 시스템 |
US20160188890A1 (en) * | 2014-12-26 | 2016-06-30 | Intel Corporation | Security mode data protection |
US20170344295A1 (en) * | 2016-05-31 | 2017-11-30 | Sandisk Technologies Llc | System and method for fast secure destruction or erase of data in a non-volatile memory |
US9633738B1 (en) * | 2016-06-28 | 2017-04-25 | Sandisk Technologies Llc | Accelerated physical secure erase |
CN106339324B (zh) * | 2016-08-19 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
CN107463341A (zh) * | 2017-08-25 | 2017-12-12 | 上海闻泰电子科技有限公司 | Flash芯片的擦除方法、装置和移动终端 |
CN109817271A (zh) * | 2018-11-21 | 2019-05-28 | 中国航空工业集团公司洛阳电光设备研究所 | 一种固态硬盘坏块的检测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2168322Y (zh) * | 1993-02-22 | 1994-06-08 | 傅忠民 | 可擦可编程序存储器仿真装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3359942B2 (ja) * | 1992-10-29 | 2002-12-24 | 株式会社東芝 | メモリカード装置 |
GB2317722B (en) * | 1996-09-30 | 2001-07-18 | Nokia Mobile Phones Ltd | Memory device |
US7003621B2 (en) * | 2003-03-25 | 2006-02-21 | M-System Flash Disk Pioneers Ltd. | Methods of sanitizing a flash-based data storage device |
JP3978410B2 (ja) * | 2003-06-03 | 2007-09-19 | 株式会社リコー | 画像制御装置、画像形成装置、画像制御方法、画像制御プログラム及び記録媒体 |
JP2006155159A (ja) * | 2004-11-29 | 2006-06-15 | Fuji Electric Holdings Co Ltd | 耐タンパ装置 |
-
2007
- 2007-09-02 WO PCT/IL2007/001081 patent/WO2008029389A1/en active Application Filing
- 2007-09-02 CN CN2007800385498A patent/CN101529370B/zh active Active
- 2007-09-02 JP JP2009527279A patent/JP5065395B2/ja not_active Expired - Fee Related
- 2007-09-02 KR KR1020097004581A patent/KR101429898B1/ko active IP Right Grant
- 2007-09-03 TW TW096132772A patent/TWI375227B/zh not_active IP Right Cessation
-
2012
- 2012-06-22 JP JP2012141348A patent/JP5486047B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2168322Y (zh) * | 1993-02-22 | 1994-06-08 | 傅忠民 | 可擦可编程序存储器仿真装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2012216234A (ja) | 2012-11-08 |
JP2010503103A (ja) | 2010-01-28 |
KR20090047513A (ko) | 2009-05-12 |
TWI375227B (en) | 2012-10-21 |
JP5486047B2 (ja) | 2014-05-07 |
CN101529370A (zh) | 2009-09-09 |
TW200822124A (en) | 2008-05-16 |
WO2008029389A1 (en) | 2008-03-13 |
JP5065395B2 (ja) | 2012-10-31 |
KR101429898B1 (ko) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101529370B (zh) | 用于快闪存储器的优先化擦除的装置和方法 | |
US20200167083A1 (en) | Techniques for controlling recycling of blocks of memory | |
US7975119B2 (en) | Device for prioritized erasure of flash memory | |
US10296231B2 (en) | Data-storage device and data maintenance method thereof | |
CN102713866B (zh) | 减少基于闪存的存储系统中的存取争用 | |
US9720820B2 (en) | Data storage device and flash memory control method | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
EP2920698B1 (en) | Methods and devices for avoiding lower page corruption in data storage devices | |
EP2227740B1 (en) | Method and system for balancing host write operations and cache flushing | |
US8261009B2 (en) | Method and apparatus for retroactive adaptation of data location | |
KR100975164B1 (ko) | 비휘발성 메모리 시스템에 대한 내부 보수 스케줄 요청 | |
US20150261671A1 (en) | Garbage collection method for flash memory | |
CN105487986A (zh) | 考虑总字节写入需求时设置高速缓冲存储器的大小 | |
US20080294813A1 (en) | Managing Housekeeping Operations in Flash Memory | |
US20080294814A1 (en) | Flash Memory System with Management of Housekeeping Operations | |
US8117414B2 (en) | Method for prioritized erasure of flash memory | |
US20090013139A1 (en) | Apparatus and method to prevent data loss in nonvolatile memory | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
WO2001084321A1 (en) | Method, system and computer program for data management on storage medium | |
WO2008147752A1 (en) | Managing housekeeping operations in flash memory | |
JP7095568B2 (ja) | メモリコントローラ及びこれを備えるフラッシュメモリシステム | |
JP5343817B2 (ja) | 記憶装置 | |
CN115346592A (zh) | 存储装置 | |
KR102445057B1 (ko) | 낸드 플래시 메모리에서 개인 정보 폐기 방법 | |
US8200611B2 (en) | File system and data management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Israel Kfar Saba Patentee after: Western data Israel Limited Address before: Israel Kfar Saba Patentee before: SanDisk IL Ltd. |
|
CP01 | Change in the name or title of a patent holder |