CN1078364C - 存储器管理方法 - Google Patents

存储器管理方法 Download PDF

Info

Publication number
CN1078364C
CN1078364C CN94102329A CN94102329A CN1078364C CN 1078364 C CN1078364 C CN 1078364C CN 94102329 A CN94102329 A CN 94102329A CN 94102329 A CN94102329 A CN 94102329A CN 1078364 C CN1078364 C CN 1078364C
Authority
CN
China
Prior art keywords
unit
address
write
physical
blank
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 - Lifetime
Application number
CN94102329A
Other languages
English (en)
Other versions
CN1098526A (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.)
Milsys Ltd
Original Assignee
Sandy Israel Co ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21835870&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1078364(C) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sandy Israel Co ltd filed Critical Sandy Israel Co ltd
Publication of CN1098526A publication Critical patent/CN1098526A/zh
Application granted granted Critical
Publication of CN1078364C publication Critical patent/CN1078364C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

一种闪速存储器,虚拟映射系统允许数据可被连续地写入空白的物理地址单元。虚拟存储图和闪速存储器的物理单元地址相关,以跟踪数据在存储器里的位置。

Description

存储器管理方法
本发明涉及一种改进的在闪速存储器(flash memory)里存储和检索信息的系统,更具体地涉及一种组织和管理写入闪速存储器的数据的系统。
正如本领域的一般技术人员所了解的那样,由闪速型、浮栅晶体管组成的电可擦可编程只读存储器(EEPROM)已得到技术上的说明而且目前在商业上是可得到的。这些所谓的闪速存储器是在功能上和性能上与EPROM存储器相类似的非易失性存储器,并具有额外的功能性即可允许电路内、可编程操作来擦除存储器块。在闪速存储器中在之前不先对该区域进行块擦除而要对以前已写过的存储器区域进行重写是不实际的。尽管本发明描述于闪速存储器情况,但是本领域的一般技术人员可以理解该技术内容同样可应用于那些具有类似于闪速存储器的写、读和写之前块擦除特性的数据存储部件。
在典型的计算机系统里,操作系统程序负责对作为系统一部分的数据存储部件的数据管理。数据存储部件能和操作系统程序相容的一个必要的、通常是充分的特性是它能对数据存储媒体的任何位置读出数据和写入数据。这样,闪速存储器和典型的现存操作系统程序是不相容的,因为数据不能写到闪速存储器那些先前已被写进过数据的区域,除非这些区域首先被擦除。
现在技术中已提出用软件产品在不必修改现有的操作系统程序下允许现有的计算机操作程序来管理闪速存储器。但是,这些现有技术的程序把闪速存储器作为“写一次读多次”的部件来运行。现有技术的软件产品不能够重复利用以前已写过的位置。当所有的位置最终写完后如果没有特定的用户干预存储器不能得到进一步的使用。
本发明的目的是提供一种控制和管理闪速存储器存取的方法(软件,硬件的固件),使得对计算机操作系统而言闪速存储器好象是一个数据存储部件,因而有可能对闪速存储器的任何单元读出数据和写进数据。一种允许闪速存储器仿真随机存取存储器和允许现有计算机操作系统提供所有其它所需支持的方法,这种支持和标准随机存取存储器提供的支持具有相同的方式并和仿真方法无关。
简言之,本发明设想提供一种闪速存储器虚拟映射系统,它允许数据被连续写入空白的物理地址单元。虚拟存储器图和闪速存储器物理单元地址相关,以跟踪数据在存储器里的位置。
闪速存储器的物理位置组织为字节阵列。阵列里的各个字节被分配若干地址(anumber of),用这个方法该字节是物理上可存取的,本文中称之为物理地址空间。阵列中的各个字节具有第二个地址,称为虚拟地址空间。一个称为虚拟图的表把虚拟地址转换为物理地址。在这里须注意,虚拟地址空间不必具有和物理地址空间相同的规模。
相连的、固定长度的物理字节地址组形成块。例如,假设块的长度为512个字节,具有物理地址256211的字节是块500中的211号字节(256211∶512=500+211)。一个或多个物理上相连的闪速存储器区域(称为区)组成单元,该区域可用适当的现有闪速存储器技术物理地擦除,每个单元包含整数的块。
虚拟存储器图是一个表,其中第一项目属于虚拟块0,第二个项目属于虚拟块1,依此类推。有一相应的物理地址和表中各个虚拟块地址相关联。在读闪速存储器的操作中,计算机生成的地址译码为虚拟块地址和该块中的字节位置。虚拟存储器图用来把虚拟块地址转换为物理块地址;在虚拟地址空间和物理地址空间中字节的位置相同。
在写操作中,计算机生成的地址再次解释为虚拟块地址和块中的字节位置。虚拟存储器图把它转换成物理存储器块地址。如果对应于该物理地址的闪速存储器块当前已被写过,则通常不可能对该物理地址进行写。一个空白的块则被定位并被写入。虚拟存储器图被改变,使得空白的物理块地址变换给原来的虚拟地址,而原来的物理地址标志为不可使用的并保持为不可使用,直到区擦除操作擦除包含该块的单元为止。要注意写操作假设整个块可被重写。这是计算机系统通常在存储媒体中存取数据的方式。但是,将会理解通常任何所需数据数量的字节可被写进新的存储位置。
本发明的最佳实施例中,对各个单元分配了一个逻辑单元地址,该逻辑单元地址在该单元被重写到闪速存储器的新的物理地址位置时保持不变。“虚拟图”包含对逻辑单元地址的引用而不是对物理单元地址的引用,这样单元转移期间的数据移动不会影响虚拟图。
各个单元具有使用图,它包括该单元的所有的块,块的虚拟地址,如果它(单元)被映射,还包括标志自由块和标志不可使用块的特定字符。
通过把包括不可使用块的存储器单元转移到闪速存储器的保留空白空间,以前写过的闪速存储器的不可使用块被回收。只有可使用块在转移操作中被写入,这样,当重写时,不可使用块的位置不被重写到保留空间,进而成为可使用的。在重写之后,原来的存储器单元空间被闪速擦除为一个单元并且变为空白保留空间对它可进行后续的转移。
此外,在本发明的最佳实施例中,虚拟图主要是存储在闪速存储器里只有少量的次要虚拟映射存储在随机存取存储器里。闪速存储器的虚拟图存储在块中并按页面组织,页面的长度等于块中字节数量乘以字节所代表的物理块地址数量的乘积。次要的随机存取存储器包含页面地址。当对一给定的虚拟地址读数据时,通过地址被页面长度除来确定页面号。该结果索引次要的虚拟图来寻找正确的主要虚拟图块。余数被存储在闪速存储器里的虚拟图用来计算所需的物理地址。为改变闪速存储器里的虚拟图,改变后的图写入到自由块并且随机存取存储器的次要图,也被改变以反映主要图位置里的变化,被替换的块被标记为删除。
通过下述对本发明最佳实施例的说明并参照附图可对上述的和其它的目的、概念和优点得到更好的理解,附图为:
图1是一个方块图,说明按照本发明技术内容的一个系统实施例中系统的功能部件。
图2是按照本发明的技术内容的闪速存储器组织的一层图示。
图3图示一个单元是如何格式的。
图4图示说明计算机产生的地址是怎样变换为物理地址的。
图5是说明读操作的流程图。
图6是说明写操作的流程图。
图7图示说明在转移操作之前和之后的一个单元的状态。
图8为转移操作的流程图。
图9为一个流程图,说明把虚拟对物理图的主要部分存入闪速存储器的操作。
现参照附图1,在一个典型的系统里,处理器10结合其操作系统软件发出一系列读和写命令,对随机存取存储器的特定地址单元读写数据。如本领域的一般技术人员所理解的那样,在随机存取存储器部件里,诸如磁盘存储器,数据可被写或读到任何地址单元。在图1的系统里,处理器10对闪速存储器12中的特定地址单元按块写入数据和读出数据。尽管闪速存储器12的区可被擦除,但是当前已写地址单元不能被重写,除非整个区被擦除。根据本发明的技术内容,闪速存储器控制器14提供一个完整的可重写虚拟地址空间,这样闪速存储器仿真为一个随机存取存储器,如磁盘存储器,并且处理器操作系统软件按照它对标准随机存取存储器提供运行支持的相同方式和按照一种和闪速存储器12和其控制器14无关的方式提供所有其它必需的运行支持(例如文件系统)。典型的系统还包括一个常规的随机存取存储器16。可以理解控制器14的功能由软件、硬件的固件来实现,这就不再需要如图中所建议的那样存在一个物理上分离的装置。
现看图2,它部分地表示闪速存储器的组织。闪速存储器具有若干区,在这里标号为区A和区B等。每个区由许多相连的物理存储位置所组成,它们可利用常规的、周知的闪速存储器技术来进行块擦除。区组织为单元,图中只显示了4个单元,标号为1号单元、6号单元,单元N—1和转移单元。每个单元至少由多个相连区中的一个区组成。如在这里所图示的,每个单元由2个区组成(即,1号单元—区A和区B;2号单元—区C和区D;转移单元—区xz和区zy)。
每个单元由整数个可寻址块组成并且每个块本身又由相连的固定长度字节组所组成。在所有的时候,在存储器12里总有一个单元是空白的(即转移单元),这样在擦除一个单元之前可把该要擦除单元中的有效块写进到该空白单元中。
现有图3,每个单元含有整数的相连数据块21,块反过来又由相连的字节地址组成,字节地址可编址为块号和在块中的偏移。单元里的各个块可编址为块号和在单元中的偏移。每个单元具有一个单元标题23及单元里各块的分配状态图25。单元标题23包括格式标识符和单元的逻辑单元号。因为数据在单元转移期间必须物理地运动,即使单元的物理位置在闪速存储器中发生变化单元号最好保持不变。另外,标题还可包括系统范围的信息。块分配图25对每个块具有一个字,它标记块的状态和块在单元里的偏移。状态指示为“块自由和可写”,“块删除和不可写”,“块分配和含有用户数据”以及块的虚拟地址(背面指针)。
如前所述,最好每个单元被分配一个不变的逻辑单元号,即使单元在存储器里的物理位置改变了该逻辑单元号也不变。如图4所示,计算机10生成地址29由块号和块偏移组成。这些地址被闪速控制器14解释为虚拟地址,而虚拟图用来建立虚拟地址空间和物理地址空间之间的对应。当块重写时虚拟图改变从而虚拟地址空间是动态的。还要注意,在任何给定时刻,虚拟地址空间的一个块或多个块可能不映射到物理地址空间,在物理地址空间里的块可能是空白的,因而可被自由写入。
因为在单元转移到空白单元空间期间数据物理上移动,单元分配有逻辑单元号,当单元在存储器的物理位置变化时逻辑单元号不变。虚拟图31在二级地址转换的第一步中把块号映射为逻辑单元地址。逻辑单元地址是一个和逻辑单元号相关的地址,类似于物理地址,物理地址是和物理单元号相关的一个地址。逻辑单元号是逻辑地址的高位二进制数字,并且可通过位移位操作从逻辑地址中导出。从图31中得到的逻辑地址33包括逻辑单元号和在单元中块的偏移。
逻辑单元表35把逻辑单元号翻译为逻辑单元的物理单元号。双步地址转换过程消除了当一个单元移动到新的物理位置时改变块地址的要求。
在读操作中由块地址组成的虚拟地址,例如,最初被映射为逻辑单元号和寻址块中在这单元里的块偏移。图35把单元号33映射为单元的物理地址37以及该寻址块在该单元里的偏移37,这样该寻址数据块从这物理位置读出。这里假定象一般情况那样以块为单位读和写数据。当然,如果需要以字节为单位的数据读和写可采用相同的原则。图5是一个流程图,说明该读操作。如前面所解释的,虚拟地址29在双步地址变换的第一步中映射为逻辑地址(块40)。在第二步中,逻辑地址映射为闪速存储器里的物理地址(块41)。在该物理地址上的数据被读(块42),然后结束该操作。
在写操作中,虚拟地址29再次首先映射为逻辑单元号和在该单元中的块偏移。控制器14算法为该单元检查块分配表25。如果对应于该地址的块已被写入,则写命令不能在该对应的物理位置上执行。控制算法扫描各个单元的分配表25,直到一个自由块被找到为止。块图25中原来单元地址上的块的状态被改变以在分配图中删除这个块,而自由块的状态改变为已写。虚拟图31被更新,以使原来的虚拟地址现在指向写操作发生处的新逻辑地址。按前面所描述的方式,该逻辑地址映射为物理地址,对这个地址进行块写入。图6是说明写操作的流程图。在写操作中虚拟地址29映射为逻辑单元地址(块45),并对该单元的单元分配进行检查(块46)。如果在判定块47里该单元地址是自由的,则该单元地址映射为物理地址(块48),数据写进该物理地址(块49),然后操作结束。如果逻辑地址是不自由的(块47),则单元表被扫描以定位单元分配表中的自由地址(块50)。该新逻辑地址映射为物理地址(块51),数据被写入这个物理地址(块52)。单元分配表被更新(块53),以表明原来的块被删除并是不可写的,而且新的块被分配并含有用户数据。虚拟对逻辑地址图也被更新,以指向与原来虚拟地址相对应的数据的新的物理地址(块54和块55)。
为允许读和写操作可不受限制连续进行,物理存储空间周期性地回收。如前面所述,在所有时刻至少一个存储器单元是保留的,这样它完整地组成一个自由块并且用作为转移单元。
现有图7,一个有效单元被选择(这里是单元M),而且它的所有当前映射有效块被读并被写入转移单元。选定的单元M然后进行块擦除,并且它变成转移单元,同时有效块写入的转移单元在本例中变成单元M。图7说明这些单元在转移操作之前和之后的状态。图8是转移操作的流程图。在转移操作中一个单元被选择以供转移(块60),该选定单元的有效数据块被读(块61)。这些有效数据块然后被写进转移块中与原来块中位置相对应的位置上(块62)。所选择的原来块然后被闪速擦除(块63),并且逻辑对物理地址图被改变使得选定的单元变为转移单元并且把选定单元的单元号分配给转移单元(块64)。
迄今所描述的系统需要一个内容可自由更新的虚拟变换图,这个图可存储在常规的随机存取存储器里。但是,作为例子,假设块的长度为512字节,因为虚拟图含有各块的一条项目,而各条项目可能为例如4字节长(即可编址可达4GB存储器),一个80兆字节的闪速存储器将需640K字节的存储器来存储图表。为了减少存贮虚拟图所需的随机存取存储器的总量,在本发明的最佳实施例中,该图数据的主要部分存储在闪速存储器的本身里,而把计算机的虚拟地址映射为主要虚拟图的次要虚拟图被存储在随机存取存储器里,比如存储器16。这里要提出一个重要的观点,即次要虚拟图的排列使得读和写虚拟图的过程和前面叙述的读和写常规数据的过程是相同的。对虚拟图自身的处理等同于上述的对用户数据的处理方式,并且存储在随机存取存储器里的虚拟图(即次要虚拟图)等同于前面所描述的虚拟图。
在本实施例中,虚拟图在闪速存储器12里的负虚拟地址里驻留;常规空间从虚拟地址零开始。虚拟图映射它自身使用的负地址,这样驻留在闪速存储器的虚拟图可象常规用户数据一样被读和被写,只有虚拟图中映射它本身的那一部分(即次要虚拟图)驻留在随机存取存储器里。
在一简化的例子里,假设6000字节的虚拟图存储在12个虚拟图块里,每块512字节。假设为4字节地址,每个块可存储128个物理地址。这样,每个块包含64K字节虚拟闪速存储器地址。各个虚拟闪速存储器地址块被认为是一个页面,而随机存取存储器存储页面地址,(本例中,只有48字节),页面地址映射到地址块。。当从一给定虚拟地址读数据时,该地址除以页面长度(64K字节)以得到次要虚拟存储器里的页面号,该页面号和主要虚拟图里存储该地址的页面块相映射。利用该虚拟存储器页面块,映射特定闪速存储器物理地址的过程可按已说明的方式进行。作为例子,当虚拟地址除以页面长度后,余数可除以虚拟存储块长度(即512)以得到从闪速存储器读出的对地址阵列的索引。
当按给定虚拟地址写数据时,计算机生成的地址同样除以页面长度以获得闪速存储器里对次要虚拟图的索引。次要虚拟图映射到主要虚拟图,在那里主要虚拟图块被读;这是用来映射到被寻址的物理块,在那里进行读。如果该块不能被重写,一个空白块被识别并按前面叙述的方式写入,同时原来的数据块标记为删除。为更新驻留于闪速存储器里的虚拟图,本质上仿照同样的过程。虚拟图块,其修改形式反映地址数据新的物理位置,被写入到闪速存储器的空白块并且旧块被标记为删除。如需要,在随机存取存储器里的次要虚拟存储也被改变以反映主要虚拟存储块位置的变化。
图9是该操作的流程图。该进程的第一步是把虚拟地址转换为页面号(块70),并利用这个页面号来定位RAM16中与存储在闪速存储器里的虚拟图相关页面块对应的地址(块71)。从闪速存储器读出该地址的虚拟图页面块(块72),并按前述方法使用,为数据读或数据写操作的虚拟地址定位对应的物理地址。在数据写操作中,虚拟图页面块必须更新(块73)并且更新的页面块虚拟图被写入自由的闪速存储器物理地址位置(块74)。页面块虚拟图所位于的原闪速存储器地址被标记为删除(块75),而RAM存储器16被更新,以为更新过的图指出虚拟对物理图地址(块76)。
系统启动时很容易重建虚拟图。驻留在闪速存储器里的虚拟图是非易失性的,不必重建。驻留在易失性随机存取存储器里的次要虚拟图在启动时可通过扫描驻留在各单元顶部的块使用图进行重建。标记为和虚拟地址相映射的块被识别,因此可相应地构建次要虚拟图。
尽管本发明是按单个最佳实施例来说明的,本领域的一般技术人员可认识到本发明可按所附权利要求书中所叙述的精神和范围修改实施。

Claims (6)

1.一种存储器管理方法,在该存储器中,只能在空白物理存储位置中写入数据,并且可以同时擦除邻接的存储位置的一个区,包括以下步骤:
将该存储器组织成多个单元,每个单元包含至少一个区;
将每个单元组织成多个块,每个块由多个邻接的物理存储位置组成;
为每个单元建立一个分配表,分配表指示一个单元中每块的状态,状态为有效写入、空白或删除;
建立一个用于把虚拟地址映射为一个单元内的物理地址的表;
在按虚拟地址向所述存储器写入数据时:
(a)将所述虚拟地址映射为一个单元内的物理块地址;
(b)检查在步骤(a)中所述虚拟地址已映射到其上的所述
单元的所述分配表,确定在所述物理块地址的一个块
的状态是有效写入、空白或者删除;
(c)如果在所述物理块地址的所述块是有效写入或删除
状态:
(1)检查至少一个单元的所述分配表,以识别一个
空白块地址;
(2)将所述数据写入到所述存储器中的所述空白块
地址;
(3)改变所述虚拟地址已映射到其上的所述单元的
所述分配表,将所述物理块地址标明为删除;
(4)改变在步骤(c)(2)中已将所述数据写入其中的
一个单元的所述分配表,将已在其中写入所述数据的
所述空白块地址标明为写入;
(5)改变所述用于将虚拟地址映射为一个单元内的
物理地址的表,从而所述表将所述虚拟地址映射为已
在步骤(c)(2)中将所述数据写入其中的所述空白块的
物理地址;
在所述存储器中建立一个转移单元,其中所述单元的所有块都是空白的;
周期性地识别一个除所述转移单元之外的、选定为要被擦除的单元;
读所述选定单元中的每个有效写入块;
将所述选定单元中的每个有效写入块写入所述转移单元;
更新所述转移单元分配表,将已在前一写入步骤写入的块的状态标明为写入;
擦除所述选定块;
更新虚拟地址对物理地址的所述表,将所述选定单元指示为一个转移单元,并用所述选定单元的单元标识符指示所述转移单元。
2.一种存储器管理方法,在该存储器中,只能在空白物理存储位置中写入数据,并且可以同时擦除邻接的存储位置的一个区,包括以下步骤:
将虚拟地址映射为物理地址,并且将所得到的映射的第一张表存储在所述存储器中;
将存储在所述存储器中的所述第一张表分段为多段页可寻址块;
将页地址映射为物理地址,并且将所述页可寻址块的第二张表存储在所述存储器中;
在向存储器写入时,通过将一个被改变的页可寻址块写入空白物理块位置,来改变所述存储器中存储的所述第一张表中的一个页可寻址块;以及
更新存储在所述随机存取存储器中的所述第二张表,使得该表将被改变的页可寻址块的页地址映射到在其中已经写入所述被改变的页可寻址块的空白物理块位置。
3.一种存储器管理方法,在该存储器中,只能在空白物理存储位置中写入数据,并且可以同时擦除邻接的存储位置的一个区,包括以下步骤:
将该存储器组织成多个单元,每个单元包含至少一个区;
将每个单元组织成多个块,每个块由多个邻接的物理存储位置组成;
建立用于将虚拟地址映射为一个单元内的物理地址的第一张表;
在所述存储器中存储所述第一张表,所述第一张表被分段为页可寻址块;
在随机存取存储器中存储第二张表,所述第二张表用于将页地址映射为在所述存储器中存储的所述页可寻址块的物理地址;
在按虚拟地址向所述存储器写数据时:
(a)从所述虚拟地址导出一个页地址;
(b)将所述页地址映射到所述存储器中的所述页可寻址块;
(c)从一个虚拟地址读所述第一张表的一个段;
(d)将所述虚拟地址映射到一个物理地址;
(e)如果在所述物理地址的所述块处于有效写入状态:
(1)将所述数据写入所述存储器中的一个空白块地址;
(2)改变所述第一张表的段,使得所述第一张表将所述虚
拟地址映射为已经在步骤(e)(1)在其中写入所述数据
的空白块的物理地址;
(3)将步骤(e)(2)得到的被改变的第一张表的段写入所述
存储器中的一个空白物理块位置;
(4)更新存储在所述随机存取存储器中的所述第二张表,
使得所述第二张表映射了所述空白物理块位置的被
改变的第一张表段的页地址。
4.根据权利要求3的方法,其特征在于还包括以下步骤:
在按虚拟地址从所述存储器读取数据时:
(a)从所述虚拟地址导出一个页地址;
(b)将所述页地址映射到所述存储器中的一个页可寻址块;
(c)读取所述第一张表的一个段,该段将虚拟地址映射为所
述存储器中的所述页可寻址块的物理地址;
(d)将所述虚拟地址映射为一个物理地址;
(e)在所述物理地址从所述存储器读取所述数据。
5.根据权利要求4的方法,其特征在于还包括以下步骤:
在所述存储器中建立一个转移单元,其中所述单元的所有块都是空白的;
周期性地识别一个除所述转移单元之外的、选定为要被擦除的单元;
读所述选定单元中的每个有效写入块;
将所述选定单元中的每个有效写入块写入所述转移单元;
更新所述转移单元的分配表,将前一写入步骤中写入的块的状态标明为写入;
擦除所述被选择的块;
更新虚拟地址对物理地址的所述表,将所述选定单元指示为一个转移单元,并用所述选定单元的单元标识符指示所述转移单元。
6.一种存储器管理方法,在该存储器中,只能在空白物理存储位置中写入数据,并且可以同时擦除邻接的存储位置的一个区,包括以下步骤:
将该存储器组织成多个单元,每个单元包含至少一个区;
将每个单元组织成多个块,每个块由多个邻接的物理存储位置组成;
为每个单元建立一个分配表,分配表指示一个单元中每块的状态,状态为有效写入、空白或删除;
建立一个用于把虚拟地址映射为一个单元内的物理地址的表;
在按虚拟地址向所述存储器写入数据时:
(a)将所述虚拟地址映射为一个单元内的物理块地址;
(b)检查在步骤(a)中所述虚拟地址已被映射到其上的所述
单元的所述分配表,确定在所述物理块地址的块的状态
是有效写入、空白或者删除;
(c)如果在所述物理块地址的所述块是有效写入或删除状
态:
(1)检查所述单元中至少一个的所述分配表,以识
别一个空白块地址;
(2)将所述数据写入到所述存储器中的所述空白块
地址;
(3)改变所述虚拟地址已被映射到其上的所述单元
的所述分配表,将所述物理块地址标明为删除;
(4)改变在步骤(c)(2)中已在其中写入所述数据的
单元的所述分配表,将已在其中写入所述数据的所述
空白块地址标明为有效写入;
(5)改变用于将虚拟地址映射为一个单元内的物理
地址的所述表,从而所述表将所述虚拟地址映射为在
步骤(c)(2)已在其中写入所述数据的所述空白块的物
理地址;
(d)将所述虚拟地址映射为一个单元内的一个物理块地
址:
(e)在所述物理地址从所述存储器读取所述数据;
在所述存储器中建立一个转移单元,其中所述单元的所有块都是空白的;
周期性地识别一个除所述转移单元之外的、选定为要被擦除的单元;
读所述选定单元中的每个有效写入块;
将所述选定单元中的每个有效写入块写入所述转移单元;
更新所述转移单元的分配表,将前一写入步骤中写入的块的状态标明为写入;
擦除所述选定块;
更新虚拟地址的所述表,将所述选定单元指示为一个转移单元,并用所述选定单元的单元标识符指示所述转移单元。
CN94102329A 1993-03-08 1994-03-08 存储器管理方法 Expired - Lifetime CN1078364C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/027,131 US5404485A (en) 1993-03-08 1993-03-08 Flash file system
US027,131 1993-03-08

