CN101288045A - 增强型主机接口 - Google Patents

增强型主机接口 Download PDF

Info

Publication number
CN101288045A
CN101288045A CNA2006800348564A CN200680034856A CN101288045A CN 101288045 A CN101288045 A CN 101288045A CN A2006800348564 A CNA2006800348564 A CN A2006800348564A CN 200680034856 A CN200680034856 A CN 200680034856A CN 101288045 A CN101288045 A CN 101288045A
Authority
CN
China
Prior art keywords
file
data
protocol
accumulator system
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
CNA2006800348564A
Other languages
English (en)
Other versions
CN101288045B (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/030342 external-priority patent/WO2007019258A2/en
Publication of CN101288045A publication Critical patent/CN101288045A/zh
Application granted granted Critical
Publication of CN101288045B publication Critical patent/CN101288045B/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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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个数据扇区和更多数据扇区的区块变得常见。另外,常常将不同阵列或子阵列的两个、四个或更多区块逻辑上链接在一起成为元区块,以便增加数据编程和读取时的并行性程度。与这种大容量操作单位一起出现的是有效地对其进行操作的挑战。
随着新的革新允许较大的存储器容量和速度,通常需要提供使用此类革新但仍与不使用此类革新的产品兼容的产品。这意味着新产品可利用技术革新但仍向后兼容,使得其可与使用较老技术的产品一起使用。这种向后兼容性对于可在具有多种不同技术的多种配置中使用的便携式产品来说尤其重要。此便携式产品的一个实例是可移除快闪存储器卡。
发明内容
一种存储器系统包含与主机通信的接口层以及将数据存储在存储器阵列中的后端。在所述接口层与所述后端之间,转译层根据主机使用的不同协议将由所述接口层接收的数据和命令转换为后端可理解的格式。因此,转译层允许常用的后端与使用多种协议的多种主机一起使用。这对于可移除存储器卡中的存储器系统来说是尤其有用的。转译层含有一个或一个以上协议适配器。协议适配器根据主机所使用的协议接收来自主机的通信(命令和数据),且作为响应为后端转换所述数据和命令。协议适配器还可对主机产生信号,其中这些信号是主机协议的一部分。
一种存储器系统包含对象协议适配器,其将根据对象协议发送的数据和命令转换成与非易失性存储器中的基于文件的存储装置兼容的格式。特定来说,对象协议适配器在接收对象之前接收关于对象的元数据。对象的大小包含在元数据中。对象协议适配器通过将所接收数据量与元数据信息所指示的大小进行比较来确定何时已接收到整个对象。当对象协议适配器确定已接收到整个对象时,其产生对主机的响应并对存储器系统的后端产生文件结束指示符,使得文件被后端关闭。这允许后端调度文件以进行垃圾收集,并因而允许更有效地存储和管理文件数据。
一种存储器系统包含LBA协议适配器,其将根据LBA协议的数据和命令转换成与非易失性存储器中的基于文件的存储装置兼容的数据和命令。在一个实例中,将所接收的具有由主机从为存储器系统界定的逻辑地址空间指派的逻辑地址的数据映射到逻辑文件。逻辑文件接着由后端以与其它文件相同的方式处理。逻辑文件通常占据整个元区块,使得其不会与其它数据共享元区块。然而,相同的区块可在一个时间用于逻辑文件且在其它时间用于其它文件,使得存储器阵列在不同类型的文件之间没有硬划分。
一种存储器系统包含文件协议适配器,其将根据文件协议的数据和命令转换成与非易失性存储器中的基于文件的存储装置兼容的数据和命令。在后端使用与主机相同的协议的情况下(例如,均使用直接数据文件协议),可能不必需要转译。然而在主机使用不同的文件协议的情况下,文件协议适配器做出适当的转译。
在一些情况下,存储器系统可能与使用一个以上协议适配器的一个以上主机通信。在所述情况下,转译层可每次选择一个协议适配器来与后端通信。在一些情况下,转译层可通过交替选择不同的协议适配器在不同的主机之间进行仲裁,以提供对后端的交错存取。
接口层包含与多个主机兼容的逻辑接口。在一些情况下,可能存在单独的物理接口用于与主机装置上的相应接口进行连接。然而这不是必要的,且在一些情况下,提供例如USB连接器的单个物理接口并由所有逻辑接口使用。接口层和转译层功能可由专用电路执行或可由控制器上的固件执行。这可以是管理存储器阵列的存储器控制器。存储器阵列可以是NAND存储器阵列且可形成于一个或一个以上半导体芯片上。存储器系统可包含在在不同时间连接到不同主机的可移除卡中。
后端系统可将数据作为文件来管理,所述文件在一些情况下对应于主机文件(但在一些情况下,没有与主机文件的一一对应)。基于文件的后端系统的一个实例是第11/060,174、11/060,248和11/060,249号美国专利申请案以及第60/705,388号临时专利申请案中描述的直接数据文件后端。
附图说明
图1示意性说明目前实施的主机和连接的非易失性存储器系统;
图2是用作图1的非易失性存储器的示范性快闪存储器系统的框图;
图3是可在图2的系统中使用的存储器单元阵列的代表电路图;
图4说明图2的系统的示范性物理存储器组织;
图5展示图4的物理存储器的一部分的扩展图;
图6展示图4和5的物理存储器的一部分的进一步扩展图;
图7说明主机与可重新编程的存储器系统之间的常见现有技术逻辑地址接口;
图8以与图7不同的方式说明主机与可重新编程的存储器系统之间的常见现有技术逻辑地址接口;
图9说明根据本发明的主机与可重新编程的存储器系统之间的直接文件存储接口;
图10以与图9不同的方式说明根据本发明的主机与可重新编程的存储器系统之间的直接文件存储接口;
图11展示用于存储作为具有来自为存储器界定的共用逻辑地址空间的逻辑地址的扇区而从主机接收的主机文件的方案,所述扇区映射到逻辑文件且逻辑文件接着存储在存储器阵列中,其中每个元区块一个逻辑文件;
图12以不同于图11的方式说明用于将逻辑寻址数据存储在存储器阵列中的逻辑文件中的方案。
图13展示具有与基于文件的后端通信的文件接口与LBA接口的存储器系统,其中LBA协议适配器插入在LBA接口与基于文件的后端之间。
图14A展示MTP“发送对象信息”事务。
图14B展示MTP“发送对象”事务。
图15展示具有对象接口和基于文件的后端的存储器系统,其中对象协议适配器插入在对象接口与基于文件的后端之间。
图16展示具有文件接口、对象接口和LBA接口的存储器系统,其具有文件协议适配器、对象协议适配器和LBA协议适配器以便于接口与基于文件的后端之间的通信。
图17展示图16的存储器系统的替代视图,其中将文件接口、对象接口和LBA接口视为接口层的一部分,且将文件协议适配器、对象协议适配器和LBA协议适配器视为转译层的一部分。
具体实施方式
快闪存储器的大体描述
相对于图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所说明,由多个平面的物理页形成的元页含有沿着那些多个平面的字线行的存储器单元。并非同时对一个字线行中的所有单元编程,而是较常见以两个或两个以上交错群组对其交替编程,每个群组存储一个数据页(在单个区块中)或一个数据元页(在多个区块上)。通过每次对交替的存储器单元进行编程,无需对每个位线均提供包含数据寄存器和读出放大器的外围电路单位,而是在邻近的位线之间时间共享。这节省了外围电路所需的衬底空间量,且允许以沿着行而增加的密度来封装存储器单元。另外,优选对沿着行的每个单元同时编程,以便最大化可从给定存储器系统得到的并行性。
参看图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存储并使用若干不同的文件,例如地址文件、日历文件等。在任何这种应用中,存储器卡还可含有操作主机的软件。
存储器系统,尤其是实施在可移除卡中的存储器系统,可经由标准接口与不同主机通信。不同的主机可使用不同的接口与存储器系统通信。两类接口是使用具有共用逻辑地址空间的逻辑寻址系统的接口和使用基于文件的寻址系统的接口。
LBA接口
图7说明主机与存储器系统之间的常用逻辑接口。连续的逻辑地址空间161足够大以为可存储在存储器系统中的所有数据提供地址。通常将主机地址空间划分为数据群集的增量。每个群集在给定主机系统中可经设计为含有许多数据扇区,大约在4与64个扇区之间是典型的。标准扇区含有512个字节的数据。
图7的实例中展示已经产生了三个文件1、2和3。在主机系统上运行的应用程序产生每个文件作为一组有序数据,并通过唯一名称或其它参考对其进行识别。尚未分配给其它文件的足够可用的逻辑地址空间由主机指派给文件1。文件1被展示为已经被指派有连续的可用逻辑地址范围。通常还出于特定目的而分配地址范围,例如针对主机操作软件的特定范围,接着为存储数据而避开这些特定范围,即使在主机向数据指派逻辑地址时仍未利用这些地址。
当主机稍后产生文件2时,主机类似地在逻辑地址空间161内指派两个不同范围的连续地址,如图7中所示。文件无需被指派有连续的逻辑地址,而是可为已经分配给其它文件的地址范围之间的地址片段。此实例接着展示主机所产生的又一文件3被分配有主机地址空间的先前未分配给文件1和2和其它数据的其它部分。在此实例中,文件1、文件2和文件3全部指派给共用逻辑地址空间(逻辑地址空间161)的部分。
主机通过维持文件分配表(FAT)来跟踪存储器逻辑地址空间,其中由主机指派给各个主机文件的逻辑地址得以维持。FAT表通常存储在非易失性存储器中以及主机存储器中,且随着新文件被存储、其它文件被删除、文件被修改等等,FAT表由主机频繁地更新。例如当主机文件被删除时,主机接着通过更新FAT表来对先前分配给被删除文件的逻辑地址解除分配,以展示它们现在可用于与其它数据文件一起使用。FAT中使用的逻辑地址可称为逻辑区块地址(LBA),因此使用在对来自不同文件的数据为共用的逻辑地址空间上的此类逻辑寻址的接口可称为LBA接口。类似地,针对使用用于正在传送的数据的逻辑地址的通信的协议可视为LBA协议。
主机不关心其中存储器系统控制器选择用来存储文件的物理位置。典型的主机仅知道其逻辑地址空间和其已经分配给其各个文件的逻辑地址。另一方面,存储器系统通过典型的主机/卡接口,仅知道逻辑地址空间的数据已经被写入到的部分,但不知道分配给特定主机文件的逻辑地址,或甚至不知道主机文件的数目。存储器系统控制器将主机所提供的用于存储或检索数据的逻辑地址转换成其中存储有主机数据的快闪存储器单元阵列内的唯一物理地址。区块163表示这些逻辑到物理地址转换的工作表,其由存储器系统控制器维持。
存储器系统控制器经编程以便以使系统的性能维持在高等级的方式将数据文件存储在存储器阵列165的区块和元区块内。在此说明中使用四个平面或子阵列。在由来自每个平面的区块形成的整个元区块上优选以系统允许的最大程度的并行性编程和读取数据。至少一个元区块167通常经分配作为用于存储由存储器控制器使用的操作固件和数据的保留区块。可分配另一元区块169或多个元区块以用于存储主机操作软件、主机FAT表等。保留物理存储空间的大部分以用于存储数据文件。然而存储器控制器不知道主机如何在其各个文件对象之间分配所接收的数据。存储器控制器从与主机交互作用中通常知道的全部内容就是由主机写入到特定逻辑地址的数据存储在由控制器的逻辑到物理地址表163维持的相应物理地址中。
在典型的存储器系统中,提供比必需的多几个的区块的存储容量,以存储地址空间161内的数据的量。可提供这些额外区块中的一者或一者以上作为用于代替在存储器使用寿命期间可能变为有缺陷的其它区块的冗余区块。个别元区块内含有的区块的逻辑分组通常可因为各种原因而改变,包含冗余区块对原始指派给元区块的有缺陷区块的代替。例如元区块171的一个或一个以上额外区块通常维持在经擦除的区块池(block pool)中。当主机将数据写入到存储器系统时,控制器将由主机指派的逻辑地址转换成擦除区块池中的元区块内的物理地址。未用于将数据存储在逻辑地址空间161内的其它元区块接着经擦除并指定作为经擦除的池区块以供在后续数据写入操作期间使用。
在原始存储的数据变过时时,由新数据频繁覆写存储在特定主机逻辑地址的数据。作为响应,存储器系统控制器将新数据写入经擦除的区块,并接着针对那些逻辑地址改变逻辑到物理地址表以识别存储这那些逻辑地址处数据的新的物理区块。接着擦除含有那些逻辑地址处原始数据的区块并使其可用于新数据的存储。如果在写入开始时在来自擦除区块池的预擦除区块中没有足够的存储容量,那么这种擦除常常必须在当前数据写入操作可完成之前发生。这可能不利地影响系统数据编程速度。存储器控制器通常了解到仅在主机向其相同逻辑地址写入新数据时由主机使给定逻辑地址处的数据变过时。因此许多存储器区块可能存储此类无效数据历时一定时间。
区块和元区块的大小逐渐增加,以便有效地使用集成电路存储器芯片的面积。这导致较大比例的个别数据写入存储的数据量小于元区块的存储容量,且在许多情况下甚至小于区块的存储容量。由于存储器系统控制器通常将新数据引导到经擦除的池元区块,因此这可导致元区块的若干部分未被填充。如果新数据是对存储在另一元区块中的某个数据的更新,那么还期望以逻辑地址次序将其余有效的数据元页从具有与新数据元页的逻辑地址连续的逻辑地址的所述另一元区块复制到新的元区块中。老的元区块可保持其它有效的数据元页。这随着时间过去而导致个别元区块的某些元页的数据变为过时且无效,并由写入到不同元区块的具有相同逻辑地址的新数据所替换。
为了维持足够的物理存储器空间来在整个逻辑地址空间161上存储数据,对此数据进行周期性压缩或合并(垃圾收集)。还希望以与其实际一样多的逻辑地址的相同次序维持元区块内的数据扇区,因为这使得读取连续逻辑地址中的数据更为有效。因此通常以此额外目的来执行数据压缩和垃圾收集。在接收部分区块数据更新时对存储器进行管理的一些方面以及元区块的使用描述于第6,763,424号美国专利中。
数据压缩通常涉及从元区块读取所有有效数据元页并将其写入到新的区块,其中忽略了在过程中具有无效数据的元页。还优选以与具有有效数据的元页中存储的数据的逻辑地址次序匹配的物理地址次序来布置所述元页。新的元区块中占据的元页的数目将小于老的元区块中占据的元页的数目,因为并不将含有无效数据的元页复制到新的元区块。接着擦除老的区块并使其可用于存储新数据。通过合并获得的具有容量的额外元页接着可用于存储其它数据。
在垃圾收集期间,从两个或两个以上元区块收集具有连续或近似连续的逻辑地址的有效数据的元页,并将其重写到另一元区块中,通常是经擦除区块池中的一个元区块。当从原始的两个或两个以上元区块复制了所有有效数据元页时,可将所述元区块擦除以供未来使用。
数据合并和垃圾收集花费时间且可能影响存储器系统的性能,尤其是在数据合并或垃圾收集需要在来自主机的命令可执行之前进行的情况下。此类操作通常由存储器系统控制器调度以尽可能在后台进行,但执行这些操作的需要可能导致控制器必须对主机给出忙状态信号,直到此操作完成为止。主机命令的执行可被延迟的实例是在经擦除区块池中没有足够的预擦除元区块来存储主机希望写入到存储器中的所有数据,且首先需要数据合并或垃圾收集来清除一个或一个以上有效数据元区块,所述元区块接着可被擦除。因此注意力集中于管理存储器的控制以便最小化此类中断。在以下美国专利申请案中描述许多此类技术:2003年12月30日申请的标题为“Management of Non-Volatile MemorySystems Having Large Erase Blocks”的第10/749,831号美国专利申请案;2003年12月30日申请的标题为“Non-Volatile Memory and Method with Block Management System”的第10/750,155号美国专利申请案;2004年8月13日申请的标题为“Non-Volatile Memory andMethod with Memory Planes Alignment”的第10/917,888号美国专利申请案;2004年8月13日申请的第10/917,867号美国专利申请案;2004年8月13日申请的标题为“Non-VolatileMemory and Method with Phased Program Failure Handling”的第10/917,889号美国专利申请案;2004年8月13日申请的标题为“Non-Volatile Memory and Method with Control DataManagement”的第10/917,725号美国专利申请案(下文统称为“LBA专利申请案”)。
有效控制具有非常大擦除区块的存储器阵列的操作的一个挑战是使给定写入操作期间存储的数据扇区数目与存储器区块的容量和边界匹配并对准。一种方法是以小于存储少于填充整个元区块的量的一定量数据所必需的区块的最大数目来配置用于存储来自主机的新数据的元区块。2003年12月30日申请的标题为“Adaptive Metablocks”的第10/749,189号美国专利申请案中描述了自适应元区块的使用。2004年5月7日申请的第10/841,118号和2004年12月16日申请的标题为“Data Run Programming”的第11/016,271号专利申请案中描述了数据区块之间边界的配合以及元区块之间的物理边界。
存储器控制还可使用来自由主机存储在非易失性存储器中的FAT表的数据,以更有效地操作存储器系统。一种此类使用是了解主机何时通过对数据的逻辑地址解除分配来将数据识别为过时的。知道此情况允许存储器控制器在其通过主机向那些逻辑地址写入新数据而通常将知道情况之前调度含有此无效数据的区块的擦除。这描述于2004年7月21日申请的标题为“Method and Apparatus for Maintaining Data on Non-Volatile MemorySystems”的第10/897,049号美国专利申请案。其它技术包含监视主机向存储器写入新数据的型式,以便推断给定写入操作是否为单个文件,或在多个文件时推断文件之间的边界位于何处。2004年12月23日申请的标题为“FAT Analysis for Optimized SequentialCluster Management”的第11/022,369号美国专利申请案描述了此类技术的使用。
为了有效操作存储器系统,控制器需要尽其可能地了解由主机指派给其个别文件的数据的逻辑地址。接着控制器可将数据文件存储在单个元区块或元区块群组内,而不是当文件边界未知时散布在较大数目的元区块之间。结果是数据合并和垃圾收集操作的次数和复杂性降低。因此存储器系统的性能改进。但当主机/存储器接口包含如上所述的逻辑地址空间161(图7)时,存储控制器难以较多地了解主机数据文件结构。
参看图8,以不同方式说明图7已经展示的典型逻辑地址主机/存储器接口。由主机向主机产生的数据文件分配逻辑地址。存储器系统接着看到这些逻辑地址并将其映射到实际存储数据的存储器单元区块的物理地址中。
文件接口
主机与用于存储大量数据的存储器系统之间的基于文件的接口不使用逻辑地址空间。主机改为通过唯一文件ID(或其它唯一参考)和所述文件内的数据单位(例如字节)的偏移地址在逻辑上寻址每个文件。此文件地址是直接给存储器系统控制器的,存储器系统控制器接着保存其自己的关于每个主机文件的数据物理上存储在何处的表。可用如上文相对于图2到图6所述的同一存储器系统来实施这种新的接口。与图2到图6中所述内容的主要不同之处是存储器系统与主机系统通信的方式。
图9中说明文件接口,其应与图7的LBA接口相比较。文件1、2和3中的每一者的识别以及图9的文件内的数据的偏移量被直接传递到存储器控制器。此逻辑地址信息接着由存储器控制器功能173转换成存储器165的元区块和元页的物理地址。
图10也说明文件接口,其应与图8的逻辑地址接口相比较。图8的逻辑地址空间和主机维持的FAT表在图10中不存在。而是通过文件编号和所述文件内的数据的偏移量向存储器系统识别由主机产生的数据文件。存储器系统接着直接将所述文件映射到存储器单元阵列的物理区块。
由于存储器系统知道构成每个文件的数据的位置,因此可在主机删除文件之后随即擦除这些数据。这对于典型的逻辑地址接口来说是不可能的。此外,通过文件而不是使用逻辑地址来识别主机数据,存储器系统控制器可以减少进行频繁数据合并和垃圾收集的需要的方式存储数据。数据复制操作的频率和所复制的数据量因此显著减少,进而增加存储器系统的数据编程和读取性能。
基于文件的接口的实例包含使用直接数据文件存储的接口。以Alan W.Sinclair个人名义或与Peter J.Smith一起在2005年2月16日申请的第11/060,174、11/060,248和11/060,249号待决美国专利申请案以及Alan W.Sinclair和Barry Wright申请的标题为“Direct Data File Storage in Flash Memories”的第60/705,388号临时申请案(下文中统称为“直接数据文件存储申请案”)中描述了直接数据文件存储存储器系统。
由于图9和图10说明的这些直接数据文件存储申请案的直接数据文件接口比图7和图8说明的上述逻辑地址空间接口简单,且允许存储器系统更好地执行,因此直接数据文件存储对许多应用来说是优选的。但主机系统目前主要配置成以LBA接口操作,因此具有直接数据文件接口的存储器系统与多数主机不兼容。因此需要向存储器系统提供以任一种接口操作的能力。
双接口
对于一些存储器系统,尤其是包含在可与不同主机介接的可移除存储器卡中的那些存储器系统,向后兼容性是个重要问题。许多主机系统使用与图7和图8所示类似的基于扇区的存储的形式,且这些主机系统中的一些可能无法容易地适合于以例如图9和图10所示的基于文件的存储进行操作。因此,需要具有可与使用逻辑寻址接口或基于文件的接口的主机介接的存储器系统。插入在LBA接口与基于文件的后端之间的LBA协议适配器可允许使用逻辑寻址的主机将数据存储在将数据作为文件来管理的存储器阵列中。
2005年8月3日申请的标题为“Interfacing systems operating through a logical addressspace and on a direct data file basis”的第11/196,869号美国专利申请案描述了使存储器系统能够与使用逻辑寻址接口或基于文件的接口的主机介接的系统。图11说明此系统。此实例在存储器系统内组合了图7的主机操作与图9的基于文件的存储器操作,加上一个添加的地址转换172。地址转换172将存储器空间161上的逻辑地址群组映射到经修改地址空间161′上展示的个别逻辑文件a-j内。优选将整个逻辑地址空间161划分为这些逻辑文件,因此逻辑文件的数目取决于逻辑地址空间的大小以及个别逻辑文件的大小。每个逻辑文件均含有空间161上连续逻辑地址的群组的数据。优选使每个逻辑文件内的数据量相同,且所述量等于存储器165中一个元区块的数据存储容量。逻辑文件的不相等的大小和/或与存储器的区块或元区块的存储容量不同的大小当然是可能的,但不是优选的。
个别文件a-j中每一者内的数据由文件内的逻辑偏移地址表示。逻辑文件的文件识别符和数据偏移量在173处转换为存储器165内的物理地址。逻辑文件a-j通过直接数据文件存储申请案中描述的相同过程和协议直接存储在存储器165中。所述过程与用于在存储器165中存储图9的数据文件1-3的过程相同,不同的是每个逻辑文件中的已知数据量使得此过程较容易,尤其是在所述量等于存储器的区块或元区块的容量的情况下。图11中展示将逻辑文件a-j中的每一者映射到存储器165的元区块中的不同一者。还期望基于文件的数据存储以与主机经设计以介接的当前逻辑地址存储器系统相同或等效的方式与主机交互作用。通过将个别逻辑文件映射到相应的个别存储器元区块内,本质上以直接数据文件接口存储器系统实现了与使用逻辑地址空间接口时相同的性能和时序特性。
图12以不同方式说明图11的方法。图12与图8的逻辑地址存储器系统操作相同,但具有将逻辑地址空间划分为逻辑文件(刚描述的图11的步骤172)的增加的功能。另外,图12的“将文件数据映射到物理存储区块的表”替代了图8的“将逻辑地址映射到物理存储区块的表”。逻辑地址到逻辑文件转换172可视为位于使用LBA系统的接口与基于文件的后端之间的LBA协议适配器的一部分。
经设计以通过传统逻辑地址空间接口与主机一起工作的图11-12的基于数据文件的后端存储系统也可添加有直接数据文件接口。来自文件接口的主机数据文件和来自逻辑接口的逻辑文件均转译为存储器元区块地址。接着通过执行直接数据文件协议将数据存储在存储器的那些地址中。此协议包含先前列出的直接数据文件存储申请案的直接数据文件存储技术。
通过提供具有两种类型主机接口的便携式存储器卡或快闪驱动器或其它形式的可移除存储器系统,存储器可与以逻辑地址空间接口操作的最新近主机一起使用,与将其文件直接介接到存储器的主机一起使用,或可在两种类型主机之间交换。这允许具有较新的基于文件的接口的主机的用户以其最有效的方式使用存储器,同时具有与传统逻辑地址空间接口的向后兼容性。而且,由于相同的一对一逻辑文件到元区块的映射而实现本质上相同的性能和时序特性。具有双主机接口的存储器允许用户获得所述存储器的较新的直接数据文件接口,同时其仍可用于具有传统逻辑地址空间接口的主机的扩展安装的基底。其提供了从当前接口迁移到直接数据文件接口的方法。
图13说明具有双主机接口的存储器系统300。存储器系统存储由主机通过文件接口307直接供应的主机数据文件(HF1、HF2...HFn)以及来自LBA接口305的由LBA协议适配器301转换的逻辑文件(LFa、LFb...LFm)。基于文件的后端303不需要区别逻辑文件与主机文件,而是优选经优化以处理两种类型的文件。如此,逻辑文件等同于LBA专利申请案中描述的系统的逻辑群组,且从主机接口的角度来看,存储器系统300的性能因此与LBA专利申请案中所述的具有逻辑地址空间接口的系统的性能相匹配。
除了将主机数据从逻辑寻址格式转换为逻辑文件格式以外,LBA协议适配器301可响应于特定条件或从主机接收的特定LBA命令而产生与基于文件的后端303兼容的命令。响应于此些条件而产生用于直接数据文件后端的命令的实例在下表中展示。
 条件   所产生的直接数据文件命令
 LBA命令的开始   写入_指针<文件ID><偏移量>此命令设置当前文件内的偏移地址,下一写入命令将在该地址处操作。
 当前文件未打开且打开_文件=最大   关闭<文件ID>+闲置+暂停<直到_不_忙>此命令群组关闭最不新近存取的文件,并促使装置执行所有待决的对文件的垃圾收集操作。
 当前文件未打开   打开<文件ID>+写入_指针<文件ID><偏移量>此命令群组打开当前文件,并设置偏移地址,下一写入命令将在该处起作用。
 当前文件已改变   写入<文件ID>+流+写入_指针<文件ID><偏移量>此命令群组写入累积的前一文件的数据,并设置当前文件内的偏移地址,下一写入命令将在该处操作。
 程序区块已满   写入<文件ID>+流此命令群组写入累积的当前文件的数据。
 程序区块已满且有效_页>最小值   关闭<文件ID>+闲置+暂停<直到_不_忙>此命令群组关闭当前文件,并促使装置执行所有待决的对文件的垃圾收集操作。
 LBA命令的结束   写入<文件ID>+流+保存_缓冲<文件ID>此命令群组写入累积的当前文件的数据,并促使保留在缓冲器中的未编程数据编程到快闪存储器中的“交换区块”。
对象接口
各种基于文件的接口可用于在电子装置之间传送数据。一些协议提供具有预定大小以及所述大小的指示的文件。文件的大小通常在此系统中保持不变,使得此系统可能不适于需要对文件进行编辑的应用。然而,对于从一个装置向另一装置传送文件,所述协议可能有利,且可允许高等级的安全性。大小的指示通常在发送文件数据之前发送。传送具有文件大小指示符的预定大小的文件的协议可视为对象协议。一种对象协议是微软公司的图片传送协议(PTP)。另一种此协议也是微软公司的媒体传送协议,也称为媒体传输协议(MTP)。对象协议尤其适于发送含有预定数据量的文件,例如数字照片或MP3音乐文件。举例来说,所述协议可用于在数字相机与PC之间传送数字照片,或将MP3音乐文件从PC传送到MP3播放器。
媒体传送协议(MTP)提供支持预定大小的文件对象传送的对象接口。其主要目的是允许可临时连接在一起的装置之间的通信,其中每一装置具有很大的存储容量。接口允许装置之间二进制数据对象的交换,以及一个装置接另一装置的内容的列举。下文列出MTP接口的某些特性。然而,其它对象接口可具有不同的特性。在来自微软公司的标题为“Media Transfer Protocol Enhanced”的文档中提供了对MTP的较完全的描述。
1.通信协议
1.1起始器和响应器:每次仅在两个装置之间发生交换,其中一个装置充当起始器且另一装置充当响应器。起始器是通过发送操作起始与响应器的动作的装置。响应器不起始任何动作,并对起始器发送的操作发送响应。充当起始器的装置应当能够列举并理解响应装置的内容,且控制协议中的操作流程。起始器通常是比响应器更强大的装置。响应器的实例是简单的内容产生装置(例如数码相机)以及简单的内容输出装置(例如便携式音频播放器)。
1.2会话:会话是其中在起始器与响应器之间维持连接的通信状态。会话提供了用以参考对象的上下文,并保证在不向起始器发出报警的情况下响应器装置状态不会改变。会话由起始器打开,且由起始器或响应器关闭。装置可同时维持多个打开的会话。起始器在会话第一次打开时向会话指派唯一的识别符,并在发送操作时使用识别符来识别会话。
1.3事务:从起始器中出现的任何动作在事务中执行,事务是向动作调用机制提供输入参数、二进制数据交换以及具有参数的响应的标准阶段序列。每个阶段内的数据流是单向的。在操作的起始期间,数据仅从起始器流动到响应器。在对所请求操作的响应期间,数据仅从响应器流动到起始器。在二进制数据交换阶段期间,数据可在任一方向上流动,但从不在两个方向上流动。必须通过多个操作来执行双向二进制数据交换。起始器向每个事务指派一个识别符。将经定义的识别符指派给在会话中起始的第一操作,且针对每个连续的事务将识别符递增1。
事务由多达三个阶段组成:操作请求阶段、数据阶段以及响应阶段。操作请求阶段和响应阶段共享相同的识别符,且可选的数据阶段在需要时存在于另外两个阶段之间。
操作请求阶段由操作请求数据集(其识别由起始器调用的操作)的传输、其中其应被执行的上下文(会话和事务)以及有限的一组参数组成。
可选的数据阶段跟随操作请求阶段。其存在由操作请求阶段中定义的操作决定。数据可为在协议内定义的透明数据集,或可为经交换以存储在接收装置上的二进制数据。数据阶段中实际的数据传输可涉及以容器格式发送数据,或将数据分为若干个包,如正在使用中的特定传输所需。
在响应阶段中,将固定数据集从响应器传输到起始器以报告关于先前事务的信息,例如成功/失败。
1.4事件:事件主要由响应器发送作为以前摄方式传输信息或警报的方式。不同于操作,不需要对事件进行应答或动作。事件需要与数据传输或操作事务异步通信。传输应定义事件可在事务期间与数据流交错的过程。
1.5同步和异步事务:通信协议中的所有事务都是同步的,即在前一操作完全完成之前无法起始新的操作。可通过在操作在装置上的后台中执行的同时由响应器发送的事件,通过将操作分为起始(其使操作开始)以及进程监视来模拟异步操作。如果在异步操作在处理中时尝试新的操作,那么响应器以忙失败状态响应,且起始器应稍后再次尝试。
2信息数据集
当交换数据收集时,其以称为数据集的预定义结构被收集。存在三种信息数据集,其可通过使用适当的操作来存取。
2.1装置信息数据集:装置信息数据集提供对装置的描述,且大部分是静态的。
2.2对象信息数据集:对象信息数据集提供对对象的核心属性的综述。这些核心属性包含对象的数据分量的大小。属性还包含关联性,其可用于使数据对象相关联,且描述装置上的分级文件系统。可不依赖于专用于特定文件系统的任何路径或命名惯例来表示装置上的文件分级。对象的属性还可在对象属性数据集中检索。
2.3存储装置信息数据集:存储装置信息数据集描述装置中包含的存储装置。描述包含最大容量和仍有待写入的自由空间两者,且可包含使用中的文件命名惯例或目录结构惯例。
3属性
3.1装置属性:装置属性识别装置的设置或状态条件,且不链接到装置上的任何数据对象。装置属性可为只读或读写的。属性包含在装置属性描述数据集中,且可通过使用适当的操作来设置或检索。
3.2对象属性:对象属性提供用于交换与对象本身分离的对象描述元数据的机制。对象属性的主要益处是允许对大存储装置的快速列举,而不论文件系统如何。对象属性提供关于装置上的对象的信息,且指定其可包含的值。属性包含在对象属性数据集中,且可通过使用适当的操作来设置或检索。
4.对象句柄
对象句柄是提供对装置上的逻辑对象的一致参考(在会话中是唯一的)的识别符。对象句柄的值没有特定的意义。响应器响应于来自起始器的打开会话操作而为装置内的对象产生对象句柄阵列。起始器借助于获得对象句柄操作来获取对象句柄,这促使响应器向起始器发送对象句柄阵列。当起始器使用发送对象信息操作来定义待发送的对象时,响应器装置分配对象句柄,并在操作的响应阶段中将其返回到起始器。当会话关闭时,所有的对象句柄均失效,且必须由起始器重新获取。装置可保持相同的对象句柄或可改变对象句柄以用于下一会话。
5.对象参考
因为对象接口是独立于文件系统的协议,所以无法通过嵌入文件名在对象之间形成复杂的链接。已定义一个抽象的参考机制以允许任意的对象参考。参考是单向的,且在不检查对装置中所有对象的所有参考的情况下无法确定哪些对象参考给定的对象。可通过使用适当的操作来设置或检索参考。文件句柄参考的对象在会话之间必须一致。对删除的对象的参考不能错误地参考另一对象。任何对象句柄都不应再次使用,或者装置应将对一个对象的所有参考连同对象一起删除。
6.操作和响应
操作定义在事务内在起始器与响应器之间发生的通信。响应器对起始操作起作用所需的信息可作为参数在操作请求上传递。可发送5个参数。额外的信息也可在事务的数据阶段中以预定义数据集传递。在每次操作之后,响应器返回具有多达5个参数的响应数据集以及指示操作结果的响应码。指定大量的操作。操作序列的实例是跟随有“发送对象”操作的“发送对象信息”操作,起始器通过此操作向响应器发送对象,以及跟随有“获得对象”操作的“获得对象信息”操作,起始器通过此操作接收来自响应器的对象。
图14A展示起始器410与响应器412之间的事务的实例。起始器410可为PC,且响应器412可为MP3音乐播放器或数字相机。起始器410和响应器412经连接以允许例如通过USB电缆进行通信。首先,在操作请求阶段中,起始器410识别作为“发送对象信息”操作而调用的操作。第二,在数据阶段中,起始器410向响应器412发送对象信息414。对象信息414是关于将由起始器410发送到响应器412的特定对象的信息。对象信息414在其涉及的对象被发送之前由起始器410发送。对象信息可包含关于对象的多种信息,包含对象的大小。在将发送的对象是MP3音乐文件的情况下,MP3音乐文件的大小作为对象信息的一部分发送。第三,在响应阶段中(在对象信息414由响应器412接收之后),响应器412指示已接收到对象信息414。事务可在此时结束。。
图14B展示跟随图14A的事务且作为起始器410与响应器412之间的同一会话的一部分的第二事务。第二事务是“发送对象”事务。首先,在操作请求阶段中,起始器410识别作为“发送对象”操作调用的操作。第二,在数据阶段中,起始器向响应器412发送对象416。对象416可为MP3音乐文件或具有例如JPEG、GIF或位图格式的数字照片。对象416的对象信息414(包含文件大小)已经由起始器410发送到响应器412,如相对于图14A所述。第三,在响应阶段中(在接收对象416之后),响应器412向起始器410指示已接收到对象416。事务可在此时结束。
对象协议适配器
在本发明的实施例中,在存储器系统中提供对象协议适配器,其允许使用对象协议的主机与使用如上所述基于文件的后端的存储器系统介接。对象协议适配器根据对象协议通过对象接口接收数据和命令,并在向后端发送数据和命令之前执行适当的转译。在一个实例中,主机使用MTP来与存储器系统介接,且存储器系统使用直接数据文件后端来存储数据。对象协议适配器对在主机接口与后端之间的命令与数据两者执行适当的转换。
图15展示插入在对象接口520与基于文件的后端522之间的对象协议适配器的实例。对象接口520是用于预定大小的文件对象(例如MTP或PTP对象)的接口。对象的大小在对象由主机发送之前发送。对象协议适配器524管理协议,在所述协议内存储器系统526与主机通信。对象协议适配器524还管理用于与主机的信息交换的事务并执行事务。事务是根据基于文件的协议在对象协议适配器与基于文件的后端之间执行的。
对象协议适配器524在新的文件对象由主机发送(根据对象协议)时通过向基于文件的后端522发送适当的命令来管理文件的打开和关闭。特定来说,因为文件在对象协议中具有预定大小,所以对象协议适配器524负责在已接收到预定量的文件数据时关闭文件。使用对象协议的主机通常将不发送单独的文件结束指示符,因此对象协议适配器524在已接收到整个文件对象时产生文件结束指示符并将其发送到基于文件的后端522。以此方式,当存储器系统526接收到来自使用对象协议的主机的多个文件时,基于文件的后端522不会保持文件打开,直到其达到某个最大数目的打开文件为止(如直接数据文件后端中通常发生)。替代地,每个文件作为完整的对象而接收,且基于文件的后端在所述完整的文件被接收之后接收来自对象协议适配器524的命令,使得基于文件的后端关闭文件。这减少了维持许多打开文件的负担。一旦文件关闭就可调度文件以进行垃圾收集。
对象协议适配器可管理存储器系统的状态。特定来说,对于具有直接数据文件后端的存储器系统,定义三种状态,其允许存储器系统响应于主机命令而改变其操作。这三种状态是:“闲置”、“备用”和“关闭”。响应于来自主机的相应状态命令来起始这三种状态,其中主机使用直接数据文件命令集或等效物。在主机使用对象协议的情况下,对象协议适配器可产生状态命令。如果主机使用包含所述命令的对象协议,那么对象协议适配器可响应于从主机接收的等效命令来向基于文件的后端发送状态命令。或者,对象协议适配器可基于从其它因素推断主机的状态来产生状态命令。举例来说,主机可给出某个指示:其在一段时间内将不会移除功率,且作为响应,对象协议适配器可向基于文件的后端发送“闲置”状态命令。类似地,主机可指示其将移除功率,或对象协议适配器可基于主机行为而推断出将移除功率,且作为响应,对象协议适配器可向基于文件的后端发送“关闭”命令。
对象协议适配器的主要功能之一是将来自从主机接收的预定义文件的主机数据转换(根据对象协议)为用于基于文件的后端的流式数据。当使用对象协议的主机(充当MTP中的起始器)发送具有预定义大小的文件且要求来自响应器的响应时,基于文件的后端通常不会配置成提供此响应。特定来说,在使用直接数据文件后端的情况下,数据通常被流化,且没有MTP的响应阶段的等效物。对象协议适配器将来自主机的对象转换为流式数据,并在已接收到对象的所有数据时产生对主机的适当响应。
在例如MTP的对象协议中,读取或写入对象的操作之前是用于传送关于所述对象的信息的单独操作。此信息传送操作是在正写入的对象的情况下针对对象属性(对象信息)的“设置”操作。此信息传送操作在正读取的对象的情况下是针对对象属性的“获得”操作。对象属性具有包含对象长度的数据集的形式。
当对象正写入图15的存储器系统526时,对象的数据集首先由对象协议适配器524从主机接收。在MTP项中主机被视为起始器。数据集中的信息用于控制实施写入操作的后续事务。数据集还作为元数据存储在存储器系统526中。在写入操作期间,对象协议适配器524计数在数据写入操作阶段期间从起始器传送的数据量。对象协议适配器524从此计数中识别对象数据的结束。对象协议适配器接着产生发送到主机的响应。对象协议适配器524还向基于文件的后端522发送命令以关闭文件。
当正从图15的存储器系统526读取对象时,对象的元数据首先由对象协议适配器524从基于文件的后端522获得。对象的元数据接着用于控制实施读取操作的后续事务。对象协议适配器524还将存储在存储器系统526中的元数据发送到主机作为用于对象的数据集。对象协议适配器526计数在数据读取操作阶段期间从基于文件的后端522传送的数据量。对象协议适配器524从此计数中识别数据的结束。对象协议适配器524在对象已发送之后接着产生发送到主机的响应。
对象协议适配器在用于例如MTP的对象协议的对象信息数据集与存储在例如使用直接数据文件后端的那些存储器系统的基于文件的存储器系统中的元数据之间进行转译。“元数据”是用于指代关于对象的数据的术语,所述数据与对象分离地存储且单独管理。因此,MTP中的对象信息数据集是元数据的一个实例。直接数据文件后端可以与对象协议所使用的不同格式或相同格式来存储元数据。术语“文件_信息”也用于直接数据文件系统中的元数据。当对象协议适配器524接收到来自主机的元数据相关命令时,对象协议适配器524可将命令转译为与基于文件的后端522兼容的格式。然而在一些情况下,不需要任何转译,因为用于对象协议中的元数据的命令与基于文件的后端522兼容。
元数据是由主机产生的与文件相关联的信息。元数据的特征和内容由主机确定,且其通常不会由存储文件和元数据的装置解译。元数据命令用于起始针对由直接数据文件后端存储的指定文件的元数据输入和输出操作,且定义元数据内的偏移地址值。元数据命令可在从主机接收到关于MTP数据集的相应命令时由对象协议适配器产生。由直接数据文件后端系统使用的元数据命令的实例在下表中展示。
  命令   参数   描述
  元数据_写入   <文件ID>   将指定文件的元数据写入由元数据_写入_指针的当前值界定的偏移地址
  元数据_读取   <文件ID>   在由元数据_写入_指针的当前值界定的偏移地址处读取指定文件的元数据
  元数据_写入_指针   <文件ID><偏移量>   为指定文件的元数据_写入_指针界定新的当前值
  元数据_读取_指针   <文件ID><偏移量>   为指定文件的元数据_读取_指针界定新的当前值
元数据_写入:在元数据_写入命令的接收之后流化到装置的元数据覆写在由元数据_写入_指针的当前值界定的偏移地址处指定文件的元数据。指定文件的元数据的内容和长度由主机确定。元数据_写入命令通过接收任何其它命令来终止。
元数据_读取:在由元数据_读取_指针的当前值界定的偏移地址处的指定文件的元数据可在接收元数据_读取命令之后从装置流化。当达到元数据的末尾时,元数据流化终止,且此条件可由主机借助于状态命令来识别。元数据_读取命令通过接收任何其它命令来终止。
元数据_写入_指针:元数据_写入_指针命令将指定文件的元数据_写入_指针设置到指定的偏移地址。元数据_写入_指针在元数据跟随元数据_写入命令流化到装置时由装置递增。
元数据_读取_指针:元数据_读取_指针命令将指定文件的元数据_读取_指针设置到指定的偏移地址。元数据_读取_指针在元数据跟随元数据_读取命令从装置流化时由装置递增。
在一些情况下,主机可具有对象的分级布置。举例来说,文件可存储在目录和子目录中。直接数据文件后端通常存储没有任何分级结构(即,处于逻辑上平坦的布置)的文件。为了调和两个系统,对象协议适配器可通过使用与对象相关联的元数据重新产生所存储对象的分级结构。在主机维持分级的情况下,关于分级中文件的状态的信息在文件存储时作为元数据存储。当主机存取存储器系统时,可首先读取元数据,使得对象协议适配器可确定分级结构并可将此信息返回给主机。以此方式,即使文件在不考虑此分级信息的情况下存储在存储器系统中,对象协议适配器也可重新产生分级信息。举例来说,文件位于主机的分级中的目录和子目录可在文件存储时作为元数据存储。稍后当主机尝试存取存储器系统的内容时,在返回到主机的信息中反映目录和子目录信息。
多协议接口
在本发明的实施例中,提供存储器系统,其可接收和存储具有预定大小(例如根据MTP协议)的对象、没有预定大小的作为经流化文件接收的文件,以及具有在为存储器系统界定的逻辑地址空间上界定的逻辑地址的数据扇区。对应于这三种协议来配置协议适配器,且根据主机使用的协议来选择协议适配器。
图16展示具有连接到共用直接数据文件接口636的三个协议适配器632、632、634的存储器系统629。直接数据文件接口636和直接数据文件存储装置638在基于文件的后端640中,所述后端640可视为直接数据文件后端。因此,存储器系统629使用用于从所述文件接口的任一者接收的数据的共用后端。在此系统中存储器的分区可能不是必要的,从而有效地使用存储器阵列中的可用空间。因此,阵列中的区块可用于存储在不同时间从文件接口、对象接口和LBA接口接收的数据。然而,从LBA接口接收的数据可存储在在该时间仅存储从LBA接口接收的数据的区块中。以通常反映其文件结构的方式管理从文件接口和对象接口接收的数据,从而减少垃圾收集。
图16展示通过LBA协议适配器634连接到基于文件的后端640的LBA接口639。LBA协议适配器634可将LBA数据转换为逻辑文件,或使用某种其它方式将LBA数据转换为用于由基于文件的后端接收的合适的格式。
对象接口642通过对象协议适配器632连接到基于文件的后端640。大体上,对象协议适配器632将来自一个协议的数据和命令转换到另一协议,以允许使用对象协议的主机存取基于文件的后端。尽管这可仅涉及从对象协议命令到基于文件的命令的一对一转译,但在一些情况下,命令在另一协议中不具有等效物。在所述情况下,对象协议适配器可能做出比简单转译更多的事。举例来说,在MTP主机发送包含对象大小的元数据并接着发送对象的情况下,对象协议适配器识别对象的结束并产生对MTP主机的响应。对象协议适配器在此时还对基于文件的后端产生关闭文件命令。
文件接口644通过文件协议适配器630连接到基于文件的后端640。在一些情况下,使用适当的基于文件的协议的主机可与基于文件的后端直接通信,而不必需任何转译。然而在其它情况下,主机可使用基于文件的但与基于文件的后端的协议不同的协议来发送文件。在此情况下,文件协议适配器630执行任何必要的转译。
图16的存储器系统与使用至少三种不同协议的主机兼容。如果提供额外的协议适配器,那么存储器系统也可与其它主机兼容。
图17展示图16的存储器系统629,其中文件协议适配器630、对象协议适配器632和LBA协议适配器634共同视为转译层750。每个协议适配器提供在特定主机协议与基于文件的后端640之间所需的转译。在一些情况下,存储器系统629可每次与一个以上主机通信。举例来说,存储器系统629可连接到附接有多个主机的网络。在其它实例中,单个主机可具有表现为它们好像是不同主机的运行的不同应用程序,且可使用不同的协议与存储器系统通信。在这些情况下,转译层750必须解决不同主机之间的任何冲突。转译层750提供不同主机之间的仲裁,使得基于文件的后端640不接收冲突命令。这可能意味着拒绝一个主机存取,直到另一主机完成特定任务为止。举例来说,如果对象协议适配器632正在传送对象或元数据,那么转译层750可防止LBA协议适配器634和文件协议适配器630与基于文件的后端640通信,直到操作完成为止。这可能意味着向尝试经由LBA接口639或文件接口634存取存储器系统的主机发送忙信号。在一些实例中,不同的主机可能能够通过交错的事务来存取基于文件的后端640,使得其具有相同时间周期中的存取。在这些情况下,转译层750在主机之间进行仲裁。
图17展示含有文件接口644、对象接口642和LBA接口639的接口层752。文件接口644、对象接口642和LBA接口639展示为相异元件,然而这是展示存储器系统629的逻辑接口的逻辑表示,且可能不一定存在三种单独的物理接口。在一些实例中,单个物理接口(例如USB连接器或SD连接器)对于文件接口644、对象接口642和LBA接口639以及使用的任何其它接口来说是共用的。使用哪种接口且因此使用哪种协议适配器取决于主机使用的协议。在一些情况下,当存储器系统第一次连接到主机时,主机可将主机协议作为握手例行程序的一部分来指示。在其它情况下,存储器系统629从主机发送的命令中推断主机协议。接口层752可从主机发送的指示或以某种其它方式检测所使用的主机协议,并根据主机协议选择适当的通信接口。因此,在存储器系统检测到主机正使用MTP协议时,选择对象接口642和对象协议适配器632。大体上,在任何一个时间仅选择一个协议适配器。然而在一些情况下,可交替选择协议适配器以允许两个或两个以上主机的交错存取。
应了解,图17的元件对应于存储器系统629的逻辑组件,且不一定对应于单独的物理元件。因此可通过专用电路来实现或可使用在控制器上操作的适当固件来实现接口层752和转译层750的功能。在一个实例中,单个物理接口由存储器控制器管理,存储器控制器选择在存储器控制器上运行的协议适配器以将数据和命令转换为与共用后端兼容的格式。尽管图17仅展示三个协议适配器,但真正的存储器系统可能具有多于或少于三个协议适配器。在一些情况下可能存在一个以上对象协议适配器。举例来说,可能存在用于MTP的对象协议适配器以及用于另一对象协议(例如,PTP)的单独对象协议。类似地,可能存在用于不同文件协议的一个以上文件协议适配器,以及用于不同LBA协议的不同LBA协议适配器。举例来说,Alan W.Sinclair的标题为“Logically-Addressed FileStorage Methods”的第11,302,764号专利申请案提供了替代性LBA协议的实例。
结论
尽管已相对于本发明的示范性实施例描述了本发明的各个方面,但应了解本发明受到所附权利要求书的完整范围内的保护。

Claims (37)

1.一种用于在非易失性存储器阵列中存储数据的存储器系统,所述存储器系统接收来自一个或一个以上应用程序的不同逻辑格式的数据,并以常用逻辑格式将数据存储在所述存储器阵列中,所述存储器系统包括:
第一协议适配器,其接收来自第一应用程序的第一数据作为第一主机文件,在所述文件之前是所述第一主机文件长度的指示,并将所述第一数据发送到所述非易失性存储器阵列,其中所述第一数据存储在使用第一文件识别符记录的位置处;
第二协议适配器,其接收来自第二应用程序的第二数据作为识别为第二主机文件的数据的数据流而没有所述第二主机文件长度的指示,并将所述第二数据发送到所述非易失性存储器阵列,其中所述第二数据存储在使用第二文件识别符记录的位置处;以及
第三协议适配器,其接收来自第三应用程序的第三数据作为具有来自为所述存储器系统界定的逻辑地址范围的个别逻辑地址的多个扇区,并将所述第三数据发送到所述非易失性存储器阵列,其中所述第三数据存储在使用第三文件识别符记录的位置处。
2.根据权利要求1所述的存储器系统,其中所述存储器系统包含在可通过标准化连接以可移除方式连接到主机系统的存储器卡中。
3.根据权利要求2所述的存储器系统,其中所述第一应用程序在第一主机系统上运行,所述存储器卡在第一时间连接到所述第一主机系统;
所述第二应用程序在第二主机系统上运行,所述存储器卡在第二时间连接到所述第二主机系统;且
所述第三应用程序在第三主机系统上运行,所述存储器卡在第三时间连接到所述第三主机系统。
4.根据权利要求1所述的存储器系统,其中所述第一、第二和第三数据的位置是用指示所述存储器阵列中对应于所述第一、第二和第三文件识别符中每一者的一个或一个以上区块的条目来记录的。
5.根据权利要求1所述的存储器系统,其中所述第一协议适配器向所述主机产生所述第一主机文件已被接收的指示。
6.根据权利要求1所述的存储器系统,其中所述第一协议适配器产生所述第一主机文件结束的指示符,所述指示符致使调度所述第一数据以进行垃圾收集。
7.一种实施在可移除存储器卡上的存储器系统,所述可移除存储器卡连接到主机接口并存储通过所述主机接口接收的数据,所述存储器系统包括:
非易失性存储器阵列;
后端存储器管理系统,其将所述非易失性存储器阵列内的数据作为文件来管理;
接口层,其与主机通信;
转译层,其位于所述接口层与所述后端存储器管理系统之间,所述转译层接收来自所述接口层的主机命令,所述主机命令遵守对象协议,且响应于接收到所述主机命令,所述转译层向所述后端存储器管理系统产生经转译的命令,所述经转译的命令不遵守所述对象协议。
8.根据权利要求7所述的存储器系统,其中所述对象协议是媒体传输协议(MTP)。
9.根据权利要求7所述的存储器系统,其中主机在发送对象之前发送包含所述对象的大小的指示的元数据,且所述转译层根据所述指示确定何时已从所述主机接收到整个对象。
10.根据权利要求9所述的存储器系统,其中响应于确定已接收到所述整个对象,所述转译层产生发送到所述主机的响应,并产生发送到所述后端存储器管理系统的文件结束指示符。
11.根据权利要求7所述的存储器系统,其中所述转译层进一步包含:
文件协议适配器,其将来自使用主机文件协议的第二主机的通信转译到所述后端文件协议;以及
LBA协议适配器,其将来自使用逻辑地址协议的第三主机的通信转译到所述后端文件协议。
12.根据权利要求11所述的存储器系统,其中所述LBA协议适配器从为所述存储器系统界定的逻辑地址空间接收具有由所述第三主机分配的逻辑地址的数据扇区,并将所述扇区映射到在大小上等于所述存储器阵列的元区块的容量的虚拟文件。
13.一种用于在非易失性存储器阵列中存储数据的存储器系统,所述存储器系统接收来自一个或一个以上应用程序的不同逻辑格式的数据,并以常用逻辑格式将数据存储在所述存储器阵列中,所述存储器系统包括:
第一协议适配器,其接收来自第一应用程序的第一数据作为第一主机文件,在所述文件之前是所述第一主机文件长度的指示,并将所述第一数据发送到所述非易失性存储器阵列,其中所述第一数据存储在使用第一文件识别符记录的位置处;以及
第二协议适配器,其接收来自第二应用程序的第二数据作为识别为第二主机文件的数据的数据流而没有所述第二主机文件长度的指示,并将所述第二数据发送到所述非易失性存储器阵列,其中所述第二数据存储在使用第二文件识别符记录的位置处。
14.根据权利要求13所述的存储器系统,其中所述存储器系统包含在可通过标准化连接以可移除方式连接到主机系统的存储器卡中。
15.根据权利要求14所述的存储器系统,其中所述第一应用程序在第一主机系统上运行,所述存储器卡在第一时间连接到所述第一主机系统;且
所述第二应用程序在第二主机系统上运行,所述存储器卡在第二时间连接到所述第二主机系统。
16.根据权利要求13所述的存储器系统,其中所述第一和第二数据的位置是用指示所述存储器阵列中对应于所述第一和第二文件识别符中每一者的一个或一个以上区块的条目来记录的。
17.根据权利要求13所述的存储器系统,其中所述第一协议适配器向所述主机产生所述第一主机文件已被接收的指示。
18.根据权利要求13所述的存储器系统,其中所述第一协议适配器产生所述第一主机文件结束的指示符,所述指示符致使调度所述第一数据以进行垃圾收集。
19.一种操作存储器系统以与多个主机协议兼容的方法,所述存储器系统包含区块可擦除存储器阵列和控制器,所述方法包括:
检测当连接到主机时的主机协议,并响应于检测到的所述主机协议从多个协议适配器中选择一协议适配器,所述多个协议适配器包含至少第一、第二和第三协议适配器;
响应于检测到第一主机协议选择所述第一协议适配器,所述第一主机协议发送预定长度的文件,在所述文件之前是文件长度指示符,个别文件具有唯一的文件指示符;
响应于检测到第二主机协议选择所述第二协议适配器,所述第二主机协议发送不具有文件长度指示符的文件,个别文件具有唯一的文件指示符;以及
响应于检测到第三主机协议选择所述第三协议适配器,所述第三主机协议发送数据扇区,每个扇区具有来自为所述存储器系统界定的逻辑地址范围的逻辑地址。
20.根据权利要求19所述的方法,其进一步包括将通过所述第一协议适配器接收的第一文件存储在所述存储器阵列的第一多个区块中,并记录所述第一文件识别符与所述第一多个区块之间的第一关联性;
将通过所述第二协议适配器接收的第二文件存储在所述存储器阵列的第二多个区块中,并记录所述第二文件识别符与所述第二多个区块之间的第二关联性;以及
将通过所述第三协议适配器接收的多个扇区存储在第三多个区块中,并记录所述第三文件识别符与所述第三多个区块之间的第三关联性。
21.根据权利要求19所述的方法,其中所述第一协议适配器在已接收到所述预定长度的数据之后产生对所述第一主机的响应。
22.根据权利要求19所述的方法,其中所述第一协议适配器响应于接收到所述预定长度的数据而产生文件结束指示符,所述指示符致使所述文件被关闭并经调度以进行垃圾收集。
23.根据权利要求19所述的方法,其进一步包括在任何一个时间仅选择所述第一、第二或第三协议适配器中的一者。
24.根据权利要求19所述的方法,其进一步包括在不同时间交替地选择所述第一、第二和第三协议适配器中的不同一者以允许一个以上主机应用程序的交错存取。
25.根据权利要求19所述的方法,其中所述存储器系统实施在可移除存储器卡中。
26.根据权利要求25所述的方法,其中所述存储器卡符合选自以下各项的标准:紧致快闪存储器、多媒体卡、安全数字、小型SD、记忆棒、智能媒体或TransFlash。
27.一种操作可移除存储器卡上的非易失性存储器系统的方法,其包括:
从主机接收元数据,所述元数据包含对象中数据量的指示;
随后从所述主机接收所述对象,并通过将从所述主机接收的对象数据量与所述元数据所指示的数据量进行比较来确定是否已接收到整个对象;以及
响应于确定已接收到所述整个对象,向所述主机发送响应并关闭所述存储器系统中对应于所述对象的文件,所述文件由于被关闭而被标记以进行垃圾收集。
28.根据权利要求27所述的方法,其进一步包括将所述元数据存储在所述非易失性存储器系统中。
29.根据权利要求27所述的方法,其中所述主机维持包含所述对象的分级,且所述对象在所述分级内的位置由所述元数据提供。
30.根据权利要求29所述的方法,其中将所述文件存储在所述存储器系统中而不用考虑其在所述分级中的位置。
31.根据权利要求30所述的方法,其中随后当主机请求所述文件时,所述元数据用于重新产生所述分级。
32.一种操作可移除存储器系统以与多个主机协议兼容的方法,所述存储器系统包含区块可擦除存储器阵列和控制器,所述方法包括:
检测当连接到主机时的主机协议,并响应于检测到的所述主机协议从多个协议适配器中选择一协议适配器,所述多个协议适配器包含至少第一协议适配器和第二协议适配器;
响应于检测到第一主机协议选择所述第一协议适配器,所述第一主机协议发送预定长度的文件,在所述文件之前是文件长度指示符,个别文件具有唯一的文件识别符;以及
响应于检测到第二主机协议选择所述第二协议适配器,所述第二主机协议发送不具有文件长度指示符的文件,个别文件具有唯一的文件识别符。
33.根据权利要求32所述的方法,其进一步包括将通过所述第一协议适配器接收的第一文件存储在所述存储器阵列的第一多个区块中,并记录所述第一文件识别符与所述第一多个区块之间的第一关联性;以及
将通过所述第二协议适配器接收的第二文件存储在所述存储器阵列的第二多个区块中,并记录第二文件识别符与所述第二多个区块之间的第二关联性。
34.根据权利要求32所述的方法,其中所述第一协议适配器在已接收到所述预定长度的数据之后产生对所述第一主机的响应。
35.根据权利要求32所述的方法,其中所述第一协议适配器响应于接收到所述预定长度的数据而产生文件结束指示符,所述指示符致使所述文件被关闭并被调度以进行垃圾收集。
36.根据权利要求32所述的方法,其进一步包括在任何一个时间仅选择所述第一或第二协议适配器中的一者。
37.根据权利要求32所述的方法,其进一步包括选择第一或第二协议适配器中的交替一者,其中所述可移除存储器系统与一个以上主机通信。
CN2006800348564A 2005-08-03 2006-08-01 增强型主机接口 Active CN101288045B (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/316,577 2005-12-21
US11/316,578 US8291151B2 (en) 2005-08-03 2005-12-21 Enhanced host interface
US11/316,578 2005-12-21
US11/316,577 US20070033326A1 (en) 2005-08-03 2005-12-21 Enhanced host interfacing methods
PCT/US2006/030342 WO2007019258A2 (en) 2005-08-03 2006-08-01 Enhanced host interface

Publications (2)

Publication Number Publication Date
CN101288045A true CN101288045A (zh) 2008-10-15
CN101288045B CN101288045B (zh) 2012-08-29

Family

ID=37402587

Family Applications (7)

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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2006800360852A Active CN101278267B (zh) 2005-08-03 2006-08-01 具有经调度回收操作的非易失性存储器

Family Applications After (5)

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

Country Status (7)

Country Link
US (12) US7409489B2 (zh)
EP (2) EP1920336A2 (zh)
JP (2) JP4537481B2 (zh)
KR (2) KR20080038364A (zh)
CN (7) CN101278267B (zh)
TW (6) TW200731065A (zh)
WO (2) WO2007019174A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301348B (zh) * 2009-02-11 2014-10-15 桑迪士克以色列有限公司 主机请求映射的系统和方法

Families Citing this family (533)

* 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
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage 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
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
JP2006350476A (ja) * 2005-06-13 2006-12-28 Sony Computer Entertainment Inc コンテンツ配信装置およびシステム
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
US8438647B2 (en) * 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
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
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
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
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
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
US20070136553A1 (en) * 2005-12-13 2007-06-14 Sinclair Alan W Logically-addressed file storage systems
US7877540B2 (en) 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
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 北京握奇数据系统有限公司 智能卡存储系统及该系统中文件创建管理的方法
US7469329B2 (en) 2006-03-30 2008-12-23 International Business Machines Corporation Methods for dynamically resizing memory pools
US20070233752A1 (en) * 2006-03-30 2007-10-04 Kiran Bangalore Method and apparatus to reclaim nonvolatile memory space
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 삼성전자주식회사 메모리 카드 및 그것의 데이터 저장 방법
US7451265B2 (en) * 2006-08-04 2008-11-11 Sandisk Corporation Non-volatile memory storage systems for phased garbage collection
US7444461B2 (en) * 2006-08-04 2008-10-28 Sandisk Corporation Methods 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
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
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
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 삼성전자주식회사 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
US8745315B2 (en) 2006-11-06 2014-06-03 Rambus Inc. Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory
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
WO2008070814A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
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
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
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
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
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
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
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
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
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
KR101464199B1 (ko) 2006-12-26 2014-11-21 샌디스크 테크놀로지스, 인코포레이티드 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
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
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 삼성전자주식회사 프로그래밍시 블럭단위의 상태 레지스터를 확인하는 플래시메모리와 그 방법
US7987332B2 (en) * 2007-03-21 2011-07-26 Sandisk Technologies Inc. Methods for storing memory operations in a queue
US20080235480A1 (en) * 2007-03-21 2008-09-25 Shai Traister Systems for storing memory operations in a queue
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
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
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
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations 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
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
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
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
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
US20100180072A1 (en) * 2007-06-22 2010-07-15 Shigekazu Kogita Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
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
US7822791B2 (en) * 2007-06-28 2010-10-26 Intel Corporation Method and apparatus for flash memory reclaim
US20090006506A1 (en) * 2007-06-28 2009-01-01 Nokia Corportion Method and system for garbage collection of native resources
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
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
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
US9032154B2 (en) * 2007-12-13 2015-05-12 Sandisk Technologies Inc. Integration of secure data transfer applications for generic IO devices
CA2708669A1 (en) * 2007-12-13 2009-06-18 Redknee Inc. Method and system for storage
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
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
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
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 メモリシステム
US20110016275A1 (en) * 2008-03-04 2011-01-20 Nxp B.V. Mobile communication device and method for implementing mifare memory multiple sectors mechanisms
CN101251788A (zh) * 2008-03-07 2008-08-27 威盛电子股份有限公司 储存单元管理方法及系统
JP2009230205A (ja) * 2008-03-19 2009-10-08 Toshiba Corp メモリシステム
US8484432B2 (en) 2008-03-11 2013-07-09 Kabushiki Kaisha Toshiba Memory system
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
WO2009135196A1 (en) * 2008-05-02 2009-11-05 Ironkey, Inc. Enterprise device policy management
US8880775B2 (en) * 2008-06-20 2014-11-04 Seagate Technology Llc System and method of garbage collection in a memory device
CN102067184B (zh) * 2008-06-24 2014-05-14 Nxp股份有限公司 安全移动环境中访问应用的方法
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
US20100070544A1 (en) * 2008-09-12 2010-03-18 Microsoft Corporation Virtual block-level storage over a file system
TWI399651B (zh) * 2008-09-12 2013-06-21 Communication protocol method and system for input / output device
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 美光科技公司 固态大容量存储装置的数据串流
US8205203B2 (en) * 2008-10-16 2012-06-19 International Business Machines Corporation Scheduling for real-time garbage collection
US8429658B2 (en) * 2008-10-16 2013-04-23 International Business Machines Corporation Lock deferral 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 삼성전자주식회사 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법
US20120173593A1 (en) * 2008-12-16 2012-07-05 Fabrice Jogand-Coulomb System and Method for Managing Discardable Objects
US9104686B2 (en) * 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US8849856B2 (en) * 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
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
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
WO2010103760A1 (ja) * 2009-03-13 2010-09-16 パナソニック株式会社 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
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
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
US8504759B2 (en) * 2009-05-26 2013-08-06 Micron Technology, Inc. Method and devices for controlling power loss
TWI455133B (zh) * 2009-05-26 2014-10-01 Silicon Motion Inc 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
JP2012529692A (ja) * 2009-06-10 2012-11-22 マイクロン テクノロジー, インク. メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. 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 富士通株式会社 アーカイブ装置、データ格納プログラムおよびデータ格納方法
WO2011013125A1 (en) 2009-07-27 2011-02-03 Storwize Ltd. Method and system for transformation of logical data objects for storage
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
US8683088B2 (en) * 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US9690513B2 (en) * 2009-08-27 2017-06-27 International Business Machines Corporation Dispersed storage processing unit and methods with operating system diversity for use in a dispersed storage system
CN102696010B (zh) 2009-09-08 2016-03-23 才智知识产权控股公司(2) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
WO2011031903A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
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 用來管理具有多通道、多途徑的記憶裝置之方法以及相關之記憶裝置及其控制器
US8745353B2 (en) * 2009-10-23 2014-06-03 Seagate Technology Llc Block boundary resolution for mismatched logical and physical block sizes
US8364929B2 (en) * 2009-10-23 2013-01-29 Seagate Technology Llc Enabling spanning for a storage device
US8140740B2 (en) * 2009-10-29 2012-03-20 Hewlett-Packard Development Company, L.P. Data defragmentation of solid-state memory
US8549223B1 (en) 2009-10-29 2013-10-01 Symantec Corporation Systems and methods for reclaiming storage space on striped volumes
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 用於快閃記憶體的資料儲存方法及其控制器與儲存系統
GB2488480B (en) * 2009-12-03 2017-07-19 Hitachi Ltd Storage device and memory controller
US8176235B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Non-volatile memories with enhanced write performance and endurance
US8176234B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Multi-write coding of non-volatile memories
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
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
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
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闪存的文件系统的自编程方法及装置
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
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
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US9213594B2 (en) 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
JP5917163B2 (ja) * 2011-01-27 2016-05-11 キヤノン株式会社 情報処理装置、その制御方法及びプログラム並びに記憶媒体
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
KR20120088454A (ko) * 2011-01-31 2012-08-08 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 비휘발성 메모리 장치와, 이를 위한 프로그램 방법
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
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
US9575842B2 (en) * 2011-02-24 2017-02-21 Ca, Inc. Multiplex backup using next relative addressing
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
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
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
KR20130075018A (ko) * 2011-12-27 2013-07-05 한국전자통신연구원 플래시 메모리 파일 시스템에 적용 가능한 데이터 업데이트 장치 및 방법
JP2015507798A (ja) 2011-12-29 2015-03-12 メモリー テクノロジーズ リミティド ライアビリティ カンパニー メモリ・モジュールにおいてデータ・エンティティを消去するための方法
KR20130078973A (ko) * 2012-01-02 2013-07-10 삼성전자주식회사 메모리 장치의 불량 저장 영역 관리 방법 및 이를 이용한 저장 장치
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
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
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
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
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
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
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
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
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
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9348746B2 (en) * 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
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
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
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
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
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
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9569447B2 (en) * 2013-11-08 2017-02-14 Texas Instruments Incorporated File access method and system thereof
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 杭州鹰湾科技有限公司 一种搜索文件的方法和电子设备
KR20150068747A (ko) 2013-12-12 2015-06-22 삼성전자주식회사 비휘발성 메모리 시스템, 이를 포함하는 모바일 장치 및 비휘발성 메모리 시스템의 동작방법
US9766823B2 (en) 2013-12-12 2017-09-19 Memory Technologies Llc Channel optimized storage modules
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
US9619155B2 (en) 2014-02-07 2017-04-11 Coho Data Inc. Methods, systems and devices relating to data storage interfaces for managing data 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
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
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
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
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
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
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
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
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
US20160188495A1 (en) * 2014-12-26 2016-06-30 Intel Corporation Event triggered erasure for data security
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 株式会社東芝 メモリシステムおよび情報処理システム
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
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
US10289327B2 (en) * 2015-06-05 2019-05-14 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US10884945B2 (en) 2015-06-30 2021-01-05 International Business Machines Corporation Memory state indicator check operations
US10248418B2 (en) 2015-06-30 2019-04-02 International Business Machines Corporation Cleared memory indicator
US10635307B2 (en) 2015-06-30 2020-04-28 International Business Machines Corporation Memory state indicator
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 삼성전자주식회사 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법
EP3353627B1 (en) * 2015-09-25 2022-01-19 Hitachi Vantara LLC Adaptive storage reclamation
US10102119B2 (en) * 2015-10-30 2018-10-16 Sandisk Technologies Llc Garbage collection based on queued and/or selected write commands
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
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 삼성전자주식회사 스토리지 장치 및 그 동작 방법
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
CN106598508A (zh) * 2016-12-30 2017-04-26 郑州云海信息技术有限公司 一种固态硬盘及其写入仲裁方法、系统
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 上海骐宏电驱动科技有限公司 数据检验校正方法
CN107015764B (zh) * 2017-03-17 2020-03-27 深圳市江波龙电子股份有限公司 Nand flash的数据处理方法、装置和一种Nand flash
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 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN108021630B (zh) * 2017-11-21 2021-03-30 深圳市雷鸟网络传媒有限公司 垃圾文件清理方法、智能终端及计算机可读存储介质
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
CN108255433B (zh) * 2018-01-12 2021-12-07 珠海极海半导体有限公司 Flash存储器、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 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102603916B1 (ko) * 2018-04-25 2023-11-21 삼성전자주식회사 불휘발성 메모리 장치 및 제어기를 포함하는 스토리지 장치
US11301376B2 (en) 2018-06-11 2022-04-12 Seagate Technology Llc Data storage device with wear range optimization
CN115509961A (zh) * 2018-06-25 2022-12-23 慧荣科技股份有限公司 实体存储对照表产生装置及方法
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 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
CN112997162A (zh) * 2018-11-20 2021-06-18 华为技术有限公司 一种删除内存中索引项的方法、装置
KR20200067035A (ko) * 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20200073017A (ko) * 2018-12-13 2020-06-23 에스케이하이닉스 주식회사 데이터 저장 장치와, 그것의 동작 방법
CN113196258A (zh) * 2018-12-19 2021-07-30 索尼集团公司 信息处理装置、信息处理方法和信息处理程序
US10915444B2 (en) * 2018-12-27 2021-02-09 Micron Technology, Inc. Garbage collection candidate selection using block overwrite rate
CN111399750B (zh) * 2019-01-03 2023-05-26 慧荣科技股份有限公司 闪存数据写入方法及计算机可读取存储介质
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
EP3993273A4 (en) * 2019-07-22 2022-07-27 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR DATA COMPRESSION IN A STORAGE SYSTEM, DEVICE AND READABLE STORAGE MEDIUM
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
US10963396B1 (en) 2019-09-17 2021-03-30 Micron Technology, Inc. Memory system for binding data to a memory namespace
US11269780B2 (en) 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
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文件数据存取方法、装置及存储介质
US11599546B2 (en) 2020-05-01 2023-03-07 EMC IP Holding Company LLC Stream browser for data streams
US11604759B2 (en) 2020-05-01 2023-03-14 EMC IP Holding Company LLC Retention management 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
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 合肥康芯威存储技术有限公司 一种存储器件及其数据处理方法
CN116610597B (zh) * 2023-07-20 2023-10-17 合肥康芯威存储技术有限公司 一种存储器件及其垃圾回收的控制方法
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
US5774A (en) * 1848-09-19 Steam-hammer
US614509A (en) * 1898-11-22 Hose-coupling
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カード
DE69034227T2 (de) 1989-04-13 2007-05-03 Sandisk Corp., Sunnyvale EEprom-System mit 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 株式会社東芝 ファイル管理装置
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
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
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 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US5754817A (en) 1994-09-29 1998-05-19 Intel Corporation Execution in place of a file stored non-contiguously in a non-volatile memory
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
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
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
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
DE19633648A1 (de) * 1996-08-21 1998-02-26 Grundig Ag Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät
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
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
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
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
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
WO1999045460A2 (en) * 1998-03-02 1999-09-10 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
US6490649B2 (en) 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
JP2000148546A (ja) * 1998-11-10 2000-05-30 Nec Corp データ入出力装置およびデータ入出力方法、並びに記録媒体
US6256690B1 (en) 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card
US6480935B1 (en) * 1999-01-15 2002-11-12 Todd Carper Smart card memory management system and method
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
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
JP3524428B2 (ja) 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
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
CN1284356C (zh) * 2001-04-06 2006-11-08 索尼公司 数字摄像机和数据传送方法
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
DE60210416T2 (de) 2002-02-28 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Speicherkarte
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 주식회사 하이닉스반도체 고속 데이터 억세스를 위한 디램
TWI246064B (en) 2002-07-29 2005-12-21 Milsys Ltd Data storage and processing device, electronic appliance, electronic system and method of operating an appliance that responds to a plurality of commands
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
US7035967B2 (en) 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7103732B1 (en) * 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
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
CA2504573A1 (en) * 2002-10-30 2004-05-13 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 デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法
KR20070007264A (ko) * 2003-12-30 2007-01-15 쌘디스크 코포레이션 비순차 갱신 블록 관리를 구비한 비휘발성 메모리 및 방법
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
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
US7395384B2 (en) 2004-07-21 2008-07-01 Sandisk Corproation Method and apparatus for maintaining data on non-volatile memory systems
US8607016B2 (en) 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
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
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
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
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
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage 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
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
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
JP2009503743A (ja) 2005-08-03 2009-01-29 サンディスク コーポレイション データファイルを直接記憶するメモリブロックの管理
KR101272642B1 (ko) 2005-08-03 2013-06-10 쌘디스크 코포레이션 플래시 메모리시스템 내의 데이터 저장 용량의 리클레이밍
WO2007019198A2 (en) 2005-08-03 2007-02-15 Sandisk Corporation Non-volatile memory with scheduled reclaim operations
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
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
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
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
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
US7747837B2 (en) * 2005-12-21 2010-06-29 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301348B (zh) * 2009-02-11 2014-10-15 桑迪士克以色列有限公司 主机请求映射的系统和方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101288045B (zh) 增强型主机接口
CN101233481B (zh) 通过逻辑地址空间且以直接数据文件为基础操作的介接系统
CN101147119B (zh) 快闪存储器中的直接数据文件存储实施技术
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
KR101453264B1 (ko) 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
JP4533956B2 (ja) フラッシュメモリシステムのデータ記憶容量の解放
CN101164037B (zh) 闪速存储器中的直接数据文件存储
KR101055324B1 (ko) 강화된 호스트 인터페이스
CN101606133A (zh) 具有连续逻辑地址空间接口的直接数据文件系统的使用
CN101238431A (zh) 大容量数据存储系统
CN101253468A (zh) 用于存储装置的双模式存取的方法和系统
WO2007076378A2 (en) Dual mode access for non-volatile storage devices
KR101378031B1 (ko) 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리
JP2009503740A (ja) データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け

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: 20121113

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

Effective date of registration: 20121113

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.