CN101253468A - 用于存储装置的双模式存取的方法和系统 - Google Patents
用于存储装置的双模式存取的方法和系统 Download PDFInfo
- Publication number
- CN101253468A CN101253468A CNA2006800283080A CN200680028308A CN101253468A CN 101253468 A CN101253468 A CN 101253468A CN A2006800283080 A CNA2006800283080 A CN A2006800283080A CN 200680028308 A CN200680028308 A CN 200680028308A CN 101253468 A CN101253468 A CN 101253468A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- clauses
- subclauses
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Abstract
本发明提供一种用于从非易失性大容量存储装置读取数据的方法和系统。所述方法包括:执行用于所述非易失性大容量存储装置的逻辑配置,其中向文件数据分配虚拟逻辑地址空间中的地址;以及由主机系统读取通过虚拟逻辑地址识别的数据。所述系统包含:文件存储段,其以逐文件为基础读取和写入数据,从而允许主机系统使用文件接口格式从所述非易失性大容量存储装置存取数据;以及逻辑接口段,其允许所述主机系统使用逻辑寻址存取数据,其中所述主机系统不知道用以以逐文件为基础存储数据的存储格式。
Description
相关申请案的交叉参考
本专利申请案涉及以下以全文引用的方式并入本文中的共同待决专利申请案:案号:11/060,249,2005年2月16日申请,代理人案号为SDK0380.US0,题为“Direct Data FileStorage in Flash Memories”,发明人为Alan W.Sinclair和Peter J.Smith;案号:11/060,174,2005年2月16日申请,代理人案号为SDK0380.US1,题为“Direct Data File Programmingand Deletion in Flash Memories”,发明人为Alan W.Sinclair和Peter J.Smith;案号:11/060,248,2005年2月16日申请,代理人案号为SDK0380.US2,题为“Direct Data FileStorage Implementation Techniques in Flash Memories”,发明人为Alan W.Sinclair和PeterJ.Smith;由Alan W.Sinclair和Barry Wright与本申请案同时申请且题为“Direct Data FileStorage in Flash Memories”的临时专利申请案(以上申请案在下文中统称为“直接数据文件存储申请案”)。
技术领域
本发明大体涉及例如半导体快闪存储器的可再编程非易失性存储器系统的操作,且更特定来说涉及主机装置与存储器之间的接口的管理。
背景技术
常规计算机系统通常包含若干功能组件。这些组件可包含中央处理单元(CPU)、主存储器、输入/输出(“I/O”)装置以及大容量存储装置。在常规系统中,主存储器经由系统总线或局部存储器总线耦合到CPU。主存储器用于向CPU提供在执行时间对存储在主存储器中的数据和/或程序信息的存取。通常,主存储器包含随机存取存储器(RAM)电路。具有CPU和主存储器的计算机系统常称为主机系统。
主机系统经由接口与例如非易失性存储器系统(也可称为“快闪装置”、“快闪存储器”或“快闪卡”,在本说明书中可互换使用)的大容量存储装置介接。
在早一代商业快闪存储器系统中,将矩形存储器单元阵列划分为大量单元群组,每一者存储标准磁盘驱动器扇区的数据量,即512字节。每个群组中还通常包含例如16个字节的额外数据量,以存储错误校正码(ECC)和可能的与用户数据和/或其中存储用户数据的存储器单元群组相关的其它开销数据。每个此群组中的存储器单元是可共同擦除的最小数目的存储器单元。也就是说,擦除单位有效地是存储一个数据扇区和所包含的任何开销数据的大量存储器单元。此类型的存储器系统的实例描述于第5,602,987号和第6,426,893号美国专利中。需要在用数据对其再编程之前擦除存储器单元是快闪存储器的特性。
最常见以存储器卡或快闪驱动器的形式提供快闪存储器系统,所述存储器卡或快闪驱动器与例如个人计算机、相机等多种主机可移除地连接,但也可嵌入在这些主机系统内。
通常,主机系统维持文件目录并向逻辑群集分配文件数据。使用逻辑接口存取数据的主机系统可称为继承主机系统。本文中的术语主机系统包含继承快闪存储器卡读取器和数码相机等。
在常规系统中,主机维持文件系统并向逻辑群集分配文件数据,其中群集大小通常是固定的。将快闪装置划分为多个逻辑扇区且主机分配由多个逻辑扇区组成的群集内的空间。群集是逻辑地址的细分,且群集图表示为文件分配表(“FAT”)。FAT通常存储在存储装置本身上。
在常规系统中,当向存储器写入数据时,主机通常向存储器系统的连续虚拟地址空间内的扇区、群集或其它数据单位指派唯一的逻辑地址。类似于磁盘操作系统(DOS),主机向存储器系统的逻辑地址空间内的地址写入数据以及从其读取数据。存储器系统内的控制器将从主机接收的逻辑地址转译为实际存储数据的存储器阵列内的物理地址,且接着跟踪这些地址转译。存储器系统的数据存储容量至少与在为存储器系统界定的整个逻辑地址空间上可寻址的数据量一样大。
正在开发其它文件存储系统(或格式)以使得主机不必须执行文件到逻辑地址的映射。然而,这些新文件系统可能仍必须和继承主机系统一起使用来读取数据。
因此,需要一种允许主机系统有效存取使用非传统文件存储格式的快闪装置中的文件的方法和系统。
发明内容
在本发明的一个方面中,提供一种用于从非易失性大容量存储装置读取数据的系统。所述系统包含:文件存储段,其以逐文件为基础读取和写入数据,从而允许主机系统使用基于文件的协议从所述非易失性大容量存储装置存取数据;以及逻辑接口段,其允许主机系统使用逻辑寻址来存取数据,其中所述主机系统不知道用以以逐文件为基础存储数据的存储格式。
在另一方面中,提供一种用于从以逐文件为基础存储数据的非易失性大容量存储装置读取数据的方法。所述方法包含:执行用于所述非易失性大容量存储装置的逻辑配置,其中向文件数据分配虚拟逻辑地址空间中的地址;以及由主机系统读取通过虚拟逻辑地址识别的数据。
在本发明的又一方面中,提供一种用于从非易失性大容量存储装置读取数据的方法。所述方法包含:执行用于以逐文件为基础存储文件数据的所述非易失性大容量存储装置的逻辑配置,其中在所述逻辑配置期间产生逻辑索引,其中所述逻辑索引包含针对在文件目录中识别的每个文件的条目,且每个条目指定所述非易失性大容量存储装置的虚拟逻辑地址空间内文件的地址以及所述文件目录中的相应条目位置;以及操作所述非易失性大容量存储装置,其中通过主机系统读取由所述虚拟逻辑地址识别的数据。
在本发明的又一方面中,提供一种用于读取非易失性大容量存储装置中的数据的系统。所述系统包含:直接数据文件存储段,其在直接数据文件存取模式中操作,从而允许主机系统以逐文件为基础从所述非易失性大容量存储装置存取数据;以及逻辑接口段,其允许所述主机系统使用逻辑寻址来存取数据,其中所述主机系统不知道用以以逐文件为基础存储数据的存储格式。
已提供此简要发明内容以使得可快速理解本发明的特征。通过参看下文结合附图对本发明优选实施例的详细描述可获得对本发明的更完全的理解。
附图说明
现将参看优选实施例的图式描述本发明的上述特征和其它特征。在图中,相同组件具有相同参考标号。希望所说明的实施例用以说明而不是限制本发明。图式包含以下各图:
图1A展示使用快闪装置的主机系统的框图;
图1B展示根据本发明一个方面使用的快闪装置控制器的框图;
图1C展示用于快闪存储器系统的物理存储器组织的实例;
图1D展示图1D的物理存储器的一部分的展开图;
图1E展示图1C和1D的物理存储器的一部分的进一步展开图;
图1F展示主机与可再编程存储器系统之间的常规逻辑地址接口;
图1G展示根据本发明一方面的主机与可再编程存储器系统之间的直接数据文件存储接口;
图1H以不同于图1F的方式展示主机与可再编程存储器系统之间的常规逻辑地址接口;
图1L以不同于图1G的方式展示根据本发明一方面的主机与可再编程存储器系统之间的直接数据文件存储接口;
图1M展示示范性存储器系统的功能分级;
图2A展示根据本发明一方面的由快闪装置使用的系统的顶层逻辑框图;
图2B展示根据本发明一方面的针对逻辑配置模式在图2A中系统的多个组件之间的互连;
图2C展示根据本发明一方面的针对逻辑只读模式在图2A中系统的多个组件之间的互连;
图2D展示根据本发明一方面使用的逻辑索引表的框图;
图2E展示根据本发明一方面的直接数据文件存储系统的编索引方案;
图2F展示根据本发明一方面使用的FAT索引表的框图;
图2G展示根据本发明一方面的逻辑地址图的框图;以及
图3展示根据本发明一方面的从以逐文件为基础存储数据的快闪装置读取数据的过程步骤的流程图。
具体实施方式
为了便于理解优选实施例,将描述主机系统/非易失性大容量存储系统的一般结构和操作。接着将参考一般结构描述优选实施例的特定结构和操作。
主机系统/存储器系统:
图1A展示典型主机系统100的框图,其包含连接到系统总线101A的中央处理单元(“CPU”)(或微处理器)101。随机存取主存储器(“RAM”)103也耦合到系统总线101A并向CPU 101提供对存储器存储装置的存取。当执行程序指令时,CPU 101将那些过程步骤存储在RAM 103中并在RAM 103外部执行存储的过程步骤。
提供只读存储器(“ROM”)102以存储不变的指令序列,例如启动指令序列或基本输入/输出操作系统(BIOS)序列。
还提供输入/输出(“I/O”)装置102A,例如键盘、指向装置(“鼠标”)、监视器、调制解调器等。
大容量存储装置(快闪装置)105还为CPU 101提供非易失性存储器。快闪装置105包含控制器模块106(也可称为“存储器系统控制器”)和固态存储器模块107-108(图示为存储器模块#1和存储器模块#N)。控制器模块106经由总线接口104或直接经由系统总线101A或另一外围总线(未图示)与主机系统100介接。
目前存在许多不同的市售的快闪存储器卡,实例是紧致快闪存储器(CF)、多媒体卡(MMC)、安全数字(SD)、小型SD、记忆棒、智能媒体和TransFlash卡。尽管这些卡中的每一者均具有根据其标准化规范的独特的机械和/或电气接口,但每一者中包含的快闪存储器是非常相似的。这些卡可从本申请案的受让人SanDisk公司购得。SanDisk还提供以Cruzer为商标的快闪驱动器线,其为小封装的手持存储器系统,所述系统具有用于通过插入主机的通用串行总线(USB)插座而与主机连接的USB插头。这些存储器卡和快闪驱动器中的每一者均包含与主机介接并控制其内快闪存储器的操作的控制器。
使用这些存储器卡和快闪驱动器的主机系统有许多且各式各样。它们包含个人计算机(PC)、膝上型和其它便携式计算机、蜂窝式电话、个人数字助理(PDA)、数字静态相机、数字电影相机和便携式音频播放器。主机通常包含用于一种或一种以上类型的存储器卡或快闪驱动器的内置插座,但其中一些需要能插入存储器卡的适配器。
目前优选存储器单元阵列107-108的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号美国专利申请公开案。
值得注意的是,本发明的适应性方面不限于快闪装置105,且可用于任何非易失性大容量存储系统。
图1B展示控制器模块106的内部结构的框图。控制器模块106包含微控制器109,其经由接口逻辑111与各种其它组件介接。存储器110存储由微控制器109用以控制快闪装置105的操作的固件和软件指令。存储器110可为易失性可再编程随机存取存储器(“RAM”)、不可再编程的非易失性存储器(“ROM”)、一次可编程存储器或可再编程快闪电可擦除和可编程只读存储器(“EEPROM”)。
主机接口113与主机系统100介接,而快闪接口112与存储器模块107-108介接。
图1C概念性说明用作下文进一步描述中的实例的快闪存储器单元阵列(107-108)的组织。存储器单元的四个平面或子阵列131-134可在单个集成存储器单元芯片上、在两个芯片上(每个芯片上两个平面)或在四个单独芯片上。具体布置对下文的论述来说不重要。当然,在系统中可存在其它数目的平面,例如1、2、8、16或更多。将平面个别地划分为图1C中用矩形展示的存储器单元区块,例如位于各自平面131-134中的区块137、138、139和140。每个平面中可存在数十个或数百个区块。
存储器单元区块是擦除的单位,是物理上可共同擦除的最小数目的存储器单元。然而为了增加的并行性,以较大的元区块为单位来操作区块。将来自每个平面的一个区块逻辑上链接在一起以形成元区块。展示四个区块137-140形成一个元区块141。元区块内的所有单元通常共同擦除。用于形成元区块的区块无需限于其各自平面内的相同的相对位置,如由区块145-148组成的第二元区块143中所示。
尽管通常优选在所有平面上延伸元区块以获得高系统性能,但可以在不同平面中动态形成具有一个、两个或三个区块中的任一种或全部的元区块的能力来操作存储器系统。这允许元区块的大小较接近地与一次编程操作中可用于存储的数据量匹配。
为了操作目的,又将个别区块划分为存储器单元页,如图1D说明。例如区块131-134中每一者的存储器单元各划分为八个页P0-P7。或者,每个区块内可存在16个、32个或更多存储器单元页。页是在区块内数据编程和读取的单位,含有一次编程的最小数据量。在NAND结构中,页由沿着区块内字线的存储器单元形成。然而为了增加存储器系统操作并行性,可将两个或两个以上区块内的所述页逻辑上链接成元页。图1D中说明元页151,其由来自四个区块131-134中每一者的一个物理页形成。元页151例如包含所述四个区块中每一者中的页P2,但元页的页无需在区块的每一者内一定具有相同的相对位置。
尽管优选在所有四个平面上并行编程和读取最大数据量以获得高系统性能,但也可操作存储器系统以在不同平面中的单独区块中形成具有一个、两个或三个页中的任一种或全部的元页。这允许编程和读取操作适应性地与可方便地并行处理的数据量匹配,且减少了元页的一部分保持未以数据编程的发生。
由多个平面的物理页形成的元页(如图1D说明)含有沿着那些多个平面的字线行的存储器单元。并非同时对一个字线行中的所有单元编程,而是较常见以两个或两个以上交错群组对其交替编程,每个群组存储一个数据页(在单个区块中)或一个数据元页(在多个区块上)。通过每次对交替的存储器单元进行编程,无需对每个位线均提供包含数据寄存器和读出放大器的外围电路单位,而是在邻近的位线之间时间共享。这节省了外围电路所需的衬底空间量,且允许以沿着行而增加的密度来封装存储器单元。另外,优选对沿着行的每个单元同时编程,以便最大化自给定存储器系统可用的并行性。
图1E展示页或元页数据的两个扇区153和155的逻辑数据页。每个扇区通常含有所存储的用户或系统数据的512个字节的部分157以及用于涉及部分157中的数据或涉及其中存储有数据的物理页或区块的开销数据的另一数目的字节159。开销数据的字节数通常为16个字节,从而对于扇区153和155中每一者为总共528个字节。开销部分159可含有在编程期间从数据部分157计算出的ECC、其逻辑地址、区块已擦除和再编程次数的经历计数、一个或一个以上控制旗标、操作电压电平和/或类似物,加上从此开销数据159计算出的ECC。或者,开销数据159或其一部分可存储在其它区块中的不同页中。
随着存储器的并行性增加,元区块的数据存储容量增加且数据页和元页的大小也因此增加。数据页接着可含有两个以上数据扇区。由于数据页中的两个扇区且每个元页两个数据页,所以一个元页中存在四个扇区。每个元页因此存储2048个字节的数据。这是高度的并行性,且可甚至在行中存储器单元数目增加时进一步增加。出于此原因,延伸快闪存储器的宽度以便增加页和元页中的数据量。
上文识别的物理上较小的可再编程非易失性存储器卡和快闪驱动器是市售的,其具有512兆字节(MB)、千兆字节(GB)、2GB和4GB的数据存储容量,且可能更高。
图1F说明主机与此大容量存储器系统之间的最常见的接口。主机处理由主机执行的应用程序软件或固件程序产生或使用的数据文件。字处理数据文件是一个实例,且计算机辅助设计(CAD)软件的绘图文件是另一实例,主要存在于例如PC、膝上型计算机等一般计算机主机中。pdf格式的文档也是这种文件。静止数字摄像机为存储在存储器卡上的每幅图产生一个数据文件。蜂窝式电话利用来自内部存储器卡上的文件的数据,例如电话簿。PDA存储并使用若干不同的文件,例如地址文件、日历文件等。在任何这种应用中,存储器卡还可含有操作主机的软件。
图1F说明主机与存储器系统之间的常用逻辑接口。连续的逻辑地址空间161足够大以为可存储在存储器系统中的所有数据提供地址。通常将主机地址空间划分为数据群集的增量。每个群集在给定主机系统中可经设计为含有许多数据扇区,在有些地方在4与64个扇区之间是典型的。标准扇区含有512个字节的数据。
在图1C的实例中展示三个文件1、2和3已产生。在主机系统上运行的应用程序产生每个文件作为有序的数据集,并通过唯一的名称或其它参考对其进行识别。尚未分配给其它文件的足够可用的逻辑地址空间由主机指派给文件1。文件1展示为已被指派有邻接的可用逻辑地址范围。还通常为特定目的分配地址范围,例如针对主机操作软件的特定范围,接着为存储数据而避开这些特定范围,即使在主机向数据指派逻辑地址时仍未利用这些地址。
当主机稍后产生文件2时,主机类似地指派逻辑地址空间161内的两个不同的邻接地址范围,如图1F所示。文件无需被指派邻接的逻辑地址,而是可为已分配给其它文件的地址范围之间的地址段。这个实例接着展示由主机产生的又一个文件3被分配有主机地址空间的其它先前未分配给文件1和2以及其它数据的部分。
主机通过维持文件分配表(FAT)来跟踪存储器逻辑地址空间,所述FAT中维持主机向各个主机文件指派的逻辑地址。FAT表通常存储在非易失性存储器中以及主机存储器中,且在存储新文件、删除其它文件、修改文件等时由主机频繁更新。例如当删除主机文件时,主机接着通过更新FAT表来对先前分配给经删除文件的逻辑地址解除分配,以显示这些逻辑地址现可用于其它数据文件。
主机并不关心其中存储器系统控制器选择存储文件的物理位置。典型主机仅知道其逻辑地址空间以及其已分配给其各个文件的逻辑地址。另一方面,通过典型主机/卡接口,存储器系统仅知道逻辑地址空间的已写入数据的部分,但不知道分配给特定主机文件的逻辑地址,或甚至不知道主机文件的数目。存储器系统控制器106将由主机为数据的存储或检索而提供的逻辑地址转换为其中存储有主机数据的快闪存储器单元阵列内的唯一物理地址。区块163表示这些逻辑到物理地址转换的工作表,其由存储器系统控制器106维持。
存储器系统控制器106经编程为以将系统性能维持在高水平的方式将数据文件存储在存储器阵列165的区块和元区块内。在此说明中使用四个平面或子阵列。在由来自每个平面的区块形成的整个元区块上优选以系统允许的最大程度的并行性编程和读取数据。至少一个元区块167通常经分配作为用于存储由存储器控制器使用的操作固件和数据的保留区块。可分配另一元区块169或多个元区块以用于存储主机操作软件、主机FAT表等。保留物理存储空间的大部分以用于存储数据文件。
然而存储器系统控制器106不知道主机如何在其各个文件对象之间分配所接收的数据。存储器控制器106从与主机交互作用中通常知道的全部内容就是由主机写入到特定逻辑地址的数据存储在由控制器的逻辑到物理地址表163维持的相应物理地址中。
在典型的存储器系统中,提供比存储地址空间161内的数据量所必需的存储容量多的存储容量的若干额外区块。可提供这些额外区块中的一者或一者以上作为用于代替在存储器使用寿命期间可能变为有缺陷的其它区块的冗余区块。个别元区块内含有的区块的逻辑分组通常可因为各种原因而改变,包含冗余区块对原始指派给元区块的有缺陷区块的代替。例如元区块171的一个或一个以上额外区块通常维持在经擦除的区块池(blockpool)中。
当主机向存储器系统写入数据时,控制器106将由主机指派的逻辑地址转换为经擦除区块池中元区块内的物理地址。未用于将数据存储在逻辑地址空间161内的其它元区块接着经擦除并指定作为经擦除的池区块以供在后续数据写入操作期间使用。
在原始存储的数据变过时时由新数据频繁覆写存储在特定主机逻辑地址的数据。作为响应,存储器系统控制器106将新数据写入经擦除的区块,并接着针对那些逻辑地址改变逻辑到物理地址表以识别存储那些逻辑地址处数据的新的物理区块。接着擦除含有那些逻辑地址处原始数据的区块并使其可用于新数据的存储。如果在写入开始时在来自擦除区块池的预擦除区块中没有足够的存储容量,那么这种擦除常常必须在当前数据写入操作可完成之前发生。这可能不利地影响系统数据编程速度。存储器控制器106通常了解到仅在主机向其相同逻辑地址写入新数据时由主机使给定逻辑地址处的数据变过时。因此许多存储器区块可能存储此类无效数据历时一定时间。
区块和元区块的大小逐渐增加,以便有效地使用集成电路存储器芯片的面积。这导致较大比例的个别数据写入存储的数据量小于元区块的存储容量,且在许多情况下甚至小于区块的存储容量。由于存储器系统控制器106通常将新数据引导到经擦除的池元区块,因此这可导致元区块的若干部分不被填充。如果新数据是对存储在另一元区块中的某个数据的更新,那么还期望以逻辑地址次序将其余有效的数据元页从具有与新数据元页的逻辑地址邻接的逻辑地址的所述另一元区块复制到新的元区块中。老的元区块可保持其它有效的数据元页。这随着时间过去而导致个别元区块的某些元页的数据变为过时且无效,并由写入到不同元区块的具有相同逻辑地址的新数据所替换。
为了维持足够的物理存储器空间来在整个逻辑地址空间161上存储数据,对此数据进行周期性压缩或合并(垃圾收集)。还希望以与其实际一样多的逻辑地址的相同次序维持元区块内的数据扇区,因为这使得读取邻接逻辑地址中的数据更为有效。因此通常以此额外目的来执行数据压缩和垃圾收集。在接收部分区块数据更新时对存储器进行管理的一些方面以及元区块的使用描述于第6,763,424号美国专利中。
直接数据文件存储:
图2A展示由快闪装置105用于直接数据文件存储(“DFS”)方法/系统的系统200的框图,所述DFS方法/系统揭示于2005年2月16日申请、代理人案号为SDK0380.US0、题为“Direct Data File Storage in Flash Memories”的第11/060,249号共同待决专利申请案以及上文引用的直接数据文件存储申请案。
在DFS装置中,主机系统100如上述专利申请案所述以逐文件为基础(基于文件的协议)存取数据,也就是说,通过文件识别符和文件内的偏移地址来识别数据。不为装置界定任何逻辑地址空间。主机系统100不向逻辑群集分配文件数据,且文件的目录/索引表信息由快闪装置105产生。
主机通过唯一的文件ID(或其它唯一参考)和文件内数据单位(例如字节)的偏移地址来寻址每个文件。此文件地址直接给予存储器系统控制器106,存储器系统控制器106接着保持其自身的关于每个主机文件的数据物理存储的地点的表。
图1G中说明此基于文件的接口,其应与图1F的逻辑地址接口进行比较。将文件1、2和3中每一者的识别以及图1G的文件内数据的偏移量直接传递到存储器控制器。此逻辑地址信息接着由存储器控制器功能173转译为存储器165的元区块和元页的物理地址。
图1L也说明基于文件的接口,其应与图1H的逻辑地址接口进行比较。图1H的逻辑地址空间和主机维持的FAT表在图1L中不存在。而是,通过文件号和文件内数据的偏移量来将由主机产生的数据文件识别到存储器系统。存储器系统接着将文件直接映射到存储器单元阵列的物理区块。
参看图1M,说明本文描述的示范性大容量存储系统的功能层。“直接数据文件存储后端系统”通过“直接数据文件接口”和“基于文件的前端系统”在基于文件的接口通道上与主机系统通信。例如通过文件名来唯一识别每个主机文件。通过对文件唯一的线性地址空间内的偏移地址来识别文件内的数据。
尽管主机系统将有利地使用DFS装置,但仍将存在需要使用逻辑接口读取数据文件的继承主机系统。在本发明的一个方面中,可由继承主机系统在只读模式中存取DFS装置。当快闪装置105检测到其已被插入常规主机系统中时,其根据DOS标准仿真目录和FAT数据结构,并将文件数据地址表示为虚拟逻辑地址空间的邻接区域。继承主机系统与启用DFS的快闪装置105介接,如同常规快闪装置与逻辑接口介接。
在本发明的另一实施例中,主机系统可能希望使用基于文件的接口与逻辑接口两者来存取快闪装置105。举例来说,主机上的继承应用程序软件可使用逻辑接口以获得与仅以逻辑接口操作的继承存储器装置的兼容性,而其它应用程序可使用基于文件的接口介接到DFS装置。
向回参看图2A,系统200通过产生目录和FAT信息以将存储在快闪装置105中的文件表示为虚拟逻辑地址空间中的未分段数据来仿真逻辑扇区接口。系统200包含DFS段200A和逻辑段200B。当快闪装置105检测到其正与使用逻辑接口读取数据的继承主机一起使用时启用逻辑段200B。
下文相对于快闪装置105的各种操作模式描述段200A和200B。
直接数据文件存取模式(或“DFS模式”):在DFS模式期间,快闪装置105在上述共同待决专利申请案中详细描述的直接数据文件存取模式中操作。在此模式期间,主机系统向直接数据文件接口201发送文件识别符和偏移地址。在此模式期间不需要任何逻辑地址空间。由快闪装置105产生文件目录203和文件索引表(也可称为“FIT”)204。
文件目录203以指向文件索引表204中第一数据群组条目的指针记录文件属性信息。文件索引表204含有针对文件内具有邻接文件偏移地址的每个有效数据群组的条目。针对数据群组的条目包含文件偏移地址和物理地址。
图2E展示根据本发明一个方面使用的直接数据文件存储系统的编索引方案的框图。主机100向快闪装置105提供路径、文件名和偏移量203A。路径指向存储目录信息(例如,目录A和B)的文件目录203。
目录中的每个文件指向FIT 204中的条目(例如,203B指向204D)。FIT 204包含针对每个数据群组的条目,且每个条目(例如204D)包含偏移值204A、区块值204B和字节值204C。偏移值204A展示文件内对应于数据群组的开始(例如快闪区块205B中的205A)的偏移地址。区块值204B提供数据区块的实际物理地址,且字节值204C指向数据群组开始地方的字节。
逻辑配置模式:
当快闪装置105检测到其插入需要逻辑接口读取数据的继承主机系统(或与继承主机系统通信/可操作地与继承主机系统耦合)时,根据本发明的一个方面执行逻辑配置操作。
也可在其它时间执行逻辑配置,例如可由控制器106确定或响应于在主机接口113处接收的命令来确定。
如图2B所示,在逻辑配置操作期间,文件目录203的内容用于产生目录索引206、FAT索引207和逻辑索引208以响应于与主机系统100耦合的逻辑接口210。由逻辑数据读取管理器209扫描文件目录203,且信息用于产生上述索引表。
目录索引206:目录索引206包含为每个文件目录203条目指派的虚拟逻辑地址。文件目录203条目界定子目录或文件,且含有指向文件目录203或FIT 204的指针。值得注意的是,DOS目录中的指针涉及装置的地址空间中的逻辑地址。目录索引206含有用于代替文件目录203中指针的虚拟逻辑地址,以产生符合DOS标准的目录。
FAT索引207:FAT索引207含有允许针对快闪装置105的虚拟地址空间仿真FAT的信息(见图2F)。将快闪装置105中的文件仿真为占据逻辑连续群集的邻接集合。FAT针对快闪装置105的虚拟逻辑地址空间中的每个仿真的群集均含有一个条目。分配给文件的数据的经仿真群集具有指向随后群集的FAT条目,除了包含<文件结束>代码的最后一个群集。
值得注意的是,本发明不限于明确地存储此类FAT条目,因为其可在主机读取FAT扇区时以算法方式产生。存储识别具有<文件结束>代码的FAT条目的记录。对于FAT条目(207A)的每个扇区,FAT索引207含有包含<文件结束>代码的条目的列表(见图2F)。
逻辑索引208:在逻辑只读模式期间,通过使用逻辑地址存取来自快闪装置105的文件数据。逻辑索引208用于将逻辑地址转换为文件目录203条目地址和文件地址偏移,使得文件数据205C(图2D)可由继承主机(或任何其它主机系统)读取。逻辑索引208包含在文件目录203中识别的针对每个文件的一个条目。每个逻辑索引208条目指定虚拟逻辑地址空间中的地址以及文件目录203中的相关条目位置。
图2D说明根据本发明一个方面的逻辑索引表208。逻辑索引208中的条目包含两个字段X和Y。字段Y是指派给在文件目录中位置X处具有条目的文件的开始的逻辑地址。经仿真的逻辑地址图展示为208A,而208B展示文件条目X如何指向FIT表204条目。
主机提供目标逻辑地址Y’(未图示),且搜索逻辑索引208以找到针对其中定位逻辑地址Y’的文件的开始的逻辑地址Y。(Y’-Y)界定文件内目标逻辑地址的偏移地址。逻辑索引208提供对应于逻辑地址Y的位置X。这允许使用逻辑接口向继承主机提供文件数据205。
图2G展示快闪装置105的虚拟逻辑地址空间211,其中表示出数据结构。根据DOS标准,FAT 1、FAT 2和根目录结构由跟随分区引导记录的逻辑地址集合表示。在常规系统中,群集的数据空间在根目录之后开始。
快闪装置105将子目录表示为处于数据空间开始处的连续群集地址处。将文件表示为占据数据空间中的连续群集而没有地址分段且在文件之间没有未分配的群集(图示为邻接文件211A)。
逻辑只读模式:
当快闪装置105经配置以用于逻辑只读操作时,可使用如图2C所示的逻辑接口210对其进行读取。基于其在虚拟逻辑地址空间内的范围将主机扇区地址视为与目录扇区、FAT扇区或数据扇区相关。
与目录扇区相关的条目是从文件目录203读取且通过在返回到主机系统之前使用来自目录索引206的相应条目来修改。
与FAT扇区相关的条目产生作为递增的群集地址集合,且根据针对FAT索引207中扇区的条目更新到<文件结束>代码。随后,将条目返回到主机系统。图2F展示FAT索引207的实例,其中每个条目指定含有<文件结束>代码的FAT条目(207A)的FAT扇区号(207C)和FAT扇区条目号(207B)。
通过搜索逻辑索引208中的条目,以文件偏移地址将来自主机系统的逻辑扇区地址转换为文件目录203中的条目地址。使用直接数据文件存储管理器202读取扇区数据。
值得注意的是,存储器110可用于存储和存取目录索引206、FAT索引207和逻辑索引208。DFS管理器202可使用存储器110中的缓冲器池以及经擦除区块的池进行文件和控制数据存储。在逻辑只读操作期间不使用这些缓冲器(未图示),且其因此可用于存储上述索引。然而,索引也可存储在快闪存储器模块107-108中,其在存储器110中有或没有复本。
过程流程:
图3展示根据本发明一个方面从快闪装置105读取信息的流程图。详细参看图3,过程开始于步骤S300。在步骤S302中,控制器106确定是否需要逻辑配置。如果不需要任何配置,那么过程移动到步骤S314,下文详细描述。
如果需要逻辑配置,那么在步骤S314中,控制器106读取下一文件目录条目并在步骤S306A中产生针对目录索引206的相应条目。控制器106接着在步骤S306中确定文件目录条目是否用于文件。如果文件目录条目并非用于文件,那么过程移动到步骤S312(下文描述)。
如果在步骤S306中文件目录条目是用于文件,那么在步骤S308中,产生FAT索引条目207B,且在步骤S308A中,产生逻辑索引条目(例如,如图2D所示)。
在步骤S312中,控制器106确定是否已到达文件目录中的最后一个条目。如果尚未到达文件目录中的最后一个条目,那么过程返回到步骤S304。如果已到达文件目录中的最后一个条目,那么在步骤S314中,控制器106确定在逻辑接口210处是否已接收到读取命令。
如果尚未接收到读取命令,那么过程返回到步骤S302。
如果已接收到读取命令,那么在步骤S316中,过程确定逻辑地址是否用于目录扇区。如果逻辑地址是用于目录扇区,那么在步骤S318中读取目录索引206,且在步骤S320中读取文件目录203。在步骤S322中,产生目录扇区且在步骤S324中将信息返回到主机100。
如果在步骤S316中,逻辑地址并非用于目录扇区,那么在步骤S330中,过程确定逻辑地址是否用于FAT扇区。如果其是用于FAT扇区,那么在步骤S332中,读取FAT索引207。在步骤S334中产生FAT扇区,且在步骤S324中将其返回到主机100。
如果在步骤S330中,逻辑地址并非用于FAT扇区而是用于文件数据,那么在步骤S336中,过程确定逻辑地址是否用于文件数据。如果不是,那么过程返回到步骤S302。
如果逻辑地址是用于文件数据,那么在步骤S338中,读取逻辑索引208。在步骤S340中识别文件目录条目,且在步骤S342中从直接数据文件存储段读取数据。随后,在步骤S324中将文件数据返回到主机。
在步骤S326中,过程确定是否存在任何其它由于步骤S314中接收的读取命令而将读取的逻辑地址。如果不存在,那么过程返回到步骤S302。如果存在其它逻辑地址,那么过程返回到步骤S316。
在本发明的一个方面中,继承主机系统不必进行任何更新以从直接数据文件存储装置读取数据。
尽管已参考特定实施例描述本发明,但这些实施例只是说明性的且不是限制性的。根据本发明和所附权利要求书将了解本发明的许多其它应用和实施例。
Claims (28)
1. 一种用于从非易失性大容量存储装置读取数据的方法,其包括:
执行用于以逐文件为基础存储文件数据的所述非易失性大容量存储装置的逻辑配置,其中在所述逻辑配置期间产生逻辑索引,其中所述逻辑索引包含针对在文件目录中识别的每个文件的条目,且每个条目指定所述非易失性大容量存储装置的虚拟逻辑地址空间内文件的地址以及所述文件目录中的相应条目位置;以及
操作所述非易失性大容量存储装置,其中通过所述虚拟逻辑地址识别的数据由所述主机系统读取。
2. 根据权利要求1所述的方法,其中在逻辑只读模式期间,以从所述逻辑索引中的所述条目获得的文件偏移地址将与来自所述主机系统的逻辑扇区地址相关的条目转换为所述文件目录中的条目地址。
3. 根据权利要求2所述的方法,其中经由直接数据文件存储管理器读取扇区数据。
4. 根据权利要求1所述的方法,其中在所述逻辑配置期间,产生文件分配表(“FAT”)索引,其包含针对每个FAT扇区的列表并提供针对每个FAT扇区号的条目号。
5. 根据权利要求4所述的方法,其中在所述逻辑只读模式期间,在发送到所述主机系统之前,基于所述FAT索引中的条目更新与FAT扇区相关的条目。
6. 根据权利要求1所述的方法,其中所述主机系统不知道允许所述非易失性大容量存储装置以逐文件为基础存储数据的存储格式。
7. 一种用于读取非易失性大容量存储装置中的数据的系统,其包括:
直接数据文件存储段,其在直接数据文件存取模式中操作,从而允许主机系统以逐文件为基础从所述非易失性大容量存储装置存取数据;以及
逻辑接口段,其允许所述主机系统使用逻辑寻址存取数据,其中所述主机系统不知道用以以逐文件为基础存储数据的存储格式。
8. 根据权利要求7所述的系统,其中所述逻辑接口包含目录索引、文件分配表(“FAT”)索引以及在逻辑配置模式期间产生的逻辑索引。
9. 根据权利要求8所述的系统,其中在所述目录索引中,向文件目录中的每个条目指派一虚拟逻辑地址。
10. 根据权利要求8所述的系统,其中所述逻辑索引包含针对在文件目录中识别的每个文件的条目,且每个条目指定虚拟逻辑地址空间以及所述文件目录中的相应条目位置。
11. 根据权利要求8所述的系统,其中所述FAT索引包含针对每个FAT扇区的列表,并提供针对每个FAT扇区号的条目号。
12.根据权利要求8所述的系统,其中在逻辑只读模式期间,与目录扇区相关的条目是从文件目录读取且由来自所述目录索引的条目修改。
13. 根据权利要求8所述的系统,其中在逻辑只读模式期间,以从所述逻辑索引中的条目获得的文件偏移地址将与来自所述主机系统的逻辑扇区地址相关的条目转换为文件目录中的条目地址。
14.根据权利要求8所述的系统,其中在逻辑只读模式期间,在发送到所述主机系统之前,基于所述FAT索引中的条目更新与FAT扇区相关的条目。
15.一种用于从以逐文件为基础存储数据的非易失性大容量存储装置读取数据的方法,其包括:
执行用于所述非易失性大容量存储装置的逻辑配置,其中向文件数据分配虚拟逻辑地址空间中的地址;以及由主机系统读取通过虚拟逻辑地址识别的数据。
16. 根据权利要求15所述的方法,其中在逻辑只读模式期间,以从逻辑索引表中的条目获得的文件偏移地址将与来自所述主机系统的逻辑扇区地址相关的条目转换为文件目录中的条目地址。
17.根据权利要求16所述的方法,其中经由直接数据文件存储管理器读取扇区数据。
18.根据权利要求15所述的方法,其中在逻辑配置期间,产生文件分配表(“FAT”)索引,其包含针对每个FAT扇区的列表并提供针对每个FAT扇区号的条目号。
19.根据权利要求18所述的方法,其中在逻辑只读模式期间,在发送到所述主机系统之前,基于所述FAT索引中的条目更新与FAT扇区相关的条目。
20.根据权利要求15所述的方法,其中所述主机系统不知道所述非易失性存储装置用以以逐文件为基础存储数据的存储格式。
21.一种用于从非易失性大容量存储装置读取数据的系统,其包括:
文件存储段,其以逐文件为基础读取和写入数据,从而允许主机系统使用基于文件的协议从所述非易失性大容量存储装置存取数据;以及
逻辑接口段,其允许主机系统使用逻辑寻址存取数据,其中所述主机系统不知道用以以逐文件为基础存储数据的存储格式。
22.根据权利要求21所述的系统,其中所述逻辑接口段包含目录索引、文件分配表(“FAT”)索引以及在逻辑配置模式期间产生的逻辑索引。
23. 根据权利要求22所述的系统,其中在所述目录索引中,向文件目录中的每个条目指派一虚拟逻辑地址。
24.根据权利要求22所述的系统,其中所述逻辑索引包含针对在文件目录中识别的每个文件的条目,且每个条目指定虚拟逻辑地址空间以及所述文件目录中的相应条目位置。
25.根据权利要求22所述的系统,其中所述FAT索引包含针对每个FAT扇区的列表,并提供针对每个FAT扇区号的条目号。
26. 根据权利要求22所述的系统,其中与目录扇区相关的条目是从文件目录读取且由来自所述目录索引的条目修改。
27.根据权利要求22所述的系统,其中以从所述逻辑索引中的条目获得的文件偏移地址将与来自所述主机系统的逻辑扇区地址相关的条目转换为文件目录中的条目地址。
28.根据权利要求22所述的系统,其中在发送到所述主机系统之前,基于所述FAT索引中的条目更新与FAT扇区相关的条目。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/196,168 | 2005-08-03 | ||
US11/196,168 US7627733B2 (en) | 2005-08-03 | 2005-08-03 | Method and system for dual mode access for storage devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101253468A true CN101253468A (zh) | 2008-08-27 |
Family
ID=37307183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800283080A Pending CN101253468A (zh) | 2005-08-03 | 2006-07-27 | 用于存储装置的双模式存取的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7627733B2 (zh) |
EP (1) | EP1920316B1 (zh) |
JP (1) | JP5178514B2 (zh) |
KR (1) | KR101369996B1 (zh) |
CN (1) | CN101253468A (zh) |
TW (1) | TWI327274B (zh) |
WO (1) | WO2007019075A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508782A (zh) * | 2011-09-29 | 2012-06-20 | 北京星网锐捷网络技术有限公司 | 数据读写方法、装置、存储体及网络设备 |
CN108334282A (zh) * | 2017-12-28 | 2018-07-27 | 宁德时代新能源科技股份有限公司 | 汽车电子控制单元的程序文件下载方法和装置 |
CN110334057A (zh) * | 2013-11-08 | 2019-10-15 | 德州仪器公司 | 文件存取方法及其系统 |
CN112395260A (zh) * | 2020-11-11 | 2021-02-23 | 苏宁云计算有限公司 | 一种数据存储方法及介质 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7108975B2 (en) * | 2001-09-21 | 2006-09-19 | Regents Of The University Of Michigan | Atlastin |
KR101404083B1 (ko) * | 2007-11-06 | 2014-06-09 | 삼성전자주식회사 | 반도체 디스크 및 그것의 동작 방법 |
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 |
JP2006338371A (ja) * | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US7984084B2 (en) | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7702821B2 (en) | 2005-09-15 | 2010-04-20 | Eye-Fi, Inc. | Content-aware digital media storage device and methods of using the same |
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 |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
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 |
US8209461B2 (en) | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
US7739444B2 (en) | 2006-12-26 | 2010-06-15 | Sandisk Corporation | System using a direct data file system with a continuous logical address space interface |
JP4991320B2 (ja) * | 2007-01-12 | 2012-08-01 | 株式会社東芝 | ホスト装置およびメモリシステム |
US7966355B2 (en) * | 2007-02-13 | 2011-06-21 | Modu Ltd. | Interface for extending functionality of memory cards |
CN100458699C (zh) * | 2007-04-10 | 2009-02-04 | 北京中星微电子有限公司 | 一种实现固件更新的方法和系统 |
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 |
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 |
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 |
US20090055351A1 (en) * | 2007-08-24 | 2009-02-26 | Microsoft Corporation | Direct mass storage device file indexing |
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 |
US20090171911A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il, Ltd. | Data indexing by local storage device |
US9098506B2 (en) * | 2008-01-02 | 2015-08-04 | Sandisk Il, Ltd. | Data indexing by local storage device |
CN101960426A (zh) * | 2008-01-02 | 2011-01-26 | 桑迪士克以色列有限公司 | 具有直接用户访问的存储装置 |
US8452927B2 (en) * | 2008-01-02 | 2013-05-28 | Sandisk Technologies Inc. | Distributed storage service systems and architecture |
US8370402B2 (en) | 2008-01-02 | 2013-02-05 | Sandisk Il Ltd | Dual representation of stored digital content |
US8583878B2 (en) * | 2008-01-02 | 2013-11-12 | Sandisk Il Ltd. | Storage device having direct user access |
CN101547161B (zh) * | 2008-03-28 | 2012-09-26 | 阿里巴巴集团控股有限公司 | 文件夹传输系统、文件夹传输装置及文件夹传输方法 |
US20100070544A1 (en) * | 2008-09-12 | 2010-03-18 | Microsoft Corporation | Virtual block-level storage over a file system |
US20100082869A1 (en) * | 2008-09-26 | 2010-04-01 | Rockwell Automation Technologies, Inc. | Stackable i/o modules appearing as standard usb mass storage devices |
KR20100054402A (ko) * | 2008-11-14 | 2010-05-25 | 삼성전자주식회사 | 스토리지를 갖는 컴퓨팅 장치와, 상기 스토리지에 대한 관리 장치 및 방법과, 파일 시스템이 기록된 기록 매체 |
US8880776B2 (en) * | 2008-12-16 | 2014-11-04 | Sandisk Il Ltd. | Data access at a storage device using cluster information |
GB0823162D0 (en) * | 2008-12-18 | 2009-01-28 | Solarflare Communications Inc | Virtualised Interface Functions |
US8468007B1 (en) | 2010-08-13 | 2013-06-18 | Google Inc. | Emulating a peripheral mass storage device with a portable device |
JP5010723B2 (ja) * | 2010-09-22 | 2012-08-29 | 株式会社東芝 | 半導体記憶制御装置 |
US9542122B2 (en) | 2014-10-23 | 2017-01-10 | Seagate Technology Llc | Logical block addresses used for executing host commands |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896262A (en) * | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
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 |
US4761737A (en) * | 1986-01-16 | 1988-08-02 | International Business Machines Corporation | Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system |
JP3015377B2 (ja) | 1988-08-26 | 2000-03-06 | 株式会社東芝 | Icカード |
EP0618535B1 (en) * | 1989-04-13 | 1999-08-25 | SanDisk Corporation | EEPROM card with defective cell substitution and cache memory |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US5778418A (en) | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of 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 | フラッシュ・メモリ使用方法 |
US5628014A (en) * | 1992-03-20 | 1997-05-06 | Paranode, Inc. | Methods and apparatus for node caching at the file level |
JPH0778766B2 (ja) * | 1992-09-25 | 1995-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置 |
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 |
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
US6078520A (en) * | 1993-04-08 | 2000-06-20 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
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 |
US5636355A (en) * | 1993-06-30 | 1997-06-03 | Digital Equipment Corporation | Disk cache management techniques using non-volatile storage |
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 | 사토 후미오 | 불휘발성 반도체 기억장치 |
US5542066A (en) | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
US6125578A (en) | 1994-05-03 | 2000-10-03 | Southpac Trust International, Inc. | Floral sleeve having expandable sidewalls |
US6341293B1 (en) * | 1994-07-13 | 2002-01-22 | Object Technology Licensing Corp | Real-time computer “garbage collector” |
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 |
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
JP2669365B2 (ja) | 1994-11-24 | 1997-10-27 | 日本電気株式会社 | 書換え可能なromファイル装置 |
US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
US5708846A (en) * | 1995-02-24 | 1998-01-13 | Intel Corporation | System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence |
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US8171203B2 (en) * | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
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 |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US6014724A (en) * | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision 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 |
US5754888A (en) * | 1996-01-18 | 1998-05-19 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment |
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 |
US5848420A (en) * | 1996-06-14 | 1998-12-08 | Eastman Kodak Company | System and method for accessing data of a digital camera from a personal computer |
US5978893A (en) | 1996-06-19 | 1999-11-02 | Apple Computer, Inc. | Method and system for memory management |
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 |
JPH1069420A (ja) | 1996-08-29 | 1998-03-10 | Sony Corp | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 |
US5798968A (en) | 1996-09-24 | 1998-08-25 | Sandisk Corporation | Plane decode/virtual sector architecture |
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 |
US5890192A (en) * | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US5953538A (en) | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
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 |
NO973993L (no) * | 1997-09-01 | 1999-03-02 | Opticom As | Leseminne og leseminneinnretninger |
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 |
US6424486B2 (en) | 1997-12-17 | 2002-07-23 | Texas Instruments Incorporated | Method and apparatus for positioning a read/write head of a hard disk drive |
US6493811B1 (en) | 1998-01-26 | 2002-12-10 | Computer Associated Think, Inc. | Intelligent controller accessed through addressable virtual space |
US6466973B2 (en) | 1998-03-06 | 2002-10-15 | Adaptec, Inc. | Method and system for managing storage devices over a network |
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 |
US6286056B1 (en) | 1998-06-26 | 2001-09-04 | Seagate Technology Llc | Data storage device with small computer system interface providing persistent reservations |
US6223271B1 (en) * | 1998-07-15 | 2001-04-24 | Compaq Computer Corp. | System and method for detecting system memory size using ROM based paging tables |
US6490649B2 (en) | 1998-11-10 | 2002-12-03 | Lexar Media, Inc. | Memory device |
JP2000148546A (ja) | 1998-11-10 | 2000-05-30 | Nec Corp | データ入出力装置およびデータ入出力方法、並びに記録媒体 |
US6408357B1 (en) * | 1999-01-15 | 2002-06-18 | Western Digital Technologies, Inc. | Disk drive having a cache portion for storing write data segments of a predetermined length |
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 |
US6370614B1 (en) * | 1999-01-26 | 2002-04-09 | Motive Power, Inc. | I/O cache with user configurable preload |
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 | 소니 가부시끼 가이샤 | 기록방법, 관리방법 및 기록장치 |
IE20000203A1 (en) * | 1999-03-25 | 2001-02-21 | Converge Net Technologies Inc | Storage domain management system |
US6427186B1 (en) | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
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 |
US6504846B1 (en) * | 1999-05-21 | 2003-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for reclaiming buffers using a single buffer bit |
US6389433B1 (en) * | 1999-07-16 | 2002-05-14 | Microsoft Corporation | Method and system for automatically merging files into a single instance store |
JP3863330B2 (ja) * | 1999-09-28 | 2006-12-27 | 株式会社東芝 | 不揮発性半導体メモリ |
US7181608B2 (en) * | 2000-02-03 | 2007-02-20 | Realtime Data Llc | Systems and methods for accelerated loading of operating systems and application programs |
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 |
US7155559B1 (en) * | 2000-08-25 | 2006-12-26 | Lexar Media, Inc. | Flash memory architecture with separate storage of overhead and user data |
US20020078002A1 (en) * | 2000-08-25 | 2002-06-20 | Bottomley Thomas Mark Walter | Memory garbage collection method and apparatus |
JP3726663B2 (ja) | 2000-09-07 | 2005-12-14 | 日産自動車株式会社 | 電子制御装置の制御データ記憶装置 |
US6629809B2 (en) * | 2000-11-08 | 2003-10-07 | Termax Corporation | Sheet metal fastener with multiple engagement |
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 |
JP4523150B2 (ja) * | 2000-12-27 | 2010-08-11 | レノボ シンガポール プライヴェート リミテッド | データサーバシステム、コンピュータ装置、記憶媒体 |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP3631463B2 (ja) | 2001-12-27 | 2005-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6631453B1 (en) | 2001-02-14 | 2003-10-07 | Zecurity | Secure data storage device |
JPWO2002071269A1 (ja) * | 2001-03-02 | 2004-07-02 | 日本精工株式会社 | インターネットによる特許または実用新案の情報検索管理システム |
US6631456B2 (en) | 2001-03-06 | 2003-10-07 | Lance Leighnor | Hypercache RAM based disk emulation and method |
US20020188592A1 (en) * | 2001-06-11 | 2002-12-12 | Storage Technology Corporation | Outboard data storage management system and method |
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 |
US6842843B1 (en) * | 2001-06-29 | 2005-01-11 | Emc Corporation | Digital data storage subsystem including arrangement for increasing cache memory addressability |
GB0116116D0 (en) * | 2001-06-30 | 2001-08-22 | Koninkl Philips Electronics Nv | Receiver apparatus and method |
US6625081B2 (en) | 2001-08-13 | 2003-09-23 | Micron Technology, Inc. | Synchronous flash memory with virtual segment architecture |
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 |
GB0123416D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
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 | 株式会社東芝 | メモリカードを制御するための装置および方法 |
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 |
WO2003073203A2 (en) * | 2002-02-21 | 2003-09-04 | 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 |
US6766432B2 (en) | 2002-05-24 | 2004-07-20 | Sun Microsystems, Inc. | Memory management system supporting object deletion in non-volatile memory |
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 |
US7263108B2 (en) * | 2002-08-06 | 2007-08-28 | Netxen, Inc. | Dual-mode network storage systems and methods |
US7249352B2 (en) * | 2002-08-22 | 2007-07-24 | International Business Machines Corporation | Apparatus and method for removing elements from a linked list |
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
US6646948B1 (en) | 2002-08-29 | 2003-11-11 | Motorola, Inc. | Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time |
US6895486B2 (en) * | 2002-08-29 | 2005-05-17 | Micron Technology, Inc. | Linear object management for a range of flash memory |
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 |
KR20050118731A (ko) * | 2003-04-14 | 2005-12-19 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 유니버셜 드라이브장치용 포맷 매핑 방식 |
JP4131514B2 (ja) * | 2003-04-21 | 2008-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークシステム、サーバ、データ処理方法及びプログラム |
JP3766396B2 (ja) * | 2003-04-21 | 2006-04-12 | 株式会社東芝 | メモリ制御装置およびメモリ制御方法 |
US6906961B2 (en) * | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
US20050125603A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | Method for rapid availability of critical data through re-allocation |
US20050125602A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | HDD with storage of critical data in FLASH |
US20050125600A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | Method for storing HDD critical data in flash |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
JP2005293478A (ja) * | 2004-04-05 | 2005-10-20 | Hitachi Ltd | 記憶制御システム、記憶制御システムに備えられるチャネル制御装置、データ転送装置 |
US20060004951A1 (en) * | 2004-06-30 | 2006-01-05 | Rudelic John C | Method and apparatus to alter code in a memory |
US8607016B2 (en) * | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US7395384B2 (en) * | 2004-07-21 | 2008-07-01 | Sandisk Corproation | Method and apparatus for maintaining data on non-volatile memory systems |
US8375146B2 (en) * | 2004-08-09 | 2013-02-12 | SanDisk Technologies, Inc. | Ring bus structure and its use in flash memory systems |
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 |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
-
2005
- 2005-08-03 US US11/196,168 patent/US7627733B2/en active Active
-
2006
- 2006-07-27 JP JP2008525046A patent/JP5178514B2/ja not_active Expired - Fee Related
- 2006-07-27 EP EP06788725.7A patent/EP1920316B1/en not_active Not-in-force
- 2006-07-27 CN CNA2006800283080A patent/CN101253468A/zh active Pending
- 2006-07-27 KR KR1020087005250A patent/KR101369996B1/ko active IP Right Grant
- 2006-07-27 WO PCT/US2006/029306 patent/WO2007019075A2/en active Application Filing
- 2006-08-02 TW TW095128233A patent/TWI327274B/zh not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508782A (zh) * | 2011-09-29 | 2012-06-20 | 北京星网锐捷网络技术有限公司 | 数据读写方法、装置、存储体及网络设备 |
CN102508782B (zh) * | 2011-09-29 | 2014-09-10 | 北京星网锐捷网络技术有限公司 | 数据读写方法、装置、存储体及网络设备 |
CN110334057A (zh) * | 2013-11-08 | 2019-10-15 | 德州仪器公司 | 文件存取方法及其系统 |
CN110334057B (zh) * | 2013-11-08 | 2023-10-20 | 德州仪器公司 | 文件存取方法及其系统 |
CN108334282A (zh) * | 2017-12-28 | 2018-07-27 | 宁德时代新能源科技股份有限公司 | 汽车电子控制单元的程序文件下载方法和装置 |
CN108334282B (zh) * | 2017-12-28 | 2021-07-09 | 宁德时代新能源科技股份有限公司 | 汽车电子控制单元的程序文件下载方法和装置 |
CN112395260A (zh) * | 2020-11-11 | 2021-02-23 | 苏宁云计算有限公司 | 一种数据存储方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20080043806A (ko) | 2008-05-19 |
TWI327274B (en) | 2010-07-11 |
KR101369996B1 (ko) | 2014-03-06 |
US20070033373A1 (en) | 2007-02-08 |
WO2007019075A3 (en) | 2007-05-03 |
EP1920316B1 (en) | 2018-03-14 |
JP2009503730A (ja) | 2009-01-29 |
TW200719143A (en) | 2007-05-16 |
JP5178514B2 (ja) | 2013-04-10 |
EP1920316A2 (en) | 2008-05-14 |
US7627733B2 (en) | 2009-12-01 |
WO2007019075A2 (en) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101253468A (zh) | 用于存储装置的双模式存取的方法和系统 | |
US8209516B2 (en) | Method and system for dual mode access for storage devices | |
US10126959B2 (en) | 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 | |
US7769978B2 (en) | Method and system for accessing non-volatile storage devices | |
US7480766B2 (en) | Interfacing systems operating through a logical address space and on a direct data file basis | |
US7949845B2 (en) | Indexing of file data in reprogrammable non-volatile memories that directly store data files | |
US7669003B2 (en) | Reprogrammable non-volatile memory systems with indexing of directly stored data files | |
US7793068B2 (en) | Dual mode access for non-volatile storage devices | |
KR101453264B1 (ko) | 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템 | |
US8880483B2 (en) | System and method for implementing extensions to intelligently manage resources of a mass storage system | |
US7681008B2 (en) | Systems for managing file allocation table information | |
CN101213510A (zh) | 用于管理存储装置中的分区的方法和系统 | |
KR101378031B1 (ko) | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 | |
KR20090108694A (ko) | 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법 | |
KR20080038368A (ko) | 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱 | |
KR20090108695A (ko) | 다이렉트 데이터 파일 메모리 시스템에서 lba 인터페이스를 관리하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |