CN101099125A - 群集的自动对准 - Google Patents

群集的自动对准 Download PDF

Info

Publication number
CN101099125A
CN101099125A CNA2005800422572A CN200580042257A CN101099125A CN 101099125 A CN101099125 A CN 101099125A CN A2005800422572 A CNA2005800422572 A CN A2005800422572A CN 200580042257 A CN200580042257 A CN 200580042257A CN 101099125 A CN101099125 A CN 101099125A
Authority
CN
China
Prior art keywords
page
data
piece
trooping
addressable
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
CNA2005800422572A
Other languages
English (en)
Other versions
CN101099125B (zh
Inventor
瑟吉·阿纳托利耶维奇·戈罗别茨
艾伦·戴维·贝内特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delphi International Operations Luxembourg SARL
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 CN101099125A publication Critical patent/CN101099125A/zh
Application granted granted Critical
Publication of CN101099125B publication Critical patent/CN101099125B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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

Abstract

提供非易失性存储器系统中群集与页面的对准,所述非易失性存储器系统以群集形式从主机接收数据并以页面为单位将数据写入至存储器阵列。使用逻辑至物理数据映射中的偏移来实施每一块内的对准。不同的块可具有不同的偏移。当主机发送具有不同群集边界位置的数据时,可以不同的偏移来写入数据以使数据维持对准。

Description

群集的自动对准
技术领域
本发明一般而言涉及非易失性存储器系统的作业,且更具体而言,涉及这些存储器系统内的数据处理。
背景技术
目前,存在许多种成功得到商业应用的非易失性存储器产品,尤其是小形状因子卡形式的非易失性存储器产品,其采用形成于一个或一个以上集成电路芯片上的快闪EEPROM(电子可擦除可编程只读存储器)单元阵列。通常(但未必尽然)在单独集成电路芯片上的存储器控制器介接以可移除方式连接有所述卡的主机,并控制存储器阵列在所述卡内的运作。此控制器通常包含微处理器、某种非易失性只读存储器(ROM)、易失性随机存取存储器(RAM)及一个或一个以上专用电路,例如一个可在编程及读取数据期间在数据经过控制器时根据数据计算出纠错码(ECC)的专用电路。某些市面出售的卡为:CompactFlashTM(CF)卡、多媒体卡(MMC)、安全数字(SD)卡、个人标签(P-Tag)及存储棒卡。主机包含个人计算机、笔记本计算机、个人数字助理(PDA)、各种数据通信装置、数字摄像机、蜂窝式电话、可携式声讯播放器、汽车音响系统、及相似类型的设备。于某些系统中,可移除式卡不包含控制器且主机控制存储器阵列在所述卡内的运作。此类型存储器系统的实例包含智慧型媒体卡及xD卡。因此,可通过所述卡中控制器上的软件或通过主机中的控制软件来达成对存储器阵列的控制。除存储器卡实施方案外,此类型的存储器也可嵌装于各种类型的主机系统内。于可移除式及嵌入式两种应用中,可根据由存储器控制软件实施的存储方案将主机数据存储于存储器阵列中。
有两种通用存储单元架构已付诸商业应用: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)形成的三层式电介材料夹于导电性控制栅与存储单元通道上方半导电性衬底的表面之间。通过如下方式编程所述单元:将电子从单元通道注入氮化物内,电子在氮化物中被捕集并存储于有限的区域中,且所述单元是通过将热电洞注入氮化物内而被擦除。数种采用电介存储元件的特定单元结构及阵列阐述于Harari等人的第2003/0109093号美国专利公开案中。
个别快闪EEPROM存储单元在一电荷存储元件或单元中存储有一定量的电荷来代表一个或一个以上数据位。存储元件的电荷电平可控制其存储单元的阈电压(通常称作V-r),而所述阈电压用作读取所述单元的存储状态的基础。阈电压窗口通常划分成若干个范围,其中一个范围对应于存储单元的两种或更多种状态的每一状态。这些范围由防护带分离,防护带包含允许确定个别存储单元额存储状态的标称感测电平。这些存储电平的确会因在邻近的或其它相关的存储单元、页面或块中所实施的会干扰电荷的编程、读取或擦除作业而出现移位。因此,纠错码(ECC)通常由控制器来计算并与被编程的主机数据一起存储且如果需要,则在读取期间用于验证所述数据并实施某一等级的数据纠正。同样,可通过将数据拷贝至其中以经调整而处在其允许范围内的中心的电荷电平重新写入数据的新位置,来将移位的电荷电平不时地恢复回到其状态范围的中心。这可在导致电荷电平完全移出其所界定的范围外且因此导致读取错误数据的干扰作业前来实施。这个过程(称作数据刷新或清除)阐述于美国专利第5,532,962及5,909,449号中。
如同在大多数集成电路应用中一样,对于快闪EEPROM存储单元阵列,也存在缩减构建某些集成电路功能所需的硅衬底面积的压力。人们不断地期望增加在硅衬底的既定面积中可存储的数字数据的量,以增加既定尺寸的存储卡及其它类型封装件的存储容量,或者既增加容量又减小尺寸。一种增加数据存储密度的方法是由每一存储单元及/或每一存储单元或元件存储多于一个数据位。这通过将一存储元件的电荷电平电压范围窗口划分成多于两种状态来实现。使用四种此种状态即能使每一存储单元存储两个数据位,使用八种状态即能使每一存储组件存储三个数据位,依此类推。使用浮栅之多状态快闪EEPROM结构及其运作阐述于美国专利第5,043,940及5,172,338号中,使用电介材料浮栅之结构则阐述于前述美国专利公开申请案第2003/0109093号中。出于各种原因,多状态存储单元阵列中的选定部分也可以两种状态(二进制)运作,其运作方式阐述于美国专利第5,930,167及6,456,528中。
典型快闪EEPROM阵列中的存储单元划分成若干个可一起擦除的离散单元块。亦即,该擦除块为擦除单位,亦即,可同时擦除的最小数量单元。每一块通常存储有一个或一个以上数据页面,页面为最小编程及读取单位,尽管也可在不同的子阵列或平面中平行地编程或读取多于一个页面。每一页通常存储一个或一个以上数据扇区,扇区的尺寸由主机系统界定。实例性扇区包含512个用户数据字节(遵循一针对磁盘驱动器制定的标准)加上一定数量字节的关于用户数据及/或存储有用户数据的块的附加信息。这些存储器通常配置为每一擦除块内具有16、32或更多个页,且每一页存储一个或几个主数据扇区。
为提高在将用户数据编程入存储器阵列及自存储器阵列读取用户数据期间之平行性程度,所述阵列通常划分成若干个子阵列,所述子阵列通常称作平面,其包含其自身之数据寄存器及其它电路来容许并行操作,从而可同时将数据扇区编程至若干个或所有平面中的每一平面,或同时自若干或所有平面中的每一平面读取数据扇区。单个积体电路上的阵列可在物理上划分为多个平面,或每一平面可由单独的一个或一个以上积体电路芯片构成。此一存储器构建方案的实例阐述于美国专利第5,798,968及5,890,192号中。
于某些存储器系统中,物理存储单元也编组成两个或两个以上的区。区可为物理存储器或存储器系统的任一经分割的子组,逻辑块地址的规定范围即映射至所述子组中。举例而言,能够存储64兆字节数据的存储器系统可分割成四个每一区存储16兆字节数据的区。然后,也将逻辑块地址划分成四个群组,一个群组指配给四个区中每一个区的擦除块。于典型实施方案中,逻辑块地址受到限制以使其每一者的数据从不写入至单个物理区(所述逻辑块地址即映射至其中)外面。于被划分成平面(子阵列)的存储单元阵列中,每一平面具有其自己的寻址、编程及读取电路,每一区较佳包含来自多个平面的擦除块,通常来自每一平面的擦除块数量相同。区主要用于简化诸如逻辑至物理转换的地址管理,从而产生较小的转换表、较少的保存这些表所需的RAM存储器、及较快的寻址存储器当前活动区域的存取时间,但由于其限制性性质而可导致并非最优的损耗平衡。
为进一步有效管理存储器,擦除块可连接在一起形成虚拟块或元块。亦即,可规定每一元块包含一个来自每一平面的擦除块。元块的使用阐述于美国专利6,763,424中,所述专利与本说明书中引用的其它专利及专利申请案一起以全文引用的方式并入本文中。元块由主机逻辑块地址识别为编程及读取数据的目的地。同样,元块的所有擦除块能够一起擦除。与这些大块及/或元块一起运作的存储器系统中的控制器实施众多种功能,包含在从主机接收到的逻辑块地址(LBA)与存储单元阵列内物理块编号(PBN)之间的变换。所述块内的单个页面通常由所述块地址内之的偏移来识别。地址变换通常涉及到使用逻辑块编号(LBN)及逻辑页面的中间项。
如果存储器连接至主机,则可能造成某种程度的低效率,这是因为存储器系统及主机使用不同的数据结构。主机系统通常以群集的形式管理数据,其中群集包含固定数量的扇区。通常,群集包含介于4个与64个之间的数据扇区,虽然也可能包含其它数量的扇区。主机通常维持文件分配表(FAT),所述文件分配表在群集对群集基础上记录针对特定文件的数据分配。诸如那些可移除式存储器卡的存储器系统通常不将群集用作数据单位。于一个实例中,数据群集由主机发送至存储器卡而所述存储器在将所述数据群集存储于非易失性存储器中时返回信号。然后,所述主机发送下一数据群集。群集与用于存储那些群集的页面之间通常不存在对准。这可能意味着单个数据群集的编程可能需要两次写入作业,这是因为即使群集能够被写入单个页面内,所述群集也会延伸至存储器的两个页面内。这会增加将数据编程至存储器所需的时间。
这个问题(群集从第一页面延伸至第二页面)的一种可能解决方案是将群集中要保存在第二页面内的部分保存于诸如随机存取存储器的(RAM)易失性存储器内并给主机发送指示群集已写入的信号。在接收到下一群集时,可拷贝RAM内的数据并将其作为全页面写入的部分与新群集的一部分一起写入至第二页面。如之前所述,将下一群集的剩余部分存储于RAM内。然而,根据某些标准,不准许以此方式将数据存储于RAM内,这是因为万一存储器丧失电力,则存在丢失此数据的风险。
另一解决方案是实施偏移以使扇区的物理至逻辑映射改变恒定值以使群集边界与页面边界对准。然而,如果主机系统(举例而言)针对测试目的而改变群集边界的位置,则数据将变得不对准且对准将需要移动存储器中存储的所有数据。格式化过程通常在不考虑诸如FAT拷贝数量及群集尺寸的先前格式参数的情况下实施。在格式化期间不存在对群集与存储器之间的最终偏移的直接控制。作为结果,在格式化后偏移可能变得不同。因此,这种技术具有某些缺陷。
因此,需要一种可使主机数据单元(例如,群集)与存储器阵列的页面对准以使主机数据单元的边界与页面边界对准的方法。还需要一种以如果移除电力则可保护主机数据不丢失的方式实施此对准的方法。还需要一种以灵活的方式实施此对准并允许改变主机所发送数据中的群集边界位置的方法。
发明内容
一种使用偏移使主机数据的群集与存储器阵列的页面对准以便将数据存储在存储器阵列的块中的方法。使用偏移,使存储在存储器阵列中的位置处的扇区从其原本存储的位置处位移。可在逐块基础上实施偏移。因此,映射至所述存储器阵列的特定块的逻辑地址(逻辑块)范围不存在改变,偏移仅会对数据在所述块内如何布置产生影响。因此,如果从数据的一个部分至另一部分的偏移存在改变(举例而言,如果主机出于测试原因而改变群集边界位置),则可以不同的偏移写入不同的部分。
由于群集边界通常不与逻辑块边界对准,因此逻辑块通常以群集分段开始和结束且在中间包含大量完整的群集。
于一个实例中,在第一页面结束处写入来自逻辑块开始的群集分段。然后,以对准的方式将完整的群集写入至后续页面。随后,将来自逻辑群组结束的群集分段写入至第一页面,因此填充第一页面。另一选择为,可将来自逻辑块开始的群集分段写入至所述块的最后页面,可将完整的群集写入至剩余的页面,且随后将来自逻辑块结束的群集分段写入至最终页面。然而,某些存储器设计不允许页面被写一次以上,这是因为在随后的写入作业期间存在损坏先前所写入数据的风险。同样,某些设计不允许不按顺序填充页面。
于另一实例中,将来自逻辑块开始的群集分段存储于所述块(群集分段要存储于其中)以外的暂存块或另一位置内。然后,将跟随的完整群集以对准的方式存储于所述块的页面中。将最终群集分段与来自逻辑块的群集分段(其拷贝自暂存块)一起写入至所述块的最终页面。这个方案允许依序写入页面,其中每一页面仅被写一次。
本发明的技术可用于为一个擦除块的块或包含经链接以形成元块的多个擦除块的块。所述技术可应用于各种尺寸的群集和页面且并非局限于其中群集尺寸与页面尺寸相同的情况。
附图说明
图1A显示包含存储器控制器及存储器阵列集成电路的存储器系统。
图1B显示与图1A的存储器系统一起运作的主机系统。
图2显示图1A的存储器阵列的实例性组织。
图3显示实例性主机数据扇区,其具有存储于图1A的存储器阵列中的开销数据;
图4显示图1A的存储器阵列的第二实例性组织;
图5显示图1A的存储器阵列的第三实例性组织;
图6显示图1A的存储器阵列的第三实例性组织的扩展形式;
图7显示存储于存储器阵列(例如,图1A的那个存储器阵列)内的数据的逻辑单元与物理位置之间的对应关系。
图8A显示根据本发明的实施例存储于存储器阵列内的数据的逻辑单元与物理位置之间的对应关系。
图8B显示图8A实例中的逻辑至物理映射的偏移作业。
图9A显示根据本发明的另一实施例存储于存储器阵列内的数据的逻辑单元与物理位置之间的对应关系。
图9B显示图9A实例中的逻辑至物理映射的偏移作业。
具体实施方式
存储器架构及其运作
首先参见图1A,快闪存储器包含存储单元阵列及控制器。在所示实例中,两个集成电路装置(芯片)11及13包含存储单元阵列15及各种逻辑电路17。逻辑电路17通过数据、命令及状态电路与单独芯片上的控制器19介接,并也为阵列13提供寻址、数据传递和感测、及其它支持。存储器阵列芯片的数量可从一个至许多个,此取决于所提供的存储容量。存储单元阵列可位于单个芯片上或可由多个芯片上的存储单元构成。或者,也可将控制器及部分或整个阵列组合至单个集成电路芯片上,但目前此种选择方案并不经济。
典型的控制器19包含微处理器21、主要用于存储韧体的只读存储器(ROM)23及缓冲存储器(RAM)25,所述缓冲存储器25主要用于临时存储写入或读自存储器芯片11及13的用户数据。缓冲存储器25可为易失性或非易失性存储器。电路27介接存储器阵列芯片,而电路29则通过连接31介接主机。
图1A存储器的连接31与主机系统的连接31′配合,图1B中给出了此配合的实例。主机与图1A的存储器之间的数据传递是通过接口电路35实现的。典型的主机也包含微处理器37、用于存储韧体码的ROM39及RAM41。其它电路及子系统43通常包含大容量磁性数据存储磁盘驱动器、用于键盘的接口电路、监视器及类似器件,此视特定的主机系统而定。这些主机的某些实例包含桌上型计算机、膝上型计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、MP3及其它声讯播放器、数字摄像机、视讯摄像机、电子游戏机、无线及有线电话装置、应答机、录音机、网络路由器及其它装置。
图1A的存储器可构建为包含控制器的小型封闭卡且其所有的存储器阵列电路装置均呈可以可移除方式与图1B的主机连接的形式。亦即,配合的连接31与31′允许断开并被移至另一主机,或通过将另一卡连接至主机来替换。另一选择为,可将存储器阵列装置封闭于一可以电方式及机械方式与包含控制器及连接31的卡相连的单独卡中。又一选择为,可将图1A的存储器嵌入图1B的主机内,其中连接31及31′为永久制成。在此种情况下,存储器通常与其它组件一起包含于主机的外壳内。再一选择为,可将诸如存储器芯片11的存储器芯片直接连接至主机系统的连接31′,而在其之间不存在存储器控制器。于此情况下,由主机系统的微处理器37来实施存储器控制器的功能。
图2图解说明其中将存储单元编组成擦除块的存储器阵列的一部分,其中每一擦除块的单元可作为单个擦除作业的部分而一起擦除(通常为同时擦除)。擦除块为擦除的最小单位。
图2的个别存储单元擦除块的尺寸可各不相同,但一种市面上所采用的形式是在个别擦除块中包含单个数据扇区。此数据扇区的内容图解说明于图3中。用户数据51通常为512个字节。除用户数据51之外,还具有开销数据,开销数据包含根据用户数据计算出的ECC53、关于扇区数据及/或关于其中编程扇区的擦除块的参数55、及根据参数55计算出的ECC57、及任何其它可能会包含的开销数据。另一选择为,可依据用户数据51及参数55两者来计算单个ECC。
参数55可包含关于所述擦除块经历的编程/擦除循环次数的数量,这个数量在每一循环或某一循环数量之后更新。当在损耗平衡算法中使用此经历数量时,逻辑块地址规律地重新映射至不同的物理块地址以平均对所有擦除块的使用(损耗)。所述经历数量的另一使用是根据不同擦除块所经历的循环数量来改变电压及其它编程、读取及/或擦除参数。
参数55也可包含有关位值的指示,所述位值被指配至存储单元的存储状态的每一存储状态(通常称作其“旋转”)。此也会在损耗平衡方面具有有益的效果。也可在指示现状或状态的参数55中包含一个或一个以上旗标。也可在参数55内存储要用于编程及/或擦除所述擦除块的电压电平的指示,这些电压会在擦除块经历所述循环次数及其它因素改变时得到更新。参数55的其它实例包含:擦除块内任何缺陷单元的标识,映射至此物理块内的数据的逻辑地址、及假如主要擦除块为缺陷时任一替代擦除块的地址。在任一存储器系统中所用使用的参数55的特定组合将因设计而异。同样,也可将某些或所有开销数据存储于专用于此功能的擦除块中,而非存储于包含用户数据的擦除块或与开销数据相关的擦除块中。
与图2的单个数据扇区擦除块不同的是图4的多扇区擦除块。实例性擦除块59(其仍为最小擦除单位)包含四个页面0-3,其中每一页面均为最小编程单位。在每一页面中均存储有一个或一个以上主机数据扇区,所述一个或一个以上主机数据扇区通常与至少包含根据所述扇区的数据计算出的ECC的开销数据一起存储,且可呈现图3的数据扇区的形式。
重新写入整个擦除块的数据通常涉及将新数据编程至擦除块池的可用擦除块内,然后擦除原始擦除块并将其置于擦除池内。当更新少于擦除块的所有页面的数据时,通常将已更新的数据存储于来自擦除块池的擦除块的页面中,并将剩余的未改动页面次原始擦除块拷贝至新擦除块中。然后,擦除原始擦除块。此种大块管理技术的变化形式包含:将已更新的数据写入另一擦除块的页面中,但并不将数据移出原始擦除块或擦除之。此会产生多个具有相同逻辑地址之的页面。其中,最新的数据页面是通过某些习知技术来识别,例如,通过记录为扇区或页面开销数据中的字段的编程时间来识别。
另一多扇区擦除块布置图解说明于图5中。此处,将整个存储单元阵列在物理上划分成两个或两个以上平面,图中显示为四个平面0-3。每一平面均为存储单元子阵列,所述子阵列具有其自己的数据暂存器、感测放大器、寻址译码器及类似器件,以便能够基本独立于其它平面运作。所有平面均可设置于单个集成电路装置上或多个装置上,其实例是由一个或一个以上不同的集成电路装置形成每一平面。图5的实例性系统中的每一擦除块均包含16个页面P0-P15,每一页面具有为一个、两个或两个以上主机数据扇区及某些开销数据的容量。
再一存储单元布置图解说明于图6中。每一平面包含大量擦除块。为增加作业的并行程度,以逻辑方式链接芯片的不同平面内的或来自不同芯片的擦除块以形成元块。一个此种元块图解说明于图6中。每一元块均可逻辑寻址,且存储器控制器会指配并跟踪形成个别元块的擦除块。主机系统提供呈现扇区流形式的数据。此扇区流被划分成逻辑块。此处,逻辑块为数据的逻辑单位,其包含与包含于存储器阵列的元块中相同数量的数据扇区。存储器控制器维持其中存储每一逻辑块的位置的记录。图6的此逻辑块61(举例而言)由逻辑块地址(LBA)来识别,所述逻辑块地址由控制器映射构成元块的块的物理块编号(PBN)。所述元块中的所有块可一起擦除,且通常同时编程及读取来自每一块的页面。可将来自并行编程的元块的不同擦除块的页面群组视为元页面。可将此视为使用元块架构的存储器系统的编程单位。使用大元页面(其延伸跨越元块的多个擦除块)编程数据提供高的并行程度且因此允许高的数据存储速率。
于使用元块架构的系统中,形成元块的擦除块群组可作为单个擦除块来处理且可简单地称作块。类似地,延伸跨越元块的擦除块的页面群组可作为单个页面(或元页面)来处理。本申请案中所述的某些技术即可实施于链接擦除块以形成元块的架构中还可实施于那些不链接擦除块以形成元块的架构中。因此,本申请案中所用措词“块”可表示单个擦除块或经链接以形成元块的擦除块群组。类似地,本申请案中所用措词“页面”可表示个别擦除块的页面或延伸跨越元块的擦除块的元页面。
图7显示每元页面具有四个扇区的元块72中所存储群集的不对准实例。以一系列群集的形式从主机接收数据,其中每一群集包括4个扇区。群集K延伸跨越两个逻辑块。因此,群集K的部分(扇区X-3至X-1)处在第一逻辑块74中而群集K的部分(扇区X)处在第二逻辑块76中。由于扇区X为第二逻辑块的第一扇区,因此其存储于元块72的第一页面(页面0)内。当扇区X被写时,可将指示完成群集K的写入的信号发送至主机。然后,主机可发送群集K+1。群集K+1的第一部分(扇区X+1、X+2及X+3)存储于具有扇区X的页面0内。然而,由于页面仅存储4个数据扇区,因此扇区X+4必须存储于下一页面(页面1)内。扇区X+4可在写入至页面1之前存储于缓冲器中。因此,需要第二页面写入作业来存储群集K+1。类似地,后续群集K+2至K+N/4各自需要两次写入作业,这是因为每一群集会因群集与页面之间的不对准而延伸至两个页面内。逻辑块76的最终群集(群集K+N/4)部分地写入至第三元块78的第一页面。因此,不对准延续于整个后续元块上。由于在此实例中每一群集需要两次写入作业,因此存储数据的时间可明显长于假如以单个写入作业写入每一群集的情况。若群集不包含呈页面形式的相同数量数据,则也可能存在这个问题。举例而言,如果群集小于页面,则某些群集可写入单个页面内而其它群集延伸至两个页面中。如果群集大于页面,则某些页面可仅包含来组一个群集的数据而某些群集包含来自两个群集的数据。因此,和两个页面一样大的群集可能需要三次写入作业。
图8A显示根据本发明实施例的主机群集与元块72页面的对准实例。如前所述,主机以连续次序发送一系列数据群集K至K+N/4,供存储于存储器中。存储器包含多个元块,其中元块是由多个可一起编程及擦除的擦除块所构成。对应于元块的数据单位为逻辑块。数据群集K至K+N/4延伸跨越3个逻辑块74、76、78。当接收到群集K的扇区X时,将扇区X存储于元块72的第一页面(页面0)内。图中所示扇区X的位置指示其处于页面0内的最后位置中。接下来,当接收到群集K+1的扇区X+1至X+4时,则将这些扇区存储于页面1内。将群集K+1与页面1对准以使群集K与群集K+1之间的边界(扇区X与扇区X+1之间的边界)位于页面0与页面1之间页面边界的处。因此,群集K+1的开始开始于页面1的开始处而群集K+1视为与页面1对准。于此实例中,群集的尺寸与页面的尺寸相同以使群集K+1适合页面1,从而使群集K+1的结束也与页面1的结束相吻合。群集K+2同样与页面2对准。类似地,后续群集K+3至K+N/4-1与相应页面3至N/4-1对准。在将群集K+N/4-1写入至页面N/4-1之后,从主机接收群集K+N/4。扇区X+N-3、X+N-2及X+N-1均存储于具有扇区X的元块72的第一页面(页面0)内。因此,元块72具有第一页面(页面0),所述第一页面包含来自逻辑块76的首部的部分群集及来自逻辑块76的尾部的部分群集。
所述元块的其它页面各自包含一个群集以使这些页面的每一页面仅需要一次写入作业。与某些现有技术系统相比,此可允许将数据更快地写入至存储器阵列。
于此实例中,可根据当前命令的第一逻辑地址与逻辑块中第一扇区的逻辑地址之间的差来计算偏移。用于计算此偏移的公式为:
Figure A20058004225700131
因此,对于图8A的实例而言,计算变成:
偏移={(X-3)模(4)}-4=1-4=-3
图8B图解说明当逻辑块76的扇区的逻辑至物理映射中存在偏移时图8A的重新对准方案,其中X=0。替代将逻辑块76的第一逻辑扇区(扇区X)写入至元块72内的第一物理地址,将第一逻辑扇区写入至第四物理地址。可将其视为此扇区映射中为-3(减去三)的偏移,其中零偏移为第一逻辑扇区至第一物理位置的映射。也可将其视为N-3的偏移,这是因为存储于第一物理位置中的扇区为扇区N-3。还以-3的偏移写入后续扇区直到达到元块72的结束。然后,将逻辑块76的最后三个扇区X+N-3、X+N-2及X+N-1写入至元块72的开始。这些扇区也可视为在环绕元块的逻辑地址处以-3的偏移写入(将逻辑块的第一地址视为接续逻辑块的最后地址).因此,可使用逻辑块76的偏移来找出存储于元块72内的数据扇区而不需要逐扇区的数据检索。使用此类偏移(或页面标签)将数据存储于元块中进一步阐述于2003年12月30日申请的题目为“Non-volatile memory and method with block management system”的第10/750,155号专利申请案中,且所述申请案以全文引用的方式并入本文中。尽管图8A及8B的实例显示三个扇区(X+N-3、X+N-2及X+N-1),所述三个扇区从要存储于元块72开始处的逻辑块76的结尾环绕,但以此方式环绕的扇区数量可从一个扇区至三个扇区。既定逻辑块的偏移尺寸可从一个到另一个地小于页面中的扇区数量。
某些存储器的设计不允许对块的同一页面实施多次写入作业。于此类型存储器中,一旦已将数据写入至页面,则这个页面不再写入附加的数据,因为后续的编程可损坏已存入的数据。于此类型的存储器中,图8A中所示的存储方案不可行,因为在编程扇区X后,不可能对页面0中的扇区X+N-3、X+N-2及X+N-1进行后续编程。同样,于某些设计中,仅可以连续次序写入页面。举例而言,首先写入页面0,随后为页面1、页面2等等。在写入页面1后,则不可写入页面0,这是因为此未按顺序。于这些设计中,在写入页面1至页面N/4-1后,则不可能在页面0中写入任何数据。
图9A显示本发明的另一实施例,所述实施例使用暂存块91来实施对准方案以使群集与页面对准。暂存块的使用阐述于与本申请案同一天申请的题目为“Scratch padblock”的代理人案号为SNDK.406US0的美国专利申请案中,所述专利申请案以全文引用的方式并入本文中。如在先前实例中,从主机接收一系列主机数据群集(群集K至K+N/4)供存储于存储器阵列中。群集K包含来自第一逻辑块74的扇区X-3至X-1及来自第二逻辑块76的扇区X。扇区X-3至X-1存储于与第一逻辑块74相关联的元块(未显示)内。在接收到扇区X时,并非将其紧接着存储于元块72内。而是将扇区X存储于另一位置处。于此实例中,所述位置处在暂存块91中。所述暂存块为存储器阵列中用于将各种数据短期存储于非易失性存储器中的块。由于扇区X存储于非易失性存储器中,因此如果从存储器系统中移除电力,则扇区X将不会丢失。另一选择为,可将扇区X存储于某一其它非易失性存储器内或者如果准许,存储于易失性存储器内。在将扇区X存储于暂存块91内之后,接收群集K+1。群集K+1存储于页面0内且与页面0对准。因此,群集K与群集K+1之间的边界与页面0的开始边界相吻合。由于在此实例中群集的尺寸与页面的尺寸相同,群集K+1凖确地适合页面0且群集K+1的结束与页面0的结束相吻合。类似地,后续群集K+2至K+N/4-1被单个地写入至页面。当接收到群集K+N/4时,来自群集K+N/4(其来自逻辑块76)的三个扇区(扇区X+N-3、X+N-2及X+N-1)与扇区X(其拷贝自暂存块91)一起写入页面N/4-1内。因此,于此实例中,元块72内的最后页面包含来自逻辑块76首部的群集分段及来自逻辑块76尾部的群集分段。于不需要依续写入页面且允许多次写入至相同页面的存储器中,在接收到扇区X时不再将其存储于另一位置处而是直接写入至页面N/4-1。
可根据群集边界与页面边界之间的差来计算用于此实例的偏移。此可根据当前命令的第一逻辑地址与逻辑块开始的逻辑地址之间的差求出。于一实例中,可从如下公式计算偏移:
偏移=(当前命令的第一逻辑地址)模(每页面的扇区数量)
因此,于图9A中,当前命令的第一逻辑地址为X-3。因此,所述偏移为:
偏移=(X-3)模(4)
    =(X-4+1)模(4)
    =1
