CN1918552A - 基于主机使用特性的快闪存储器地址映射的适应性模式切换 - Google Patents

基于主机使用特性的快闪存储器地址映射的适应性模式切换 Download PDF

Info

Publication number
CN1918552A
CN1918552A CNA2004800416806A CN200480041680A CN1918552A CN 1918552 A CN1918552 A CN 1918552A CN A2004800416806 A CNA2004800416806 A CN A2004800416806A CN 200480041680 A CN200480041680 A CN 200480041680A CN 1918552 A CN1918552 A CN 1918552A
Authority
CN
China
Prior art keywords
data
block
sector
storage
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800416806A
Other languages
English (en)
Other versions
CN1918552B (zh
Inventor
卡洛斯·J·冈萨雷斯
马克·颂佩尔
凯文·M·康利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN1918552A publication Critical patent/CN1918552A/zh
Application granted granted Critical
Publication of CN1918552B publication Critical patent/CN1918552B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

在一例如快闪EEPROM系统的非易失性存储器存储系统中,一控制器响应于主机编程和控制器数据合并样式来切换将数据扇区映射到所述存储器的区块和元区块的方式,以便改进性能并减小磨损。采用不同的并行程度将数据编程到所述存储器中。

Description

基于主机使用特性的快闪存储器地址映射的 适应性模式切换
技术领域
本发明涉及非易失性快闪存储器的操作,且更明确地说涉及非常大的存储单元区块的管理。
背景技术
目前正使用许多商业上成功的非易失性存储器产品,尤其是小形状因数卡形式的产品,其使用形成在一个或一个以上集成电路芯片上的快闪EEPROM(电可擦除且可编程只读存储器)单元的阵列。通常但未必位于单独的集成电路芯片上的存储器控制器与卡所连接的主机对接,并控制卡内的存储器阵列的操作。此控制器通常包括微处理器、某非易失性只读存储器(ROM)、易失性随机访问存储器(RAM)和一个或一个以上特殊电路,例如一种在数据的编程和读取期间当数据穿过控制器时从数据中计算误差校正码(ECC)的电路。一些市售卡为CompactFlashTM(CF)卡、多媒体卡(MMC)、安全数字(SD)卡、智能媒体卡、人事标签(personnel tag)(P-标签)和记忆棒卡。除存储卡实施方案外,可将此类型的存储系统嵌入到各种类型的主机系统中。
两种一般存储单元阵列结构已得到商业应用,NOR和NAND。在典型的NOR阵列中,存储单元连接在沿着列方向上延伸的邻近的位线源极与漏极扩散之间,且控制栅极连接到沿着单元的行延伸的字线。存储单元包括定位在源极与漏极之间的单元沟道区域的至少一部分上的至少一个存储元件。因此,存储元件上的经编程的电荷水平控制单元的操作特性,接着可通过向定址的存储单元施加适当电压来读取所述单元。美国第5,070,032、5,095,344、5,313,421、5,315,541、5,343,063、5,661,053和6,222,762专利号中给出此类单元的实例、其在存储系统中的使用及其制造方法。
NAND阵列利用两个以上(例如,16或32个)存储单元的系列串,其与个别位线之间的一个或一个以上选择晶体管和参考电位一起连接以形成单元列。字线延伸穿过大量的这些列内的单元。通过促使串内的剩余单元被硬开启而在编程期间读取并验证列内的个别单元,从而使得流经串的电流取决于存储在定址的单元中的电荷水平。NAND结构阵列的实例和其作为存储系统的一部分的操作请查阅美国第5,570,315、5,774,397、6,046,935和6,522,580号专利。
如前文引用的专利中所论述且通常为导电浮动栅极的当前快闪EEPROM阵列的电荷存储元件,通常由导电掺杂多晶硅材料形成。可用于快闪EEPROM系统的替代类型的存储单元利用非导电介电材料代替导电浮动栅极来以非易失性方式存储电荷。由氧化硅、氮化硅和氧化硅(ONO)形成的三层电介质夹在导电控制栅极与存储单元沟道上方的半导电衬底表面之间。通过从单元沟道向氮化物中注射电子来编程单元(其中将电子捕集并存储在有限区域中),且通过向氮化物中注射热空穴来擦除单元。2002年10月25日申请的第10/280,352号美国专利申请案序号中描述使用介电存储元件的若干特定单元结构和阵列。
与大多数完全集成电路应用一样,快闪EEPROM存储单元阵列也存在缩小实施某一集成电路功能所需的硅衬底区域的压力。需要不断增加可存储在硅衬底的给定区域中的数字数据的数量,以便增大给定尺寸的存储卡和其它类型的封装的存储容量,或者既增大容量又减小尺寸。增加数据存储密度的一种方式为,每存储单元和/或每存储元件存储一个以上的数据位。这可通过将存储元件电荷水平电压范围的窗口划分为两个以上的状态来完成。使用四个这种状态使得每一单元可存储两个数据位,八个状态则使得每一存储元件存储三个数据位,依此类推。美国第5,043,940和5,172,338号专利中描述使用浮动栅极的多状态快闪EEPROM结构及其操作,且使用介电浮动栅极的结构在前述第10/280,352号美国申请案序号中予以描述。由于各种原因,多状态存储单元阵列的选定部分也可以美国第5,930,167和6,456,528号专利中描述的方式以两个状态(二进制)进行操作。
典型快闪EEPROM阵列的存储单元划分为一起擦除的单元的离散区块。也就是说,区块为擦除单位,即可同时擦除的最小数目的单元。每一区块通常存储一页或一页以上数据(页为编程和读取的最小单位),但单次操作中可编程或读取不止一页。每页通常存储一个或一个以上数据扇区,扇区尺寸由主机系统界定。实例扇区包括遵循磁碟驱动器中建立的标准的512字节的用户数据,加上关于用户数据和/或其被存储的区块的某一数目字节的附加信息。存储系统通常配置为每一区块内有16、32或更多的页,且每页存储一个或仅仅几个主机扇区的数据。
为了增加将用户数据编程到存储器阵列中和从存储器阵列中读取用户数据期间的并行程度,阵列通常划分为子阵列(一般称为平面),所述子阵列含有其本身的数据寄存器和其它电路以允许并行操作,从而可同时将数据扇区编程到每一平面或从每一平面读取数据扇区。单个集成电路上的阵列可物理上划分为平面,或每一平面可由单独的一个或一个以上集成电路芯片形成。美国第5,798,968和5,890,192号专利中描述此存储系统的实例。
为了进一步有效地管理存储器,可将区块链接在一起成为元区块,也就是说,将每一逻辑可定址的元区块定义成包括来自每一平面的一个物理区块。国际专利申请公开案第WO 02/058074号中描述元区块的使用。共同逻辑地址将元区块识别为用于编程和读取数据的目的地。同样,元区块的所有区块一起被擦除。以此类较大区块和/或元区块操作的存储系统中的控制器执行许多功能,包括从主机接收的逻辑区块地址(LBA)、物理区块号码(PBN)与存储单元阵列内的页地址之间的转译。此转译通常涉及逻辑区块号码(LBN)与逻辑页的中间术语的使用。
存储系统控制器优选地能够通过其结构和控制韧件,促使数据在主机对其施加的各种状况下得以编程和读取。作为一个实例,可在高速率的速度下接收音频、视频或其它数据流(streaming data),且要求存储系统以实时存储数据。作为另一实例,主机可促使存储系统每次编程或读取一个数据扇区,例如在写入或更新存储在阵列中的文件分配表(FAT)时所发生的情况。
经常更新存储在元区块中的数据,更新的可能性随着元区块的数据容量的增加而增加。通常将一个元区块的更新的扇区写入到另一元区块。未改变的扇区通常也作为相同编程操作的一部分从原始元区块复制到新的元区块以便合并数据。或者,未改变的数据可保留在原始元区块中,直到稍后与更新的数据再次合并到单个元区块中为止。
发明内容
根据本发明,编程数据的存储单元的尺寸适应主机所编程的数据的性质和数量。当增加数据合并事件(在特定状况下发生)的缺点超过了通过将数据写入到元区块而提供的高度并行的优点时,数据扇区所写入到的区块的数目小于元区块中逻辑上链接在一起的区块的数目,例如在单个平面中的一个或一个以上区块内循序进行编程。
当相对于元区块容量而言正编程的数据扇区的数目值得利用高度并行的优点时,将数据扇区并行地写入到元区块的所有区块。然而,当特定数据编程操作相对于元区块的存储容量仅涉及较少数目的数据扇区时,所导致的增加的数据合并操作可能对性能造成的损害是较高并行无法弥补的,在此情况下无法实现使用元区块所提供的并行优点。
根据本发明的特定方面,视主机写入命令中和/或一系列写入命令中所包括的扇区数目而定,存储器控制器适应性地以高并行程度将许多数据扇区编程到元区块中或以低并行程度将其编程到比构成元区块的区块数目少的的区块中。视用于映射到此类物理区块中的逻辑区块的主机数据编程样式而定,可将数据编程到M个物理区块的完整元区块中,其中M等于4、8或某一其它整数,或者编程到例如M/2、M/4、M/8或类似数目的更小数目的区块单元中。在特定类型的主机编程操作中,数据的单个扇区的编程通常发生在当主机更新例如FAT表的操作文件时的正常操作中,其针对于单个区块而不是针对于元区块或子元区块。元区块不用来每次编程一个扇区。元区块也不可能用于具有逻辑上循序的地址的仅仅几个扇区(其将通过并行编程而扩展到元区块的若干区块)的编程操作,藉此导致每次只有一个或几个数据扇区被写入到元区块的每一区块。此情况下优选使用单个区块。此避免了每当更新元区块的这样的几个扇区时必须将来自元区块的所有若干区块的数据合并到新的区块中且原始区块被擦除。单个区块的此类数据合并仅导致单个区块擦除,从而导致存储器的编程和擦除循环(磨损)(其可缩短存储器的使用寿命)的数目更少。
根据本发明的另一特定方面,如果可能提供更多的最佳性能特性,将以一个并行程度访问存储的数据转换为以另一并行程度进行访问。例如,当对元区块的数据写入已改变时,对元区块的并行编程可转换为对单个平面中的区块的循序编程,从而此将改进性能。此转换包括将来自元区块的区块的数据复制到单个平面中的其它区块。相反,对单个平面中的区块的循序编程可转换为对元区块内的并行编程以改进性能,包括将来自原始区块的数据复制到元区块中。
在示范性实施方案中,可将模式位存储于快闪存储器阵列中并与个别扇区用户数据关联以指定所述扇区已在元区块中与其它扇区并行地编程,或在单个区块中与其它扇区以逻辑序列编程。模式位可与扇区的用户数据一起存储,或者作为含有许多用户数据扇区的附加数据的另一扇区的一部分。当主机命令读取或重新编程扇区的用户数据时,控制器通过读取此位以适当模式访问所述扇区。初始操作期间,控制器以并行模式运作,但将响应于指定一个或几个扇区写入操作的序列的主机编程命令而改变为循序模式。控制器接着改变与受影响的数据扇区关联的模式位,并循序编程用户数据。当从主机接收到一个或一个以上编程命令指定超过扇区阈值数目的将要一起编程的数据扇区数目时,控制器的操作可切换回并行编程模式。
另外,特定实施方案中,每一元区块由来自存储器阵列的若干或所有平面中的每一平面的一个区块形成。接着以两个主要模式中的一者来编程并读取用户数据。在第一主要模式中,跨越元区块的多个区块并行地编程许多连续定址的数据扇区。此导致数据扇区无序地存储在个别区块中。它们跨越形成有元区块的平面而交错。在第二主要模式中,将数据扇区循序写入元区块的个别区块内。控制器也响应并行和循序编程之间的数据扇区的变化,来重新指定跨越平面延伸(第一模式)或在单个平面内循序延伸(第二模式)之间的物理地址的次序。此可包括在区块之间移动数据。存储系统通常在不同区块中以这两个模式中的不同模式操作,以便提高存储系统的性能。
以下对本发明的示范性实例的描述中包括本发明的其它方面、优点和特征,应结合附图来阅读所述描述。本文引用的所有专利、专利申请案、论文和其它公开案的全文基于所有目的以引用的方式并入本文中。
附图说明
图1概略地绘示非易失性存储系统及其与主机系统的使用;
图2说明图1的存储系统的示范性结构;
图3说明图1和图2的存储系统的存储单元阵列的特定组织;
图4绘示图7的存储单元阵列的区块的第一实例序列;
图5绘示图7的存储单元阵列的区块的第二实例序列;
图6说明将逻辑区块地址映射到图7的存储单元阵列的物理区块的一个实例;
图7说明将逻辑区块地址映射到图7的存储单元阵列的物理区块的另一实例;
图8绘示图7的存储单元阵列内的数据修改的第一实例;
图9绘示图7的存储单元阵列内的数据修改的第二实例;
图10绘示每一数据扇区内的计数字段跟踪主机进行的写入操作的实例;
图11说明组织数据扇区的不同方式的实例;
图12绘示存储单元阵列区块从第一序列转换为第二序列的实例;且
图13绘示存储单元阵列区块从第二序列转换为第一序列的实例。
具体实施方式
图1概略地绘示电子系统(例如,计算机系统),其包括可并入有本发明的各方面的快闪存储系统。此电子系统的一些实例包括台式计算机、笔记本计算机、手提计算机、掌上型计算机、个人数字助理(PDA)、MP3和其它音频播放器、数字相机、摄影机、电子游戏机、无线和有线电话装置、应答机、录音机、网络路由器和其它电子系统。
图1的此电子系统包括连同随机访问主要系统存储器25而一起连接到系统总线23的处理器或微处理器21,和至少一个或一个以上输入输出装置27(例如,键盘、监视器、调制解调器及类似装置)。连接到典型计算机系统总线23的另一主要计算机系统组件为许多长期、非易失性存储器。与例如DRAM(动态RAM)或SRAM(静态RAM)的易失性存储器相比,非易失性存储器即使在从装置移除电源之后仍保持其存储状态。通常,此存储器为使用磁性或光学技术的磁盘驱动器,其具有兆字节、十亿字节或兆兆字节的数据存储容量。此数据检索到系统易失性存储器25中以便用于当前处理,且可容易地被补充、改变或更改。
在图1的情况下,大容量存储存储器为非易失性快闪存储系统29。存储器29可为抽取式存储卡的形式,或可永久地连线到(嵌入)计算机系统中。存储系统29包括连接到计算机系统总线23的控制器31,和由一个或复数个集成电路芯片形成的存储单元阵列33。主要通过线35从控制器31向存储单元阵列33传输数据和指令。同样,通过线37从存储单元阵列33向控制器31传输数据和状态信号。数据线35和37视实施方案而定可为串行或平行的。图1中未绘示控制器31与阵列33之间的其它控制和状态电路。在一些系统中,控制器31嵌入于计算机系统内,且存储单元阵列33封装在抽取式卡中。
阵列33可以每一电荷存储元件或区域存储一个数据位的方式操作。或者,可以每一存储单元电荷存储元件或区域中存储一个以上数据位(称为多状态或多层级单元)的方式操作阵列33。
图2绘示实例存储卡结构,其包括执行主机接口和存储器控制功能的单个控制器集成电路芯片121,和由复数个集成电路芯片127构成的快闪存储单元阵列。系统控制器和存储单元阵列芯片通过总线124连接,总线124允许在控制器121与存储器芯片127之间传送命令、地址和数据。应注意,虽然此为典型的,但一些存储系统不具有专用控制器,而是依赖于主机系统的直接控制。
通行的做法为每一扇区的编程到扇区中的主机数据价值随附有误差检测和校正码(ECC),其用于确定所存储的数据的有效性。一些此类系统接着通过使用ECC以确保数据未被破坏的方式来检查正读取的数据的有效性。用户数据的扇区也可以标头形式连同ECC和其它附加数据一起存储。
访问存储器阵列以编程或读取循序定址的数据的一个特性为“并行程度”。也就是说,通常优选并行地编程并读取尽可能多的数据,以便改进存储系统性能,即从/向阵列传送数据的速率。本文中术语“并行程度”用于表示可并行地编程或读取的存储器的页的数目。在逐一模式中,每次仅访问单个页。在逐四模式中,每次在多达四页中访问复数个连续定址的主机扇区。为了改进一些主机数据访问样式下的性能和耐久性,需要组织映射以允许更大的并行程度,同时在其它主机数据访问样式下需要组织映射以便降低并行程度。主机可能以不同的样式访问存储系统的不同部分中的数据,从而需要对于存储系统的不同部分以不同方式组织映射。对于存储在存储装置的特定地址范围中的数据的主机数据访问样式也可能随着时间而改变,从而需要随着时间修改特定地址范围的映射组织。一般需要这样一种存储器管理,其在可能经历的各种主机使用样式下使存储器利用最优化。
图3绘示图1和图2的存储单元阵列的实例。此实例中,阵列包括两个集成电路装置快闪0和快闪1。当然,视存储系统的期望的存储容量而定,可使用一个或三个以上的装置。每一装置中阵列部分划分为四个平面0到3,但在其它实施例中可使用2、3或4个以上的平面。复数个Q页(页为编程和读取的最小单位)包括在存储单元的每一区块(擦除的最小单位)内,且复数个N区块包括在每一平面内。页具有存储一个或复数个主机数据扇区的容量,从而使得每一区块存储可为每一区块中的Q页的倍数的M个数据扇区。每一平面具有其自身的电路,所述电路访问存储区块和平面内的页。通常,每一平面中仅同时写入或读取一个页。在特定实施例中,每一扇区包括512字节的用户数据。每一扇区还可包括用于标记、用户数据ECC、各种参数和其它附加数据的附加的位或字节。
平面的数目支配可操作存储系统的可能的并行程度。并行程度代表可同时编程或读取的页的数目。并行程度越大,可可同时操作的数据越多。并行程度可为1、2或更大。在高并行程度下,控制器进行逻辑到物理地址转换以使得一次访问多个平面中的多个页。可同时访问具有连续逻辑地址的许多数据扇区。此扇区数目等于正并行访问的页的数目乘以每一页中所存储的扇区数目。对于并行程度为一的情况,其在本文中称为逐一模式。在此最低并行程度下,每次仅访问一个平面的一页。在此情况下,每次可访问可存储在单个页中的具有连续逻辑地址的许多个主机数据扇区。
控制器可通过来自主机的写入命令中指定的具有连续逻辑地址的数据扇区的数目来确定将数据编程到存储器中的并行程度。一些主机命令在单个命令中指定大量将编程的连续数据扇区。控制器通过将数据以更高的并行量写入到存储器中来响应此类型的命令,此为图4中绘示的实例。其它主机命令仅指定写入一个或极少数几个具有连续逻辑地址的数据扇区,则以最小并行程度执行此命令,此为如图5中绘示的实例。
在所描述的特定存储器实施方案中,可将多个数据扇区同时编程到多个物理页中,每一平面中一个数据扇区,以便获得最大并行程度。此准许更高性能的数据写入。明确地说,对于四个平面,可同时写入多达四页,从而存储器的操作比每次仅可将数据写入一个扇区的存储器快达约四倍。编程所述数量的数据所需要的单独的编程操作的数目显著减少。作为另一实例,对于具有八个平面的存储器,具有最高并行度的此存储器的编程比每次仅可将数据编程到一页中的存储器快达约八倍。
在多平面存储器组织中,来自每一平面的区块可逻辑地编组在一起以形成元区块。图3的八个区块(包括绘示其页的线)的组合为元区块的实例。元区块为含有连续主机地址的某一范围中的扇区数据的区块的逻辑编组。子元区块为元区块内作为组或单位而被管理的区块的子集。一旦将元区块分割为子元区块,出于数据管理目的,每一子元区块实质上与具有减小的并行度的元区块一样被管理,因为子元区块内的数据独立地合并,而不依赖于元区块的其它部分。图3中,例如,每一装置上的四个区块可形成元区块或子元区块,而不是使元区块延伸跨越两个装置。
以下论述使用以下术语:(1)原始区块为含有某一原始数据集的元区块或子元区块;(2)更新区块为含有来自原始区块的一些数据或从原始区块复制的一些数据或两者的更新版本的元区块或子元区块;和(3)逻辑区块或子元区块是映射到物理元区块或子元区块的主机逻辑扇区集,与区块的物理位置无关,或与数据是包含在单个位置还是包含在原始区块和更新区块中无关。
逻辑元区块是一中问单位,无论数据在任何给定时间所驻存的物理区块如何,其均位于在任何给定时间形成元区块的物理区块集与由主机管理以含有某一范围的数据的逻辑构造之间。另外,元区块可映射在若干存储器电路芯片上,以致于如果电路芯片上的存储单元阵列含有N个平面,如果映射在两个芯片上,那么元区块含有多达2N个区块,或如果映射在更多芯片上,那么含有更多区块。
控制器将具有给定逻辑区块地址(LBA)的数据映射到由物理区块号码(PBN)识别的平面内的特定物理存储区块中。构成元区块的区块的PBN不必相同。图6显示由每一平面内具有不同物理位置的若干区块形成的实例元区块。此外,由于构成元区块或元区块多个部分的区块在存储系统操作的过程期间变化,所以每一平面内区块的相对位置无需保持固定,而是可彼此独立地重新定位在每一平面内。
当用新的数据更新扇区时,将与给定扇区关联的区块复制到平面内的新区块。区块可位于平面内的任何地方。图7绘示关于将子元区块移动到一些其它任意物理区块的实例。
配置用于最大并行度的元区块最适于访问具有循序逻辑地址的多个数据扇区的主机命令。当每一主机读取或写入命令的扇区数目匹配或超过可并行访问的扇区数目时,即实现高水平的性能。借助每次操作越来越多数目的扇区命令的主机命令即可实现加1增益,因为此可减少与发布个别命令相关联的每扇区的处理额外开销量。
当主机每平面仅写入一个扇区并接着写入阵列中其它位置时,显示出以元区块操作存储器的缺点,因为需要合并部分更新的元区块内的数据。此合并需要将来自原始元区块的所有未改变的数据扇区复制到编程已更新数据的新的元区块中,且其后擦除原始元区块中的所有区块。在具有8个平面、每区块64页且每一页中存储1个数据扇区的存储器阵列的情况下,需要进行504个扇区的复制和8个区块的擦除。相反,如果将新的数据扇区写入到以并行一操作的子元区块,那么合并需要56个扇区复制和单个区块擦除,因更新几个数据扇区而导致额外开销大大减少。
简而言之,非循序的写入将加速存储器磨损,因为与合并和数据移动关联的擦除会磨损存储器。每一存储区块可忍受的擦除和编程循环的数目是有限的,此后其便不再正确运作。循环的最大数目尤其取决于存储器阵列的结构和必须维持存储器存储状态的精确度因素而定。此数目可低达10,000循环或可能相当大,例如100,000循环或更多,但重要的是要维持存储系统中所有区块的可操作性。为了使磨损最小化,优选使区块擦除最小化。
以下是重新定位元区块、子元区块或任一者的一部分和/或合并数据的各种情形:
(1)当主机在区块内重新写入一个或一个以上数据扇区时。此时,系统将已擦除的区块分配为更新区块,并将重新写入的数据写入到所述更新区块。往往原始区块内的一些或所有未改变的数据也被复制到更新区块,且更新系统内维持的逻辑到物理地址转换,以便随后响应于接收到对于相同逻辑地址的数据的请求来定址新的区块。如果存储在原始区块中的所有数据已通过主机进行的数据复制或数据重新写入来编程更新区块而被取代,那么接着擦除原始区块。
(2)如果需要将已擦除的区块分配为更新区块,但没有预擦除的区块可用(尤其在原始区块驻存的平面中),那么将两个或两个以上其它区块内的数据合并在一个或一个以上其它区块中。接着擦除已移除所有数据的一个或一个以上区块,使其可用作当前编程操作的更新区块。
(3)在一个实施例中,系统可仅合并提供更新区块所需的平面中的元区块的部分。其余平面内的元区块的区块可根据需要随后加以合并,因为需要其余平面内的更新区块。
(4)在另一替代实施例中,在某些平面而非其它平面中已合并的元区块由主机进行写入,并需要已合并的那些平面中的已擦除的区块。不需要完全合并(垃圾收集)任何给定元区块中的数据,实际上,独立地管理每一平面内的区块以允许对区块进行按需合并和分配。以此方式,系统操作期间可将子元区块移动到新的物理地址,而不依赖于给定元区块的其它部分。
当存储数据时,控制器可通过以准许高速操作的方式将数据扇区映射到物理区块中来进一步组织向存储器中的写入。图4绘示存储器以准许访问的最大并行的方式跨越平面0到3而交错,此实例中为4X并行交错。并行交错表示将存储器格式化从而使得循序定址的主机扇区在平面之间交错,也就是说,在不同平面的页中并行地同时编程多个循序定址的数据扇区。先将数据同时编程到构成元区块的每一平面的一个区块,然后再将数据编程到形成另一元区块的每一平面的下一系列区块中。假定对于图4的实例,仅将一个数据扇区存储在区块的个别页中,则控制器将第一扇区(扇区0)写入到平面0中的区块中,将第二扇区(扇区1)写入到平面1中的区块中,将第三扇区(扇区2)写入到平面2中的区块中,并将第四扇区(扇区3)写入到平面3中的区块中。存储器的此组织可称为并行映射。在此情况下,此为“逐四”或“x4”或“4X”交错。通过将数据写入组织成此格式,允许来自主机的连续定址的传入的数据(通常为位流)以高速的方式写入,因为每次编程四个不同平面中的四个扇区。
在特定实施方案中,与每一平面关联的缓冲器(其可为寄存器)连续地接收传入的数据,且根据控制器如何交错存储器而将数据从寄存器并行地写入到非易失性存储单元中。存储单元的特定交错可通过相应地格式化存储器而获得。可根据写入数据的相同交错格式从存储器中检索数据。
存在许多不同的映射存储器的方式,包括其它并行交错程度。可能存在多于并行交错程度的平面。例如,即使存在四个平面,但用于特定编程操作的并行交错可能仅允许同时访问两个平面。此可称为“逐二”或“x2”或“2X”交错。也可以“逐三”或“x3”或“3X”交错来操作存储器。
图5绘示存储器的逐一交错。并行程度为一。有时此称为非并行,因为每次通过一个平面中的单个页进行访问。图5中,循序将扇区写入到一个区块直到填满所述区块的所有页为止,且接着写入前进到另一区块。此可称为“逐一”或“x1”交错。
定时实例说明图4与图5的交错之间的性能差异。根据图5,为了写入四个连续扇区,循序将单个平面的数据寄存器填充四次,且循序执行写入四次。如果寄存器载入消耗25微秒,且写入消耗1微秒,那么总时间将为:4*25微秒+4*1000微秒=4100微秒。但在图4的并行写入的情况下,四扇区写入仍涉及四个数据寄存器的循序载入,但只有一次写入操作。总时间将为:4*25微秒+1000微秒=1100微秒。此4X并行映射导致性能上比1X映射提高3.7倍。由于不同存储器具有不同定时特性,所以这些特定数目仅用来提供比较性实例。
控制器中或存储器中可存储有交错指示器位(一个或多个),以便使控制器知道数据扇区是如何存储的。控制器可使用交错指示器位(一个或多个)来确定存储更新数据或读取数据的序列。例如,存储器上的每一扇区可具有包括在其中以指示如何存储了扇区的一个或一个以上指示器位。对于四平面存储器,存在7个可能的存储器交错配置。这些交错指示器位附加到用户数据位和其它附加位(例如ECC)之上。或者可将指示器位单独存储在表中,而不是在标头中。
单个存储器阵列最通常将具有以不同交错访问的区块。例如,相同存储器可具有逐一(图5)存储的一些数据和逐四(图4)存储的其它数据。扇区交错指示器位指示已用来在一个或一个以上区块中存储扇区的交错。例如,第一数据文件可使用逐一交错存储在存储器中,存储在第一子元区块中的扇区的指示器位指示此情况。第二数据文件可使用逐二交错而存储在子元区块中,如此存储的扇区的指示器位指示此情况。第三数据文件可使用逐三交错以相同方式存储在子元区块中。在单个存储器阵列中,可以这些方式中的若干方式来组织各种存储单元区块。
控制器根据主机编程命令的性质来决定如何引导数据。例如,如果主机正更新FAT文件系统(MS-DOS文件格式),则每一数据写入命令通常将指定单个扇区。也就是说,响应于每一主机写入命令,仅将一个扇区编程到快闪存储器。在此情况下,数据可循序存储在存储器的单个区块中(逐一操作)而不是元区块中。在另一类型的数据编程操作中,其中正编程非常大的文件,主机写入命令指定将要以逻辑地址的序列进行写入的极大量的数据扇区,其可占据至少一个元区块的大部分或全部。控制器响应主机活动以将并行程度与数据写入的性质匹配。
除了在决定如何将逻辑地址映射到物理地址时响应个别数据写入命令外,控制器可监视主机写入命令的样式。此监视可包括维持主机已访问特定区块(一个或多个)的次数的计数。此信息可作为附加数据存储在所述区块中所存储的数据扇区内,或存储在单独的物理区块中。对存储数目(一个或多个)的分析可包括与阈值数目比较,或将两个或两个以上访问使用样式的频率差异与阈值数目进行比较。此信息可用于(例如)识别频繁地重新写入数据的元区块,在此情况下控制器可决定将具有相同逻辑地址的未来写入改为映射到单个区块。此减小由于数据更新而必须合并的数据数量。
控制器可监视并存储的另一编程特性为,由于主机命令写入而写入一个或一个以上页或区块的次数相对于由于控制器启动的数据合并(垃圾收集)而写入一个或一个以上页或区块的次数。另一特性为,小于为了数据写入而访问区块或元区块的全部页的次数,因为区块或元区块的重复部分访问可发信号告知降低将数据写入到此区块中的并行程度的期望。另外,在决定逻辑地址向物理地址的映射时,可维持并使用通过个别主机编程命令而写入的扇区数目统计。例如,不论主机写入命令是否主要地指定一个,每次写入四个或四个以上数据扇区可非常有用。
尽管为解释概念起见,图4和图5的图示实质上绘示了以两种交错方案中的一种方案来操作整个集成电路装置,但通常此并不是使用存储器的有效方式。每一装置通常将以以下方式操作:其区块的一部分用来形成用于并行访问的元区块(根据图4),且其区块的其它部分每次被防问一个(根据图5)。
如何跨越平面来交错扇区地址存在某些优点和缺点。更高程度的并行交错的优点在于,可将循序定址的扇区并行地写入到存储器。较低程度的并行映射或循序映射的优点在于,响应于部分区块更新需要复制较少的数据,且尤其是当重新写入少量数据扇区时需要对较少的区块进行垃圾收集。当重新写入存储在元区块中的数据的一部分时,将驻存在未重新写入的原始区块中的数据复制到新的区块,并与新的数据一起存储。如果使用并行映射来存储数据,那么将需要重新写入整个元区块,因为数据被扩展在不同平面上。然而,如果使用循序映射将数据存储在子元区块中,那么仅需要对子元区块中的数据进行垃圾收集。将要与尚未重新写入的任何数据一起重新写入的数据被写入到新的区块中,且新的区块与元区块的其它区块链接。此将使需要执行的复制、写入、重新写入和垃圾收集的数量最小化。
通常,快闪存储单元具有有限数目的擦除和写入循环(例如,10,000与100,000循环之间的某处),此后其可靠性可能将减小到不可接受的水平。因此,通过使重新写入和写入的数量最小化,其增加了存储器的寿命。减小垃圾收集的数量也会改进性能,因为垃圾收集耗费时间。
以下实施方案是本发明的使用快闪存储器的特定实施例。然而,快闪存储器仅用作实例,且本发明可以其它存储技术使用。在特定实施例中,本发明涉及存储装置,其中包括含有多个扇区“区块”的快闪存储器装置。区块定义为通过一次擦除操作而擦除的存储器的数量。也就是说,区块是擦除单位。本发明特定地解决针对所述区块的映射和访问的机制。
当主机装置访问快闪存储卡时,存在若干特有的使用样式。FAT文件系统产生两种截然不同的样式:(1)FAT和目录区域中的单个扇区,和(2)存储装置的用户数据区域中的多个扇区。如果卷中存在片段,那么对于特定应用而言,使用将进一步为“随机”而不是循序的。
主机可通过各种主机使用样式访问快闪存储器。一种使用样式为单个扇区模式,其中每次访问一个扇区。其它使用样式为多重扇区,所述情况下存储系统同时跨越每一快闪装置中的多个平面而每平面访问一个扇区。
本发明将非易失性存储器的主机使用样式之间的并行程度与如何组织或格式化非易失性存储器匹配。并行程度可为逐一(也称为循序)、逐二、逐三、逐四,等等。逐一或循序访问方法先处理一个区块中的每一扇区,然后再继续到下一区块,且所述访问每次限于一个扇区。并行访问方法(大于逐一访问)在一次操作中而不是在若干循序或逐一操作中处理来自每一平面的扇区。并行操作通过增加处理量而允许较高性能。这两种方法在性能和磨损方面具有优点和缺点。
本发明监视主机访问且将切换在存储器中存储数据的方式,以便利用任一访问模式的存储器磨损和性能特性。
存在多种维持映射信息的方法,其中一个实例是起始LBA的表。保存在存储器中的表用来定位每一物理存储区块的起始LBA。
区块映射的适应性并行需要进行扇区映射和区块管理,其通过仅对含有正用新的数据重写的扇区的区块执行复制或擦除操作(或两者)而为快闪存储器提供最佳写入和擦除磨损性能。
对为了单个扇区并行而正将数据扇区映射到其中的区域的访问限于以每次一个的方式写入循序定址的扇区,以便维持给定逻辑区块内的循序地址排序。并行访问(大于逐一访问)允许同时写入每平面一个扇区,从而改进性能,改进的倍数等于并行写入的平面的数目。例如,具有四个平面的装置写入数据的速度可比单个扇区写入快约四倍。具有八个平面的装置写入数据的速度可比单个扇区写入快约八倍。具有十六个平面的装置写入数据的速度可比单个扇区写入快约十六倍。
图8绘示当使用循序映射时的数据修改。为了重写四个连续扇区将需要将新的数据写入到新的区块,并将旧的数据复制到新的区块,且擦除旧的区块。仅需要发生一次擦除。复制处理不复制已擦除的扇区。
图9绘示当使用并行映射时的数据修改。为了重写四个连续扇区将需要找到四个新的区块,并将旧的和新的数据复制到新的区块,且擦除四个旧的区块。需要发生四次擦除。如果相对于主机写入的数目需要许多数据合并操作(如同随机或单个扇区访问时可能发生的情况),那么增加的数目的擦除将影响芯片寿命。
每一扇区通常含有用户数据、ECC数据和附加数据。附加信息可包括扇区ID、物理地址信息和数据管理所需的其它系统相关信息。在本发明的一个实施例中,附加信息含有管理数据映射的适应性方面所需的额外信息。可维持某一数目的位以指示并行程度、子元区块的大小、扇区交错或数据映射的其它指示。
举例而言,如果最大元区块大小为四个区块,那么可使用二位映射字段来指示并行程度,其中00b指示逐一,01b指示逐二,等等。在此情形中,第一平面中的第一区块将具有指示其被格式化成的并行程度的映射字段,根据所述映射字段,某一其它数目的区块将包括在相同的子元区块中。例如,假如第一值为指示并行程度二的01b,那么其将指示仅元区块中的下一区块将在相同的子元区块中。
为方便起见将维持此映射字段信息,因为可能通过从元区块中每一区块中的扇区或从一给定区块中的循序扇区读取逻辑地址信息并基于其确定布局来确定数据映射。例如,如果给定区块中前两个物理扇区距离两个逻辑地址,那么交错因数将为二,且因此并行程度将为二。数据映射信息可存储在单独的表中而不是扇区附加信息中,且每当针对一给定元区块或子元区块修改数据映射时即得到更新。所述表将维持在非易失性存储器中,在一个实施例中维持在存储器装置上的备用区域中。
此外,在一实施例中,维持跟踪主机使用和/或卡活动的统计资料,以便用于稍后进行分析以确定最佳数据映射。一项统计资料为写入一给定主机命令中的扇区数目。如果此统计资料连同元区块或子元区块中每一扇区一起存储,则可将统计资料作为群组进行分析并确定最佳并行程度。在一特定实施例中,在写入扇区时将此统计资料存储在扇区附加开销中。在另一实施例中,可将统计资料暂时存储在易失性存储器中,且接着传送到易失性存储器中的单独表中。
也可为所写入的每一扇区或区块将统计资料累积在(例如)表中,从而累积每一者的出现数目或相对出现数目,并基于某阈值改变并行程度。出于累积的目的,将根据所允许的最近并行将统计资料装仓。例如,如果仅准许并行程度一和四,则对三个扇区操作的写入命令将连同对四个扇区操作的主机命令一起累积在计数中,且对大于四个扇区的任何写入命令将被装仓在对四个扇区的操作的计数中。表示最大并行程度的仓(bin)通过命令扇区计数除以最大并行而加1。
举例而言,如果最大并行为四,那么16个扇区的主机写入将使逐四计数加1四。如果一个区域主要以单个扇区主机命令被写入,那么统计资料将累积,指示最佳并行程度为一。同样,如果一个区域主要以四扇区主机命令被写入,那么统计资料将累积,指示最佳并行程度为四。
另一统计资料为扇区是否由于主机写入或由于数据合并而被写入。此统计资料可累积,例如累积在不同的表中或在个别扇区的额外开销中,并基于两个机制之间的相对数目或比率的某阈值而累积,从而累积每一者的出现数目或相对出现数目,并根据某阈值改变并行程度。例如,如果确定扇区主要由于数据合并而被写入,那么如果为了逐一并行而重新格式化区域以使数据合并活动中涉及的区块数目最小化,则可改进总体性能或耐久性。
上述两组统计资料可组合,从而使用第二统计资料达到阈值,促使第一统计资料的评估确定最佳并行程度。在一个实施例中,在非易失性存储器中在存储器装置上的备用区域中维持保存此累积统计资料的表。应注意,累积统计资料可能不以每扇区的方式维持,而是以元区块为基础,或以更大的区域(例如,元区块的编组)为基础。
系统可最佳化以便仅对所关注的区域维持累积统计资料,从而节省空间。例如,给定区域的累积统计资料的维护可在检测到对一数目的扇区(与区域被最佳格式化的扇区数目不同)操作的命令时启动。此类写入称为非最佳写入命令。
例如,如果为了逐一并行而对区域进行格式化,且在区域中执行四扇区写入,那么此可启动所述区域的累积统计资料的存储。一旦非最佳写入命令的数目超过阈值,系统将切换区域被格式化的并行程度。累积统计资料可实施成计数器,其在一个主机扇区计数出现时加1,并在另一主机扇区计数出现时减1。例如,如果仅准许逐一和逐四并行,那么每次出现单个扇区写入可将单个计数器加1,且每次出现四扇区写入将单个计数器减1。当达到特定阈值时,将切换区域数据组织。
存储区块访问模式信息的另一方法为,存储系统区域中所存储的映射扇区中的区块的模式位。访问统计资料也可存储在系统区域中。
图10绘示在主机进行的以下写入操作序列之后区块的每一扇区内的计数字段的实例:
(1)以扇区0开始的16扇区的主机写入;
(2)以扇区16开始的8扇区的主机写入;
(3)扇区24(仅1扇区)的主机写入;
(4)扇区25的主机写入;
(5)扇区26的主机写入;
(6)扇区27的主机写入;
(7)扇区28的主机写入;
(8)扇区29的主机写入;
(9)扇区30的主机写入;和
(10)扇区31的主机写入。
同时绘示所收集的统计资料,其假定仅允许逐一(1405)和逐四(1408)的并行程度。单个扇区写入可进行八次写入(1405)。此统计资料是从对扇区24到31的写入收集的。逐四写入可进行六次写入(1408)。更明确地说,存在一次十六扇区写入,其可划分为四次四扇区写入,和一次八扇区写入(其可划分为两次四扇区写入)。总数为六次四扇区写入。
基于所收集的统计资料,可为了逐一或逐四映射重新格式化存储器。例如,何时从一个映射切换到另一映射的标准可基于特定计数(例如,x4)何时超过另一计数(x1)。可使用其它标准。
所述实例也绘示x1和x4的收集统计资料的实例。然而,在其它实施例中,可为了其它可能的并行程度(例如,x5、x8和x16)而跟踪统计资料。
图11绘示不同类型的扇区映射方案的实例。当读取每一区块的ID以初始化转换表时,获得关于为每一区块使用的访问方法的知识,且在一个实施例中为每一区块中用户数据的位置。从标头读取访问模式位,并将其写入到转换表中以指示区块的访问方法。区块不需要从平面到平面而连续。
图11绘示并行区块区块扇区编号方案、逐一或连续区块扇区编号方案以及部分逐一访问和部分大于逐一并行扇区编号方案的实例。部分逐一和部分大于逐一扇区编号方案可称为混合模式方案。这些方案分别与并行、循序(逐一)和混合模式访问方法一起使用。
图12绘示4X到1X映射转换的实例。此为从4X映射到1X映射的转换。在正常操作期间,快闪存储器通常在最初设置为以最高性能运行,这意味着以并行模式(大于逐一访问)运行。通常,更新区块的分配的时机将用以触发对元区块是否应从一种格式转换为另一格式的确定。如果区块中单个扇区写入的数目超过阈值(其可由用户定义或由系统设计者定义),那么将访问方法转换为逐一方法。此需要将所有扇区写入到新的扇区中的适当位置,并相应地设定其访问位。
图13绘示循序到并行映射转换的实例。与先前情况相反,如果区块中的扇区从单个扇区访问到多扇区访问,那么将访问方法相应地转换为并行访问,将扇区相应地重新写入到新的区块中,并调节每一扇区中的访问模式位。从第一并行程度映射到第二并行程度映射的变化将以类似方式执行。例如,映射可从2X转换为4X,或从4X转换为8X,或反之亦然。图13中的第一并行程度为1X映射。此为从1X映射到4X映射的转换。
应注意,当数据正从主机写入到已有数据写入的扇区时,系统通常将使一个格式到另一格式的变化与新区块的分配结合。当主机将数据重新写入到给定区域中时分配新的元区块或子元区块。此时,可将驻存在原始区域中的一些数据复制到新分配的区域。有时稍后在数据合并期间进行复制。无论何种情况,系统通常将利用为逻辑区块分配新区域的事件来转换格式。此时,可重新设定所述区域的使用日志。
控制器具有视需要在每一访问模式之间切换的能力。控制器可基于主机活动来确定使用何种模式。如果已出现许多单个扇区访问,那么此可触发从并行访问模式到循序访问模式的转换。
此外,也允许混合模式区块访问。在相同存储器集成电路内,一些数据可针对循序访问而存储,且其它数据可针对并行访问而存储。此外,在相同快闪卡系统内,一个存储器集成电路可具有针对循序访问而存储的数据,而存储在另一存储器集成电路上的其它数据是针对并行访问而存储。
结论
虽然已参照本发明的示范性实施例描述了本发明的各个方面,但将了解,本发明在所附的权利要求书的完整范围内受到保护。

Claims (13)

1.一种非易失性存储系统,其包含:
一非易失性存储单元阵列,其划分为至少两个子阵列,其中可在所述至少两个子阵列的每一者中同时访问数据,且存储在所述至少两个子阵列内的数据具有至少第一和第二不同的交错配置。
2.根据权利要求1所述的存储系统,其中在所述至少两个子阵列的每一者中可同时访问的所述数据包括数据扇区,且其中存储在所述至少两个子阵列内的数据扇区包括:
至少一第一组数据扇区,其通过根据所述第一交错配置跨越所述子阵列而交错的一第一组连续逻辑地址进行识别,和
至少一第二组数据扇区,其通过根据所述第二交错配置在所述至少两个子阵列的一单个子阵列内交错的一第二组连续逻辑地址进行识别。
3.根据权利要求2所述的存储系统,其中也存储所存储的数据的扇区的交错程度的指示。
4.根据权利要求3所述的存储系统,其中所述交错程度的所述指示作为额外开销存储在其所属的存储数据的所述扇区内。
5.根据权利要求3所述的存储系统,其中所述交错程度的所述指示存储在与其所属的存储数据的所述扇区分离的扇区内。
6.一种操作一非易失性存储系统的方法,所述非易失性存储系统逻辑上个别地链接复数个存储单元子阵列中的一区块。
7.一种在一非易失性存储器中操作所述存储器的方法,所述非易失性存储器具有复数个存储单元子阵列,其可同时访问以便并行地将数据单位编程到其中并从其中读取数据,所述个别子阵列划分为多个由可同时擦除的一最小数目的存储单元构成的区块,所述方法包含:
接收一用于将一指定数目的单位数据编程到所述存储器中的命令,所述数据少于所述复数个子阵列的每一者中一个区块的一总数据存储容量并具有循序逻辑地址,
接收将要编程的所述指定数目的单位数据,并编程所述接收的单位数据,所述数据的循序逻辑地址根据正被编程的单位数据的所述指定数目并相对于所述子阵列的每一者中一个区块的所述总数据存储容量而按顺序配置在所述复数个存储单元子阵列的一个或一个以上子阵列的区块上。
8.一种操作一非易失性存储系统的方法,其包含:
用正以至少一第一并行程度和一第二并行程度种的每一者写入和读取的数据来操作所述存储器,观察所述存储系统接收到的数据写入请求,和
响应于所述接收到的写入请求的至少一个特性,以所述至少第一和第二并行程度中的一者来写入伴随所述接收到的写入请求中个别请求的数据。
9.根据权利要求8所述的方法,其中所述至少一个特性包括随一写入请求一起接收到的将要写入到所述存储器中的一数据量。
10.一种在一快闪存储系统中的操作方法,所述快闪存储系统具有一非易失性存储单元阵列,所述非易失性存储单元配置成作为一擦除单位的区块、其中作为一数据编程和读取单位的页和可独立访问的复数个区块的半面,所述方法包含:
逻辑上形成元区块,所述元区块个别地包括一来自复数个所述平面的区块,
循序接收具有变化数量的数据的写入命令,和
响应于所述主机写入命令的变化特性,以不同方式将所述接收到的数据并行地或循序地写入到所述平面的一者的个别区块内的页中,或并行地写入到所述元区块的一者的两个或两个以上区块内的页中。
11.根据权利要求10所述的方法,其附加地包含与所述接收到的数据同时写入一指示,所述指示识别所述数据正被并行地写入的区块。
12.一种在一非易失性存储系统中响应一系列写入命令的方法,所述一系列写入命令个别地指定将要写入的一个或一个以上数据单位的一逻辑地址且伴随有正循序接收的所述指定的一个或一个以上数据单位,所述非易失性存储系统具有一存储单元阵列,所述存储单元阵列被组织成可一起擦除且个别地存储复数个数据单位的单元的区块,所述方法包含:
将一个别写入命令的所述逻辑地址转换为所述存储单元的区块中的一者或一者以上内的一物理地址,所述存储单元允许并行地写入所述伴随的一个或一个以上数据单位,其中选择若干所述一个或一个以上区块以便接收所述一个或一个以上数据单位作为由所述接收到的一系列写入命令的至少一者指定的数据单位数目的函数,由所述接收到的一系列写入命令指定的数据单位的所述数目是变化的,和
将所述选定的一个或一个以上数据单位并行地写入到所述一个或一个以上区块中。
13.一种操作存储单元的一非易失性存储器阵列的方法,其包含:
以第一和第二不同的交错配置存储数据,和
响应于接受一命令来读取以所述第一交错配置存储的数据,所述命令旨在更新以所述第一交错配置存储的至少一些所述数据,所述更新通过以所述第二交错配置存储将导致更佳的性能特性,和
以所述第二交错配置将所述读取的数据和所述更新的数据写入到所述存储器阵列中。
CN2004800416806A 2003-12-30 2004-12-16 基于主机使用特性的快闪存储器地址映射的适应性模式切换 Expired - Fee Related CN1918552B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/750,190 2003-12-30
US10/750,190 US7631138B2 (en) 2003-12-30 2003-12-30 Adaptive mode switching of flash memory address mapping based on host usage characteristics
PCT/US2004/042862 WO2005066794A2 (en) 2003-12-30 2004-12-16 Adaptive mode switching of flash memory address mapping based on host usage characteristics

Publications (2)

Publication Number Publication Date
CN1918552A true CN1918552A (zh) 2007-02-21
CN1918552B CN1918552B (zh) 2012-05-30

Family

ID=34701169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800416806A Expired - Fee Related CN1918552B (zh) 2003-12-30 2004-12-16 基于主机使用特性的快闪存储器地址映射的适应性模式切换

Country Status (8)

Country Link
US (2) US7631138B2 (zh)
EP (1) EP1700221B1 (zh)
JP (1) JP5001011B2 (zh)
KR (1) KR101014599B1 (zh)
CN (1) CN1918552B (zh)
AT (1) ATE554448T1 (zh)
TW (1) TWI303365B (zh)
WO (1) WO2005066794A2 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009070985A1 (fr) * 2007-12-05 2009-06-11 Suzhou One World Technology Co., Ltd Dispositif de réseau de mémoire flash
CN102646448A (zh) * 2011-02-18 2012-08-22 群联电子股份有限公司 用于非易失性内存的数据写入方法、控制器与储存装置
CN102999432A (zh) * 2007-04-10 2013-03-27 马维尔国际贸易有限公司 存储器控制器
CN102999431A (zh) * 2011-09-16 2013-03-27 苹果公司 用于非易失性存储器系统的编织序列计数器
CN103117086A (zh) * 2011-10-27 2013-05-22 爱思开海力士有限公司 半导体存储器件及其操作方法
CN107273304A (zh) * 2017-05-24 2017-10-20 记忆科技(深圳)有限公司 一种提高固态硬盘顺序读性能的方法及固态硬盘
CN109521947A (zh) * 2017-09-18 2019-03-26 爱思开海力士有限公司 存储器系统以及存储器系统的操作方法
CN109800183A (zh) * 2017-11-16 2019-05-24 美光科技公司 用于多端口存储类存储器接口的方法及设备
CN110806985A (zh) * 2008-11-06 2020-02-18 慧荣科技(深圳)有限公司 用来管理一记忆装置的方法以及其相关的记忆装置
CN111433751A (zh) * 2017-10-31 2020-07-17 美光科技公司 公用池管理
CN111666232A (zh) * 2019-03-05 2020-09-15 爱思开海力士有限公司 数据处理系统及其操作方法
CN113420083A (zh) * 2021-06-02 2021-09-21 湖南大学 一种具有可拓展分布式账本的异构并行区块链结构
CN114270304A (zh) * 2019-08-20 2022-04-01 美光科技公司 存储器组件的同一平面内的数据压缩

Families Citing this family (261)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
JP4561246B2 (ja) * 2004-08-31 2010-10-13 ソニー株式会社 メモリ装置
US7627712B2 (en) * 2005-03-22 2009-12-01 Sigmatel, Inc. Method and system for managing multi-plane memory devices
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
US7426605B2 (en) * 2005-09-30 2008-09-16 Rudelic John C Method and apparatus for optimizing flash device erase distribution
US7640424B2 (en) * 2005-10-13 2009-12-29 Sandisk Corporation Initialization of flash storage via an embedded controller
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
KR100725410B1 (ko) * 2006-01-20 2007-06-07 삼성전자주식회사 전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법
US7802064B2 (en) * 2006-03-31 2010-09-21 Mosaid Technologies Incorporated Flash memory system control scheme
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US8595573B2 (en) 2006-12-03 2013-11-26 Apple Inc. Automatic defect management in memory devices
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
KR20090102789A (ko) * 2006-12-06 2009-09-30 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
KR100843218B1 (ko) * 2006-12-18 2008-07-02 삼성전자주식회사 어드레스 쉬프팅을 이용하여 블럭 사이즈를 변경하는플래시 메모리 장치 및 방법
US20080162787A1 (en) * 2006-12-28 2008-07-03 Andrew Tomlin System for block relinking
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
WO2008082950A1 (en) * 2006-12-28 2008-07-10 Sandisk Corporation System for block relinking
US20080162612A1 (en) * 2006-12-28 2008-07-03 Andrew Tomlin Method for block relinking
US8019959B2 (en) * 2007-02-09 2011-09-13 Marvell World Trade Ltd. Nonvolatile memory system
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8429352B2 (en) * 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
CN100530138C (zh) * 2007-06-28 2009-08-19 忆正存储技术(深圳)有限公司 基于多通道闪存设备逻辑条带的自适应控制方法
US8572307B2 (en) * 2007-07-20 2013-10-29 Panasonic Corporation Memory controller, memory card, and nonvolatile memory system
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8300478B2 (en) 2007-09-19 2012-10-30 Apple Inc. Reducing distortion using joint storage
US8566504B2 (en) * 2007-09-28 2013-10-22 Sandisk Technologies Inc. Dynamic metablocks
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) * 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
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
KR101465789B1 (ko) * 2008-01-24 2014-11-26 삼성전자주식회사 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
JP2009211192A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリシステム
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8493783B2 (en) 2008-03-18 2013-07-23 Apple Inc. Memory device readout using multiple sense times
US9477587B2 (en) * 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
US8195978B2 (en) 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
KR100982440B1 (ko) 2008-06-12 2010-09-15 (주)명정보기술 단일 플래시 메모리의 데이터 관리시스템
US8904083B2 (en) * 2008-07-30 2014-12-02 Infineon Technologies Ag Method and apparatus for storing data in solid state memory
KR20100012938A (ko) * 2008-07-30 2010-02-09 주식회사 하이닉스반도체 웨어 레벨링을 수행하는 반도체 스토리지 시스템 및 그제어 방법
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
TWI373769B (en) * 2008-08-15 2012-10-01 Phison Electronics Corp Block management method for flash memory and storage system and controller using the same
TW201009577A (en) * 2008-08-27 2010-03-01 Phison Electronics Corp Data transfer method for flash memory and flash memory storage system and controller using the same
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US9773557B2 (en) * 2008-09-03 2017-09-26 Marvell World Trade Ltd. Multi-plane data order
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8671327B2 (en) * 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
EP2335245B1 (en) * 2008-09-28 2015-01-07 Ramot at Tel-Aviv University Ltd. Method and system for adaptive coding in flash memories
KR101083673B1 (ko) * 2008-10-01 2011-11-16 주식회사 하이닉스반도체 반도체 스토리지 시스템 및 그 제어 방법
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
TW201017771A (en) * 2008-10-29 2010-05-01 Nanya Technology Corp Vertical transistor and fabricating method thereof and vertical transistor array
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
JP2010108385A (ja) * 2008-10-31 2010-05-13 Hitachi Ulsi Systems Co Ltd 記憶装置
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
KR101515098B1 (ko) * 2008-11-20 2015-04-24 삼성전자주식회사 플래시 메모리 장치 및 이의 독출 방법
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) * 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8239614B2 (en) * 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation
TWI407441B (zh) * 2009-03-20 2013-09-01 Phison Electronics Corp 快閃記憶體寫入方法及使用此方法的儲存系統與控制器
TWI385518B (zh) * 2009-03-20 2013-02-11 Phison Electronics Corp 用於快閃記憶體的資料儲存方法及儲存系統
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
JP5532671B2 (ja) * 2009-05-08 2014-06-25 ソニー株式会社 データ記憶システムおよびデータ記憶方法、実行装置および制御方法、並びに制御装置および制御方法
KR101606453B1 (ko) * 2009-05-13 2016-04-01 삼성전자주식회사 비휘발성 데이터 저장 장치의 읽기 및 쓰기 성능 향상 방법
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
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
JP4818404B2 (ja) * 2009-06-26 2011-11-16 株式会社東芝 素材サーバおよび素材蓄積方法
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
KR101581857B1 (ko) * 2009-08-06 2015-12-31 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 인터리브 유닛 구성 방법
KR20110018157A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 플래시 메모리 장치의 액세스 방법
JP4956593B2 (ja) 2009-09-08 2012-06-20 株式会社東芝 メモリシステム
JP5999645B2 (ja) 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
CN101692211B (zh) * 2009-09-15 2011-08-10 苏州超锐微电子有限公司 一种Flash数据管理方法
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
JP5464066B2 (ja) * 2010-06-10 2014-04-09 ソニー株式会社 通信装置、及び、通信方法
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8447920B1 (en) * 2010-06-29 2013-05-21 Western Digital Technologies, Inc. System and method for managing data access in non-volatile memory
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
EP2595319B1 (en) 2010-07-14 2020-03-18 Dongjing Zhao Wireless switch assembly
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
WO2012048444A1 (en) 2010-10-14 2012-04-19 Freescale Semiconductor, Inc. Are Memory controller and method for accessing a plurality of non-volatile memory arrays
JP5296763B2 (ja) * 2010-11-11 2013-09-25 株式会社バッファロー 記憶装置、記憶プログラム及び制御方法
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
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
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
TWI514136B (zh) 2010-12-28 2015-12-21 Silicon Motion Inc 快閃記憶裝置及其資料寫入方法
CN102541464B (zh) * 2010-12-30 2014-07-23 慧荣科技股份有限公司 快闪存储装置及其数据写入方法
US9213594B2 (en) 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
TWI494948B (zh) * 2011-01-31 2015-08-01 Phison Electronics Corp 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
WO2012109677A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
KR101339800B1 (ko) * 2011-02-25 2013-12-10 성균관대학교산학협력단 Pss 행위 모델링 장치 및 방법
US9176864B2 (en) * 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
TWI479491B (zh) * 2011-07-05 2015-04-01 Phison Electronics Corp 記憶體控制方法、記憶體控制器與記憶體儲存裝置
TWI454911B (zh) * 2011-10-12 2014-10-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN103077124B (zh) * 2011-10-25 2015-11-18 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
US9858086B2 (en) * 2011-10-26 2018-01-02 Hewlett-Packard Development Company, L.P. Load boot data
US9164676B2 (en) * 2011-11-30 2015-10-20 International Business Machines Corporation Storing multi-stream non-linear access patterns in a flash based file-system
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
KR101942272B1 (ko) * 2011-12-27 2019-01-28 삼성전자주식회사 비휘발성 메모리의 제어방법, 이를 구현한 비휘발성 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US9329989B2 (en) * 2011-12-30 2016-05-03 SanDisk Technologies, Inc. System and method for pre-interleaving sequential data
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
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US8782344B2 (en) 2012-01-12 2014-07-15 Fusion-Io, Inc. Systems and methods for managing cache admission
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
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
KR101969883B1 (ko) * 2012-04-13 2019-04-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US8898376B2 (en) 2012-06-04 2014-11-25 Fusion-Io, Inc. Apparatus, system, and method for grouping data stored on an array of solid-state storage elements
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9450999B2 (en) 2012-09-21 2016-09-20 Nyse Group, Inc. High performance data streaming
KR20140080216A (ko) 2012-12-20 2014-06-30 에스케이하이닉스 주식회사 반도체 메모리 시스템 및 그의 동작 방법
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
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) * 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9465732B2 (en) 2013-03-15 2016-10-11 Sandisk Technologies Llc Binning of blocks for dynamic linking
US20140297921A1 (en) * 2013-03-26 2014-10-02 Skymedi Corporation Method of Partitioning Physical Block and Memory System Thereof
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9478249B2 (en) * 2013-08-30 2016-10-25 Seagate Technology Llc Cache data management for program execution
US9202533B2 (en) * 2013-10-09 2015-12-01 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device changing the number of selected bits and/or the number of selected bays at data write operation
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
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
US10152408B2 (en) 2014-02-19 2018-12-11 Rambus Inc. Memory system with activate-leveling method
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
KR102225989B1 (ko) 2014-03-04 2021-03-10 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9678797B2 (en) 2014-03-10 2017-06-13 Microsoft Technology Licensing, Llc Dynamic resource management for multi-process applications
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
US9582205B2 (en) * 2014-04-17 2017-02-28 Sandisk Technologies Llc Protection scheme with dual programming of a memory system
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
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
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
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
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
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
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9652415B2 (en) 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US9772796B2 (en) 2015-04-09 2017-09-26 Sandisk Technologies Llc Multi-package segmented data transfer protocol for sending sub-request to multiple memory portions of solid-state drive using a single relative memory address
US10372529B2 (en) 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) * 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
US9626312B2 (en) 2015-07-17 2017-04-18 Sandisk Technologies Llc Storage region mapping for a data storage device
US9889932B2 (en) 2015-07-18 2018-02-13 Tata Consultancy Services Limited Methods and systems for landing of unmanned aerial vehicle
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
US9875049B2 (en) * 2015-08-24 2018-01-23 Sandisk Technologies Llc Memory system and method for reducing peak current consumption
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US9837146B2 (en) 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10031845B2 (en) * 2016-04-01 2018-07-24 Intel Corporation Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
US10019198B2 (en) 2016-04-01 2018-07-10 Intel Corporation Method and apparatus for processing sequential writes to portions of an addressable unit
KR102651425B1 (ko) * 2016-06-30 2024-03-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
KR102620562B1 (ko) 2016-08-04 2024-01-03 삼성전자주식회사 비휘발성 메모리 장치
US11017838B2 (en) 2016-08-04 2021-05-25 Samsung Electronics Co., Ltd. Nonvolatile memory devices
CN107818118B (zh) * 2016-09-14 2019-04-30 北京百度网讯科技有限公司 数据存储方法和装置
US10497447B2 (en) * 2017-06-29 2019-12-03 SK Hynix Inc. Memory device capable of supporting multiple read operations
TWI645288B (zh) 2017-07-04 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
KR20190006680A (ko) * 2017-07-11 2019-01-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10261914B2 (en) 2017-08-25 2019-04-16 Micron Technology, Inc. Methods of memory address verification and memory devices employing the same
US11086790B2 (en) 2017-08-25 2021-08-10 Micron Technology, Inc. Methods of memory address verification and memory devices employing the same
US10977182B2 (en) * 2017-12-01 2021-04-13 Micron Technology, Inc. Logical block mapping based on an offset
US11436154B2 (en) 2017-12-01 2022-09-06 Micron Technology, Inc. Logical block mapping based on an offset
JP2020047348A (ja) * 2018-09-19 2020-03-26 キオクシア株式会社 半導体記憶装置及びその制御方法
KR101995034B1 (ko) * 2019-02-26 2019-07-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11150839B2 (en) 2019-12-19 2021-10-19 Western Digital Technologies, Inc. Host and method for interleaving data in a storage system for enhanced quality of service
US11221950B2 (en) * 2019-12-19 2022-01-11 Western Digital Technologies, Inc. Storage system and method for interleaving data for enhanced quality of service
US11157416B2 (en) * 2020-02-27 2021-10-26 Micron Technology, Inc. Firmware loading for a memory controller
US11379117B2 (en) 2020-06-19 2022-07-05 Western Digital Technologies, Inc. Storage system and method for using host-assisted variable zone speed grade modes to minimize overprovisioning
US11456050B2 (en) * 2021-02-24 2022-09-27 Western Digital Technologies, Inc. Relinking scheme in sub-block mode
US11681471B2 (en) * 2021-04-07 2023-06-20 EMC IP Holding Company LLC Bypassing of tier-1 storage in a streaming data storage system
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11842062B2 (en) 2022-02-09 2023-12-12 Western Digital Technologies, Inc. Method of handling irregular MetaBlock wear leveling and UGSD boot time improvement
CN116149571A (zh) * 2023-02-24 2023-05-23 合肥兆芯电子有限公司 数据写入方法、存储器存储装置及存储器控制电路单元

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
JP2618149B2 (ja) 1991-04-22 1997-06-11 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
JPH05233426A (ja) 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
US5341489A (en) 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
JP3299564B2 (ja) * 1992-05-11 2002-07-08 松下電器産業株式会社 メモリ装置
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
JP3105092B2 (ja) * 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
US5341330A (en) 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US5649200A (en) 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH06266596A (ja) 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5479638A (en) 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5485595A (en) 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3215237B2 (ja) 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5541886A (en) * 1994-12-27 1996-07-30 Intel Corporation Method and apparatus for storing control information in multi-bit non-volatile memory arrays
JPH08263361A (ja) 1995-03-23 1996-10-11 Mitsubishi Electric Corp フラッシュメモリカード
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a 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
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US5860090A (en) 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
FR2742893B1 (fr) 1995-12-20 1998-01-16 Schlumberger Ind Sa Procede d'inscription d'une donnee dans une memoire reinscriptible
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5896393A (en) 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US6047352A (en) * 1996-10-29 2000-04-04 Micron Technology, Inc. Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JPH10177797A (ja) 1996-12-17 1998-06-30 Toshiba Corp 半導体記憶装置
US6122195A (en) 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6034897A (en) 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US5999947A (en) 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
JP3588231B2 (ja) 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JP3119214B2 (ja) 1997-09-30 2000-12-18 ソニー株式会社 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
JP2914360B2 (ja) 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
US6040997A (en) 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
JP2000122923A (ja) * 1998-07-13 2000-04-28 Sony Corp 記録装置および記録方法、再生装置および再生方法、記録媒体、並びにプログラム記録媒体
JP4046877B2 (ja) 1998-12-14 2008-02-13 株式会社ルネサステクノロジ 一括消去型不揮発性メモリおよび携帯電話
JP2000285017A (ja) * 1999-03-31 2000-10-13 Seiko Epson Corp 記憶装置
US6449625B1 (en) 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
KR100618298B1 (ko) * 1999-07-28 2006-09-01 소니 가부시끼 가이샤 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
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
US6775423B2 (en) 2000-05-03 2004-08-10 Microsoft Corporation Systems and methods for incrementally updating an image in flash memory
US6721843B1 (en) 2000-07-07 2004-04-13 Lexar Media, Inc. Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6834331B1 (en) 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
US7062630B2 (en) * 2000-10-26 2006-06-13 Matsushita Electric Industrial Co., Ltd. Storing device for writing data onto a plurality of installed storing mediums, storing control method for the storing device, and program thereof
JP3992960B2 (ja) * 2000-10-26 2007-10-17 松下電器産業株式会社 記録装置及びプログラム
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
IT1315566B1 (it) 2000-12-12 2003-02-18 Federico Renier Metodo per la certificazione dell'invio,della ricezione edell'autenticita' di documenti elettronici ed unita' di rete
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4256600B2 (ja) * 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
JP3967121B2 (ja) 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
US7328301B2 (en) 2003-04-07 2008-02-05 Intel Corporation Dynamically mapping block-alterable memories
US7107388B2 (en) 2003-04-25 2006-09-12 Intel Corporation Method for read once memory
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999432B (zh) * 2007-04-10 2016-05-18 马维尔国际贸易有限公司 存储器控制器
CN102999432A (zh) * 2007-04-10 2013-03-27 马维尔国际贸易有限公司 存储器控制器
WO2009070985A1 (fr) * 2007-12-05 2009-06-11 Suzhou One World Technology Co., Ltd Dispositif de réseau de mémoire flash
US11748258B2 (en) 2008-11-06 2023-09-05 Silicon Motion, Inc. Method for managing a memory apparatus
CN110806985B (zh) * 2008-11-06 2023-11-21 慧荣科技(深圳)有限公司 用来管理一记忆装置的方法以及其相关的记忆装置
US12019540B2 (en) 2008-11-06 2024-06-25 Silicon Motion, Inc. Method for managing a memory apparatus
CN110806985A (zh) * 2008-11-06 2020-02-18 慧荣科技(深圳)有限公司 用来管理一记忆装置的方法以及其相关的记忆装置
CN102646448B (zh) * 2011-02-18 2015-09-16 群联电子股份有限公司 用于非易失性内存的数据写入方法、控制器与储存装置
CN102646448A (zh) * 2011-02-18 2012-08-22 群联电子股份有限公司 用于非易失性内存的数据写入方法、控制器与储存装置
CN102999431B (zh) * 2011-09-16 2015-07-15 苹果公司 用于非易失性存储器系统的编织序列计数器
CN102999431A (zh) * 2011-09-16 2013-03-27 苹果公司 用于非易失性存储器系统的编织序列计数器
CN103117086B (zh) * 2011-10-27 2017-05-03 爱思开海力士有限公司 半导体存储器件及其操作方法
CN103117086A (zh) * 2011-10-27 2013-05-22 爱思开海力士有限公司 半导体存储器件及其操作方法
CN107273304A (zh) * 2017-05-24 2017-10-20 记忆科技(深圳)有限公司 一种提高固态硬盘顺序读性能的方法及固态硬盘
CN109521947A (zh) * 2017-09-18 2019-03-26 爱思开海力士有限公司 存储器系统以及存储器系统的操作方法
CN111433751B (zh) * 2017-10-31 2023-11-14 美光科技公司 存储器装置及相关方法和机器可读媒体
CN111433751A (zh) * 2017-10-31 2020-07-17 美光科技公司 公用池管理
CN109800183B (zh) * 2017-11-16 2023-09-22 美光科技公司 用于多端口存储类存储器接口的方法及设备
US11783876B2 (en) 2017-11-16 2023-10-10 Micron Technology, Inc. Multi-port storage-class memory interface
CN109800183A (zh) * 2017-11-16 2019-05-24 美光科技公司 用于多端口存储类存储器接口的方法及设备
CN111666232B (zh) * 2019-03-05 2023-03-10 爱思开海力士有限公司 数据处理系统及其操作方法
CN111666232A (zh) * 2019-03-05 2020-09-15 爱思开海力士有限公司 数据处理系统及其操作方法
CN114270304A (zh) * 2019-08-20 2022-04-01 美光科技公司 存储器组件的同一平面内的数据压缩
CN113420083A (zh) * 2021-06-02 2021-09-21 湖南大学 一种具有可拓展分布式账本的异构并行区块链结构
CN113420083B (zh) * 2021-06-02 2024-03-19 湖南大学 一种具有可拓展分布式账本的异构并行区块链结构的系统

Also Published As

Publication number Publication date
EP1700221B1 (en) 2012-04-18
KR20060130084A (ko) 2006-12-18
US20100049908A1 (en) 2010-02-25
US7631138B2 (en) 2009-12-08
CN1918552B (zh) 2012-05-30
ATE554448T1 (de) 2012-05-15
TWI303365B (en) 2008-11-21
TW200535608A (en) 2005-11-01
WO2005066794A3 (en) 2005-11-10
WO2005066794A2 (en) 2005-07-21
KR101014599B1 (ko) 2011-02-16
JP5001011B2 (ja) 2012-08-15
EP1700221A2 (en) 2006-09-13
US20050144361A1 (en) 2005-06-30
US8301826B2 (en) 2012-10-30
JP2007517320A (ja) 2007-06-28

Similar Documents

Publication Publication Date Title
CN1918552A (zh) 基于主机使用特性的快闪存储器地址映射的适应性模式切换
EP2112599B1 (en) Scheduling of housekeeping operations in flash memory systems
KR101118507B1 (ko) 대형 소거 블록을 갖는 비휘발성 메모리 시스템의 관리
JP4787266B2 (ja) スクラッチパッドブロック
US7433993B2 (en) Adaptive metablocks
KR100983212B1 (ko) 데이터 런 프로그래밍
US20060161724A1 (en) Scheduling of housekeeping operations in flash memory systems
US20050144363A1 (en) Data boundary management
US20080294814A1 (en) Flash Memory System with Management of Housekeeping Operations
US20080294813A1 (en) Managing Housekeeping Operations in Flash Memory
US20060106972A1 (en) Cyclic flash memory wear leveling
CN1745433A (zh) 对非易失性存储器中缺陷的区界调整
WO2008147752A1 (en) Managing housekeeping operations in flash memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20120913

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

Effective date of registration: 20120913

Address after: Texas, USA

Patentee after: Sandy Technology Corp.

Address before: California, USA

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530

Termination date: 20211216

CF01 Termination of patent right due to non-payment of annual fee