JP4211385B2 - Semiconductor memory card and management information updating method - Google Patents

Semiconductor memory card and management information updating method Download PDF

Info

Publication number
JP4211385B2
JP4211385B2 JP2002370314A JP2002370314A JP4211385B2 JP 4211385 B2 JP4211385 B2 JP 4211385B2 JP 2002370314 A JP2002370314 A JP 2002370314A JP 2002370314 A JP2002370314 A JP 2002370314A JP 4211385 B2 JP4211385 B2 JP 4211385B2
Authority
JP
Japan
Prior art keywords
address
address management
index information
conversion table
management table
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 - Lifetime
Application number
JP2002370314A
Other languages
Japanese (ja)
Other versions
JP2004199605A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
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

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

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]
BACKGROUND OF THE INVENTION
The present invention relates to a semiconductor memory card for storing address management information for a rewritable nonvolatile memory in the nonvolatile memory, and reading and using a necessary part of the address management information in the volatile memory, and the management Information update method.
[0002]
[Prior art]
In a memory card having a rewritable nonvolatile memory, data is written and 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 that stores address management information in a non-volatile memory and reads and uses only a necessary portion of the address management information in a volatile memory is disclosed 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. Nonvolatile memory is generally equivalent to what is called flash memory, and its basic characteristics (such as inability to overwrite or limited number of writes) follow that of typical flash memory. 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 / written from / to an external device (host), for example, four areas (data area # 0 to data 1024 for each 1024 blocks). Divided into region # 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 in order to manage # 0 to # 3 of the data area 102, respectively. The number of entries managed by the LTPb 104 # 0 to LTPb 104 # 3 is equal to the number of blocks. In each data area 102, a logical address (0 to 1023 [block × block size]) is basically assigned to a physical address (0 to 1023). [Block × block size]), each logical block number (corresponding to each word) corresponding to each logical address has a physical block number (corresponding to a physical address) and an allocation flag. The allocation flag is a flag for identifying whether or not data valid for the stored physical block number (physical address) has already been allocated (allocated). The LTPa 103 has a physical block number (corresponding to a physical address) in which LTPb 104 # 0 to LTPb 104 # 3 are stored and an allocation flag. The LTPa 103 and LTPb 104 # 0 to LTPb 104 # 3 exist in an arbitrary block which is an erasure unit. For example, if the inside of the block is from page 1 to page N, one address conversion table using page 1 (for example, 2K bytes). Configure. For example, LTPa 103 is associated with page 1 of the first block of management area 101, LTPb 104 # 0 is associated with page 1 of the next block, 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 designated from 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 LTPa 103. The allocation flag in one word corresponding to the logical block number in the read LTPb 104 # 0 is checked, and if not allocated, the physical block in the data area 102 # 0 corresponding to the physical block number in this one word After erasing (erasing) the data, data is written, the allocation flag in this one word is updated to the allocated state (value 0) in the volatile memory, and then LTPb104 # 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 of the logical block numbers 0 to 1023 are checked, and the physical block numbers that have not been allocated. (For example, 10) is searched for, and data is written to the physical block of the data area 102 # 0 corresponding to the physical block number 10 after the erase process. Also, in the volatile memory, the physical block number 10 is written in the physical block number portion of one word of the logical block number 0, and the physical block in one word of 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 logical block number 0, and the allocation flag is set to an unallocated state (value 1). Then, LTPb104 # 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 a memory card equipped with a nonvolatile memory having the above-described conventional configuration, since management of data is performed by providing a management area in the nonvolatile memory, it is required to ensure the reliability of management information. . Therefore, when updating the management information to the non-volatile memory, if a power failure 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]
The present invention solves the above-mentioned conventional problems, and provides a semiconductor memory card and a management information update method that can improve the reliability of management information, in particular, to ensure the reliability of management information. Objective.
[0010]
[Means for Solving the Problems]
In order to achieve this object, a semiconductor memory card and a management information update method according to the present invention have a plurality of address management tables (hereinafter referred to as AT) for converting a logical address given to access a nonvolatile memory into a physical address. ) And address conversion table index information (hereinafter referred to as ATI) group for managing a plurality of ATs (hereinafter referred to as AT groups) are held in a nonvolatile memory, and necessary address management information is appropriately expanded in a volatile memory. This is characterized in that the next AT is written in a write area different from the current AT when the AT is updated when data is updated.
[0011]
As a result, even if an area (for example, a block) in which the next AT is written in the nonvolatile memory becomes defective (bad block) due to the writing of the next AT, the AT information before the update is stored in another area (in the nonvolatile memory). For example, the data in the non-volatile memory can be protected based on the previous AT even if the AT could not be updated normally due to a power shutdown or the like when updating the AT. It is.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
The invention according to claim 1 of the present invention includes a plurality of address management tables which have a nonvolatile memory and convert a logical address given to access the nonvolatile memory into a physical address and the plurality of address management. In a memory card configured to hold an address conversion table index information group for managing a table in the non-volatile memory and appropriately develop necessary address management information in a volatile memory, when updating the address management table generated at the time of data update The semiconductor memory card is characterized in that the next address management table is written in a writing area different from the current address management table. Even if the previous address management table cannot be updated, An effect that it is possible to protect data in the non-volatile memory based on the Le.
[0013]
The invention according to claim 2 of the present invention is the case where the current address management table is the final address management table of the address management table group managed by the current address conversion table index information group in addition to the invention according to claim 1. When the data update occurs, the next address conversion table index information managed by the next address conversion table index information is updated, and then the next address conversion table index information to be updated is written in a writing area different from the current address conversion table index information. As a result, even if the address translation table index information cannot be updated normally due to a power shutdown or the like before the address translation table index information is updated, the final address managed by the previous address translation table index information Management table Based has an effect that it is possible to protect the data in the nonvolatile memory.
[0014]
The invention according to claim 3 of the present invention, in addition to the invention according to claim 1 or 2, manages an address space in which the address management table and the address conversion table index information span a plurality of nonvolatile memories. In this case, when the address management table is updated, the next address management table is written in a writing area of a nonvolatile memory different from the nonvolatile memory in which the current address management table is written. Thus, there is an action of distributing writing to the same nonvolatile memory for updating the address management table.
[0015]
The invention according to claim 4 of the present invention, in addition to the invention according to claim 1 or 2, manages an address space in which the address management table and the address conversion table index information span a plurality of nonvolatile memories. In the case of updating the address translation table index information, the next address translation table index information is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address translation table index information is written. This has the effect of distributing writing to the same non-volatile memory for updating the address translation table index.
[0016]
In addition to the invention according to claim 1 or 2, the invention according to claim 5 of the present invention is an address management that is managed by the previous address conversion table index information when the next address conversion table information is updated to the nonvolatile memory. It is characterized by invalidating the block in which the table group is written. This makes it unnecessary to use the address management table that is no longer necessary as a normal data write area, and to use the block used for the address management table group. Has the effect of not concentrating.
[0017]
According to a sixth aspect of the present invention, there are provided a plurality of address management tables for converting a logical address given to access a nonvolatile memory into a physical address and an address conversion for managing the plurality of address management tables. In the management information update method in which the table index information group is held in the nonvolatile memory and necessary address management information is appropriately expanded in the 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 to a write area different from the current address management table. This makes it possible to update the address management table normally when the address management table is updated due to a power shutdown or the like. The data in the non-volatile memory is also 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 final address management table of an address management table group managed by the current address conversion table index information group. When the data update occurs, the next address conversion table index information managed by the next address conversion table index information is updated, and then the next address conversion table index information to be updated is written in a writing area different from the current address conversion table index information. As a result, even if the address translation table index information cannot be updated normally due to a power shutdown or the like before the address translation table index information is updated, the final address managed by the previous address translation table index information Management table Based has an effect that it is possible to protect the data in the nonvolatile memory.
[0019]
The invention according to claim 8 of the present invention, in addition to the invention according to claim 6 or 7, manages an address space in which the address management table and the address conversion table index information span a plurality of nonvolatile memories. In this case, when the address management table is updated, the next address management table is written in a writing area of a nonvolatile memory different from the nonvolatile memory in which the current address management table is written. Thus, there is an action of distributing writing to the same nonvolatile memory for updating the address management table.
[0020]
The invention according to claim 9 of the present invention, in addition to the invention according to claim 6 or 7, manages an address space in which the address management table and the address conversion table index information span a plurality of nonvolatile memories. In the case of updating the address translation table index information, the next address translation table index information is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address translation table index information is written. This has the effect of distributing writing to the same non-volatile memory for updating the address translation table index.
[0021]
In addition to the invention according to claim 6 or 7, the invention according to claim 10 of the present invention is an address management that is managed by the previous address conversion table index information when the next address conversion table information is updated to the nonvolatile memory. It is characterized by invalidating the block in which the table group is written. This makes it unnecessary to use the address management table that is no longer necessary as a normal data write area, and to use the block used for the address management table group. Has the effect of not concentrating.
[0022]
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 to 3.
[0023]
(Embodiment 1)
FIG. 1 is a conceptual diagram showing a configuration of an address management table (AT) and address translation table index information (ATI) in the semiconductor memory card and the management information update method according to the first embodiment of the present invention. It is a conceptual diagram which shows the structure of the semiconductor memory card by embodiment, and the address map of the non-volatile memory in a semiconductor memory card. FIG. 3 is a flowchart showing the management information update method according to this embodiment.
[0024]
In FIG. 1, 1 is an ATI group. Reference numerals 2 and 3 denote AT groups. For convenience, they are referred to as AT group α2 and AT group β3, which are present in addition to those shown in the figure. Reference numeral 10 denotes a block (physical block). The ATI group 1, the AT group α2, the AT group β3,... According to this embodiment are each composed of four blocks 10, each of which has a 4-bank (Bank 0 to Bank 3) configuration. I have to.
[0025]
In FIG. 2, 20 is a non-volatile memory such as a flash memory, 21 is 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, 22 is a control unit that controls the operation of the nonvolatile memory 20 and the semiconductor memory card by a command from the host device, and 23 is a RAM (Random Access Memory) as a volatile memory that temporarily stores data, address management information, and the like. is there. Reference numeral 4 denotes an ATI group area for storing ATI groups, 5 denotes a data area for storing data, and 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 4-bank configuration (Bank 0 to Bank 3), and each block is limited to a memory in which a page with a data capacity of 2 KB is configured with 2 pages.
[0027]
The ATI group area 4 is an area for storing an ATI group for managing the AT groups in the data area 5 (# 0 to # 3). ATI has a physical block number of each AT group (e.g., corresponding to the physical address of bank 0). If 64 AT groups are managed in each data area with one ATI, 1 word (physical block number) × 4 (number of data areas) × 64 (AT group) = 512B, and as shown in FIG. Eight ATI can be recorded. The head ATI is stored in, for example, 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, thereby forming 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 / from the outside (host) and 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. The The data entry 7 managed by the AT is managed with one block / bank and a total of four blocks as one entry. In the redundant area of the lower page of the first 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 x block size x number of banks]) into a physical address (0 to 1023 [block x block size x number of banks]) Each logical block number corresponding to a logical address (every word) has a physical block number (for example, 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 1 word (physical block number) × 1024 (block) = 2048 B, and one AT is stored in one page. The allocation flag is a flag for identifying whether valid data has already been allocated to the physical block number (physical address) of each bank, and is stored in the order of physical block numbers.
[0029]
Next, the write operation according to the present embodiment will be described with reference to FIGS. Note that AT group α2 and AT group β3 in FIG. 1 are AT groups that manage the same data area. In the example shown in FIG. 1, AT group α2 is managed by ATI # 4, and AT group β3 is ATI. This area is managed by # 5. In addition, the update order of AT and ATI is determined in advance so that the next AT and ATI are not written in the same block as the current AT and the current ATI. Further, the process of detecting the latest ATI from the ATI group (S01 in FIG. 3) is performed at the time of initialization, for example, and is not performed for each data write command 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. In accordance with a logical address given from the outside (host), a data write destination area is determined. For example, when the logical address 0 is designated from 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) is obtained from the nonvolatile memory 20. (S02 in FIG. 3). Within 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 detecting the current AT, since the AT group including the current AT is erased in advance, the AT group is read normally according to the predetermined AT writing order (# 0 to # 7) shown in FIG. The issued last written AT is set as the current AT. If the physical block number is not registered in one word corresponding to the logical block number, that is, if it 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 physical block number of each bank is added to the lower page redundant area of bank 0 and the data is written to the nonvolatile memory 20, and the data corresponds to the physical block number of each bank into which data is written in the volatile memory 23. The allocation flag is updated to the allocated state (value 0) (S04). Thereafter, AT # 3 is written in the nonvolatile memory in accordance with a predetermined writing order shown in FIG. 1 (S05, S07).
[0031]
On the other hand, if the physical block number in one word corresponding to the logical block number is checked and already allocated, the allocated physical block number of each bank from the lower page redundant area of the physical block corresponding to the physical block number. Is read. Furthermore, the physical block number of each bank that has not been allocated is detected in the volatile memory, the physical block of the corresponding data area # 0 in the nonvolatile memory is erased, and the redundant area of the lower page of the physical block in bank 0 is erased. Data is written by adding the physical block number of each bank. Also, in the volatile memory, the physical block number of bank 0 where data was written is written to the physical block number in one word of logical block number 0, and the allocation flag corresponding to the physical block number of each bank used this time has already been allocated The state is updated to the value (value 0), and the allocation flag corresponding to the physical block number of each bank used in the previous logical block number 0 is set to an unallocated state (value 1) (S04). Thereafter, AT # 3 is written in the nonvolatile memory in accordance with a predetermined writing order shown in FIG. 1 (S05, S07).
[0032]
Next, a case where an ATI update occurs will be described. In FIG. 1, if the current AT is the final AT # 7 of the AT group α2 managed by ATI # 4, it is determined in S05 that the current AT is the final AT managed by the current ATI, and the next AT is determined in S06. Reserve a free block to write a group. The unallocated physical block number is detected from the allocation flag of each bank from AT # 7 of 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 erasing. 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 in addition to the information created in the data write process S04. Further, 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 allocate. In S08, the next AT to be updated is written in the AT # 0 area of the AT group β3 in the data area # 0. After that, in S09, the physical block address of each AT of the AT group β3 is written in the area of ATI # 5.
[0033]
When the ATI group 1 is updated, it is necessary to secure a physical block for recording the next ATI group in addition to the process for updating the ATI. The unallocated physical block number is detected from the allocation flag of each bank of AT # 7 in the volatile memory 23, and the target physical block of each bank detected in the nonvolatile memory 20 is erased to thereby determine the area of the next ATI group. Secure. In addition to the next AT information at the time of updating the ATI, the allocation flag corresponding to the physical block number of each bank used to secure the area of the current ATI group in the volatile memory 23 is unallocated, and 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 allocate. Thereafter, the next AT and the next ATI are written in the nonvolatile memory 20 in the same manner as the ATI update.
[0034]
As described above, when an AT is updated, even if an error occurs during writing of the next AT and the next AT cannot be updated normally by writing the next AT to a block different from the current AT, the memory based on the current AT is stored. Data recorded in the nonvolatile memory 20 in the card can be protected. Further, when an error occurs when updating an AT that requires ATI update, the data recorded in the nonvolatile memory 20 in the memory card can be protected by the current AT based on the current ATI. Furthermore, after the ATI update, the old AT group (for example, the AT group α2 after the ATI update) is used as an area where data can be written, so that the AT group can be prevented from being concentrated in the same area and the reliability of the AT group can be improved.
[0035]
In this embodiment, the case where the memory card is configured by one nonvolatile memory has been described. However, the allocation flag managed by the AT is set to 8 bits even when the memory card is configured by a plurality of nonvolatile memories. If two nonvolatile memories are configured to be managed by one AT, the same processing as in this embodiment is possible. Further, when the AT and ATI are updated, if the processing is performed so that the two nonvolatile memories are alternately written, it is possible to avoid the concentration of writing to the same nonvolatile memory for the AT and ATI update.
[0036]
In the present embodiment, a four-bank nonvolatile memory has been described. However, the same ATI update method can be applied regardless of the bank configuration.
[0037]
Further, in this embodiment, the address management of the memory card has been described as being realized in two layers of ATI and AT. However, when the ATI is further hierarchized, the same ATI update method can be applied. it can. In this case, the frequency of access to the most important ATI can be reduced by storing the ATI on the top floor in the management area and storing data in the other data areas.
[0038]
In the present embodiment, the memory card has been described as an example as shown in FIG. 2, but the present invention is not limited to the 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 the same function.
[0039]
【The invention's effect】
As described above, according to the present invention, even when an area (for example, a block) in which the next AT is written in the nonvolatile memory becomes defective (bad block) by writing the next AT, the AT information before update is stored in the nonvolatile memory. Since it can be reserved in another area (for example, block) in the volatile memory, even if the AT could not be updated normally due to a power interruption or the like during the AT update, It is possible to protect the data. Furthermore, even if the ATI cannot be updated normally due to power interruption 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. Furthermore, by disabling the AT group that is no longer required every time the ATI is updated, the reliability of the AT group can be improved because the blocks used for the AT group are not concentrated in the normal data write area. .
[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 a memory card according to an 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 Nonvolatile memory
21 Host I / F
22 Control unit
23 RAM

Claims (8)

不揮発性メモリを有し、前記不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する構成のメモリカードにおいて、
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス情報への更新の際に、
前記現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合には、
前記次アドレス管理テーブルを前記現アドレス管理テーブルとは別の書込み領域に書き込むと共に、
前記次アドレス変換テーブルインデックス情報を前記現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とする半導体メモリカード。
A plurality of address management tables that convert a logical address given to access the nonvolatile 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 appropriately develop necessary address management information in a volatile memory,
When updating from the current address management table to the next address management table and updating from the current address conversion table index information to the next address conversion table index information, which occurs when data is updated,
When the current address management table is the final address management table of the address management table group managed by the current address conversion table index information group,
Writing the next address management table in a write area different from the current address management table;
A semiconductor memory card, wherein the next address conversion table index information is written in a write area different from the current address conversion table index information.
不揮発性メモリを有し、前記不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する構成のメモリカードにおいて、A plurality of address management tables that convert a logical address given to access the nonvolatile 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 appropriately develop necessary address management information in a volatile memory,
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、In the case where the address management table and the address conversion table index information manage an address space across a plurality of nonvolatile memories,
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス情報への更新の際に、When updating from the current address management table to the next address management table and updating from the current address conversion table index information to the next address conversion table index information, which occurs when data is updated,
前記次アドレス管理テーブルを前記現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に書き込むことを特徴とする半導体メモリカード。A semiconductor memory card, wherein the next address management table is written in a write area of a non-volatile memory different from the non-volatile memory in which the current address management table is written.
不揮発性メモリを有し、前記不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する構成のメモリカードにおいて、A plurality of address management tables that convert a logical address given to access the nonvolatile 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 appropriately develop necessary address management information in a volatile memory,
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、In the case where the address management table and the address conversion table index information manage an address space across a plurality of nonvolatile memories,
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス情報への更新の際に、When updating from the current address management table to the next address management table and updating from the current address conversion table index information to the next address conversion table index information, which occurs when data is updated,
前記次アドレス管理テーブルを前記現アドレス管理テーブルとは別の書込み領域に書き込むと共に、Writing the next address management table in a write area different from the current address management table;
前記次アドレス変換テーブルインデックス情報を前記現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に書き込むことを特徴とする半導体メモリカード。A semiconductor memory card, wherein the next address conversion table index information is written in a write area of a non-volatile memory different from the non-volatile memory in which the current address conversion table index information is written.
不揮発性メモリを有し、前記不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する構成のメモリカードにおいて、A plurality of address management tables that convert a logical address given to access the nonvolatile 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 appropriately develop necessary address management information in a volatile memory,
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックスUpdate from the current address management table to the next address management table that occurs when data is updated, and the next address conversion table index from the current address conversion table index information 情報への更新の際に、When updating to information,
前記次アドレス管理テーブルを前記現アドレス管理テーブルとは別の書込み領域に書き込むと共に、Writing the next address management table in a write area different from the current address management table;
過去のアドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とする半導体メモリカード。A semiconductor memory card, wherein a block in which an address management table group managed by past address conversion table index information is written is invalidated.
不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する管理情報更新方法において、A plurality of address management tables for converting a given logical address to a physical address for accessing the nonvolatile memory and an address conversion table index information group for managing the plurality of address management tables are held in the nonvolatile memory. In a management information update method for developing appropriate address management information in volatile memory as appropriate,
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス情報への更新の際に、When updating from the current address management table to the next address management table and updating from the current address conversion table index information to the next address conversion table index information, which occurs when data is updated,
前記現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合には、When the current address management table is the final address management table of the address management table group managed by the current address conversion table index information group,
前記次アドレス管理テーブルを前記現アドレス管理テーブルとは別の書込み領域に書き込むと共に、Writing the next address management table in a write area different from the current address management table;
前記次アドレス変換テーブルインデックス情報を前記現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とする管理情報更新方法。A management information update method, wherein the next address translation table index information is written in a write area different from the current address translation table index information.
不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する管理情報更新方法において、A plurality of address management tables for converting a given logical address to a physical address for accessing the nonvolatile memory and an address conversion table index information group for managing the plurality of address management tables are held in the nonvolatile memory. In a management information update method for developing appropriate address management information in volatile memory as appropriate,
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、In the case where the address management table and the address conversion table index information manage an address space across a plurality of nonvolatile memories,
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス情報への更新の際に、When updating from the current address management table to the next address management table and updating from the current address conversion table index information to the next address conversion table index information, which occurs when data is updated,
前記次アドレス管理テーブルを前記現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に書き込むことを特徴とする管理情報更新方法。A management information update method, wherein the next address management table is written in a write area of a non-volatile memory different from the non-volatile memory in which the current address management table is written.
不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する管理情報更新方法において、A plurality of address management tables for converting a given logical address to a physical address for accessing the nonvolatile memory and an address conversion table index information group for managing the plurality of address management tables are held in the nonvolatile memory. In a management information update method for developing appropriate address management information in volatile memory as appropriate,
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、In the case where the address management table and the address conversion table index information manage an address space across a plurality of nonvolatile memories,
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス情報への更新の際に、When updating from the current address management table to the next address management table and updating from the current address conversion table index information to the next address conversion table index information, which occurs when data is updated,
前記次アドレス管理テーブルを前記現アドレス管理テーブルとは別の書込み領域に書き込むと共に、Writing the next address management table in a write area different from the current address management table;
前記次アドレス変換テーブルインデックス情報を前記現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に書き込むことを特徴とする管理情報更新方法。A management information update method, wherein the next address conversion table index information is written in a write area of a non-volatile memory different from the non-volatile memory in which the current address conversion table index information is written.
不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する管理情報更新方法において、A plurality of address management tables for converting a given logical address to a physical address for accessing the nonvolatile memory and an address conversion table index information group for managing the plurality of address management tables are held in the nonvolatile memory. In a management information update method for developing appropriate address management information in volatile memory as appropriate,
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックスUpdate from the current address management table to the next address management table that occurs when data is updated, and the next address conversion table index from the current address conversion table index information 情報への更新の際に、When updating to information,
前記次アドレス管理テーブルを前記現アドレス管理テーブルとは別の書込み領域に書き込むと共に、Writing the next address management table in a write area different from the current address management table;
過去のアドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とする管理情報更新方法。A management information updating method, wherein a block in which an address management table group managed by past address conversion table index information is written is invalidated.
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 JP2004199605A (en) 2004-07-15
JP4211385B2 true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285600A (en) * 2005-03-31 2006-10-19 Tokyo Electron Device Ltd Storage, memory management device, memory management method, and program
JP4301301B2 (en) 2007-02-05 2009-07-22 ソニー株式会社 Nonvolatile semiconductor memory device and management method thereof
JP4356782B2 (en) * 2007-09-12 2009-11-04 ソニー株式会社 MEMORY DEVICE, MEMORY CONTROL METHOD, AND PROGRAM
JP5264459B2 (en) * 2008-12-17 2013-08-14 パナソニック株式会社 Semiconductor memory device
JP5907739B2 (en) 2012-01-26 2016-04-26 株式会社日立製作所 Nonvolatile memory device
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
JP2004199605A (en) 2004-07-15

Similar Documents

Publication Publication Date Title
US7634624B2 (en) Memory system for data storage and retrieval
US8180955B2 (en) Computing systems and methods for managing flash memory device
US8028120B2 (en) System with flash memory device and data recovery method thereof
USRE45222E1 (en) Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table
KR100572328B1 (en) Flash memory system including bad block management unit
US7295479B2 (en) Apparatus and method for managing bad blocks in a flash memory
US7711892B2 (en) Flash memory allocation for improved performance and endurance
JP3692313B2 (en) Nonvolatile memory control method
KR0128218B1 (en) Nonvolatile memory with flash erase capability
US7702844B2 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
US6839798B1 (en) Flash memory capable of storing frequently rewritten data
JP2007018499A (en) Memory
KR20010110073A (en) Semiconductor memory device having block alignment function
JPWO2005083573A1 (en) Semiconductor memory device
US20200394099A1 (en) Data storage device and non-volatile memory control method
JP4211385B2 (en) Semiconductor memory card and management information updating method
US11218164B2 (en) Data storage device and non-volatile memory control method
JP2005092678A (en) Semiconductor memory card and method for deleting data in nonvolatile memory
JP2012194993A (en) Storage device
JP4235595B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
US20230089246A1 (en) Memory system
JP4332108B2 (en) Memory controller, flash memory system, and flash memory control method
KR20080038613A (en) The method of managing flash memory
JP2006190036A (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method

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