CN101233481B - 通过逻辑地址空间且以直接数据文件为基础操作的介接系统 - Google Patents

通过逻辑地址空间且以直接数据文件为基础操作的介接系统 Download PDF

Info

Publication number
CN101233481B
CN101233481B CN2006800282976A CN200680028297A CN101233481B CN 101233481 B CN101233481 B CN 101233481B CN 2006800282976 A CN2006800282976 A CN 2006800282976A CN 200680028297 A CN200680028297 A CN 200680028297A CN 101233481 B CN101233481 B CN 101233481B
Authority
CN
China
Prior art keywords
data
file
memory
block
logical
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.)
Expired - Fee Related
Application number
CN2006800282976A
Other languages
English (en)
Other versions
CN101233481A (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.)
SanDisk Corp
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
Publication of CN101233481A publication Critical patent/CN101233481A/zh
Application granted granted Critical
Publication of CN101233481B publication Critical patent/CN101233481B/zh
Expired - Fee Related 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/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/7201Logical to physical mapping or translation of blocks or pages

Abstract

一种可再编程非易失性半导体存储器,例如快闪存储器,其操作以存储具有包含唯一文件识别符和文件内数据的偏移量的逻辑地址的文件,称为直接数据文件存储。由主机产生的数据文件可通过文件接口直接存储在此存储器中。但如果使用连续逻辑地址空间的传统主机/存储器接口正用于识别多个文件,那么将所述地址空间划分为邻接的逻辑文件,且接着以与从主机直接获得文件相同的方式处理这些文件。同一存储器系统中可包含这两种类型的接口。

Description