Publications (2)

Publication Number Publication Date
CN1098526A CN1098526A (zh) 1995-02-08
CN1078364C true CN1078364C (zh) 2002-01-23

Family

ID=21835870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94102329A Expired - Lifetime CN1078364C (zh) 1993-03-08 1994-03-08 存储器管理方法

Country Status (12)

Country Link
US (1) US5404485A (zh)
EP (1) EP0688450B1 (zh)
JP (2) JPH08510072A (zh)
KR (1) KR100292011B1 (zh)
CN (1) CN1078364C (zh)
AU (1) AU6269994A (zh)
DE (1) DE69414556T2 (zh)
FI (1) FI105726B (zh)
IL (1) IL108766A (zh)
TW (1) TW264547B (zh)
WO (1) WO1994020906A1 (zh)
ZA (1) ZA941446B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323358C (zh) * 2004-03-05 2007-06-27 中国科学院计算技术研究所 一种虚拟存储模型及其方法
CN100461134C (zh) * 2007-03-27 2009-02-11 华为技术有限公司 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法

Families Citing this family (560)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5581723A (en) * 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5519843A (en) * 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5479638A (en) * 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5522069A (en) * 1993-04-30 1996-05-28 Zenith Data Systems Corporation Symmetric multiprocessing system with unified environment and distributed system functions
US5600821A (en) * 1993-07-28 1997-02-04 National Semiconductor Corporation Distributed directory for information stored on audio quality memory devices
US5640529A (en) * 1993-07-29 1997-06-17 Intel Corporation Method and system for performing clean-up of a solid state disk during host command execution
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5784706A (en) * 1993-12-13 1998-07-21 Cray Research, Inc. Virtual to logical to physical address translation for distributed memory massively parallel processing systems
SG45399A1 (en) * 1994-01-12 1998-01-16 Sun Microsystems Inc Logically addressable physical memory for a virtual memory computer system that support multiple page sizes
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5765175A (en) * 1994-08-26 1998-06-09 Intel Corporation System and method for removing deleted entries in file systems based on write-once or erase-slowly media
ES2101584T3 (es) * 1994-09-30 1997-07-01 Sel Alcatel Ag Metodo de gestion de una memoria instantanea.
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JP2669365B2 (ja) * 1994-11-24 1997-10-27 日本電気株式会社 書換え可能なromファイル装置
JP3464836B2 (ja) * 1995-01-19 2003-11-10 富士通株式会社 記憶装置のメモリ管理装置
AUPN105495A0 (en) * 1995-02-10 1995-03-09 Aristocrat Leisure Industries Pty Ltd Dram emulator
AU692670B2 (en) * 1995-02-10 1998-06-11 Aristocrat Technologies Australia Pty Limited Dram emulator
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
JP2671860B2 (ja) 1995-03-30 1997-11-05 日本電気株式会社 フラッシュメモリ用ファイルシステム
JPH08328762A (ja) * 1995-06-06 1996-12-13 Mitsubishi Electric Corp 半導体ディスク装置及びそのメモリ管理方法
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
US6081878A (en) * 1997-03-31 2000-06-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
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6978342B1 (en) * 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
DE29513792U1 (de) * 1995-08-28 1995-10-12 Siemens Ag Prozessoreinheit
GB2291990A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
JPH0997206A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
JPH0997314A (ja) * 1995-09-28 1997-04-08 Canon Inc Icカード装置
JPH0997207A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
JP3703181B2 (ja) * 1995-09-28 2005-10-05 キヤノン株式会社 フラッシュrom管理方法及び装置
JP3727983B2 (ja) * 1995-09-28 2005-12-21 キヤノン株式会社 電子カメラ
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
US5829013A (en) 1995-12-26 1998-10-27 Intel Corporation Memory manager to allow non-volatile memory to be used to supplement main memory
US5978808A (en) * 1995-12-27 1999-11-02 Intel Corporation Virtual small block file manager for flash memory array
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
US5787445A (en) * 1996-03-07 1998-07-28 Norris Communications Corporation Operating system including improved file management for use in devices utilizing flash memory as main memory
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
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
KR980013092A (ko) * 1996-07-29 1998-04-30 김광호 교환시스템의 화일관리장치 및 방법
FR2752072B1 (fr) * 1996-08-01 1999-01-29 Solaic Sa Carte a circuit integre comportant des fichiers classes selon une arborescence
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US5745418A (en) * 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US6311290B1 (en) 1997-02-14 2001-10-30 Intel Corporation Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5937434A (en) * 1997-02-14 1999-08-10 Intel Corporation Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US5982553A (en) 1997-03-20 1999-11-09 Silicon Light Machines Display device incorporating one-dimensional grating light-valve array
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
US5943692A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
JP3104646B2 (ja) * 1997-06-04 2000-10-30 ソニー株式会社 外部記憶装置
GB2328531A (en) * 1997-08-23 1999-02-24 Ibm Storing a long record in a set of shorter keyed records
DE19740525C1 (de) * 1997-09-15 1999-02-04 Siemens Ag Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
JPH11203191A (ja) * 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
EP0973097A4 (en) * 1997-12-05 2000-04-12 Tokyo Electron Ltd MEMORY AND METHOD FOR ACCESSING THE MEMORY
US6040997A (en) * 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US6130770A (en) 1998-06-23 2000-10-10 Silicon Light Machines Electron gun activated grating light valve
US6101036A (en) 1998-06-23 2000-08-08 Silicon Light Machines Embossed diffraction grating alone and in combination with changeable image display
JP4085478B2 (ja) * 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US6303986B1 (en) 1998-07-29 2001-10-16 Silicon Light Machines Method of and apparatus for sealing an hermetic lid to a semiconductor die
JP4046877B2 (ja) 1998-12-14 2008-02-13 株式会社ルネサステクノロジ 一括消去型不揮発性メモリおよび携帯電話
US6314557B1 (en) 1998-12-14 2001-11-06 Infineon Technologies Development Center Tel Aviv Ltd Hybrid computer programming environment
KR20000041291A (ko) * 1998-12-22 2000-07-15 김영환 이동통신 시스템에서 방문 이동 가입자의 데이터 관리 방법
FR2787901B1 (fr) * 1998-12-28 2001-02-09 Bull Sa Organisation memoire par zones physiques
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
CA2267484C (en) * 1999-03-30 2002-03-05 Object Technology International Inc. Reclaiming memory from deleted applications
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
AU2006200756B2 (en) * 1999-04-05 2008-04-03 Sandisk Il Ltd A USB flash memory device for connecting to a USB-defined BUS
US6282605B1 (en) 1999-04-26 2001-08-28 Moore Computer Consultants, Inc. File system for non-volatile computer memory
KR100330164B1 (ko) 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
US7690031B2 (en) * 2000-01-06 2010-03-30 Super Talent Electronics, Inc. Managing bad blocks in flash memory for electronic data flash card
US7535719B2 (en) * 1999-08-04 2009-05-19 Super Talent Electronics, Inc. Single chip USB packages with contact-pins cover
US7872871B2 (en) * 2000-01-06 2011-01-18 Super Talent Electronics, Inc. Molding methods to manufacture single-chip chip-on-board USB device
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US7447037B2 (en) * 1999-08-04 2008-11-04 Super Talent Electronics, Inc. Single chip USB packages by various assembly methods
US7318117B2 (en) 2004-02-26 2008-01-08 Super Talent Electronics, Inc. Managing flash memory including recycling obsolete sectors
US8141240B2 (en) 1999-08-04 2012-03-27 Super Talent Electronics, Inc. Manufacturing method for micro-SD flash memory card
US7830666B2 (en) 2000-01-06 2010-11-09 Super Talent Electronics, Inc. Manufacturing process for single-chip MMC/SD flash memory device with molded asymmetric circuit board
US20080209114A1 (en) * 1999-08-04 2008-08-28 Super Talent Electronics, Inc. Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System
US7702831B2 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. Flash memory controller for electronic data flash card
US8102662B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
US7466556B2 (en) * 1999-08-04 2008-12-16 Super Talent Electronics, Inc. Single chip USB packages with swivel cover
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
KR100703680B1 (ko) * 1999-10-14 2007-04-05 삼성전자주식회사 플래시 파일 시스템
CN1088218C (zh) 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
US6643731B2 (en) * 1999-12-31 2003-11-04 Texas Instruments Incorporated Low cost memory management that resists power interruption
US20080286990A1 (en) * 2003-12-02 2008-11-20 Super Talent Electronics, Inc. Direct Package Mold Process For Single Chip SD Flash Cards
US7702984B1 (en) 2000-01-06 2010-04-20 Super Talent Electronics, Inc. High volume testing for USB electronic data flash cards
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US6424975B1 (en) 2000-01-07 2002-07-23 Trg Products, Inc. FAT file system in palm OS computer
US7102671B1 (en) 2000-02-08 2006-09-05 Lexar Media, Inc. Enhanced compact flash memory card
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
EP1130516A1 (en) * 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Address mapping in solid state storage device
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US7113432B2 (en) 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6473845B1 (en) * 2000-09-28 2002-10-29 Hewlett-Packard Company System and method for dynamically updating memory address mappings
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US7606733B2 (en) * 2000-10-27 2009-10-20 Sandisk Il Ltd. Account portability for computing
US7373656B2 (en) * 2000-10-27 2008-05-13 Sandisk Il Ltd. Automatic configuration for portable devices
US6986030B2 (en) 2000-10-27 2006-01-10 M-Systems Flash Disk Pioneers Ltd. Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program
US7028165B2 (en) * 2000-12-06 2006-04-11 Intel Corporation Processor stalling
KR100365725B1 (ko) 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6510488B2 (en) 2001-02-05 2003-01-21 M-Systems Flash Disk Pioneers Ltd. Method for fast wake-up of a flash memory system
US6938144B2 (en) * 2001-03-22 2005-08-30 Matsushita Electric Industrial Co., Ltd. Address conversion unit for memory device
US6707591B2 (en) 2001-04-10 2004-03-16 Silicon Light Machines Angled illumination for a single order light modulator based projection system
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6591330B2 (en) * 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
US6782205B2 (en) 2001-06-25 2004-08-24 Silicon Light Machines Method and apparatus for dynamic equalization in wavelength division multiplexing
US6747781B2 (en) 2001-06-25 2004-06-08 Silicon Light Machines, Inc. Method, apparatus, and diffuser for reducing laser speckle
US7024532B2 (en) * 2001-08-09 2006-04-04 Matsushita Electric Industrial Co., Ltd. File management method, and memory card and terminal apparatus that make use of the method
US6829092B2 (en) 2001-08-15 2004-12-07 Silicon Light Machines, Inc. Blazed grating light valve
US7356641B2 (en) * 2001-08-28 2008-04-08 International Business Machines Corporation Data management in flash memory
US6760805B2 (en) * 2001-09-05 2004-07-06 M-Systems Flash Disk Pioneers Ltd. Flash management system for large page size
US6678785B2 (en) * 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123419D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Data handling system
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123417D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
US7299463B2 (en) 2001-09-28 2007-11-20 Intel Corporation Method for atomically updating a plurality of files
KR100449708B1 (ko) * 2001-11-16 2004-09-22 삼성전자주식회사 플래시 메모리 관리방법
US6977847B2 (en) * 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
JP3967121B2 (ja) * 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
DE10163342A1 (de) * 2001-12-21 2003-07-10 Elektro Beckhoff Gmbh Unterneh Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US6800238B1 (en) 2002-01-15 2004-10-05 Silicon Light Machines, Inc. Method for domain patterning in low coercive field ferroelectrics
US6957295B1 (en) 2002-01-18 2005-10-18 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US6950918B1 (en) 2002-01-18 2005-09-27 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
AU2003218299A1 (en) * 2002-03-19 2003-10-08 Michael Bucci Device and method for throwing motion training
US6728023B1 (en) 2002-05-28 2004-04-27 Silicon Light Machines Optical device arrays with optimized image resolution
US6767751B2 (en) 2002-05-28 2004-07-27 Silicon Light Machines, Inc. Integrated driver process flow
US6822797B1 (en) 2002-05-31 2004-11-23 Silicon Light Machines, Inc. Light modulator structure for producing high-contrast operation using zero-order light
US6829258B1 (en) 2002-06-26 2004-12-07 Silicon Light Machines, Inc. Rapidly tunable external cavity laser
US6714337B1 (en) 2002-06-28 2004-03-30 Silicon Light Machines Method and device for modulating a light beam and having an improved gamma response
EP1376608A1 (fr) * 2002-06-28 2004-01-02 Cp8 Procédé d'écriture dans une mémoire non volatile et système pour la mise en oeuvre d'un tel procédé
US6813059B2 (en) 2002-06-28 2004-11-02 Silicon Light Machines, Inc. Reduced formation of asperities in contact micro-structures
KR100484147B1 (ko) * 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
US7035949B2 (en) * 2002-07-29 2006-04-25 M-System Flash Dist Pioneers Ltd. Multipurpose processor, system and method
US6801354B1 (en) 2002-08-20 2004-10-05 Silicon Light Machines, Inc. 2-D diffraction grating for substantially eliminating polarization dependent losses
US6970969B2 (en) * 2002-08-29 2005-11-29 Micron Technology, Inc. Multiple segment data object management
US6968439B2 (en) 2002-08-29 2005-11-22 Micron Technology, Inc. Single segment data object management
US7130979B2 (en) * 2002-08-29 2006-10-31 Micron Technology, Inc. Dynamic volume management
US6712480B1 (en) 2002-09-27 2004-03-30 Silicon Light Machines Controlled curvature of stressed micro-structures
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
JP3694501B2 (ja) * 2002-10-30 2005-09-14 松下電器産業株式会社 記憶装置
JP4199519B2 (ja) * 2002-11-05 2008-12-17 パナソニック株式会社 メモリ管理装置及びメモリ管理方法
DE10252059B3 (de) * 2002-11-08 2004-04-15 Infineon Technologies Ag Verfahren zum Betreiben einer Speicheranordnung
KR100457812B1 (ko) * 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
RU2319227C2 (ru) * 2002-12-24 2008-03-10 Эл Джи Электроникс Инк. Способ запоминания с двойным протоколированием и носитель данных для него
KR100483490B1 (ko) * 2002-12-24 2005-04-15 한국전자통신연구원 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법
FI20022297A (fi) * 2002-12-31 2004-07-01 Nokia Corp Menetelmä muistikomponenttien sisältöjen vertailemiseksi
TW200415464A (en) * 2003-02-12 2004-08-16 Acard Technology Corp SATA flash memory device
US6806997B1 (en) 2003-02-28 2004-10-19 Silicon Light Machines, Inc. Patterned diffractive light modulator ribbon for PDL reduction
US6829077B1 (en) 2003-02-28 2004-12-07 Silicon Light Machines, Inc. Diffractive light modulator with dynamically rotatable diffraction plane
US7526598B2 (en) * 2003-03-03 2009-04-28 Sandisk Il, Ltd. Efficient flash memory device driver
US20040186746A1 (en) * 2003-03-21 2004-09-23 Angst Wendy P. System, apparatus and method for storage and transportation of personal health records
US7003621B2 (en) * 2003-03-25 2006-02-21 M-System Flash Disk Pioneers Ltd. Methods of sanitizing a flash-based data storage device
EP1462946A1 (en) * 2003-03-25 2004-09-29 Acard Technology Corp. Architecture for a serial ATA bus based flash memory apparatus
US7664987B2 (en) * 2003-05-25 2010-02-16 Sandisk Il Ltd. Flash memory device with fast reading rate
US6973519B1 (en) 2003-06-03 2005-12-06 Lexar Media, Inc. Card identification compatibility
US7606993B2 (en) * 2003-06-10 2009-10-20 Tdk Corporation Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
JP4433372B2 (ja) * 2003-06-18 2010-03-17 株式会社日立製作所 データアクセスシステム及び方法
US6988175B2 (en) * 2003-06-30 2006-01-17 M-Systems Flash Disk Pioneers Ltd. Flash memory management method that is resistant to data corruption by power loss
US7188228B1 (en) 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7296144B2 (en) * 2003-11-24 2007-11-13 Sandisk Il Ltd. Method of traceless portable application execution
US8102657B2 (en) 2003-12-02 2012-01-24 Super Talent Electronics, Inc. Single shot molding method for COB USB/EUSB devices with contact pad ribs
US7440286B2 (en) * 2005-04-21 2008-10-21 Super Talent Electronics, Inc. Extended USB dual-personality card reader
US7872873B2 (en) 2003-12-02 2011-01-18 Super Talent Electronics, Inc. Extended COB-USB with dual-personality contacts
US8998620B2 (en) * 2003-12-02 2015-04-07 Super Talent Technology, Corp. Molding method for COB-EUSB devices and metal housing package
KR100608602B1 (ko) * 2003-12-10 2006-08-03 삼성전자주식회사 플래시 메모리, 이를 위한 사상 제어 장치 및 방법
US20050132178A1 (en) * 2003-12-12 2005-06-16 Sridhar Balasubramanian Removable flash backup for storage controllers
CN1809833B (zh) 2003-12-17 2015-08-05 雷克萨媒体公司 用于减少用于购买的电子设备的盗窃发生率的方法
JP2005190036A (ja) 2003-12-25 2005-07-14 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
JP4463042B2 (ja) 2003-12-26 2010-05-12 株式会社日立製作所 ボリュームの動的割り付け機能を有する記憶装置システム
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
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
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
WO2005067377A2 (en) * 2004-01-15 2005-07-28 M-Systems Flash Disk Pioneers Ltd. Removable medium with bookmark
WO2005069288A1 (en) * 2004-01-19 2005-07-28 Trek 2000 International Ltd. Portable data storage device using a memory address mapping table
US7869219B2 (en) * 2004-01-20 2011-01-11 Super Talent Electronics, Inc. Flash drive with spring-loaded retractable connector
US7177200B2 (en) * 2004-02-10 2007-02-13 Msystems Ltd. Two-phase programming of a flash memory
US8019928B2 (en) * 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
US7716413B2 (en) * 2004-02-15 2010-05-11 Sandisk Il Ltd. Method of making a multi-bit-cell flash memory
WO2005081891A2 (en) * 2004-02-23 2005-09-09 Lexar Media, Inc. Secure compact flash
US20050213393A1 (en) 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7310347B2 (en) * 2004-03-14 2007-12-18 Sandisk, Il Ltd. States encoding in multi-bit flash cells
TWI254947B (en) * 2004-03-28 2006-05-11 Mediatek Inc Data managing method and data access system for storing all management data in a management bank of a non-volatile memory
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
TWI249670B (en) * 2004-04-29 2006-02-21 Mediatek Inc System and method capable of sequentially writing a flash memory
US7325090B2 (en) * 2004-04-29 2008-01-29 Sandisk Il Ltd. Refreshing data stored in a flash memory
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US8352697B2 (en) * 2004-05-17 2013-01-08 Sandisk Il Ltd. Method of managing files for optimal performance
US7346401B2 (en) * 2004-05-25 2008-03-18 International Business Machines Corporation Systems and methods for providing constrained optimization using adaptive regulatory control
US20080194336A1 (en) * 2004-06-07 2008-08-14 Gagner Mark B Gaming Device with Resources Swapping
US20060004951A1 (en) * 2004-06-30 2006-01-05 Rudelic John C Method and apparatus to alter code in a memory
KR100568115B1 (ko) * 2004-06-30 2006-04-05 삼성전자주식회사 점진적 머지 방법 및 그것을 이용한 메모리 시스템
US20080195817A1 (en) * 2004-07-08 2008-08-14 Super Talent Electronics, Inc. SD Flash Memory Card Manufacturing Using Rigid-Flex PCB
US7817469B2 (en) * 2004-07-26 2010-10-19 Sandisk Il Ltd. Drift compensation in a flash memory
US7957189B2 (en) * 2004-07-26 2011-06-07 Sandisk Il Ltd. Drift compensation in a flash memory
US8407396B2 (en) * 2004-07-30 2013-03-26 Hewlett-Packard Development Company, L.P. Providing block data access for an operating system using solid-state memory
US7386700B2 (en) * 2004-07-30 2008-06-10 Sandisk Il Ltd Virtual-to-physical address translation in a flash file system
US8275969B2 (en) * 2004-08-05 2012-09-25 Sandisk Il Ltd. Storage with persistent user data
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
KR20070060101A (ko) * 2004-08-30 2007-06-12 실리콘 스토리지 테크놀로지 인크 무선 단말기에서의 비휘발성 메모리 관리 시스템 및 방법
US20060059296A1 (en) * 2004-09-16 2006-03-16 M-Systems Flash Disk Pioneers, Ltd. Emulating small block size of flash memory
US7164611B2 (en) 2004-10-26 2007-01-16 Micron Technology, Inc. Data retention kill function
US7496493B1 (en) * 2004-11-09 2009-02-24 Western Digital Technologies, Inc. External memory device to provide disk device and optical functionality
WO2006063941A2 (en) * 2004-12-14 2006-06-22 Sony Ericsson Mobile Communications Ab Method and means for an efficient memory usage
EP1672487A1 (en) * 2004-12-14 2006-06-21 Sony Ericsson Mobile Communications AB Method and means for an efficient memory usage
US7685400B2 (en) * 2004-12-15 2010-03-23 International Business Machines Corporation Storage of data blocks of logical volumes in a virtual disk storage subsystem
US7395404B2 (en) 2004-12-16 2008-07-01 Sandisk Corporation Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7149111B2 (en) * 2004-12-17 2006-12-12 Msystems Ltd. Method of handling limitations on the order of writing to a non-volatile memory
US7246195B2 (en) * 2004-12-30 2007-07-17 Intel Corporation Data storage management for flash memory devices
DE102005001038B3 (de) * 2005-01-07 2006-05-04 Hyperstone Ag Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
US7426623B2 (en) * 2005-01-14 2008-09-16 Sandisk Il Ltd System and method for configuring flash memory partitions as super-units
US8341371B2 (en) * 2005-01-31 2012-12-25 Sandisk Il Ltd Method of managing copy operations 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
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques 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
US8321686B2 (en) * 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) * 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) * 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
KR20080007430A (ko) * 2005-02-11 2008-01-21 샌디스크 아이엘 엘티디 Nand 플래시 메모리 시스템 체계
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US8522048B2 (en) * 2005-04-14 2013-08-27 Sandisk Il Ltd. Content delivery system
US7634494B2 (en) * 2005-05-03 2009-12-15 Intel Corporation Flash memory directory virtualization
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US7389397B2 (en) * 2005-06-01 2008-06-17 Sandisk Il Ltd Method of storing control information in a large-page flash memory device
US7334725B2 (en) * 2005-06-01 2008-02-26 San Disk Il Ltd. Flash memory device within a business card
JP2006338371A (ja) 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
KR100827227B1 (ko) * 2005-06-24 2008-05-07 삼성전자주식회사 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치
US20070005929A1 (en) * 2005-06-30 2007-01-04 Post Daniel J Method, system, and article of manufacture for sector mapping in a flash device
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8321953B2 (en) * 2005-07-14 2012-11-27 Imation Corp. Secure storage device with offline code entry
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
US8335920B2 (en) 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
US8438647B2 (en) 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US20070016721A1 (en) * 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
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
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US7571275B2 (en) * 2005-08-31 2009-08-04 Hamilton Sundstrand Corporation Flash real-time operating system for small embedded applications
US20070067620A1 (en) * 2005-09-06 2007-03-22 Ironkey, Inc. Systems and methods for third-party authentication
US8855714B2 (en) 2005-09-14 2014-10-07 Sandisk Il Ltd. Removable media player for mobile phones
US8966284B2 (en) * 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US20070061597A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
TWI298836B (en) * 2005-10-12 2008-07-11 Sunplus Technology Co Ltd Apparatus for controlling flash memory and method thereof
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7681109B2 (en) 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
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
US7526715B2 (en) * 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
WO2007066326A2 (en) * 2005-12-09 2007-06-14 Sandisk Il Ltd. Method for flash-memory management
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
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
JP2009521049A (ja) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ ブロック消去可能な記憶場所を有するメモリ
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US8639873B1 (en) 2005-12-22 2014-01-28 Imation Corp. Detachable storage device with RAM cache
US8266378B1 (en) 2005-12-22 2012-09-11 Imation Corp. Storage device with accessible partitions
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
US20070147115A1 (en) * 2005-12-28 2007-06-28 Fong-Long Lin Unified memory and controller
US7519754B2 (en) 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
FR2895828B1 (fr) * 2006-01-03 2008-05-30 Thales Sa Procede de gestion de donnees destinees a etre ecrites et lues dans une memoire
US7512847B2 (en) * 2006-02-10 2009-03-31 Sandisk Il Ltd. Method for estimating and reporting the life expectancy of flash-disk memory
US8848442B2 (en) * 2006-03-06 2014-09-30 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US8645793B2 (en) 2008-06-03 2014-02-04 Marvell International Ltd. Statistical tracking for flash memory
US7823043B2 (en) * 2006-05-10 2010-10-26 Sandisk Il Ltd. Corruption-resistant data porting with multiple error correction schemes
US8042029B2 (en) 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
US7583545B2 (en) * 2006-05-21 2009-09-01 Sandisk Il Ltd Method of storing data in a multi-bit-cell flash memory
US7711890B2 (en) * 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
US8307148B2 (en) * 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
US7533328B2 (en) * 2006-07-04 2009-05-12 Sandisk Il, Ltd. Method of error correction in a multi-bit-per-cell flash memory
KR100764052B1 (ko) 2006-08-03 2007-10-08 삼성전자주식회사 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080072058A1 (en) * 2006-08-24 2008-03-20 Yoram Cedar Methods in a reader for one time password generating device
US20080052524A1 (en) * 2006-08-24 2008-02-28 Yoram Cedar Reader for one time password generating device
US20090265403A1 (en) * 2006-08-31 2009-10-22 Keiji Fukumoto File system
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
US7886204B2 (en) * 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US8949555B1 (en) 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
US20080082750A1 (en) * 2006-09-28 2008-04-03 Okin Kenneth A Methods of communicating to, memory modules in a memory channel
WO2008040028A2 (en) * 2006-09-28 2008-04-03 Virident Systems, Inc. Systems, methods, and apparatus with programmable memory control for heterogeneous main memory
US7761625B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Methods for main memory with non-volatile type memory modules, and related technologies
US7761624B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Systems and apparatus for main memory with non-volatile type memory modules, and related technologies
US9984012B2 (en) 2006-09-28 2018-05-29 Virident Systems, Llc Read writeable randomly accessible non-volatile memory modules
US7761626B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies
US7761623B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies
US8074022B2 (en) * 2006-09-28 2011-12-06 Virident Systems, Inc. Programmable heterogeneous memory controllers for main memory with different memory modules
KR100849221B1 (ko) 2006-10-19 2008-07-31 삼성전자주식회사 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
WO2008051940A2 (en) 2006-10-23 2008-05-02 Virident Systems, Inc. Methods and apparatus of dual inline memory modules for flash memory
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US7814263B2 (en) * 2006-10-26 2010-10-12 Sandisk Il Ltd. Erase history-based flash writing method
KR100789406B1 (ko) 2006-11-03 2007-12-28 삼성전자주식회사 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법
WO2008055270A2 (en) * 2006-11-04 2008-05-08 Virident Systems, Inc. Writing to asymmetric memory
KR100816761B1 (ko) * 2006-12-04 2008-03-25 삼성전자주식회사 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US20080140724A1 (en) 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
KR100845552B1 (ko) 2006-12-18 2008-07-10 (재)대구경북과학기술연구원 Ftl의 어드레스 매핑 방법
US7814401B2 (en) * 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US8423794B2 (en) * 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8885384B2 (en) 2007-01-11 2014-11-11 Chengdu Haicun Ip Technology Llc Mask-programmed read-only memory with reserved space
KR100885181B1 (ko) 2007-02-06 2009-02-23 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
US20080222349A1 (en) * 2007-03-07 2008-09-11 Ocz Technology Group Inc. Ieee 1394 interface-based flash drive using multilevel cell flash memory devices
US7573773B2 (en) * 2007-03-28 2009-08-11 Sandisk Corporation Flash memory with data refresh triggered by controlled scrub data reads
US7477547B2 (en) * 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
JP4636046B2 (ja) * 2007-03-29 2011-02-23 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US7808834B1 (en) 2007-04-13 2010-10-05 Marvell International Ltd. Incremental memory refresh
US8254134B2 (en) 2007-05-03 2012-08-28 Super Talent Electronics, Inc. Molded memory card with write protection switch assembly
US7689762B2 (en) * 2007-05-03 2010-03-30 Atmel Corporation Storage device wear leveling
US7850468B2 (en) 2007-06-28 2010-12-14 Super Talent Electronics, Inc. Lipstick-type USB device
US8102658B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. Micro-SD to secure digital adaptor card and manufacturing method
US7789680B2 (en) * 2007-07-05 2010-09-07 Super Talent Electronics, Inc. USB device with connected cap
CN101094183B (zh) * 2007-07-25 2011-12-07 杭州华三通信技术有限公司 一种缓存管理方法及装置
US8031526B1 (en) 2007-08-23 2011-10-04 Marvell International Ltd. Write pre-compensation for nonvolatile memory
US7944702B2 (en) 2007-08-27 2011-05-17 Super Talent Electronics, Inc. Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve
US8189381B1 (en) 2007-08-28 2012-05-29 Marvell International Ltd. System and method for reading flash memory cells
US8085605B2 (en) 2007-08-29 2011-12-27 Marvell World Trade Ltd. Sequence detection for flash memory with inter-cell interference
US9921896B2 (en) 2007-08-30 2018-03-20 Virident Systems, Llc Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system
JP4746598B2 (ja) * 2007-09-28 2011-08-10 株式会社東芝 半導体記憶装置
US7970983B2 (en) * 2007-10-14 2011-06-28 Sandisk Il Ltd. Identity-based flash management
US8024545B2 (en) 2007-10-19 2011-09-20 Inha-Industry Partnership Institute Efficient prefetching and asynchronous writing for flash memory
US8241047B2 (en) * 2007-10-30 2012-08-14 Super Talent Electronics, Inc. Flash drive with spring-loaded swivel connector
US20090138673A1 (en) * 2007-11-28 2009-05-28 Apple Inc. Internal memory mapped external memory interface
US8116083B2 (en) * 2007-12-04 2012-02-14 Super Talent Electronics, Inc. Lipstick-type USB device with tubular housing
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8316277B2 (en) * 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
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
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
KR101386489B1 (ko) * 2008-01-14 2014-04-21 삼성전자주식회사 메모리 장치 및 멀티 비트 프로그래밍 방법
US8892831B2 (en) 2008-01-16 2014-11-18 Apple Inc. Memory subsystem hibernation
US8417893B2 (en) 2008-02-04 2013-04-09 Apple Inc. Memory mapping techniques
US8856464B2 (en) * 2008-02-12 2014-10-07 Virident Systems, Inc. Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices
WO2009102821A2 (en) * 2008-02-12 2009-08-20 Virident Systems, Inc. Methods and apparatus for two-dimensional main memory
US8438343B2 (en) 2008-02-29 2013-05-07 Kabushiki Kaisha Toshiba Memory system with fixed and variable pointers
KR101437123B1 (ko) * 2008-04-01 2014-09-02 삼성전자 주식회사 메모리 시스템 및 그것의 마모도 관리 방법
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
US8266366B2 (en) * 2008-04-11 2012-09-11 SanDisk Technologies, Inc. Memory device operable in read-only and write-once, read-many (WORM) modes of operation
CA2629960C (en) * 2008-04-28 2009-12-08 Westport Power Inc. Apparatus and method for improving the accuracy of measurements taken with a capacitance-type sensor
WO2009137371A2 (en) * 2008-05-02 2009-11-12 Ironkey, Inc. Enterprise device recovery
CN102124527A (zh) * 2008-05-16 2011-07-13 弗森-艾奥公司 用于检测和替代失效的数据存储器的装置、系统和方法
JP2009282678A (ja) * 2008-05-21 2009-12-03 Hitachi Ltd フラッシュメモリモジュール及びストレージシステム
KR101497074B1 (ko) * 2008-06-17 2015-03-05 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
US8745314B1 (en) 2008-06-24 2014-06-03 Virident Systems, Inc. Methods for a random read and read/write block accessible memory
US9513695B2 (en) 2008-06-24 2016-12-06 Virident Systems, Inc. Methods of managing power in network computer systems
TWI370969B (en) 2008-07-09 2012-08-21 Phison Electronics Corp Data accessing method, and storage system and controller using the same
US8417902B2 (en) * 2008-08-05 2013-04-09 Atmel Corporation One-time-programmable memory emulation
JP4909963B2 (ja) * 2008-09-09 2012-04-04 株式会社東芝 統合メモリ管理装置
US7962801B2 (en) * 2008-10-15 2011-06-14 Silicon Motion, Inc. Link table recovery method
KR101510120B1 (ko) * 2008-11-21 2015-04-10 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US9612954B2 (en) 2008-12-31 2017-04-04 Micron Technology, Inc. Recovery for non-volatile memory after power loss
US8589700B2 (en) * 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US8176295B2 (en) 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
US8065469B2 (en) * 2009-04-20 2011-11-22 Imation Corp. Static wear leveling
TWI457940B (zh) * 2009-05-15 2014-10-21 Macronix Int Co Ltd 區塊為基礎快閃記憶體之位元組存取
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
US8516219B2 (en) 2009-07-24 2013-08-20 Apple Inc. Index cache tree
US8468293B2 (en) 2009-07-24 2013-06-18 Apple Inc. Restore index page
US8683088B2 (en) 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US8612718B2 (en) * 2009-08-19 2013-12-17 Seagate Technology Llc Mapping alignment
US20110055471A1 (en) * 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
CN102696010B (zh) 2009-09-08 2016-03-23 才智知识产权控股公司(2) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
EP2476039B1 (en) 2009-09-09 2016-10-26 SanDisk Technologies LLC Apparatus, system, and method for power reduction management in a storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
CN102598019B (zh) * 2009-09-09 2015-08-19 才智知识产权控股公司(2) 用于分配存储的设备、系统和方法
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US8255655B2 (en) 2009-10-02 2012-08-28 Sandisk Technologies Inc. Authentication and securing of write-once, read-many (WORM) memory devices
US8489803B2 (en) * 2009-12-14 2013-07-16 Smsc Holdings S.A.R.L. Efficient use of flash memory in flash drives
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US9396104B1 (en) 2010-03-22 2016-07-19 Seagate Technology, Llc Accessing compressed data of varying-sized quanta in non-volatile memory
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
KR20120003283A (ko) * 2010-07-02 2012-01-10 삼성전자주식회사 데이터 저장 장치 및 그것의 배드 블록 관리 방법
WO2012016089A2 (en) 2010-07-28 2012-02-02 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8452914B2 (en) * 2010-11-26 2013-05-28 Htc Corporation Electronic devices with improved flash memory compatibility and methods corresponding thereto
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
DE102010063773A1 (de) * 2010-12-21 2012-07-12 Endress + Hauser Wetzer Gmbh + Co. Kg Feldgerät mit einem semi-permanenten elektronischen Speicher und Verfahren zum Betreiben eines solchen Feldgerätes
WO2012100087A2 (en) 2011-01-19 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for managing out-of-service conditions
CN102609214A (zh) * 2011-01-21 2012-07-25 鸿富锦精密工业(深圳)有限公司 将biosrom模拟成磁盘的的系统及方法
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
JP2012226822A (ja) 2011-04-15 2012-11-15 Samsung Electronics Co Ltd 不揮発性メモリ装置
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
TWI521343B (zh) * 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
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
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US8629689B1 (en) * 2012-05-18 2014-01-14 Altera Corporation Integrated circuit with improved interconnect routing and associated methods
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US20130326114A1 (en) * 2012-05-30 2013-12-05 Seagate Technology Llc Write mitigation through fast reject processing
US9128820B1 (en) 2012-06-18 2015-09-08 Western Digital Technologies, Inc. File management among different zones of storage media
KR102147359B1 (ko) 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US9064575B2 (en) 2012-08-03 2015-06-23 Micron Technology, Inc. Determining whether a memory cell state is in a valley between adjacent data states
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US9733907B2 (en) 2012-10-30 2017-08-15 Oracle International Corporation System and method for testing compiler implementation using dynamic combinatorial test generation
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9558108B2 (en) 2013-04-15 2017-01-31 Macronix International Co., Ltd. Half block management for flash storage devices
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
CN103324553B (zh) * 2013-06-21 2016-08-24 华为技术有限公司 数据恢复方法、系统及装置
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
CN103713857B (zh) * 2013-12-24 2017-06-27 华为技术有限公司 存储数据的方法及存储装置
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9627072B2 (en) 2014-11-25 2017-04-18 Macronix International Co., Ltd. Variant operation sequences for multibit memory
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US10185513B1 (en) 2015-06-05 2019-01-22 Life365, Inc. Device configured for dynamic software change
CN106547480B (zh) * 2015-09-17 2019-04-12 慧荣科技股份有限公司 数据储存装置及其数据读取方法
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US20170168956A1 (en) * 2015-12-15 2017-06-15 Facebook, Inc. Block cache staging in content delivery network caching system
US10185666B2 (en) 2015-12-15 2019-01-22 Facebook, Inc. Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache
US10126962B2 (en) 2016-04-22 2018-11-13 Microsoft Technology Licensing, Llc Adapted block translation table (BTT)
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
US9881682B1 (en) 2016-11-23 2018-01-30 Seagate Technology Llc Fine grained data retention monitoring in solid state drives
CN108733576B (zh) * 2017-04-20 2022-12-09 得一微电子股份有限公司 一种固态硬盘及其内存转换层对映方法
US10318416B2 (en) * 2017-05-18 2019-06-11 Nxp B.V. Method and system for implementing a non-volatile counter using non-volatile memory
IT201700057287A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti
KR102521746B1 (ko) 2017-12-18 2023-04-13 에스케이하이닉스 주식회사 메모리 장치의 주소 맵핑을 관리하는 반도체 장치 및 이를 포함하는 데이터 저장 장치
KR20190120573A (ko) * 2018-04-16 2019-10-24 에스케이하이닉스 주식회사 메모리 시스템, 데이터 처리 시스템 및 메모리 시스템의 동작 방법
JP2021023748A (ja) * 2019-08-09 2021-02-22 株式会社島津製作所 X線透視撮影装置
TW202403560A (zh) * 2022-07-08 2024-01-16 瑞昱半導體股份有限公司 資料存取方法及資料存取系統

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4511964A (en) * 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
JPH0271342A (ja) * 1988-09-07 1990-03-09 Oki Electric Ind Co Ltd メモリ管理装置
JPH0314042A (ja) * 1989-06-13 1991-01-22 Fujitsu Ltd データベースにおける資源管理方式
EP0473767A1 (en) * 1990-03-23 1992-03-11 Eastman Kodak Company Virtual memory management and allocation arrangement for digital data processing system
US5193184A (en) * 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5210866A (en) * 1990-09-12 1993-05-11 Storage Technology Corporation Incremental disk backup system for a dynamically mapped data storage subsystem
JP2584119B2 (ja) * 1990-09-28 1997-02-19 富士写真フイルム株式会社 メモリカードにおけるデータ記録方法およびメモリカードシステム
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JP3407317B2 (ja) * 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
JP3178909B2 (ja) * 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
JPH0695955A (ja) * 1992-09-09 1994-04-08 Ricoh Co Ltd フラッシュ・ファイル・システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323358C (zh) * 2004-03-05 2007-06-27 中国科学院计算技术研究所 一种虚拟存储模型及其方法
CN100461134C (zh) * 2007-03-27 2009-02-11 华为技术有限公司 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法

