CN101278267A - 具有经调度回收操作的非易失性存储器 - Google Patents

具有经调度回收操作的非易失性存储器 Download PDF

Info

Publication number
CN101278267A
CN101278267A CNA2006800360852A CN200680036085A CN101278267A CN 101278267 A CN101278267 A CN 101278267A CN A2006800360852 A CNA2006800360852 A CN A2006800360852A CN 200680036085 A CN200680036085 A CN 200680036085A CN 101278267 A CN101278267 A CN 101278267A
Authority
CN
China
Prior art keywords
data
block
page
host
main frame
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
Application number
CNA2006800360852A
Other languages
English (en)
Other versions
CN101278267B (zh
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.)
Delphi International Operations Luxembourg SARL
Original Assignee
SanDisk Corp
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 SanDisk Corp filed Critical SanDisk Corp
Priority claimed from PCT/US2006/030166 external-priority patent/WO2007019198A2/en
Publication of CN101278267A publication Critical patent/CN101278267A/zh
Application granted granted Critical
Publication of CN101278267B publication Critical patent/CN101278267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/7202Allocation control and policies
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Abstract

在非易失性存储器阵列中,在出现经擦除区块的短缺之前发生的回收操作的调度避免了可能超过时间限制的延长的回收周期。存储器控制器使用关于存储在所述存储器阵列中的数据的信息来估计可被编程的额外主机数据和将执行的回收操作,并调度所述回收操作以使其均匀分布在写入操作之间,直到所述存储器为满为止。

Description