通过逻辑地址空间且以直接数据文件为基础操作的介接系统
技术领域
本申请案大体涉及具有不同接口的电子系统之间的数据通信,且更具体来说涉及例如具有可移除存储器卡或另外形式的可再编程非易失性半导体快闪存储器的存储器系统的操作,以上两方面是通过存储器系统与存储器连接到或可连接到的主机装置之间的接口的管理来进行的。 
背景技术
关于对通过主机系统、存储器系统和其它电子系统的外部接口传送的数据进行寻址存在两种主要技术。其中一种是将系统产生或接收的数据文件的地址映射到为系统建立的连续逻辑地址空间的相异范围中。地址空间的范围通常足以覆盖系统能够处理的地址的整个范围。在一个实例中,磁盘存储驱动器通过此逻辑地址空间与计算机或其它主机系统通信。此地址空间具有足以对磁盘驱动器的整个数据存储容量进行寻址的范围。在所述两种技术中的第二种技术中,由电子系统产生或接收的数据文件经唯一识别,且通过文件内的偏移量来对其数据进行逻辑寻址。在计算机或其它主机系统与称为“智能卡”的可移除存储器卡之间使用一种形式的这种寻址方法。消费者通常使用智能卡用于识别、银行业、销售点购买、ATM存取等。 
这两种不同的寻址技术是不相容的。也就是说,使用其中一种技术的系统无法与使用另一种技术的系统通信数据。本发明的目的是消除这种隔阂并允许在逻辑地址空间与基于文件的系统之间通信数据。以下描述提供在主机与存储器系统之间进行数据通信的实例,其中主机系统利用逻辑地址空间接口且存储器系统具有基于文件的接口。所描述的示范性存储器系统是可再编程非易失性半导体快闪存储器。 
在早一代商业快闪存储器系统中,将矩形存储器单元阵列划分为大量单元群组,每一者存储标准磁盘驱动器扇区的数据量,即512字节。每个群组中还通常包含例如16个字节的额外数据量,以存储错误校正码(ECC)和可能的与用户数据和/或其中存储用户数据的存储器单元群组相关的其它开销数据。每个此群组中的存储器单元是可共同擦除的最小数目的存储器单元。也就是说,擦除单位有效地是存储一个数据扇区和所包含的任何开销数据的大量存储器单元。此类型的存储器系统的实例描述于第5,602,987号和第6,426,893号美国专利中。需要在用数据对其再编程之前擦除存储器单元是快闪存储器的 特性。 
最常见以存储器卡或快闪驱动器的形式提供快闪存储器系统,所述存储器卡或快闪驱动器与例如个人计算机、相机等多种主机可移除地连接,但也可嵌入在这些主机系统内。当向存储器写入数据时,主机通常向存储器系统的连续虚拟地址空间内的扇区、群集或其它数据单位指派唯一的逻辑地址。类似于磁盘操作系统(DOS),主机向存储器系统的逻辑地址空间内的地址写入数据以及从其读取数据。存储器系统内的控制器将从主机接收的逻辑地址转译为实际存储数据的存储器阵列内的物理地址,且接着跟踪这些地址转译。存储器系统的数据存储容量至少与在为存储器系统界定的整个逻辑地址空间上可寻址的数据量一样大。 
在较晚的几代快闪存储器系统中,擦除单位的大小增加到足够的存储器单元的区块以存储多个数据扇区。尽管与存储器系统连接的主机系统可以例如扇区的较小的最小单位来编程和读取数据,但大量扇区存储在快闪存储器的单个擦除单位中。常见的是区块内的一些数据扇区在主机更新或替换逻辑数据扇区时变过时。由于必须在可对区块中存储的任何数据进行覆写之前擦除整个区块,因此新的或更新的数据通常存储在已经擦除且具有用于数据的剩余容量的另一区块中。此过程清空了带有占据存储器内有价值的空间的过时数据的原始区块。但如果其中保留有任何有效数据,那么无法擦除所述区块。 
因此,为了更好地利用存储器的存储容量,常常合并或收集有效部分区块数据量,这通过以下方式完成:将数据复制到经擦除的区块中使得这些复制的数据所来自的区块接着可经擦除且其整个存储容量可再使用。还期望对数据进行复制以便按区块内数据扇区的逻辑地址的次序对其进行分组,因为这增加读取数据并将读取的数据传送到主机的速度。如果这种数据复制的发生过于频繁,那么存储器系统的操作性能可能降级。在存储器的存储容量稍大于主机通过系统的逻辑地址空间可寻址的数据量的情况下(典型情况),这尤其影响存储器系统的操作。在此情况下,在可执行主机编程命令之前可能需要进行数据合并或收集。因此编程时间增加。 
在连续几代存储器系统中,区块的大小逐渐增加,以便增加给定半导体面积中可存储的数据位的数目。存储256个数据扇区和更多数据扇区的区块变得常见。另外,常常将不同阵列或子阵列的两个、四个或更多区块逻辑上链接在一起成为元区块,以便增加数据编程和读取时的并行性程度。与这种大容量操作单位一起出现的是有效地对其进行操作的挑战。 
用于此类存储器系统的常用主机接口是与磁盘驱动器常用的接口类似的逻辑地址接 口。与存储器连接的主机所产生的文件被指派有接口的逻辑地址空间内的唯一地址。存储器系统接着通常在逻辑地址空间与存储器的物理区块或元区块之间映射数据。存储器系统跟踪如何将逻辑地址空间映射到物理存储器中,但主机并不知道此情况。主机跟踪其数据文件在逻辑地址空间内的地址,但存储器系统在不知道此映射的情况下操作。 
发明内容
通过将第一系统的逻辑地址空间划分为相异的邻接地址群组并接着将个别群组内的数据处理为第二系统的单独文件,来在第一系统的逻辑地址空间接口与第二系统的直接数据文件接口之间传送数据。每个群组中的数据量优选相同,且可经选择为第二系统有效利用的量。第一和第二系统可为通过此类接口外部发送和/或接收数字数据的各种各样电子系统中的任一种。在下文详细描述的实例中,第一系统是主机,例如个人计算机、相机或音频播放器,且第二系统是存储器。存储器可具有可移除地连接到主机的卡的形式。尽管存储器可为各种各样类型中的任一种,但下文描述半导体快闪存储器。 
为了有效操作,本文描述的存储器系统直接以个别文件的形式存储数据。每个数据文件存储有唯一识别,例如仅为一个号码,且其数据由文件内的偏移地址表示。但如果在主机与存储器系统之间存在传统接口,那么其逻辑地址空间需要以某种方式映射到基于数据文件的存储系统中。这在本文中是通过将逻辑地址空间表示为许多逻辑文件来完成的,一个地址范围中的数据形成一个逻辑文件,邻近但不重叠的地址范围的数据变为另一文件等等。每个逻辑文件由唯一文件识别符和文件内数据的偏移量表示,因此可直接存储在直接数据文件存储器系统内。每个逻辑文件最方便地包含相同的数据量,且此量优选等于存储器系统的物理单位的数据存储容量。 
由于存储器系统直接存储数据文件,因此其也可与主机介接以在主机经配置以直接数据文件接口操作的那些情况下更有效地直接交换主机文件。当使用双接口存储器的直接数据文件接口时,不使用逻辑地址接口。然而通过在存储器系统中包含逻辑地址和直接文件接口两者,存储器可以最有效方式用于支持直接数据文件接口的主机系统,且同时与仅以传统逻辑地址接口操作的主机反向兼容。但如刚刚在先前段落中所述,可仅向存储器系统提供在直接数据文件接口内的逻辑地址空间接口,在此情况下直接数据文件接口完全在存储器系统的内部。 
本发明的其它方面、优点、特征和细节包含在随后对本发明示范性实例的描述中,所述描述应结合附图来作出。此外,本文引用的所有专利、专利申请案、文章和其它公开案、文档和事物都出于所有目的以全文引用的方式并入本文中。 
附图说明
图1示意性说明目前实施的主机和连接的非易失性存储器系统; 
图2是用作图1的非易失性存储器的示范性快闪存储器系统的框图; 
图3是可在图2的系统中使用的存储器单元阵列的代表电路图; 
图4说明图2的系统的示范性物理存储器组织; 
图5展示图4的物理存储器的一部分的扩展图; 
图6展示图4和5的物理存储器的一部分的进一步扩展图; 
图7说明主机与可再编程存储器系统之间的逻辑地址空间接口; 
图8以不同于图7的方式说明主机与可再编程存储器系统之间的逻辑地址空间接口; 
图9说明主机与可再编程存储器系统之间的直接数据文件存储接口; 
图10以不同于图9的方式说明主机与可再编程存储器系统之间的直接数据文件存储接口; 
图11说明直接存储数据文件但具有与主机的逻辑地址空间接口的可再编程存储器系统; 
图12以不同于图11的方式说明直接存储数据文件但具有与主机的逻辑地址空间接口的可再编程存储器系统; 
图13更详细展示图11和12的逻辑地址到逻辑文件转换步骤; 
图14说明在直接数据文件存储模式中操作但可通过逻辑地址空间接口或直接数据文件接口与主机介接的可再编程存储器系统; 
图15以不同于图14的方式说明在直接数据文件存储模式中操作但可通过逻辑地址空间接口或直接数据文件接口与主机介接的可再编程存储器系统; 
图16展示用于在图14和15的共用存储器中存储主机数据文件和逻辑文件两者的第一实施例,其利用物理存储器空间的第一形式的静态分割; 
图17展示用于在图14和15的共用存储器中存储主机数据文件和逻辑文件两者的第二实施例,其利用物理存储器空间的第二形式的静态分割; 
图18展示用于在图14和15的共用存储器中存储主机数据文件和逻辑文件两者的第三实施例,其共享共用的物理存储器空间; 
图19提供图18的第三实施例的特定实例; 
图20说明在实施图18的第三实施例时在存储器物理区块中存储主机数据文件和逻辑文件两者的优选方式; 
图21说明在实施图18的第三实施例时在存储器物理区块中存储主机数据文件和逻辑文件两者的另一方式;以及 
图22展示本文的技术在具有不同地址接口的系统之间的较一般的应用。 
具体实施方式
首先相对于图1-6描述常见的快闪存储器系统。在此系统中可实施本发明的各个方面。图1的主机系统1将数据存储到快闪存储器2中并从其中检索数据。尽管快闪存储器可嵌入在主机内,但将存储器2说明为较普遍形式的卡,其通过机械和电气连接器的配合部分3和4可移除地连接到主机。目前存在许多不同的市售的快闪存储器卡,实例是紧致快闪存储器(CF)、多媒体卡(MMC)、安全数字(SD)、小型SD、记忆棒、智能媒体和TransFlash卡。尽管这些卡中的每一者均具有根据其标准化规范的独特的机械和/或电气接口,但每一者中包含的快闪存储器系统是相似的。这些卡可从本申请案的受让人SanDisk公司购得。SanDisk还提供以Cruzer为商标的快闪驱动器线,其为小封装的手持存储器系统,所述系统具有用于通过插入主机的通用串行总线(USB)插座而与主机连接的USB插头。这些存储器卡和快闪驱动器中的每一者均包含与主机介接并控制其内快闪存储器的操作的控制器。 
使用这些存储器卡和快闪驱动器的主机系统有许多且各式各样。它们包含个人计算机(PC)、膝上型和其它便携式计算机、蜂窝式电话、个人数字助理(PDA)、数字静态相机、数字电影相机和便携式音频播放器。主机通常包含用于一种或一种以上类型的存储器卡或快闪驱动器的内置插座,但其中一些需要能插入存储器卡的适配器。存储器系统通常含有其自身的存储器控制器和驱动器,但也有一些仅有存储器的系统,其由与存储器连接的主机所执行的软件来替代地控制。在含有控制器的一些存储器系统中,尤其是嵌入在主机内的那些存储器系统中,存储器、控制器和驱动器常形成于单个集成电路芯片上。 
图1的主机系统1可视为在关注存储器2的范围内具有两个主要部分,其由电路与软件的组合构成。它们是应用程序部分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 and It′sUse 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的一部分。提供大量全局位线,但为了简明解释起见,在图3中仅展示四个此类线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或其一部分可存储在其它区块中的不同页中。在任一情况下,扇区表示ECC所关联的所存储数据的单位。 
随着存储器的并行性增加,元区块的数据存储容量增加且数据页和元页的大小也因此增加。数据页接着可含有两个以上数据扇区。由于数据页中的两个扇区且每个元页两个数据页,所以一个元页中存在四个扇区。每个元页因此存储2048个字节的数据。这是高度的并行性,且可甚至在行中存储器单元数目增加时进一步增加。出于此原因,延伸快闪存储器的宽度以便增加页和元页中的数据量。 
主机-存储器接口和一般存储器操作
上文识别的物理上较小的可再编程非易失性存储器卡和快闪驱动器是市售的,其具有512兆字节(MB)、千兆字节(GB)、2GB和4GB的数据存储容量,且可能更高。 主机处理由主机执行的应用程序软件或固件程序产生或使用的数据文件。字处理数据文件是一个实例,且计算机辅助设计(CAD)软件的绘图文件是另一实例,主要存在于例如PC、膝上型计算机等一般计算机主机中。pdf格式的文档也是这种文件。图片数字摄像机为存储在存储器卡上的每幅图产生一个数据文件。蜂窝式电话利用来自内部存储器卡上的文件的数据,例如电话簿。PDA存储并使用若干不同的文件,例如地址文件、日历文件等。在任何这种应用中,存储器卡还可含有操作主机的软件。 
图7说明主机与存储器系统之间的常用逻辑接口。连续的逻辑地址空间161足够大以为可存储在存储器系统中的所有数据提供地址。通常将主机地址空间划分为数据群集的增量。每个群集在给定主机系统中可经设计为含有许多数据扇区,在有些地方在4与64个扇区之间是典型的。标准扇区含有512个字节的数据。 
在图7的实例中展示三个数据文件1、2和3已产生。在主机系统上运行的应用程序产生每个文件作为有序的数据集,并通过唯一的名称或其它参考对其进行识别。尚未分配给其它文件的足够可用的逻辑地址空间由主机通过文件到逻辑地址转换160而指派给数据文件1。数据文件1展示为已被指派有邻接的可用逻辑地址范围。还通常为特定目的分配地址范围,例如针对主机操作软件的特定范围,接着为存储数据而避开这些特定范围,即使在主机向数据指派逻辑地址时仍未利用这些地址。 
当主机稍后产生数据文件2时,主机类似地通过图7的文件到逻辑地址转换160来指派逻辑地址空间161内的两个不同的邻接地址范围。文件无需被指派邻接的逻辑地址,而是可为已分配给其它文件的地址范围之间的地址段。这个实例接着展示由主机产生的又一个数据文件3被分配有主机地址空间的其它先前未分配给数据文件1和2以及其它数据的部分。 
主机通过维持文件分配表(FAT)来跟踪存储器逻辑地址空间,所述FAT中维持主机通过转换160向各个主机文件指派的逻辑地址。FAT表在存储新文件、删除其它文件、修改文件等时由主机频繁更新。FAT表通常存储在主机存储器中,其中复本也存储在时常更新的非易失性存储器中。恰好类似于任何其它数据文件,在非易失性存储器中通常通过逻辑地址来存取所述复本。当删除主机文件时,主机接着通过更新FAT表来对先前分配给经删除文件的逻辑地址解除分配,以显示这些逻辑地址现可用于其它数据文件。 
主机并不关心其中存储器系统控制器选择存储文件的物理位置。典型主机仅知道其逻辑地址空间以及其已分配给其各个文件的逻辑地址。另一方面,通过所述的典型主机/卡接口,存储器系统仅知道逻辑地址空间的已写入数据的部分,但不知道分配给特定主 机文件的逻辑地址,或甚至不知道主机文件的数目。存储器系统控制器将由主机为数据的存储或检索而提供的逻辑地址转换为存储有主机数据的快闪存储器单元阵列内的唯一物理地址。区块163表示这些逻辑到物理地址转换的工作表,其由存储器系统控制器维持。 
存储器系统控制器经编程为以将系统性能维持在高水平的方式将数据存储在存储器阵列165的区块和元区块内。在此说明中使用四个平面或子阵列。在由来自每个平面的区块形成的整个元区块上优选以系统允许的最大程度的并行性编程和读取数据。至少一个元区块167通常经分配作为用于存储由存储器控制器使用的操作固件和数据的保留区块。可分配另一元区块169或多个元区块以用于存储主机操作软件、主机FAT表等。保留物理存储空间的大部分以用于存储数据文件。然而存储器控制器不知道主机如何在其各个文件对象之间分配所接收的数据。存储器控制器从与主机交互作用中通常知道的全部内容就是由主机写入到特定逻辑地址的数据存储在由控制器的逻辑到物理地址表163维持的相应物理地址中。 
在典型的存储器系统中,提供比存储地址空间161内的数据量所必需的存储容量多的存储容量的若干额外区块。可提供这些额外区块中的一者或一者以上作为用于代替在存储器使用寿命期间可能变为有缺陷的其它区块的冗余区块。个别元区块内含有的区块的逻辑分组通常可因为各种原因而改变,包含冗余区块对原始指派给元区块的有缺陷区块的代替。例如元区块171的一个或一个以上额外区块通常维持在经擦除的区块池(blockpool)中。图7所示的其余元区块的大部分都用于存储主机数据。当主机向存储器系统写入数据时,控制器的功能163将由主机指派的逻辑地址转换为经擦除区块池中元区块内的物理地址。未用于将数据存储在逻辑地址空间161内的其它元区块接着经擦除并指定作为经擦除的池区块以供在后续数据写入操作期间使用。在优选形式中,将逻辑地址空间划分为若干逻辑群组,每一逻辑群组含有与一个物理存储器元区块的存储容量相等的数据量,因此允许将逻辑群组一对一映射到元区块中。 
在原始存储的数据变过时时,由新数据频繁覆写存储在特定主机逻辑地址的数据。作为响应,存储器系统控制器将新数据写入经擦除的区块,并接着针对那些逻辑地址改变逻辑到物理地址表以识别存储这那些逻辑地址处数据的新的物理区块。接着擦除含有那些逻辑地址处原始数据的区块并使其可用于新数据的存储。如果在写入开始时在来自擦除区块池的预擦除区块中没有足够的存储容量,那么这种擦除常常必须在当前数据写入操作可完成之前发生。这可能不利地影响系统数据编程速度。存储器控制器通常了解 到仅在主机向其相同逻辑地址写入新数据时由主机使给定逻辑地址处的数据变过时。因此许多存储器区块可能存储此类无效数据历时一定时间。 
区块和元区块的大小逐渐增加,以便有效地使用集成电路存储器芯片的面积。这导致较大比例的个别数据写入存储的数据量小于元区块的存储容量,且在许多情况下甚至小于区块的存储容量。由于存储器系统控制器通常将新数据引导到经擦除的池元区块,因此这可导致元区块的若干部分不被填充。如果新数据是对存储在另一元区块中的某个数据的更新,那么还期望以逻辑地址次序将其余有效的数据元页从具有与新数据元页的逻辑地址邻接的逻辑地址的所述另一元区块复制到新的元区块中。老的元区块可保持其它有效的数据元页。这随着时间过去而导致个别元区块的某些元页的数据变为过时且无效,并由写入到不同元区块的具有相同逻辑地址的新数据所替换。 
为了维持足够的物理存储器空间来在整个逻辑地址空间161上存储数据,对此数据进行周期性压缩或合并(垃圾收集)。还希望以与其实际一样多的逻辑地址的相同次序维持元区块内的数据扇区,因为这使得读取邻接逻辑地址中的数据更为有效。因此通常以此额外目的来执行数据压缩和垃圾收集。在接收部分区块数据更新时对存储器进行管理的一些方面以及元区块的使用描述于第6,763,424号美国专利中。 
数据压缩通常涉及从元区块读取所有有效数据元页并将其写入到新的区块,其中忽略了在过程中具有无效数据的元页。还优选以与具有有效数据的元页中存储的数据的逻辑地址次序匹配的物理地址次序来布置所述元页。新的元区块中占据的元页的数目将小于老的元区块中占据的元页的数目,因为并不将含有无效数据的元页复制到新的元区块。接着擦除老的区块并使其可用于存储新数据。通过合并获得的具有容量的额外元页接着可用于存储其它数据。 
在垃圾收集期间,从两个或两个以上元区块收集具有邻接或近似邻接的逻辑地址的有效数据的元页,并将其重写到另一元区块中,通常是经擦除区块池中的一个元区块。当从原始的两个或两个以上元区块复制了所有有效数据元页时,可将所述元区块擦除以用于未来使用。 
数据合并和垃圾收集花费时间且可能影响存储器系统的性能,尤其是在数据合并或垃圾收集需要在来自主机的命令可执行之前进行。此类操作通常由存储器系统控制器调度以尽可能在后台进行,但执行这些操作的需要可能导致控制器必须对主机给出忙状态信号,直到此操作完成为止。主机命令的执行可被延迟的实例是在经擦除区块池中没有足够的预擦除元区块来存储主机希望写入到存储器中的所有数据,因此首先需要数据合 并或垃圾收集来清除一个或一个以上有效数据元区块,所述元区块接着可被擦除。因此注意力集中于管理存储器的控制以便最小化此类中断。以下在下文中称为“LBA专利申请案”的美国专利申请案中描述了许多此类技术:第10/749,831号,2003年12月30日申请,题为“Management of Non-Volatile Memory Systems Having Large Erase Blocks”;第10/750,155号,2003年12月30日申请,题为“Non-Volatile Memory and Method withBlock Management System”;第10/917,888号,2004年8月13日申请,题为“Non-VolatileMemory and Method with Memory Planes Alignment”;第10/917,867号,2004年8月13日申请;第10/917,889号,2004年8月13日申请,题为“Non-Volatile Memory and Methodwith Phased Program Failure Handling”;以及第10/917,725号,2004年8月13日申请,题为“Non-Volatile Memory and Method with Control Data Management”;第11/192,220号,2005年7月27日申请,题为“Non-Volatile Memory and Method with Multi-Stream UpdateTracking”;第11/192,386号,2005年7月27日申请,题为“Non-Volatile Memory and Methodwith Improved Indexing for Scratch Pad and Update Blocks”;以及第11/191,686号,2005年7月27日申请,题为“Non-Volatile Memory and Method with Multi-Stream Updating”。 
有效控制具有非常大擦除区块的存储器阵列的操作的一个挑战是使给定写入操作期间存储的数据扇区数目与存储器区块的容量和边界匹配并对准。一种方法是以小于存储少于填充整个元区块的量的一定量数据所必需的区块的最大数目来配置用于存储来自主机的新数据的元区块。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 Sequential ClusterManagement”的第11/022,369号美国专利申请案描述了此类技术的使用。 
为了有效操作存储器系统,控制器需要尽其可能地了解由主机指派给其个别文件的数据的逻辑地址。接着控制器可将数据文件存储在单个元区块或元区块群组内,而不是当文件边界未知时散布在大量元区块之间。结果是数据合并和垃圾收集操作的次数和复杂性降低。因此存储器系统的性能改进。但当主机/存储器接口包含如上所述的逻辑地址空间161(图7)时,存储控制器难以较多地了解主机数据文件结构。 
参看图8,以不同方式说明图7已经展示的典型逻辑地址主机/存储器接口。由主机向主机产生的数据文件分配逻辑地址。存储器系统接着看到这些逻辑地址并将其映射到实际存储数据的存储器单元区块的物理地址中。 
主机与存储器系统之间的一种不同类型的接口(称为直接数据文件接口)不使用逻辑地址空间。主机替代地通过唯一号码或其它识别参考以及文件内的数据单位(例如字节)的偏移地址来逻辑寻址每个文件。此文件地址由主机向存储器系统控制器直接给出,存储器系统控制器接着保持其自身的物理存储每个主机文件的数据的表。可以与上文相对于图2-6描述相同的存储器系统来实施这个新的接口。与上文所述的主要差异在于存储器系统与主机系统通信的方式。 
图9中说明此直接数据文件接口,其可与图7的逻辑地址接口进行比较。文件1、2和3中每一者的识别以及图9的文件内数据的偏移量直接传递到存储器控制器。此逻辑地址信息接着由存储器控制器功能173转译为存储器165的元区块和元页的物理地址。文件目录跟踪每个存储的扇区或其它数据单位所从属的主机文件。 
图10也说明直接数据文件接口,其应与图8的逻辑地址接口进行比较。图8的逻辑地址空间和主机维持的FAT表在图10中不存在。而是,通过文件号和文件内数据的偏移量来将由主机产生的数据文件识别到存储器系统。存储器系统控制器接着将文件直接映射到存储器单元阵列的物理区块,并维持存储主机文件的存储器区块的目录和索引表信息。接着主机必需维持目前对于管理逻辑地址接口必需的文件分配表(FAT)。 
由于存储器系统知道构成每个文件的数据的位置,因此可在主机删除文件之后随即擦除这些数据。这对于典型的逻辑地址接口来说是不可能的。此外,通过文件对象而不是使用逻辑地址来识别主机数据,存储器系统控制器可以减少进行频繁数据合并和收集的需要的方式存储数据。数据复制操作的频率和所复制的数据量因此显著减少,进而增加存储器系统的数据编程和读取性能。 
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”的临时申请案(下文中统称为“直接数据文件存储申请案”)中描述了直接数据文件存储存储器系统。 
由于图9和10说明的这些直接数据文件存储申请案的直接数据文件接口比图7和8说明的上述逻辑地址空间接口简单,且允许存储器系统更好地执行,因此直接数据文件存储对许多应用是优选的。但主机系统目前主要经配置以逻辑地址空间接口操作,因此具有直接数据文件接口的存储器系统与多数主机不兼容。因此需要向存储器系统提供以任一种接口操作的能力。 
完成此做法的一种方式是在一个封装中有效地具有两个存储器系统,一个系统直接存储主机数据文件,另一系统通过逻辑地址空间存储数据。但此组合系统的复杂性将非常高,且因此成本也较高,且其使用的灵活性将很低。 
因此,期望能够通过直接数据文件和逻辑地址“前端”接口操作单个“后端”存储器系统。概念上,这可通过向以逻辑地址接口操作的现有存储器系统添加直接数据文件接口来完成。但此系统将很可能在直接数据文件模式中操作起来非常繁琐。 
因此发现优选利用以直接数据文件接口操作的后端存储器系统,其具有还可与常规逻辑地址空间介接的增加的能力。这利用了直接数据文件存储申请案中所述类型的基于文件的存储器系统的优良操作。但是,使直接数据文件存储器后端以处于前端的逻辑地址空间接口有效地操作是个实质问题。 
通过逻辑地址接口的直接数据文件存储
本文描述的改进的一个关键特征是将主机/存储器接口的逻辑地址空间划分为逻辑地址群组,且接着将每个群组中的数据作为直接存储在基于文件的存储器中的单独逻辑文件来处理。存储器系统以与从主机直接接收数据文件相同的方式处理这些逻辑文件。两者的文件被唯一地识别,且文件内其数据的偏移地址被维持。这允许直接数据文件存储器系统与以逻辑地址接口为基础与存储器通信的主机一起操作。逻辑文件优选形成为含有相同的数据量,且所述量优选等于一个区块或元区块的存储器存储容量,这取决于存储器的物理配置。 
每个逻辑文件的这个优选大小还与映射到上文说明的LBA专利申请案中描述的快闪存储器系统的物理区块或元区块内的逻辑群组相同。也就是说,LBA存储器系统的逻辑群组和本文的优选逻辑文件在存储器接口的逻辑地址空间中的固定范围的邻接地址上延伸,且含有与存储器的物理区块或元区块的存储容量相同的数据量(一一对应)。这使得较易于管理存储器系统。 
图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的“将逻辑地址映射到物理存储区块的表”。 
图13说明将逻辑地址(LBA)空间161(图11)映射到逻辑文件a-j的方法,最后一个逻辑文件一般地识别为逻辑文件m。使用文件存储系统作为通用后端系统的概念是基于将LBA空间映射到共用的文件存储空间的方法。将整个LBA空间分为与逻辑群组大小相同(优选等于一个元区块),且将每个逻辑群组存储为独立的“逻辑”文件,如图13说明。具有以下格式:读/写StartLBA,长度(扇区)的每次LBA存取由逻辑地址到文件转换器172(图11)转换,以存取以下格式:读/写文件名,开始偏移量(字节),长度(字节)的一个或一个以上逻辑文件。举例来说,命令READ 101,2将由172转译为存取逻辑文件b,其将LBA从0x100映射到0x1FF:READ LogFile b,512,1024。也可擦除逻辑文件。对经擦除逻辑文件的第一次写入将触发由空白数据型式(通常为若干个0或 FF)填补标头或所有扇区。 
组合的逻辑地址与基于文件的接口
经设计以通过传统逻辑地址空间接口181与主机一起工作的图11-13的基于数据文件的后端存储系统也可具有增加的直接数据文件接口183,如图14大体展示。来自文件接口183的主机数据文件和来自逻辑接口181的由172’转换的逻辑文件由173’转译为存储器元区块地址。接着通过执行185处指示的直接数据文件协议将数据存储在存储器165’的那些地址中。此协议包含先前列出的直接数据文件存储申请案的直接数据文件存储技术。过程173’和185提供基于文件的存储器接口165’。确实,从主机文件接口183通过存储器文件接口187到达存储器165’的路径优选大体上如直接数据文件存储申请案中所述那样操作。 
通过提供具有两种类型的主机接口的便携式存储器卡或快闪驱动器或其它形式的可移除存储器系统,存储器可用于最新的以逻辑地址空间接口操作的主机,可用于将其文件直接介接到存储器的主机,或可在两种类型的主机之间交换。这允许具有较新的基于文件的接口的主机的用户以其最有效的方式使用存储器,且同时具有与传统逻辑地址空间接口的向后兼容性。而且,由于相同的一对一的逻辑文件到元区块映射,实现了本质上相同的性能和时序特性。具有双主机接口的存储器允许用户获取所述存储器以用于其较新的直接数据文件接口,同时仍可用于具有传统逻辑地址空间接口的主机的扩展安装的基底。其提供了从当前接口移迁移直接数据文件接口的方法。 
图15以某个额外细节说明图14的双主机接口存储器系统。存储器165’存储由主机通过接口183直接供应的主机数据文件(HF1、HF2…HFn)以及来自逻辑地址空间接口181的由过程172’转换的逻辑文件(LFa、LFb…LFm)。存储器165’不需要区别逻辑文件与主机文件,而是优选经优化以元区块大小处理两种类型的文件。如此,逻辑文件等同于LBA专利申请案中描述的系统的逻辑群组,且从主机接口来看的系统性能因此与LBA专利申请案中所述的具有逻辑地址空间接口的系统的性能相匹配。 
对已存储在存储器165’中的逻辑文件的更新可存储在与所述逻辑文件原始存储的区块分离的经更新的区块中,这类似于LBA专利申请案中描述的更新系统,其支持连续和无序更新。更新区块可专用于特定逻辑文件,或可与其它逻辑文件共享,或也可与主机文件共享。 
可通过请求打开新的更新区块(对于逻辑或主机文件更新),或在更新区块变满时,或通过逻辑到文件转换器172’关闭逻辑文件,来触发逻辑文件的垃圾收集。转换器172’ 可“打开”逻辑文件并接着在每次其经存取之后“关闭”逻辑文件,或可通过管理逻辑文件关闭来优化文件存储系统187对逻辑文件的处理,逻辑文件关闭可能过早地触发垃圾收集操作。 
存储器存储空间可由主机文件和逻辑文件以不同方式共享。图16和17展示将主机文件和逻辑文件存储在物理存储器的不同分区中,而图18展示所述两种类型的文件共享存储器的存储空间。相对于图16-18描述的布置(但未图示)也可用于为多个文件和/或逻辑分区中的每一者提供单独的存储器空间。举例来说,可将逻辑地址空间分割为不同的逻辑驱动器,每个逻辑驱动器接着映射到存储器的唯一部分。而且,不同的物理存储器单元区可指定用于存储具有不同特性(例如不同的存取模式或存取权,或加密类型)的数据。 
在图16中,可存储主机文件的元区块191与可存储逻辑文件的元区块193之间的分割是固定的,且可通过重新格式化存储器卡而改变。这些分区中的每一者包含作为擦除池区块供应源以提供新更新元区块的经擦除的开销元区块,以接收对已存储在存储器中的文件进行更新的数据以及新的文件。更新元区块因此专用于主机或逻辑文件分区191和193中的一者,且在其之间并不共享。这允许更有效地支持例如安全存取和数据加密的特征。主机接口处的逻辑地址空间优选小于存储器系统的最大存储容量。一个或一个以上元区块195含有用于存储器的操作数据,且经共享以供主机文件与逻辑文件使用。 
主机文件和逻辑文件分区中的每一者并非具有其自身的经擦除的开销,而是其可共享经擦除的元区块池。这在图17中展示。用于存储主机文件的分区197和用于存储逻辑文件的分区199共享经擦除的开销元区块201。 
存在可共享这些共用元区块的不同方式。一种方式是共享经擦除的区块池201的元区块以存储主机文件或逻辑文件但不能存储这两者的数据。这使得打开最大可能数目的更新区块以用于当前现用应用(无论是关于主机文件还是逻辑文件)更加灵活。在必要时在主机文件与逻辑文件存储之间重新分布可用的更新区块。举例来说,通过逻辑地址空间接口进行的主机存取可触发正供主机文件使用的更新区块的关闭,使得更多更新区块可用于处理逻辑文件。或者,更新区块可用于存储两种类型文件的数据。 
如图18说明,主机文件和逻辑文件可存储在共用的元区块群组203中。在此方法中,整个物理存储空间在主机文件与逻辑文件之间完全共享。存储器经格式化以具有至少与主机接口处的逻辑地址空间一样大的最大存储容量。潜在地,可向不同类型的应用提供两种类型文件的存取和管理权,使得例如文件存取程序可擦除逻辑文件或重新格式化整 个卡。控制数据结构(控制开销195)和更新区块空间(经擦除的开销201)对于两种文件类型共享。仅有的限制是此时存储器空间的可用性。 
现有的未擦除的逻辑文件需要相当于可用于主机文件存储的存储空间的元区块。写入的主机文件又使一些逻辑文件不可存取,例如这些逻辑文件可能被标记为坏的,或保留作为FAT表中的文件。 
当逻辑地址空间经碎片整理时,主机通常得益。例如参看图19,可见分段的主机文件2的数据存储在地址空间161’内的几个逻辑文件中。通过对主机文件2进行碎片整理,所述逻辑文件中的一者或一者以上可释放以用于存储其它数据。主机可利用通过将其有效文件的数据重新写入到占据一系列邻接地址的单个主机文件中来对其文件中的一些或全部进行逻辑碎片整理的软件。此单个文件可压缩。 
图19说明图18的共享的文件存储的实例。 
优选将主机文件和逻辑文件的数据存储在不同的元区块中,如图20所说明。逻辑文件LGa存储在第一元区块中,主机文件1和2存储在下一元区块中,逻辑文件LGb存储在第三元区块中,且主机文件3存储在此图例的最后一个元区块中。但还可能将主机文件和逻辑文件存储在同一元区块中,图21中展示一实例。 
一般应用 
以上描述主要针对具有逻辑地址空间接口的主机系统与具有基于文件的接口的快闪存储器系统相互通信的实例。尽管这是极为有用的实例,但本发明不限于此配置。举例来说,所述技术除了快闪存储器以外还可作用于各种各样的数据存储系统,例如磁盘驱动器、光盘驱动器、动态只读存储器(DRAM)、静态只读存储器(SRAM)、只读存储器(ROM)、半导体磁性存储器等。事实上,本发明提供在任意两个具有不兼容的地址接口的系统之间通信的方法。这通过图22来说明,其中具有逻辑地址空间接口的系统211与具有基于文件的接口的系统213通过上文相对于转换172和172’描述的转换172”相互通信。在上述实例中,系统211是主机计算机,而系统213是快闪存储器系统。 
结论
尽管已相对于本发明的示范性实施例描述了本发明的各个方面,但应了解本发明受到所附权利要求书的完整范围内的保护。 