于此实例中,用于对准的偏移可为从一个扇区至三个扇区。通常,偏移可为从零(如果接收到的群集具有与逻辑块边界相吻合的边界位置)至小于每页面扇区数量的最大数量。
图9B图解说明当逻辑块76的扇区的逻辑至物理映射中存在偏移时图9A的重新对准方案,其中X=0。替代将逻辑块76的第一逻辑扇区(扇区X)写入至元块72内的第一物理地址,将第一逻辑扇区写入至最后物理地址。可将其视为此扇区映射中为1(一)的偏移,其中环绕元块的地址(将逻辑块76的第一地址视为接续逻辑块76的最后地址)。也以为1的偏移写入其它扇区。因此,接收第二扇区时,扇区X+1去至第一物理地址等。可使用逻辑块76的偏移来找出存储于元块72中的数据而无需逐扇区的数据检索。使用此类型偏移(或页面标签)在元块中存储数据进一步阐述于第10/750,155号专利申请案中。
图8及9的实例显示各具有四个扇区的群集及页面。然而,所阐述的原理可应用于各种尺寸的群集及页面。群集可延伸于多个页面上且仍与页面对准。举例而言,如图10中所示,8个扇区的群集可与具有四个扇区的页面对准。图10的群集完全占据元块72的2个页面,其中假如未对凖,则群集可延伸跨越3个页面。因此,对准可通过将每群集的写入次数从3减至2来改进效率。于此实例中,每一群集边界均与页面边界相吻合,虽然并非每一页面边界均与群集边界相吻合。
群集可小于页面而仍与页面对准。举例而言,群集可包含16个扇区而页面可包含64个扇区。在不进行对准的情况下,某些群集可延伸跨越两个页面且需要两次写入作业。在进行对准的情况下,这些群集写入至单个页面,因此改进效率。于此实例中,每一页面边界均与群集边界相吻合,虽然并非每一群集边界均与页面边界相吻合。
可根据要写入数据的开始地址与逻辑块的开始地址之间的差来导出逻辑块的偏移。逻辑块的开始将为页面的开始且主机在群集的开始处开始写入数据。因此,这两个地址之间的差给出群集边界与逻辑块边界之间的差。当将此差除以每页面的扇区数量时,可根据余数来计算偏移。如果余数为零(所述差为整数页面),则可将边界视为对准。一种存储逻辑块偏移的方法是记录存储于逻辑块的第一物理地址内的扇区的逻辑地址。
可根据存储于存储器内的主机数据的第一扇区的逻辑地址来导出偏移。通常,于DOS系统中,逻辑地址空间的第一部分专用于系统信息,例如根扇区、一个或一个以上文件分配表(FAT)、根目录及子目录。主机数据紧接着系统信息存储以便在系统信息的结束后第一群集开始。因此,如果已知系统信息的逻辑地址范围,则可获得第一群集的开始位置。可从根扇区中找出系统信息的逻辑地址范围,所述根扇区记录FAT(或多个FAT)及目录的位置。根扇区也指示每群集的扇区数量以便可从根扇区中获得所有的群集边界位置。
于某些系统中,存储器阵列可分割成两个或两个以上分区,在某些方面,所述分区可单独地运作。所述阵列的个别分区可具有专用于所述分区的系统信息逻辑地址空间的部分。于这些系统中,可根据存储于分区中的主机数据的第一扇区位置为不同的分区导出不同的偏移。因此,相同存储器阵列内的不同分区可以不同偏移来运作,以使每一分区以与页面对准的群集来存储数据。
根据本发明的一实施例,逻辑块地址格式可包含逻辑块的偏移(页面标签)。因此,无需读取前面的块,即可确定元块中扇区的物理位置。
由于为每一逻辑块维持单独偏移,因此不同的逻辑块可具有不同的偏移。当主机改变群集边界位置时,对准会因新数据而改变。其它元块中先前写入的数据可保持不受干扰,这是因为所述数据无需以新的对准重新写入。一个逻辑块中的偏移改变未必会影响邻近的逻辑块的偏移,这是因为偏移仅影响对应逻辑块的逻辑地址范围内的扇区。相同逻辑地址范围仍保持映射至特定逻辑块以使偏移仅在所述范围内提供对准。
于另一实施例中,上述原理可应用于逻辑群组的单位而非应用于逻辑块的单位。于此实施例中,针对逻辑群组而非逻辑块计算偏移。逻辑群组为数据单位,其保存等于存储器阵列的一个擦除块中的数据的数据。因此,逻辑块包含整数的逻辑群组。逻辑群组的详细说明提供于2004年5月7日申请的题目为“Data boundary management”的美国专利申请案10/841,118中,所述专利申请案以全文引用的方式并入本文中。于某些存储器系统中,可以逻辑群组为单位跟踪存储器内数据的物理位置。在这些存储器系统中,可针对每一逻辑群组导出偏移。在这些系统中,逻辑群组地址格式可包含用于所述逻辑群组的偏移且不同的逻辑群组可具有不同的偏移。于其它实施例中,可针对具有少于块内数据的单位维持偏移。举例而言,可使用包含块的数据的一半、四分之一或某一其它份额的单位,其中针对每一单位导出不同的偏移。因此,数据可以不同尺寸的单位对准。
于某些存储器系统中,出于各种原因提供偏移。举例而言,于第10/750,155号美国专利申请案中,偏移允许迅速地写入所接收的数据而无需首先拷贝数据扇区。可将这些偏移与根据本发明计算的偏移相结合以获得用于数据存储的最终偏移值。举例而言,如果接收到的数据具有在逻辑块的逻辑地址范围中间的逻辑地址,则可根据第一偏移将所述数据写入至元块的开始。然而,附加的偏移可使数据与页面边界对准以使最终偏移由两个分量构成。
虽然上文已全面阐述了各具体实施例,但也可使用各种修改形式、替代构造及等效形式。因此,上文说明及例示不应视为限定由随附权利要求书所界定的本发明的范围。