具有经调度回收操作的非易失性存储器
技术领域
本申请涉及一种管理具有区块擦除单位的非易失性存储器中的空间的方法及该存储器系统。
背景技术
本申请案涉及例如半导体快闪存储器的可重新编程的非易失性存储器系统的操作,且更具体地说,涉及所述存储器内可用空间的管理。本文引用的所有专利、专利申请案、文章和其它出版物、文档和事物出于所有目的在此以全文引用的方式并入本文中。
在早一代商业快闪存储器系统中,将矩形存储器单元阵列划分为大量单元群组,每一者存储标准磁盘驱动器扇区的数据量,即512个字节。每个群组中还通常包含例如16个字节的额外数据量,以存储错误校正码(ECC)和可能的与用户数据和/或其中存储用户数据的存储器单元群组相关的其它开销数据。每个此群组中的存储器单元是可共同擦除的最小数目的存储器单元。也就是说,在所述存储器系统中,擦除单位有效地是存储一个数据扇区和所包含的任何开销数据的大量存储器单元。此类型的存储器系统的实例描述于第5,602,987号和第6,426,893号美国专利中。需要在用数据对其再编程之前擦除存储器单元是快闪存储器的特性。
最常见以存储器卡或快闪驱动器的形式提供快闪存储器系统,所述存储器卡或快闪驱动器与例如个人计算机、相机等多种主机可移除地连接,但也可嵌入在这些主机系统内。当向存储器写入数据时,主机通常向存储器系统的连续虚拟地址空间内的扇区、群集或其它数据单位指派唯一的逻辑地址。类似于磁盘操作系统(DOS),主机向存储器系统的逻辑地址空间内的地址写入数据以及从其读取数据。存储器系统内的控制器将从主机接收的逻辑地址转译为实际存储数据的存储器阵列内的物理地址,且接着跟踪这些地址转译。存储器系统的数据存储容量至少与在为存储器系统界定的整个逻辑地址空间上可寻址的数据量一样大。
在较晚的几代快闪存储器系统中,擦除单位的大小增加到足够的存储器单元的区块以存储多个数据扇区。尽管与存储器系统连接的主机系统可以例如扇区的较小的最小单位来编程和读取数据,但大量扇区存储在快闪存储器的单个擦除单位中。常见的是区块内的一些数据扇区在主机更新或替换逻辑数据扇区时变过时。由于必须在可对区块中存储的任何数据进行覆写之前擦除整个区块,因此新的或更新的数据通常存储在已经擦除且具有用于数据的剩余容量的另一区块中。此过程清空了带有占据存储器内有价值的空间的过时数据的原始区块。但如果其中保留有任何有效数据,那么无法擦除所述区块。
因此,为了更好地利用存储器的存储容量,常常合并或收集有效部分区块数据量,这通过以下方式完成:将数据复制到经擦除的区块中使得这些复制的数据所来自的区块接着可经擦除且其整个存储容量可再使用。以此方式,可回收存储器内不含有有效数据的空间,使得其可用于存储数据。还期望对数据进行复制以便按区块内数据扇区的逻辑地址的次序对其进行分组,因为这增加读取数据并将读取的数据传送到主机的速度。如果这种数据复制的发生过于频繁,那么存储器系统的操作性能可能降级。在存储器的存储容量几乎与主机通过系统的逻辑地址空间可寻址的数据量没有差别的情况(典型情况)下,这尤其影响存储器系统的操作。在此情况下,在可执行主机编程命令之前可能需要进行数据合并或收集。因此编程时间增加。
在连续几代存储器系统中,区块的大小逐渐增加,以便增加给定半导体面积中可存储的数据位的数目。存储256个数据扇区和更多数据扇区的区块变得常见。另外,常常将不同阵列或子阵列的两个、四个或更多区块逻辑上链接在一起成为元区块,以便增加数据编程和读取时的并行性程度。与这种大容量操作单位一起出现的是有效地对其进行操作的挑战。
因此,需要对存储在非易失性存储器中的数据的改进管理。还需要一种有效地回收不含有效数据但当前不可用于存储新的有效数据的存储器空间的系统。还需要一种以对例如对主机数据进行编程的其它存储器操作具有极少不利影响或没有不利影响的方式实施回收操作的系统。
发明内容
在存储器用完经擦除区块之前回收存储器阵列中的空间可避免在编程主机数据时可能超过时间限制的严重延迟的风险。在存储器填充有主机数据时,以确保在存储器变满之前存储器不会用完经擦除区块的方式回收存储器阵列中的空间。可根据调度来执行回收,所述调度在存在经擦除区块的短缺之前较长时间开始回收。回收操作根据交错比率与主机数据的写入交错,使得回收操作散布在延长的周期中而不是在较长连续突发中完成。将交错比率计算为所有剩余主机写入与所有剩余回收写入的比率。
在基于文件的主机接口将存储器连接到主机的情况下,存储器控制器可具有关于存储在存储器阵列中的数据的准确且最新的信息,并可从可在存储器变满之前写入到存储器的额外主机数据量以及在存储器变满之前需要的回收量中估计适当的交错比率。通过将回收操作均匀散布在整个剩余时间中,实现恒定的主机数据编程速率。在具有基于扇区或其它接口的存储器中,主机可提供信息以允许进行所述估计,使得可类似地计算交错比率。
可在间隔处或当存在触发事件(例如,主机对一些存储数据的删除)时计算交错比率。因此,在适当时更新交错比率,使得所述比率适应于变化的环境。
可在不同模式中不同地管理回收。除了基于对将写入的主机数据和将完成的回收操作的估计的自适应回收以外,可存在最小回收模式,其中以某个低(或零)速率回收空间。通常,最小回收模式适用于与可回收空间相比存在足够的经擦除区块的情况。还可存在最大回收模式,其中以某个最大速率以交错方式回收空间。通常,最大回收模式适用于存在很少经擦除区块的情况(当存储器近似为满时通常发生的情形)。另外,可响应于主机命令以连续方式(非交错)完成回收。也可响应于主机命令禁止回收。
附图说明
图1示意性说明目前实施的主机和连接的非易失性存储器系统;
图2是用作图1的非易失性存储器的示范性快闪存储器系统的框图;
图3是可在图2的系统中使用的存储器单元阵列的代表电路图;
图4说明图2的系统的示范性物理存储器组织;
图5展示图4的物理存储器的一部分的扩展图;
图6展示图4和5的物理存储器的一部分的进一步扩展图;
图7说明主机与可重新编程的存储器系统之间的常见逻辑地址接口;
图8A和8B展示非易失性存储器中的垃圾收集的实例。
图9A和9B展示非易失性存储器中的垃圾收集的另一实例。
图10A和10B展示非易失性存储器中的压缩的实例。
图11A和11B展示非易失性存储器中的合并的实例。
图12说明主机应用程序对文件的删除,其中文件存储在使用图7的接口的非易失性存储器中。
图13展示可如何管理非易失性存储器中的空间的实例。
图14展示可如何管理非易失性存储器中的空间的另一实例。
图15展示交错的主机写入操作与垃圾收集操作。
图16展示具有到主机的基于文件的接口的非易失性存储器。
图17说明主机应用程序对文件的删除,其中文件存储在使用图16的接口的非易失性存储器中;
图18说明具有基于文件的接口的非易失性存储器中的空间管理的实例。
图19说明具有基于文件的接口的非易失性存储器中的空间管理的另一实例,此实例提供恒定的主机数据编程速率,直到存储器阵列为满为止。
图20展示具有基于文件的接口的非易失性存储器中的空间管理的另一实例,其具有适合响应于文件删除的自适应回收调度。
图21展示在三种模式中具有基于文件的接口的非易失性存储器中的空间管理的另一实例,所述三种模式为具有最小回收速率的初始模式、具有自适应调度回收速率的自适应模式以及具有最大回收速率的最终模式。
图22展示具有基于文件的接口的非易失性存储器中的空间管理的详细视图,其包含存储器阵列的处于各种条件的部分以及那些条件之间数据的可能转变。
图23A-23D展示存储器阵列的含有经历对应于图22那些转变的转变的数据的区块。
具体实施方式
相对于图1到图8描述当前快闪存储器系统和与主机装置的典型操作。在此系统中可实施本发明的各个方面。图1的主机系统1将数据存储到快闪存储器2中并从其中检索数据。尽管快闪存储器可嵌入在主机内,但将存储器2说明为较普遍形式的卡,其通过机械和电气连接器的配合部分3和4可移除地连接到主机。目前存在许多不同的市售的快闪存储器卡,实例是紧致快闪存储器(CF)、多媒体卡(MMC)、安全数字(SD)、小型SD、记忆棒、智能媒体和TransFlash卡。尽管这些卡中的每一者均具有根据其标准化规范的独特的机械和/或电气接口,但每一者中包含的快闪存储器是非常相似的。这些卡可从本申请案的受让人SanDisk公司购得。SanDisk还提供以Cruzer为商标的快闪驱动器线,其为小封装的手持存储器系统,所述系统具有用于通过插入主机的通用串行总线(USB)插座而与主机连接的USB插头。这些存储器卡和快闪驱动器中的每一者均包含与主机介接并控制其内快闪存储器的操作的控制器。
使用这些存储器卡和快闪驱动器的主机系统有许多且各式各样。它们包含个人计算机(PC)、膝上型和其它便携式计算机、蜂窝式电话、个人数字助理(PDA)、数字静态相机、数字电影相机和便携式音频播放器。主机通常包含用于一种或一种以上类型的存储器卡或快闪驱动器的内置插座,但其中一些需要能插入存储器卡的适配器。
就存储器2涉及到的范围而言,图1的主机系统1可被视为具有两个主要部分,由电路和软件的组合构成。它们是应用程序部分5以及与存储器2介接的驱动程序部分6。在例如个人计算机中,应用程序部分5可包含运行字处理、图形、控制或其它流行的应用程序软件的处理器。在相机、蜂窝式电话或其它主要专用于执行单一功能集合的主机系统中,应用程序部分5包含操作相机以拍摄和存储照片、操作蜂窝式电话以打电话和接电话等等的软件。
图1的存储器系统2包含快闪存储器7和电路8,电路8和与卡连接以用于来回传递数据的主机介接,且还控制存储器7。控制器8通常在数据编程和读取期间在主机1使用的数据的逻辑地址与存储器7的物理地址之间进行转换。
参看图2,其描述可用作图1的非易失性存储器2的典型快闪存储器系统的电路。系统控制器通常实施在单个集成电路芯片11上,其通过系统总线13与一个或一个以上集成电路存储器芯片并联连接,图2中展示单个这种存储器芯片15。所说明的特定总线13包含用于携载数据的单独一组导体17、用于存储器地址的一组导体19以及用于控制和状态信号的一组导体21。或者,单个一组导体可在这三个功能之间时间共享。此外,可采用系统总线的其它配置,例如2004年8月9日申请的标题为“Ring Bus Structure andIt′s Use in Flash Memory Systems”的第10/915,039号美国专利申请案中描述的环形总线。
典型的控制器芯片11具有其自身的内部总线23,内部总线23通过接口电路25与系统总线13介接。通常连接到总线的主要功能件是处理器27(例如微处理器或微控制器)、含有用于初始化(“引导”)系统的代码的只读存储器(ROM)29、主要用于对存储器与主机之间传送的数据进行缓冲的只读存储器(RAM)31,以及对用于传递通过存储器与主机之间的控制器的数据的错误校正码(ECC)进行计算和检查的电路33。控制器总线23通过电路35与主机系统介接,在图2的系统包含在存储器卡内的情况下,所述介接是通过卡的作为连接器4的一部分的外部接点37来完成的。时钟39与控制器11的每一其它组件连接并由其使用。
存储器芯片15以及任何其它与系统总线13连接的芯片通常含有组织成多个子阵列或平面的存储器单元阵列,为了简明起见而说明两个这种平面41和43,但可替代使用更多平面,例如四个或八个这种平面。或者,可不将芯片15的存储器单元阵列划分为平面。然而当如此划分时,每个平面具有其自身的可彼此独立地操作的列控制电路45和47。电路45和47从系统总线13的地址部分19接收其各自存储器单元阵列的地址,并对其进行解码以对各自位线49和51中的特定一者或一者以上进行寻址。响应于在地址总线19上接收的地址通过行控制电路55来寻址字线53。源电压控制电路57和59也与各自的平面连接,如同p阱电压控制电路61和63。如果存储器芯片15具有单个存储器单元阵列,且如果系统中存在两个或两个以上这种芯片,那么可类似于上述多平面芯片内的平面或子阵列来操作每个芯片的阵列。
数据通过与系统总线13的数据部分17连接的各自数据输入/输出电路65和67而传送进和传送出平面41和43。电路65和67用于通过经由各自的列控制电路45和47连接到平面的线69和71,来将数据编程到存储器单元中以及从其各自平面的存储器单元读取数据。
尽管控制器11控制存储器芯片15的操作来编程数据、读取数据、擦除和照管各种内务管理事件,但每个存储器芯片还含有某种控制电路,其执行来自控制器11的命令以执行这些功能。接口电路73连接到系统总线13的控制和状态部分21。将来自控制器的命令提供到状态机75,状态机75接着提供对其它电路的特定控制以便执行这些命令。控制线77-81连接状态机75与所述其它电路,如图2所示。来自状态机75的状态信息通过线83传送到接口73,以用于通过总线部分21传输到控制器11。
存储器单元阵列41和43的NAND结构是目前优选的,但也可替代使用例如NOR的其它结构。作为存储器系统的一部分的NAND快闪存储器及其操作的实例可参考第5,570,315、5,774,397、6,046,935、6,373,746、6,456,528、6,522,580、6,771,536和6,781,877号美国专利以及第2003/0147278号美国专利申请公开案。
由图3的电路图说明示范性NAND阵列,其为图2的存储器系统的存储器单元阵列41的一部分。提供大量全局位线,但为了简明解释起见,在图2中仅展示四个此类线91-94。许多串联连接的存储器单元串97-104连接在这些位线之一与参考电位之间。使用存储器单元串99作为代表,多个电荷存储存储器单元107-110在串的任一端处与选择晶体管111和112串联连接。当使一个串的选择晶体管导电时,所述串连接在其位线与参考电位之间。接着对所述串内的一个存储器单元进行一次编程或读取。
图3的字线115-118在许多存储器单元串中每一串中的一个存储器单元的电荷存储元件上个别地延伸,且栅极119和120控制串的每一端处的选择晶体管的状态。使共享共用字线和控制栅极线115-120的存储器单元串形成可共同擦除的存储器单元区块123。此单元区块含有可一次性物理擦除的最小数目的单元。一次对沿着字线115-118之一的一行存储器单元进行编程。通常,以预定次序对NAND阵列的行进行编程,在此情况下是以最靠近连接到接地或另一共用电位的串的末端的字线118的行开始。接着对沿着字线117的存储器单元行进行编程,如此在整个区块123中进行。最后对沿着字线115的行进行编程。
第二区块125是类似的,其存储器单元串连接到与第一区块123中的串所连接的相同全局位线,但具有不同的一组字线和控制栅极线。由行控制电路55将字线和控制栅极线驱动到其适当的操作电压。如果系统中存在一个以上平面或子阵列,例如图2的平面1和2,那么一种存储器结构使用在其之间延伸的共用字线。替代地可存在共享共用字线的两个以上平面或子阵列。在其它存储器结构中,单独驱动个别平面或子阵列的字线。
如若干NAND专利以及上文引用的公开申请案中所述,可操作存储器系统以在每个电荷存储元件或区域中存储两个以上可检测的电荷电平,进而在每一者中存储一个以上数据位。存储器单元的电荷存储元件最通常是导电浮动栅极,但替代地可以是非导电介电电荷捕集材料,如第2003/0109093号美国专利申请公开案中所述。
图4概念性说明用作下文进一步描述中的实例的快闪存储器单元阵列7(图1)的组织。存储器单元的四个平面或子阵列131-134可在单个集成存储器单元芯片上、在两个芯片上(每个芯片上两个平面)或在四个单独芯片上。具体布置对下文的论述来说不重要。当然,在系统中可存在其它数目的平面,例如1、2、8、16或更多。将平面个别地划分为图4中用矩形展示的存储器单元区块,例如位于各自平面131-134中的区块137、138、139和140。每个平面中可存在数十个或数百个区块。如上所述,存储器单元区块是擦除的单位,是物理上可共同擦除的最小数目的存储器单元。然而为了增加的并行性,以较大的元区块为单位来操作区块。将来自每个平面的一个区块逻辑上链接在一起以形成元区块。展示四个区块137-140形成一个元区块141。元区块内的所有单元通常共同擦除。用于形成元区块的区块无需限于其各自平面内的相同的相对位置,如由区块145-148组成的第二元区块143中所示。尽管优选在所有平面上延伸元区块以获得高系统性能,但可以在不同平面中动态形成具有一个、两个或三个区块中的任一种或全部的元区块的能力来操作存储器系统。这允许元区块的大小较接近地与一次编程操作中可用于存储的数据量匹配。
为了操作目的,又将个别区块划分为存储器单元页,如图5说明。例如区块131-134中每一者的存储器单元各划分为八个页P0-P7。或者,每个区块内可存在16个、32个或更多存储器单元页。页是在区块内数据编程和读取的单位,含有一次编程的最小数据量。在图3的NAND结构中,页由沿着区块内字线的存储器单元形成。然而为了增加存储器系统操作并行性,可将两个或两个以上区块内的所述页逻辑上链接成元页。图5中说明元页151,其由来自四个区块131-134中每一者的一个物理页形成。元页151例如包含所述四个区块中每一者中的页P2,但元页的页无需在区块的每一者内一定具有相同的相对位置。尽管优选在所有四个平面上并行编程和读取最大数据量以获得高系统性能,但也可操作存储器系统以在不同平面中的单独区块中形成具有一个、两个或三个页中的任一种或全部的元页。这允许编程和读取操作适应性地与可方便地并行处理的数据量匹配,且减少了元页的一部分保持未以数据编程的机会。
如图5所说明,由多个平面的物理页形成的元页含有沿着那些多个平面的字线行的存储器单元。并非同时对一个字线行中的所有单元编程,而是较常见以两个或两个以上交错群组对其交替编程,每个群组存储一个数据页(在单个区块中)或一个数据元页(在多个区块上)。通过每次对交替的存储器单元进行编程,无需对每个位线均提供包含数据寄存器和读出放大器的外围电路单位,而是在邻近的位线之间时间共享。这节省了外围电路所需的衬底空间量,且允许以沿着行而增加的密度来封装存储器单元。另外,优选对沿着行的每个单元同时编程,以便最大化可从给定存储器系统得到的并行性。出于多数数据管理目的,可以与区块和页相同的方式处理元区块和元页。本申请案中在元区块和元页方面给出的实例通常也适用于使用区块和页作为擦除单位并分别编程的存储器。类似地,在区块和页方面给出的实例通常也适用于使用元区块和元页的存储器。
有效地控制具有非常大的擦除区块的存储器阵列的操作的一个挑战是使在给定写入操作期间存储的数据扇区数目与存储器区块的容量和边界匹配并对准。一种方法是配置元区块,所述元区块用于存储来自主机的具有少于最大数目区块的新数据,在必要时用于存储少于填充整个元区块的量的数据量。自适应元区块的使用参见2003年12月30日申请的标题为“Adaptive Metablocks”的第10/749,189号美国专利申请案。数据区块之间的边界与元区块之间的物理边界的配合描述于2004年5月7日申请的第10/841,118号美国专利申请案以及2004年12月16日申请的标题为“Data Run Programming”的第11/016,271号美国专利申请案。
参看图3,通过沿着NAND串的至少一端提供两行选择晶体管(未图示)而不是所示的单个行,来最方便地完成将数据同时编程到沿着一行的每隔一个存储器单元中。一行的选择晶体管接着响应于一个控制信号将区块内的每隔一个串连接到其各自的位线,且另一行的选择晶体管响应于另一控制信号将介入的每隔一个串连接到其各自的位线。因此将两个数据页写入到每行存储器单元中。
每个逻辑页中的数据量通常是整数个的一个或一个以上数据扇区,每个扇区惯例上含有512个字节的数据。图6展示页或元页数据的两个扇区153和155的逻辑数据页。每个扇区通常含有所存储的用户或系统数据的512个字节的部分157以及用于涉及部分157中的数据或涉及其中存储有数据的物理页或区块的开销数据的另一数目的字节159。开销数据的字节数通常为16个字节,从而对于扇区153和155中每一者为总共528个字节。开销部分159可含有在编程期间从数据部分157计算出的ECC、其逻辑地址、区块已擦除和再编程次数的经历计数、一个或一个以上控制旗标、操作电压电平和/或类似物,加上从此开销数据159计算出的ECC。或者,开销数据159或其一部分可存储在其它区块中的不同页中。
随着存储器的并行性增加,元区块的数据存储容量增加且数据页和元页的大小也因此增加。数据页接着可含有两个以上数据扇区。由于数据页中的两个扇区且每个元页两个数据页,所以一个元页中存在四个扇区。每个元页因此存储2048个字节的数据。这是高度的并行性,且可甚至在行中存储器单元数目增加时进一步增加。出于此原因,延伸快闪存储器的宽度以便增加页和元页中的数据量。上文指出的物理上较小的可再编程非易失性存储器卡和快闪驱动器是市售的,其具有512兆字节(MB)、千兆字节(GB)、2GB和4GB的数据存储容量,且可能变得更高。
图7说明主机与此大容量存储器系统之间的常见的接口。主机处理由主机执行的应用程序软件或固件程序产生或使用的数据文件。字处理数据文件是一个实例,且计算机辅助设计(CAD)软件的绘图文件是另一实例,主要存在于例如PC、膝上型计算机等一般计算机主机中。pdf格式的文档也是这种文件。图片数字摄像机为存储在存储器卡上的每幅图产生一个数据文件。蜂窝式电话利用来自内部存储器卡上的文件的数据,例如电话簿。PDA存储并使用若干不同的文件,例如地址文件、日历文件等。在任何这种应用中,存储器卡还可含有操作主机的软件。
在图7中,连续的逻辑地址空间161足够大以便为可存储在存储器系统中的所有数据提供地址。通常,逻辑地址空间稍微小于存储器阵列的物理地址空间,使得存储器阵列中存在一些额外空间。通常将主机逻辑地址空间分成数据群集的增量。每个群集可在给定主机系统中设计成含有若干数据扇区,大约在4与64个扇区是典型的。标准扇区含有512个字节的数据。
图7的实例中展示三个文件1、2和3。在主机系统上运行的应用程序产生每个文件作为一组有序数据,并通过唯一名称或其它参考对其进行识别。尚未分配给其它文件的足够可用的逻辑地址空间由主机指派给文件1。文件1被展示为已经被指派有连续的可用逻辑地址范围。通常还出于特定目的而分配地址范围,例如针对主机操作软件的特定范围,接着为存储数据而避开这些特定范围,即使在主机向数据指派逻辑地址时仍未利用这些地址。
当主机稍后产生文件2时,主机类似地在逻辑地址空间161内指派两个不同范围的连续地址,如图7中所示。文件无需被指派有连续的逻辑地址,而是可为已经分配给其它文件的地址范围之间的地址片段。此实例接着展示主机所产生的又一文件3被分配有主机地址空间的先前未分配给文件1和2和其它数据的其它部分。
主机通过维持文件分配表(FAT)来跟踪存储器逻辑地址空间,其中由主机指派给各个主机文件的逻辑地址得以维持。FAT表通常存储在非易失性存储器中以及主机存储器中,且随着新文件被存储、其它文件被删除、文件被修改等等,FAT表由主机频繁地更新。例如当主机文件被删除时,主机接着通过更新FAT表来对先前分配给被删除文件的逻辑地址解除分配,以展示它们现在可用于与其它数据文件一起使用。
主机不关心其中存储器系统控制器选择用来存储文件的物理位置。典型的主机仅知道其逻辑地址空间和其已经分配给其各个文件的逻辑地址。另一方面,存储器系统通过典型的主机/卡接口,仅知道逻辑地址空间的数据已经被写入到的部分,但不知道分配给特定主机文件的逻辑地址,或甚至不知道主机文件的数目。存储器系统控制器将主机所提供的用于存储或检索数据的逻辑地址转换成其中存储有主机数据的快闪存储器单元阵列内的唯一物理地址。区块163表示这些逻辑到物理地址转换的工作表,其由存储器系统控制器维持。
存储器系统控制器经编程以便以使系统的性能维持在高等级的方式将数据文件存储在存储器阵列165的区块和元区块内。在此说明中使用四个平面或子阵列。在由来自每个平面的区块形成的整个元区块上优选以系统允许的最大程度的并行性编程和读取数据。至少一个元区块167通常经分配作为用于存储由存储器控制器使用的操作固件和数据的保留区块。可分配另一元区块169或多个元区块以用于存储主机操作软件、主机FAT表等。保留物理存储空间的大部分以用于存储数据文件。然而存储器控制器不知道主机如何在其各个文件对象之间分配所接收的数据。存储器控制器从与主机交互作用中通常知道的全部内容就是由主机写入到特定逻辑地址的数据存储在由控制器的逻辑到物理地址表163维持的相应物理地址中。
在典型的存储器系统中,提供比必需的多几个的额外区块的存储容量,以存储地址空间161内的数据的量。可提供这些额外区块中的一者或一者以上作为用于代替在存储器使用寿命期间可能变为有缺陷的其它区块的冗余区块。个别元区块内含有的区块的逻辑分组通常可因为各种原因而改变,包含冗余区块对原始指派给元区块的有缺陷区块的代替。例如元区块171的一个或一个以上额外区块通常维持在经擦除的区块池(blockpool)中。当主机将数据写入到存储器系统时,控制器将由主机指派的逻辑地址转换成擦除区块池中的元区块内的物理地址。未用于将数据存储在逻辑地址空间161内的其它元区块接着经擦除并指定作为经擦除的池区块以供在后续数据写入操作期间使用。
当原始存储的数据变得过时时,存储在特定主机逻辑地址处的数据由新数据频繁地替换。作为响应,存储器系统控制器将新数据写入经擦除的区块,并接着针对那些逻辑地址改变逻辑到物理地址表以识别存储这那些逻辑地址处数据的新的物理区块。接着擦除含有那些逻辑地址处原始数据的区块并使其可用于新数据的存储。如果在写入开始时在来自擦除区块池的预擦除区块中没有足够的存储容量,那么这种擦除常常必须在当前数据写入操作可完成之前发生。这可能不利地影响系统数据编程速度。存储器控制器通常了解到仅在主机向其相同逻辑地址写入新数据时由主机使给定逻辑地址处的数据变过时。因此许多存储器区块可能存储此类无效数据历时一定时间。
区块和元区块的大小逐渐增加,以便有效地使用集成电路存储器芯片的面积。这导致较大比例的个别数据写入存储的数据量小于元区块的存储容量,且在许多情况下甚至小于区块的存储容量。由于存储器系统控制器通常将新数据引导到来自经擦除区块池的元区块,所以这可能导致元区块的多个部分变得未被填充。如果新数据是对存储在另一元区块中的某个数据的更新,那么还期望以逻辑地址次序将其余有效的数据元页从具有与新数据元页的逻辑地址连续的逻辑地址的所述另一元区块复制到新的元区块中。老的元区块可保持其它有效的数据元页。这随着时间过去而导致个别元区块的某些元页的数据变为过时且无效,并由写入到不同元区块的具有相同逻辑地址的新数据所替换。
为了维持足够的物理存储器空间以在整个逻辑地址空间161上存储数据,可通过在垃圾收集操作中回收存储器的由过时数据占据的部分。还可通过其中经擦除空间在含有有效数据的区块中的合并来回收经擦除的空间,且将有效数据合并在较少的区块中允许将区块添加到经擦除的区块池。因此,区块经受垃圾收集或合并以回收存储器空间供再使用。尽可能地将数据扇区以与其逻辑地址相同的次序维持在元区块内也是合乎要求的,因为这使得以连续逻辑地址读取数据更高效。因此,通常为了此额外目标而执行数据合并和垃圾收集。第6,763,424号美国专利中描述当接收部分区块数据更新时管理存储器的一些方面以及元区块的使用。垃圾收集与合并在本申请案中统称为“回收”,且作为垃圾收集或合并的一部分执行的操作称为“回收操作”。
回收实例
在垃圾收集期间,从含有过时数据的一个或一个以上源区块搜集具有连续或几乎连续的逻辑地址范围的有效数据的页,并将其重写到目的地区块中。目的地区块可来自经擦除的区块池,或可含有一些有效数据。当已从所述一个或一个以上源区块复制所有有效数据页时,其可经擦除以供将来使用。图8A和8B展示示范性垃圾收集操作。图8A展示来自区块1的页0-2的有效数据X、X+1和X+2从区块1复制到区块3,且有效数据X+3从区块2的页1复制到区块3。在数据X、X+1、X+2和Y复制到区块3之后,区块1和2可添加到准备好用于立即擦除且通常稍后短时间内擦除的区块池。图8B展示在垃圾收集之后的情形,其中区块1和2经擦除且区块3填充有数据。由于此垃圾收集操作,经擦除的区块池增加了一个区块,因为区块1和2添加到经擦除区块池中,但区块3不再在经擦除区块池中。为了完成此情况,复制数据X、X+1、X+2和X+3。此实例的数据单位等于一页的内容,且可含有一个或一个以上数据扇区。或者,数据可不在扇区逻辑单位中,使得页的内容可能不具有均匀大小的单独可寻址单位。类似地,回收操作的其它实例可应用于在逻辑可寻址的扇区单位中或某种其它格式的数据。在此实例中,复制数据X、X+1、X+2和X+3,使得其依次存储在区块3中。在其它实例中,可将数据复制到其未依次存储的区块。
图9A和9B展示垃圾收集的另一实例。这里有效数据Y是从在页0和2中含有过时数据的区块2复制,并复制到仅含有效数据的区块1。在复制数据Y之后,仅过时数据保留在区块2中,因此区块2被擦除。图9B展示垃圾收集之后的情形,其中数据Y存储在区块1的先前擦除页3中且区块2经擦除。因此,在此实例中,不需要来自经擦除区块池的区块。在数据Y为填充存储器阵列的一个页的数据量的情况下,在此操作中仅复制一个页和擦除一个区块,从而导致额外的擦除区块添加到经擦除区块池。在此实例中,数据Y与数据X、X+1、X+2逻辑上不相关。在其它实例中,数据可复制到含有逻辑相关的数据的区块。
数据压缩是特定形式的垃圾收集,其通常涉及从区块读取所有有效数据页并将其写入新的区块,忽略在过程中具有无效数据的页。具有有效数据的页还优选以与存储在其中的数据的逻辑地址次序匹配的物理地址次序布置。可对具有以非顺序(无序)格式存储的数据的区块执行数据压缩,使得在压缩之后数据以顺序格式存储。新的区块中被占据的页的数目将小于旧的区块中被占据的那些页的数目,因为含有过时数据的页没有被复制到新的区块。接着擦除旧的区块,并使其可用于存储新的数据。通过合并获得的额外页容量可接着用于存储其它数据。
图10A和10B展示数据压缩的实例。图10A展示填充有数据的区块1,其中一些数据是过时的且一些数据是有效的。存储在区块1中的数据没有顺序次序。区块1通常是用于某些存储器设计的无序更新区块,所述存储器设计例如为第10/750,155号美国专利申请案中描述的那些设计。区块1的页2和3含有数据Z+1和Z+2的有效副本,而页0和1含有这些数据的过时副本。在无序更新区块映射到有限的逻辑地址范围的情况下,只要区块变满就对区块进行压缩,使得额外的更新在区块的逻辑地址范围内是可能的。图10B展示压缩之后的情形。区块1的页2和3的有效数据Z+1和Z+2已复制到区块2且经布置以按顺序存储。按顺序存储数据的一个优点在于,可能不必维持不同扇区的位置的索引,因此减少与维持此索引相关联的开销。区块2含有页2和3中可用于存储额外数据的经擦除空间。在所有有效数据已复制到区块2且区块1已擦除之后展示区块1。因此,由于压缩,经擦除区块池仍具有相同数目的经擦除区块,但存在先前不可用的可用于在区块2中写入数据的空间。复制来自两个页的数据以实现此压缩。
数据压缩可用于形成可用于存储数据的空间。在一些存储器系统中,存储器中的经擦除空间可能不是全部可使用,因为其处于分布在还含有有效数据的区块之间的较小部分中。当接收到与存储在具有足够空间对数据进行编程的任何区块中的数据逻辑上不相关的新数据时,需要将其编程到经擦除区块而不是部分充满的区块。这种与已经存储的数据逻辑上不相关的新数据通常存储在来自经擦除区块池的经擦除区块中。在某个时间之后,可能存在具有不可用于逻辑上不相关的新数据的经擦除空间的多个区块。这导致空间浪费。可组合所述部分写入的区块的有效数据。举例来说,来自含有经擦除空间的两个区块的有效数据可经组合以使得组合的经擦除空间形成经擦除区块。
图11A展示区块1在页0-2中含有数据X、X+1和X+2,而区块2在页0中含有数据Y。数据Y与数据X、X+1和X+2逻辑上不相关。区块1和2可保持在具有经擦除空间的条件下历时某个时间以查看是否接收到接续到区块1的数据X+2或接续到区块2的数据Y的额外数据。如果在某个阈值时间之后或在满足某个其它条件之后没有接收到额外的连续数据,那么可标记区块1和2以进行合并。可对准备好合并的区块维持一个列表,且可根据区块含有的有效数据量从列表中选择区块,使得当组合时其填充一个区块或近似于填充一个区块。图11B展示合并之后的区块1和2。数据Y已复制到区块1,且区块2已擦除。此合并仅需要从一个页复制数据(来自区块2的页0的数据Y)以便向经擦除区块池添加一个区块。通常需要以需要较少复制的方式进行合并,因此将数据Y复制到区块1而不是将数据X、X+1和X+2复制到区块2。
数据合并和垃圾收集花费时间且可影响存储器系统的性能,尤其是在数据合并或垃圾收集需要在来自主机的命令可执行之前进行的情况下。所述回收操作通常由存储器系统控制器调度以尽可能在后台进行,但这并不总是可能的。主机命令的执行可延迟的实例是擦除区块池中没有足够的预擦除元区块用来存储主机想要写入到存储器中的所有数据,且首先需要数据合并或垃圾收集来清除一个或一个以上有效数据的元区块,所述元区块接着可被擦除。因此,注意力已经被引导到管理对存储器的控制,以便使此类中断减到最小。在以下美国专利申请案中描述许多此类技术:2003年12月30日申请的标题为“Management of Non-Volatile Memory Systems Having Large Erase Blocks”的第10/749,831号美国专利申请案;2003年12月30日申请的标题为“Non-Volatile Memory andMethod with Block Management System”的第10/750,155号美国专利申请案;2004年8月13日申请的标题为“Non-Volatile Memory and Method with Memory Planes Alignment”的第10/917,888号美国专利申请案;2004年8月13日申请的第10/917,867号美国专利申请案;2004年8月13日申请的标题为“Non-Volatile Memory and Method with PhasedProgram Failure Handling”的第10/917,889号美国专利申请案;以及2004年8月13日申请的标题为“Non-Volatile Memory and Method with Control Data Management”的第10/917,725号美国专利申请案。
存储器控制器还可使用来自FAT表(其由主机存储在非易失性存储器中)的数据,以更有效地操作存储器系统。一种此类使用是通过对其逻辑地址解除分配来了解数据何时已经由主机识别为过时的。知道此情况将允许存储器控制器在其会正常地通过主机将新数据写入到那些逻辑地址而了解它之前调度含有此类无效数据的区块的擦除。2004年7月21日申请的标题为“Method and Apparatus for Maintaining Data on Non-VolatileMemory Systems”的第10/897,049号美国专利申请案中描述这种情况。其它技术包含监视将新数据写入到存储器的主机模式,以便推断给定写入操作是单个文件还是(如果有多个文件)文件之间的边界所在之处。2004年12月23日申请的标题为“FAT Analysis forOptimized Sequential Cluster Management”的第11/022,369号美国专利申请案描述这种类型的技术的使用。
为了有效地操作存储器系统,对控制器来说合乎需要的是尽可能多地知道由主机指派给其个别文件的数据的逻辑地址。数据文件接着可由控制器存储在单个元区块或元区块群组内,而不是当不知道文件边界时分散在较大数目的元区块之间。结果是数据合并和垃圾收集操作的数目和复杂性减小。因此,存储器系统的性能改进。但如上文所述,当主机/存储器接口包含逻辑地址空间161(图7)时,存储器控制器难以知道关于主机数据文件结构的较多信息。
用基于逻辑地址的接口进行回收
图12展示当删除文件时图7的主机/存储器接口的操作。在主机系统上运行的应用程序201确定应在存储器中删除文件2。举例来说,在PC上运行的应用程序201可基于用户输入或出于其它原因确定不再需要文件2。因此,应用程序向主机的驱动程序部分发送删除文件2的指令。在此情况下,使用FAT管理对数据的存储以指示用于存储在存储器中的每个文件的逻辑地址。举例来说,文件2展示为具有两个单独的逻辑地址范围203和205。每个逻辑地址范围203和205可包含多个连续的群集。尽管文件2展示为仅具有两个单独的逻辑地址范围203和205,但可将文件频繁地分段为许多逻辑地址范围,其中其它文件映射到介入的逻辑地址。删除文件2的指令导致FAT被修改,使得分配给文件2的逻辑地址范围203和205的群集被解除分配并变为可用于主机的后续分配。然而,主机的FAT中这些群集的解除分配通常不引起对存储器控制器使用的存储器管理结构的任何修改。逻辑到物理地址转译163包含由存储器控制器维持的记录存储数据群集的物理地址的表。地址范围203和205被分别映射到物理地址范围209和211。此记录不会由于来自应用程序的“删除文件2”命令而改变。因此,表维持用于逻辑地址范围203和205的条目。而且,相应的物理位置209和207保持填充有数据,即使应用程序不再需要此数据。通常,存储器控制器仅在主机以这些地址发送新数据时才改变用于逻辑地址范围203和205的逻辑到物理地址转译。因为存储器控制器不知道何时群集被解除分配,所以其通常每个逻辑地址维持至少一个条目,且因此将整个逻辑地址范围视为已被占据。通常存在比存储器的逻辑地址范围多的物理空间,使得即使整个逻辑地址范围填充有明显有效的数据,也存在可为经擦除空间或可由过时数据占据的额外空间。
图13展示在将主机数据写入存储器时可如何管理存储器阵列中的物理空间的实例。在具有对应于整个逻辑地址范围的有效数据的情况下,将物理空间视为最满。存储器中的剩余空间由经擦除空间和由过时数据占据的空间组成。在将主机数据编程到存储器阵列时,由过时数据占据的空间量如图示增加。这是因为当接收到具有特定逻辑地址的新扇区时,其存储在在逻辑到物理转译163中记录的新的物理位置处。这替换了先前存储的具有相同逻辑地址的扇区。先前存储的扇区接着变得过时,且将先前存储扇区的物理位置记录为含有过时数据。经擦除空间随着过时数据量增加而减小。在某个点时,没有足够的经擦除空间来继续对主机数据编程。图13展示在时间t1处在存储器中没有经擦除空间。因此在时间t1处,没有另外的主机数据可编程到存储器阵列。在其它实例中,当某个最少量的经擦除空间保留在存储器阵列中时,编程可停止。在时间t1处,垃圾收集操作开始以回收由过时数据占据的空间。当所有过时空间被回收并作为经擦除空间时在时间t2处此操作结束。在其它实例中,垃圾收集操作可在已回收所有可能的空间之前结束,例如当已回收恰好足够的空间以允许继续主机数据的编程时。在时间t2处,主机数据的编程再次开始,且在时间t3处,主机数据的写入停止,且另一垃圾收集操作开始。图13所示的视图是存储器控制器的存储器中数据的条件的视图,且并不总是与主机的视图相同。在存储器控制器将逻辑空间视为充满时,主机可将同一空间视为较大程度上自由。
以图13所示的方式管理存储器具有的缺点在于,在时间t1与t2之间,存储器对主机不可用。因此,在从t1到t2的时间段中不写入任何主机数据。由于可能必须复制的大量的页,从t1到t2的时间可具有相当大的长度。在一些情况下,此时间很大而使得其导致主机超时。也就是说,主机具有用于写入一部分数据的最大时间,且在存在不足够的擦除空间时允许写入新数据所必需的垃圾收集可能超过此最大值。
图14展示管理存储器的替代方法,其中在仍存在足够的经擦除空间时执行垃圾收集以允许写入主机数据。在此实例中,在垃圾收集绝对必要之前实施垃圾收集。可以第11/040,325号美国专利申请案中描述的交错方式在主机数据的写入之间完成垃圾收集。用于开始此类交错垃圾收集的触发可以是经擦除区块的数目达到某个阈值。交错的垃圾收集操作减慢了主机数据到存储器的编程。然而,垃圾收集操作可防止经擦除区块的数目减少到主机数据不再能写入的点。因此,主机超时或取消编程的风险减小或被消除。交错的垃圾收集可在足够的经擦除区块可用时停止,使得不会不必要地影响编程速度。因此,经擦除空间的量随着交错垃圾收集的打开和关闭或者交错垃圾收集的速率改变而变化。
图15展示与主机数据的写入交错的垃圾收集的时序图。写入N3个主机数据页,接着写入N4个数据页或x个区块作为垃圾收集操作的一部分而擦除。此循环重复。以此方式,与垃圾收集相关联的开销随着时间散布,而不是集中于一个时间,集中于一个时间将导致超时。合并、其它回收操作或其它内务操作也可以此方式交错。在此上下文中内务操作指由存储器控制器起始以维持存储器阵列中的数据的操作。这些操作可包含损耗均衡(wear leveling)和数据清洗(data scrub)操作。
用基于文件的接口进行回收
通过一些存储器接口,额外的信息可用于存储器控制器以允许更有效的回收。这些存储器接口的实例在以下美国专利申请案中描述:标题为“Direct Data File Storage inFlash Memories”的第11/060,249号美国专利申请案;标题为“Direct File Data Programmingand Deletion in Flash Memories”的第11/060,174号美国专利申请案;标题为“Direct DataFile Storage Implementation Techniques in Flash Memories”的第11/060,248号美国专利申请案(以上全部在2005年2月16日申请);以及2005年8月3日申请的标题为“DirectData File Storage in Flash Memories”的第60/705,388号临时专利申请案。文件从主机发送到存储器,而不映射到为存储器界定的逻辑地址范围的逻辑地址。此存储器可视为具有基于文件的接口。在存储器中,文件主要存储在专用于所述文件的元区块中。使用文件识别符和偏移量来记录文件存储的位置。图16展示使用这种直接数据文件存储的存储器接口,其中文件发送到存储器且文件/偏移量到物理地址转译173在存储器中进行。这些存储器可以减少分段的方式维持文件,使得多数元区块含有来自仅一个文件的数据。在所述存储器中,存储器控制器具有较多的关于所存储数据的可用信息。特定来说,因为存储器控制器通过文件识别数据,所以其能够以基于文件的方式存储文件。
图17展示当应用程序删除存储在使用图16的接口的存储器系统中的文件时发生的事。应用程序225发送指示应删除文件2的命令。此命令从主机发送到存储器而没有任何通过逻辑扇区地址识别文件的需要。文件识别符可由主机用于识别文件。文件2映射到区块a、b和c,且映射由文件/偏移量到物理转译173记录。命令致使文件/偏移量到物理转译173被更新以反映文件2被删除。因此,区块a、b和c经调度以用于垃圾收集,使得其可再用于新数据。因此,可通过由应用程序删除文件而不是等待替换数据存储在存储器阵列中为止(如使用逻辑扇区地址的存储器的情况)来起始垃圾收集。在此情况下存储器控制器并不总是看见充满的逻辑地址空间。替代地,存储器控制器具有关于存储在存储器中的数据的有效性的准确信息。在有些时候,存储器控制器可意识到存储器阵列含有极少有效数据或不含有效数据。在其它时候,存储器控制器可将存储器阵列视为充满或几乎充满有效数据。通过关于存储器阵列中的有效和过时数据的所述信息,可以比之前更有效的方式管理回收。
图18展示对使用直接数据文件接口的存储器操作的存储器回收系统的实例。图18展示在主机数据写入时存储器阵列随着时间变化的条件。所示视图呈现控制器的视图,其在此情况下与主机的视图一致。这里,仅存储器的相对小的一部分视为含有有效数据,存储器的其余部分由经擦除区块和可回收的空间组成。可回收空间由被过时数据占据的空间以及经擦除但不在经擦除区块中的空间组成。尽管在一些情形中经擦除空间的所述分散部分可用于存储额外数据,但在其它系统中,将这些经擦除空间合并为经擦除区块,其接着用于存储数据。图18展示直到时间t5的有效数据量的稳定增加。在此时间期间,可回收空间的量保持恒定,因为没有执行回收操作。经擦除区块中的空间随着在此时期期间有效数据写入到经擦除区块而减小。在时间t5处,一个或一个以上文件被删除,且来自存储在存储器阵列中的那些文件的数据变得过时。因此,有效数据占据的空间量减少且可回收空间的量相应地增加。接着,从时间t5到t6,更多数据编程到存储器阵列,再次增加有效数据的量并减少经擦除区块中的空间。在时间t6处,存储器达到回收操作被视为必要的以允许另外数据的编程的点。可当经擦除区块中的空间达到某个阈值时或可基于某种其它标准而达到此点。从时间t6到t7,执行回收操作以将可回收空间中的一些转换为经擦除区块。在这些回收操作期间,没有新数据写入到存储器阵列,使得有效数据占据的空间量保持恒定。在时间t7处,回收操作停止且新数据的编程再次开始。此系统类似于之前描述的系统,其中仅在必要时执行回收操作。此系统的一个缺点在于,从t6到t7的时间可能超过时间限制,使得主机取消写入操作。替代于仅在必要时执行回收操作,可以对主机写入操作没有显著影响的方式在回收操作成为必要之前执行回收操作。尤其在具有关于存储在存储器阵列中的过时数据量的更完整信息的存储器中,例如使用直接数据文件存储系统的那些存储器,可能以智能方式调度回收操作,使得其对主机写入操作具有极小的影响。
图19展示可如何管理存储器阵列中的空间的模型。有效数据以恒定速率增加,直到存储器阵列填满有效数据为止。在同时,可回收空间随着回收操作将可回收空间转换为经擦除区块而减少。用于以此方式管理存储器阵列中的空间的系统根据调度来实施回收操作,使得个别回收操作分布在个别主机写入操作之间以提供恒定的主机数据写入速度。为了进行此操作,控制器可估计将用于填充存储器阵列的额外有效数据量并估计在存储器充满之前需要的回收操作的次数。接着以在剩余时间上均匀散布回收操作的速率调度回收操作。这确保了存储器不会过早地用完经擦除区块。回收操作可交错在如之前的将新数据编程到存储器阵列的操作之间。回收操作包含将数据部分从一个区块复制到另一区块,并擦除不含有效数据的区块。回收空间的速率可由交错比率确定,所述比率为回收操作的次数与主机写入操作的次数的比率。在一些情况下,为计算此比率而忽略区块擦除操作,因为存在比擦除操作多得多的复制操作。接着,所述比率变为用于回收的写入操作与用于新数据的写入操作的比率。
图20说明当在时间t10处删除一个或一个以上文件时在此系统中发生的事。在t10之前,有效数据占据的空间正在增加,且可回收空间和经擦除区块中的空间两者随着有效数据量的增加而减少。以确保当存储器如虚线指示变满时将回收所有可回收空间的速率回收可回收空间。在时间t10处,删除一个或一个以上文件,使得先前由有效数据占据的空间由过时数据占据,且因此变为可回收空间。在t10之后,存储器阵列能够存储更多有效数据,但需要额外的回收操作来完成此存储。因此,控制器重新计算回收操作应执行的速率。这提供了响应于存储在存储器阵列中的数据的状态改变的自适应调度系统。因此修改了回收的速率,且对有效数据进行编程的速率也改变,因为回收速率影响到对有效数据进行编程的速率。自适应回收调度系统可周期性或在由主机命令触发或由某个其它事件触发时重新计算交错比率。
图21展示存储器管理的另一实例,其中存在三种不同的回收模式。在第一模式中,在t12之前,在主机数据的写入期间不执行回收操作。有效数据量以经擦除区块中空间量减少的相同速率增加。可回收空间的量保持近似相同,因为在此时间期间没有数据变得过时。一些区块可能具有以保持区块的一部分经擦除且未使用的方式存储的有效数据。可通过合并有效数据以使得经擦除空间合并在一个或一个以上经擦除区块中来回收这些经擦除部分。因此,在此模式中,即使没有数据变得过时,也可能存在可回收空间的一些增加。在一些实例中,在此第一模式中可维持最小回收速率,使得回收速率从不为零。因为回收速率较低或为零,因此在此第一模式中主机数据编程速率较高。
在第二模式中,从t12到t13,根据图19和20所示的自适应调度执行回收操作。因此,计算回收速率,且在新数据的编程之间交错回收操作,使得可回收空间随着存储器填满而减少。由于交错的回收操作,新数据编程速率在第二模式中比在第一模式中稍慢。当存储器中的有效数据超过阈值时,当经擦除区块中的空间下降到阈值以下时或基于某种其它标准,可开始第二模式。
在第三模式中,在t13之后,以最大速率执行回收操作,使得存在可用于写入新数据的经擦除区块。回收操作速率的增加致使主机数据编程速率的减小。当有效数据量超过阈值时,或当经擦除区块中的空间量下降到阈值以下时或基于某种其它标准,可开始第三模式。
自适应调度——详细实例
现将使用其中存储器具有直接数据文件存储接口的实例详细描述对非易失性存储器进行管理以使得其根据自适应调度系统实施回收操作,同时维持主机数据编程的恒定速率。此实例展示可如何从由存储器控制器监视的参数计算适当的交错比率。图22中详细说明针对此存储器的随着时间变化的存储器空间页的不同条件。还展示对于存储器阵列中的页或区块来说可能的许多转变。存储器阵列包含若干区块且每个区块含有多个页。术语“区块”和“页”将用于此实例,但实例还可用于具有元区块和元页作为擦除单位并分别编程的存储器。将区块视为在任意时间处于三种条件之一,且将这些区块内的页视为处于五个条件之一。图22中呈现随着时间过去,在这五个条件中的每一者中页的数目。
用于数据存储的区块的分类
文件区块:文件区块充满主机数据且不含过时数据。实际上,可允许文件区块含有最小数目的未编程页,例如2个。
部分区块:部分区块含有一些主机数据且还含有一些经擦除页和/或过时页。
经擦除区块:经擦除区块池中的完全擦除的区块。
除了这三个类别以外,一些区块可能充满过时数据。举例来说,紧接在指示由主机删除或擦除一个文件之后,含有所述文件的区块经调度以进行垃圾收集。这些区块中的一些区块充满数据。然而,因为快速擦除这些区块而不需要许多资源,所以出于当前计算的目的而不考虑这些区块。
用于数据存储的页的分类
以下是用于根据页的条件对存储器阵列的页和同一区块中的其它页进行分类的术语列表。图22中展示每个条件中页的数目。
文件区块页(FBP):这是包含在文件区块中的有效主机数据的页的数目。
数据页(DP):这是包含在部分区块中的有效主机数据的页的数目。
过时页(OP):这是包含在部分区块中的过时主机数据的页的数目。
经擦除页(EP):这是包含在部分区块中的经擦除页的数目。过时页(OP)和经擦除页(EP)一起可视为形成存储器阵列中的可回收空间。
经擦除区块页(EBP):这是包含在经擦除区块中的经擦除页的数目。
在此列表中忽略了可能存在于仅含过时数据的区块中的页,因为这些页不会长期存在,且在对其回收所必要的垃圾收集方面不会呈现显著的负担。
除了上文列出的五个互斥类别以外,与存储器阵列中的页相关的另外两个数目是总页和总数据页。这些术语描述在以上类别中的页。存储器控制器跟踪这些数目。
总页(TP):这是装置中可用于数据存储的总页数,且表示装置的数据容量。
总数据页(TDP):这是在任意时间含有有效主机数据的页的数目。数据页可在文件区块中或部分区块中。
数据复制操作阶段:存在两个数据复制操作阶段,但其在下文的自适应调度分析中无需单独考虑。
(1)垃圾收集阶段:过时的页存在于装置中,且执行垃圾收集操作以将其消除。
(2)区块合并阶段:执行区块合并操作以恢复部分区块中占用的经擦除容量。
通常,较好的是首先进行垃圾收集并推迟区块合并,因为如果主机将数据写入到同一文件作为有效数据,那么仅含有效和经擦除空间的区块在没有合并的情况下可能仍可使用。即使在文件关闭的情况下,也可重新打开文件并将数据写入到程序区块。具有过时数据的区块必须在其可再次使用之前进行垃圾收集,使得推迟此垃圾收集并没有优点。
由装置操作引起的页转变
图22中展示以下页转变:
过时页到经擦除区块页(1):当含有过时页的区块在有效数据页已从其复制之后被擦除时发生。
数据页到数据页(2):涉及从源区块复制到目的地区块的数据页。
经擦除页到经擦除区块页(3):在所有有效数据页已从源区块复制到目的地区块之后,在目的地区块中编程的经擦除页有效地变为当源区块经擦除时源区块中的经擦除区块页。
经擦除区块页到经擦除页(4):在有效数据页从源区块复制到经擦除区块之后,经擦除区块中的剩余经擦除区块页变为经擦除页。
数据页到文件区块页(5):部分区块中的有效数据页在区块变满时变为文件区块页。
经擦除区块页到文件区块页(6):经擦除区块页在区块已被主机写入的数据填满时变为文件区块页。
图23展示这些转变在存储器阵列的区块中如何发生的实例。图23A展示存储器阵列中的四个区块A-D,其中不同区块在不同条件下具有不同数据量。区块A填充有有效数据,因为页0-3每一者含有有效数据(由阴影指示)。因此,区块A视为文件区块。区块B包含含有有效数据(数据X)的页0、含有过时数据(由影线指示)的页1和2以及处于擦除状态的页3。因为区块B含有一些有效数据,但未充满有效数据,所以区块B视为部分区块。区块C具有填充有有效数据的页0和1以及处于擦除状态的页2和3。区块C也被视为部分区块,因为其含有一些有效数据,但未充满有效数据。区块D完全擦除,不含数据,且因此视为经擦除区块。
因为图23A的区块A是仅文件区块,所以文件区块页(FBP)的数目等于区块A中页的数目,即4。数据页的数目是区块B和C中有效页的数目,且因此等于3。过时页(OP)的数目是区块B和C中填充有过时数据的页的数目,且等于2。经擦除页(EP)的数目是区块B和C中处于擦除状态的页的数目,且等于3。因为区块D是仅经擦除区块,所以经擦除区块页(EBP)的数目是区块D中的页的数目,且等于4。在此实例中总页(TP)仅是所有区块中的总页数,这里为16页。总数据页(TDP)是含有有效数据的页的数目,这里为7页。
图23A展示来自区块B的页0的有效数据X复制到区块C的页2。这是类型(2)DP到DP的转变的实例。随后,在图23B中,仅过时数据保留在区块B中,使得区块B可在此点被放入擦除队列中。在图23B中,新的有效数据Y写入到区块D,使得区块D的页0变为数据页。区块D的页1-3在类型(4)转变中从经擦除区块页改变为经擦除页。图23C展示在区块B经擦除之后的区块A-D。页0-2在类型(1)的转变中从过时页转换为经擦除区块页。在图23C中,区块B的页3从部分区块中的经擦除页改变为经擦除区块中的经擦除区块页。这是类型(3)转变的实例。同样在图23C中,有效数据Y从区块D的页0复制到区块C的页3,导致区块C变为充满有效数据,如图23D所示,因此,图23D的区块C视为文件区块。区块C的先前是数据页的页0-2在区块C变为文件区块时在类型(5)转变中变为文件区块页。同样在图23D中,区块B以填充区块B的有效数据编程。区块B的页在类型(6)转变中从经擦除区块页改变为文件区块页。
本自适应调度方案的一个目的是交错主机写入和回收操作以提供恒定的主机数据编程速率。因此总数据页(TDP)的增加速率恒定,直到总数据页(TDP)等于总页(TP)为止,即直到存储器变满为止。在本实例中在计算各种参数时进行某些近似。然而,其它实例可基于其它假定或可以其它方式实施计算。在本计算中,忽略所复制数据的数据群组结构。因此,数据群组可在复制时分裂。数据页可从源区块复制以填充目的地区块中的可用经擦除页,接着剩余部分可复制到单独的目的地区块。
控制器维持用于计算回收操作与新数据写入之间的适当交错比率的某些参数值。这里呈现的计算使用页作为用于计算的数据的基本单位,然而也可使用其它单位,例如区块或元区块。可仅使用由控制器维持的参数值、总页(TP)、总数据页(TDP)、部分区块页(PBP)和经擦除区块页(EBP)来计算交错比率,如下文所述。
(主机数据):(复制数据)交错比率的推导
主机数据的可在装置变满之前写入到装置的额外页的数目由以下表达式给出待写入的主机数据=TP-TDP
还可使用控制器监视的参数如下写出经擦除页(EP)和数据页(DP)的数目。
经擦除页(EP)=TP-TDP-OP-EBP
数据页(DP)  =PBP-EP-OP
            =PBP-(TP-TDP-OP-EBP)-OP
            =TDP+PBP+EBP-TP