Claims (4)

1.一种操作存储器系统的方法,其包括:
维持连续的逻辑地址空间,第一组个别数据文件的地址映射到所述逻辑地址空间中,
在不考虑如何映射个别文件的数据的情况下,将所述逻辑地址空间划分为地址群组,以及
将所述地址群组内的数据处理为第二组个别数据文件。
2.根据权利要求1所述的方法,其中所述地址群组中的至少一些地址群组大小相等。
3.一种可再编程非易失性存储器系统,其包括:
第一系统,其具有通过连续逻辑地址空间内的唯一地址识别第一组数据文件的接口,
第二系统,其具有通过文件内的唯一识别和个别文件内数据的偏移量来识别第二组数据文件的接口,以及
文件转换器,其将所述连续逻辑地址空间划分为相异的地址群组,并将所述地址群组内的数据识别为所述第二组数据文件。
4.根据权利要求3所述的系统,其中所述文件转换器将所述连续逻辑地址空间划分为具有相同大小的相异地址群组,进而所述第二组数据文件的数据文件也具有相同大小。
CN2006800282976A 2005-08-03 2006-07-25 通过逻辑地址空间且以直接数据文件为基础操作的介接系统 Expired - Fee Related CN101233481B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/196,869 US7480766B2 (en) 2005-08-03 2005-08-03 Interfacing systems operating through a logical address space and on a direct data file basis
US11/196,869 2005-08-03
PCT/US2006/028959 WO2007019059A2 (en) 2005-08-03 2006-07-25 Interfacing systems operating through a logical address space and on a direct data file basis

