JP4211385B2 - Semiconductor memory card and management information updating method - Google Patents
Semiconductor memory card and management information updating method Download PDFInfo
- 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
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,
[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
[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
[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
[0013]
The invention according to
[0014]
The invention according to
[0015]
The invention according to
[0016]
In addition to the invention according to
[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
[0020]
The invention according to
[0021]
In addition to the invention according to
[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.
[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
[0026]
The
[0027]
The
[0028]
The
[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
[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
[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
[0032]
Next, a case where an ATI update occurs will be described. In FIG. 1, if the current AT is the
[0033]
When the
[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
[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 /
[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.
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、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.
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、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.
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス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.
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス情報への更新の際に、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.
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、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.
前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合には、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.
データ更新時に発生する現アドレス管理テーブルから次アドレス管理テーブルへの更新および現アドレス変換テーブルインデックス情報から次アドレス変換テーブルインデックス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.
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)
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 |
-
2002
- 2002-12-20 JP JP2002370314A patent/JP4211385B2/en not_active Expired - Lifetime
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 |