CN101446922B - 存储卡及于闪存进行资料更新的方法 - Google Patents

存储卡及于闪存进行资料更新的方法 Download PDF

Info

Publication number
CN101446922B
CN101446922B CN2008101820680A CN200810182068A CN101446922B CN 101446922 B CN101446922 B CN 101446922B CN 2008101820680 A CN2008101820680 A CN 2008101820680A CN 200810182068 A CN200810182068 A CN 200810182068A CN 101446922 B CN101446922 B CN 101446922B
Authority
CN
China
Prior art keywords
page
leaf
data
updated
block
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.)
Active
Application number
CN2008101820680A
Other languages
English (en)
Other versions
CN101446922A (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.)
Huiguo (Shanghai) Software Technology Co Ltd
Silicon Motion Inc
Original Assignee
Huiguo (Shanghai) Software Technology Co Ltd
Silicon Motion Inc
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 Huiguo (Shanghai) Software Technology Co Ltd, Silicon Motion Inc filed Critical Huiguo (Shanghai) Software Technology Co Ltd
Publication of CN101446922A publication Critical patent/CN101446922A/zh
Application granted granted Critical
Publication of CN101446922B publication Critical patent/CN101446922B/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

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)
  • Memory System (AREA)

Abstract

本发明提供一种存储卡及于闪存进行资料更新的方法。于一实施例中,该闪存包括一母体区块,该母体区块包含多个需资料更新的被更新页。首先,取得一空白区块作为对应于该母体区块的一更新区块。接着,将用以更新该母体区块的这些被更新页的资料写入该更新区块的多个替换页。最后,于该更新区块的一页对应表记录这些被更新页与这些替换页的对应关系。

Description

存储卡及于闪存进行资料更新的方法
技术领域
本发明是有关于闪存,特别是有关于闪存的资料更新。
背景技术
闪存为一种可由电编程及清除其资料的非易失性存储器。闪存主要用来作存储卡及通用串行总线(Universal Serial Bus,USB)装置,以供电脑及其他数字产品的一般性资料储存。闪存的制造成本远低于电气可擦除可编程唯读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)的成本,因此成为市场上的主流产品。闪存的应用范围包括掌上型电脑(PDA)、笔记型电脑、数字音乐播放器、数字相机、以及移动电话。
闪存包括多个区块(block),每一区块包括多个页(page)以储存资料。闪存的资料清除单位为一区块,而闪存的资料编程单位为一页。换句话说,当清除一闪存的一区块的资料时,该区块包含的所有页的资料都一起被清除。然而,闪存的一区块的一页却可以个别的进行资料写入,前提是该页必须未经编程或已被清除。由于闪存无法以页为单位进行资料清除,当一区块仅有部分页的资料需要更新时,由于这些部份页已存有旧资料,新资料无法直接写入这些部份页中。因此,需要一种于闪存进行资料更新的方法。
发明内容
有鉴于此,本发明的目的在于提供一种于闪存进行资料更新的方法,以解决现有技术存在的问题。于一实施例中,该闪存包括一母体区块,该母体区块包含多个需资料更新的被更新页。首先,取得一空白区块作为对应于该母体区块的一更新区块。接着,将用以更新该母体区块的这些被更新页的资料写入该更新区块的多个替换页。最后,于该更新区块的一页对应表记录这些被更新页与这些替换页的对应关系。
本发明提供一种存储卡。于一实施例中,该存储卡包括一闪存及一控制器。该闪存包括一母体区块及一更新区块,其中该母体区块包含多个需资料更新的被更新页。该控制器,将用以更新该母体区块的这些被更新页的资料写入该更新区块的多个替换页,并于该更新区块的一页对应表记录这些被更新页与这些替换页的对应关系。
本发明更提供一种于闪存进行资料更新的方法。于一实施例中,该闪存包括一母体区块以及一更新区块,该更新区块包括多个置换页,这些置换页储存该母体区块所包含的多个被更新页的更新资料,且一页对应表储存这些被更新页与这些替换页的对应关系。首先,自该闪存的一空白区取得一新区块。接着,依据该页对应表结合储存于该母体区块的资料及储存于该更新区块的这些置换页的更新资料,以得到供写入该新区块的资料。最后,清除该母体区块及该更新区块。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1是依据本发明的系统的区块图;
图2是依据本发明于闪存进行资料更新的方法的流程图;
图3是一母体区块与一更新区块的示意图;
图4A为依据本发明的页对应表的一实施例;
图4B为依据本发明的页对应表的另一实施例;
图5为依据本发明整合母体区块与更新区块为一新区块的方法的流程图;以及
图6为图3的母体区块与更新区块的资料整合后所得的新区块。
主要元件符号说明:
102~主机;
104~存储卡;
112~控制器;
114~闪存;
120~资料区;
130~空白区;
122、124、128、132、134~区块。
具体实施方式
图1是依据本发明的系统100的区块图。系统100包括主机102及存储卡104。存储卡104包括控制器112及闪存114。于一实施例中,该闪存114为一NAND型闪存。闪存包括多个区块(block),每一区块包括多个页(page)。于该闪存114的多个区块中,储存资料的区块例如区块122~128逻辑上属于一资料区120,而未储存资料的区块例如区块132~134逻辑上属于一空白区130。
闪存114是以页为单位进行资料编程。当一区块的数个页未储存资料,控制器112可将资料写入该区块的这些页。闪存114是以区块为单位进行资料清除。当一区块的一页储存资料而须清除,控制器112将该区块的所有页的资料均一并清除。
由于控制器112仅能将资料写入未储存资料的页,当主机102需要对已储存资料的页进行资料更新时,控制器112必须依据特定方法以进行资料更新。图2是依据本发明于闪存进行资料更新的方法200的流程图。假设主机102要求控制器112更新一母体区块的数个页的资料并将这些页的更新资料送至控制器112。然而,该母体区块的需被更新页已储存旧资料,因而控制器112无法直接将资料写入该母体区块的这些被更新页。控制器112便依据方法200进行资料更新。
首先,控制器112自空白区130取得一空白区块(步骤202)。该空白区块是作为对应于被更新的一母体区块的一更新区块。图3是一母体区块302与一更新区块304的示意图。母体区块302包括多个页310~31N,而这些页310~30N分别储存资料P0~PN。更新区块304包括多个页320~32N。由于更新区块304为一空白区块,因此其多个页320~32N在此时并未储存资料。
假设主机102要求控制器112更新母体区块302的页311与312。控制器112接着取得用以更新母体区块302的被更新页311的更新资料P1’(步骤204)。控制器112接着自更新区块304中选取一置换页320以供储存被更新页311的更新资料P1’,并将更新资料P1’写入更新区块304的置换页320中(步骤206)。因为母体区块302仍旧有另一被更新页312,控制器112接着取得用以更新被更新页312的更新资料P2’(步骤204),并自更新区块304中选取一置换页321以供储存被更新页312的更新资料P2’,并将更新资料P2’写入更新区块304的置换页321中(步骤206)。于是,被更新页311与312的更新资料P1’与P2’均已存入更新区块304的对应的置换页320与321。
因为母体区块302的被更新页310与311的更新资料以储存于更新区块304的置换页320与321,控制器112需于一页对应表中储存置换页与更新页的相对应关系(步骤210)。图4A为依据本发明的页对应表400的一实施例。页对应表400的第一行410为母体区块302的页指标,其中这些页指标是由0至N,以分别表示母体区块302的各页310~31N。页对应表400的第二行420为更新区块304相对应于被更新页的置换页的页指标。控制器112因此可依据页对应表400决定是否母体区块302的某一页为一被更新页以及对应于一被更新页的置换页为更新区块304的哪一页。举例来说,母体区块302的页311的页指标为1,因此于更新区块304中具有一页指标为0的相对应置换页320。同样的,母体区块302的页312的页指标为2,因此于更新区块304中具有一页指标为1的相对应置换页321。最后,控制器112将页对应表400写入更新区块304的页322中,而结束资料更新。
当主机102再度要求控制器112对母体区块302的页314~316进行更新时,控制器112取得对应于母体区块302的更新区块304并再度将被更新页314~316的更新资料储存于更新区块304中。举例来说,当主机102要求以更新资料P4’、P5’、P6’更新被更新页314~316时,控制器112决定更新区块304的页323~325为对应于被更新页314~316的置换页,并依据方法200的步骤204~208将更新资料P4’、P5’、P6’储存于置换页323、324、325。控制器112接着将母体区块302的所有被更新页与更新区块304的所有置换页的对应关系储存于图4B的一页对应表450中,并将页对应表450写入更新区块304的页326,以结束资料更新。
当主机102要求控制器112读取母体区块302,控制器302首先必须找到对应于母体区块302的更新区块304,其中母体区块302与对应的更新区块304具有共同的第一逻辑区块地址,并由更新区块304的页326取出页对应表450,此时,页对应表450为更新区块304中最后一个页对应表。控制器112接着必须依据页对应表450决定母体区块的各页是否为于更新区块304具有相对应的置换页的被更新页。图4B中,仅有页指标为1、2、4、5、6的页311、312、314、315、316具有相对应的置换页,因此页311、312、314、315、316为被更新页。当母体区块302的某页非被更新页,控制器112直接读取该页以得到其储存的资料。当母体区块302的某页系被更新页,控制器112必须先依据页对应表450找出对应于该页的置换页,接着读取该置换页以得到该页储存的更新资料。因此,当母体区块302被读取时,主机102自控制器112收到资料P0、P1’、P2’、P3、P4’、P5’、P6’、…、PN。
当一更新区块已储存满资料而无法再储存更多更新资料时,控制器112启动一资料整合程序以将母体区块的原始资料与更新区块的更新资料整合为一新区块。图5为依据本发明整合母体区块与更新区块为一新区块的方法500的流程图。控制器112首先自一空白区取得一新区块(步骤502)。控制器112接着自对应于一母体区块的一更新区块取得一最新页对应表(步骤504)。控制器112接着自该母体区块的多个页选取一目标页(步骤506),并决定是否该最新页对应表指示该目标页于该更新区块有一置换页(步骤508)。若该最新页对应表指示该目标页于该更新区块有一置换页,该目标页为一被更新页。否则,该目标页非被更新页。举例来说,依据图4B的页对应表450,母体区块302的页311、312、314、315、316分别于更新区块304中具有对应的置换页320、321、323、324、325,因此为被更新页。
当该目标页非被更新页,控制器112直接读取该目标页以取得目标资料(步骤512)。当该目标页系被更新页,控制器112读取该目标页对应的置换页以取得目标资料(步骤510)。控制器112接着将该目标资料写入该新区块的一页,其中该页与该目标页具有同样的页指标(步骤514)。图6为图3的母体区块302与更新区块304的资料整合后所得的新区块600。当目标页为非更新页的页313,页313储存的资料P3被直接写入新区块600的页613。当目标页为更新页的页314,页315所对应的置换页323所储存的资料P4’被写入新区块600的页614。
控制器112重复执行步骤506~516直到母体区块的所有页均被处理为止(步骤516)。当母体区块302的所有页均被处理后,新区块600储存了母体区块302及更新区块304所整合后的资料。母体区块302及更新区块304因此系无用的,而控制器112清除该母体区块302与该更新区块304并将该母体区块302与该更新区块304归回空白区130(步骤518)。母体区块302及更新区块304因此可重复使用来储存新资料。最后,控制器112以该新区块600替换该母体区块302的逻辑对应关系(步骤520)。于一实施例中,控制器112将该母体区块302对应的第一逻辑区块地址对应至该新区块600的一实体地址,以将该新区块600替换该母体区块302。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (18)