Also Published As

Publication number Publication date
IL108766A0 (en) 1994-05-30
DE69414556D1 (de) 1998-12-17
DE69414556T2 (de) 1999-05-06
EP0688450A1 (en) 1995-12-27
EP0688450B1 (en) 1998-11-11
US5404485A (en) 1995-04-04
CN1098526A (zh) 1995-02-08
JP2003085037A (ja) 2003-03-20
FI105726B (fi) 2000-09-29
TW264547B (zh) 1995-12-01
ZA941446B (en) 1994-09-26
AU6269994A (en) 1994-09-26
EP0688450A4 (en) 1995-10-20
JPH08510072A (ja) 1996-10-22
KR960701402A (ko) 1996-02-24
KR100292011B1 (ko) 2001-09-17
IL108766A (en) 1996-12-05
FI954235A (fi) 1995-11-08
JP3997130B2 (ja) 2007-10-24
WO1994020906A1 (en) 1994-09-15
FI954235A0 (fi) 1995-09-08

Similar Documents

Publication Publication Date Title
CN1078364C (zh) 存储器管理方法
CN100424655C (zh) 快闪存储器管理方法
KR100389867B1 (ko) 플래시 메모리 관리방법
US9037832B2 (en) Method for managing a memory apparatus, and associated memory apparatus thereof
US6587915B1 (en) Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same
EP0882264B1 (en) Flash memory mass storage system and associated method
EP0770959B1 (en) Flash translation layer clean-up method
CN1223945C (zh) 改进的闪速文件系统
EP0852765B1 (en) Memory management
US7877569B2 (en) Reduction of fragmentation in nonvolatile memory using alternate address mapping
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
US7953919B2 (en) Physical block addressing of electronic memory devices
US7167944B1 (en) Block management for mass storage
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
US20090125668A1 (en) Management of erased blocks in flash memories
KR100868674B1 (ko) 플래시메모리 관리방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: MILSYS LTD.

Free format text: FORMER NAME: M-SYSTEMS LTD.

CP03 Change of name, title or address

Address after: Israel Kfar Saba

Patentee after: Milsys Ltd.

Address before: Israel Tel Aviv

Patentee before: M-Systems Ltd.

C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20140308

Granted publication date: 20020123