基于所有部分区块含有相同数目的有效数据页的近似来确定必须复制的有效数据量。如果N是区块中的总页数,那么部分区块中的平均有效页数为N*DP/PBP。
存在于部分区块中的数据页的仅一小部分需要复制。其余部分存在于变为数据复制到的目的地区块的部分区块中。假定部分区块用作用于全部复制的目的地区块,且不必使用经擦除区块。必须复制的数据所来自的区块的数目等于将产生的经擦除区块的数目,因为每个经擦除的部分区块具有首先从其复制的有效数据。所产生的经擦除区块的数目=(PBP-DP)/N。
因此,将待擦除的区块数目乘以每个区块的有效页的平均数目给出了将被复制以回收存储器阵列中的所有可回收空间的数据量的近似。
将复制的数据          ={N*DP/PDP}*{(PBP-DP)/N}
                      =DP*(PBP-DP)/PBP
                      =(TDP+PBP+EBP-TP)*(PBP-TDP-PBP-EBP+TP)/PBP
                      =(TDP+PBP+EBP-TP)*(TP-TDP-EBP)/PBP
应注意,这过度估计了将复制的数据量,因为实际选择用于复制操作的源区块作为具有最低的将复制的有效数据量的区块。基于所有部分区块含有相同比例的数据页的简化的数据复制速率因此将比必要的速率稍高。
(主机数据):(复制数据)交错比率
=(将写入的主机数据)/(将复制的数据)
=(TP-TDP)*PBP/(TDP+PBP+EBP-TP)/(TP-TDP-EBP)
这给出了一个交错比率,其允许主机数据编程以恒定速率继续,直到存储器变满为止。可周期性或响应于某个触发事件来更新比率。此比率是可用于调度回收操作以允许恒定的主机数据编程速率的公式的一个实例。也可使用其它公式。用于计算交错比率的公式可基于例如上文计算的计算,或可基于实际存储器中的经验。可通过做出关于在计算中忽略哪些因数的额外假定来简化公式。或者,更复杂的公式可考虑额外因数,例如擦除区块花费的时间或可能需要经擦除区块作为用于垃圾收集的目的地区块的可能性。
尽管以上实例的存储器具有基于文件的主机接口,但本发明的方面可应用于使用基于扇区的主机接口或某种其它主机接口的存储器。尽管具有基于扇区的接口的一些存储器可能缺乏足够的信息来显著得益于应用所描述的技术,但可实现一些性能改进。另外,具有基于扇区的接口的一些存储器可分析FAT,或另外获得关于所存储数据的情况的额外信息。一些主机可使用额外命令来向控制器提供关于所存储数据的信息。这些信息可用于在比原本可能的时间更早的时间调度回收。
主机操作
在一些实例中,可在不同模式中不同地管理非易失性存储器中的回收操作。如先前描述,回收操作可在第一模式中以某个最小速率(在一些实例中包含零)操作,在第二模式中以自适应方式操作,以及在第三模式中以最大速率操作。可由存储器控制器根据预定标准选择回收模式。在一些实例中也可由主机控制回收模式。主机可确定选择三种所述模式中的哪一种。另外,主机可具有基于当前主机活动或预期主机活动选择适当回收模式的命令。主机系统可与图1所示的存储器系统物理上分离。或者,存储器卡内执行卡上应用程序的处理器可视为主机。此配置描述于第60/705,388号美国临时申请案。
关于存储器回收模式的第一主机命令是“回收_打开”命令,其允许持续的回收操作而不是交错的操作。以此方式完成的回收操作视为后台操作,因为其不导致对主机命令执行的任何延迟,且对主机是透明的。“回收_打开”等效于“闲置”命令,“闲置”命令告诉存储器主机在一段时间中将不发送额外命令。在一些系统中,这些可能是相同的命令。只要接收到另一主机命令,所得的回收_打开模式就结束。
“回收_正常”命令允许存储器在默认回收模式中操作。这可能意味着根据自适应调度的回收,或可能意味着向存储器控制器给出回收模式选择的控制,存储器控制器接着基于某个预定标准选择回收模式。当接收到导致回收_打开模式终止的主机命令时,存储器可能默认到此模式。
“回收_关闭”命令导致禁止回收操作并仅执行主机操作。可选择此模式以提供最大的主机数据写入性能。通过回收_打开或回收_正常命令来终止此模式。
按下降的回收速率次序的可能回收模式的分级为:
回收_打开:装置执行持续的回收操作,直到接收到另一命令为止。
最大交错:回收操作以固定的最大交错比率与主机数据写入操作交错。这是自适应交错比率的上限。
自适应交错:回收操作根据自适应交错比率与主机数据写入操作交错。
最小交错:回收操作以固定的最小交错比率与主机数据写入操作交错。这是自适应交错比率的下限。
回收_关闭:禁止回收操作,且仅执行主机数据写入操作。
应注意,以上描述涉及以恒定速率写入主机数据。在多个循环中观察由交错回收提供的恒定速率。当在个别循环级观察时,主机数据写入在散布有回收操作突发的周期性主机写入操作突发中发生。然而,每个循环或许多循环中的主机数据写入速率可以估计的速率保持恒定,使得其可维持,直到存储器阵列充满为止。
在以上描述中,可回收空间转换为存储器阵列中的经擦除区块的速率展示为恒定。然而,即使每个循环或每单位时间的回收操作的数目可能恒定,但通过回收操作产生经擦除区块的速率可能不恒定。这是因为可选择将回收的区块,使得较容易回收的区块首先被回收。因此,当自适应回收开始时,可针对复制的每R个数据页回收区块,因为正在回收的区块具有R个有效数据页。稍后,可回收具有2R个有效数据页的区块,使得针对所产生的每个经擦除区块花费2R次复制操作。因此,通过回收产生经擦除区块的速率减小到早先速率的一半。在其它实例中,产生经擦除区块的速率可根据区块回收的次序以其它方式变化。如果不考虑区块中包含的有效数据量而回收区块,那么通过回收产生经擦除区块的速率将相当恒定。
尽管已相对于本发明的示范性实施例描述了本发明的各个方面,但应了解本发明受到所附权利要求书的完整范围内的保护。