1.一种于闪存进行资料更新的方法,其中该闪存包括一母体区块,该母体区块包含多个需资料更新的被更新页,该方法包括下列步骤:
取得一空白区块作为对应于该母体区块的一更新区块;
将用以更新该母体区块的这些被更新页的资料写入该更新区块的多个替换页;以及
于该更新区块的一页对应表记录这些被更新页与这些替换页的对应关系。
2.如权利要求1所述的于闪存进行资料更新的方法,其特征在于,该资料的写入包括下列步骤:
取得用以更新选择自这些被更新页的一目标被更新页的目标资料;
自这些替换页中选取一目标替换页;以及
将该目标资料写入该目标替换页。
3.如权利要求1所述的于闪存进行资料更新的方法,其特征在于,该母体区块与该更新区块皆对应至一第一逻辑区块地址。
4.如权利要求2所述的于闪存进行资料更新的方法,其特征在于,该对应关系的记录包括下列步骤:
于该页对应表中记录这些目标被更新页的页指标及其所对应至这些目标替换页的页指标;以及
将该页对应表写入该更新区块的一页。
5.如权利要求1所述的于闪存进行资料更新的方法,其特征在于,该方法更包括:
当该母体区块被读取时,依据该页对应表读取该更新区块的这些替换页以代替该母体区块的这些被更新页。
6.如权利要求5所述的于闪存进行资料更新的方法,其特征在于,这些替换页的读取更包括:
决定是否该母体区块的一目标页是这些被更新页其中之一;
当该目标页非这些被更新页其中之一,直接读取该母体区块的该目标页以得到对应于该目标页的资料;以及
当该目标页是这些被更新页其中之一,依据该页对应表决定对应于该目标页的一置换页,并读取该更新区块的该置换页以得到对应于该目标页的资料。
7.一种存储卡,包括:
一闪存,包括一母体区块及一更新区块,其中该母体区块包含多个需资料更新的被更新页;以及
一控制器,将用以更新该母体区块的这些被更新页的资料写入该更新区块的多个替换页,并于该更新区块的一页对应表记录这些被更新页与这些替换页的对应关系。
8.如权利要求7所述的存储卡,其特征在于,该控制器取得用以更新选择自这些被更新页的一目标被更新页的目标资料,自这些替换页中选取一目标替换页,并将该目标资料写入该目标替换页,以将用以更新该母体区块的这些被更新页的资料写入该更新区块的这些替换页。
9.如权利要求8所述的存储卡,其特征在于,该控制器于该页对应表中记录这些目标被更新页的页指标及其所对应至这些目标替换页的页指标,并将该页对应表写入该更新区块的一页,以记录这些被更新页与这些替换页的对应关系。
10.如权利要求7所述的存储卡,其特征在于,当该母体区块被读取时,该控制器更依据该页对应表读取该更新区块的这些替换页以代替该母体区块的这些被更新页。
11.如权利要求10所述的存储卡,其特征在于,当该母体区块被读取时,该控制器决定是否该母体区块的一目标页是这些被更新页其中之一,并于该目标页非这些被更新页其中之一时,直接读取该母体区块的该目标页以得到对应于该目标页的资料。
12.如权利要求11所述的存储卡,其特征在于,当该目标页是这些被更新页其中之一时,该控制器依据该页对应表决定对应于该目标页的一置换页,并读取该更新区块的该置换页以得到对应于该目标页的资料。
13.一种于闪存进行资料更新的方法,其特征在于,该闪存包括一母体区块以及一更新区块,该更新区块包括多个置换页,这些置换页储存该母体区块所包含的多个被更新页的更新资料,且一页对应表储存这些被更新页与这些替换页的对应关系,该方法包括下列步骤:
自该闪存的一空白区取得一新区块;
依据该页对应表结合储存于该母体区块的资料及储存于该更新区块的这些置换页的更新资料,以得到供写入该新区块的资料;以及
清除该母体区块及该更新区块。
14.如权利要求13所述的于闪存进行资料更新的方法,其特征在于,该母体区块的资料及这些置换页的更新资料的结合包括下列步骤:
依据该页对应表,决定是否该母体区块的一目标页是这些被更新页其中之一;以及
当该目标页非这些被更新页其中之一,将该目标页的资料写入该新区块的一特定页,其中该特定页与该目标页具有相同的页指标。
15.如权利要求14所述的于闪存进行资料更新的方法,其特征在于,该母体区块的资料及这些置换页的更新资料的结合更包括下列步骤:
当该目标页是这些被更新页其中之一,将该目标页所对应的一置换页的更新资料写入该新区块的该特定页。
16.如权利要求13所述的于闪存进行资料更新的方法,其特征在于,该方法更包括将该母体区块及该更新区块归回该空白区。
17.如权利要求13所述的于闪存进行资料更新的方法,其特征在于,该母体区块与该更新区块皆对应至一第一逻辑区块地址。
18.如权利要求17所述的于闪存进行资料更新的方法,其特征在于,该方法更包括:
将该第一逻辑区块地址对应至该新区块的一实体地址,以将该新区块替换该母体区块。
CN2008101820680A 2007-11-29 2008-11-28 存储卡及于闪存进行资料更新的方法 Active CN101446922B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US99092607P 2007-11-29 2007-11-29
US60/990,926 2007-11-29
US12/050,205 US8195870B2 (en) 2007-11-29 2008-03-18 Memory card and method for handling data updating of a flash memory
US12/050,205 2008-03-18