Publications (2)

Publication Number Publication Date
CN101233481A CN101233481A (zh) 2008-07-30
CN101233481B true CN101233481B (zh) 2013-02-13

Family

ID=37398779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800282976A Expired - Fee Related CN101233481B (zh) 2005-08-03 2006-07-25 通过逻辑地址空间且以直接数据文件为基础操作的介接系统

Country Status (7)

Country Link
US (1) US7480766B2 (zh)
EP (1) EP1920315A2 (zh)
JP (1) JP2009503729A (zh)
KR (1) KR20080032636A (zh)
CN (1) CN101233481B (zh)
TW (1) TW200720924A (zh)
WO (1) WO2007019059A2 (zh)

Families Citing this family (175)

* 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
KR100472726B1 (ko) * 2002-10-29 2005-03-10 주식회사 하이닉스반도체 고속 데이터억세스를 위한 반도체 메모리장치 및 그구동방법
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
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
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
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
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
US20070143566A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with data alignment in a directly mapped file storage system
US7752412B2 (en) * 2006-09-29 2010-07-06 Sandisk Corporation Methods of managing file allocation table information
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
WO2008070802A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for an in-server storage area network
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a 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
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US9152349B2 (en) * 2007-03-23 2015-10-06 Emc Corporation Automated information life-cycle management with thin provisioning
JP2008250475A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd 情報処理装置、ネットワークシステム、およびプログラム
KR100891333B1 (ko) * 2007-04-11 2009-03-31 삼성전자주식회사 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
US8713283B2 (en) * 2007-06-08 2014-04-29 Sandisk Technologies Inc. Method of interfacing a host operating through a logical address space with a direct file storage medium
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
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
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
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
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
CN101459679A (zh) * 2007-12-12 2009-06-17 华为技术有限公司 网络存储设备及数据读写控制方法
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
EP2297742B1 (en) 2008-05-16 2013-07-24 Fusion-io, Inc. Apparatus, system, and method for detecting and replacing failed data storage
TW201013397A (en) * 2008-09-17 2010-04-01 Incomm Technologies Co Ltd Memory apparatus and operating method thereof
KR101565975B1 (ko) * 2009-02-27 2015-11-04 삼성전자주식회사 인덱스를 저장하는 플래시 메모리를 포함하는 사용자 장치 및 그것의 인덱스 액세스 방법
JP5485163B2 (ja) * 2009-03-13 2014-05-07 パナソニック株式会社 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US20100318720A1 (en) 2009-06-16 2010-12-16 Saranyan Rajagopalan Multi-Bank Non-Volatile Memory System with Satellite File System
JP5999645B2 (ja) * 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
CN102597910B (zh) 2009-09-09 2015-03-25 弗森-艾奥公司 存储设备中用于功率减小管理的装置、系统及方法
US8972627B2 (en) 2009-09-09 2015-03-03 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US9110594B2 (en) * 2009-11-04 2015-08-18 Seagate Technology Llc File management system for devices containing solid-state media
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
US9069688B2 (en) 2011-04-15 2015-06-30 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
KR101719395B1 (ko) 2010-07-13 2017-03-23 샌디스크 테크놀로지스 엘엘씨 백-엔드 메모리 시스템 인터페이스를 동적으로 최적화하는 방법
US8464135B2 (en) 2010-07-13 2013-06-11 Sandisk Technologies Inc. Adaptive flash interface
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
CN102487395B (zh) * 2010-12-01 2014-11-05 北京闪联云视信息技术有限公司 一种实现数据访问的方法、装置和系统
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
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
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8732431B2 (en) 2011-03-06 2014-05-20 Micron Technology, Inc. Logical address translation
CN103092896A (zh) * 2011-11-04 2013-05-08 英业达股份有限公司 文件的读取方法
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
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
US8782344B2 (en) 2012-01-12 2014-07-15 Fusion-Io, Inc. Systems and methods for managing cache admission
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
CN103294407B (zh) * 2012-03-05 2017-07-25 北京联想核芯科技有限公司 存储装置和数据读写方法
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim 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
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9191360B2 (en) * 2013-01-22 2015-11-17 International Business Machines Corporation Address management in an overlay network environment
US9467294B2 (en) * 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
US9383924B1 (en) * 2013-02-27 2016-07-05 Netapp, Inc. Storage space reclamation on volumes with thin provisioning capability
US9213633B2 (en) 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US9569447B2 (en) * 2013-11-08 2017-02-14 Texas Instruments Incorporated File access method and system thereof
US9141291B2 (en) 2013-11-26 2015-09-22 Sandisk Technologies Inc. Adaptive context disbursement for improved performance in non-volatile memory systems
CN103701821B (zh) * 2013-12-31 2017-07-28 北京网康科技有限公司 文件类型识别方法及装置
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9384128B2 (en) 2014-04-18 2016-07-05 SanDisk Technologies, Inc. Multi-level redundancy code for non-volatile memory controller
CN105446653B (zh) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
KR102036514B1 (ko) 2015-07-13 2019-10-28 엘에스산전 주식회사 메모리 소자를 이용한 데이터 엑세스 장치
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
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling 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
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
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10789011B2 (en) * 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
JP7131053B2 (ja) * 2018-04-24 2022-09-06 富士通株式会社 記憶装置,情報処理プログラムおよび情報処理システム
TWI677788B (zh) 2018-04-27 2019-11-21 慧榮科技股份有限公司 資料儲存系統以及非揮發式記憶體操作資訊的校正方法
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US11226907B2 (en) * 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
CN111949605A (zh) * 2019-05-15 2020-11-17 伊姆西Ip控股有限责任公司 用于实现文件系统的方法、设备和计算机程序产品
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6493811B1 (en) * 1998-01-26 2002-12-10 Computer Associated Think, Inc. Intelligent controller accessed through addressable virtual space
US6823417B2 (en) * 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP3015377B2 (ja) 1988-08-26 2000-03-06 株式会社東芝 Icカード
DE69024086T2 (de) 1989-04-13 1996-06-20 Sundisk Corp EEprom-System mit Blocklöschung
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 フラッシュ・メモリ使用方法
JP3017892B2 (ja) 1992-09-30 2000-03-13 株式会社東芝 ファイル管理装置
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
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
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
JP2669365B2 (ja) 1994-11-24 1997-10-27 日本電気株式会社 書換え可能なromファイル装置
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
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
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
US5799168A (en) 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
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
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
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
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 フラッシュメモリを記憶媒体とする記憶装置の管理方式
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
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
JP2000148546A (ja) 1998-11-10 2000-05-30 Nec Corp データ入出力装置およびデータ入出力方法、並びに記録媒体
US6490649B2 (en) 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
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
KR100704998B1 (ko) 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
JP4779183B2 (ja) 1999-03-26 2011-09-28 ソニー株式会社 再生装置および再生方法
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6467015B1 (en) 1999-04-15 2002-10-15 Dell Products, L.P. High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US6535949B1 (en) 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
JP3524428B2 (ja) 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
US6547150B1 (en) 1999-05-11 2003-04-15 Microsoft Corporation Smart card application development system and method
US6965963B1 (en) 1999-07-28 2005-11-15 Sony Corporation Continuous arrangement of data clusters across multiple storages
JP3863330B2 (ja) 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
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 日産自動車株式会社 電子制御装置の制御データ記憶装置
US6834331B1 (en) 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
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
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 株式会社東芝 不揮発性半導体記憶装置
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
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
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
GB0116116D0 (en) 2001-06-30 2001-08-22 Koninkl Philips Electronics Nv Receiver apparatus and method
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
JP3641230B2 (ja) 2001-10-22 2005-04-20 株式会社東芝 メモリカードを制御するための装置および方法
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6668336B2 (en) 2001-11-08 2003-12-23 M-Systems Flash Disk Pioneers Ltd. Ruggedized block device driver
US6883114B2 (en) 2001-11-08 2005-04-19 M-Systems Flash Disk Pioneers Ltd. Block device driver enabling a ruggedized file system
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
AU2003213113A1 (en) 2002-02-21 2003-09-09 Precise Software Solutions, Inc. System and method for analyzing input/output activity on local attached storage
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
EP1355268B1 (en) 2002-02-28 2006-04-05 Matsushita Electric Industrial Co., Ltd. Memory card
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
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 삼성전자주식회사 플래쉬 메모리용 파일 시스템
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
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
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a 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
CN1260642C (zh) * 2002-11-18 2006-06-21 深圳市朗科科技有限公司 一种向移动存储装置发送命令和数据的方法
US7433712B2 (en) 2003-02-06 2008-10-07 Modu Ltd. Multi-access solid state memory devices and a telephone utilizing such
JP4245959B2 (ja) * 2003-04-09 2009-04-02 日本電信電話株式会社 Icカードにおけるメモリ管理方法、及びicカード
US7437557B2 (en) 2003-06-03 2008-10-14 Lg Electronics Inc. Garbage collection system and method for a mobile communication terminal
JP2005122439A (ja) * 2003-10-16 2005-05-12 Sharp Corp デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20050144363A1 (en) 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
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
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
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
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
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6493811B1 (en) * 1998-01-26 2002-12-10 Computer Associated Think, Inc. Intelligent controller accessed through addressable virtual space
US6823417B2 (en) * 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table