Claims (21)

1.一种管理具有区块擦除单位的非易失性存储器中的空间的方法,所述非易失性存储器具有部分填充有有效数据的区块,所述方法包括:
根据交错比率交错(a)从主机接收的主机数据到所述非易失性存储器的编程与(b)先前存储的有效数据从一个区块到另一区块的复制,所述交错比率是从对将被复制以回收所述存储器阵列中的空间的有效数据量的估计中导出的。
2.根据权利要求1所述的方法,其中所述交错提供从所述主机接收的主机数据到所述非易失性存储器的恒定编程速率。
3.根据权利要求2所述的方法,其中计算所述交错比率以持续以所述恒定速率的所述编程,直到所述非易失性存储器充满有效数据为止。
4.根据权利要求1所述的方法,其中响应于主机命令重新计算所述交错比率。
5.根据权利要求1所述的方法,其中所述交错比率是从对可存储在所述存储器阵列中的额外数据的估计中导出。
6.根据权利要求5所述的方法,其中所述对可存储在所述存储器阵列中的额外数据量的估计是从自主机接收的指示主机文件过时的信息中导出。
7.根据权利要求1所述的方法,其中所述交错响应于从多个模式中选择交错模式的主机命令而发生,所述多个模式包含禁止复制先前存储的数据的回收关闭模式以及允许复制先前存储的数据而不对主机数据进行编程的回收打开模式。
8.一种回收具有页编程单位、区块擦除单位的存储器阵列中的空间的方法,区块含有两个或两个以上页,所述存储器阵列含有多个区块,每一所述区块部分地但不是完全地填充有有效数据,所述方法包括:
以取决于存储在所述多个区块中的有效数据量的速率复制存储在所述多个区块中的有效数据;以及
在复制个别区块中的所有有效数据之后擦除所述多个区块中的个别区块。
9.根据权利要求8所述的方法,其中将所述复制与主机写入操作交错,且通过在允许主机写入操作的时间内复制的有效数据量来设置所述速率。
10.根据权利要求9所述的方法,其中通过在重复循环的单次发生中所复制的有效数据页数与所写入的主机数据页数的比率来设置所述速率。
11.根据权利要求10所述的方法,其中根据等式r=x/y计算所述比率,其中:
x是对所述多个区块中包含的必须被复制以回收所述多个区块中的空间的有效数据量的估计;且
y是在所述存储器阵列变满之前可存储在所述存储器阵列中的额外主机数据量。
12.根据权利要求9所述的方法,其中计算所述速率以在所述存储器阵列变为由所述主机写入操作填充时将有效数据的复制均匀分布在所述主机写入操作之间。
13.根据权利要求8所述的方法,其中所述多个区块含有通过识别过时数据而不提供替换数据的主机命令识别为过时的所述过时数据。
14.一种管理具有区块擦除单位的非易失性存储器中的空间的方法,其包括:
根据交错比率,在重复循环中交错(a)从主机接收的主机数据到所述非易失性存储器的编程与(b)先前存储的有效数据从一个区块到另一区块的复制,使得在所述存储器填充有主机数据时,在多个循环中以恒定速率对主机数据进行编程。
15.根据权利要求14所述的方法,其中所述交错比率是从对可编程到所述存储器阵列的额外主机数据总量的估计以及对必须从一个区块复制到另一区块以回收所述存储器阵列中的所有可回收空间的先前存储的有效数据总量的估计中算出。
16.根据权利要求15所述的方法,其中通过假定有效数据均等地分布在部分充满有效数据的区块中来获得所述对必须复制的先前存储的有效数据的估计。
17.一种存储器系统,其包括:
非易失性存储器阵列,其包含多个区块,区块是最小擦除单位;
存储器控制器,其维持存储在所述非易失性存储器阵列中的主机数据的逻辑到物理映射的记录,所述记录具有多个条目,个别条目通过唯一文件识别符和偏移量指示逻辑地址,所述存储器控制器根据主机提供的信息确定所存储数据是否有效或过时,所述存储器控制器以取决于将被复制以回收剩余可回收空间的数据量且取决于可在所述存储器阵列变满之前写入的额外主机数据总量的速率来复制有效数据。
18.根据权利要求17所述的存储器系统,其中响应于主机命令重新计算所述速率。
19.根据权利要求17所述的存储器系统,其中计算所述速率以提供主机数据的恒定编程速率,直到所述存储器填充有有效主机数据为止。
20.根据权利要求17所述的存储器系统,其中所述存储器系统实施在通过标准接口与所述主机通信的可移除存储器卡中。
21.根据权利要求17所述的存储器系统,其中所述主机提供关于使用唯一文件识别符的主机文件的信息来指主机文件。
CN2006800360852A 2005-08-03 2006-08-01 具有经调度回收操作的非易失性存储器 Active CN101278267B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US70538805P 2005-08-03 2005-08-03
US60/705,388 2005-08-03
US11/259,423 2005-10-25
US11/259,439 2005-10-25
US11/259,423 US7409489B2 (en) 2005-08-03 2005-10-25 Scheduling of reclaim operations in non-volatile memory
US11/259,439 US7984084B2 (en) 2005-08-03 2005-10-25 Non-volatile memory with scheduled reclaim operations
PCT/US2006/030166 WO2007019198A2 (en) 2005-08-03 2006-08-01 Non-volatile memory with scheduled reclaim operations

