CN101364438B - 提高与非门阵列闪存的存取装置与方法 - Google Patents
提高与非门阵列闪存的存取装置与方法 Download PDFInfo
- Publication number
- CN101364438B CN101364438B CN2007101411504A CN200710141150A CN101364438B CN 101364438 B CN101364438 B CN 101364438B CN 2007101411504 A CN2007101411504 A CN 2007101411504A CN 200710141150 A CN200710141150 A CN 200710141150A CN 101364438 B CN101364438 B CN 101364438B
- Authority
- CN
- China
- Prior art keywords
- data
- district
- flash memory
- gate array
- mirror image
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明揭示一种提高与非门阵列闪存(NAND Flash)的存取装置与方法。此存取装置包含至少一个与非门阵列闪存、以及一镜像数据区。主控端将与非门阵列闪存的区块内的不满一个数据页的数据,暂存于镜像数据区中,当欲写入新数据至与非门阵列闪存时,其新数据的地址接续于前一笔数据的连续线性地址时,则将新数据接续写入镜像数据区内,当镜像数据区内写满一个数据页的数据后,再写回区块内的数据页中。本发明提供在写入与非门阵列闪存时,将未满一个数据页的数据暂存于镜像数据区中,以减少与非门阵列闪存内区块数据重复拷贝-备份和抹除,可延长与非门阵列闪存的寿命。
Description
技术领域
本发明关于一种提高与非门阵列闪存(NAND Flash)的存取装置与方法,提供在写入与非门阵列闪存时,将未满一个数据页的数据暂存于镜像数据区中,以减少与非门阵列闪存内区块数据重复拷贝-备份和抹除。
背景技术
一般操作系统的存取方式,都是以节区(sector)为最基本单位,而大量数据的存取,则是以多个连续的节区为单位,例如,串节(cluster)。然而,与非门阵列闪存(NAND Flash)的读取(read)与写入(write)的单位,是以数据页(page)为单位,一个数据页的大小是以512bytes为倍数,例如512bytes、1024bytes、2048bytes、或4096bytes等。
现有与非门阵列闪存将内存分割为数个固定的区块(block1-blockN),每个区块切割成数个大小相同的数据页(page1-pageN),一个数据页中切割成多个节区(例如,数据页page3分配为4个节区(page3_1-page3_4),请参阅图1所示。其中,与非门阵列闪存的抹除(erase)操作的基本单位是区块(block),而输入/输出(读取数据/写入数据)的操作单位则为数据页,数据页也是与非门阵列闪存与主存储器之间数据交换的单位。
与非门阵列闪存是以数据页为单位进行读取和编程(program)等操作;而抹除则是以区块为单位。因此在管理上也就以一个区块为单位来做管理,当主控端(处理器)在存取档案数据时,以节区为单位。但是,节区并不一定能与与非门阵列闪存的存取单位数据页(page)对齐(alignment),尤其是在作写入与非门阵列闪存的动作时。
图2A为一范例,说明当区块block1内已经写了部分的数据页(page1-page3)与节区(page4_1与page4_2)时,当一笔新的数据欲写入与非门阵列闪存,并接续旧的数据的位置,即新数据准备从区块block1的节区page4_3开始写入。图2B说明管理者必须将目前区块block1的旧数据(page1-page3、page4_1与page4_2),拷贝-备份(copy-back)到一个新的可用自由区块block2中。图2C说明区块block2的节区(page4_3)写入2笔新的数据。最后,并以新的区块block2取代旧的区块block1,将旧的区块block1的数据抹除掉,才能再重新写入新的数据。由于闪存(flash)本身运作模式的特性,也就是不能直接对与非门阵列闪存做直接覆写的动作。
虽然与非门阵列闪存具有多项优点,但有两项硬件电气上的限制,不能直接覆写和抹除次数限制。而抹除次数的限制方面,一般而言,与非门阵列闪存抹除次数为100,000次,抹除次数依制造商而定。所以为延长与非门阵列闪存的寿命,就得减少对与非门阵列闪存作抹除的动作。
发明内容
本发明提供一种提高与非门阵列闪存的存取装置与方法。
本发明提供的提高与非门阵列闪存的存取装置包含:至少一个与非门阵列闪存,每一该与非门阵列闪存切割为多个存取区块,每一该区块分配多个数据页,每一该数据页中再分配多个节区;以及一镜像数据区;其中,当一区块内的部分数据不满一数据页时,将不满该数据页的数据暂存于该镜像数据区中;当欲写入至少一个节区的新数据,其接续于前一笔数据的位置时,则将新的数据接续写入该镜像数据区内,当该镜像数据区内写满一个数据页的数据时,再写入该区块内的该数据页中。
上述的提高与非门阵列闪存存取装置,其中优选地,每一该与非门阵列闪存与该镜像数据区的存取动作由一处理器所控制。
上述的提高与非门阵列闪存存取装置,其中优选地,该镜像数据区为硬件模块的随机存取内存。
上述的提高与非门阵列闪存存取装置,其中优选地,该镜像数据区为软件缓冲区。
上述的提高与非门阵列闪存存取装置,其中优选地,该镜像数据区大小至少等于该数据页的大小。
上述的提高与非门阵列闪存存取装置,其中优选地,新的数据与旧的数据不是连续的线性地址时,则在新数据写入该与非门阵列闪存时,将该镜像数据区的数据回存至该数据页中。
本发明还提供一种提高与非门阵列闪存的存取方法,其中该与非门阵列闪存切割为多个存取区块,每一该区块分配多个数据页,每一该数据页中再分配多个节区,该方法包含下列步骤:A.判断一区块内是否有不满一数据页的数据内容;B.是的话,将不满一个数据页的数据内容则暂存于一镜像数据区内;C.当欲写入一新数据时,判断该新数据的地址是否接续旧的数据;D.是的话,该新数据接续写入该镜像数据区内;以及E.当该镜像数据区内写满一个数据页的数据时,再写入该区块内的原来该数据页中。
上述的提高与非门阵列闪存存取方法,其中优选地,该步骤C中,该新数据的地址并无接续旧的数据时,将该镜像数据区内数据存回原来的该数据页中,并直接对该与非门阵列闪存写入该新数据。
本发明提供在一个与非门阵列闪存的存取系统中,在写入与非门阵列闪存时,将未满一个数据页的数据暂存于一镜像数据区(mirror data area,MDA)中,当下一笔写入的数据是连续的线性地址时,可以等待整个页填满一并储存到原来的数据页中。如此可以减少与非门阵列闪存内区块数据重复拷贝-备份和抹除,以延长与非门阵列闪存的寿命。本发明的装置,其在存取镜像数据区的数据时,主控端的处理器(processor)可同时计算处理下一笔数据应当储存的最佳位置,以达到最有效率的方式。
附图说明
图1为一说明现有与非门阵列闪存的分配的示意图。
图2A为一说明一新数据准备写入区块的节区中的范例。
图2B说明一区块的旧数据,拷贝-备份到一个新的可用自由区块的一个示意图。
图2C说明写入2笔新的数据至区块的一个示意图。
图3为本发明的一实施范例,说明一种与非门阵列闪存存取装置的一个示意图。
图4A为一工作范例,说明处理器将区块中不满一个数据页的数据暂存于镜像数据区中。
图4B说明将新的数据接续写入镜像数据区的节区内的一个示意图。
图4C说明镜像数据区内写满一个数据页的数据,写回区块的一个示意图。
图5为另一工作范例,说明当写入的新数据大于2个节区时的一个示意图。
图6为本发明一种与非门阵列闪存存取方法的一个工作流程。
其中,附图标记说明如下:
block1-blockN~区块 page1-pageN~数据页
page3_1-page3_4~数据页的节区
1~与非门阵列闪存 3~镜像数据区
5~处理器
M1-M4~镜像数据区内的节区
601-606~步骤流程
具体实施方式
配合下列附图、实施例的详细说明及权利要求范围,将上述及本发明的其它目的与优点详述于后。
图3为本发明的一实施范例,说明提高与非门阵列闪存的存取装置的一个示意图。参考图3,此与非门阵列闪存存取装置主要包括至少一个与非门阵列闪存1、以及一镜像数据区(MDA)3。其中,与非门阵列闪存切割为多个存取区块(block1-blockN),每一区块分配多个数据页,每一数据页中再分配多个节区(sector)。镜像数据区3可以为硬件模块,如随机存取内存(RandomAccess Memory,RAM),或是软件的缓冲区(buffer),而镜像数据区3的大小至少为与非门阵列闪存内的一数据页的大小。
处理器5用以控制与非门阵列闪存1与镜像数据区3的数据存取。处理器5将与非门阵列闪存的一区块内的不满一个数据页的数据,暂存于镜像数据区3中。当写入至少一个节区的新数据时,其接续于前一笔数据的地址时,则将新的数据接续写入镜像数据区内,当镜像数据区内写满一个数据页的数据时,再写入区块内的数据页中。
值得一提的是,当在存取镜像数据区3的数据时,数据流(data stream)与指令流(command stream)是可以平行工作,因此,处理器5可以独立计算处理下一笔数据应当储存的最佳位置,以达到最有效率的方式。
以下将以两个工作范例来加以说明:
图4A为一工作范例(working example),说明处理器5将区块中不满一个数据页的数据暂存于镜像数据区中。参考图4A,区块block1内的每一数据页(page1-page9)分别切割为4个节区(sector),每一节区大小为512bytes,每一数据页大小为2K bytes;镜像数据区3的大小等于一数据页的大小2Kbytes,且分配为4个节区(M1-M4),每一个节区(M1-M4)的大小为512bytes。当区块block1内的储存数据为5Kbytes,其地址位于数据页page1、page2、与节区(page3_1、page3_2)中。其中,处理器5将不满一个数据页(page3)的节区数据(page3_1、page3_2)则暂存于一镜像数据区3的节区(M1与M2)中。
图4B说明当欲写入2个节区的新数据时,其接续于旧的节区数据(page3_1、page3_2)的位置时,则将新的数据接续写入镜像数据区3的节区(M3与M4)内。当镜像数据区3内写满一个数据页的数据时,再写入区块block1内的数据页(page3)中,请参阅图4C。
图5为另一工作范例,接续说明上述的工作范例中,当欲写入的新数据大于2个节区时,则将新数据中前2个节区数据暂存于镜像数据区,然后,写入区块block1内的数据页(page3)中,而剩余的数据则接续从区块block1的数据页(page4)中写入,当写入的数据中有不满一个数据页的大小,例如,原本要储存于节区page6_1的数据,处理器5同样的将有不满一个数据页的节区page6_1数据暂存于镜像数据区的节区M1中。
上述的两个工作范例中,若新的数据与旧的数据不是连续的线性地址时,则在新数据写入与非门阵列闪存时,将镜像数据区的数据(M1与M2)回存至区块block1节区(page3_1、page3_2)中。如此,并不会影响原来数据的正确性以及存取的效率。
图6为本发明提高与非门阵列闪存的存取方法的一个工作流程图。判断一区块内是否有不满一个数据页的数据内容,如步骤601所示。是的话,处理器将不满一个数据页的数据内容则暂存于镜像数据区内,如步骤602所示。当欲写入一新的数据,判断新数据的地址是否接续旧的数据,如步骤603所示。是的话,新数据接续写入镜像数据区内,如步骤604所示。当镜像数据区内写满一个数据页的数据时,再写入区块内的原来数据页中,如步骤605所示。
上述的步骤603中,当新的数据地址并无接续旧的数据地址时,则将镜像数据区内数据存回原来的数据页中,并直接对与非门阵列闪存写入新的数据,如步骤605所示。
然而,以上所述的内容,仅为发明的最佳实施例而已,当不能依此限定本发明实施的范围。即所有依据本发明权利要求范围所作的均等变化与修饰,皆应仍属本发明专利涵盖的范围内。
Claims (6)
1.一种提高与非门阵列闪存的存取装置,该装置至少包含:
至少一个与非门阵列闪存,每一该与非门阵列闪存切割为多个存取区块,每一该区块分配多个数据页,每一该数据页中再分配多个节区;以及
一镜像数据区,该镜像数据区为软件缓冲区或硬件模块的随机存取内存;
其中,当一区块内的部分数据不满一数据页时,将不满该数据页的数据暂存于该镜像数据区中;当欲写入至少一个节区的新数据,其接续于前一笔数据的位置时,则将新的数据接续写入该镜像数据区内,当该镜像数据区内写满一个数据页的数据时,再写入该区块内的该数据页中。
2.如权利要求1所述的提高与非门阵列闪存存取装置,其中每一该与非门阵列闪存与该镜像数据区的存取动作由一处理器所控制。
3.如权利要求1所述的提高与非门阵列闪存存取装置,其中该镜像数据区大小至少等于该数据页的大小。
4.如权利要求1所述的提高与非门阵列闪存存取装置,其中新的数据与旧的数据不是连续的线性地址时,则在新数据写入该与非门阵列闪存时,将该镜像数据区的数据回存至该数据页中。
5.一种提高与非门阵列闪存的存取方法,其中该与非门阵列闪存切割为多个存取区块,每一该区块分配多个数据页,每一该数据页中再分配多个节区,该方法包含下列步骤:
A.判断一区块内是否有不满一数据页的数据内容;
B.是的话,将不满一个数据页的数据内容则暂存于一镜像数据区内;该镜像数据区为软件缓冲区或硬件模块的随机存取内存;
C.当欲写入一新数据时,判断该新数据的地址是否接续旧的数据;
D.是的话,该新数据接续写入该镜像数据区内;以及
E.当该镜像数据区内写满一个数据页的数据时,再写入该区块内的原来该数据页中。
6.如权利要求5所述的提高与非门阵列闪存存取方法,其中该步骤C中,该新数据的地址并无接续旧的数据时,将该镜像数据区内数据存回原来的该数据页中,并直接对该与非门阵列闪存写入该新数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101411504A CN101364438B (zh) | 2007-08-08 | 2007-08-08 | 提高与非门阵列闪存的存取装置与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101411504A CN101364438B (zh) | 2007-08-08 | 2007-08-08 | 提高与非门阵列闪存的存取装置与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101364438A CN101364438A (zh) | 2009-02-11 |
CN101364438B true CN101364438B (zh) | 2011-04-06 |
Family
ID=40390756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101411504A Expired - Fee Related CN101364438B (zh) | 2007-08-08 | 2007-08-08 | 提高与非门阵列闪存的存取装置与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101364438B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567141B (zh) * | 2011-12-13 | 2014-03-05 | 北京握奇数据系统有限公司 | 一种数据项备份方法及智能卡 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6418506B1 (en) * | 1996-12-31 | 2002-07-09 | Intel Corporation | Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array |
JP2003036204A (ja) * | 2001-07-23 | 2003-02-07 | Matsushita Electric Ind Co Ltd | フラッシュ型メモリの更新方法 |
CN1300803C (zh) * | 2000-10-11 | 2007-02-14 | 三星电子株式会社 | 闪速存储器中驱动再映射的方法及其闪速存储器体系结构 |
CN101093463A (zh) * | 2006-06-23 | 2007-12-26 | 无锡盈泰科技有限公司 | 一种实现闪存快速写入速度的新颖的闪存转换层算法 |
-
2007
- 2007-08-08 CN CN2007101411504A patent/CN101364438B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6418506B1 (en) * | 1996-12-31 | 2002-07-09 | Intel Corporation | Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array |
CN1300803C (zh) * | 2000-10-11 | 2007-02-14 | 三星电子株式会社 | 闪速存储器中驱动再映射的方法及其闪速存储器体系结构 |
JP2003036204A (ja) * | 2001-07-23 | 2003-02-07 | Matsushita Electric Ind Co Ltd | フラッシュ型メモリの更新方法 |
CN101093463A (zh) * | 2006-06-23 | 2007-12-26 | 无锡盈泰科技有限公司 | 一种实现闪存快速写入速度的新颖的闪存转换层算法 |
Also Published As
Publication number | Publication date |
---|---|
CN101364438A (zh) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8566504B2 (en) | Dynamic metablocks | |
CN101233498B (zh) | 快闪存储器中利用直接数据文件存储的数据操作 | |
US6459644B2 (en) | Semiconductor memory device with block alignment function | |
US8762627B2 (en) | Memory logical defragmentation during garbage collection | |
CN102831070B (zh) | 用于存储器装置的存储地址重新映射的方法和系统 | |
US7529905B2 (en) | Method of storing transformed units of data in a memory system having fixed sized storage blocks | |
US7669003B2 (en) | Reprogrammable non-volatile memory systems with indexing of directly stored data files | |
US7814262B2 (en) | Memory system storing transformed units of data in fixed sized storage blocks | |
US7861028B2 (en) | System and method for configuration and management of flash memory | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
US20080109589A1 (en) | Nonvolatile Storage Device And Data Write Method | |
EP1739683A1 (en) | Space management for managing high capacity nonvolatile memory | |
US20070033375A1 (en) | Indexing of File Data in Reprogrammable Non-Volatile Memories That Directly Store Data Files | |
EP1729304A1 (en) | Space management for managing high capacity nonvolatile memory | |
KR101678868B1 (ko) | 플래시 주소 변환 장치 및 그 방법 | |
CN101147133A (zh) | 闪速存储器中的直接文件数据编程及删除 | |
CN101833482A (zh) | 用于非易失存储系统的电源管理数据块 | |
CN101627373A (zh) | 通过预擦除机制的存储器设备性能增强 | |
CN110347613B (zh) | 多租户固态盘中实现raid的方法、控制器及多租户固态盘 | |
JP4441577B2 (ja) | 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納 | |
CN110515550B (zh) | 一种sata固态硬盘冷热数据分离的方法及其装置 | |
US20100318726A1 (en) | Memory system and memory system managing method | |
CN100433195C (zh) | 闪存介质数据写入方法 | |
CN102306124A (zh) | Nand Flash芯片硬件驱动层的实现方法 | |
JP2009503740A (ja) | データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110406 Termination date: 20140808 |
|
EXPY | Termination of patent right or utility model |