Also Published As

Publication number Publication date
US7480766B2 (en) 2009-01-20
US20070033323A1 (en) 2007-02-08
KR20080032636A (ko) 2008-04-15
JP2009503729A (ja) 2009-01-29
CN101233481A (zh) 2008-07-30
EP1920315A2 (en) 2008-05-14
WO2007019059A3 (en) 2007-06-07
TW200720924A (en) 2007-06-01
WO2007019059A2 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
CN101233481B (zh) 通过逻辑地址空间且以直接数据文件为基础操作的介接系统
KR101453264B1 (ko) 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템
US7814262B2 (en) Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7877540B2 (en) Logically-addressed file storage methods
US8055832B2 (en) Management of memory blocks that directly store data files
US8046522B2 (en) Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8166267B2 (en) Managing a LBA interface in a direct data file memory system
US7739444B2 (en) System using a direct data file system with a continuous logical address space interface
EP1920335B1 (en) Reclaiming data storage capacity in flash memory systems
US7917686B2 (en) Host system with direct data file interface configurability
US20080155175A1 (en) Host System That Manages a LBA Interface With Flash Memory
US20070136553A1 (en) Logically-addressed file storage systems
WO2009085408A1 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
US20090164745A1 (en) System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
EP1938195B1 (en) Storage of transformed units of data in a memory system having fixed sized storage blocks
WO2007019197A2 (en) Management of memory blocks that directly store data files
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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20121011

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

Effective date of registration: 20121011

Address after: American Texas

Applicant after: Sandisk Corp.

Address before: American California

Applicant before: Sandisk Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130213

Termination date: 20150725

EXPY Termination of patent right or utility model