Publications (2)

Publication Number Publication Date
CN101278267A true CN101278267A (zh) 2008-10-01
CN101278267B CN101278267B (zh) 2012-08-22

Family

ID=37402587

Family Applications (7)

Application Number Title Priority Date Filing Date
CN2006800281668A Expired - Fee Related CN101233480B (zh) 2005-08-03 2006-08-01 用于索引直接存储数据文件的可重新编程的非易失性存储器中的文件数据的方法、设备和系统
CN2006800360852A Active CN101278267B (zh) 2005-08-03 2006-08-01 具有经调度回收操作的非易失性存储器
CN2006800284045A Expired - Fee Related CN101258473B (zh) 2005-08-03 2006-08-01 直接数据文件存储存储器中的数据合并和垃圾收集
CN2006800348564A Active CN101288045B (zh) 2005-08-03 2006-08-01 增强型主机接口
CN200680028003XA Expired - Fee Related CN101233479B (zh) 2005-08-03 2006-08-01 直接存储数据文件的存储器区块的管理
CN200680028197.3A Expired - Fee Related CN101233498B (zh) 2005-08-03 2006-08-01 快闪存储器中利用直接数据文件存储的数据操作
CNA2006800283184A Pending CN101233499A (zh) 2005-08-03 2006-08-01 回收快闪存储器系统中的数据存储容量

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2006800281668A Expired - Fee Related CN101233480B (zh) 2005-08-03 2006-08-01 用于索引直接存储数据文件的可重新编程的非易失性存储器中的文件数据的方法、设备和系统

Family Applications After (5)

Application Number Title Priority Date Filing Date
CN2006800284045A Expired - Fee Related CN101258473B (zh) 2005-08-03 2006-08-01 直接数据文件存储存储器中的数据合并和垃圾收集
CN2006800348564A Active CN101288045B (zh) 2005-08-03 2006-08-01 增强型主机接口
CN200680028003XA Expired - Fee Related CN101233479B (zh) 2005-08-03 2006-08-01 直接存储数据文件的存储器区块的管理
CN200680028197.3A Expired - Fee Related CN101233498B (zh) 2005-08-03 2006-08-01 快闪存储器中利用直接数据文件存储的数据操作
CNA2006800283184A Pending CN101233499A (zh) 2005-08-03 2006-08-01 回收快闪存储器系统中的数据存储容量

Country Status (7)

Country Link
US (12) US7984084B2 (zh)
EP (2) EP1920337A2 (zh)
JP (2) JP4537481B2 (zh)
KR (2) KR20080038364A (zh)
CN (7) CN101233480B (zh)
TW (6) TW200745929A (zh)
WO (2) WO2007019220A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004100A (zh) * 2014-12-26 2017-08-01 英特尔公司 用于数据安全的事件触发擦除
CN107015764A (zh) * 2017-03-17 2017-08-04 深圳市江波龙电子有限公司 Nand flash的数据处理方法、装置和一种Nand flash
CN107980126A (zh) * 2015-06-05 2018-05-01 桑迪士克科技有限责任公司 多裸芯储存装置的调度方案
CN108021630A (zh) * 2017-11-21 2018-05-11 深圳市雷鸟信息科技有限公司 垃圾文件清理方法、智能终端及计算机可读存储介质
CN110399093A (zh) * 2018-04-25 2019-11-01 三星电子株式会社 包括非易失性存储器件和控制器的存储设备
CN111324551A (zh) * 2018-12-13 2020-06-23 爱思开海力士有限公司 数据存储装置及其操作方法
CN116610597A (zh) * 2023-07-20 2023-08-18 合肥康芯威存储技术有限公司 一种存储器件及其垃圾回收的控制方法

