CN101479805A - 具有闪速缓存部分的闪速存储器装置及其使用方法 - Google Patents
具有闪速缓存部分的闪速存储器装置及其使用方法 Download PDFInfo
- Publication number
- CN101479805A CN101479805A CNA2007800243980A CN200780024398A CN101479805A CN 101479805 A CN101479805 A CN 101479805A CN A2007800243980 A CNA2007800243980 A CN A2007800243980A CN 200780024398 A CN200780024398 A CN 200780024398A CN 101479805 A CN101479805 A CN 101479805A
- Authority
- CN
- China
- Prior art keywords
- data
- main memory
- memory portion
- temporary storage
- storage section
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
公开了一种闪速存储器装置。该装置包括闪速存储器(110)和控制器(120),其中闪速存储器具有临时存储部分(112)和主存储部分(111)。提供临时存储部分(112)用来对数据和地址进行缓冲。被缓冲的地址表示被缓冲的数据在主存储部分(111)中的目的地址。控制器(120)被配置成选择性地访问主存储部分(111)或临时存储部分(112)或这两个存储部分的组合,从而接收用于该存储器的数据,和/或从该存储器输出数据。控制器(120)还被配置成用来启动这两个部分之间的数据传输。因为非易失性闪速存储器被用于临时存储部分(112),所以不需要其他的存储元件,并且在意外断电的情况下,临时存储部分中的数据不会丢失。
Description
技术领域
本发明涉及一种闪速存储器装置和一种使用这种闪速存储器装置的方法。
背景技术
闪速存储器是普遍使用的存储器。闪速存储器是一种非易失性存储器,这意味着这种存储器不需要电源来保存存储在其中的数据。闪速存储器包括块;每个块的大小一般是128K字节。块包括页,每页的大小一般是2K字节。可为闪速存储器编制程序,或者仅仅像其他的存储器一样,以随机存取方式一次读取一页,而擦除必须是每次一个块。因此,为了对块内容进行即使是很小的改变,整个块都需要被重写,这会造成时间开销。随着每一代新闪速存储器的出现,块大小有增大的趋势,并且随着块大小的增大,时间开销也将增加。而且,闪速存储器会磨损,即在闪速存储器的每个块的可靠性开始降低之前,只能对块进行预定次数的擦除和重写。存储器面临的另一个普遍的问题是微处理器和存储器之间的速度不匹配的问题。这种速度不匹配将阻塞微处理器。这个问题也是闪速存储器所面临的问题。
因此,希望提供一种存储器***,该存储器***具有所有非易失性存储器的所有优点,并且没有上述及其他的局限性。
发明内容
为此,本发明提供一种装置,其包括:闪速存储器和控制器,所述闪速存储器具有临时存储部分和主存储部分,所述控制器有选择地访问主存储部分和临时存储部分或者它们的组合,并且用来在临时存储部分中对数据和地址进行缓冲,其中地址表示被缓冲的数据在主存储部分中的目的地址。
本发明的这个方面提供了用于临时存储数据的非易失性临时存储部分。临时存储部分远远小于主存储部分,通常主存储部分为512M字节或更大,而临时存储部分可为1M字节的数量级。不管数据在主存储部分中的最终目的地址如何,数据都被顺序地存储在临时存储部分中。因此,写入临时存储部分比写入主存储部分需要更少的时间开销。而且,与没有临时存储部分的闪速存储器相比,在闪速存储器内提供临时存储部分将使闪速存储器速度更快。要写入主存储部分中的数据可以连同该数据的对应地址一起缓冲到临时存储部分中。被缓冲的地址可以是直接表示被缓冲的数据在主存储部分中的目的地址的物理地址。作为选择,被缓冲的地址可以是间接地表示被缓冲的数据在主存储部分中的目的地址的逻辑地址。通过查询表,可将逻辑地址映射到物理地址。根据逻辑或物理地址,可以在临时存储部分和主存储部分之间传输数据。通常,控制器接收一个数据包地址以及跟随该数据包的多个数据包,因此,对于每个跟随数据包,控制器通过将在先数据包的地址加“1”来产生跟随数据包的地址。然后,数据包依照它们的地址被顺序地存储在临时存储部分或主存储部分中。然而,根据这个方面,控制器可接收到多个地址,每个地址都对应于一个数据包,在这种情况下,数据包仍被顺序地存储在临时存储部分中,但是可以不必顺序地存储在主存储部分中。当临时存储部分已满或访问被终止时,或者控制器一旦接收到请求,就可将被缓冲的数据转移到主存储部分。将数据包以在主存储部分中的目的地址的顺序从临时存储部分转移到主存储部分,如果临时存储部分中的不同数据包要被存储在主存储部分中的同一个块内,则这种方式可以满足只擦除该块一次的需要。如果在每次请求之后,数据被直接写入主存储部分,则不得不多次擦除该块。因此,在主存储部分中写入数据所需的数据移动大大减少了,使得存储器的寿命和访问速度增加。
应该注意,US专利6,026,027公开了一种具有高速缓存的闪速存储器。这种存储器使用了静态随机存储器(SRAM)作为高速缓存。在根据本发明的装置中,将闪速存储器本身的一部分用来对在闪速存储器的另一部分中存储的数据进行缓冲。由于在闪速存储器中两次写入被缓冲的数据,所以初看起来,这种措施看起来加速了闪速存储器的磨损。但是,令人惊讶的是,以此方式能降低存储器的磨损,并且能提高存储器的总平均写入速度。
根据该装置的一个方面,可将控制器编制程序来用于直接在存储部分中存储数据。当需要存储的数据流至少具有预定数量数据包时,直接在主存储部分中存储数据是有利的。例如,所述预定数量与能在预定数量的位置上存储的多个数据包相对应。根据一个示例,位置的预定数量可以是主存储部分中的4页。数量“4页”是一个示范性的数量,这个数量可以根据用来访问存储器的文件***或用来存储数据的文件类型、或者根据设计存储器所针对的应用而发生变化。而且,当需要在主存储部分的互相连续的位置上存储数据流时,将数据直接存储在主存储部分中是有利的,所述的数据流具有多个数据包,并且这个数量大于或等于预定数量。
根据另一实施例,控制器被配置成接收用于闪速存储器的数据,和/或从闪速存储器输出数据。根据这个方面,控制器检查临时存储部分中是否存在读操作想要的数据。由此,控制器从临时存储部分或从主存储部分输出读操作想要的数据。而且,这个方面允许控制器接收数据以将其存储到存储器中,并且允许在存储器的主存储部分中存储该数据,或允许在存储器的临时存储部分中顺序地存储该数据。
根据本发明的实施例,控制器被配置成在使已经存储在主存储部分中的数据的移动最少的同时,能在临时存储部分和主存储部分之间进行自适应数据传输。可为控制器编制程序,使其自适应地改变地址的映射,以保证在主存储部分和临时存储部分之间传输数据的同时,使已经存储在主存储部分中的数据的移动最少。这种编程使得存储器的主存储部分的擦除操作的数量最小,因此使存储器磨损最小。根据一个自适应改变映射的示例,控制器可识别出主存储部分中使用次数最少的块,并且在根据存储器的临时存储部分来改变映射之后,使用这个识别出的块来存储主存储部分中一个块的内容。根据另一方面,控制器可被配置成判断临时存储部分是否包括在主存储部分中具有相同目的地址的多个数据项,并且如果发现多个这种数据项,则选取所述多个数据项中的最新的数据项来存储在主存储部分中。这个方面避免了不必要的擦除操作,因此使已经存储在主存储部分中的数据的移动最少并增加了存储器的寿命。
根据另一实施例,本发明提供了一种在闪速存储器装置中存储数据的方法,该方法包括具有以下步骤的间接存储模式:接收数据;在所述闪速存储器装置中的临时存储部分中对该数据以及地址进行缓冲,所述地址表示被缓冲的数据在主存储部分中的目的地址;以及将该数据转移到主存储部分中的由所述地址表示的目的地址上。该方法的这个方面允许数据在闪速存储器的临时存储部分中进行缓冲。
根据一个实施例,该方法还包括具有以下步骤的直接存储模式:接收数据流,并且在主存储部分中直接存储数据流,如果数据流至少具有用来存储在主存储部分的多个连续位置上的预定数量的数据包,则执行直接存储模式,否则执行间接存储模式。如果数据流至少具有用于存储在主存储部分的一个块上的预定数量的数据包,则执行直接存储模式。如果要被存储的数据流足够长并且延及多个扇区,则本发明的这个方面阻止了对数据流的缓冲,从而允许了更有效地使用存储器资源。
例如,预定数量与能在预定数量的位置上存储的多个数据包相对应。根据一个示例,位置的预定数量可以是主存储部分中的4页。数量“4页”是一个示范性的数量,根据用于访问存储器的文件***或用于存储数据的文件类型,或者根据设计存储器所针对的应用,这个数量可以发生变化。
根据一个实施例,该方法还提供了以下步骤:在使已经存储在主存储部分中的数据的移动最少的同时,在临时存储部分和主存储部分之间自适应地传输数据。根据这个方面,为了在这两个部分之间自适应地传输数据,可以自适应地改变地址的映射。本发明的这个方面实现了这两个部分之间的有效传输,并且增加了存储器的寿命。
根据另一实施例,该方法还包括以下步骤:判断临时存储部分是否包括多个在主存储部分中具有相同目的地址的数据包;以及如果发现了多个这种数据包,则选取所述多个这种数据包中的最新的数据项来存储在主存储部分中。当在存储器的临时存储部分中已经更新了数据时,该方法的这个方面能消除对存储器的主存储部分的不必要的反复擦除。
根据另一实施例,该方法提供了从闪速存储器装置中取回数据的模式,该模式包括以下步骤:接收一个或多个表示了要取回数据的位置的地址;如果闪速存储器装置的临时存储部分中存在这些地址,则从临时存储部分提供数据,否则从闪速存储器装置的主存储部分提供数据。这个方面实现了从闪速存储器中读数据的操作。为了极其简单地执行读操作,当存储器的某一部分内容被写入临时存储部分中且存储器的某一部分内容是处于存储器的主存储部分中时,则需要检查在存储器的临时存储器中是否存在该数据。因此,如果存在,则从临时存储部分获得该数据;否则从存储器的主存储部分获得该数据。
附图说明
参照附图,在下文中将更详细地描述根据本发明的方法和装置的这些和其它方面及优点;
图1示出了根据本发明的闪速存储器装置;
图2示出了根据本发明的方法的第一方面的流程图;
图3示出了根据本发明的方法的第二方面的流程图;
图4示出了根据本发明的方法的第三方面的流程图;以及
图5示出了根据本发明的方法的第四方面的流程图。
具体实施方式
图1示出了根据本发明的闪速存储器装置100。该装置包括具有临时存储部分112和主存储部分111的闪速存储器110,并包括控制器120。临时存储部分112用于对数据和地址进行缓冲。被缓冲的地址表示被缓冲的数据在主存储部分111中的目的地址。控制器120被配置成有选择地访问主存储部分111或临时存储部分112或它们的组合,用以将数据接收到存储器110中,和/或从存储器110输出数据。控制器120还被配置成用来启动这两个部分111、112之间的数据传输。
图2示出了根据本发明的方法的一个方面的流程图200。该图描述了存储器110中的存储操作。控制器120接收数据,并且在步骤220中确定要写入的数据的大小。在步骤240中,决定是在临时存储部分112中存储数据230,还是在主存储部分111中存储数据250。如果数据大小大于适合主存储部分111中的4页的大小,则将数据直接存储在主存储部分111中250,否则将数据存储在临时存储部分112中。数量“4页”是一个示范性的数量,根据用于访问存储器的文件***或用于存储数据的文件类型,这个数量可以发生变化。步骤210、220、240和250合起来表示直接存储模式。步骤210、220、240和230表示间接存储模式。
图3示出了根据本发明的方法的第二方面的另一流程图300。该图描述了数据从临时存储部分112到主存储部分111的转移(传输)操作。在步骤310中,判断是否需要数据的转移。如果需要转移,则在步骤320中,针对每个存储在临时存储部分112中的地址,判断是否存在不只一个将该地址作为在主存储部分中的目的地址的数据项。如果存在,则仅仅将多个数据项中的最新数据项转移到所述地址。否则,将唯一的数据元素写入所述地址。将数据包以在主存储部分中的目的地址的顺序从临时存储部分转移到主存储部分,如果临时存储部分中的不同数据包要被存储在主存储部分中的同一个块内,这种方式可以满足只擦除该块一次的需要。如果在每次请求之后,数据被直接写入主存储部分,则不得不多次擦除该块。因此,在主存储部分中写入数据所需的数据移动大大减少了,这增加了存储器的使用寿命和访问速度。基于临时存储部分是否已满或存储器访问是否被终止,或者一旦控制器接收到请求,则步骤310可判断是否需要转移。
图4示出了根据本发明的方法的第三方面的另一流程图400。在该图中描述了读操作。在步骤410中,接收用于执行读操作的请求,连同接收至少一个从其上读取数据项的位置的地址。在步骤420中,判断该地址是否存在于临时存储部分112中。如果是这种情况的话,则从临时存储部分112取出对应于该地址的数据430,否则从主存储部分111中取出该数据440。
使用非易失性存储器来实现该存储器的临时存储部分112,因此它具有非易失性存储器的所有优点,即存储器价格便宜,并且在意外断电的情况下数据不会丢失,而且不需要其他的存储器元件。临时存储部分112(通常1M字节或更小)远远小于主存储部分111(通常为几百兆字节或更大)。因此,写入临时存储部分112比写入主存储部分111需要更少的时间消耗。可在临时存储部分112中对将要写入主存储部分111中的数据以及该数据的对应地址进行缓冲。被缓冲的地址可以是直接表示被缓冲的数据在主存储部分111中的目的地址的物理地址。可选地,被缓冲的地址可以是间接表示被缓冲的数据在主存储部分111中的目的地址的逻辑地址。通过查询表,可将逻辑地址映射到物理地址。根据逻辑或物理地址,可以在临时存储部分112和主存储部分111之间传输数据。
可为控制器120编程,使其能自适应地改变地址的映射,以保证已经存储在主存储部分111中的数据的移动最少。这种编制程序使得存储器110的主存储部分111的擦除操作的次数最少,因此使存储器磨损最小。根据一个自适应地改变映射的示例,控制器120可识别出主存储器111中使用次数最少的块,并且在根据存储器110的临时存储部分112来改变映射之后,使用这个识别出的块来存储主存储部分111中的这个块的内容。根据另一方面,控制器可被配置成判断临时存储部分112是否包括多个在主存储部分111中具有相同目的地址的数据项,如果发现多个这种数据项,则选取所述多个数据项中的最新的数据项来存储在主存储部分111中。这个方面避免了不必要的擦除操作,因此使已经存储在主存储部分111中的数据的移动最少,从而增加了存储器110的寿命。
根据该装置的一个方面,可将控制器120编程为将数据直接存储在主存储部分111中。当需要存储的数据流至少具有预定数量的数据包时,将数据直接存储在主存储部分中是有利的。例如,预定数量与能存储在预定数量的位置上的多个数据包相对应。根据一个示例,预定数量的位置可以是主存储部分111中的4页。数量“4页”是一个示范性的数量,这个数量可以根据用来访问存储器的文件***或用来存储数据的文件类型而发生变化。而且,当需要在主存储部分111的互相连续的位置上存储数据流时,将数据直接存储在主存储部分中是有利的,所述的数据流具有多个数据包,并且这个数量大于或等于预定数量。
根据另一实施例,控制器120被配置成接收用于闪速存储器的数据,和/或从闪速存储器输出数据。根据这个方面,控制器120检查临时存储部分112中是否存在读操作想要的数据。由此,控制器120从临时存储部分112或从主存储部分111输出读操作想要的数据。另外直接存储模式允许控制器120接收数据来将其存储到存储器110中,并且允许将该数据存储在存储器110的主存储部分111中,或顺序地存储在存储器110的临时存储部分112中。
根据另一方面,本发明提供了一种用于将数据存储在闪速存储器装置100中的方法,该方法包括具有以下步骤的(图5所示的)间接存储模式:接收数据510;在所述闪速存储器装置中的临时存储部分中对该数据以及地址进行缓冲520,所述地址表示该被缓冲的数据在主存储部分中的目的地址;以及将该数据转移到主存储部分中的由所述地址表示的目的地址上530。
本发明的这个方面可被理解为步骤230,后面是步骤320和步骤330或步骤340。然而,为了清楚起见,图5示出了根据该方法的这个方面的步骤。步骤510可包括步骤210、220和240,其中接收数据并且判断该数据应被存储在主存储部分111中还是在临时存储部分112中。步骤520包括步骤230,其中数据被存储在临时存储部分112中。步骤530包括步骤320和330或340,其中将该数据转移到主存储部分111。该方法的这个方面允许在闪速存储器的临时存储部分中对数据进行缓冲。
在当前论述的所述方法和装置实施例中的顺序不是必须的,仅仅是说明性的。该论述的范围不限于所述的实施例。在不脱离当前讨论所设想的思想的情况下,本领域的技术人员可改变步骤的顺序,或使用线程模型、多处理器***或多重处理来同时执行步骤。任何这种实施例都将落入本讨论的范围,以及都是保护的主题。应该注意,上述实施例说明了而不是限制了方法和装置,并且在不脱离所附权利要求的范围的情况下本领域的技术人员将能设计出很多的替换实施例。在权利要求中,任何被置于括号之间的参考标号不应该被理解为限制该权利要求。词语“包括”不排除除了在权利要求中列举的元件或步骤之外的其他元件或步骤的存在。元件前的词语“一个”或“一种”不排除多个这种元件的存在。用包括几个不同元件的硬件,以及用适当地程序控制的计算机能实施该方法和装置。在枚举了几种技术手段的装置权利要求中,可通过同一个计算机可读软件或硬件来实现这些技术手段中的几个。在彼此不同的从属权利要求中引用了特定措施,这个事实不表示不能使用这些措施的组合来获得优势。
Claims (10)
1.一种装置包括:闪速存储器和控制器,所述闪速存储器具有临时存储部分和主存储部分,所述控制器用于选择性地访问主存储部分或临时存储部分或这两个部分的组合,所述控制器被配置成用来在临时存储部分中对数据和地址进行缓冲,其中所述地址表示被缓冲的数据在主存储部分中的目的地址。
2.根据权利要求1所述的装置,其中所述控制器还被配置成将数据直接存储在主存储部分中。
3.根据权利要求1所述的装置,其中所述控制器还被配置成接收用于闪速存储器的数据,和/或从闪速存储器输出数据。
4.根据权利要求1所述的装置,其中所述控制器还被配成在使已经存储在主存储部分中的数据的移动最少的同时,能在临时存储部分和主存储部分之间进行自适应数据传输。
5.一种在闪速存储器装置中存储数据的方法,该方法包括间接存储模式,该模式具有以下步骤:
接收数据;
在所述的闪速存储器装置内的临时存储部分中对数据以及地址进行缓冲,所述地址表示被缓冲的数据在主存储部分中的目的地址;以及
将该数据转移到主存储部分中该地址所表示的目的地址上。
6.根据权利要求5所述的方法,还包括直接存储模式,该模式具有以下步骤:
接收数据流;以及
将数据流直接存储在主存储部分中,如果数据流至少具有在主储模式,否则执行间接存储模式。
7.根据权利要求6所述的方法,其中所述的预定数量与能在主存储部分的至少4页上存储的多个数据包相对应。
8.根据权利要求5所述的方法,还包括步骤:
在使已经存储在主存储部分中的数据的移动最少的同时,在临时存储部分和主存储部分之间自适应地传输数据。
9.根据权利要求5所述的方法,还包括步骤:
判断临时存储部分是否包括多个在主存储部分中具有相同目的地址的数据项,如果发现多个这种数据项,则选择所述多个这种数据项中的最新的数据项来将其存储到主存储部分中。
10.一种从闪速存储器装置中取出数据的方法,该方法包括以下步骤:
接收表示了要从其中取出数据的位置的至少一个地址;以及
如果在闪速存储器装置的临时存储部分中存在所述至少一个地址,则从临时存储部分提供数据,否则从闪速存储器装置的主存储部分中的一个位置提供数据,该位置由所述至少一个地址表示。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06116478.6 | 2006-06-30 | ||
EP06116478 | 2006-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101479805A true CN101479805A (zh) | 2009-07-08 |
Family
ID=38894957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800243980A Pending CN101479805A (zh) | 2006-06-30 | 2007-06-19 | 具有闪速缓存部分的闪速存储器装置及其使用方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090282185A1 (zh) |
EP (1) | EP2038892A2 (zh) |
CN (1) | CN101479805A (zh) |
WO (1) | WO2008004149A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102971719A (zh) * | 2010-06-29 | 2013-03-13 | 图科塞拉公司 | 对存储器读取或写入 |
CN102971719B (zh) * | 2010-06-29 | 2016-11-30 | 图科塞拉公司 | 对存储器读取或写入的方法、设备及组件 |
CN106598504A (zh) * | 2016-12-26 | 2017-04-26 | 华为机器有限公司 | 数据存储方法及装置 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009072104A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
CN101867737A (zh) * | 2010-04-06 | 2010-10-20 | 福建新大陆通信科技股份有限公司 | 一种基于机顶盒的自动兼容多种型号flash的软件处理方法 |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US8381014B2 (en) | 2010-05-06 | 2013-02-19 | International Business Machines Corporation | Node controller first failure error management for a distributed system |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US9600410B1 (en) * | 2010-07-09 | 2017-03-21 | Crossbar, Inc. | ReRAM based NAND like architecture with configurable page size |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) * | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US8812916B2 (en) | 2011-06-02 | 2014-08-19 | International Business Machines Corporation | Failure data management for a distributed computer system |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
GB2582638B (en) * | 2019-03-29 | 2021-10-06 | Kigen Uk Ltd | An apparatus, method and computer program for managing memory page updates within non-volatile memory |
WO2022109898A1 (en) * | 2020-11-26 | 2022-06-02 | Micron Technology, Inc. | Programming video data to different portions of memory |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687396A (en) * | 1989-12-04 | 1997-11-11 | Canon Kabushiki Kaisha | Data buffer apparatus with interrupted transmission/reception |
US5724548A (en) * | 1990-09-18 | 1998-03-03 | Fujitsu Limited | System including processor and cache memory and method of controlling the cache memory |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
US5726937A (en) * | 1994-01-31 | 1998-03-10 | Norand Corporation | Flash memory system having memory cache |
US6026027A (en) * | 1994-01-31 | 2000-02-15 | Norand Corporation | Flash memory system having memory cache |
JPH07253929A (ja) * | 1994-03-14 | 1995-10-03 | Hitachi Ltd | 半導体記憶装置 |
US20040193782A1 (en) * | 2003-03-26 | 2004-09-30 | David Bordui | Nonvolatile intelligent flash cache memory |
EP1598831B1 (en) * | 2004-05-20 | 2007-11-21 | STMicroelectronics S.r.l. | An improved page buffer for a programmable memory device |
US7882299B2 (en) * | 2004-12-21 | 2011-02-01 | Sandisk Corporation | System and method for use of on-chip non-volatile memory write cache |
US7644224B2 (en) * | 2005-11-15 | 2010-01-05 | Sandisk Il Ltd. | Flash memory device and method |
-
2007
- 2007-06-19 WO PCT/IB2007/052350 patent/WO2008004149A2/en active Application Filing
- 2007-06-19 EP EP07789730A patent/EP2038892A2/en not_active Withdrawn
- 2007-06-19 CN CNA2007800243980A patent/CN101479805A/zh active Pending
- 2007-06-19 US US12/306,911 patent/US20090282185A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102971719A (zh) * | 2010-06-29 | 2013-03-13 | 图科塞拉公司 | 对存储器读取或写入 |
CN102971719B (zh) * | 2010-06-29 | 2016-11-30 | 图科塞拉公司 | 对存储器读取或写入的方法、设备及组件 |
CN106598504A (zh) * | 2016-12-26 | 2017-04-26 | 华为机器有限公司 | 数据存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20090282185A1 (en) | 2009-11-12 |
EP2038892A2 (en) | 2009-03-25 |
WO2008004149A2 (en) | 2008-01-10 |
WO2008004149A3 (en) | 2008-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101479805A (zh) | 具有闪速缓存部分的闪速存储器装置及其使用方法 | |
US9405675B1 (en) | System and method for managing execution of internal commands and host commands in a solid-state memory | |
CN102667736B (zh) | 存储器管理装置及存储器管理方法 | |
US8954648B2 (en) | Memory device and operating method thereof | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
CN103425600B (zh) | 一种固态盘闪存转换层中的地址映射方法 | |
CN100481022C (zh) | 用于控制非易失性存储器的控制器 | |
KR100389867B1 (ko) | 플래시 메모리 관리방법 | |
CN102063384B (zh) | 一种java卡利用缓存对编程只读存储器进行读写操作的方法 | |
US8171205B2 (en) | Wrap-around sequence numbers for recovering from power-fall in non-volatile memory | |
CN101782871B (zh) | 信息处理装置、处理器及存储器管理方法 | |
US10740013B2 (en) | Non-volatile data-storage device with spare block pools using a block clearing method | |
CN1952917A (zh) | 存储器控制器及具有存储器控制器的数据处理*** | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
CN106055489A (zh) | 存储器装置与其操作方法 | |
CN101288056A (zh) | 闪速存储器用的存储控制器 | |
CN101828172A (zh) | 串行接口nand | |
US7058784B2 (en) | Method for managing access operation on nonvolatile memory and block structure thereof | |
CN115168247B (zh) | 用于并行处理器中动态共享存储空间的方法及相应处理器 | |
US9870826B2 (en) | Memory apparatus and data access method thereof by using multiple memories for lifetime extension | |
CN106354652A (zh) | 非易失性存储器读写控制电路及方法 | |
CN101216806B (zh) | 一种数据更新的方法和装置 | |
CN107066208B (zh) | 一种外存设备的非对称读写方法及nvm外存设备 | |
US20110055459A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090708 |