Claims (21)

1、一种在连接至主机的非易失性存储器阵列中存储可寻址数据包的方法,所述存储器阵列具有块的擦除单位,其中所述存储器阵列的一个块保持一个数据逻辑块,由可寻址数据包形成的逻辑块从第一可寻址数据包依序延伸至最后可寻址数据包,所述主机以群集为单位分配数据,一群集包含多个可寻址数据包,所述方法包括:
针对从主机接收的供存储于块内的数据,确定逻辑块边界与群集边界之间的偏移;
根据所述偏移在所述块内选择物理位置来写入所述接收的数据的多个群集,以使个别群集边界位于页面边界处;及
将包含所述第一可寻址数据包的第一部分群集及包含所述最后可寻址数据包的最后部分群集写入至所述块的页面。
2、如权利要求1所述的方法,其中将所述第一部分群集及所述最后部分群集写入至所述块的最后页面。
3、如权利要求2所述的方法,其中在写入至所述块的所述最后页面前,将所述第一部分群集存储于所述元块外面。
4、如权利要求1所述的方法,其中将所述第一部分群集及所述最后部分群集写入至所述块的第一页面。
5、如权利要求4所述的方法,其中将所述第一部分群集直接存储在所述块的所述第一页面内且随后也将所述最后部分群集存储在所述块的所述第一页面内。
6、如权利要求1所述的方法,其中所述块由多个页面组成且所述块中除包含所述第一及最后部分群集的所述页面外的所有页面均包含存储时群集边界位于页面边界处的群集。
7、一种在具有页面编程单元及块擦除单元的非易失性存储器阵列中存储从主机接收的数据群集的方法,一群集包含由主机共同分配的多个可寻址数据单元,一块包含多个页面,所述方法包括:
从主机接收多个数据群集;
将所述多个群集映射至所述存储器阵列的块而不考虑群集边界的位置;
导出群集边界与所映射块边界之间的偏移;及
以取决于所述导出偏移的方式将映射至块的群集及群集的部分存储在所述块内的页面中,以使群集之间的边界出现在页面边界处而无需修改群集至块的映射。
8、如权利要求7所述的方法,其中映射至所述块的所述群集部分为第一群集的第一部分及第二群集的第二部分,所述第一及第二部分共同存储于所述块的页面内。
9、如权利要求8所述的方法,其中映射至所述块的所述群集及群集部分为从第一逻辑地址延伸至最后逻辑地址的顺序数据,所述第一部分包含所述第一逻辑地址且所述第二部分包含所述最后逻辑地址。
10、如权利要求7所述的方法,其中记录指示所述块的所述偏移的值。
11、一种将包含预定群集边界的数据存储于非易失性存储器阵列的元块中的方法,元块包括两个或两个以上可并行编程及擦除的擦除块,擦除块为所述非易失性存储器阵列的最小擦除单位,逻辑块由等于一个元块中的数据的数据组成,逻辑群组由等于一个擦除块中的数据的数据组成,所述方法包括:
接收数据以供存储于非易失性存储器中,所述数据由多个依序可寻址数据包组成;
将来自第一群集的第一一个或一个以上可寻址数据包存储于第一位置中,所述第一群集包含来自第一逻辑群组的所述第一一个或一个以上可寻址数据包且也包含来自第二逻辑群组的第二一个或一个以上可寻址数据包;
将后续的依序可寻址数据包存储于第一元块的页面中,以使页面边界出现在群集边界处;
将来自最后群集的第三一个或一个以上可寻址数据包与所述第一一个或一个以上可寻址数据包一起存储于所述元块的页面中,所述最后群集包含来自所述第一逻辑群组的所述第三一个或一个以上可寻址数据包且还包含来自第三逻辑群组的第四一个或一个以上可寻址数据包。
12、如权利要求11所述的方法,其中所述第一位置处于第二元块内。
13、如权利要求11所述的方法,其中所述第一位置为所述元块的页面且在将所述第一一个或一个以上可寻址数据包写入至所述元块的页面之后将所述第三一个或一个以上可寻址数据包写入至所述元块的所述页面。
14、如权利要求11所述的方法,其中所述第一逻辑群组中的数据接续所述第二逻辑群组中的数据而所述第三逻辑群组中的数据接续所述第一逻辑群组中的数据。
15、如权利要求11所述的方法,其中所述第一、第二及第三逻辑群组均在存储于所述第一元块中的逻辑块内。
16、一种用于将主机发送的可寻址数据包存储于非易失性存储媒体中的存储器系统,所述存储器系统包括:
控制器,其从主机接收可寻址数据包,可寻址数据包形成由所述主机分配给文件的群集,群集包含多个可寻址数据包,所述控制器将一系列依序可寻址数据包映射至逻辑单元而不考虑群集位置;及
非易失性存储器阵列,其与所述控制器通信,所述非易失性存储器阵列具有多个擦除块,擦除块为所述存储器阵列的最小擦除单元,一个或一个以上擦除块经指配以存储所述逻辑单元,所述一个或一个以上擦除块可一起编程及擦除,所述一个或一个以上擦除块包含用于存储可寻址数据包的物理位置,所述用于存储所述系列的可寻址数据包中的个别可寻址数据包的物理位置经选择以为所述逻辑单元内的群集提供群集与页面的对准,而不需修改被映射至所述逻辑单元的所述系列的可寻址数据包。
17、如权利要求16所述的存储器系统,其中包含所述逻辑单元内的部分及在所述逻辑单元以外的部分的群集具有所述逻辑单元内的一起存储于所述逻辑单元的页面中的未群集与页面对准的所述部分。
18、如权利要求17所述的存储器系统,其中群集尺寸等于页面尺寸且所述逻辑单元内的所述部分占据所述一个或一个以上擦除块的完整页面。
19、如权利要求16所述的存储器系统,其中所述一个或一个以上擦除块由两个或两个以上擦除块的元块组成且所述逻辑单元为逻辑块。
20、如权利要求16所述的存储器系统,其中所述一个或一个以上擦除块由一个擦除块组成且所述逻辑单元为逻辑群组。
21、如权利要求16所述的存储器系统,其中所述存储器系统被囊封于以可移除方式连接至主机的存储器卡内。
CN2005800422572A 2004-12-16 2005-11-30 群集的自动对准方法和存储器系统 Active CN101099125B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/015,211 US7395404B2 (en) 2004-12-16 2004-12-16 Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US11/015,211 2004-12-16
PCT/US2005/043285 WO2006065536A1 (en) 2004-12-16 2005-11-30 Cluster auto-alignment