Families Citing this family (528)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US7934064B1 (en) * 2004-12-21 2011-04-26 Acronis Inc. System and method for consolidation of backups
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7877539B2 (en) 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US9104315B2 (en) * 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US8200887B2 (en) * 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
JP2006350476A (ja) * 2005-06-13 2006-12-28 Sony Computer Entertainment Inc コンテンツ配信装置およびシステム
US8505075B2 (en) * 2005-07-14 2013-08-06 Marble Security, Inc. Enterprise device recovery
US8438647B2 (en) * 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US8321953B2 (en) * 2005-07-14 2012-11-27 Imation Corp. Secure storage device with offline code entry
US8335920B2 (en) * 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
JP4394047B2 (ja) * 2005-08-05 2010-01-06 信越ポリマー株式会社 キーフレームおよび押釦スイッチ用カバー部材
US20070067620A1 (en) * 2005-09-06 2007-03-22 Ironkey, Inc. Systems and methods for third-party authentication
US8938591B2 (en) * 2005-09-30 2015-01-20 Cleversafe, Inc. Dispersed storage processing unit and methods with data aggregation for use in a dispersed storage system
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US20070094445A1 (en) * 2005-10-20 2007-04-26 Trika Sanjeev N Method to enable fast disk caching and efficient operations on solid state disks
US20070116023A1 (en) * 2005-11-23 2007-05-24 Broadcom Corporation Method and apparatus for dynamically configuring a generic processing module
US20070136671A1 (en) * 2005-12-12 2007-06-14 Buhrke Eric R Method and system for directing attention during a conversation
US7877540B2 (en) 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US20070136553A1 (en) * 2005-12-13 2007-06-14 Sinclair Alan W Logically-addressed file storage systems
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US8266378B1 (en) 2005-12-22 2012-09-11 Imation Corp. Storage device with accessible partitions
US8639873B1 (en) 2005-12-22 2014-01-28 Imation Corp. Detachable storage device with RAM cache
US7818726B2 (en) * 2006-01-25 2010-10-19 Microsoft Corporation Script-based object adaptation
US7454587B1 (en) * 2006-02-06 2008-11-18 Xilinx, Inc. Method and apparatus for memory management in an integrated circuit
CN100485681C (zh) * 2006-03-23 2009-05-06 北京握奇数据系统有限公司 智能卡存储系统及该系统中文件创建管理的方法
US20070233752A1 (en) * 2006-03-30 2007-10-04 Kiran Bangalore Method and apparatus to reclaim nonvolatile memory space
US7469329B2 (en) 2006-03-30 2008-12-23 International Business Machines Corporation Methods for dynamically resizing memory pools
JP4135747B2 (ja) * 2006-04-06 2008-08-20 ソニー株式会社 データ処理装置及びフラッシュメモリへのアクセス方法
US8176249B2 (en) * 2006-05-21 2012-05-08 Amiram Grynberg Methods for embedding session secrets, within application instances
DE102006025133A1 (de) * 2006-05-30 2007-12-06 Infineon Technologies Ag Speicher- und Speicherkommunikationssystem
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
US8429242B1 (en) * 2006-06-26 2013-04-23 Emc Corporation Methods and apparatus for providing content
JP2008009803A (ja) * 2006-06-30 2008-01-17 Sony Corp 情報記憶装置、および、情報転送方法、情報転送システム、プログラム、並びに、記録媒体
US20080010323A1 (en) * 2006-07-06 2008-01-10 An Chen Computer Co., Ltd. Method for duplicating data
KR100758301B1 (ko) * 2006-08-04 2007-09-12 삼성전자주식회사 메모리 카드 및 그것의 데이터 저장 방법
US7444461B2 (en) * 2006-08-04 2008-10-28 Sandisk Corporation Methods for phased garbage collection
US7451265B2 (en) * 2006-08-04 2008-11-11 Sandisk Corporation Non-volatile memory storage systems for phased garbage collection
US8949555B1 (en) * 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
US7444462B2 (en) * 2006-09-28 2008-10-28 Sandisk Corporation Methods for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
US7441071B2 (en) * 2006-09-28 2008-10-21 Sandisk Corporation Memory systems for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
US7444463B2 (en) * 2006-09-29 2008-10-28 Sandisk Corporation System for phased garbage collection with state indicators
US7464216B2 (en) * 2006-09-29 2008-12-09 Sandisk Corporation Method for phased garbage collection with state indicators
KR100849221B1 (ko) * 2006-10-19 2008-07-31 삼성전자주식회사 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
WO2008057557A2 (en) * 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8074011B2 (en) 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
CN101622594B (zh) 2006-12-06 2013-03-13 弗森-艾奥公司 使用空数据令牌指令管理来自于请求设备的数据的装置、系统和方法
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8209605B2 (en) * 2006-12-13 2012-06-26 Pado Metaware Ab Method and system for facilitating the examination of documents
EP1939751A1 (en) * 2006-12-22 2008-07-02 Telefonaktiebolaget LM Ericsson (publ) Storing compressed data
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8046522B2 (en) * 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
JP5266250B2 (ja) 2006-12-26 2013-08-21 サンディスク テクノロジィース インコーポレイテッド 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用
US20080177782A1 (en) * 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR100869675B1 (ko) * 2007-02-05 2008-11-21 지인정보기술 주식회사 디스크립터 배열을 이용한 플래시 메모리 제어 시스템 및방법
KR100825802B1 (ko) * 2007-02-13 2008-04-29 삼성전자주식회사 기입 데이터의 논리적 페이지보다 이전 논리적 페이지들을가지는 데이터들을 데이터 블록으로부터 복사하는 불휘발성메모리 장치의 데이터 기입 방법
US7639540B2 (en) * 2007-02-16 2009-12-29 Mosaid Technologies Incorporated Non-volatile semiconductor memory having multiple external power supplies
KR100875294B1 (ko) * 2007-03-16 2008-12-23 삼성전자주식회사 프로그래밍시 블럭단위의 상태 레지스터를 확인하는 플래시메모리와 그 방법
US20080235480A1 (en) * 2007-03-21 2008-09-25 Shai Traister Systems for storing memory operations in a queue
US7987332B2 (en) * 2007-03-21 2011-07-26 Sandisk Technologies Inc. Methods for storing memory operations in a queue
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US9632870B2 (en) 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
DE102007015535A1 (de) * 2007-03-30 2008-10-02 Siemens Ag Verfahren zur digitalen Speicherung von Daten auf einem Datenspeicher mit beschränktem verfügbarem Speicherplatz
US8768898B1 (en) * 2007-04-26 2014-07-01 Netapp, Inc. Performing direct data manipulation on a storage device
US9785549B2 (en) * 2007-04-27 2017-10-10 Microsoft Technology Licensing, Llc Managing object lifetime for native/managed peers
US7991942B2 (en) * 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories
US8041883B2 (en) 2007-05-09 2011-10-18 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
US7882301B2 (en) * 2007-05-09 2011-02-01 Stmicroelectronics S.R.L. Wear leveling in storage devices based on flash memories and related circuit, system, and method
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US8041847B1 (en) 2007-05-10 2011-10-18 Marvell International Ltd. Periodic and conditional execution of DMA operations
US8010507B2 (en) * 2007-05-24 2011-08-30 Pado Metaware Ab Method and system for harmonization of variants of a sequential file
US20080307156A1 (en) * 2007-06-08 2008-12-11 Sinclair Alan W System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium
US8429352B2 (en) * 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
US8713283B2 (en) * 2007-06-08 2014-04-29 Sandisk Technologies Inc. Method of interfacing a host operating through a logical address space with a direct file storage medium
JPWO2009001514A1 (ja) * 2007-06-22 2010-08-26 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、ファイルシステム、不揮発性記憶システム、データ書き込み方法及びデータ書き込みプログラム
TWI369633B (en) * 2007-06-27 2012-08-01 Sandisk Corp Phased garbage collection and house keeping operations in a flash memory system
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US20090006506A1 (en) * 2007-06-28 2009-01-01 Nokia Corportion Method and system for garbage collection of native resources
US7822791B2 (en) * 2007-06-28 2010-10-26 Intel Corporation Method and apparatus for flash memory reclaim
US8201188B2 (en) * 2007-09-20 2012-06-12 Microsoft Corporation Device-hosted services over media transfer protocol
US7805632B1 (en) * 2007-09-24 2010-09-28 Net App, Inc. Storage system and method for rapidly recovering from a system failure
US8195912B2 (en) 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
EP2240867A4 (en) * 2007-12-13 2011-02-09 Redknee Inc METHOD AND SYSTEM FOR STORAGE
US9032154B2 (en) * 2007-12-13 2015-05-12 Sandisk Technologies Inc. Integration of secure data transfer applications for generic IO devices
US8880483B2 (en) * 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
US20090164745A1 (en) * 2007-12-21 2009-06-25 Alan Sinclair System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
US20090228716A1 (en) * 2008-02-08 2009-09-10 Pado Metawsre Ab Method and system for distributed coordination of access to digital files
US9060046B2 (en) * 2008-02-18 2015-06-16 Google Technology Holdings LLC Method and apparatus for transferring media data between devices
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
KR101477047B1 (ko) * 2008-02-29 2014-12-30 삼성전자주식회사 메모리 시스템 및 그것의 블록 병합 방법
TWI385520B (zh) * 2008-02-29 2013-02-11 Via Tech Inc 儲存單元管理方法及系統
JP4675985B2 (ja) * 2008-03-01 2011-04-27 株式会社東芝 メモリシステム
JP2009211234A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
WO2009109877A1 (en) * 2008-03-04 2009-09-11 Nxp B.V. Mobile communication device and method for implementing mifare memory multiple sectors mechanisms
CN101251788A (zh) * 2008-03-07 2008-08-27 威盛电子股份有限公司 储存单元管理方法及系统
US8484432B2 (en) 2008-03-11 2013-07-09 Kabushiki Kaisha Toshiba Memory system
JP2009230205A (ja) * 2008-03-19 2009-10-08 Toshiba Corp メモリシステム
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
US8880775B2 (en) * 2008-06-20 2014-11-04 Seagate Technology Llc System and method of garbage collection in a memory device
US8949937B2 (en) * 2008-06-24 2015-02-03 Nxp, B.V. Method of accessing applications in a secure mobile environment
US8843691B2 (en) 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory
KR100954039B1 (ko) * 2008-08-11 2010-04-20 (주)인디링스 플래시 메모리 제어 방법 및 제어 장치
US8281062B2 (en) * 2008-08-27 2012-10-02 Sandisk Il Ltd. Portable storage device supporting file segmentation and multiple transfer rates
TWI399651B (zh) * 2008-09-12 2013-06-21 Communication protocol method and system for input / output device
US20100070544A1 (en) * 2008-09-12 2010-03-18 Microsoft Corporation Virtual block-level storage over a file system
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
CN101676882B (zh) * 2008-09-16 2013-01-16 美光科技公司 存储器装置的内嵌映射信息
US7953774B2 (en) * 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
CN101685381B (zh) 2008-09-26 2013-07-24 美光科技公司 固态大容量存储装置的数据串流
US8429658B2 (en) * 2008-10-16 2013-04-23 International Business Machines Corporation Lock deferral for real-time garbage collection
US8205203B2 (en) * 2008-10-16 2012-06-19 International Business Machines Corporation Scheduling for real-time garbage collection
CN101727398B (zh) * 2008-10-31 2012-07-11 西安奇维测控科技有限公司 经信息序列化实现闪存控制器管理数据存储与还原的方法
JP5364340B2 (ja) * 2008-11-07 2013-12-11 株式会社ケーヒン バックアップ方法及び装置並びに車両用電子制御装置
US8341311B1 (en) 2008-11-18 2012-12-25 Entorian Technologies, Inc System and method for reduced latency data transfers from flash memory to host by utilizing concurrent transfers into RAM buffer memory and FIFO host interface
KR101469771B1 (ko) * 2008-12-03 2014-12-08 삼성전자주식회사 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US9104686B2 (en) * 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US20120173593A1 (en) * 2008-12-16 2012-07-05 Fabrice Jogand-Coulomb System and Method for Managing Discardable Objects
JP5268617B2 (ja) * 2008-12-17 2013-08-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びコンピュータプログラム
JP4551958B2 (ja) * 2008-12-22 2010-09-29 株式会社東芝 半導体記憶装置および半導体記憶装置の制御方法
US8452940B2 (en) * 2008-12-30 2013-05-28 Sandisk Technologies Inc. Optimized memory management for random and sequential data writing
US8327040B2 (en) 2009-01-26 2012-12-04 Micron Technology, Inc. Host controller
US8386723B2 (en) * 2009-02-11 2013-02-26 Sandisk Il Ltd. System and method of host request mapping
US20100235605A1 (en) * 2009-02-13 2010-09-16 Nir Perry Enhancement of storage life expectancy by bad block management
US9098396B2 (en) * 2009-02-13 2015-08-04 Sandisk Il Ltd. Enhancement of efficiency in power failure handling in flash memory
KR20100094241A (ko) * 2009-02-18 2010-08-26 삼성전자주식회사 예비 블록을 포함하지 않는 불휘발성 메모리 장치
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US20110055297A1 (en) * 2009-03-13 2011-03-03 Takuji Maeda Access module, information recording module, controller, and information recording system
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US20100250830A1 (en) * 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US8090905B2 (en) * 2009-03-27 2012-01-03 Sandforce, Inc. System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format
KR101574540B1 (ko) * 2009-04-15 2015-12-07 삼성전자주식회사 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
WO2010125574A1 (en) 2009-04-27 2010-11-04 Kamlesh Gandhi Description
US8341501B2 (en) 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
TWI455133B (zh) * 2009-05-26 2014-10-01 Silicon Motion Inc 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
US8504759B2 (en) * 2009-05-26 2013-08-06 Micron Technology, Inc. Method and devices for controlling power loss
DE112009004900T5 (de) * 2009-06-10 2012-08-16 Micron Technology, Inc. Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern
US20100325351A1 (en) * 2009-06-12 2010-12-23 Bennett Jon C R Memory system having persistent garbage collection
US8364931B2 (en) * 2009-06-29 2013-01-29 Mediatek Inc. Memory system and mapping methods using a random write page mapping table
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US9792074B2 (en) * 2009-07-06 2017-10-17 Seagate Technology Llc System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
JP5254141B2 (ja) * 2009-07-14 2013-08-07 富士通株式会社 アーカイブ装置、データ格納プログラムおよびデータ格納方法
US9218349B2 (en) 2009-07-27 2015-12-22 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US8683088B2 (en) * 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
WO2011031796A2 (en) 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
CN102598019B (zh) * 2009-09-09 2015-08-19 才智知识产权控股公司(2) 用于分配存储的设备、系统和方法
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
CN102597910B (zh) 2009-09-09 2015-03-25 弗森-艾奥公司 存储设备中用于功率减小管理的装置、系统及方法
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8234250B1 (en) * 2009-09-17 2012-07-31 Netapp. Inc. Processing data of a file using multiple threads during a deduplication gathering phase
TWI506422B (zh) * 2009-09-23 2015-11-01 Silicon Motion Inc 用來管理具有多通道、多途徑的記憶裝置之方法以及相關之記憶裝置及其控制器
US8364929B2 (en) * 2009-10-23 2013-01-29 Seagate Technology Llc Enabling spanning for a storage device
US8745353B2 (en) * 2009-10-23 2014-06-03 Seagate Technology Llc Block boundary resolution for mismatched logical and physical block sizes
US8549223B1 (en) 2009-10-29 2013-10-01 Symantec Corporation Systems and methods for reclaiming storage space on striped volumes
US8140740B2 (en) * 2009-10-29 2012-03-20 Hewlett-Packard Development Company, L.P. Data defragmentation of solid-state memory
US8635422B1 (en) * 2009-10-29 2014-01-21 Symantec Corporation Systems and methods for reclaiming storage space from deleted volumes on thin-provisioned disks
US9110594B2 (en) * 2009-11-04 2015-08-18 Seagate Technology Llc File management system for devices containing solid-state media
JP5593682B2 (ja) * 2009-11-17 2014-09-24 セイコーエプソン株式会社 プリンター、プリンターの制御方法、及び、プログラム
TWI423024B (zh) * 2009-11-23 2014-01-11 Phison Electronics Corp 用於快閃記憶體的資料儲存方法及其控制器與儲存系統
JP5480913B2 (ja) * 2009-12-03 2014-04-23 株式会社日立製作所 記憶装置、およびメモリコントローラ
US8176234B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Multi-write coding of non-volatile memories
US8176235B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Non-volatile memories with enhanced write performance and endurance
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US20110153912A1 (en) * 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
TWI484334B (zh) * 2009-12-24 2015-05-11 Univ Nat Taiwan 非揮發記憶體的區域式管理方法
TWI409633B (zh) * 2010-02-04 2013-09-21 Phison Electronics Corp 快閃記憶體儲存裝置、其控制器與資料寫入方法
CN101799820B (zh) * 2010-02-08 2013-03-20 深圳市同洲电子股份有限公司 闪存、文件系统挂载方法及装置、数据管理方法及装置
JP2011192260A (ja) 2010-02-16 2011-09-29 Toshiba Corp 半導体記憶装置
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8108447B2 (en) * 2010-03-11 2012-01-31 Symantec Corporation Systems and methods for garbage collection in deduplicated data systems
JP2011192240A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
JP5066209B2 (ja) 2010-03-18 2012-11-07 株式会社東芝 コントローラ、データ記憶装置、及びプログラム
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
JP2011209973A (ja) * 2010-03-30 2011-10-20 Hitachi Ltd ディスクアレイ構成プログラム、計算機、計算機システム
US10013252B2 (en) * 2010-04-16 2018-07-03 Oracle International Corporation Software development compliance system
TW201140315A (en) * 2010-05-11 2011-11-16 Jmicron Technology Corp Method for estimating capacity usage status of storage unit, and associated memory device and controller thereof
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
US8683148B2 (en) * 2010-06-30 2014-03-25 Sandisk Il Ltd. Status indication when a maintenance operation is to be performed at a memory device
US9141538B2 (en) * 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
US8369156B2 (en) 2010-07-13 2013-02-05 Sandisk Technologies Inc. Fast random access to non-volatile storage
CN101901263A (zh) * 2010-07-22 2010-12-01 华为终端有限公司 文件系统的访问方法及装置
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
WO2012016089A2 (en) 2010-07-28 2012-02-02 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US20120036301A1 (en) * 2010-08-03 2012-02-09 Caspole Eric R Processor support for filling memory regions
US9146875B1 (en) * 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
JP5569936B2 (ja) * 2010-08-11 2014-08-13 国立大学法人 東京大学 制御装置およびデータ記憶装置
US8468007B1 (en) * 2010-08-13 2013-06-18 Google Inc. Emulating a peripheral mass storage device with a portable device
US8667248B1 (en) * 2010-08-31 2014-03-04 Western Digital Technologies, Inc. Data storage device using metadata and mapping table to identify valid user data on non-volatile media
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
US8769374B2 (en) 2010-10-13 2014-07-01 International Business Machines Corporation Multi-write endurance and error control coding of non-volatile memories
CN102455973A (zh) * 2010-10-19 2012-05-16 厦门华侨电子股份有限公司 一种利用Flash芯片剩余空间设置数据区擦写数据的方法
CN102004697B (zh) * 2010-10-21 2012-09-19 北京握奇数据系统有限公司 一种Flash的回收方法和装置
CN102467522B (zh) * 2010-11-10 2013-09-11 中兴通讯股份有限公司 一种基于nand闪存的文件系统的自编程方法及装置
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
WO2012100087A2 (en) 2011-01-19 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for managing out-of-service conditions
JP5917163B2 (ja) * 2011-01-27 2016-05-11 キヤノン株式会社 情報処理装置、その制御方法及びプログラム並びに記憶媒体
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
KR20120088454A (ko) * 2011-01-31 2012-08-08 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 비휘발성 메모리 장치와, 이를 위한 프로그램 방법
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9575842B2 (en) * 2011-02-24 2017-02-21 Ca, Inc. Multiplex backup using next relative addressing
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8621328B2 (en) 2011-03-04 2013-12-31 International Business Machines Corporation Wear-focusing of non-volatile memories for improved endurance
US8972696B2 (en) 2011-03-07 2015-03-03 Microsoft Technology Licensing, Llc Pagefile reservations
FR2965079A1 (fr) * 2011-03-15 2012-03-23 Continental Automotive France Procede de gestion d'une memoire non volatile
US8661221B2 (en) * 2011-03-16 2014-02-25 International Business Machines Corporation Leasing fragmented storage between processes
US8966191B2 (en) 2011-03-18 2015-02-24 Fusion-Io, Inc. Logical interface for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US9311229B2 (en) 2011-03-29 2016-04-12 Blackberry Limited System and method for managing flash memory
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
CN102736985B (zh) * 2011-03-30 2015-10-14 群联电子股份有限公司 数据合并方法、控制器与储存装置
US9009438B2 (en) 2011-06-01 2015-04-14 International Business Machines Corporation Space reclamation in multi-layered and thin provisioned storage systems
US9449692B2 (en) 2011-08-03 2016-09-20 Micron Technology, Inc. Functional data programming and reading in a memory
JP4988054B2 (ja) * 2011-08-12 2012-08-01 株式会社東芝 メモリシステム
CN102508784B (zh) * 2011-11-02 2015-01-07 杭州海康威视数字技术股份有限公司 视频监控设备中闪存卡的数据存储方法及其系统
KR101298191B1 (ko) 2011-11-04 2013-08-20 에스케이하이닉스 주식회사 반도체 메모리 장치, 이를 위한 연속 프로그램 제어 회로 및 프로그램 방법
US8832411B2 (en) * 2011-12-14 2014-09-09 Microsoft Corporation Working set swapping using a sequentially ordered swap file
US9274945B2 (en) * 2011-12-15 2016-03-01 International Business Machines Corporation Processing unit reclaiming requests in a solid state memory device
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
KR20130075018A (ko) * 2011-12-27 2013-07-05 한국전자통신연구원 플래시 메모리 파일 시스템에 적용 가능한 데이터 업데이트 장치 및 방법
EP2798500A1 (en) 2011-12-29 2014-11-05 Memory Technologies LLC Method for erasing data entity in memory module
KR20130078973A (ko) * 2012-01-02 2013-07-10 삼성전자주식회사 메모리 장치의 불량 저장 영역 관리 방법 및 이를 이용한 저장 장치
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US8868978B2 (en) 2012-02-14 2014-10-21 International Business Machines Corporation Reclaiming discarded solid state devices
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
DE102012006046A1 (de) * 2012-03-27 2013-10-02 Heidelberger Druckmaschinen Ag Adaptives Remote-Service-Protokoll
US20150127916A1 (en) * 2012-04-25 2015-05-07 Hewlett-Packard Development Company, L.P. Dynamic memory allocation
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US9116792B2 (en) * 2012-05-18 2015-08-25 Silicon Motion, Inc. Data storage device and method for flash block management
TWI477966B (zh) * 2012-05-31 2015-03-21 Silicon Motion Inc 資料儲存裝置與快閃記憶體操作方法
US9846641B2 (en) 2012-06-18 2017-12-19 International Business Machines Corporation Variability aware wear leveling
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US8799561B2 (en) * 2012-07-27 2014-08-05 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9921954B1 (en) * 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9201784B2 (en) * 2012-09-07 2015-12-01 Kabushiki Kaisha Toshiba Semiconductor storage device and method for controlling nonvolatile semiconductor memory
US10282286B2 (en) * 2012-09-14 2019-05-07 Micron Technology, Inc. Address mapping using a data unit type that is variable
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
TWI479492B (zh) * 2012-11-20 2015-04-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與資料寫入方法
US9411718B2 (en) * 2012-12-21 2016-08-09 Seagate Technology Llc Method to apply fine grain wear leveling and garbage collection
US9430376B2 (en) * 2012-12-26 2016-08-30 Western Digital Technologies, Inc. Priority-based garbage collection for data storage systems
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
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US10445229B1 (en) * 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
JP5619198B2 (ja) * 2013-02-04 2014-11-05 株式会社フィックスターズ 情報処理装置、情報処理方法、およびプログラム
US9383924B1 (en) * 2013-02-27 2016-07-05 Netapp, Inc. Storage space reclamation on volumes with thin provisioning capability
US9361040B1 (en) * 2013-02-27 2016-06-07 Marvell International Ltd. Systems and methods for data storage management
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US8656255B1 (en) * 2013-03-15 2014-02-18 Avalanche Technology, Inc. Method for reducing effective raw bit error rate in multi-level cell NAND flash memory
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9632926B1 (en) * 2013-05-16 2017-04-25 Western Digital Technologies, Inc. Memory unit assignment and selection for internal memory operations in data storage systems
CN103268291B (zh) * 2013-05-23 2016-02-24 清华大学 在闪存存储系统中延迟持久化索引元数据的方法
US9256371B2 (en) 2013-05-28 2016-02-09 Globalfoundries Inc. Implementing reinforcement learning based flash control
US9349450B2 (en) 2013-06-10 2016-05-24 Micron Technology, Inc. Memory devices and memory operational methods including single erase operation of conductive bridge memory cells
US10102148B2 (en) 2013-06-13 2018-10-16 Microsoft Technology Licensing, Llc Page-based compressed storage management
US9690837B1 (en) * 2013-06-28 2017-06-27 EMC IP Holding Company LLC Techniques for preserving redundant copies of metadata in a data storage system employing de-duplication
US9785545B2 (en) * 2013-07-15 2017-10-10 Cnex Labs, Inc. Method and apparatus for providing dual memory access to non-volatile memory
US9477484B2 (en) 2013-07-23 2016-10-25 Samsung Electronics Co., Ltd. System and method for boot acceleration of a data processing system wherein a nonvolatile memory is pre-configured before boot time
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US9639463B1 (en) * 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
JP6271939B2 (ja) * 2013-10-11 2018-01-31 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US9569447B2 (en) * 2013-11-08 2017-02-14 Texas Instruments Incorporated File access method and system thereof
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
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
CN104699688A (zh) * 2013-12-04 2015-06-10 杭州鹰湾科技有限公司 一种搜索文件的方法和电子设备
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
KR20150068747A (ko) 2013-12-12 2015-06-22 삼성전자주식회사 비휘발성 메모리 시스템, 이를 포함하는 모바일 장치 및 비휘발성 메모리 시스템의 동작방법
CN104731710B (zh) * 2013-12-18 2018-06-29 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器储存装置
US20150186257A1 (en) * 2013-12-26 2015-07-02 Anand S. Ramalingam Managing a transfer buffer for a non-volatile memory
CA2881206A1 (en) 2014-02-07 2015-08-07 Andrew WARFIELD Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US11537290B2 (en) 2014-03-20 2022-12-27 International Business Machines Corporation Managing high performance storage systems with hybrid storage technologies
US9684625B2 (en) 2014-03-21 2017-06-20 Microsoft Technology Licensing, Llc Asynchronously prefetching sharable memory pages
KR102164617B1 (ko) 2014-03-24 2020-10-12 삼성전자주식회사 데이터 저장 장치의 동작 방법과 상기 데이터 저장 장치를 포함하는 시스템의 동작 방법
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9996303B2 (en) * 2014-05-08 2018-06-12 Kabushiki Kaisha Toshiba Hybrid-HDD that gives up old NAND data at the last moment
KR102211709B1 (ko) 2014-05-19 2021-02-02 삼성전자주식회사 신호 송수신 특성을 향상한 불휘발성 메모리 시스템, 호스트 장치, 불휘발성 메모리 시스템 및 호스트의 동작방법
US9383926B2 (en) * 2014-05-27 2016-07-05 Kabushiki Kaisha Toshiba Host-controlled garbage collection
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
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
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
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
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
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
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
KR102148389B1 (ko) 2014-06-11 2020-08-27 삼성전자주식회사 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
TWI554944B (zh) * 2014-06-20 2016-10-21 慧榮科技股份有限公司 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法
JP6119682B2 (ja) * 2014-06-27 2017-04-26 株式会社デンソー 電子制御装置
US9710326B2 (en) 2014-07-28 2017-07-18 SK Hynix Inc. Encoder by-pass with scrambler
TWI524180B (zh) * 2014-08-15 2016-03-01 財團法人資訊工業策進會 位元組定址儲存系統
US9600409B2 (en) * 2014-08-29 2017-03-21 EMC IP Holding Company LLC Method and system for garbage collection in a storage system based on longevity of stored data
US9652382B1 (en) * 2014-09-04 2017-05-16 Sk Hynix Memory Solutions Inc. Look-ahead garbage collection for NAND flash based storage
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
JP2016057876A (ja) * 2014-09-10 2016-04-21 富士通株式会社 情報処理装置、入出力制御プログラム、及び入出力制御方法
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9658966B2 (en) 2014-11-24 2017-05-23 Sandisk Technologies Llc Systems and methods of write cache flushing
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
KR102277521B1 (ko) 2015-01-23 2021-07-16 삼성전자주식회사 저장 장치 및 그것의 리드 리클레임 및 읽기 방법
CN105988935B (zh) * 2015-02-04 2019-04-23 群联电子股份有限公司 智能卡管理方法、存储器存储装置及存储器控制电路单元
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9632924B2 (en) 2015-03-02 2017-04-25 Microsoft Technology Licensing, Llc Using memory compression to reduce memory commit charge
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
JP2016170583A (ja) * 2015-03-12 2016-09-23 株式会社東芝 メモリシステムおよび情報処理システム
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US10037270B2 (en) 2015-04-14 2018-07-31 Microsoft Technology Licensing, Llc Reducing memory commit charge when compressing memory
US9811462B2 (en) 2015-04-30 2017-11-07 Toshiba Memory Corporation Memory system executing garbage collection
KR102402783B1 (ko) * 2015-05-11 2022-05-27 삼성전자 주식회사 전자 장치 및 이의 페이지 병합 방법
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US9875053B2 (en) 2015-06-05 2018-01-23 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US10635307B2 (en) 2015-06-30 2020-04-28 International Business Machines Corporation Memory state indicator
US10248418B2 (en) 2015-06-30 2019-04-02 International Business Machines Corporation Cleared memory indicator
US10884945B2 (en) 2015-06-30 2021-01-05 International Business Machines Corporation Memory state indicator check operations
CN106326136A (zh) * 2015-07-02 2017-01-11 广明光电股份有限公司 固态硬盘搜集垃圾区块的方法
CN106325764B (zh) * 2015-07-08 2021-02-26 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
JP2016026345A (ja) * 2015-09-03 2016-02-12 マイクロン テクノロジー, インク. メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止
US10268400B2 (en) * 2015-09-03 2019-04-23 Sandisk Technologies Llc System and method for file detection and usage during compaction
KR102387956B1 (ko) 2015-09-09 2022-04-19 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템
KR102501751B1 (ko) 2015-09-22 2023-02-20 삼성전자주식회사 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법
WO2017052571A1 (en) * 2015-09-25 2017-03-30 Hitachi Data Systems Corporation Adaptive storage reclamation
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10133490B2 (en) * 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10102119B2 (en) * 2015-10-30 2018-10-16 Sandisk Technologies Llc Garbage collection based on queued and/or selected write commands
KR102468992B1 (ko) * 2015-11-06 2022-11-22 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US10303371B2 (en) 2015-12-02 2019-05-28 Toshiba Memory Corporation Data storage device that stabilizes write latency
TWI609323B (zh) * 2016-01-29 2017-12-21 捷鼎國際股份有限公司 資料儲存方法及其系統
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10739996B1 (en) 2016-07-18 2020-08-11 Seagate Technology Llc Enhanced garbage collection
US10481830B2 (en) * 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
KR20180014975A (ko) * 2016-08-02 2018-02-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
KR102618699B1 (ko) 2016-09-28 2024-01-02 삼성전자주식회사 호스트에 의해 제어되는 스토리지 장치를 포함하는 컴퓨팅 시스템
KR20180053027A (ko) 2016-11-11 2018-05-21 삼성전자주식회사 스토리지 장치 및 그 동작 방법
CN106598508A (zh) * 2016-12-30 2017-04-26 郑州云海信息技术有限公司 一种固态硬盘及其写入仲裁方法、系统
US10838634B1 (en) * 2016-12-30 2020-11-17 EMC IP Holding Company LLC Managing storage capacity in version families having both writable and read-only data objects
US10255179B2 (en) * 2016-12-30 2019-04-09 Western Digital Technologies, Inc. Garbage collection read throttling
CN108509349B (zh) * 2017-02-27 2022-10-14 得一微电子股份有限公司 一种nand flash的数据源区块回收方法及固态硬盘
JP6765322B2 (ja) * 2017-02-28 2020-10-07 キオクシア株式会社 メモリシステムおよび制御方法
CN108572887A (zh) * 2017-03-14 2018-09-25 上海骐宏电驱动科技有限公司 数据检验校正方法
US11893265B2 (en) * 2017-05-02 2024-02-06 Google Llc Garbage collection for data storage
US10379765B2 (en) * 2017-06-27 2019-08-13 Western Digital Technologies, Inc. Geometry-aware command scheduling
US10521106B2 (en) 2017-06-27 2019-12-31 International Business Machines Corporation Smart element filtering method via gestures
KR102430791B1 (ko) * 2017-07-19 2022-08-10 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
CN107678684B (zh) * 2017-08-22 2020-11-10 深圳市硅格半导体有限公司 存储器的无效数据清除方法、装置和存储器
US11100996B2 (en) * 2017-08-30 2021-08-24 Micron Technology, Inc. Log data storage for flash memory
CN110709810B (zh) * 2017-10-09 2021-12-24 华为技术有限公司 一种垃圾数据清理方法及设备
KR20190052368A (ko) * 2017-11-08 2019-05-16 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10445230B2 (en) * 2017-12-08 2019-10-15 Macronix International Co., Ltd. Managing block arrangement of super blocks
US10642602B2 (en) * 2017-12-12 2020-05-05 Nxp Usa, Inc. NVM architecture with OTA support
US11099760B2 (en) * 2017-12-14 2021-08-24 Intel Corporation Background data refresh using a system timestamp in storage devices
TWI644207B (zh) * 2017-12-29 2018-12-11 國科美國研究實驗室 Method for garbage collection of data storage device
CN114035749B (zh) * 2018-01-12 2023-02-28 珠海极海半导体有限公司 电子设备和Flash存储器
CN110109868B (zh) * 2018-01-18 2023-07-18 伊姆西Ip控股有限责任公司 用于索引文件的方法、装置和计算机程序产品
JP6443571B1 (ja) * 2018-02-02 2018-12-26 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
KR20190102790A (ko) * 2018-02-27 2019-09-04 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법과, 이를 포함하는 메모리 시스템
US10884916B2 (en) * 2018-03-29 2021-01-05 Intel Corporation Non-volatile file update media
CN108536614A (zh) * 2018-03-30 2018-09-14 天津麒麟信息技术有限公司 一种Flash直接随机写实现方法、装置及存储介质
KR20190120966A (ko) * 2018-04-17 2019-10-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11301376B2 (en) 2018-06-11 2022-04-12 Seagate Technology Llc Data storage device with wear range optimization
CN110633225B (zh) * 2018-06-25 2022-11-15 慧荣科技股份有限公司 实体存储对照表产生装置及方法
KR20200016075A (ko) * 2018-08-06 2020-02-14 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 탐색 방법 및 장치
US10891224B2 (en) 2018-09-06 2021-01-12 Micron Technology, Inc. Maintaining data consistency in a memory sub system that uses hybrid wear leveling operations
TWI703438B (zh) 2018-09-11 2020-09-01 慧榮科技股份有限公司 映射表更新方法
US11175802B2 (en) * 2018-09-21 2021-11-16 Sap Se Configuration object deletion manager
KR102645142B1 (ko) * 2018-10-25 2024-03-07 삼성전자주식회사 예측된 유효 페이지들을 이용하여 가비지 콜렉션을 수행하는 스토리지 장치들, 방법들 및 불휘발성 메모리 장치들
TWI709042B (zh) * 2018-11-08 2020-11-01 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
EP3866016A4 (en) * 2018-11-20 2021-11-10 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR DELETING INDEX ENTRY IN MEMORY
KR20200067035A (ko) * 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US20220114147A1 (en) * 2018-12-19 2022-04-14 Sony Group Corporation Information processing apparatus, information processing method, and information processing program
US10915444B2 (en) * 2018-12-27 2021-02-09 Micron Technology, Inc. Garbage collection candidate selection using block overwrite rate
TWI739075B (zh) * 2019-01-03 2021-09-11 慧榮科技股份有限公司 閃存的資料寫入方法及電腦程式產品
US11288185B2 (en) 2019-01-03 2022-03-29 Silicon Motion, Inc. Method and computer program product for performing data writes into a flash memory
US10976950B1 (en) * 2019-01-15 2021-04-13 Twitter, Inc. Distributed dataset modification, retention, and replication
US11113270B2 (en) 2019-01-24 2021-09-07 EMC IP Holding Company LLC Storing a non-ordered associative array of pairs using an append-only storage medium
US11327809B2 (en) 2019-06-19 2022-05-10 International Business Machines Corporation Virtual machine memory removal increment selection
CN112544038A (zh) * 2019-07-22 2021-03-23 华为技术有限公司 存储系统数据压缩的方法、装置、设备及可读存储介质
US11508021B2 (en) * 2019-07-22 2022-11-22 Vmware, Inc. Processes and systems that determine sustainability of a virtual infrastructure of a distributed computing system
KR20210012329A (ko) * 2019-07-24 2021-02-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI688956B (zh) * 2019-08-28 2020-03-21 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN112486404A (zh) * 2019-09-12 2021-03-12 伊姆西Ip控股有限责任公司 用于管理存储块的方法、设备和计算机程序产品
US11494311B2 (en) 2019-09-17 2022-11-08 Micron Technology, Inc. Page table hooks to memory types
US11650742B2 (en) * 2019-09-17 2023-05-16 Micron Technology, Inc. Accessing stored metadata to identify memory devices in which data is stored
US11269780B2 (en) 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US10963396B1 (en) 2019-09-17 2021-03-30 Micron Technology, Inc. Memory system for binding data to a memory namespace
KR20210044564A (ko) 2019-10-15 2021-04-23 삼성전자주식회사 스토리지 장치 및 그것의 가비지 컬렉션 방법
US11762569B2 (en) * 2019-10-29 2023-09-19 International Business Machines Corporation Workload based relief valve activation for hybrid controller architectures
KR20210051873A (ko) * 2019-10-31 2021-05-10 에스케이하이닉스 주식회사 컨트롤러 및 메모리 시스템
CN111049729A (zh) * 2019-11-29 2020-04-21 苏州浪潮智能科技有限公司 一种持久化消息传输方法与装置
US11157179B2 (en) 2019-12-03 2021-10-26 Pure Storage, Inc. Dynamic allocation of blocks of a storage device based on power loss protection
JP2021099642A (ja) * 2019-12-20 2021-07-01 キヤノン株式会社 情報処理装置および情報処理装置の制御方法
KR20210100265A (ko) 2020-02-06 2021-08-17 삼성전자주식회사 스토리지 장치 및 그 동작 방법
US11748277B2 (en) 2020-03-05 2023-09-05 Seagate Technology, Llc Client input/output (I/O) access rate variation compensation
US11704035B2 (en) 2020-03-30 2023-07-18 Pure Storage, Inc. Unified storage on block containers
CN113495681A (zh) * 2020-04-07 2021-10-12 杭州萤石软件有限公司 一种nand flash文件数据存取方法、装置及存储介质
US11604759B2 (en) 2020-05-01 2023-03-14 EMC IP Holding Company LLC Retention management for data streams
US11599546B2 (en) 2020-05-01 2023-03-07 EMC IP Holding Company LLC Stream browser for data streams
US11599420B2 (en) 2020-07-30 2023-03-07 EMC IP Holding Company LLC Ordered event stream event retention
US11567665B2 (en) * 2020-08-31 2023-01-31 Micron Technology, Inc. Data dispersion-based memory management
US11513871B2 (en) 2020-09-30 2022-11-29 EMC IP Holding Company LLC Employing triggered retention in an ordered event stream storage system
US11755555B2 (en) 2020-10-06 2023-09-12 EMC IP Holding Company LLC Storing an ordered associative array of pairs using an append-only storage medium
KR20220048864A (ko) * 2020-10-13 2022-04-20 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11599293B2 (en) 2020-10-14 2023-03-07 EMC IP Holding Company LLC Consistent data stream replication and reconstruction in a streaming data storage platform
KR20220060385A (ko) * 2020-11-04 2022-05-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11494111B2 (en) * 2020-12-17 2022-11-08 Micron Technology, Inc. Data operation based on valid memory unit count
US11556270B2 (en) * 2021-01-07 2023-01-17 EMC IP Holding Company LLC Leveraging garbage collection for raid transformation
US11816065B2 (en) 2021-01-11 2023-11-14 EMC IP Holding Company LLC Event level retention management for data streams
US20220222008A1 (en) * 2021-01-14 2022-07-14 Silicon Motion, Inc. Method for managing flash memory module and associated flash memory controller and memory device
CN114780014A (zh) * 2021-01-22 2022-07-22 伊姆西Ip控股有限责任公司 管理元数据存储单元的方法、电子设备和计算机程序产品
TWI766582B (zh) * 2021-02-17 2022-06-01 群聯電子股份有限公司 有效資料合併方法、記憶體儲存裝置及記憶體控制電路單元
US20220291858A1 (en) * 2021-03-15 2022-09-15 Pure Storage, Inc. Utilizing programming page size granularity to optimize data segment storage in a storage system
US11775197B2 (en) * 2021-03-25 2023-10-03 Kyocera Document Solutions Inc. Single command for reading then clearing dynamic random access memory
US11740828B2 (en) * 2021-04-06 2023-08-29 EMC IP Holding Company LLC Data expiration for stream storages
US11740821B2 (en) * 2021-04-12 2023-08-29 EMC IP Holding Company LLC Cost-aware garbage collection for cloud storage
US11500578B2 (en) * 2021-04-19 2022-11-15 Micron Technology, Inc. Memory access threshold based memory management
US11954537B2 (en) 2021-04-22 2024-04-09 EMC IP Holding Company LLC Information-unit based scaling of an ordered event stream
US11681460B2 (en) 2021-06-03 2023-06-20 EMC IP Holding Company LLC Scaling of an ordered event stream based on a writer group characteristic
US11513720B1 (en) * 2021-06-11 2022-11-29 Western Digital Technologies, Inc. Data storage device having predictive analytics
US11543993B1 (en) * 2021-06-17 2023-01-03 Western Digital Technologies, Inc. Fast garbage collection in zoned namespaces SSDs
US11735282B2 (en) 2021-07-22 2023-08-22 EMC IP Holding Company LLC Test data verification for an ordered event stream storage system
US11733893B2 (en) * 2021-07-28 2023-08-22 International Business Machines Corporation Management of flash storage media
US11907564B2 (en) * 2021-08-03 2024-02-20 Yadro International Ltd. Method of and system for initiating garbage collection requests
US11922047B2 (en) * 2021-09-16 2024-03-05 EMC IP Holding Company LLC Using RPO as an optimization target for DataDomain garbage collection
JP2023044330A (ja) * 2021-09-17 2023-03-30 キオクシア株式会社 メモリシステムおよび制御方法
US11847334B2 (en) * 2021-09-23 2023-12-19 EMC IP Holding Company LLC Method or apparatus to integrate physical file verification and garbage collection (GC) by tracking special segments
US20230195351A1 (en) * 2021-12-17 2023-06-22 Samsung Electronics Co., Ltd. Automatic deletion in a persistent storage device
US11822813B2 (en) 2021-12-28 2023-11-21 Samsung Electronics Co., Ltd. Storage device, operation method of storage device, and storage system using the same
US20230280926A1 (en) * 2022-03-03 2023-09-07 Western Digital Technologies, Inc. Data Relocation With Protection For Open Relocation Destination Blocks
US11886735B2 (en) * 2022-03-22 2024-01-30 Micron Technology, Inc. Data movement based on address table activity
US11934656B2 (en) * 2022-04-11 2024-03-19 Netapp, Inc. Garbage collection and bin synchronization for distributed storage architecture
US11941297B2 (en) 2022-04-11 2024-03-26 Netapp, Inc. Garbage collection and bin synchronization for distributed storage architecture
US11947452B2 (en) * 2022-06-01 2024-04-02 Micron Technology, Inc. Controlling variation of valid data counts in garbage collection source blocks
US20240012579A1 (en) * 2022-07-06 2024-01-11 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for data placement in a storage device
US20240053911A1 (en) * 2022-08-12 2024-02-15 Micron Technology, Inc. Assigning blocks of memory systems
CN115292247B (zh) * 2022-09-28 2022-12-06 北京鼎轩科技有限责任公司 一种文件读取方法、装置、电子设备和存储介质
CN116610596B (zh) * 2023-07-19 2023-10-03 合肥康芯威存储技术有限公司 一种存储器件及其数据处理方法
CN117632039A (zh) * 2024-01-25 2024-03-01 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元

