CN101923516A - 以区块为基础的快闪存储装置及其操作方法 - Google Patents
以区块为基础的快闪存储装置及其操作方法 Download PDFInfo
- Publication number
- CN101923516A CN101923516A CN201010180645.XA CN201010180645A CN101923516A CN 101923516 A CN101923516 A CN 101923516A CN 201010180645 A CN201010180645 A CN 201010180645A CN 101923516 A CN101923516 A CN 101923516A
- Authority
- CN
- China
- Prior art keywords
- section
- data
- write
- zone
- logical address
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013507 mapping Methods 0.000 claims description 8
- 230000005055 memory storage Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 description 21
- 230000008859 change Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 238000013519 translation Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000002650 habitual effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种以区块为基础快闪存储装置及其操作方法,所描述的以区块为基础快闪存储装置的数据管理技术可以避免在每次更新储存于此快闪存储装置中的数据时就必须进行区块擦除操作。其结果是,可以在需要一区段擦除操作之前进行较大数目的写入操作。此外,此以区块为基础的快闪存储装置,可以同时仿真如同电可擦除可编程只读存储器(EEPROM)所提供的一字节接着一字节的方式进行数据读写。
Description
技术领域
本发明是关于闪存技术,特别是关于以区块为基础快闪存储装置及其操作方法。
背景技术
电可擦除可编程只读存储器(EEPROM)及闪存包括将电荷储存在通道与场效晶体管栅极之间的存储单元。所储存的电荷会影响晶体管的阈值电压,且阈值电压会根据所储存电荷改变而可以用来感测指示数据。其中一种非常惯用的电荷储存存储单元被称为一浮动栅极存储单元。在一浮动栅极存储单元中,其会储存电荷于通道与栅极之间的一导电材料层中。另一种电荷储存存储单元型态被称为一电荷捕捉存储单元,其会使用一介电层来取代浮动栅极。
此处所使用的名词”编程”是指增加晶体管阈值电压的操作。此处所使用的名词”擦除”则是指减少晶体管阈值电压的操作。此外,此处所使用的名词”写入”则是指改变晶体管阈值电压的操作,且其用意是包含增加或减少晶体管阈值电压的操作。
在一电可擦除可编程只读存储器(EEPROM)装置的存储单元可以利用一字节接着一字节的方式进行数据读写,而与其它数据字节无关。然而,为了实现一字节接着一字节的方式进行数据读写,此电可擦除可编程只读存储器(EEPROM)的存储密度是相对低的。
闪存通常提供较电可擦除可编程只读存储器(EEPROM)更高的存储密度。在一闪存装置的存储单元可以利用一字节接着一字节的方式进行编程。然而,因为此快闪存储单元的组态,擦除必须以更大的区段接着区段的方式进行,其中每一个区段包括相对较大数目的字节。因此,为了擦除一区段内的一存储单元,该区段内的所有存储单元都必须也被擦除。换句话说,闪存提供一字节接着一字节的方式进行编程,但是并无法如同电可擦除可编程只读存储器(EEPROM)一般提供一字节接着一字节的方式擦除或写入。
电可擦除可编程只读存储器(EEPROM)及快闪存储装置通常是作为不同的应用。一般而言,因为其较高的密度,闪存在大量数据储存应用方面是较电可擦除可编程只读存储器(EEPROM)更为经济的。而电可擦除可编程只读存储器(EEPROM)是在需要对小量数据进行一字节接着一字节的数据读写更为合适。
许多电子装置中同时包含有电可擦除可编程只读存储器(EEPROM)及闪存,以满足此装置中不同功能的不同存储表现需求。然而,同时使用这两种型态的存储器增加了此装置的成本及复杂程度。
因为闪存无法提供一字节接着一字节的方式擦除,写入更新数据于一区段可以利用先执行一区段读取操作以记录此区段中的所有存储单元内容,之后执行一区段擦除操作以擦除此区段中的所有存储单元,之后再编程更新数据至此区段的方式进行。此方法的一个缺点是此区段中的所有存储单元需要经历一读取-擦除-编程的循环流程,即使是此区段中的仅有某些存储单元的数据被改变。且此流程也是非常耗时的。
闪存会产生一个特定的问题就是其具有有限的耐久性,此装置中的存储单元可维持其操作性及可靠性的擦除及/或编程循环的数目是有限的。因此,重复及持续地写入单一区段,或是少数的区段,会导致某些区段在相对短的时间之后变得老化并有缺陷了。
不同的”平均消耗”技术被提出以延长闪存的寿命。一种平均消耗方案是使用记录每一个区段被擦除的次数。此计数器然后被用来调整数据被映像至个别的区段中,以平衡其消耗。可参阅美国专利第6,000,006、5,485,595和5,341,339号专利。
虽然使用计数器可以延长快闪存储装置的寿命,然而有限的读取/写入耐久性问题仍会限制闪存在需要较多次数编程及擦除操作的应用。
另一种平均消耗方案是将更新数据写入快闪存储装置中的没有使用的实体位置,而不是重新覆盖原本的数据位置。如此会减少快闪存储装置中的一给定写入操作时的区段擦除操作数目。可参阅美国专利第5,845,313和6,115,785号专利。
为了追踪数据的实际位置改变,可以使用可编程的映像表或是地址转译表。可编程的映像表储存由一外部系统所指示的逻辑地址与包含有效数据的快闪存储装置实体地址之间的映像信息。为了正确地追踪有效数据的实际位置,此可编程的映像表在操作时必须被更新。
为了确保有效数据被保持,此映像信息必须在中断电源时被保持。然而,因为此可编程的映像地址转译表被持续地更新,储存此映像信息于闪存中会减少此装置的寿命。因为闪存相对慢的擦除速度,如此会严重地影响使用闪存的装置的表现。此可编程的映像地址转译表或许可以替代地储存在此装置中的另一个非易失存储器电路内。然而,也会增加了此装置的成本及复杂程度。
因此需要提供一种快闪存储装置其可以仿真如同电可擦除可编程只读存储器(EEPROM)所提供的一字节接着一字节的方式进行数据写入,而同时也可以利用较低的成本及复杂程度并解决耐久性问题。
发明内容
有鉴于此,本发明所提供的以区块为基础快闪存储装置的数据管理技术可以避免在每次更新储存于此快闪存储装置中的数据时就必须进行区块擦除操作。映像至此快闪存储装置区块中的逻辑地址具有较此区块中更小的地址数目。此区段擦除操作可以通过写入更新数据至对应区块的可用预擦除位置的逻辑地址而不是直接覆盖旧数据而避免。其结果是,可以在需要一区段擦除操作之前进行更多次数的写入操作。此外,此以区块为基础的快闪存储装置,可以同时仿真如同电可擦除可编程只读存储器(EEPROM)所提供的一字节接着一字节的方式进行数据写入。
本发明亦描述一种操作一快闪存储装置的方法,该快闪存储装置包括多个区块,每一个区块包含多个区段。该方法包含将逻辑地址映像至该多个区块中的对应区块。
对该多个区块中的一特定区块,此方法亦包含将该特定区块的该多个区段中的一第一区段标示为一具有一初始数据区域及一写入记录区域的工作区段。该初始数据区域是使用储存此对应逻辑地址中的一数据组,而此写入记录区域是用来储存此数据组中的更新数据。且将该特定区块的该多个区段中的一第二区段标示为一非工作区段。此非工作区段作为一预备单元以储存对应逻辑地址群组的更新数据组,此数据组将被写入此区段的初始数据区域。
为了回应一写入命令与映像至该特定区块的逻辑地址写入更新数据,该写入更新数据包含将写入记录数据写入至该写入记录区域中的一可写位置,该写入记录数据指示该逻辑地址及指示该更新数据。
使用来自该初始数据区域及该写入记录区域的数据不时编排一更新数据组,例如当写入记录区域是满的时候,如此写入记录区域并不会溢出。该更新数据组写入至该第二区段中的一初始数据区域内,且标示该特定区块的第二区段为该工作区段。该第一区段然后被擦除,且标示该第一区段为该非工作区段。
该第一及该第二区段每一个包含一状态标识区域,其中该标示该第二区段为该工作区段包含编程该第二区段的该状态标识区域中的一预定位置,且该标示该第一区段为该非工作区段包含擦除该第一区段的该状态标识区域。
此区段的标示可以通过改变状态标识区域中的数据而不是总是需要擦除此状态标识区域而达成。举例而言,当此区段是非工作时,状态标识区域中的数据可以在二位表示中都是”1”或是在十六位表示中都是”F”。之后,此状态标识区域的数据可以通过编程至此状态标识区域中的预设位置来改变,所以特定位自逻辑状态”1”(擦除)改变至逻辑状态”0”(编程),而保留原本已经是逻辑状态”0”的位。举例而言,当此非工作区段的状态标识区域中的数据是”0xFFFFFF”时,后续操作时的编程会将状态标识区域的数据先改变为”0xFFFF00”,然后至”0xFF0000”,且最后至”0x000000”。因为状态标识区域是位于区段之内,此状态标识区域然后在此区段被擦除时擦除回到”0xFFFFFF”。此技术消除了需要在每一次改变状态标识区域的数据时就必须擦除状态标识区域。
此处所描述的技术可以有效率地管理逻辑地址与包含有效数据区块的实体地址之间的映像,而不需要经常地更新逻辑-实体地址映像信息。
此处所描述的映像技术辨别对应一特定逻辑地址的区块,且标示一偏移量其指示此初始数据区域中的一相对实体地址。在此写入记录区域并不包括此特定逻辑地址的更新数据的情况下,当一区段被标示为工作区段时,此工作区段的偏移量用来指示初始数据区域中的对应输入包含此特定逻辑地址的有效数据。使用此映射技术,状态标识及写入记录区域并不需要在每一次更新此快闪存储装置中的数据后就被更新。因此,不需要于操作时读取及更新较大的映像表,此更新信息可以保持静态稳定的。
本发明亦描述一种包含数据处理器及与处理器耦接的存储器的装置。该存储器储存可以由该数据处理器执行的指令,包括此处所描述的可以在一快闪存储阵列上执行的许多不同的指令。
本发明的目的、特征和实施例,会在下列实施方式的章节中搭配图式被描述。
附图说明
本发明是由权利要求范围所界定。这些和其它目的、特征和实施例,会在下列实施方式的章节中搭配图式被描述,其中:
图1显示一计算机系统的简要方块示意图,其适用于使用此处所描述技术的区块为基础快闪存储装置的数据安排之用。
图2进一步显示于一例示区块内的数据排列方式。
图3显示一在逻辑地址空间中的逻辑地址与阵列中的区块之间映像的范例。
图4显示实体地址与逻辑地址之间的转译的示意图。
图5为根据本发明一实施例的一个由处理器所执行储存数据组于快闪存储装置中的一特定区块的组态流程的流程图。
图6为一写入操作的流程图,以储存更新数据于一特定的逻辑地址。
图7为一读取操作的流程图,以自一特定的逻辑地址读取数据。
图8为一编排操作的流程图。
图9是一转译图标显示于操作时改变储存在区段中的状态标识区域的数据。
图10为一操作的流程图,以决定一中断操作是否己发生。
图11显示根据本发明一实施例快闪存储装置中不同软件阶级之间的关系图。
图12显示根据本发明一第二实施例快闪存储装置中不同软件阶级之间的关系图。
【主要元件符号说明】
100:计算机系统
112:总线子系统
114:处理器
116:网络界面
118:通信网路
120:快闪存储装置
122:使用者界面输入装置
125:区块
128:区段
130:使用者界面输出装置
200:初始数据区域
210:写入记录区域
230:写入记录数据
300:逻辑地址空间
310:实体地址空间
320:地址转译表
1110:低阶快闪应用程序界面
1120:智能快闪应用程序界面
1130:使用者程序代码
1200:字节读写模式区域
1210:快闪存储装置存取模式区域
具体实施方式
本发明实施例搭配以下图1到图12进行详细描述。
图1显示一计算机系统100的简要方块示意图,其适用于使用此处所描述技术的区块为基础快闪存储装置120的数据安排之用。计算机系统100通常包含至少一个处理器114其透过总线子系统112与许多外围装置进行沟通。这些外围装置可以包括快闪存储装置120、使用者界面输入装置122、使用者界面输出装置130及一个网络界面子系统116。这些输入与输出装置可以允许使用者与计算机系统100互动。网络界面子系统116是作为提供给与外部网络的界面,包含一个与通信网路118的界面,且透过通信网路118与其它计算机系统中的对应界面装置耦接。通信网路118可以包含许多互连的计算机系统及通信连接。这些通信连接可以是有线连接、光纤连接、无线连接、或是其它信息传输的机制。其中一个实施例的通信网路118是因特网,但是在其它的实施例中通信网路118可以是任何适用的计算机网络。
使用者界面输入装置122可以包括键盘,指向装置例如是鼠标,轨迹追踪器、触控板、或是图形平板、扫瞄器、触控屏幕、声控输入装置例如是声音辨识系统、麦克风或是其它型态的输入装置等等。一般而言,使用此名词”输入装置”是代表希望包含所有可能用来输入信息进入计算机系统100或是通信网路118的装置型态或是方式。
使用者界面输出装置130可以包括显示次系统、打印机、传真机、或是非视觉显示例如一声音输出装置等等。此显示次系统可以包括映像管(CRT)、平面显示装置例如液晶显示器,一投影装置,以及其它产生视觉影像的机制等。此显示次系统也可以包括提供非视觉显示例如声音输出装置。一般而言,使用此名词”输出装置”是代表希望包含所有可能用来自计算机系统100或是其它机器输出信息的装置型态或是方式。
快闪存储装置120储存基本的编程及数据结构,其提供此处某些实施例中所描述的功能,包括逻辑至实体的地址映像及转译的指令,以及用来将数据安排于此快闪存储装置120内的指令(会在以下描述)。这些软件模块通常是由处理器114执行,其可以包括随机存取存储器(RAM)以于程序执行时储存指令或数据。
在例示的实施例中,处理器114执行指令以进行此处所描述快闪存储装置120外的许多操作。替代地,此快闪存储装置120包括一处理器或是其它型态的控制器以控制数据管理及执行此处所描述的许多操作。举例而言,此控制器可以是使用业界所熟知的特殊功能逻辑电路构成的状态机构。在替代的实施例中,此控制器包含通用目的处理器,其可以应用于同一集成电路上,以执行一控制此快闪存储装置120的计算机程序。而在另一实施例中,通用目的处理器与特殊功能逻辑电路的组合可以用来实施此控制器。
总线子系统112提供一机制使计算机系统100中不同的元件及子系统可以如所需要的彼此互相沟通。虽然图式中所显示的总线子系统112是单一总线,总线子系统112的替代实施例可以使用多重总线。在某些实施例中,于快闪存储装置120与总线子系统112之间的数据、地址及命令信号可以利用串行方式施加在共享的在线,例如可以使用业界所熟知的串行外围界面。
计算机系统100本身可以是许多不同型态包括一个人计算机、可携式计算机、工作站、计算机终端、网络计算机、主系统或是其它的数据处理系统或是使用者装置。因为计算机系统持续不断地改变,在图1中所描述的计算机系统100只是一个较佳实施例的例示罢了。计算机系统100也可以是其它组态,且相较于图1中所示的计算机系统具有更多或更少的元件。
如图1中所示,此快闪存储装置120包括多个实体区块,其包含区块0 125-0至区块N 125-N,以储存利用上述技术安排的数据。如同以上所描述的,此快闪存储装置120也可以包括额外的区块以储存将逻辑与实体地址映像及转译的指令,且将数据分配于区块0 125-0至区块N 125-N。
指令包括自计算机系统100所指定的快闪存储装置120的逻辑地址与快闪存储装置120区块0 125-0至区块N 125-N的实体地址之间的映像。如同以下更详细的描述,此映射于区块0 125-0至区块N 125-N的逻辑地址相较对应于区块0 125-0至区块N 125-N的实体地址数目具有较小数目的地址,如此在更新储存于区块0 125-0至区块N 125-N内的数据时并不需要进行区段擦除操作。
区块0 125-0至区块N 125-N每一个包括多个区段,其是可以个别地进行擦除。区块0 125-0至区块N 125-N中的区段包括一状态标识区域储存用来指示一区段是否目前是工作(正在工作)、非工作(被擦除)、污染或是暂时的数据。
一个给定区块的工作区段是用来储存对应逻辑地址的数据。此工作区段包括一初始数据区域储存对应逻辑地址群组的数据组。为了致能储存此数据组中的更新数据,此工作区段也包括一写入记录区域。在一写入操作时,写入记录包括将更新数据写入写入记录区域中可用(空)的区域。此写入记录区域的大小必须在区段擦除操作的频率及读取操作(将在以下描述)的速度之间作取舍,且因此可以在不同的实施例中改变。
如同以下更详细的描述,此在写入记录区域中的写入记录数据是利用一有组织的方式储存,因此有效数据可以被正确地决定。
每一个区块也包括一非工作区段,其作为一预备单元以不时地储存对应逻辑地址群组的数据组,如此当写入记录区域满的时候,可以使写入记录区域不会溢出。
区块1 125-1是快闪存储装置120内区块0 125-0至区块N 125-N中的代表区块。区块1 125-1包括多个区段128a-1和128b-1,...128c-1,其可以个别擦除。在此范例中,区段128a-1目前是工作的区段,而区段128b-1,...128c-1目前是非工作的区段。
图2显示区块1 125-1内的数据排列方式。目前是工作的区段128a-1,包括一初始数据区域200a-1储存对应逻辑地址群组的数据组。当正在写入的时候,初始数据区域200a-1中的数据组是对应逻辑地址的数据。因此,在初始数据区域200a-1中具有逻辑地址与对应输入数据的一一对应。其结果是,在初始数据区域200a-1中的地址数目与映像至区块1 125-1内的逻辑地址数目至少一样大。
工作区段128a-1也包括一预擦除写入记录区域210a-1。在回应写入命令以更新一特定映像至区块1 125-1内逻辑地址的数据时,一写入记录数据230输入被写入至写入记录区域210a-1中一个空的预擦除位置。
写入记录数据230包括一第一字段(“逻辑地址字段”)指示此更新数据的一特定逻辑地址。此写入记录数据230也包括一第二字段(“更新数据域位”)指示此更新数据。
此写入记录数据230的第一字段指示初始数据区域200a-1中对应此特定逻辑地址的地址不再有效,且由此写入记录数据230的第二字段中的更新数据所取代。
在第一字段中的数据,举例而言,可以是此特定逻辑地址,初始数据区域200a-1中对应此特定逻辑地址的实体地址输入,此工作区段偏移量(如以下描述),或是任何其它可以被用来决定此特定逻辑地址的数据。
在一写入操作,写入记录数据230的输入被写入至写入记录区域210a-1中第一个空的位置,而其它写入记录区域210a-1中空的位置则会是跟随最近写入的写入记录数据。其结果是,写入记录数据的输入被安排为一暂存的序列型态。
通过将更新数据写入至写入记录区域210a-1,而不是利用区段擦除直接覆盖初始数据区域200a-1中区段128a-1的数据,只有储存写入记录数据230的存储单元被写入。此外,更新数据的写入是不必利用区段擦除操作。如此结果是区段擦除操作的数目是小于写入操作的数目,其可以有效地提供此快闪存储装置120的耐久性。
因为写入记录数据被写入至写入记录区域210a-1中空的位置,最终写入记录区域的区段128a-1会变满。因此,一更新数据组不时需要使用自初始数据区域和写入记录区域的数据来进行编排,且作为工作与非工作区段互相调换,如此写入记录区域才不会溢出。此处所使用的名词”不时”通常是用来代表偶尔,且其并不用来限制为规律、循环或是相等的时间间隔。
在以下所描述的编排过程,此更新数据组包含对应逻辑地址的有效数据可以使用来自初始数据区域200a-1及目前工作区段128a-1中的写入记录区域210a-1的数据来编排。此更新数据组然后被写入初始数据区域200b-1的区段128b-1中,且改变区段128b-1的标识区域220中的状态标识以指示此区段128b-1现在是工作的区段。区段128a-1然后被擦除且设置为区块1125-1中的一非工作的区段。在区块1125-1中的后续写入操作时,此写入记录数据被写入至区段128b-1的写入记录区域210b-1。
除了使用状态标识区域220以辨别在区块1 125-1中的区段128a-1和区段128b-1的工作及非工作区段之外,此状态标识区域220也用来确保此更新数据被编排且正确地储存在新的工作区段中。此操作会被更仔细地于图8中描述。
图3显示一介于逻辑地址空间300中的逻辑地址群组325-0至325-7映像至快闪存储装置120实体地址空间310中的区块0125-0至区块7125-7的映像范例。在此例示中,4千字节(KB)的逻辑地址空间300,包含逻辑地址空间300 0x0000~0x0FFF,分成8个512字节的群组325-0至325-7。这些群组325-0至325-7的逻辑地址空间300被映像至对应的快闪存储装置120中8千字节(KB)的区块0 125-0至区块7 125-7,其实体地址包含0x0000~0xFFFF。
因此,这些群组325-0逻辑地址0x0000~0x01FF被映像至区块0 125-0,群组325-1逻辑地址0x0200~0x03FF被映像至区块1 125-1,以此类推。
在此范例中,每一个8千字节(KB)的区块包含两个4千字节(KB)的区段。每一个区块0 125-0至区块7 125-7的工作区段包括一个512字节的初始数据区域用来储存所对应的逻辑地址群组325-0至325-7的数据组。每一个区段的状态标识区域是3字节。此工作区段的剩余3581字节是用作写入记录区域。在此范例中,2个字节是作为写入记录区域的第一字段(“逻辑地址字段”)输入以指示此更新数据的一特定逻辑地址,而1个字节是作为写入记录区域的第二字段(“更新数据域位”)输入以指示此更新数据。因此,在此范例中,此写入记录区域在此工作区段变满之前可以支持1193个单一字节数据写入操作。
如同之前所描述的,一给定区块的工作区段可以于操作中改变。因此,区块中的有效数据的实体地址的根据此区段目前是工作与否,以及此写入记录区域的任何更新数据,来决定。其结果是,操作中包含有效数据的实体地址与逻辑地址之间的转译并不是固定的。
图4显示实体地址与逻辑地址之间的转译的示意图。
逻辑地址是使用一地址转译表320将其映射至对应的区块。对一特定的逻辑地址而言,此地址转译表320提供对应至逻辑地址的区块。此地址转译表320也提供工作区段偏移量其辨识在此初始数据区域中与此特定逻辑地址所对应的相对地址。
在此例示的实施例中,工作区段偏移量是自此初始数据区域中的起始实体地址的一相对地址。在一个如此的范例中,其中一个512字节的初始数据区域用来储存与512字节逻辑数据组所对应的数据组,此工作区段偏移量是介于0x0000~0x01FF的一数据值。
此工作区段偏移量,当与状态标识搭配使用以辨别此工作区段,指示此初始数据区域中与此逻辑地址所对应的输入。必须注意的是,初始数据区域中所对应的输入并不一定包含此逻辑地址的有效数据,因为更新数据或许存在于写入记录区域内。用来决定有效数据位置的读取操作会于图7中描述。
状态标识、偏移量及写入记录区域的使用排除了在快闪存储装置120每次更新数据或是当此区块中的工作区段被改变之后就必须更新地址转译表320的需求。因此,地址转译表320可以保持静态,而仍能正确的追踪此有效数据。
因为地址转译表320并不需要持续地更新,其可以储存于快闪存储装置120中。于操作时,地址转译表320可以被提取至较高存取速度的存储器中,例如图1处理器的DRAM或是SRAM。
图5为根据本发明一实施例的一个由处理器114所执行储存数据组于快闪存储装置120中的一特定区块的组态流程的流程图。如此处所示的流程图,必须明白的是许多步骤可以被结合,平行地执行或是以不同的顺序执行而不会影响所欲达成的功效,在某些情况下,不同步骤的重新安排仅会在一并调整某些步骤才会达成相同的功效,且在某些情况下,不同步骤的重新安排仅会在某些条件被满足才会达成相同的功效。如此的重新安排对本领域技术人员而言是显而易见的。
在步骤510,逻辑地址被映像至快闪存储装置120中对应的区块。此映射可以通过使用图4中的地址转译表320来进行。
在步骤520,此特定区块中的一第一区段通过编程此第一区段中的状态标识区域以设置其状态标识为工作而被标示为工作区段。此工作区段具有初始数据区域及写入记录区域。此特定区块中的一第二区段通过设置其状态标识为非工作而被标示为非工作区段。在此范例中,0xFF0000的状态标识指示一工作区段,而0xFFFFFF的状态标识指示一擦除区段。
在步骤530,对应于逻辑地址的数据组被写入初始数据区域。
图6为一写入操作的流程图,其可以由处理器114执行以储存更新数据于一特定的逻辑地址。
为了响应储存更新数据的一写入命令,在步骤610,使用之前所描述的地址转译表来决定对应于特定逻辑地址的区块。
在步骤620,此对应区块中的区段的状态标识区域被读取以寻找此工作区段。
在步骤630,搜寻此工作区段的写入记录区域以寻找可写位置。因为写入记录区域的可写位置必须是在擦除状态,在此范例中会自此写入记录区域中的起始地址开始读取逻辑地址字段以寻找第一个擦除位置。
在步骤640,当此写入记录区域中找不到一个可写位置时即代表此工作区段中的写入记录区域是满的,而此流程继续至方块660其中一更新数据组被编排。此编排操作会在图8中被描述。
当此写入记录区域中找到一个可写位置时,此流程继续至步骤650。在步骤650,一个指示逻辑地址及更新数据的写入记录数据输入被写入至此写入记录区域的可写位置。此写入操作600最后终止于步骤670。
图7为一读取操作的流程图,其可以由处理器114执行以自一特定的逻辑地址读取数据。
为了响应自一特定的逻辑地址读取数据的一读取命令,在步骤710,使用之前所描述的地址转译表来决定对应于特定逻辑地址的区块。
在步骤720,此对应区块中的区段的状态标识区域被读取以决定此工作区段。
在步骤730,此工作区段的写入记录区域被搜寻以寻找此逻辑地址的输入,此输入指示此写入记录区域包含此逻辑地址的更新数据。
上述范例中的写入记录数据被写入此写入记录区域的第一个可写位置。其结果是,此写入记录数据被安排为一暂存的序列型态。因此,在此例示的实施例中写入记录区域中的数据自最近的写入记录数据开始读取,因为当此逻辑地址的数据被更新了许多次时,此逻辑地址的第一笔输入则会是最新的且因此指示此逻辑地址的有效数据。因此,当找到此逻辑地址的一输入,此操作继续至步骤740,其中此逻辑地址的数据利用此输入来读取。
当一输入无法在此写入记录区域中发现时,则在初始数据区域中的对应输入包含此特定逻辑地址的有效数据。在步骤750,与此特定逻辑地址相关的初始数据区域中的对应输入系使用由之前所描述的地址转译表所提供的工作区段偏移量来决定。储存于对应输入的数据则会被读取并输出。
如同之前所描述的,作为工作区段与非工作区段的区段则会不时交换。
图8为一编排操作800的流程图,其可以由处理器114执行。此操作可以在写入记录区域已经充满时或是其它时候被启动。
为了清晰解说以下的叙述起见,于操作800之前的工作区段被称为”区段A”,而非工作区段被称为”区段B”。
在步骤810,于操作800之前储存于”区段A”的写入记录区域及初始数据区域中的数据被读取。包含此特定逻辑地址的有效数据的更新数据组,使用自写入记录区域及初始数据区域所读取的数据进行编排。
在步骤820,此更新数据组被写入”区段B”的初始数据区域中,且将区段B标示为工作区段。在此例示实施例中,区段B的状态标识区域于此更新数据组被写入之前暂时改变为(0xFFFF00),且随后将更新数据组写入的区段B的状态标识改变为工作。仅在此更新数据组写入之后将区段B标示为工作可以确保区段B包含有效的数据。此外,通过如此方式来改变区段B的状态标识区域,此状态标识区域的数据可以用来指示一例如为电源消失的中断是否发生。此操作会于图9中详细描述。
在步骤830,区段A标示为污染且被擦除。在此例示实施例中,区段A的状态标识区域的数据会在进行区段A的擦除操作之前改变为污染(0x000000)。此区段擦除操作随后将区段A的状态标识数据改变为擦除(非工作)。在进行区段A的擦除操作之前将其标示为污染,此状态标识区域的数据可以用来指示中断是否在擦除区段A之前发生。
如同之前所描述的,区段的标示可以通过改变区段中的状态标识区域的数据而达成,并不需要总是擦除状态标识区域。
图9是一转译图标显示于操作时改变储存在区段中的状态标识区域的数据。在图9中,此状态标识区域是3个字节。
如图9中所示,当一区段是非工作的,状态标识区域中的数据是”0xFFFFFF”。自非工作改变为工作时,状态标识先改变为暂存的。在图9中,改变至暂存状态是通过编程最低位置的字节,因此状态标识区域的数据是”0xFFFF00”。由暂存改变至工作是通过编程中间位置字节,因此状态标识区域的数据是”0xFF0000”。
自工作变成非工作的改变,状态标识区域中的数据首先改变至污染。在图9中,改变至污染状态是通过编程状态标识区域中最高位置的字节,因此数据是”0x000000”。因为状态标识区域是位于此区段之内,所以当此区段被擦除时此状态标识区域是擦除回到”0xFFFFFF”。此技术消除了在每一次状态标识区域需要改变时就必须擦除一次。其结果是,状态标识区域的数据可以被储存在区段之内而不需要分开储存。
替代地,许多不同区段的状态改变可以通过编程状态标识区域中与图9所示的不同位置而达成。
图10为一操作1000的流程图,其可以由处理器114执行以决定图8中的中断操作800是否已发生。此操作1000可以在,举例而言,当快闪存储装置120被提供电源或是在第一个写入命令前被执行。
在步骤1010,一特定区块的区段中的状态标识被读取。当一区段中的状态标识是污染的,则一中断于操作800中的步骤830时发生。在此情况下,在步骤1020此区段进行一区段擦除。
当一区段中的状态标识是暂存的,则一中断于操作800中的步骤820时发生。在此情况下,在步骤1030对此区块重新进行操作800。
当此区块中有两个区段具有工作区段状态标识时,则一中断发生在操作800中的步骤820与830之间。在此情况下,在方块1040,这些区段被读取以决定哪一个区段是满的且因此确实是污染的区段,及对此污染的区段进行一区段擦除。
此操作1000然后继续检查快闪存储装置120的下一个区块,直到所有的区块都被检查完毕。
图11显示根据本发明一实施例快闪存储装置120中不同软件阶级之间的关系图。使用者程序代码1130包括逻辑以提供逻辑地址及命令以读取和写入数据至此快闪存储装置120。
此智能快闪应用程序界面(API)1120是一个软件模块包括逻辑以进行逻辑-实体地址映像及转译,及逻辑以管理读取和写入至此快闪存储装置120的数据以进行此处所描述的不同操作。此智能快闪应用程序界面(API)1120自使用者程序代码1130转译命令并提供指令给低阶快闪应用程序界面(API)1110。此智能快闪应用程序界面(API)1120也使用地址转译表将使用者程序代码1130的逻辑地址转译成对应的实体地址,其然后提供给低阶快闪应用程序界面(API)1110软件模块。
此低阶快闪应用程序界面(API)1110是一个软件驱动器特别适用于与快闪存储装置120搭配工作。此低阶快闪应用程序界面(API)1110包括逻辑以进行实际的读取和编程数据以及区段擦除至此快闪存储装置120以响应由智能快闪应用程序界面(API)1120所提供的指令及实体地址。
此快闪存储装置120、低阶快闪应用程序界面(API)1110及智能快闪应用程序界面(API)1120以此处所描述的一字节接着一字节的方式共同仿真快闪存储装置120的读写。
此快闪存储装置120以使用商业上常用的快闪存储装置来施行,例如旺宏公司的MX25L512CMOS串行快闪。其结果是,此智能快闪应用程序界面(API)1120提供模拟此处所描述的一字节接着一字节的方式进行快闪存储装置120的读写的能力,而不需要重新写入这些装置前必须先执行擦除区块动作。
在图11中,此智能快闪应用程序界面(API)1120被安排在介于使用者程序代码1130与低阶快闪应用程序界面(API)1110之间。
图12显示根据本发明一第二实施例快闪存储装置120中不同软件阶级之间的关系图,其中快闪存储装置120包括一字节读写模式区域1200及一快闪存储装置存取区域1210。
在图12中,此智能快闪应用程序界面(API)1120操作快闪存储装置120中的字节读写模式区域1200以仿真此处所描述的一字节接着一字节的方式的数据读写。此外,此低阶快闪应用程序界面(API)1110操作快闪存储装置存取模式区域1210以一字节接着一字节或一页面接着一页面的方式对快闪存储装置120进行数据读取或编程,并以一区块接着一区块的方式对快闪存储装置120进行擦除。
在如此的实施例中,快闪存储装置120可以同时作为一电可擦除可编程只读存储器(EEPROM)及一闪存。其结果是,快闪存储装置120可以取代分别的电可擦除可编程只读存储器(EEPROM)与闪存,其降低了系统成本及复杂性。
此处所描述的技术可以致能使用区块为基础的闪存于较大数目信息的处理系统之中。作为一个范例,此处所描述的技术可以仿真单一字节数据的读写。更一般而言,此处所描述的技术可以用来读写使用区块为基础的闪存中的其它大小数据,其中读写的数据大小是小于区块的大小。
此处所描述的技术的优点包含通过以区块为基础的闪存取代高成本低密度的电可擦除可编程只读存储器(EEPROM),可以节省系统的成本。通过施行此处所描述的技术,此闪存的读取/写入寿命可以被增加为超过传统区块存取算法的1000倍。
虽然本发明已参照实施例来加以描述,然本发明创作并未受限于其详细描述内容。替换方式及修改样式已于先前描述中所建议,且其它替换方式及修改样式将为本领域技术人员所思及。特别是,所有具有实质上相同于本发明的构件结合而达成与本发明实质上相同结果者,皆不脱离本发明的精神范畴。因此,所有此等替换方式及修改样式系意欲落在本发明于随附权利要求范围及其均等物所界定的范畴之中。
Claims (10)
1.一种操作一存储装置的方法,该存储装置包括多个区块,每一个区块包含多个区段,其特征在于,该方法包含:
将逻辑地址映像至该多个区块中的对应区块;以及
对该多个区块中的一特定区块:
将该特定区块的该多个区段中的一第一区段标示为一具有一初始数据区域及一写入记录区域的工作区段,且将该特定区块的该多个区段中的一第二区段标示为一非工作区段;
写入一数据组于该初始数据区域;以及
响应一写入命令与映像至该特定区块的逻辑地址写入更新数据,该写入更新数据包含将写入记录数据写入至该写入记录区域中的一可写位置,该写入记录数据指示该逻辑地址及指示该更新数据。
2.根据权利要求1所述的方法,其特征在于,更包含:
使用来自该初始数据区域及该写入记录区域的数据编排一更新数据组;
写入该更新数据组至该第二区段中的一初始数据区域内,且标示该第二区段为该工作区段;以及
标示该第一区段为污染区段,且擦除该第一区段。
3.根据权利要求2所述的方法,其特征在于:
该第一区段及该第二区段每一个均包含一状态标识区域;
该标示该第二区段为该工作区段包含编程该第二区段的该状态标识区域中的一预定位置;以及
该标示该第一区段为该非工作区段包含擦除该第一区段的该状态标识区域。
4.根据权利要求2所述的方法,其特征在于:
该第一区段及该第二区段每一个包含一状态标识区域;
该标示该第二区段为该工作区段包含:
编程该第二区段的该状态标识区域中的一第一预定位置以在写入该更新数据组之前标示该第二区段为一暂存区段;以及
编程该第二区段的该状态标识区域中的一第二预定位置以在写入该更新数据组之后标示该第二区段为一工作区段;
该标示该第一区段为该非工作区段包含:
编程该第一区段的该状态标识区域中的一第三预定位置以在擦除该第一区段之前标示该第一区段为一污染区段;
擦除该第一区段的该状态标识区域。
5.根据权利要求1所述的方法,其特征在于,该映射识别该区块对应至一特定逻辑地址,且识别在一初始数据区域中的一相对实体地址的偏移量。
6.根据权利要求1所述的方法,其特征在于,该将一逻辑地址写入该更新数据包括:
写入该写入记录数据至该写入记录区域中的一可写位置除非该写入记录区域是满的;
当该写入记录区域为满的时,编排该特定区块的该更新数据组。
7.根据权利要求1所述的方法,其特征在于,更包含回应一读取命令自映像至该特定区块的一第二逻辑地址读取数据,该读取数据包含:
当该写入记录区域包括该第二逻辑地址的一输入时,自该写入记录区域中读取该第二逻辑地址的数据;以及
当该写入记录区域并不包括该第二逻辑地址的一输入的时,自该初始数据区域中的一对应输入读取该第二逻辑地址的数据。
8.根据权利要求7所述的方法,其特征在于,该自该写入记录区域中读取该第二逻辑地址的数据包含:
辨识该写入记录区域的该第二逻辑地址中的一最新的输入;以及
使用该最新的输入自该第二逻辑地址读取该数据。
9.一种装置,其特征在于,包含:
一数据处理器及一存储器与该数据处理器耦接,该存储器储存可以由该数据处理器执行的指令,该些指令包括:
映像逻辑地址至一快闪存储阵列的多个区块中的对应区块,该多个区块中的每一个区块包含多个区段;
将一特定区块的该多个区段中的一第一区段标示为一具有一初始数据区域及一写入记录区域的工作区段,且将该特定区块的该多个区段中的一第二区段标示为一非工作区段;
写入一数据组于该初始数据区域;以及
响应一写入命令与映像至该特定区块的逻辑地址写入一更新数据,该写入更新数据包含将写入记录数据写入至该写入记录区域中的一可写位置,该写入记录数据指示该逻辑地址及指示该更新数据。
10.根据权利要求9所述的装置,其特征在于:
标示该第二区段为该工作区段的该些指令包含:
编程该第二区段的一状态标识区域中的一第一预定位置以在写入该更新数据组之前标示该第二区段为一暂存区段;以及
编程该第二区段的该状态标识区域中的一第二预定位置以在写入该更新数据组之后标示该第二区段为一工作区段;以及
标示该第一区段为该非工作区段的该些指令包含:
编程该第一区段的该状态标识区域中的一第三预定位置以在擦除该第一区段之前标示该第一区段为一污染区段;以及
擦除该第一区段的该状态标识区域。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17881309P | 2009-05-15 | 2009-05-15 | |
US61/178,813 | 2009-05-15 | ||
US12/768,368 | 2010-04-27 | ||
US12/768,368 US8769189B2 (en) | 2009-05-15 | 2010-04-27 | Method and apparatus for byte-access in block-based flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101923516A true CN101923516A (zh) | 2010-12-22 |
CN101923516B CN101923516B (zh) | 2013-02-06 |
Family
ID=43069425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010180645.XA Active CN101923516B (zh) | 2009-05-15 | 2010-05-14 | 以区块为基础的快闪存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8769189B2 (zh) |
CN (1) | CN101923516B (zh) |
TW (1) | TWI457940B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231136A (zh) * | 2011-07-12 | 2011-11-02 | 晨星软件研发(深圳)有限公司 | 一种闪存存储设备的数据存储方法和装置 |
CN102591738A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据管理方法、存储器控制器与嵌入式存储器储存装置 |
CN103514953A (zh) * | 2012-06-22 | 2014-01-15 | 飞思卡尔半导体公司 | 对存储在闪存中的数据有地址ram的模拟电可擦存储器 |
CN103608866A (zh) * | 2013-03-15 | 2014-02-26 | 华为技术有限公司 | 用于闪存存储器的数据擦除方法及装置 |
CN106033362A (zh) * | 2015-03-13 | 2016-10-19 | 北京视联动力国际信息技术有限公司 | 一种闪存分区的处理方法和装置 |
CN106528441A (zh) * | 2016-10-26 | 2017-03-22 | 珠海格力电器股份有限公司 | 仿真eeprom的数据处理方法、装置及电子设备 |
CN108121668A (zh) * | 2018-01-08 | 2018-06-05 | 华大半导体有限公司 | 一种存储映射控制装置及控制方法 |
CN112466371A (zh) * | 2020-12-17 | 2021-03-09 | 宁波拓普集团股份有限公司 | 一种循环利用闪存模拟字节擦除功能的方法 |
CN112689830A (zh) * | 2018-08-13 | 2021-04-20 | 美光科技公司 | 用于片上系统重新配置及再利用的熔丝加载架构 |
CN113568579A (zh) * | 2021-07-28 | 2021-10-29 | 深圳市高川自动化技术有限公司 | 一种存储器、数据存储方法以及数据读取方法 |
CN114115700A (zh) * | 2020-08-31 | 2022-03-01 | 施耐德电气(中国)有限公司 | 闪存数据读写方法和闪存数据读写装置 |
CN114527934A (zh) * | 2022-01-12 | 2022-05-24 | 珠海泰芯半导体有限公司 | 闪存的控制方法、装置、存储介质和电子设备 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122179B2 (en) * | 2007-12-14 | 2012-02-21 | Silicon Motion, Inc. | Memory apparatus and method of evenly using the blocks of a flash memory |
US20120246385A1 (en) * | 2011-03-22 | 2012-09-27 | American Megatrends, Inc. | Emulating spi or 12c prom/eprom/eeprom using flash memory of microcontroller |
WO2013011337A1 (en) * | 2011-07-15 | 2013-01-24 | Nokia Corporation | Method and apparatus for distributing sensor data |
EP2653973A1 (de) * | 2012-04-20 | 2013-10-23 | Siemens Aktiengesellschaft | Verfahren zur Verlängerung der Lebensdauer eines physikalischen Flash-Speichers |
US9864638B2 (en) * | 2012-06-22 | 2018-01-09 | Intel Corporation | Techniques for accessing a graphical processing unit memory by an application |
KR20140056657A (ko) * | 2012-10-30 | 2014-05-12 | 삼성전자주식회사 | 메인 메모리를 구비한 컴퓨터 시스템 및 그것의 제어 방법 |
US20140201167A1 (en) * | 2013-01-17 | 2014-07-17 | Dell Products L.P. | Systems and methods for file system management |
TWI505090B (zh) | 2013-03-12 | 2015-10-21 | Macronix Int Co Ltd | 差異邏輯至實體方法 |
US9483397B2 (en) | 2013-07-16 | 2016-11-01 | Intel Corporation | Erase management in memory systems |
US10420928B2 (en) * | 2015-12-14 | 2019-09-24 | Medtronic, Inc. | Implantable medical device having a scheme for managing storage of data |
CN106408790B (zh) * | 2016-08-26 | 2024-03-19 | 恒银金融科技股份有限公司 | 金融设备循环机芯日志信息写入方法及读取方法 |
KR20180064588A (ko) * | 2016-12-05 | 2018-06-15 | 에스케이하이닉스 주식회사 | 메모리 제어 장치 및 방법 |
US10684947B2 (en) * | 2018-04-20 | 2020-06-16 | International Business Machines Corporation | Increasing high performance data storage utilization by reducing write operations |
US10891077B2 (en) * | 2018-12-26 | 2021-01-12 | Macronix International Co., Ltd. | Flash memory device and controlling method thereof |
CN113299333A (zh) * | 2020-02-21 | 2021-08-24 | 硅存储技术股份有限公司 | 由闪存单元构成的eeprom仿真器中的损耗均衡 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619533A (zh) * | 2003-11-17 | 2005-05-25 | 鸿富锦精密工业(深圳)有限公司 | 闪存文件管理系统及方法 |
US20060209601A1 (en) * | 2005-03-15 | 2006-09-21 | Hynix Semiconductor Inc. | Page buffer for preventing program fail in check board program of non-volatile memory device |
CN101183336A (zh) * | 2007-12-18 | 2008-05-21 | 凌阳科技股份有限公司 | 使用非易失性存储器记录资料的方法及电子装置 |
CN101346703A (zh) * | 2005-12-21 | 2009-01-14 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341339A (en) * | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing 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 |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
EP0953984B1 (en) * | 1998-04-30 | 2003-07-02 | STMicroelectronics S.r.l. | Method for saving data in the event of unwanted interruptions in the programming cycle of a nonvolatile memory, and a nonvolatile memory |
US7620769B2 (en) * | 2000-01-06 | 2009-11-17 | Super Talent Electronics, Inc. | Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory |
KR100577380B1 (ko) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US20060002197A1 (en) * | 2004-06-30 | 2006-01-05 | Rudelic John C | Method and apparatus to detect invalid data in a nonvolatile memory following a loss of power |
US7318151B1 (en) * | 2004-11-04 | 2008-01-08 | Network Appliance, Inc. | Method and system for firmware management |
US7480761B2 (en) * | 2005-01-10 | 2009-01-20 | Microsoft Corporation | System and methods for an overlay disk and cache using portable flash memory |
US20070143531A1 (en) * | 2005-12-15 | 2007-06-21 | Atri Sunil R | Power loss recovery for bit alterable memory |
KR100866959B1 (ko) * | 2007-02-13 | 2008-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치의 부분 페이지 데이터 기입 방법 |
US8095723B2 (en) * | 2007-02-16 | 2012-01-10 | Electronics And Telecommunications Research Institute | Log-based flash translation layer and operating method thereof |
US7979626B2 (en) * | 2008-05-13 | 2011-07-12 | Microsoft Corporation | Flash recovery employing transaction log |
US8347050B2 (en) * | 2009-01-27 | 2013-01-01 | Microsoft Corporation | Append-based shared persistent storage |
TWI405214B (zh) * | 2009-05-06 | 2013-08-11 | A Data Technology Co Ltd | 快閃記憶體儲存系統之資料燒錄方法 |
-
2010
- 2010-03-16 TW TW099107668A patent/TWI457940B/zh active
- 2010-04-27 US US12/768,368 patent/US8769189B2/en active Active
- 2010-05-14 CN CN201010180645.XA patent/CN101923516B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619533A (zh) * | 2003-11-17 | 2005-05-25 | 鸿富锦精密工业(深圳)有限公司 | 闪存文件管理系统及方法 |
US20060209601A1 (en) * | 2005-03-15 | 2006-09-21 | Hynix Semiconductor Inc. | Page buffer for preventing program fail in check board program of non-volatile memory device |
CN101346703A (zh) * | 2005-12-21 | 2009-01-14 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
CN101183336A (zh) * | 2007-12-18 | 2008-05-21 | 凌阳科技股份有限公司 | 使用非易失性存储器记录资料的方法及电子装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591738A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据管理方法、存储器控制器与嵌入式存储器储存装置 |
CN102231136B (zh) * | 2011-07-12 | 2014-06-11 | 晨星软件研发(深圳)有限公司 | 一种闪存存储设备的数据存储方法和装置 |
US9195582B2 (en) | 2011-07-12 | 2015-11-24 | Mstar Semiconductor, Inc. | Data storing method and apparatus applied to flash memory storage device |
CN102231136A (zh) * | 2011-07-12 | 2011-11-02 | 晨星软件研发(深圳)有限公司 | 一种闪存存储设备的数据存储方法和装置 |
CN103514953A (zh) * | 2012-06-22 | 2014-01-15 | 飞思卡尔半导体公司 | 对存储在闪存中的数据有地址ram的模拟电可擦存储器 |
CN103514953B (zh) * | 2012-06-22 | 2018-04-10 | 恩智浦美国有限公司 | 对存储在闪存中的数据有地址ram的模拟电可擦存储器 |
US10007468B2 (en) | 2013-03-15 | 2018-06-26 | Huawei Technologies Co., Ltd. | Method and apparatus for erasing data in data section in flash memory |
CN103608866A (zh) * | 2013-03-15 | 2014-02-26 | 华为技术有限公司 | 用于闪存存储器的数据擦除方法及装置 |
CN103608866B (zh) * | 2013-03-15 | 2018-09-11 | 华为技术有限公司 | 用于闪存存储器的数据擦除方法及装置 |
US9823878B2 (en) | 2013-03-15 | 2017-11-21 | Huawei Technologies Co., Ltd. | Method and apparatus for erasing data in flash memory |
CN106033362A (zh) * | 2015-03-13 | 2016-10-19 | 北京视联动力国际信息技术有限公司 | 一种闪存分区的处理方法和装置 |
CN106528441A (zh) * | 2016-10-26 | 2017-03-22 | 珠海格力电器股份有限公司 | 仿真eeprom的数据处理方法、装置及电子设备 |
CN108121668B (zh) * | 2018-01-08 | 2020-10-02 | 华大半导体有限公司 | 一种存储映射控制装置及控制方法 |
CN108121668A (zh) * | 2018-01-08 | 2018-06-05 | 华大半导体有限公司 | 一种存储映射控制装置及控制方法 |
US11366784B2 (en) | 2018-08-13 | 2022-06-21 | Micron Technology, Inc. | Fuseload architecture for system-on-chip reconfiguration and repurposing |
US11714781B2 (en) | 2018-08-13 | 2023-08-01 | Micron Technology, Inc. | Fuseload architecture for system-on-chip reconfiguration and repurposing |
CN112689830A (zh) * | 2018-08-13 | 2021-04-20 | 美光科技公司 | 用于片上系统重新配置及再利用的熔丝加载架构 |
CN112689830B (zh) * | 2018-08-13 | 2022-09-06 | 美光科技公司 | 用于片上系统重新配置及再利用的熔丝加载架构 |
CN114115700A (zh) * | 2020-08-31 | 2022-03-01 | 施耐德电气(中国)有限公司 | 闪存数据读写方法和闪存数据读写装置 |
CN112466371B (zh) * | 2020-12-17 | 2022-09-09 | 宁波拓普集团股份有限公司 | 一种循环利用闪存模拟字节擦除功能的方法 |
CN112466371A (zh) * | 2020-12-17 | 2021-03-09 | 宁波拓普集团股份有限公司 | 一种循环利用闪存模拟字节擦除功能的方法 |
CN113568579B (zh) * | 2021-07-28 | 2022-05-03 | 深圳市高川自动化技术有限公司 | 一种存储器、数据存储方法以及数据读取方法 |
CN113568579A (zh) * | 2021-07-28 | 2021-10-29 | 深圳市高川自动化技术有限公司 | 一种存储器、数据存储方法以及数据读取方法 |
CN114527934A (zh) * | 2022-01-12 | 2022-05-24 | 珠海泰芯半导体有限公司 | 闪存的控制方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US8769189B2 (en) | 2014-07-01 |
CN101923516B (zh) | 2013-02-06 |
TWI457940B (zh) | 2014-10-21 |
TW201040972A (en) | 2010-11-16 |
US20100293320A1 (en) | 2010-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101923516B (zh) | 以区块为基础的快闪存储装置及其操作方法 | |
US8225067B2 (en) | Multilevel cell NAND flash memory storage system, and controller and access method thereof | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
TWI454906B (zh) | 資料讀取方法、快閃記憶體控制器與儲存系統 | |
US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US20090150597A1 (en) | Data writing method for flash memory and controller using the same | |
US20110055457A1 (en) | Method for giving program commands to flash memory, and controller and storage system using the same | |
US9037814B2 (en) | Flash memory management method and flash memory controller and storage system using the same | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
CN100520735C (zh) | 存储器空间管理方法及其相关系统 | |
CN103270500A (zh) | 事务日志恢复 | |
CN101494085A (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
CN102157202A (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
CN102592670B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN101425338B (zh) | 非易失性存储器的写入方法及使用此方法的控制器 | |
US8943289B2 (en) | Data moving method for flash memory module, and memory controller and memory storage apparatus using the same | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
US8762685B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
CN102314396B (zh) | 区块为基础闪存的字节存取的方法与装置 | |
US8209472B2 (en) | Data writing method for flash memory and control circuit and storage system using the same |
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 |