Publications (2)

Publication Number Publication Date
CN101446922A CN101446922A (zh) 2009-06-03
CN101446922B true CN101446922B (zh) 2012-11-14

Family

ID=40676944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101820680A Active CN101446922B (zh) 2007-11-29 2008-11-28 存储卡及于闪存进行资料更新的方法

Country Status (3)

Country Link
US (1) US8195870B2 (zh)
CN (1) CN101446922B (zh)
TW (1) TWI386842B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI381386B (zh) * 2008-08-04 2013-01-01 Phison Electronics Corp 資料管理方法及其儲存裝置與其控制器
TWI386800B (zh) * 2008-10-03 2013-02-21 Silicon Motion Inc 快閃記憶體之更新資料的管理方法以及相關之記憶卡
TWI386802B (zh) * 2009-07-03 2013-02-21 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
CN102109964B (zh) * 2009-12-28 2012-11-28 慧荣科技股份有限公司 数据储存装置及闪存的数据写入方法
TWI514136B (zh) 2010-12-28 2015-12-21 Silicon Motion Inc 快閃記憶裝置及其資料寫入方法
CN102541464B (zh) * 2010-12-30 2014-07-23 慧荣科技股份有限公司 快闪存储装置及其数据写入方法
CN102156753B (zh) * 2011-04-29 2012-11-14 中国人民解放军国防科学技术大学 面向固态硬盘文件系统的数据页缓存方法
CN103309619A (zh) * 2012-03-16 2013-09-18 国民技术股份有限公司 一种闪存数据存储方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617109A (zh) * 2003-11-11 2005-05-18 群联电子股份有限公司 母和子架构下建立子区块检查页及逻辑页的链接方法
CN1815629A (zh) * 2005-11-25 2006-08-09 康佳集团股份有限公司 一种闪存装置的脏块回收方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI262385B (en) * 2004-06-18 2006-09-21 Mediatek Inc Method for updating file data
US7472244B2 (en) * 2005-12-08 2008-12-30 Intel Corporation Scheme for securing a memory subsystem or stack

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617109A (zh) * 2003-11-11 2005-05-18 群联电子股份有限公司 母和子架构下建立子区块检查页及逻辑页的链接方法
CN1815629A (zh) * 2005-11-25 2006-08-09 康佳集团股份有限公司 一种闪存装置的脏块回收方法