Family Cites Families (212)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US614509A (en) * 1898-11-22 Hose-coupling
US5774A (en) * 1848-09-19 Steam-hammer
US676632A (en) * 1901-01-30 1901-06-18 Frederick G Rogers Boiler.
US4369754A (en) * 1980-11-04 1983-01-25 Bob Lofman Vacuum responsive injection system for engines
US4800520A (en) * 1985-10-29 1989-01-24 Kabushiki Kaisha Toshiba Portable electronic device with garbage collection function
US4802117A (en) 1985-12-16 1989-01-31 Pitney Bowes Inc. Method of preserving data storage in a postal meter
US4864511A (en) 1987-01-27 1989-09-05 Storage Technology Corporation Automated cartridge system
GB2204973A (en) 1987-05-19 1988-11-23 Gen Electric Co Plc Data processing system
JP3015377B2 (ja) 1988-08-26 2000-03-06 株式会社東芝 Icカード
DE69034191T2 (de) * 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5388086A (en) * 1989-06-13 1995-02-07 Kabushiki Kaisha Toshiba Electro-magnetic actuator for driving an objective lens
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
JPH05233426A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
JP2839060B2 (ja) 1992-03-02 1998-12-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムおよびデータ処理方法
US5628014A (en) * 1992-03-20 1997-05-06 Paranode, Inc. Methods and apparatus for node caching at the file level
JP3017892B2 (ja) * 1992-09-30 2000-03-13 株式会社東芝 ファイル管理装置
JP3641280B2 (ja) * 1992-10-30 2005-04-20 インテル・コーポレーション フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法
US5479633A (en) 1992-10-30 1995-12-26 Intel Corporation Method of controlling clean-up of a solid state memory disk storing floating sector data
US5454103A (en) * 1993-02-01 1995-09-26 Lsc, Inc. Method and apparatus for file storage allocation for secondary storage using large and small file blocks
US5581723A (en) 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5619690A (en) 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5353256A (en) 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5640529A (en) 1993-07-29 1997-06-17 Intel Corporation Method and system for performing clean-up of a solid state disk during host command execution
US7137011B1 (en) 1993-09-01 2006-11-14 Sandisk Corporation Removable mother/daughter peripheral card
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5553261A (en) 1994-04-01 1996-09-03 Intel Corporation Method of performing clean-up of a solid state disk while executing a read command
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US5809558A (en) * 1994-09-29 1998-09-15 Intel Corporation Method and data storage system for storing data in blocks without file reallocation before erasure
US5754817A (en) 1994-09-29 1998-05-19 Intel Corporation Execution in place of a file stored non-contiguously in a non-volatile memory
EP0704803B1 (de) * 1994-09-30 1997-03-05 Alcatel SEL Aktiengesellschaft Verfahren zur Speicherverwaltung eines Flash-Speichers
JP2669365B2 (ja) 1994-11-24 1997-10-27 日本電気株式会社 書換え可能なromファイル装置
US5568423A (en) 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
GB2291991A (en) 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US5933847A (en) 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
FR2740237B1 (fr) 1995-10-18 1997-11-14 Schlumberger Ind Sa Composant electronique a memoire synchronisee
US6014724A (en) 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
US5987478A (en) 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
US5875477A (en) 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
US5799168A (en) * 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US5867341A (en) 1996-01-30 1999-02-02 Seagate Technology, Inc. Disc drive system using multiple pairs of embedded servo bursts
US6038571A (en) * 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
US5787445A (en) * 1996-03-07 1998-07-28 Norris Communications Corporation Operating system including improved file management for use in devices utilizing flash memory as main memory
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
GB9606927D0 (en) * 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US5896393A (en) * 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
JPH09319645A (ja) 1996-05-24 1997-12-12 Nec Corp 不揮発性半導体記憶装置
US5996047A (en) 1996-07-01 1999-11-30 Sun Microsystems, Inc. Method and apparatus for caching file control information corresponding to a second file block in a first file block
FR2752072B1 (fr) * 1996-08-01 1999-01-29 Solaic Sa Carte a circuit integre comportant des fichiers classes selon une arborescence
US5761536A (en) 1996-08-21 1998-06-02 International Business Machines Corporation System and method for reducing memory fragmentation by assigning remainders to share memory blocks on a best fit basis
DE19633648A1 (de) * 1996-08-21 1998-02-26 Grundig Ag Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät
JPH1069420A (ja) * 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
US5907854A (en) 1996-09-27 1999-05-25 Alcatel Usa Sourcing, L.P. Flash memory file system for writing data files without rewriting an entire volume
US6681239B1 (en) 1996-12-23 2004-01-20 International Business Machines Corporation Computer system having shared address space among multiple virtual address spaces
US6279069B1 (en) 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
US6182188B1 (en) 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
FR2759795B1 (fr) * 1997-02-14 1999-05-07 Francois Charles Oberthur Fidu Procede de stockage de donnees dans une memoire reinscriptible de carte a puce
US5966047A (en) * 1997-03-27 1999-10-12 Motorola, Inc. Programmable analog array and method
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5832493A (en) 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
JPH10326227A (ja) 1997-05-23 1998-12-08 Nec Corp フラッシュメモリを記憶媒体とする記憶装置の管理方式
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6021415A (en) 1997-10-29 2000-02-01 International Business Machines Corporation Storage management system with file aggregation and space reclamation within aggregated files
US5928347A (en) * 1997-11-18 1999-07-27 Shuttle Technology Group Ltd. Universal memory card interface apparatus
US6029168A (en) * 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
US6493811B1 (en) 1998-01-26 2002-12-10 Computer Associated Think, Inc. Intelligent controller accessed through addressable virtual space
GB2339044B (en) 1998-03-02 2003-06-04 Lexar Media Inc Flash memory card with enhanced operating mode detection and user-friendly interfacing system
KR100319598B1 (ko) * 1998-03-18 2002-04-06 김영환 플래시메모리어레이액세스방법및장치
US6226728B1 (en) * 1998-04-21 2001-05-01 Intel Corporation Dynamic allocation for efficient management of variable sized data within a nonvolatile memory
US6038636A (en) 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
US6151666A (en) * 1998-05-27 2000-11-21 Storage Technology Corporation Method for reclaiming fragmented space on a physical data storage cartridge
US6901457B1 (en) * 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
JP2000148546A (ja) 1998-11-10 2000-05-30 Nec Corp データ入出力装置およびデータ入出力方法、並びに記録媒体
US6490649B2 (en) * 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
US6480935B1 (en) * 1999-01-15 2002-11-12 Todd Carper Smart card memory management system and method
US6256690B1 (en) 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card
US6145069A (en) 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
JP2000227871A (ja) * 1999-02-05 2000-08-15 Seiko Epson Corp 不揮発性記憶装置、その制御方法、および、情報記録媒体
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6725322B1 (en) * 1999-02-22 2004-04-20 Renesas Technology Corp. Memory card, method for allotting logical address, and method for writing data
KR100704998B1 (ko) 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
JP4779183B2 (ja) 1999-03-26 2011-09-28 ソニー株式会社 再生装置および再生方法
US6401160B1 (en) * 1999-03-31 2002-06-04 Intel Corporation Method and apparatus to permit adjustable code/data boundary in a nonvolatile memory
GB9907280D0 (en) * 1999-03-31 1999-05-26 Philips Electronics Nv A method of scheduling garbage collection
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6467015B1 (en) 1999-04-15 2002-10-15 Dell Products, L.P. High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US6535949B1 (en) * 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
JP3524428B2 (ja) 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
US6449625B1 (en) * 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
US6547150B1 (en) 1999-05-11 2003-04-15 Microsoft Corporation Smart card application development system and method
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
ATE247296T1 (de) 1999-10-25 2003-08-15 Sun Microsystems Inc Speichersystem mit unterstützung von dateistufenzugriffen und blockstufenzugriffen
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6567307B1 (en) * 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
JP3726663B2 (ja) * 2000-09-07 2005-12-14 日産自動車株式会社 電子制御装置の制御データ記憶装置
US6865650B1 (en) 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
US7039727B2 (en) 2000-10-17 2006-05-02 Microsoft Corporation System and method for controlling mass storage class digital imaging devices
US6834331B1 (en) 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
US20020112116A1 (en) 2000-11-17 2002-08-15 Nelson Mark Edward Methods, systems, and computer program products for storing data in collections of tagged data pieces
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
KR100365725B1 (ko) 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6591358B2 (en) 2001-01-26 2003-07-08 Syed Kamal H. Jaffrey Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
JP2002251310A (ja) 2001-02-21 2002-09-06 Ricoh Co Ltd フラッシュメモリのファイルシステム作成方式
US6571326B2 (en) 2001-03-08 2003-05-27 Intel Corporation Space allocation for data in a nonvolatile memory
WO2002084999A1 (fr) * 2001-04-06 2002-10-24 Sony Corporation Camera numerique et procede de transfert de donnees
US6779063B2 (en) * 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
JP2002333384A (ja) * 2001-05-10 2002-11-22 Fujikura Ltd 定偏波光ファイバの偏波面の角度ずれ推定方法及び定偏波光ファイバの接続方法
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US20020188592A1 (en) 2001-06-11 2002-12-12 Storage Technology Corporation Outboard data storage management system and method
JP4256600B2 (ja) 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
US6823417B2 (en) 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table
JP3641230B2 (ja) * 2001-10-22 2005-04-20 株式会社東芝 メモリカードを制御するための装置および方法
US6859856B2 (en) * 2001-10-23 2005-02-22 Flex P Industries Sdn. Bhd Method and system for a compact flash memory controller
US6925007B2 (en) * 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6883114B2 (en) 2001-11-08 2005-04-19 M-Systems Flash Disk Pioneers Ltd. Block device driver enabling a ruggedized file system
US6668336B2 (en) 2001-11-08 2003-12-23 M-Systems Flash Disk Pioneers Ltd. Ruggedized block device driver
US20040049627A1 (en) 2001-11-09 2004-03-11 Flex-P Industries Method and system for controlling compact flash memory
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
JP2003208352A (ja) 2002-01-17 2003-07-25 Fujitsu Ltd 書き込み回数の制限とウエアレベリングを可能にしたフラッシュメモリ
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
JP2003215495A (ja) 2002-01-28 2003-07-30 Fuji Photo Optical Co Ltd プロジェクタ用光学系およびこれを用いたプロジェクタ装置
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
EP1355268B1 (en) 2002-02-28 2006-04-05 Matsushita Electric Industrial Co., Ltd. Memory card
JP4206688B2 (ja) 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
US6766432B2 (en) 2002-05-24 2004-07-20 Sun Microsystems, Inc. Memory management system supporting object deletion in non-volatile memory
US6895464B2 (en) * 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
JP4059711B2 (ja) 2002-06-04 2008-03-12 株式会社日立グローバルストレージテクノロジーズ 多重書き込み型記憶装置
US6865659B2 (en) 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
KR100453053B1 (ko) 2002-06-10 2004-10-15 삼성전자주식회사 플래쉬 메모리용 파일 시스템
KR100541366B1 (ko) * 2002-07-19 2006-01-16 주식회사 하이닉스반도체 고속 데이터 억세스를 위한 디램
US7035949B2 (en) * 2002-07-29 2006-04-25 M-System Flash Dist Pioneers Ltd. Multipurpose processor, system and method
DE10234971B4 (de) 2002-07-31 2006-08-10 Giesecke & Devrient Gmbh Verfahren und Datenträger zum Erzeugen und Korrigieren von Programmcode
US6979481B2 (en) * 2002-08-19 2005-12-27 Mohawk Paper Mills, Inc. Microporous photo glossy inkjet recording media
US6781877B2 (en) 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7093071B2 (en) 2002-10-09 2006-08-15 Intel Corporation Queued copy command
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7526599B2 (en) 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US7103732B1 (en) * 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
AU2003274764A1 (en) 2002-10-30 2004-05-25 Matsushita Electric Industrial Co., Ltd. Recording method and recording apparatus
CN1260642C (zh) 2002-11-18 2006-06-21 深圳市朗科科技有限公司 一种向移动存储装置发送命令和数据的方法
EP1435576B1 (en) * 2003-01-03 2013-03-20 Austria Card Plastikkarten und Ausweissysteme GmbH Method and apparatus for block-oriented memory management provided in smart card controllers
US7433712B2 (en) * 2003-02-06 2008-10-07 Modu Ltd. Multi-access solid state memory devices and a telephone utilizing such
CN1689116A (zh) 2003-02-28 2005-10-26 富士通株式会社 闪存以及存储器控制方法
US8041878B2 (en) 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
JP4245959B2 (ja) 2003-04-09 2009-04-02 日本電信電話株式会社 Icカードにおけるメモリ管理方法、及びicカード
US6865122B2 (en) * 2003-04-11 2005-03-08 Intel Corporation Reclaiming blocks in a block-alterable memory
US7437557B2 (en) 2003-06-03 2008-10-14 Lg Electronics Inc. Garbage collection system and method for a mobile communication terminal
JPWO2005001701A1 (ja) 2003-06-27 2006-08-10 松下電器産業株式会社 スレイブ装置、通信設定方法
JP4318075B2 (ja) * 2003-08-29 2009-08-19 富士フイルム株式会社 Usbファンクション装置
TWI240863B (en) * 2003-09-05 2005-10-01 Megawin Technology Co Ltd Method for efficiently controlling flash memory read/write
JP2005122439A (ja) 2003-10-16 2005-05-12 Sharp Corp デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US20050144516A1 (en) 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
WO2005066793A2 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Non-volatile memory and method with non-sequential update block management
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7519639B2 (en) * 2004-01-05 2009-04-14 International Business Machines Corporation Method and apparatus for dynamic incremental defragmentation of memory
US20060004950A1 (en) 2004-06-30 2006-01-05 Jeffrey Wang Flash memory file system having reduced headers
US8607016B2 (en) 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US7395384B2 (en) * 2004-07-21 2008-07-01 Sandisk Corproation Method and apparatus for maintaining data on non-volatile memory systems
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
KR100631765B1 (ko) 2004-10-18 2006-10-09 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
US20060101084A1 (en) * 2004-10-25 2006-05-11 International Business Machines Corporation Policy based data migration in a hierarchical data storage system
US7287145B1 (en) * 2004-12-13 2007-10-23 Nvidia Corporation System, apparatus and method for reclaiming memory holes in memory composed of identically-sized memory devices
US7412560B2 (en) 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7386655B2 (en) 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US20060161724A1 (en) * 2005-01-20 2006-07-20 Bennett Alan D Scheduling of housekeeping operations in flash memory systems
US7877539B2 (en) 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US20060184719A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
KR100706242B1 (ko) 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
US7849253B2 (en) * 2005-04-04 2010-12-07 Standard Microsystems Corporation Method for fast access to flash-memory media
US20080162782A1 (en) 2005-06-15 2008-07-03 Nagarajan Suresh Using Transacted Writes and Caching Mechanism to Improve Write Performance in Multi-Level Cell Flash Memory
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
JP4533956B2 (ja) 2005-08-03 2010-09-01 サンディスク コーポレイション フラッシュメモリシステムのデータ記憶容量の解放
JP2009503743A (ja) 2005-08-03 2009-01-29 サンディスク コーポレイション データファイルを直接記憶するメモリブロックの管理
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
JP4977703B2 (ja) 2005-08-03 2012-07-18 サンディスク コーポレイション 予定再生操作を伴う不揮発性メモリ
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7814262B2 (en) 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US20070136553A1 (en) 2005-12-13 2007-06-14 Sinclair Alan W Logically-addressed file storage systems
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7426606B2 (en) 2006-03-31 2008-09-16 Intel Corporation Method, apparatus and system for reverting FAT cluster number to file ID and offset of non-FAT flash file system
KR100806343B1 (ko) 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법
US8046522B2 (en) 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US7739444B2 (en) * 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004100A (zh) * 2014-12-26 2017-08-01 英特尔公司 用于数据安全的事件触发擦除
CN107004100B (zh) * 2014-12-26 2021-07-06 英特尔公司 用于数据安全的事件触发擦除
CN107980126A (zh) * 2015-06-05 2018-05-01 桑迪士克科技有限责任公司 多裸芯储存装置的调度方案
CN107980126B (zh) * 2015-06-05 2021-10-15 桑迪士克科技有限责任公司 用于调度多裸芯储存装置的方法、数据储存装置及设备
CN107015764A (zh) * 2017-03-17 2017-08-04 深圳市江波龙电子有限公司 Nand flash的数据处理方法、装置和一种Nand flash
CN107015764B (zh) * 2017-03-17 2020-03-27 深圳市江波龙电子股份有限公司 Nand flash的数据处理方法、装置和一种Nand flash
CN108021630A (zh) * 2017-11-21 2018-05-11 深圳市雷鸟信息科技有限公司 垃圾文件清理方法、智能终端及计算机可读存储介质
CN110399093B (zh) * 2018-04-25 2024-03-26 三星电子株式会社 包括非易失性存储器件和控制器的存储设备
CN110399093A (zh) * 2018-04-25 2019-11-01 三星电子株式会社 包括非易失性存储器件和控制器的存储设备
CN111324551A (zh) * 2018-12-13 2020-06-23 爱思开海力士有限公司 数据存储装置及其操作方法
CN111324551B (zh) * 2018-12-13 2023-04-07 爱思开海力士有限公司 数据存储装置及其操作方法
CN116610597A (zh) * 2023-07-20 2023-08-18 合肥康芯威存储技术有限公司 一种存储器件及其垃圾回收的控制方法
CN116610597B (zh) * 2023-07-20 2023-10-17 合肥康芯威存储技术有限公司 一种存储器件及其垃圾回收的控制方法

