CN102385902A - 固态储存装置及其数据控制方法 - Google Patents
固态储存装置及其数据控制方法 Download PDFInfo
- Publication number
- CN102385902A CN102385902A CN2010102713359A CN201010271335A CN102385902A CN 102385902 A CN102385902 A CN 102385902A CN 2010102713359 A CN2010102713359 A CN 2010102713359A CN 201010271335 A CN201010271335 A CN 201010271335A CN 102385902 A CN102385902 A CN 102385902A
- Authority
- CN
- China
- Prior art keywords
- block
- data
- time
- flash memory
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明披露了一种固态储存装置及其数据控制方法。该固态储存装置,包括:一闪速存储器,包括多个区块,每一该区块中包括多个页;以及一控制单元连接至该闪速存储器,当该控制单元擦除或者写入数据至这些区块时,该控制单元提供每一该区块一时间参数,使得该控制单元可根据该时间参数来执行一数据遗失保护操作、一平均擦写区块操作或者一垃圾搜集操作。
Description
技术领域
本发明涉及一种固态储存装置,特别是涉及一种固态储存装置的数据控制方法。
背景技术
众所周知,固态储存装置(Solid State Drive,SSD)使用与非门闪速存储器(NAND flash memory)为主要存储元件,而此类的闪速存储器为一种非易失性(non-volatile)的存储器元件。也就是说,当数据写入闪速存储器后,一旦系统电源关闭,数据仍保存在闪速存储器中。
请参照图1,其示出了现有固态储存装置的示意图。固态储存装置10中包括一控制单元101与一闪速存储器105。控制单元101与闪速存储器105之间利用一内部总线107进行数据的存取,而控制单元101利用一外部总线20与主机(host)12之间进行指令与数据的传递。其中,外部总线20可为USB总线、IEEE 1394总线或SATA总线等等。
一般来说,闪速存储器中105包括许多区块(block),而每个区块中还包括多个页(page)或称为段(sector)。例如,一个区块中有64页,而每个页的容量为4K bytes。再者,由于闪速存储器105的特性,每次数据写入是以页为最小单位,而每次擦除(erase)时需以区块为单位进行数据擦除。
由于闪速存储器105中每个区块的擦除次数有限,因而发展出一种平均擦写区块操作(wear leveling)。平均擦写区块操作是平均地使用闪速存储器105中的每个区块,避免特定区块使用过度(擦除次数过多)而造成坏区块(bad block)而无法使用,并且延长闪速存储器的寿命。
为了实现平均擦写区块操作,现有的固态储存装置10是利用控制单元101检测闪速存储器105中每个区块的擦除次数(erase count),并将擦除次数较少的区块与擦除次数较多的区块进行数据交换。
再者,闪速存储器105中的数据经过多次的读写运作之后,每个区块中会包括有效页(valid page)以及无效页(invalid page)。有效页中的数据将会再次被读取,而无效页中的数据将不再被利用。
由于闪速存储器105是以区块为单位进行擦除,因此控制单元101不可擦除包含有效页的区块。而为了要有效管理每个区块的数据,因而发展出一种垃圾搜集操作(garbage collection)。垃圾搜集操作是搜集旧区块中的有效页,并将有效页重新写入另一个新区块,当有效页被搜集完成后,旧区块即可进行擦除操作,使得旧区块可以再次被擦除并且重新被利用。通常,控制单元101会优先搜集擦除次数较小的旧区块,并且确认有效页的数目已经低于一阈值后,再进行垃圾搜集操作。
由上述的描述可知,现有的固态储存装置10中的控制单元101皆需检测每个区块的擦除次数,根据每个区块的擦除次数来作为索引(index),并利用此索引来决定此区块是否进行平均擦写区块操作或者垃圾搜集操作。
再者,由于半导体工艺不断地缩小下,闪速存储器105中每个存储单元(memory cell)的尺寸也减小至30nm的等级。因此,现今的闪速存储器105于数据写入完成并经过一段时间周期之后,这些存储单元中所记录的数据很可能就会消失。而上述的一段时间周期已经短到3个月以下了。
发明内容
本发明的目的是提出一种固态储存装置的数据控制方法。本发明的数据控制方法是利用一时间参数为索引,进行数据遗失保护操作,将可能会遗失的数据重新移动至新的区块,使得数据不会遗失。再者,本发明还可以利用时间参数来作为索引,并据以进行平均擦写区块操作以及垃圾搜集操作。
因此,本发明是提出一种固态储存装置,包括:一闪速存储器,包括多个区块,每一该区块中包括多个页;以及一控制单元连接至该闪速存储器,当该控制单元擦除或者写入数据至这些区块时,该控制单元提供每一该区块一时间参数,使得该控制单元可根据该时间参数来执行一数据遗失保护操作、一平均擦写区块操作或者一垃圾搜集操作。
再者,本发明提出一种闪速存储器的数据控制方法,该闪速存储器具有多个区块且每一该区块中包括多个页,该数据控制方法包括下列步骤:于擦除或者写入数据至这些区块时,提供每一该区块一时间参数;以及根据该时间参数来执行一数据遗失保护操作、一平均擦写区块操作或者一垃圾搜集操作。
附图说明
图1示出了现有固态储存装置的示意图。
图2示出了本发明固态储存装置的示意图。
图3示出了本发明利用时间参数进行区块数据的遗失保护流程。
图4示出了本发明利用时间参数进行平均擦写区块操作流程。
图5示出了本发明利用时间参数进行垃圾搜集操作流程。
附图符号说明
本发明附图中所包含的各元件列示如下:
10固态储存装置 12主机
20外部总线 101控制单元
105闪速存储器 107内部总线
50固态储存装置 52主机
60外部总线 501控制单元
503即时时钟元件 505闪速存储器
507内部总线
具体实施方式
请参照图2,其示出了本发明固态储存装置的示意图。固态储存装置50中包括一控制单元501与一闪速存储器505。控制单元501与闪速存储器505之间利用一内部总线507进行数据的存取,而控制单元501利用一外部总线60与主机(host)52之间进行指令与数据的传递。再者,本发明于固态储存装置中加入一即时时钟(real time clock,简称RTC)元件503,即时时钟元件503可输出一时间信号T给控制单元501。再者,外部总线60可为USB总线、IEEE 1394总线或SATA总线等等。
根据本发明的实施例,控制单元501建立一个时间参数,此时间参数就是即时时钟元件503产生的时间信号T,其包括年、月、日、时、分、秒的时间信息。很明显地,时间参数会不断地递增,且不会归零。并且,当闪速存储器505中任何一个区块被擦除数据(erase)或者写入数据时,此控制单元501会记录该区块相对应的时间参数。
控制单元501即根据每个区块所记录的时间参数以及现在的时间参数来进行数据遗失保护操作。由于闪速存储器505中的数据写入之后经过一段时间周期(例如三个月)后即会消失,因此控制单元501即根据现在的时间参数以及旧区块的时间参数之间的差异来决定旧区块的数据是否需要移动至新的区块。
请参照图3,其示出了本发明利用时间参数进行区块数据的遗失保护流程。
由于每个区块于擦除数据或者写入数据时,此控制单元501会记录该区块相对应的时间参数。因此,控制单元501根据即时的时间参数以及第一区块的第一时间参数计算出一第一时间周期(步骤S301)。接着,比较第一时间周期是否大于一预定时间周期(步骤S302),此预定时间周期可以预设为例如2.5个月。接着,当第一时间周期小于预定时间周期时,则代表第一区块内的数据还不会消失,因此不针对第一区块进行任何操作即结束此流程(步骤S304);反之,当第一时间周期大于预定时间周期时,则代表第一区块内的数据有消失的疑虑,因此将第一区块的数据写入第二区块(步骤S303)后,即完成数据遗失保护操作,并且结束此流程(步骤S304)。
很明显地,第一区块的数据已经写入第二区块,而第二区块所对应的时间参数为现在的时间参数,所以第二区块中的数据不会有消失的疑虑。而当第二区块的数据已经写入完成,第一区块中的数据属于无效数据,因此第一区块可进一步地进行数据擦除操作。
请参照图4,其示出了本发明利用时间参数进行平均擦写区块操作流程。由于每个区块于擦除数据或者写入数据时,此控制单元501会记录该区块相对应的时间参数。此外,在进行平均擦写区块操作时也可以额外参考区块的擦除次数,根据时间参数与擦除次数来进行平均擦写区块操作或仅利用时间参数进行平均擦写区块操作。在此实施例中为了方便说明,具有最小时间参数的区块也是擦除次数最少的区块,也就是说,最小时间参数所对应的区块可用来进行平均擦写区块操作。
如图4所示,当控制单元501决定将第三区块进行平均擦写区块操作时(步骤S401),控制单元501可在闪速存储器505中寻找具有最小时间参数的第四区块(步骤S402)。
再者,如步骤S403所示,当第四区块尚未写入任何数据(亦即,第四区块为擦除后的空白区块)时,则直接将第三区块中的数据写入第四区块即可完成平均擦写区块操作。而由于第三区块中的数据已属于无效数据,因此第三区块可进一步地进行数据擦除操作。
或者,如步骤S403所示,当第四区块中有写入数据时,则将第三区块中的数据与第四区块中的数据进行交换并完成平均擦写区块操作。
请参照图5,其示出了本发明利用时间参数进行垃圾搜集操作流程。由于每个区块于擦除数据或者写入数据时,此控制单元501会记录该区块相对应的时间参数。此外,在进行垃圾搜集操作时也可以额外参考区块的擦除次数,根据时间参数与擦除次数来进行垃圾搜集操作或仅利用时间参数进行垃圾搜集操作。在此实施例中为了方便说明,具有最小时间参数的区块也是擦除次数最少的区块,并且此区块中的有效页将会优先被进行垃圾搜集操作。
如图5所示,控制单元501决定闪速存储器505中具有最小时间参数的第五区块(步骤S501)。接着,判断第五区块中的有效页数目是否低于一阈值(步骤S502)。当第五区块中的有效页数目高于阈值时,代表第五区块不需进行垃圾搜集操作,因此结束此流程(步骤S504)。反之,当第五区块中的有效页数目低于阈值时,代表第五区块需进行垃圾搜集操作,因此将第五区块的有效页数据写入第六区块(步骤S503)后,即完成垃圾搜集操作,并且结束此流程(步骤S504)。
当第五区块完成垃圾搜集操作后,第五区块内的数据已属于无效数据,因此第五区块可进一步地进行数据擦除操作,并且再次被利用。
由上述说明可知,本发明利用每个区块相对应的时间参数作为索引,并据以执行数据遗失保护操作、平均擦写区块操作或者执行垃圾搜集操作。很明显地,本发明不需要将现有的擦除次数作为索引,即可执行平均擦写区块操作或者执行垃圾搜集操作。
再者,本发明也可以利用其他的方式获得时间参数,而不需要利用即时时钟元件503所提供的时间信号T。举例来说,当主机52写入一文件至固态储存装置50时,主机52会将当文件的信息一并提供至控制单元501。当然,此文件信息即包括文件的写入时间。而控制单元501即可撷取写入时间并作为时间参数。也就是说,当主机52与固态储存装置50之间利用外部总线60写入一文件时,控制单元501即根据此文件中的写入时间来作为时间参数,并且开始往后计时。因此,每个区块于擦除数据或者写入数据时,控制单元501会记录该区块相对应的时间参数,并可据以执行数据遗失保护操作、平均擦写区块操作或者执行垃圾搜集操作。
或者,主机52与固态储存装置50之间可以设定一通信协定,使得主机52可以传送时间信号至固态储存装置。因此,控制单元501可以根据主机52输出的时间信号来获得时间参数,并往后计时时间参数。同时,可据以执行数据遗失保护操作、平均擦写区块操作或者执行垃圾搜集操作。
或者,如果控制单元501无法获得任何时间信号,控制单元501可以计数所有的闪速存储器505执行擦除操作的总次数。也就是说,闪速存储器中只要有一个区块被擦除,则时间参数自动递增1。因此,如果闪速存储器505中所有的区块总共被擦除了1千5百次,则时间参数即为1500。
而根据经验法则,假设与现在的时间参数相差200时,代表此区块已经过2.5个月了。因此,控制单元501即可根据现在的时间参数与区块上记录的时间参数进行比较。当差异超过200时,则该区块进行数据遗失保护操作。同理,区块记录最小的时间参数也可以据以执行平均擦写区块操作或者执行垃圾搜集操作。
本发明的优点是提出一种闪速存储器中的数据控制方法。其利用一时间参数为索引,并可据以进行数据遗失保护操作、平均擦写区块操作以及垃圾搜集操作。
本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,本领域的技术人员在不脱离本发明的精神和范围的前提下可做若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (16)
1.一种固态储存装置,包括:
一闪速存储器,包括多个区块,每一该区块中包括多个页;以及
一控制单元连接至该闪速存储器,当该控制单元擦除或者写入数据至该区块时,该控制单元提供每一该区块一时间参数,使得该控制单元可根据该时间参数来执行一数据遗失保护操作、一平均擦写区块操作或者一垃圾搜集操作。
2.如权利要求1所述的固态储存装置,还包括一即时时钟元件连接至该控制单元,用以提供一时间信号至该控制单元作为该时间参数。
3.如权利要求1所述的固态储存装置,其中该固态储存装置连接至一主机,并利用该主机写入一文件至该固态储存装置时,根据一文件信息撷取一时间信号作为该时间参数。
4.如权利要求1所述的固态储存装置,其中该固态储存装置还连接至一主机,并利用该主机输出一时间信号至该控制单元作为该时间参数。
5.如权利要求1所述的固态储存装置,其中该控制单元计数该闪速存储器中该区块被擦除的总次数作为该时间参数。
6.如权利要求1所述的固态储存装置,其中该数据遗失保护操作是根据一即时的时间参数以及一第一区块的一第一时间参数计算出一第一时间周期,当该第一时间周期大于一预定时间周期时,将该第一区块的数据写入一第二区块。
7.如权利要求1所述的固态储存装置,其中,于一第三区块需进行该平均擦写区块操作时,该控制单元在该闪速存储器中决定具有一最小时间参数的一第四区块,并将该第三区块的数据写入该第四区块中或者将该第三区块的数据与该第四区块的数据交换。
8.如权利要求1所述的固态储存装置,其中该垃圾搜集操作是利用该控制单元在该闪速存储器中决定具有一最小时间参数的一第五区块,并判断该第五区块中的多个有效页数目是否小于一阈值,当该有效页数目小于该阈值时,将该第五区块中的该有效页的数据写入一第六区块。
9.一种闪速存储器的数据控制方法,该闪速存储器具有多个区块且每一该区块中包括多个页,该数据控制方法包括下列步骤:
于擦除或者写入数据至该区块时,提供每一该区块一时间参数;以及
根据该时间参数来执行一数据遗失保护操作、一平均擦写区块操作或者一垃圾搜集操作。
10.如权利要求9所述的数据控制方法,其中该时间参数是根据一即时时钟元件提供的一时间信号所产生。
11.如权利要求9所述的数据控制方法,其中该闪速存储器连接至一主机,并利用该主机写入一文件至该闪速存储器时,根据一文件信息撷取一时间信号作为该时间参数。
12.如权利要求9所述的数据控制方法,其中该闪速存储器连接至一主机,并利用该主机输出的一时间信号作为该时间参数。
13.如权利要求9所述的数据控制方法,其中计数该闪速存储器中该区块被擦除的总次数作为该时间参数。
14.如权利要求9所述的数据控制方法,其中该数据遗失保护操作还包括下列步骤:
根据一即时的时间参数以及一第一区块的一第一时间参数计算出一第一时间周期;以及
当该第一时间周期大于一预定时间周期时,将该第一区块的数据写入一第二区块。
15.如权利要求9所述的数据控制方法,其中,于一第三区块需进行该平均擦写区块操作时,还包括下列步骤:
在该闪速存储器中决定具有一最小时间参数的一第四区块;以及
将该第三区块的数据写入该第四区块中或者将该第三区块的数据与该第四区块的数据交换。
16.如权利要求9所述的数据控制方法,其中该垃圾搜集操作还包括下列步骤:
在该闪速存储器中决定具有一最小时间参数的一第五区块;
判断该第五区块中的多个有效页数目是否小于一阈值;以及
于该有效页数目小于该阈值时,将该第五区块中的该有效页的数据写入一第六区块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102713359A CN102385902A (zh) | 2010-09-01 | 2010-09-01 | 固态储存装置及其数据控制方法 |
US12/951,384 US20120054414A1 (en) | 2010-09-01 | 2010-11-22 | Solid state drive and data control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102713359A CN102385902A (zh) | 2010-09-01 | 2010-09-01 | 固态储存装置及其数据控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102385902A true CN102385902A (zh) | 2012-03-21 |
Family
ID=45698662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102713359A Pending CN102385902A (zh) | 2010-09-01 | 2010-09-01 | 固态储存装置及其数据控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120054414A1 (zh) |
CN (1) | CN102385902A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373350A (zh) * | 2015-11-23 | 2016-03-02 | 联想(北京)有限公司 | 一种数据管理方法及装置 |
CN105892946A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 一种数据存储方法及电子设备 |
CN105934748A (zh) * | 2013-10-18 | 2016-09-07 | 桑迪士克科技有限责任公司 | 用于储存系统中的损耗均衡的偏置 |
CN107015915A (zh) * | 2015-10-28 | 2017-08-04 | 威盛电子股份有限公司 | 非易失性存储器装置及其控制方法 |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
CN108776627A (zh) * | 2018-05-29 | 2018-11-09 | 青岛海尔科技有限公司 | 一种数据存储方法、装置、读取方法及装置 |
CN108874309A (zh) * | 2018-05-25 | 2018-11-23 | 新华三技术有限公司 | 一种管理固态硬盘中物理块的方法和装置 |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762620B2 (en) | 2007-12-27 | 2014-06-24 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
US9058289B2 (en) | 2011-11-07 | 2015-06-16 | Sandisk Enterprise Ip Llc | Soft information generation for memory systems |
WO2013147894A1 (en) * | 2012-03-30 | 2013-10-03 | Intel Corporation | Solid state drive management in power loss recovery |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
TWI516922B (zh) * | 2014-03-12 | 2016-01-11 | 慧榮科技股份有限公司 | 資料儲存裝置及快閃記憶體零散資料收集方法 |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9336136B2 (en) | 2014-10-08 | 2016-05-10 | HGST Netherlands B.V. | Apparatus, systems, and methods for providing wear leveling in solid state devices |
US9798657B2 (en) * | 2014-10-15 | 2017-10-24 | Samsung Electronics Co., Ltd. | Data storage device including nonvolatile memory device and operating method thereof |
US9740425B2 (en) | 2014-12-16 | 2017-08-22 | Sandisk Technologies Llc | Tag-based wear leveling for a data storage device |
CN106802867B (zh) * | 2015-11-25 | 2020-12-01 | 建兴储存科技(广州)有限公司 | 固态储存装置及其数据编程方法 |
US10055351B1 (en) | 2016-06-29 | 2018-08-21 | EMC IP Holding Company LLC | Low-overhead index for a flash cache |
US10089025B1 (en) | 2016-06-29 | 2018-10-02 | EMC IP Holding Company LLC | Bloom filters in a flash memory |
US10261704B1 (en) | 2016-06-29 | 2019-04-16 | EMC IP Holding Company LLC | Linked lists in flash memory |
US10146438B1 (en) | 2016-06-29 | 2018-12-04 | EMC IP Holding Company LLC | Additive library for data structures in a flash memory |
US10331561B1 (en) | 2016-06-29 | 2019-06-25 | Emc Corporation | Systems and methods for rebuilding a cache index |
US10037164B1 (en) | 2016-06-29 | 2018-07-31 | EMC IP Holding Company LLC | Flash interface for processing datasets |
US10650885B2 (en) | 2017-03-07 | 2020-05-12 | Alibaba Group Holding Limited | Extending flash storage lifespan and data quality with data retention protection |
TWI681295B (zh) * | 2017-07-07 | 2020-01-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US10915444B2 (en) * | 2018-12-27 | 2021-02-09 | Micron Technology, Inc. | Garbage collection candidate selection using block overwrite rate |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN101477534A (zh) * | 2008-12-24 | 2009-07-08 | 北京中星微电子有限公司 | 用于实现快闪存储器均衡磨损的文件管理方法、管理装置 |
US20090228640A1 (en) * | 2008-03-07 | 2009-09-10 | Kabushiki Kaisha Toshiba | Information processing apparatus and non-volatile semiconductor memory drive |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100881669B1 (ko) * | 2006-12-18 | 2009-02-06 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치 |
WO2009072101A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
-
2010
- 2010-09-01 CN CN2010102713359A patent/CN102385902A/zh active Pending
- 2010-11-22 US US12/951,384 patent/US20120054414A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090228640A1 (en) * | 2008-03-07 | 2009-09-10 | Kabushiki Kaisha Toshiba | Information processing apparatus and non-volatile semiconductor memory drive |
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN101477534A (zh) * | 2008-12-24 | 2009-07-08 | 北京中星微电子有限公司 | 用于实现快闪存储器均衡磨损的文件管理方法、管理装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105934748B (zh) * | 2013-10-18 | 2019-03-01 | 桑迪士克科技有限责任公司 | 用于储存系统中的损耗均衡的偏置 |
CN105934748A (zh) * | 2013-10-18 | 2016-09-07 | 桑迪士克科技有限责任公司 | 用于储存系统中的损耗均衡的偏置 |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
CN107015915A (zh) * | 2015-10-28 | 2017-08-04 | 威盛电子股份有限公司 | 非易失性存储器装置及其控制方法 |
CN107015915B (zh) * | 2015-10-28 | 2019-07-26 | 威盛电子股份有限公司 | 非易失性存储器装置及其控制方法 |
CN105373350A (zh) * | 2015-11-23 | 2016-03-02 | 联想(北京)有限公司 | 一种数据管理方法及装置 |
CN105892946A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 一种数据存储方法及电子设备 |
CN108874309A (zh) * | 2018-05-25 | 2018-11-23 | 新华三技术有限公司 | 一种管理固态硬盘中物理块的方法和装置 |
CN108874309B (zh) * | 2018-05-25 | 2021-07-23 | 新华三技术有限公司 | 一种管理固态硬盘中物理块的方法和装置 |
CN108776627A (zh) * | 2018-05-29 | 2018-11-09 | 青岛海尔科技有限公司 | 一种数据存储方法、装置、读取方法及装置 |
CN108776627B (zh) * | 2018-05-29 | 2021-08-24 | 青岛海尔科技有限公司 | 一种数据存储方法、装置、读取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20120054414A1 (en) | 2012-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102385902A (zh) | 固态储存装置及其数据控制方法 | |
CN104424112B (zh) | 数据储存装置以及快闪存储器控制方法 | |
EP1739565A1 (en) | Storage system using flash memory | |
CN102163165B (zh) | 一种闪存错误预估模块及其预估方法 | |
TWI595492B (zh) | 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9274943B2 (en) | Storage unit management method, memory controller and memory storage device using the same | |
KR20150139112A (ko) | 가비지 컬렉션 유닛을 포함하는 메모리 시스템 및 동작 방법 | |
CN110989918B (zh) | 写入控制方法以及数据存储装置及其控制器 | |
TW201707002A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI495998B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
CN106775436B (zh) | 数据存取方法、存储器控制电路单元与存储器 | |
CN101419841A (zh) | 一种flash存储器擦写方法 | |
CN102063266A (zh) | 非易失存储器控制器与用于将当前数据写入非易失存储器的方法 | |
CN102955743A (zh) | 固态储存装置及其损耗平均控制方法 | |
CN102981783A (zh) | 一种基于Nand Flash的Cache加速方法 | |
CN102915770B (zh) | 降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器 | |
CN103279424A (zh) | 一种Nand Flash的坏列管理装置和方法 | |
CN104794063A (zh) | 一种具备电阻式存储器的固态储存装置的控制方法 | |
JP2006178923A (ja) | 記憶デバイスおよびホスト機器 | |
TW201730888A (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
CN102880432B (zh) | 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器 | |
CN108228093B (zh) | 使用后台介质扫描来监控存储器的方法和装置 | |
CN102880554A (zh) | 提高闪存芯片存储效率的方法、闪存存储系统及其控制器 | |
CN115114180A (zh) | 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120321 |