Publications (2)

Publication Number Publication Date
CN101099125A true CN101099125A (zh) 2008-01-02
CN101099125B CN101099125B (zh) 2011-05-04

Family

ID=36123113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800422572A Active CN101099125B (zh) 2004-12-16 2005-11-30 群集的自动对准方法和存储器系统

Country Status (7)

Country Link
US (1) US7395404B2 (zh)
EP (1) EP1828881B1 (zh)
JP (1) JP4960882B2 (zh)
KR (1) KR20070102485A (zh)
CN (1) CN101099125B (zh)
TW (1) TWI386801B (zh)
WO (1) WO2006065536A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243611A (zh) * 2010-05-11 2011-11-16 深圳市朗科科技股份有限公司 数据存储方法和系统
CN102292711A (zh) * 2009-01-21 2011-12-21 美光科技公司 固态存储器格式化
CN101620513B (zh) * 2008-07-03 2012-08-22 慧国(上海)软件科技有限公司 资料储存方法及其储存装置
CN102693185A (zh) * 2011-02-17 2012-09-26 索尼公司 管理设备和管理方法
CN104375945A (zh) * 2013-08-15 2015-02-25 群联电子股份有限公司 存储器地址管理方法、存储器控制器与存储器储存装置
CN109840214A (zh) * 2017-11-28 2019-06-04 爱思开海力士有限公司 数据存储装置及其操作方法
CN111417933A (zh) * 2017-12-01 2020-07-14 美光科技公司 基于偏移的逻辑块映射

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
JP4863749B2 (ja) 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
KR100758301B1 (ko) * 2006-08-04 2007-09-12 삼성전자주식회사 메모리 카드 및 그것의 데이터 저장 방법
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US7987332B2 (en) * 2007-03-21 2011-07-26 Sandisk Technologies Inc. Methods for storing memory operations in a queue
US20080235480A1 (en) * 2007-03-21 2008-09-25 Shai Traister Systems for storing memory operations in a queue
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US7818493B2 (en) * 2007-09-07 2010-10-19 Sandisk Corporation Adaptive block list management
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
US8321625B2 (en) 2007-12-05 2012-11-27 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8533384B2 (en) * 2007-12-27 2013-09-10 Sandisk Enterprise Ip Llc Flash memory controller garbage collection operations performed independently in multiple flash memory groups
KR101465789B1 (ko) * 2008-01-24 2014-11-26 삼성전자주식회사 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US20100037102A1 (en) * 2008-08-08 2010-02-11 Seagate Technology Llc Fault-tolerant non-volatile buddy memory structure
US8650355B2 (en) * 2008-10-15 2014-02-11 Seagate Technology Llc Non-volatile resistive sense memory on-chip cache
JP5338260B2 (ja) * 2008-10-31 2013-11-13 アイシン・エィ・ダブリュ株式会社 データリスト読み書き装置及びその方法
US7830700B2 (en) * 2008-11-12 2010-11-09 Seagate Technology Llc Resistive sense memory array with partial block update capability
US8782325B1 (en) * 2009-02-09 2014-07-15 Marvell International Ltd. Data type based alignment of data written to non-volatile memory
US8489801B2 (en) * 2009-03-04 2013-07-16 Henry F. Huang Non-volatile memory with hybrid index tag array
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
KR101615659B1 (ko) 2009-07-16 2016-05-12 삼성전자주식회사 스크래치 패드 메모리 관리 장치 및 방법
US8612718B2 (en) * 2009-08-19 2013-12-17 Seagate Technology Llc Mapping alignment
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
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
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
US9323670B2 (en) * 2010-12-13 2016-04-26 Seagate Technology Llc Protecting volatile data of a storage device in response to a state reset
US9280477B2 (en) 2010-12-13 2016-03-08 Seagate Technology Llc Data storage management in a memory device
US8909894B1 (en) * 2011-03-16 2014-12-09 Tintri Inc. Automatically aligning virtual blocks to physical blocks
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
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies 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
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8924631B2 (en) * 2011-09-15 2014-12-30 Sandisk Technologies Inc. Method and system for random write unalignment handling
KR20130084846A (ko) 2012-01-18 2013-07-26 삼성전자주식회사 플래시 메모리를 기반으로 하는 저장 장치, 그것을 포함한 사용자 장치, 그리고 그것의 데이터 읽기 방법
US8996839B1 (en) 2012-01-23 2015-03-31 Western Digital Technologies, Inc. Data storage device aligning partition to boundary of sector when partition offset correlates with offset of write commands
US9063838B1 (en) * 2012-01-23 2015-06-23 Western Digital Technologies, Inc. Data storage device shifting data chunks of alignment zone relative to sector boundaries
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
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
TWI479315B (zh) * 2012-07-03 2015-04-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與資料寫入方法
CN103544118B (zh) * 2012-07-17 2016-09-14 群联电子股份有限公司 存储器储存装置、其存储器控制器与数据写入方法
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
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
CN102929790A (zh) * 2012-10-15 2013-02-13 株洲南车时代电气股份有限公司 一种数据存储系统和方法
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
TWI514141B (zh) * 2013-08-08 2015-12-21 Phison Electronics Corp 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
KR102105362B1 (ko) 2013-09-17 2020-04-28 삼성전자주식회사 집적 회로 및 이를 포함하는 이미지 센서
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
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
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
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
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
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
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
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
US20150339223A1 (en) * 2014-05-22 2015-11-26 Kabushiki Kaisha Toshiba Memory system and method
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
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
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
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
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
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
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
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
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
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
US10289327B2 (en) 2015-06-05 2019-05-14 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US9875053B2 (en) 2015-06-05 2018-01-23 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
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
WO2017131798A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Storing data in a storage device
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
TWI612421B (zh) * 2017-01-20 2018-01-21 宇瞻科技股份有限公司 快閃記憶體的動態對齊資料方法
CN108334276B (zh) * 2017-01-20 2021-01-29 宇瞻科技股份有限公司 快闪记忆体的动态对齐数据方法
US10289561B2 (en) 2017-08-08 2019-05-14 Samsung Electronics Co., Ltd. Nonvolatile memory devices and methods of controlling the same
CN107704208B (zh) * 2017-10-13 2021-08-10 郑州云海信息技术有限公司 一种元数据的修复方法、装置及介质
US10372603B2 (en) 2017-11-27 2019-08-06 Western Digital Technologies, Inc. Handling of unaligned writes
CN109388677B (zh) * 2018-08-23 2022-10-11 顺丰科技有限公司 集群之间数据同步方法、装置、设备及其存储介质
US10713163B2 (en) 2018-09-11 2020-07-14 Toshiba Memory Corporation Set aware system data and mapping tables
US10909030B2 (en) * 2018-09-11 2021-02-02 Toshiba Memory Corporation Enhanced trim command support for solid state drives

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5831735B2 (ja) * 1975-10-15 1983-07-08 日本電気株式会社 コウガクテキハンドウタイソウチ
US4139911A (en) 1978-03-13 1979-02-13 Westinghouse Electric Corp. High speed sense circuit for semiconductor memories
US4218764A (en) 1978-10-03 1980-08-19 Matsushita Electric Industrial Co., Ltd. Non-volatile memory refresh control circuit
US4253059A (en) 1979-05-14 1981-02-24 Fairchild Camera & Instrument Corp. EPROM Reliability test circuit
JPS58139399A (ja) 1982-02-15 1983-08-18 Hitachi Ltd 半導体記憶装置
US4460982A (en) 1982-05-20 1984-07-17 Intel Corporation Intelligent electrically programmable and electrically erasable ROM
JPS6134793A (ja) 1984-07-27 1986-02-19 Hitachi Ltd ダイナミツクメモリ装置における診断及びエラ−訂正装置
US4612630A (en) 1984-07-27 1986-09-16 Harris Corporation EEPROM margin testing design
JPS6148197A (ja) 1984-08-13 1986-03-08 Fujitsu Ltd チヤ−ジアツプ回路
JPS61172300A (ja) 1985-01-26 1986-08-02 Toshiba Corp 半導体記憶装置
EP0198935A1 (de) 1985-04-23 1986-10-29 Deutsche ITT Industries GmbH Elektrisch umprogrammierbarer Halbleiterspeicher mit Redundanz
US4962322A (en) 1988-12-05 1990-10-09 Texas Instruments Incorporated Nonvolatible capacitor random access memory
JPS62114200A (ja) 1985-11-13 1987-05-25 Mitsubishi Electric Corp 半導体メモリ装置
US5157629A (en) 1985-11-22 1992-10-20 Hitachi, Ltd. Selective application of voltages for testing storage cells in semiconductor memory arrangements
US4763305A (en) 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
JPH0715799B2 (ja) 1987-06-30 1995-02-22 日本電気株式会社 半導体記憶装置
FR2618579B1 (fr) 1987-07-21 1989-11-10 Thomson Semiconducteurs Circuit integre a memoire comportant un dispositif anti-fraude
US4809231A (en) 1987-11-12 1989-02-28 Motorola, Inc. Method and apparatus for post-packaging testing of one-time programmable memories
FR2630573B1 (fr) 1988-04-26 1990-07-13 Sgs Thomson Microelectronics Memoire programmable electriquement avec plusieurs bits d'information par cellule
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
JPH07105146B2 (ja) 1988-07-29 1995-11-13 三菱電機株式会社 不揮発性記憶装置
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
JPH02260298A (ja) 1989-03-31 1990-10-23 Oki Electric Ind Co Ltd 不揮発性多値メモリ装置
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US7190617B1 (en) * 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
JPH0664918B2 (ja) 1989-05-25 1994-08-22 ローム株式会社 自己訂正機能を有する半導体記憶装置
US5258958A (en) 1989-06-12 1993-11-02 Kabushiki Kaisha Toshiba Semiconductor memory device
FR2650109B1 (fr) 1989-07-20 1993-04-02 Gemplus Card Int Circuit integre mos a tension de seuil ajustable
US5065364A (en) 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5270551A (en) 1990-02-14 1993-12-14 Hitachi, Ltd. Method of and apparatus for protecting electronic circuit against radiation
US5132935A (en) 1990-04-16 1992-07-21 Ashmore Jr Benjamin H Erasure of eeprom memory arrays to prevent over-erased cells
US5122985A (en) 1990-04-16 1992-06-16 Giovani Santin Circuit and method for erasing eeprom memory arrays to prevent over-erased cells
US5200922A (en) 1990-10-24 1993-04-06 Rao Kameswara K Redundancy circuit for high speed EPROM and flash memory devices
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5239505A (en) 1990-12-28 1993-08-24 Intel Corporation Floating gate non-volatile memory with blocks and memory refresh
US5504760A (en) 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5263032A (en) 1991-06-27 1993-11-16 Digital Equipment Corporation Computer system operation with corrected read data function
US5313427A (en) 1991-09-20 1994-05-17 Texas Instruments Incorporated EEPROM array with narrow margin of voltage thresholds after erase
JPH05109292A (ja) 1991-10-14 1993-04-30 Toshiba Corp 不揮発性半導体記憶装置
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
US5327383A (en) 1992-04-21 1994-07-05 Intel Corporation Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy
US5347489A (en) 1992-04-21 1994-09-13 Intel Corporation Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5550394A (en) 1993-06-18 1996-08-27 Texas Instruments Incorporated Semiconductor memory device and defective memory cell correction circuit
JPH065823A (ja) 1992-06-19 1994-01-14 Toshiba Corp 不揮発性半導体記憶装置及びその使用方法
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
JP2708333B2 (ja) 1992-09-02 1998-02-04 株式会社東芝 レベルシフタ回路
US5365486A (en) 1992-12-16 1994-11-15 Texas Instruments Incorporated Method and circuitry for refreshing a flash electrically erasable, programmable read only memory
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
US5335198A (en) 1993-05-06 1994-08-02 Advanced Micro Devices, Inc. Flash EEPROM array with high endurance
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5623620A (en) 1993-06-30 1997-04-22 Intel Corporation Special test modes for a page buffer shared resource in a memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
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
US5523972A (en) 1994-06-02 1996-06-04 Intel Corporation Method and apparatus for verifying the programming of multi-level flash EEPROM memory
JP3563452B2 (ja) 1994-08-10 2004-09-08 株式会社東芝 セル閾値分布検知回路およびセル閾値分布検知方法
FR2728380A1 (fr) 1994-12-20 1996-06-21 Sgs Thomson Microelectronics Procede d'ecriture de donnees dans une memoire et memoire electriquement programmable correspondante
US5475693A (en) 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP3274306B2 (ja) 1995-01-20 2002-04-15 株式会社東芝 半導体集積回路装置
US5513144A (en) 1995-02-13 1996-04-30 Micron Technology, Inc. On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same
US5699297A (en) 1995-05-30 1997-12-16 Kabushiki Kaisha Toshiba Method of rewriting data in a microprocessor additionally provided with a flash memory
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
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
US5696929A (en) 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
US5687114A (en) 1995-10-06 1997-11-11 Agate Semiconductor, Inc. Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell
US5703506A (en) 1995-12-26 1997-12-30 Motorola Signal processing method
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5712815A (en) 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
US5715193A (en) 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
JPH09319645A (ja) 1996-05-24 1997-12-12 Nec Corp 不揮発性半導体記憶装置
US5860091A (en) * 1996-06-28 1999-01-12 Symbios, Inc. Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US5675537A (en) 1996-08-22 1997-10-07 Advanced Micro Devices, Inc. Erase method for page mode multiple bits-per-cell flash EEPROM
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5745418A (en) 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US5717632A (en) 1996-11-27 1998-02-10 Advanced Micro Devices, Inc. Apparatus and method for multiple-level storage in non-volatile memories
US5835413A (en) 1996-12-20 1998-11-10 Intel Corporation Method for improved data retention in a nonvolatile writeable memory by sensing and reprogramming cell voltage levels
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
US5909449A (en) 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
JP3177207B2 (ja) 1998-01-27 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション リフレッシュ間隔制御装置及び方法、並びにコンピュータ
EP1209568A1 (en) * 1999-02-22 2002-05-29 Hitachi, Ltd. Memory card, method for allotting logical address, and method for writing data
JP2000251483A (ja) 1999-02-24 2000-09-14 Sanyo Electric Co Ltd 1チップマイクロコンピュータとそのデータリフレッシュ方法
EP1729304B1 (en) 1999-04-01 2012-10-17 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
JP4141581B2 (ja) 1999-04-05 2008-08-27 株式会社ルネサステクノロジ フラッシュメモリを搭載する記憶装置
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP3390408B2 (ja) * 2000-05-29 2003-03-24 エヌイーシーマイクロシステム株式会社 半導体集積回路
JP3942807B2 (ja) * 2000-06-06 2007-07-11 株式会社ルネサステクノロジ ブロックアラインメント機能付き半導体記憶装置
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6345001B1 (en) 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US20040008335A1 (en) 2001-05-23 2004-01-15 Mark Hayes Novel method and apparatus for flow monitoring in mirco-fluidic devices
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
US6678785B2 (en) * 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
US6560152B1 (en) 2001-11-02 2003-05-06 Sandisk Corporation Non-volatile memory with temperature-compensated data read
JP4238514B2 (ja) * 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
TWI248609B (en) * 2002-10-18 2006-02-01 Samsung Electronics Co Ltd Method and apparatus for managing disc defects using updateable dam, and disc thereof
JP4518951B2 (ja) * 2002-10-28 2010-08-04 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
US6928511B2 (en) * 2003-03-03 2005-08-09 High Tech Computer, Corp. Method and system for managing virtual memory

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620513B (zh) * 2008-07-03 2012-08-22 慧国(上海)软件科技有限公司 资料储存方法及其储存装置
CN102292711A (zh) * 2009-01-21 2011-12-21 美光科技公司 固态存储器格式化
CN102292711B (zh) * 2009-01-21 2016-01-27 美光科技公司 固态存储器格式化
CN102243611A (zh) * 2010-05-11 2011-11-16 深圳市朗科科技股份有限公司 数据存储方法和系统
CN102693185A (zh) * 2011-02-17 2012-09-26 索尼公司 管理设备和管理方法
CN104375945A (zh) * 2013-08-15 2015-02-25 群联电子股份有限公司 存储器地址管理方法、存储器控制器与存储器储存装置
CN104375945B (zh) * 2013-08-15 2018-03-13 群联电子股份有限公司 存储器地址管理方法、存储器控制器与存储器储存装置
CN109840214A (zh) * 2017-11-28 2019-06-04 爱思开海力士有限公司 数据存储装置及其操作方法
CN111417933A (zh) * 2017-12-01 2020-07-14 美光科技公司 基于偏移的逻辑块映射