Also Published As

Publication number Publication date
CN101233479A (zh) 2008-07-30
CN101233499A (zh) 2008-07-30
US7558905B2 (en) 2009-07-07
JP2009503738A (ja) 2009-01-29
CN101258473A (zh) 2008-09-03
TW200728977A (en) 2007-08-01
US7590795B2 (en) 2009-09-15
WO2007019220A2 (en) 2007-02-15
US7984084B2 (en) 2011-07-19
JP4537482B2 (ja) 2010-09-01
WO2007019174A2 (en) 2007-02-15
US20070033324A1 (en) 2007-02-08
US20070033327A1 (en) 2007-02-08
US20070030734A1 (en) 2007-02-08
EP1920337A2 (en) 2008-05-14
TWI421684B (zh) 2014-01-01
US20070033325A1 (en) 2007-02-08
CN101233498A (zh) 2008-07-30
CN101258473B (zh) 2012-05-30
EP1920336A2 (en) 2008-05-14
US20070033378A1 (en) 2007-02-08
US20070033329A1 (en) 2007-02-08
CN101278267B (zh) 2012-08-22
KR20080038364A (ko) 2008-05-06
US7610437B2 (en) 2009-10-27
TW200805134A (en) 2008-01-16
US7581057B2 (en) 2009-08-25
JP2009503746A (ja) 2009-01-29
KR101377147B1 (ko) 2014-03-24
US8291151B2 (en) 2012-10-16
US8055832B2 (en) 2011-11-08
KR20080038363A (ko) 2008-05-06
US20070033377A1 (en) 2007-02-08
US7450420B2 (en) 2008-11-11
US7409489B2 (en) 2008-08-05
WO2007019220A3 (en) 2007-06-07
CN101288045A (zh) 2008-10-15
CN101233480B (zh) 2012-08-29
CN101233479B (zh) 2012-09-05
US20070033330A1 (en) 2007-02-08
TW200745930A (en) 2007-12-16
JP4537481B2 (ja) 2010-09-01
TW200741526A (en) 2007-11-01
CN101233480A (zh) 2008-07-30
WO2007019174A3 (en) 2007-07-19
CN101233498B (zh) 2014-03-12
US20070033328A1 (en) 2007-02-08
CN101288045B (zh) 2012-08-29
US20070033376A1 (en) 2007-02-08
US7562181B2 (en) 2009-07-14
TW200745929A (en) 2007-12-16
US7590794B2 (en) 2009-09-15
US20070033326A1 (en) 2007-02-08
TW200731065A (en) 2007-08-16
US20070186032A1 (en) 2007-08-09

Similar Documents

Publication Publication Date Title
CN101278267B (zh) 具有经调度回收操作的非易失性存储器
KR101453264B1 (ko) 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템
TWI437441B (zh) 多庫記憶體裝置之儲存位址重映射之方法及系統
CN101233481B (zh) 通过逻辑地址空间且以直接数据文件为基础操作的介接系统
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US8209461B2 (en) Configuration of host LBA interface with flash memory
US7769978B2 (en) Method and system for accessing non-volatile storage devices
US8166267B2 (en) Managing a LBA interface in a direct data file memory system
US7739444B2 (en) System using a direct data file system with a continuous logical address space interface
US7877540B2 (en) Logically-addressed file storage methods
US8046522B2 (en) Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US7917686B2 (en) Host system with direct data file interface configurability
KR101089150B1 (ko) 스케쥴링된 리클레임 작동들을 갖는 비휘발성 메모리
CN101147119A (zh) 快闪存储器中的直接数据文件存储实施技术
US20090164745A1 (en) System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
KR20090108694A (ko) 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법
KR20080038368A (ko) 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱
WO2008083001A9 (en) Managing a lba interface in a direct data file memory system

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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20121112

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20121112

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.