JP2004199605A - Semiconductor memory card and updating method of management information - Google Patents

Semiconductor memory card and updating method of management information Download PDF

Info

Publication number
JP2004199605A
JP2004199605A JP2002370314A JP2002370314A JP2004199605A JP 2004199605 A JP2004199605 A JP 2004199605A JP 2002370314 A JP2002370314 A JP 2002370314A JP 2002370314 A JP2002370314 A JP 2002370314A JP 2004199605 A JP2004199605 A JP 2004199605A
Authority
JP
Japan
Prior art keywords
address
address management
index information
management table
written
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
JP2002370314A
Other languages
Japanese (ja)
Other versions
JP4211385B2 (en
Inventor
Kiminori Matsuno
公則 松野
Tomoaki Izumi
智紹 泉
Masahiro Nakanishi
雅浩 中西
Tetsushi Kasahara
哲志 笠原
Keisuke Sakai
敬介 坂井
Hiroki Kikko
弘樹 橘高
Koichiro Fue
浩一郎 笛
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002370314A priority Critical patent/JP4211385B2/en
Publication of JP2004199605A publication Critical patent/JP2004199605A/en
Application granted granted Critical
Publication of JP4211385B2 publication Critical patent/JP4211385B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To ensure the reliability in updating of management information in a memory card in which address information of a nonvolatile memory is stored in the nonvolatile memory, and only a necessary portion of the address management information is read out to a volatile memory and used. <P>SOLUTION: This memory card comprises the nonvolatile memory, and retains a plurality of address management tables AT for converting a logic address given for the access to the nonvolatile memory to a physical address and an address transformation table index information (ATI) group 1 for managing the AT (AT groups 2 and 3) in the nonvolatile memory, so that necessary address management information is properly expanded to the volatile memory. In the updating of AT generated in data updating, the next AT is written in a writing area different from the present AT. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、書き換え可能な不揮発性メモリに対してのアドレス管理情報を不揮発性メモリ内に記憶し、そのアドレス管理情報のうちの必要な部分を揮発性メモリに読み出して使用する半導体メモリカードおよび管理情報更新方法に関する。
【0002】
【従来の技術】
書き換え可能な不揮発性メモリを有するメモリカードは、不揮発性メモリにアクセスするために与えられる論理アドレスを物理アドレスに変換することで、データの書き込みや読み出しが行われる。そして、このアドレス変換のためのアドレス管理情報を有している。
【0003】
上述したような、アドレス管理情報を不揮発性メモリに記憶して、そのアドレス管理情報のうちの必要部分のみを揮発性メモリに読み出して使用するメモリカードは、例えば、特許文献1に記載されたものが知られている。
【0004】
図4に従来のメモリカード内の不揮発性メモリにおけるアドレスマップを示す。なお、不揮発性メモリは一般的にフラッシュメモリと呼ばれているメモリに相当し、その基本特性(オーバーライトが出来ない、あるいは書き込み回数に制限がある等)については典型的なフラッシュメモリに従うものとし、これらの特性についての説明は省略する。
【0005】
不揮発性メモリは、管理領域101とデータ領域102とからなる。データ領域102は、外部機器(ホスト)から読み書きされるデータ(音楽データや画像データなどのいわゆるコンテンツ情報)を格納する領域であり、例えば、1024ブロック毎に4つの領域(データ領域#0〜データ領域#3)に分割される。管理領域101は、データの論理アドレスに対応する物理アドレスを決めるアドレス変換テーブル等の管理情報を格納する領域であり、アドレス変換テーブル(以下、LTPbという)104とアドレス変換テーブルのインデックス(以下、LTPaという)103からなる。LTPb104は、上記データ領域102の#0〜#3をそれぞれ管理するためLTPb104の#0〜#3からなる。LTPb104#0〜LTPb104#3が管理するエントリ数はブロック数に一致し、それぞれのデータ領域102において、基本的には論理アドレス(0〜1023[ブロック×ブロックサイズ])を物理アドレス(0〜1023[ブロック×ブロックサイズ])に変換するために、各論理アドレスに相当する論理ブロック番号毎(1ワード毎)に物理ブロック番号(物理アドレスに相当)とアロケーションフラグを持つ。アロケーションフラグとは、記憶された物理ブロック番号(物理アドレス)に有効なデータが既にアロケート(割り当て)されているか否かを識別するフラグである。LTPa103は、LTPb104#0〜LTPb104#3が記憶されている物理ブロック番号(物理アドレスに相当)とアロケーションフラグを持つ。LTPa103及びLTPb104#0〜LTPb104#3は、消去単位である任意ブロックの中に存在し、例えばブロック内がページ1からページNとするとページ1(例えば2Kバイト)を使用して1つのアドレス変換テーブルを構成する。例えば管理領域101の先頭ブロックのページ1にLTPa103を、その次のブロックのページ1にLTPb104#0を対応させ、各ブロックのページ1以外のページは不使用で構わない。
【0006】
以上のように構成されたメモリカードについて、以下、書き込み動作を述べる。外部機器(ホスト)から与えられる論理アドレスに従い、データの書き込み先の領域を決定する。例えば、外部ホストから論理アドレス0が指定されると、不揮発性メモリの中のデータ領域102#0に対応するLTPb104#0をLTPa103に基づき不揮発性メモリから揮発性メモリに読み出す。読み出されたLTPb104#0内の論理ブロック番号に対応する1ワード中のアロケーションフラグをチェックし、未アロケートの場合は、この1ワード中の物理ブロック番号に対応するデータ領域102#0の物理ブロックをイレーズ(消去)処理後にデータを書き込み、揮発性メモリ内でこの1ワード中のアロケーションフラグをアロケート済み状態(値0)に更新した後に不揮発性メモリにLTPb104#0を書き戻す。一方、論理ブロック番号に対応する1ワード中のアロケーションフラグをチェックし、既にアロケート済みの場合は、論理ブロック番号0から1023までの全領域に対応する物理ブロック番号を調べ、アロケート済みでない物理ブロック番号(例えば、10)を探しだし、物理ブロック番号10に対応するデータ領域102#0の物理ブロックをイレーズ処理後にデータを書き込む。また、揮発性メモリ内で、論理ブロック番号0の1ワード中物理ブロック番号の部分に物理ブロック番号10を書き込み、更に、以前物理ブロック番号10が記録されていた論理ブロック番号の1ワード中物理ブロック番号の部分を、以前論理ブロック番号0の物理ブロック番号の部分に記憶されていた物理ブロック番号値に変更すると共にアロケーションフラグを未アロケート状態(値1)にする。そして不揮発性メモリにLTPb104#1を書き戻す。
【0007】
【特許文献1】
特開2001−142774号公報(段落0010〜0012、図1)
【0008】
【発明が解決しようとする課題】
しかしながら上記の従来の構成による不揮発性メモリを搭載したメモリカードにおいては、データの管理を不揮発性メモリ内に管理領域を設け集中管理するため、管理情報の信頼性を確保することが要求されている。そのため、不揮発性メモリへの管理情報の更新時において、書き込みエラーが発生した場合に電源遮断等が発生すると、管理情報が正常に更新されず、管理情報の信頼性が損なわれる可能性があった。
【0009】
本発明は上記従来の問題点を解決するもので、管理情報の信頼性確保のために、特に、管理情報更新時の信頼性向上を可能とする半導体メモリカードおよび管理情報更新方法を提供すること目的とする。
【0010】
【課題を解決するための手段】
この目的を達成するために本発明の半導体メモリカードおよび管理情報更新方法は、不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブル(以下、ATとする)と、複数のAT(以下、AT群とする)を管理するアドレス変換テーブルインデックス情報(以下、ATIとする)群を不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発性メモリに展開するものであり、データ更新時に発生するATの更新の際に次ATを現在のATとは別の書込み領域に書き込むことを特徴とする。
【0011】
これにより、不揮発性メモリ内の次ATを書き込む領域(例えば、ブロック)が次ATの書き込みにより不良(バッドブロック)となった場合にも、更新前のAT情報を不揮発性メモリ内の別領域(例えば、ブロック)に確保しておくことが出来るため、AT更新時に電源遮断等により正常にATの更新が出来なかった場合にも、前ATに基づき不揮発性メモリ内のデータを保護することが可能である。
【0012】
【発明の実施の形態】
本発明の請求項1に記載の発明は、不揮発性メモリを有し、前記不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する構成のメモリカードにおいて、データ更新時に発生するアドレス管理テーブルの更新の際に、次アドレス管理テーブルを現在のアドレス管理テーブルとは別の書込み領域に書き込むことを特徴とする半導体メモリカードとしたものであり、これにより、アドレス管理テーブル更新時に電源遮断等により正常にアドレス管理テーブルの更新ができなかった場合にも、前アドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0013】
また、本発明の請求項2に記載の発明は、上記請求項1に係る発明に加え、現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合に、データ更新が発生すると次アドレス変換テーブルインデックス情報の管理する次アドレス管理テーブルを更新した後、更新する次アドレス変換テーブルインデックス情報を現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス情報更新前に電源遮断等により正常にアドレス変換テーブルインデックス情報の更新ができなかった場合でも、前アドレス変換テーブルインデックス情報の管理する最終のアドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0014】
また、本発明の請求項3に記載の発明は、上記請求項1または2に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス管理テーブル更新の際に、現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス管理テーブルを書き込むことを特徴とするものであり、これにより、アドレス管理テーブル更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0015】
また、本発明の請求項4に記載の発明は、上記請求項1または2に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス変換テーブルインデックス情報更新の際に、現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス変換テーブルインデックス情報を書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0016】
また、本発明の請求項5に記載の発明は、上記請求項1または2に係る発明に加え、次アドレス変換テーブル情報を不揮発性メモリに更新時に、前アドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とするものであり、これにより、不要になったアドレス管理テーブルを通常のデータの書き込み領域として使用し、アドレス管理テーブル群に使用するブロックを集中させないという作用を有する。
【0017】
また、本発明の請求項6に記載の発明は、不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する管理情報更新方法において、データ更新時に発生するアドレス管理テーブルの更新の際に、次アドレス管理テーブルを現在のアドレス管理テーブルとは別の書込み領域に書き込むことを特徴とする管理情報更新方法であり、これにより、アドレス管理テーブル更新時に電源遮断等により正常にアドレス管理テーブルの更新ができなかった場合にも、前アドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0018】
また、本発明の請求項7に記載の発明は、上記請求項6に係る発明に加え、現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合に、データ更新が発生すると次アドレス変換テーブルインデックス情報の管理する次アドレス管理テーブルを更新した後、更新する次アドレス変換テーブルインデックス情報を現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス情報更新前に電源遮断等により正常にアドレス変換テーブルインデックス情報の更新ができなかった場合でも、前アドレス変換テーブルインデックス情報の管理する最終のアドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0019】
また、本発明の請求項8に記載の発明は、上記請求項6または7に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス管理テーブル更新の際に、現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス管理テーブルを書き込むことを特徴とするものであり、これにより、アドレス管理テーブル更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0020】
また、本発明の請求項9に記載の発明は、上記請求項6または7に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス変換テーブルインデックス情報更新の際に、現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス変換テーブルインデックス情報を書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0021】
また、本発明の請求項10に記載の発明は、上記請求項6または7に係る発明に加え、次アドレス変換テーブル情報を不揮発性メモリに更新時に、前アドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とするものであり、これにより、不要になったアドレス管理テーブルを通常のデータの書き込み領域として使用し、アドレス管理テーブル群に使用するブロックを集中させないという作用を有する。
【0022】
以下、本発明の実施の形態について、図1から図3を用いて説明する。
【0023】
(実施の形態1)
図1は、本発明の実施の形態1による半導体メモリカードおよび管理情報更新方法におけるアドレス管理テーブル(AT)とアドレス変換デーブルインデックス情報(ATI)の構成を示す概念図であり、図2は、本実施の形態による半導体メモリカードの構成、および半導体メモリカード内の不揮発性メモリのアドレスマップを示す概念図である。また、図3は、本実施の形態による管理情報更新方法を示すフローチャートである。
【0024】
図1において、1はATI群である。2および3はAT群であり、便宜上AT群α2、AT群β3とし、図示した以外にも存在するものである。また10はブロック(物理ブロック)であり、本実施の形態によるATI群1、AT群α2、AT群β3、…は、それぞれ4つのブロック10から構成され、それぞれを4バンク(Bank0〜Bank3)構成にしている。
【0025】
また、図2においては、20はフラッシュメモリ等の不揮発性メモリ、21は半導体メモリカードとホスト機器との間でデータやコマンドなどの信号を送受信するためのホストインターフェース回路(ホストI/F)、22はホスト機器からのコマンドなどにより不揮発性メモリ20や半導体メモリカードの動作を制御する制御部、23はデータやアドレス管理情報などを一時蓄える揮発性メモリとしてのRAM(ランダム・アクセス・メモリ)である。また、4はATI群を記憶するためのATI群領域、5はデータを記憶するためのデータ領域であり、不揮発性メモリ20は、ATI群領域4とデータ領域5からなる。また、6はAT群であり、7は現ATが管理するデータエントリである。
【0026】
なお、本実施の形態で説明する不揮発性メモリ20は、4バンク構成(Bank0〜Bank3)からなり、各ブロックはデータ容量が2KBのページが2ページで構成されるメモリに制限している。
【0027】
ATI群領域4は、データ領域5(#0〜#3)内のAT群を管理するためのATI群を格納する領域である。ATIは、各AT群の物理ブロック番号(例えば、バンク0の物理アドレスに相当)を持つ。1つのATIで、各データ領域に64のAT群を管理すると、1ワード(物理ブロック番号)×4(データ領域数)×64(AT群)=512Bとなり、図1に示すように1ブロック当たり8個のATIを記録することができる。先頭ATIは、例えば、不揮発性メモリ20の先頭物理ブロックに格納され、先頭ATIの格納されるページの冗長領域には、バンク当たり1ブロックへのリンク情報が書き込まれ、ATI群を形成する。よって、最大32個のATIを格納することができる。
【0028】
データ領域5は、外部(ホスト)から読み書きされるデータ(音楽データや画像データなどのいわゆるコンテンツ情報)を格納すると共に、AT群を格納する領域である。また、データ領域5は、1024ブロック/バンク毎に4つの領域(データ領域#0〜データ領域#3)に分割され、AT群はそれぞれのデータ領域を管理するため、それぞれのデータ領域に格納される。ATが管理するデータエントリ7は、1ブロック/バンク、計4ブロックを1つのエントリとして管理される。ATの管理するエントリそれぞれの先頭ブロック(例えば、バンク0)下位ページの冗長領域には、バンク当たり1ブッロクへのリンク情報が書き込まれる。それぞれのデータ領域において、基本的には論理アドレス(0〜1023[ブロック×ブロックサイズ×バンク数])を物理アドレス(0〜1023[ブロック×ブロックサイズ×バンク数])に変換する為に、各論理アドレスに相当する論理ブロック番号毎(1ワード毎)に物理ブロック番号(例えば、バンク0の物理アドレス9ビットに相当)と各バンクのアロケーションフラグ(4ビット)を持つ。よって、1つのATのデータ容量は、1ワード(物理ブロック番号)×1024(ブロック)=2048Bとなり、1ページに1つのATを持つことになる。また、アロケーションフラグは、各バンクの物理ブロック番号(物理アドレス)に有効なデータが既にアロケートされているか否かを識別するフラグであり、物理ブロック番号順に格納される。
【0029】
次に、図1及び図3を用いて本実施の形態による書き込み動作について説明する。なお、図1中のAT群α2及びAT群β3は、同一のデータ領域を管理するAT群であり、同図に示す例では、AT群α2はATI#4により管理され、AT群β3はATI#5により管理される領域である。また、AT及びATIの更新は、次のAT及びATIの不揮発性メモリ20への書き込みが現AT及び現ATIと同一ブロックに行われないように、書き込みの順番が予め決められる。また、ATI群の中から最新のATIを検出する処理(図3のS01)は、例えば、初期化時に実施され、外部(ホスト)からメモリカードに対するデータ書き込み指令毎には実施されない。また、図3に示す一連の制御は、図2に示した制御部22によって実行され、制御部22はCPU(中央処理演算装置)を含むものとする。
【0030】
まず、1つのATIが管理するAT群内での更新について述べる。外部(ホスト)から与えられる論理アドレスに従い、データの書き込み先の領域を決定する。例えば、外部ホストから論理アドレス0が指定されると、不揮発性メモリ20の中のデータ領域#0に対応するAT群の物理ブロック番号を現ATIから求め、不揮発性メモリ20から揮発性メモリ(RAM23)に読み出す(図3のS02)。読み出された現AT群内で、現AT(例えば、AT#2)を検出して論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックする(同S03)。なお、現ATを検出する場合は、現在のATを含むAT群は事前にイレーズ処理されるため、図1に示す予め決められたATの書き込み順(#0〜#7)に従い、正常に読み出された最終書き込み済みのATを現ATとする。論理ブロック番号に対応する1ワード中に物理ブロック番号が登録されていない、つまり未アロケートの場合は、各バンクの未アロケート物理ブロック番号を検出し、対応するデータ領域#0の物理ブロックをイレーズ処理し、バンク0の下位ページ冗長領域に検出した各バンクの物理ブロック番号を付加してデータを不揮発性メモリ20に書き込み、揮発性メモリ23内でデータを書き込んだ各バンクの物理ブロック番号に対応したアロケーションフラグをアロケート済み状態(値0)に更新する(S04)。その後に、図1に示す予め決められた書き込み順に従い不揮発性メモリにAT#3を書く(S05、S07)。
【0031】
一方、論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックし、既にアロケート済みの場合は、その物理ブロック番号の対応した物理ブロックの下位ページ冗長領域から各バンクのアロケート済みの物理ブロック番号を読み出す。更に、揮発性メモリ内で各バンクのアロケート済みでない物理ブロック番号を検出し、不揮発性メモリ内の対応するデータ領域#0の物理ブロックをイレーズ処理し、バンク0の物理ブロック下位ページの冗長領域に各バンクの物理ブロック番号を付加してデータを書き込む。また、揮発性メモリ内で、論理ブロック番号0の1ワード中物理ブロック番号にデータを書き込んだバンク0の物理ブロック番号を書き込むと共に今回使用した各バンクの物理ブロック番号に対応するアロケーションフラグをアロケート済み状態(値0)に更新し、更に以前論理ブロック番号0で使用した各バンクの物理ブロック番号に対応するアロケーションフラグを未アロケート状態(値1)にする(S04)。その後に、図1に示す予め決められた書き込み順に従い不揮発性メモリにAT#3を書く(S05、S07)。
【0032】
次に、ATIの更新が発生する場合について述べる。図1中、現在のATがATI#4の管理するAT群α2の最終AT#7の場合、S05にて現ATが現ATIで管理するATの最終であると判断し、S06にて次AT群を書き込むための空きブロックを確保する。揮発性メモリ23内で現ATであるAT群α2のAT#7から各バンクのアロケーションフラグより未アロケートの物理ブロック番号を検出し、検出した物理ブロック番号に対応するデータ領域#0内物理ブロックをイレーズ処理することでAT群β3の領域を確保する。次ATはデータ書き込み処理S04で作成した情報に加え、揮発性メモリ23内でAT群α2の領域を確保するために使用していた各バンクの物理ブロック番号に対応するアロケーションフラグを未アロケートに更新し、更に、AT群β3の領域確保に使用する各バンクの物理ブロック番号に対応するアロケーションフラグをアロケートに更新する。S08にて、更新する次ATをデータ領域#0内AT群β3のAT#0の領域に書き込む。その後S09にて、ATI#5の領域に、AT群β3の各ATの物理ブロックアドレスを書き込む。
【0033】
ATI群1を更新する際には、前記ATI更新の際の処理に加え、次ATI群を記録するための物理ブロックを確保する必要がある。揮発メモリ23内でAT#7の各バンクのアロケーションフラグより未アロケートの物理ブロック番号を検出し、不揮発性メモリ20の検出した各バンクの対象物理ブロックをイレーズ処理することで次ATI群の領域を確保する。前記ATI更新時の次ATの情報に加え、揮発性メモリ23内で現ATI群の領域を確保するために使用していた各バンクの物理ブロック番号に対応するアロケーションフラグを未アロケートし、更に、次ATI群1の領域確保に使用する各バンクの物理ブロック番号に対応するアロケーションフラグをアロケートに更新する。以降、前記ATI更新時と同様に次AT及び次ATIを不揮発性メモリ20に書き込む。
【0034】
以上のように、ATの更新時、現ATとは異なるブロックに次ATを書き込むことにより、次ATの書き込み中にエラーが発生し正常に次ATが更新できない場合にも、現ATに基づきメモリカード内の不揮発性メモリ20に記録されたデータを保護することができる。また、ATI更新が必要なATの更新時にエラーが発生した場合、現ATIに基づく現ATによりメモリカード内の不揮発性メモリ20に記録されたデータを保護することができる。更に、ATI更新後は古いAT群(例えば、ATI更新後のAT群α2)をデータの書き込める領域として使用し、AT群の同一領域への集中を避けAT群の信頼性を向上できる。
【0035】
なお、本実施の形態においては、メモリカード内に1つの不揮発性メモリで構成される場合について述べたが、複数の不揮発性メモリで構成される場合についてもATの管理するアロケーションフラグを8ビットとし、2つの不揮発性メモリを1つのATで管理するよう構成すれば本実施例と同様の処理が可能である。更に、AT及びATI更新の際に、2つの不揮発性メモリに交互に書き込むよう処理すれば、AT及びATI更新のための同一不揮発性メモリへ書き込みの集中をさけることができる。
【0036】
また、本実施の形態においては、4バンク構成の不揮発性メモリについて述べたが、バンク構成に依存せず同様のATI更新方法を適用することができる。
【0037】
更に、本実施の形態においては、メモリカードのアドレス管理をATIとATの二階層で実現したものについて述べたが、ATIを更に階層化した場合にも、同様のATI更新方法を適用することができる。この場合、最上階のATIを管理領域に格納し、それ以外は、各データ領域に格納すれば、最も重要なATIへのアクセス頻度を低減することができる。
【0038】
また、本実施の形態においては、図2に示すようにメモリカードを例に説明したが、メモリカードに限ることなく、例えば、不揮発性メモリが内蔵された機器に本発明の管理情報更新方法(アドレス管理情報を更新する方法)を用いてもよい。この場合、ホストI/F21や制御部22は、同様の機能を有する機器内の資源を用いて構成すればよい。
【0039】
【発明の効果】
以上のように本発明によれば、不揮発性メモリ内の次ATを書き込む領域(例えば、ブロック)が次ATを書き込みにより不良(バッドブロック)となった場合にも、更新前のAT情報を不揮発性メモリ内の別領域(例えば、ブロック)に確保しておくことが出来るため、AT更新時に電断等により正常にATの更新が出来なかった場合にも、前ATに基づき不揮発性メモリ内のデータを保護することが可能である。更に、ATI更新前に電断等により正常にATIの更新が出来なかった場合にも、前ATIの管理する最終のATに基づき不揮発性メモリ内のデータを保護することができる。更に、ATIの更新毎に不要になったAT群を無効化することにより、通常のデータの書き込み領域として使用しAT群に使用するブロックを集中させないためAT群の信頼性を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態によるアドレス管理方法を示す概念図
【図2】本発明の実施の形態によるメモリカードの構成およびアドレスマップを示す図
【図3】本発明の実施の形態によるアドレス管理方法の動作を説明するためのフローチャート
【図4】従来のメモリカードのアドレスマップを示す図
【符号の説明】
1 ATI群
2 AT群α
3 AT群β
4 ATI群領域
5 データ領域
6 AT領域
7 1データエントリ範囲
20 不揮発性メモリ
21 ホストI/F
22 制御部
23 RAM
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a semiconductor memory card which stores address management information for a rewritable nonvolatile memory in the nonvolatile memory, reads out a necessary part of the address management information to a volatile memory, and uses the semiconductor memory card. Information update method.
[0002]
[Prior art]
In a memory card having a rewritable nonvolatile memory, data is written or read by converting a logical address given to access the nonvolatile memory into a physical address. And it has address management information for this address conversion.
[0003]
As described above, a memory card in which address management information is stored in a non-volatile memory, and only a necessary portion of the address management information is read out to a volatile memory and used is described in, for example, Patent Document 1. It has been known.
[0004]
FIG. 4 shows an address map in a nonvolatile memory in a conventional memory card. The non-volatile memory corresponds to a memory generally called a flash memory, and its basic characteristics (for example, overwriting cannot be performed or the number of times of writing is limited) follow those of a typical flash memory. The description of these characteristics is omitted.
[0005]
The nonvolatile memory includes a management area 101 and a data area 102. The data area 102 is an area for storing data (so-called content information such as music data and image data) read and written from an external device (host). For example, four areas (data areas # 0 to data Area # 3). The management area 101 is an area for storing management information such as an address conversion table for determining a physical address corresponding to a logical address of data, and includes an address conversion table (hereinafter referred to as LTPb) 104 and an index of the address conversion table (hereinafter referred to as LTPa). 103). The LTPb 104 includes # 0 to # 3 of the LTPb 104 for managing # 0 to # 3 of the data area 102, respectively. The number of entries managed by LTPb 104 # 0 to LTPb 104 # 3 matches the number of blocks, and in each data area 102, basically a logical address (0 to 1023 [block × block size]) is assigned to a physical address (0 to 1023). [Block × block size]), a physical block number (corresponding to a physical address) and an allocation flag are provided for each logical block number (each word) corresponding to each logical address. The allocation flag is a flag for identifying whether or not valid data has already been allocated (allocated) to the stored physical block number (physical address). The LTPa 103 has a physical block number (corresponding to a physical address) in which the LTPb 104 # 0 to the LTPb 104 # 3 are stored, and an allocation flag. The LTPa 103 and the LTPb 104 # 0 to the LTPb 104 # 3 exist in an arbitrary block which is an erase unit. Is composed. For example, page 1 of the first block of the management area 101 corresponds to LTPa103, and page 1 of the next block corresponds to LTPb104 # 0, and pages other than page 1 of each block may be unused.
[0006]
The write operation of the memory card configured as described above will be described below. In accordance with a logical address given from an external device (host), a data write destination area is determined. For example, when the logical address 0 is specified by the external host, the LTPb 104 # 0 corresponding to the data area 102 # 0 in the nonvolatile memory is read from the nonvolatile memory to the volatile memory based on the LTPa103. The allocation flag in one word corresponding to the logical block number in the read LTPb 104 # 0 is checked. If the allocation flag is not allocated, the physical block in the data area 102 # 0 corresponding to the physical block number in this one word is checked. Is written after the erasing process, the allocation flag in one word is updated to the allocated state (value 0) in the volatile memory, and then the LTPb 104 # 0 is written back to the nonvolatile memory. On the other hand, the allocation flag in one word corresponding to the logical block number is checked. If the allocation flag has already been allocated, the physical block numbers corresponding to all areas from logical block numbers 0 to 1023 are checked. (For example, 10), and after erasing the physical block in the data area 102 # 0 corresponding to the physical block number 10, the data is written. Also, in the volatile memory, the physical block number 10 is written in the physical block number portion in one word of the logical block number 0, and the physical block number 1 in the logical block number in which the physical block number 10 was previously recorded. The number part is changed to the physical block number value previously stored in the physical block number part of the logical block number 0, and the allocation flag is set to an unallocated state (value 1). Then, the LTPb 104 # 1 is written back to the nonvolatile memory.
[0007]
[Patent Document 1]
JP 2001-142774 A (paragraphs 0010 to 0012, FIG. 1)
[0008]
[Problems to be solved by the invention]
However, in the memory card equipped with the nonvolatile memory according to the conventional configuration described above, it is required to secure the reliability of the management information in order to centrally manage data management by providing a management area in the nonvolatile memory. . Therefore, when updating the management information to the non-volatile memory, if a power failure or the like occurs when a write error occurs, the management information may not be updated normally, and the reliability of the management information may be impaired. .
[0009]
An object of the present invention is to solve the above-mentioned conventional problems, and to provide a semiconductor memory card and a management information updating method capable of improving the reliability at the time of updating the management information, particularly for ensuring the reliability of the management information. Aim.
[0010]
[Means for Solving the Problems]
In order to achieve this object, a semiconductor memory card and a management information updating method according to the present invention provide a plurality of address management tables (hereinafter, referred to as AT) for converting a logical address given for accessing a nonvolatile memory into a physical address. ) And a group of address conversion table index information (hereinafter, ATI) for managing a plurality of ATs (hereinafter, referred to as AT groups) are stored in a non-volatile memory, and necessary address management information is appropriately developed in a volatile memory. When updating an AT that occurs at the time of data update, the next AT is written in a write area different from the current AT.
[0011]
Thus, even when an area (for example, a block) in the nonvolatile memory where the next AT is written becomes defective (bad block) due to writing of the next AT, the AT information before update is stored in another area (for example, a block) in the nonvolatile memory. For example, if the AT is not updated normally due to power cutoff at the time of updating the AT, the data in the non-volatile memory can be protected based on the previous AT. It is.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
The invention according to claim 1 of the present invention has a nonvolatile memory, a plurality of address management tables for converting a logical address given to access the nonvolatile memory into a physical address, and the plurality of address management. In a memory card having a configuration in which an address conversion table index information group for managing a table is held in the non-volatile memory and necessary address management information is appropriately expanded in a volatile memory, when updating an address management table generated at the time of data update, A semiconductor memory card characterized in that the next address management table is written in a write area different from that of the current address management table. If the address could not be updated, the previous address management data An effect that it is possible to protect data in the non-volatile memory based on the Le.
[0013]
According to a second aspect of the present invention, in addition to the first aspect, the present address management table is a final address management table of an address management table group managed by a current address translation table index information group. When the data update occurs, after updating the next address management table managed by the next address conversion table index information, the next address conversion table index information to be updated is written to a write area different from the current address conversion table index information. Therefore, even if the address conversion table index information cannot be updated normally due to power cutoff or the like before updating the address conversion table index information, the last address managed by the previous address conversion table index information can be obtained. Management table Based has an effect that it is possible to protect the data in the nonvolatile memory.
[0014]
According to a third aspect of the present invention, in addition to the first or second aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address management table, the next address management table is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address management table is written. Thus, the writing to the same non-volatile memory for updating the address management table is distributed.
[0015]
According to a fourth aspect of the present invention, in addition to the first or second aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address conversion table index information, the next address conversion table index information is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address conversion table index information is written. This has the effect of distributing writes to the same non-volatile memory for updating the address translation table index.
[0016]
According to a fifth aspect of the present invention, in addition to the first or second aspect of the present invention, when the next address translation table information is updated in the nonvolatile memory, the address management managed by the previous address translation table index information is performed. This is characterized by invalidating the block in which the table group is written, whereby the unnecessary address management table is used as a normal data write area, and the block used for the address management table group is changed. Has the effect of not focusing.
[0017]
According to a sixth aspect of the present invention, a plurality of address management tables for converting a logical address given to access a non-volatile memory into a physical address and an address conversion table for managing the plurality of address management tables are provided. In a management information updating method in which a table index information group is held in the non-volatile memory and necessary address management information is appropriately developed in a volatile memory, the next address management table is updated when the address management table is updated when data is updated. This is a management information update method characterized by writing data in a write area different from the current address management table. This method is used when the address management table cannot be updated normally due to power shutdown or the like when updating the address management table. Data in the nonvolatile memory based on the previous address management table. An effect that can be protected.
[0018]
According to a seventh aspect of the present invention, in addition to the sixth aspect of the present invention, the current address management table is a last address management table of an address management table group managed by a current address translation table index information group. When the data update occurs, after updating the next address management table managed by the next address conversion table index information, the next address conversion table index information to be updated is written to a write area different from the current address conversion table index information. Therefore, even if the address conversion table index information cannot be updated normally due to power cutoff or the like before updating the address conversion table index information, the last address managed by the previous address conversion table index information can be obtained. Management table Based has an effect that it is possible to protect the data in the nonvolatile memory.
[0019]
According to an eighth aspect of the present invention, in addition to the sixth or seventh aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address management table, the next address management table is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address management table is written. Thus, the writing to the same non-volatile memory for updating the address management table is distributed.
[0020]
According to a ninth aspect of the present invention, in addition to the sixth or seventh aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address conversion table index information, the next address conversion table index information is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address conversion table index information is written. This has the effect of distributing writes to the same non-volatile memory for updating the address translation table index.
[0021]
According to a tenth aspect of the present invention, in addition to the invention according to the sixth or seventh aspect, when the next address translation table information is updated in the nonvolatile memory, the address management managed by the previous address translation table index information is performed. This is characterized by invalidating the block in which the table group is written, whereby the unnecessary address management table is used as a normal data write area, and the block used for the address management table group is changed. Has the effect of not focusing.
[0022]
Hereinafter, an embodiment of the present invention will be described with reference to FIGS.
[0023]
(Embodiment 1)
FIG. 1 is a conceptual diagram showing the configuration of an address management table (AT) and address conversion table index information (ATI) in a semiconductor memory card and a management information updating method according to a first embodiment of the present invention. FIG. 2 is a conceptual diagram showing a configuration of a semiconductor memory card according to an embodiment and an address map of a nonvolatile memory in the semiconductor memory card. FIG. 3 is a flowchart showing a management information updating method according to the present embodiment.
[0024]
In FIG. 1, reference numeral 1 denotes an ATI group. Reference numerals 2 and 3 denote AT groups, which are referred to as AT group α2 and AT group β3 for convenience. Reference numeral 10 denotes a block (physical block). Each of the ATI group 1, the AT group α2, the AT group β3,... According to the present embodiment is composed of four blocks 10, each of which has four banks (Bank0 to Bank3). I have to.
[0025]
In FIG. 2, reference numeral 20 denotes a nonvolatile memory such as a flash memory, 21 denotes a host interface circuit (host I / F) for transmitting and receiving signals such as data and commands between the semiconductor memory card and the host device, Reference numeral 22 denotes a control unit that controls operations of the nonvolatile memory 20 and the semiconductor memory card by a command from a host device, and 23 denotes a RAM (random access memory) as a volatile memory for temporarily storing data, address management information, and the like. is there. Reference numeral 4 denotes an ATI group area for storing an ATI group, and reference numeral 5 denotes a data area for storing data. The nonvolatile memory 20 includes an ATI group area 4 and a data area 5. Reference numeral 6 denotes an AT group, and reference numeral 7 denotes a data entry managed by the current AT.
[0026]
The nonvolatile memory 20 described in the present embodiment has a four-bank configuration (Bank 0 to Bank 3), and each block is limited to a memory having a data capacity of 2 KB and two pages.
[0027]
The ATI group area 4 is an area for storing an ATI group for managing the AT group in the data area 5 (# 0 to # 3). The ATI has a physical block number of each AT group (for example, corresponding to a physical address of bank 0). If one ATI manages 64 AT groups in each data area, one word (physical block number) × 4 (the number of data areas) × 64 (AT groups) = 512 B, and as shown in FIG. Eight ATIs can be recorded. The head ATI is stored, for example, in the head physical block of the nonvolatile memory 20, and link information to one block per bank is written in the redundant area of the page in which the head ATI is stored to form an ATI group. Therefore, a maximum of 32 ATIs can be stored.
[0028]
The data area 5 is an area for storing data (so-called content information such as music data and image data) read / written from outside (host) and for storing an AT group. The data area 5 is divided into four areas (data area # 0 to data area # 3) every 1024 blocks / bank, and the AT group is stored in each data area in order to manage each data area. You. The data entry 7 managed by the AT is managed as one entry with a total of four blocks, one block / bank. In the redundant area of the lower page of the head block (for example, bank 0) of each entry managed by the AT, link information to one block per bank is written. In each data area, basically, in order to convert a logical address (0 to 1023 [block × block size × number of banks]) into a physical address (0 to 1023 [block × block size × number of banks]), Each logical block number (one word) corresponding to a logical address has a physical block number (e.g., corresponding to 9 bits of the physical address of bank 0) and an allocation flag (4 bits) of each bank. Therefore, the data capacity of one AT is one word (physical block number) × 1024 (block) = 2048 B, and one page has one AT. The allocation flag is a flag for identifying whether or not valid data has already been allocated to the physical block number (physical address) of each bank, and is stored in the order of the physical block number.
[0029]
Next, a write operation according to the present embodiment will be described with reference to FIGS. Note that the AT group α2 and the AT group β3 in FIG. 1 are AT groups that manage the same data area. In the example shown in FIG. 1, the AT group α2 is managed by ATI # 4, and the AT group β3 is This is an area managed by # 5. The update order of the AT and the ATI is determined in advance so that the next AT and the ATI are not written to the nonvolatile memory 20 in the same block as the current AT and the current ATI. The process of detecting the latest ATI from the ATI group (S01 in FIG. 3) is performed, for example, at the time of initialization, and is not performed every time a data write command is issued from the outside (host) to the memory card. 3 is executed by the control unit 22 shown in FIG. 2, and the control unit 22 includes a CPU (Central Processing Unit).
[0030]
First, updating within an AT group managed by one ATI will be described. An area to which data is written is determined according to a logical address given from the outside (host). For example, when the logical address 0 is designated by the external host, the physical block number of the AT group corresponding to the data area # 0 in the nonvolatile memory 20 is obtained from the current ATI, and the volatile memory (RAM 23 ) (S02 in FIG. 3). In the read current AT group, the current AT (for example, AT # 2) is detected, and the physical block number in one word corresponding to the logical block number is checked (S03). When the current AT is detected, the AT group including the current AT is erased in advance, so that the AT group is normally read according to the predetermined AT writing order (# 0 to # 7) shown in FIG. The issued final written AT is the current AT. When the physical block number is not registered in one word corresponding to the logical block number, that is, when the physical block number is not allocated, the unallocated physical block number of each bank is detected, and the physical block of the corresponding data area # 0 is erased. Then, the data is written to the non-volatile memory 20 by adding the detected physical block number of the bank to the lower page redundant area of the bank 0, and corresponds to the physical block number of each bank to which the data is written in the volatile memory 23. The allocation flag is updated to the allocated state (value 0) (S04). After that, AT # 3 is written in the nonvolatile memory according to the predetermined writing order shown in FIG. 1 (S05, S07).
[0031]
On the other hand, the physical block number in one word corresponding to the logical block number is checked, and if it is already allocated, the allocated physical block number of each bank is obtained from the lower page redundant area of the physical block corresponding to the physical block number. Read out. Further, the non-allocated physical block number of each bank is detected in the volatile memory, the physical block in the corresponding data area # 0 in the nonvolatile memory is erased, and the physical block in the lower page of the physical block in the bank 0 is erased. Data is written with the physical block number of each bank added. In the volatile memory, the physical block number of the bank 0 in which the data is written is written to the physical block number in one word of the logical block number 0, and the allocation flag corresponding to the physical block number of each bank used this time has been allocated. The state is updated to the value (value 0), and the allocation flag corresponding to the physical block number of each bank previously used for the logical block number 0 is set to the non-allocated state (value 1) (S04). After that, AT # 3 is written in the nonvolatile memory according to the predetermined writing order shown in FIG. 1 (S05, S07).
[0032]
Next, a case where the ATI is updated will be described. In FIG. 1, if the current AT is the last AT # 7 of the AT group α2 managed by the ATI # 4, it is determined in S05 that the current AT is the last AT managed by the current ATI, and the next AT is determined in S06. Allocate a free block to write the group. The unallocated physical block number is detected from the allocation flag of each bank from the AT # 7 of the AT group α2, which is the current AT, in the volatile memory 23, and the physical block in the data area # 0 corresponding to the detected physical block number is detected. The area of the AT group β3 is secured by performing the erasing process. The next AT updates the allocation flag corresponding to the physical block number of each bank used to secure the area of the AT group α2 in the volatile memory 23 to unallocated, in addition to the information created in the data write processing S04. Then, the allocation flag corresponding to the physical block number of each bank used for securing the area of the AT group β3 is updated to be allocated. In S08, the next AT to be updated is written to the area of AT # 0 of AT group β3 in data area # 0. Thereafter, in S09, the physical block address of each AT of the AT group β3 is written in the area of ATI # 5.
[0033]
When updating the ATI group 1, it is necessary to secure a physical block for recording the next ATI group in addition to the processing at the time of the ATI update. The non-allocated physical block number is detected from the allocation flag of each bank of AT # 7 in the volatile memory 23, and the detected physical block of each bank detected in the nonvolatile memory 20 is erased, so that the area of the next ATI group is deleted. Secure. In addition to the information of the next AT at the time of updating the ATI, an allocation flag corresponding to the physical block number of each bank used for securing the area of the current ATI group in the volatile memory 23 is not allocated. The allocation flag corresponding to the physical block number of each bank used for securing the area of the next ATI group 1 is updated to be allocated. Thereafter, the next AT and the next ATI are written to the non-volatile memory 20 in the same manner as when the ATI is updated.
[0034]
As described above, by writing the next AT to a block different from the current AT when updating the AT, even if an error occurs during writing of the next AT and the next AT cannot be updated normally, the memory based on the current AT is updated. The data recorded in the nonvolatile memory 20 in the card can be protected. Further, when an error occurs during the update of the AT requiring the ATI update, data recorded in the nonvolatile memory 20 in the memory card can be protected by the current AT based on the current ATI. Further, after the ATI is updated, the old AT group (for example, the AT group α2 after the ATI update) is used as an area in which data can be written, thereby avoiding concentration of the AT group in the same area and improving the reliability of the AT group.
[0035]
In this embodiment, the case where the memory card is constituted by one nonvolatile memory has been described. However, also in the case where the memory card is constituted by a plurality of nonvolatile memories, the allocation flag managed by the AT is set to 8 bits. If the two non-volatile memories are managed by one AT, the same processing as that of the present embodiment can be performed. Further, when the AT and the ATI are updated, if the processing is performed so that the data is alternately written to the two non-volatile memories, the concentration of the writing to the same non-volatile memory for updating the AT and the ATI can be avoided.
[0036]
Further, in the present embodiment, a nonvolatile memory having a four-bank configuration has been described, but a similar ATI updating method can be applied regardless of the bank configuration.
[0037]
Furthermore, in the present embodiment, the description has been given of the case where the address management of the memory card is realized by two layers of ATI and AT. However, the same ATI updating method can be applied even when ATI is further hierarchized. it can. In this case, if the ATI on the top floor is stored in the management area and the rest is stored in each data area, the frequency of access to the most important ATI can be reduced.
[0038]
Further, in the present embodiment, a memory card has been described as an example as shown in FIG. 2, but the present invention is not limited to a memory card. For example, the management information updating method ( A method of updating address management information) may be used. In this case, the host I / F 21 and the control unit 22 may be configured using resources in a device having a similar function.
[0039]
【The invention's effect】
As described above, according to the present invention, even if an area (for example, a block) in the nonvolatile memory where the next AT is written becomes defective (bad block) due to writing the next AT, the AT information before update is stored in the nonvolatile memory. Can be secured in another area (for example, a block) in the non-volatile memory. Therefore, even if the AT cannot be updated normally due to a power failure or the like at the time of updating the AT, the nonvolatile memory in the nonvolatile memory is stored based on the previous AT. It is possible to protect data. Furthermore, even if the ATI cannot be updated normally due to a power failure or the like before the ATI update, the data in the nonvolatile memory can be protected based on the final AT managed by the previous ATI. Further, by invalidating the unnecessary AT group every time the ATI is updated, the AT group can be used as a normal data write area and blocks used in the AT group are not concentrated, so that the reliability of the AT group can be improved. .
[Brief description of the drawings]
FIG. 1 is a conceptual diagram showing an address management method according to an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration and an address map of the memory card according to the embodiment of the present invention;
FIG. 3 is a flowchart for explaining the operation of the address management method according to the embodiment of the present invention;
FIG. 4 is a diagram showing an address map of a conventional memory card.
[Explanation of symbols]
1 ATI group
2 AT group α
3 AT group β
4 ATI group area
5 Data area
6 AT area
7 1 Data entry range
20 Non-volatile memory
21 Host I / F
22 Control part
23 RAM

Claims (10)

不揮発性メモリを有し、前記不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する構成のメモリカードにおいて、データ更新時に発生するアドレス管理テーブルの更新の際に、次アドレス管理テーブルを現在のアドレス管理テーブルとは別の書込み領域に書き込むことを特徴とする半導体メモリカード。A plurality of address management tables that have a non-volatile memory and convert a logical address given to access the non-volatile memory into a physical address; and an address conversion table index information group that manages the plurality of address management tables. In a memory card configured to hold in a non-volatile memory and expand necessary address management information to a volatile memory as appropriate, when updating an address management table generated at the time of data update, the next address management table is compared with the current address management table. Is a semiconductor memory card for writing in another writing area. 現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合に、データ更新が発生すると次アドレス変換テーブルインデックス情報の管理する次アドレス管理テーブルを更新した後、更新する次アドレス変換テーブルインデックス情報を現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とする請求項1記載の半導体メモリカード。When the current address management table is the last address management table of the address management table group managed by the current address conversion table index information group, and when data is updated, the next address management table managed by the next address conversion table index information is updated. 2. The semiconductor memory card according to claim 1, wherein the next address conversion table index information to be updated is written in a write area different from the current address conversion table index information. 前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス管理テーブル更新の際に、現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス管理テーブルを書き込むことを特徴とする請求項1または2記載の半導体メモリカード。When the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories, the address management table is updated separately from the nonvolatile memory in which the current address management table is written when updating the address management table. 3. The semiconductor memory card according to claim 1, wherein a next address management table is written in a write area of said nonvolatile memory. 前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス変換テーブルインデックス情報更新の際に、現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス変換テーブルインデックス情報を書き込むことを特徴とする請求項1または2記載の半導体メモリカード。In the case where the address management table and the address translation table index information manage an address space extending over a plurality of nonvolatile memories, the nonvolatile memory in which the current address translation table index information is written when updating the address translation table index information 3. The semiconductor memory card according to claim 1, wherein the next address conversion table index information is written in a write area of a nonvolatile memory separate from the memory. 次アドレス変換テーブル情報を不揮発性メモリに更新時に、前アドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とする請求項1または2記載の半導体メモリカード。3. The semiconductor memory card according to claim 1, wherein when updating the next address conversion table information to the nonvolatile memory, a block in which an address management table group managed by the previous address conversion table index information is written is invalidated. . 不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する管理情報更新方法において、データ更新時に発生するアドレス管理テーブルの更新の際に、次アドレス管理テーブルを現在のアドレス管理テーブルとは別の書込み領域に書き込むことを特徴とする管理情報更新方法。A plurality of address management tables for converting a logical address given to access the nonvolatile memory to a physical address and an address translation table index information group for managing the plurality of address management tables are held in the nonvolatile memory, and In the management information updating method for appropriately expanding appropriate address management information in a volatile memory, the next address management table is written to a write area different from the current address management table when updating the address management table generated at the time of data update. The management information updating method characterized by the above-mentioned. 現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合に、データ更新が発生すると次アドレス変換テーブルインデックス情報の管理する次アドレス管理テーブルを更新した後、更新する次アドレス変換テーブルインデックス情報を現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とする請求項6記載の管理情報更新方法。When the current address management table is the last address management table of the address management table group managed by the current address conversion table index information group, and when data is updated, the next address management table managed by the next address conversion table index information is updated. 7. The management information updating method according to claim 6, wherein the next address conversion table index information to be updated is written in a write area different from the current address conversion table index information. 前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス管理テーブル更新の際に、現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス管理テーブルを書き込むことを特徴とする請求項6または7記載の管理情報更新方法。When the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories, the address management table is updated separately from the nonvolatile memory in which the current address management table is written when updating the address management table. 8. The management information updating method according to claim 6, wherein the next address management table is written in a write area of the nonvolatile memory. 前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス変換テーブルインデックス情報更新の際に、現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス変換テーブルインデックス情報を書き込むことを特徴とする請求項6または7記載の管理情報更新方法。In the case where the address management table and the address translation table index information manage an address space extending over a plurality of nonvolatile memories, the nonvolatile memory in which the current address translation table index information is written when updating the address translation table index information 8. The management information updating method according to claim 6, wherein the next address conversion table index information is written in a write area of a nonvolatile memory separate from the memory. 次アドレス変換テーブル情報を不揮発性メモリに更新時に、前アドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とする請求項6または7記載の管理情報更新方法。8. The management information update according to claim 6, wherein when updating the next address conversion table information to the nonvolatile memory, the block in which the address management table group managed by the previous address conversion table index information is written is invalidated. Method.
JP2002370314A 2002-12-20 2002-12-20 Semiconductor memory card and management information updating method Expired - Lifetime JP4211385B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002370314A JP4211385B2 (en) 2002-12-20 2002-12-20 Semiconductor memory card and management information updating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002370314A JP4211385B2 (en) 2002-12-20 2002-12-20 Semiconductor memory card and management information updating method

Publications (2)

Publication Number Publication Date
JP2004199605A true JP2004199605A (en) 2004-07-15
JP4211385B2 JP4211385B2 (en) 2009-01-21

Family

ID=32766267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002370314A Expired - Lifetime JP4211385B2 (en) 2002-12-20 2002-12-20 Semiconductor memory card and management information updating method

Country Status (1)

Country Link
JP (1) JP4211385B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006107086A1 (en) * 2005-03-31 2006-10-12 Tokyo Electron Device Limited Storage device, memory managing apparatus, memory managing method, and program
JP2010146150A (en) * 2008-12-17 2010-07-01 Panasonic Corp Semiconductor memory device
US7925821B2 (en) 2007-02-05 2011-04-12 Sony Corporation Nonvolatile semiconductor storage device and method of managing the same
TWI409630B (en) * 2007-09-12 2013-09-21 Sony Corp Memory apparatus, memory control method, and non-transitory computer readable medium
JP2015534178A (en) * 2012-09-14 2015-11-26 マイクロン テクノロジー, インク. Address mapping
US9378131B2 (en) 2012-01-26 2016-06-28 Hitachi, Ltd. Non-volatile storage addressing using multiple tables

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006107086A1 (en) * 2005-03-31 2006-10-12 Tokyo Electron Device Limited Storage device, memory managing apparatus, memory managing method, and program
KR100849446B1 (en) * 2005-03-31 2008-07-31 동경 엘렉트론 디바이스 주식회사 Storage device, memory managing apparatus, memory managing method, and computer-readable recording medium
US7925821B2 (en) 2007-02-05 2011-04-12 Sony Corporation Nonvolatile semiconductor storage device and method of managing the same
TWI409630B (en) * 2007-09-12 2013-09-21 Sony Corp Memory apparatus, memory control method, and non-transitory computer readable medium
JP2010146150A (en) * 2008-12-17 2010-07-01 Panasonic Corp Semiconductor memory device
US9378131B2 (en) 2012-01-26 2016-06-28 Hitachi, Ltd. Non-volatile storage addressing using multiple tables
JP2015534178A (en) * 2012-09-14 2015-11-26 マイクロン テクノロジー, インク. Address mapping
US10282286B2 (en) 2012-09-14 2019-05-07 Micron Technology, Inc. Address mapping using a data unit type that is variable

Also Published As

Publication number Publication date
JP4211385B2 (en) 2009-01-21

Similar Documents

Publication Publication Date Title
US8180955B2 (en) Computing systems and methods for managing flash memory device
US7814265B2 (en) Single sector write operation in flash memory
US7634624B2 (en) Memory system for data storage and retrieval
US8904092B2 (en) Identifying a location containing invalid data in a storage media
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
KR100572328B1 (en) Flash memory system including bad block management unit
US7752412B2 (en) Methods of managing file allocation table information
US20050144368A1 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
US20080082773A1 (en) Systems for Managing File Allocation Table Information
JPWO2005083573A1 (en) Semiconductor memory device
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
KR20070046864A (en) Virtual-to-physical address translation in a flash file system
US10929303B2 (en) Data storage device utilizing virtual blocks to improve performance and data storage method thereof
KR100882740B1 (en) Method and storage device of mapping a nonvolatile memory based on map history
JP4211385B2 (en) Semiconductor memory card and management information updating method
US11218164B2 (en) Data storage device and non-volatile memory control method
JP2007534048A (en) Method of writing a memory sector in a block erasable memory
JP4558054B2 (en) Memory system
JP2005092678A (en) Semiconductor memory card and method for deleting data in nonvolatile memory
JP2006190036A (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
US20230089246A1 (en) Memory system
KR100892608B1 (en) Error block management method for flash memory
KR100688463B1 (en) Method for writing and erasing data of physical memory
KR20080038613A (en) The method of managing flash memory
JP2005250831A (en) Semiconductor memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051213

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081007

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081020

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4211385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131107

Year of fee payment: 5

EXPY Cancellation because of completion of term