Also Published As

Publication number Publication date
TWI386842B (zh) 2013-02-21
CN101446922A (zh) 2009-06-03
TW200923762A (en) 2009-06-01
US20090144488A1 (en) 2009-06-04
US8195870B2 (en) 2012-06-05

Similar Documents

Publication Publication Date Title
CN101446922B (zh) 存储卡及于闪存进行资料更新的方法
CN101176074B (zh) 非易失性存储器件,写入数据的方法,和读出数据的方法
CN101582052B (zh) 存储器模组及于存储器模组中实现平均磨损的方法
CN101233480B (zh) 用于索引直接存储数据文件的可重新编程的非易失性存储器中的文件数据的方法、设备和系统
CN100419714C (zh) 闪存存取方法、闪存文件系统的块替换方法及其管理装置
CN102508788B (zh) Ssd及ssd垃圾回收方法和装置
US8583860B2 (en) Block management method for flash memory and controller and storage system using the same
US8291155B2 (en) Data access method, memory controller and memory storage system
US7516296B2 (en) Flash memory storage device and read/write method
US7681008B2 (en) Systems for managing file allocation table information
US7752412B2 (en) Methods of managing file allocation table information
US20080109589A1 (en) Nonvolatile Storage Device And Data Write Method
US20110099324A1 (en) Flash memory storage system and flash memory controller and data processing method thereof
CN101408880A (zh) 使用分割文件元数据的文件管理方法和装置
CN101556555B (zh) 用于闪存的区块管理方法、其控制器与储存系统
CN103136108A (zh) 快闪存储装置及其数据读取方法
US20180196747A1 (en) Data storage device and flash memory control method
CN103294607A (zh) 一种存储管理方法
US20100306456A1 (en) Method for even utilization of a plurality of flash memory chips
CN103309619A (zh) 一种闪存数据存储方法
CN102541753B (zh) 一种嵌入式存储器的读写优化方法
US8417909B2 (en) Block management and data writing method, and flash memory storage system and controller using the same
TWI386800B (zh) 快閃記憶體之更新資料的管理方法以及相關之記憶卡
JP2013196155A (ja) メモリシステム
CN103514953A (zh) 对存储在闪存中的数据有地址ram的模拟电可擦存储器

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