Also Published As

Publication number Publication date
JP4960882B2 (ja) 2012-06-27
JP2008524703A (ja) 2008-07-10
US7395404B2 (en) 2008-07-01
CN101099125B (zh) 2011-05-04
US20060136655A1 (en) 2006-06-22
EP1828881A1 (en) 2007-09-05
TWI386801B (zh) 2013-02-21
WO2006065536A1 (en) 2006-06-22
TW200632650A (en) 2006-09-16
EP1828881B1 (en) 2012-12-26
KR20070102485A (ko) 2007-10-18

Similar Documents

Publication Publication Date Title
CN101099125B (zh) 群集的自动对准方法和存储器系统
CN101124555B (zh) 具有多流更新的非易失性存储器和方法
EP1856616B1 (en) Scheduling of housekeeping operations in flash memory systems
CN100524209C (zh) 在非易失性存储器阵列中更新数据的方法
CN1902599B (zh) 将数据更新到非易失性存储器系统和操作该系统的方法
JP5069256B2 (ja) 不揮発性メモリおよびマルチストリーム更新追跡を伴う方法
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
EP1834241B1 (en) Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7433993B2 (en) Adaptive metablocks
US20050144363A1 (en) Data boundary management
US20060161724A1 (en) Scheduling of housekeeping operations in flash memory systems

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 TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120411

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

Effective date of registration: 20120411

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SANDISK TECHNOLOGIES, INC.

CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American Texas

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: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.