CN1536489A - 非挥发性存储器的损耗平衡方法 - Google Patents
非挥发性存储器的损耗平衡方法 Download PDFInfo
- Publication number
- CN1536489A CN1536489A CNA03116319XA CN03116319A CN1536489A CN 1536489 A CN1536489 A CN 1536489A CN A03116319X A CNA03116319X A CN A03116319XA CN 03116319 A CN03116319 A CN 03116319A CN 1536489 A CN1536489 A CN 1536489A
- Authority
- CN
- China
- Prior art keywords
- data
- block storage
- piece number
- volatility memorizer
- formation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种非挥发性存储器的损耗平衡方法,该方法可运用在一嵌入式系统中,该嵌入式系统初始化时,其所设的控制程序,可将其该嵌入式系统的非挥发性存储器中,未写入数据的储存块的块号,以队列结构进行排序,且每当一储存块被擦除数据时,将该被擦除数据的储存块的块号,将加入该队列尾部,而该储存块内的数据被修改完毕后,欲写回该非挥发性存储器内,或有新数据欲写入该非挥发性存储器内时,该控制程序将从该队列头部取得一储存块的块号,再将该新数据或被修改的数据,写入对应该块号的储存块中,同时将该块号从该队列中清除。
Description
技术领域
本发明有关于损耗平衡方法,尤其有关于一种非挥发性存储器的每一储存块,其被擦除次数可平均化,以延长该非挥发性存储器的使用寿命的方法。
背景技术
嵌入式系统正广泛应于各个领域(如:手机、电脑…等),其存储模组一般包括有一随机存取存储器(RAM)、只读存储器(ROM)和快闪存储器(FLASH)所组成。其中该随机存取存储器一般用于系统即时数据的存取,如系统处理完数据后将数据进行堆叠储存的媒介…等;该只读存储器则是用于存放系统数据,如:字型、指令…等;而该快闪存储器可被分割为若干储存块,该储存块一般用于储存数据,其内所储存的数据,可在其中一个或多个储存块中进行修改,且该储存块修改其内所储存的数据时,需先擦除该储存块中数据,再重新写入该储存块中。此外,该快闪存储器倘若其中一个储存块损坏或不能使用,即令该快闪存储器损坏或无法继续使用。再者,该快闪存储器具有有限的擦除寿命(约100,000次擦除),若其中一个储存块达到该擦除寿命后,该快闪存储器立即就不能再使用。
而一般该快闪存储器所储存的数据被修改时,通常先将该储存块内数据全部读出,并合并新数据后,再擦除该储存块回写,由此可见,该快闪存储器内每一个储存块被读取或修改的次数,并不一致,故,延长该快闪存储器的使用寿命的最佳方法在于尽量使每个储存块的擦写次数相同,而对于延长该快闪存储器的使用寿命的方法,目前大致有两种做法:
1.记录日志结构化:其优点是既能延长快闪存储器使用寿命,又能提供崩溃/断电的安全保护,而缺点是读取该储存块的记录时,需要透过一附加程序(如同微软的视窗软体的磁碟重组程序从一长列节点中,逐一恢复数据,且该记录越多,速度越慢。
2.采用损耗平衡方法:当嵌入式系统工作时,该控制系统将藉由该损耗平衡方法对该快闪存储器读、写及修改数据,当该储存块的数据被修改时,先将储存块内数据全部读出,并与新数据合并后,选择读写次数较少,且是空白的储存块写入,并擦除原储存块内的数据,其优点是读写速度快,且不会产生碎片,但是不支持崩溃/断电的安全保护。
发明内容
有鉴于延长该快闪存储器的使用寿命的方法的缺点,发明人经过长久努力研究与实验,终于开发设计出本发明的一种非挥发性存储器的损耗平衡方法,是将一非挥发性存储器未被写入数据的储存块的块号,以队列结构进行排序,当该非挥发性存储器任一储存块被擦除数据时,该被擦除数据的储存块的块号,将被加入该队列尾部,而一数据欲写入该非挥发性存储器内时,将从该队列头部取得一储存块的块号,并将该数据写入对应该块号的储存块中,同时将该块号从该队列中清除。
为便于对本发明的目的、形状、构造装置特征及其功效,做更进一步的认识与了解,兹举实施例配合附图,详细说明如下:
附图说明
图1是嵌入式系统的架构示意图;
图2是非挥发性存储器修改数据后,进行数据储存的流程图。
具体实施方式
本发明是一种非挥发性存储器的损耗平衡方法,请参阅图1所示,该方法可运用在一嵌入式系统1中,该系统主要由一非挥发性存储器10(如:快闪存储器)、一驱动程序12、一控制程序14、一随机存取存储器16及一运算器18(如中央处理单元)所组成,其中该非挥发性存储器10用以储存数据,该驱动程序12控制该非挥发性存储器10的读写,该控制程序14可对该非挥发性存储器10的块号,进行队列结构排序、将块号加入该队列或将块号由该队列中清除,即本发明的损耗平衡处理,而该随机存取存储器16乃存放该非挥发性存储器10的逻辑映射、该驱动程序12及该控制程序14代码,该运算器18可对该系统内所有元件进行操控处理。
在本发明中,该非挥发性存储器10可被分割设成多个储存块,这些储存块分别被授与一个唯一的块号,当该嵌入式系统1初始化时,该控制程序14将未写入数据的储存块的块号,以队列结构进行排序,而每当该驱动程序12对该非挥发性存储器10其中一个储存块,进行擦除数据处理时,将该被擦除数据的储存块的块号,将加入该队列尾部;当该驱动程序12对其中一个储存块内的数据,进行修改处理后,而欲写回该非挥发性存储器10内,或有新数据欲写入该非挥发性存储器10内时,该控制程序14将从该队列头部取得一储存块的块号,再将该新数据或被修改的数据,写入对应该块号的储存块中,同时将该块号从该队列中清除,如图2所示。
在本发明中,该队列占用该随机存取存储器16的储存空间为:
n×该非挥发性存储器10的储存块数;
其中n为每一块号所占的字节(byte),且每一块号所占的字节是由该控制程序14而定,在本发明中该块号所占的字节为:
1≤n<≤4;
而该队列将保存在该随机存取存储器16中,且由该控制程序14管理该队列的排序,并控制该驱动程序12的执行,该驱动程序12乃可完成对该非挥发性存储器10的读、写及擦除等操作,而该随机存取存储器16中,可同时存放从该储存块中读取、修改或要写入该储存块的数据。
藉由以上所述可知,其算法简便、结构简单,且该嵌入式系统1的额外负担小,执行速度快,不会产生碎片。而且对原先的文件系统具有较好的相容性,该嵌入式系统1中被修改的部份少。另,就传统嵌入式系统的操作过程为:读取储存块内的数据→合并(或修改)数据→擦除被读取的储存块→写入合并(或修改)数据在储存块中。而本发明操作过程(如图2所示)与传统操作过程雷同,二者不同处,是在于本发明所擦除的储存块与写入新数据的储存块不同,且该队列运算皆在具有较快处理速度的该随机存取存储器16中完成,再者,本发明该随机存取存储器16的储存容量,仅被该队列占用极小的容量,而小容量的数据的数据运算,将不会增加该处理器18太多的运算负担,使其有别于传统的损耗平衡方法。
本发明的效率与修改或新增数据的规律有关,如任意一个储存块的数据在被再次修改之前,其他数据都被修改过一次,则每个储存块都有机会进入该队列中,故,各储存块被擦除次数的增长是同步的,均衡的,此时,该非挥发性存储器10被使用效率达到最高;倘若局部的储存块一直没有被读取或修改,则该局部的储存块无法进入该队列中,此时,各储存块的擦除次数的增长是不平衡的,只有在该队列中的储存块和被读取数据的储存块的擦除次数在增长,将使得本发明的效率达到最低,故,本发明的总体效率介于两者之间,端视该嵌入式系统2的使用者的使用状态而定。
为能了解采用损耗平衡与不采用损耗平衡的不同,且清楚采用损耗平衡的优点,乃进行说明如下:
当任意一储存块数据在被再次修改之前,其他储存块的数据都被修改过一次,则无论采用或不采用损耗平衡的嵌入式系统的效率,都达到二者最高的效率,先就不采用损耗平衡的嵌入式系统而言,其非挥发性存储器可写次数为:
Tmax×N;
Tmax:系每储存块非挥发性存储器可擦写次数;
N:系该非挥发性存储器已有数据的储存块的数量;
而采用损耗平衡系统的嵌入式系统1而言,其非挥发性存储器10可写次数为:
Tmax×N+M;
Tmax:是每储存块非挥发性存储器10可擦写次数;
N:是该非挥发性存储器10已有数据的储存块的数量;
M:是该非挥发性存储器10未写入数据的储存块的数量;
因此二者效率的比为(N+M)/N,由此可知,采用损耗平衡系统的嵌入式系统1效率较好,倘若采用损耗平衡系统的嵌入式系统1的非挥发性存储器10,被写满数据,即M为零,此时,无论采用或不采用损耗平衡的嵌入式系统的效率相同。
另,当该非挥发性存储器10同一个储存块的数据反复被修改,直至该储存块无法被擦除时,即该非挥发性存储器10损坏,则二者效率都将至最低。以不采用损耗平衡的传统嵌入式系统而言,其非挥发性存储器可写次数为Tmax(Tmax:是每储存块非挥发性存储器可擦写次数。而采用损耗平衡的嵌入式系统1而言,其非挥发性存储器10可写次数为:
Tmax×(M+1);
M:是该非挥发性存储器10未写入数据的储存块的数量;
因此效率的比为(M+1),由此可知,采用损耗平衡系统的嵌入式系统1效率较好,但当采用损耗平衡的嵌入式系统,若该非挥发性存储器10写满数据,即M为零,此时,无论采用或不采用损耗平衡的嵌入式系统的效率相同。
以上所述,仅为本发明最佳的一具体实施例,本发明的构造特征并不局限于此,任何熟悉本技术领域者在本发明领域内,可轻易思及的变化或修饰,皆可涵盖在以下本案的专利范围。
Claims (6)
1.一种非挥发性存储器的损耗平衡方法,该方法是将一非挥发性存储器未写入数据的一储存块的块号,以队列结构进行排序,该非挥发性存储器其中一个储存块被擦除数据时,该被擦除数据的储存块的块号,将加入该队列尾部,而一数据欲写入该非挥发性存储器内时,将从该队列头部取得一储存块的块号,再将该数据写入对应该块号的储存块中,同时将该块号从该队列中清除。
2.如权利要求1所述的方法,其特征在于,该非挥发性存储器可被设在一嵌入式系统中,该系统还包括一驱动程序、一控制程序、一随机存取存储器及一运算器所组成,其中该非挥发性存储器可储存数据,该驱动程序控制该非挥发性存储器的读、写及擦除处理,该控制程序可对该非挥发性存储器的块号,进行队列结构排序、将块号加入该队列或将块号由该队列中清除,而该随机存取存储器乃存放该非挥发性存储器的逻辑映射、该驱动程序及该控制程序代码,该运算器可对该系统内所有元件进行操控处理,该嵌入式系统初始化时,该控制程序将未写入数据的储存块的块号,以队列结构进行排序。
3.如权利要求2所述的方法,其特征在于,当该驱动程序对任一储存块进行数据擦除处理时,该被擦除数据的储存块的块号,将被加入该队列尾部。
4.如权利要求2所述的方法,其特征在于,当该驱动程序对任一储存块内的数据进行修改完毕后,而欲写回该非挥发性存储器内,该控制程序将从该队列头部取得一储存块的块号,再将该被修改的数据,写入对应该块号的储存块中,同时将该块号从该队列中清除。
5.如权利要求2所述的方法,其特征在于,当该驱动程序欲将新数据写入该非挥发性存储器内时,该控制程序将从该队列头部取得一储存块的块号,再将该新数据写入对应该块号的储存块中,同时将该块号从该队列中清除。
6.如权利要求2所述的方法,其特征在于,该队列将保存在该随机存取存储器中,且由该控制程序管理该队列的排序,并控制该驱动程序的执行,该驱动程序乃可完成对该非挥发性存储器的读、写及擦除等操作,而该随机存取存储器中,可同时存放从该储存块中读取、修改或要写入该储存块的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA03116319XA CN1536489A (zh) | 2003-04-11 | 2003-04-11 | 非挥发性存储器的损耗平衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA03116319XA CN1536489A (zh) | 2003-04-11 | 2003-04-11 | 非挥发性存储器的损耗平衡方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1536489A true CN1536489A (zh) | 2004-10-13 |
Family
ID=34320305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA03116319XA Pending CN1536489A (zh) | 2003-04-11 | 2003-04-11 | 非挥发性存储器的损耗平衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1536489A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407336C (zh) * | 2005-11-22 | 2008-07-30 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
WO2009006803A1 (fr) * | 2007-07-05 | 2009-01-15 | Actions Semiconductor Co., Ltd. | Procédé et appareil pour effectuer un nivellement d'usure en mémoire |
CN101236789B (zh) * | 2006-12-18 | 2012-05-09 | 三星电子株式会社 | 检测静态数据区、磨损均衡和合并数据单元的方法和装置 |
CN105845182A (zh) * | 2016-03-18 | 2016-08-10 | 华南理工大学 | 文件系统级的非挥发性存储器磨损均衡空闲块管理方法 |
-
2003
- 2003-04-11 CN CNA03116319XA patent/CN1536489A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407336C (zh) * | 2005-11-22 | 2008-07-30 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
CN101236789B (zh) * | 2006-12-18 | 2012-05-09 | 三星电子株式会社 | 检测静态数据区、磨损均衡和合并数据单元的方法和装置 |
WO2009006803A1 (fr) * | 2007-07-05 | 2009-01-15 | Actions Semiconductor Co., Ltd. | Procédé et appareil pour effectuer un nivellement d'usure en mémoire |
US8296539B2 (en) | 2007-07-05 | 2012-10-23 | Actions Semiconductor Co., Ltd. | Method and apparatus for performing wear leveling in memory |
CN105845182A (zh) * | 2016-03-18 | 2016-08-10 | 华南理工大学 | 文件系统级的非挥发性存储器磨损均衡空闲块管理方法 |
CN105845182B (zh) * | 2016-03-18 | 2019-07-12 | 华南理工大学 | 文件系统级的非挥发性存储器磨损均衡空闲块管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430083B2 (en) | Memory scheduling method for changing command order and method of operating memory system | |
US10831734B2 (en) | Update-insert for key-value storage interface | |
US7774540B2 (en) | Storage system and method for opportunistic write-verify | |
US8812771B2 (en) | Data storage system with complex memory and method of operating the same | |
JP4005142B2 (ja) | フラッシュメモリ大容量記憶システム | |
TWI385519B (zh) | 資料寫入方法及使用此方法的快閃儲存系統與其控制器 | |
US20070094445A1 (en) | Method to enable fast disk caching and efficient operations on solid state disks | |
CN1262927C (zh) | 数据存储装置和数据擦除方法 | |
CN104346290A (zh) | 存储装置、计算机系统及其操作方法 | |
JP2008508596A (ja) | Nvramを使用するメモリ管理のためのシステム、方法、コンピュータ可読媒体、および装置 | |
US8918554B2 (en) | Method and apparatus for effectively increasing a command queue length for accessing storage | |
CN1206149A (zh) | 存储器管理方法 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
TWI355668B (zh) | ||
CN100456263C (zh) | 在税控收款机中使用闪存时处理坏块的方法 | |
CN1536489A (zh) | 非挥发性存储器的损耗平衡方法 | |
US6591264B1 (en) | Method that allows I/O requests to run concurrently with a rollback from a snapshot in a drive array | |
EP2323135A1 (en) | Method and apparatus for emulating byte wise programmable functionality into sector wise erasable memory | |
CN101339490A (zh) | 闪存的驱动装置及方法 | |
KR100997819B1 (ko) | 정보 처리 장치 | |
CN1485745A (zh) | 非挥发性存储器存取系统及其存取方法 | |
JPH06309527A (ja) | Icカード | |
CN1749971A (zh) | 用长寿命非挥发性存储芯片提高内部或外部存储器使用寿命 | |
CN2854694Y (zh) | 用长寿命非挥发性存储芯片提高内部或外部存储器寿命 | |
CN1619507A (zh) | 令随机存取闪存最佳效能的控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |