JP2004199605A - Semiconductor memory card and updating method of management information - Google Patents
Semiconductor memory card and updating method of management information Download PDFInfo
- Publication number
- JP2004199605A JP2004199605A JP2002370314A JP2002370314A JP2004199605A JP 2004199605 A JP2004199605 A JP 2004199605A JP 2002370314 A JP2002370314 A JP 2002370314A JP 2002370314 A JP2002370314 A JP 2002370314A JP 2004199605 A JP2004199605 A JP 2004199605A
- Authority
- JP
- Japan
- Prior art keywords
- address
- address management
- index information
- management table
- written
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、書き換え可能な不揮発性メモリに対してのアドレス管理情報を不揮発性メモリ内に記憶し、そのアドレス管理情報のうちの必要な部分を揮発性メモリに読み出して使用する半導体メモリカードおよび管理情報更新方法に関する。
【0002】
【従来の技術】
書き換え可能な不揮発性メモリを有するメモリカードは、不揮発性メモリにアクセスするために与えられる論理アドレスを物理アドレスに変換することで、データの書き込みや読み出しが行われる。そして、このアドレス変換のためのアドレス管理情報を有している。
【0003】
上述したような、アドレス管理情報を不揮発性メモリに記憶して、そのアドレス管理情報のうちの必要部分のみを揮発性メモリに読み出して使用するメモリカードは、例えば、特許文献1に記載されたものが知られている。
【0004】
図4に従来のメモリカード内の不揮発性メモリにおけるアドレスマップを示す。なお、不揮発性メモリは一般的にフラッシュメモリと呼ばれているメモリに相当し、その基本特性(オーバーライトが出来ない、あるいは書き込み回数に制限がある等)については典型的なフラッシュメモリに従うものとし、これらの特性についての説明は省略する。
【0005】
不揮発性メモリは、管理領域101とデータ領域102とからなる。データ領域102は、外部機器(ホスト)から読み書きされるデータ(音楽データや画像データなどのいわゆるコンテンツ情報)を格納する領域であり、例えば、1024ブロック毎に4つの領域(データ領域#0〜データ領域#3)に分割される。管理領域101は、データの論理アドレスに対応する物理アドレスを決めるアドレス変換テーブル等の管理情報を格納する領域であり、アドレス変換テーブル(以下、LTPbという)104とアドレス変換テーブルのインデックス(以下、LTPaという)103からなる。LTPb104は、上記データ領域102の#0〜#3をそれぞれ管理するためLTPb104の#0〜#3からなる。LTPb104#0〜LTPb104#3が管理するエントリ数はブロック数に一致し、それぞれのデータ領域102において、基本的には論理アドレス(0〜1023[ブロック×ブロックサイズ])を物理アドレス(0〜1023[ブロック×ブロックサイズ])に変換するために、各論理アドレスに相当する論理ブロック番号毎(1ワード毎)に物理ブロック番号(物理アドレスに相当)とアロケーションフラグを持つ。アロケーションフラグとは、記憶された物理ブロック番号(物理アドレス)に有効なデータが既にアロケート(割り当て)されているか否かを識別するフラグである。LTPa103は、LTPb104#0〜LTPb104#3が記憶されている物理ブロック番号(物理アドレスに相当)とアロケーションフラグを持つ。LTPa103及びLTPb104#0〜LTPb104#3は、消去単位である任意ブロックの中に存在し、例えばブロック内がページ1からページNとするとページ1(例えば2Kバイト)を使用して1つのアドレス変換テーブルを構成する。例えば管理領域101の先頭ブロックのページ1にLTPa103を、その次のブロックのページ1にLTPb104#0を対応させ、各ブロックのページ1以外のページは不使用で構わない。
【0006】
以上のように構成されたメモリカードについて、以下、書き込み動作を述べる。外部機器(ホスト)から与えられる論理アドレスに従い、データの書き込み先の領域を決定する。例えば、外部ホストから論理アドレス0が指定されると、不揮発性メモリの中のデータ領域102#0に対応するLTPb104#0をLTPa103に基づき不揮発性メモリから揮発性メモリに読み出す。読み出されたLTPb104#0内の論理ブロック番号に対応する1ワード中のアロケーションフラグをチェックし、未アロケートの場合は、この1ワード中の物理ブロック番号に対応するデータ領域102#0の物理ブロックをイレーズ(消去)処理後にデータを書き込み、揮発性メモリ内でこの1ワード中のアロケーションフラグをアロケート済み状態(値0)に更新した後に不揮発性メモリにLTPb104#0を書き戻す。一方、論理ブロック番号に対応する1ワード中のアロケーションフラグをチェックし、既にアロケート済みの場合は、論理ブロック番号0から1023までの全領域に対応する物理ブロック番号を調べ、アロケート済みでない物理ブロック番号(例えば、10)を探しだし、物理ブロック番号10に対応するデータ領域102#0の物理ブロックをイレーズ処理後にデータを書き込む。また、揮発性メモリ内で、論理ブロック番号0の1ワード中物理ブロック番号の部分に物理ブロック番号10を書き込み、更に、以前物理ブロック番号10が記録されていた論理ブロック番号の1ワード中物理ブロック番号の部分を、以前論理ブロック番号0の物理ブロック番号の部分に記憶されていた物理ブロック番号値に変更すると共にアロケーションフラグを未アロケート状態(値1)にする。そして不揮発性メモリにLTPb104#1を書き戻す。
【0007】
【特許文献1】
特開2001−142774号公報(段落0010〜0012、図1)
【0008】
【発明が解決しようとする課題】
しかしながら上記の従来の構成による不揮発性メモリを搭載したメモリカードにおいては、データの管理を不揮発性メモリ内に管理領域を設け集中管理するため、管理情報の信頼性を確保することが要求されている。そのため、不揮発性メモリへの管理情報の更新時において、書き込みエラーが発生した場合に電源遮断等が発生すると、管理情報が正常に更新されず、管理情報の信頼性が損なわれる可能性があった。
【0009】
本発明は上記従来の問題点を解決するもので、管理情報の信頼性確保のために、特に、管理情報更新時の信頼性向上を可能とする半導体メモリカードおよび管理情報更新方法を提供すること目的とする。
【0010】
【課題を解決するための手段】
この目的を達成するために本発明の半導体メモリカードおよび管理情報更新方法は、不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブル(以下、ATとする)と、複数のAT(以下、AT群とする)を管理するアドレス変換テーブルインデックス情報(以下、ATIとする)群を不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発性メモリに展開するものであり、データ更新時に発生するATの更新の際に次ATを現在のATとは別の書込み領域に書き込むことを特徴とする。
【0011】
これにより、不揮発性メモリ内の次ATを書き込む領域(例えば、ブロック)が次ATの書き込みにより不良(バッドブロック)となった場合にも、更新前のAT情報を不揮発性メモリ内の別領域(例えば、ブロック)に確保しておくことが出来るため、AT更新時に電源遮断等により正常にATの更新が出来なかった場合にも、前ATに基づき不揮発性メモリ内のデータを保護することが可能である。
【0012】
【発明の実施の形態】
本発明の請求項1に記載の発明は、不揮発性メモリを有し、前記不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する構成のメモリカードにおいて、データ更新時に発生するアドレス管理テーブルの更新の際に、次アドレス管理テーブルを現在のアドレス管理テーブルとは別の書込み領域に書き込むことを特徴とする半導体メモリカードとしたものであり、これにより、アドレス管理テーブル更新時に電源遮断等により正常にアドレス管理テーブルの更新ができなかった場合にも、前アドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0013】
また、本発明の請求項2に記載の発明は、上記請求項1に係る発明に加え、現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合に、データ更新が発生すると次アドレス変換テーブルインデックス情報の管理する次アドレス管理テーブルを更新した後、更新する次アドレス変換テーブルインデックス情報を現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス情報更新前に電源遮断等により正常にアドレス変換テーブルインデックス情報の更新ができなかった場合でも、前アドレス変換テーブルインデックス情報の管理する最終のアドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0014】
また、本発明の請求項3に記載の発明は、上記請求項1または2に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス管理テーブル更新の際に、現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス管理テーブルを書き込むことを特徴とするものであり、これにより、アドレス管理テーブル更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0015】
また、本発明の請求項4に記載の発明は、上記請求項1または2に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス変換テーブルインデックス情報更新の際に、現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス変換テーブルインデックス情報を書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0016】
また、本発明の請求項5に記載の発明は、上記請求項1または2に係る発明に加え、次アドレス変換テーブル情報を不揮発性メモリに更新時に、前アドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とするものであり、これにより、不要になったアドレス管理テーブルを通常のデータの書き込み領域として使用し、アドレス管理テーブル群に使用するブロックを集中させないという作用を有する。
【0017】
また、本発明の請求項6に記載の発明は、不揮発性メモリにアクセスするために与えられた論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと前記複数のアドレス管理テーブルを管理するアドレス変換テーブルインデックス情報群を前記不揮発性メモリに保持し、必要なアドレス管理情報を適宜揮発メモリに展開する管理情報更新方法において、データ更新時に発生するアドレス管理テーブルの更新の際に、次アドレス管理テーブルを現在のアドレス管理テーブルとは別の書込み領域に書き込むことを特徴とする管理情報更新方法であり、これにより、アドレス管理テーブル更新時に電源遮断等により正常にアドレス管理テーブルの更新ができなかった場合にも、前アドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0018】
また、本発明の請求項7に記載の発明は、上記請求項6に係る発明に加え、現アドレス管理テーブルが現アドレス変換テーブルインデックス情報群の管理するアドレス管理テーブル群の最終アドレス管理テーブルの場合に、データ更新が発生すると次アドレス変換テーブルインデックス情報の管理する次アドレス管理テーブルを更新した後、更新する次アドレス変換テーブルインデックス情報を現アドレス変換テーブルインデックス情報とは別の書込み領域に書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス情報更新前に電源遮断等により正常にアドレス変換テーブルインデックス情報の更新ができなかった場合でも、前アドレス変換テーブルインデックス情報の管理する最終のアドレス管理テーブルに基づき不揮発性メモリ内のデータを保護することができるという作用を有する。
【0019】
また、本発明の請求項8に記載の発明は、上記請求項6または7に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス管理テーブル更新の際に、現アドレス管理テーブルが書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス管理テーブルを書き込むことを特徴とするものであり、これにより、アドレス管理テーブル更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0020】
また、本発明の請求項9に記載の発明は、上記請求項6または7に係る発明に加え、前記アドレス管理テーブル及び前記アドレス変換テーブルインデックス情報が複数の不揮発性メモリに跨るアドレス空間を管理する場合に、アドレス変換テーブルインデックス情報更新の際に、現アドレス変換テーブルインデックス情報が書き込まれている不揮発性メモリとは別の不揮発性メモリの書込み領域に次アドレス変換テーブルインデックス情報を書き込むことを特徴とするものであり、これにより、アドレス変換テーブルインデックス更新のための同一不揮発性メモリへの書き込みを分散させる作用を有する。
【0021】
また、本発明の請求項10に記載の発明は、上記請求項6または7に係る発明に加え、次アドレス変換テーブル情報を不揮発性メモリに更新時に、前アドレス変換テーブルインデックス情報が管理するアドレス管理テーブル群が書き込まれたブロックを無効化することを特徴とするものであり、これにより、不要になったアドレス管理テーブルを通常のデータの書き込み領域として使用し、アドレス管理テーブル群に使用するブロックを集中させないという作用を有する。
【0022】
以下、本発明の実施の形態について、図1から図3を用いて説明する。
【0023】
(実施の形態1)
図1は、本発明の実施の形態1による半導体メモリカードおよび管理情報更新方法におけるアドレス管理テーブル(AT)とアドレス変換デーブルインデックス情報(ATI)の構成を示す概念図であり、図2は、本実施の形態による半導体メモリカードの構成、および半導体メモリカード内の不揮発性メモリのアドレスマップを示す概念図である。また、図3は、本実施の形態による管理情報更新方法を示すフローチャートである。
【0024】
図1において、1はATI群である。2および3はAT群であり、便宜上AT群α2、AT群β3とし、図示した以外にも存在するものである。また10はブロック(物理ブロック)であり、本実施の形態によるATI群1、AT群α2、AT群β3、…は、それぞれ4つのブロック10から構成され、それぞれを4バンク(Bank0〜Bank3)構成にしている。
【0025】
また、図2においては、20はフラッシュメモリ等の不揮発性メモリ、21は半導体メモリカードとホスト機器との間でデータやコマンドなどの信号を送受信するためのホストインターフェース回路(ホストI/F)、22はホスト機器からのコマンドなどにより不揮発性メモリ20や半導体メモリカードの動作を制御する制御部、23はデータやアドレス管理情報などを一時蓄える揮発性メモリとしてのRAM(ランダム・アクセス・メモリ)である。また、4はATI群を記憶するためのATI群領域、5はデータを記憶するためのデータ領域であり、不揮発性メモリ20は、ATI群領域4とデータ領域5からなる。また、6はAT群であり、7は現ATが管理するデータエントリである。
【0026】
なお、本実施の形態で説明する不揮発性メモリ20は、4バンク構成(Bank0〜Bank3)からなり、各ブロックはデータ容量が2KBのページが2ページで構成されるメモリに制限している。
【0027】
ATI群領域4は、データ領域5(#0〜#3)内のAT群を管理するためのATI群を格納する領域である。ATIは、各AT群の物理ブロック番号(例えば、バンク0の物理アドレスに相当)を持つ。1つのATIで、各データ領域に64のAT群を管理すると、1ワード(物理ブロック番号)×4(データ領域数)×64(AT群)=512Bとなり、図1に示すように1ブロック当たり8個のATIを記録することができる。先頭ATIは、例えば、不揮発性メモリ20の先頭物理ブロックに格納され、先頭ATIの格納されるページの冗長領域には、バンク当たり1ブロックへのリンク情報が書き込まれ、ATI群を形成する。よって、最大32個のATIを格納することができる。
【0028】
データ領域5は、外部(ホスト)から読み書きされるデータ(音楽データや画像データなどのいわゆるコンテンツ情報)を格納すると共に、AT群を格納する領域である。また、データ領域5は、1024ブロック/バンク毎に4つの領域(データ領域#0〜データ領域#3)に分割され、AT群はそれぞれのデータ領域を管理するため、それぞれのデータ領域に格納される。ATが管理するデータエントリ7は、1ブロック/バンク、計4ブロックを1つのエントリとして管理される。ATの管理するエントリそれぞれの先頭ブロック(例えば、バンク0)下位ページの冗長領域には、バンク当たり1ブッロクへのリンク情報が書き込まれる。それぞれのデータ領域において、基本的には論理アドレス(0〜1023[ブロック×ブロックサイズ×バンク数])を物理アドレス(0〜1023[ブロック×ブロックサイズ×バンク数])に変換する為に、各論理アドレスに相当する論理ブロック番号毎(1ワード毎)に物理ブロック番号(例えば、バンク0の物理アドレス9ビットに相当)と各バンクのアロケーションフラグ(4ビット)を持つ。よって、1つのATのデータ容量は、1ワード(物理ブロック番号)×1024(ブロック)=2048Bとなり、1ページに1つのATを持つことになる。また、アロケーションフラグは、各バンクの物理ブロック番号(物理アドレス)に有効なデータが既にアロケートされているか否かを識別するフラグであり、物理ブロック番号順に格納される。
【0029】
次に、図1及び図3を用いて本実施の形態による書き込み動作について説明する。なお、図1中のAT群α2及びAT群β3は、同一のデータ領域を管理するAT群であり、同図に示す例では、AT群α2はATI#4により管理され、AT群β3はATI#5により管理される領域である。また、AT及びATIの更新は、次のAT及びATIの不揮発性メモリ20への書き込みが現AT及び現ATIと同一ブロックに行われないように、書き込みの順番が予め決められる。また、ATI群の中から最新のATIを検出する処理(図3のS01)は、例えば、初期化時に実施され、外部(ホスト)からメモリカードに対するデータ書き込み指令毎には実施されない。また、図3に示す一連の制御は、図2に示した制御部22によって実行され、制御部22はCPU(中央処理演算装置)を含むものとする。
【0030】
まず、1つのATIが管理するAT群内での更新について述べる。外部(ホスト)から与えられる論理アドレスに従い、データの書き込み先の領域を決定する。例えば、外部ホストから論理アドレス0が指定されると、不揮発性メモリ20の中のデータ領域#0に対応するAT群の物理ブロック番号を現ATIから求め、不揮発性メモリ20から揮発性メモリ(RAM23)に読み出す(図3のS02)。読み出された現AT群内で、現AT(例えば、AT#2)を検出して論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックする(同S03)。なお、現ATを検出する場合は、現在のATを含むAT群は事前にイレーズ処理されるため、図1に示す予め決められたATの書き込み順(#0〜#7)に従い、正常に読み出された最終書き込み済みのATを現ATとする。論理ブロック番号に対応する1ワード中に物理ブロック番号が登録されていない、つまり未アロケートの場合は、各バンクの未アロケート物理ブロック番号を検出し、対応するデータ領域#0の物理ブロックをイレーズ処理し、バンク0の下位ページ冗長領域に検出した各バンクの物理ブロック番号を付加してデータを不揮発性メモリ20に書き込み、揮発性メモリ23内でデータを書き込んだ各バンクの物理ブロック番号に対応したアロケーションフラグをアロケート済み状態(値0)に更新する(S04)。その後に、図1に示す予め決められた書き込み順に従い不揮発性メモリにAT#3を書く(S05、S07)。
【0031】
一方、論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックし、既にアロケート済みの場合は、その物理ブロック番号の対応した物理ブロックの下位ページ冗長領域から各バンクのアロケート済みの物理ブロック番号を読み出す。更に、揮発性メモリ内で各バンクのアロケート済みでない物理ブロック番号を検出し、不揮発性メモリ内の対応するデータ領域#0の物理ブロックをイレーズ処理し、バンク0の物理ブロック下位ページの冗長領域に各バンクの物理ブロック番号を付加してデータを書き込む。また、揮発性メモリ内で、論理ブロック番号0の1ワード中物理ブロック番号にデータを書き込んだバンク0の物理ブロック番号を書き込むと共に今回使用した各バンクの物理ブロック番号に対応するアロケーションフラグをアロケート済み状態(値0)に更新し、更に以前論理ブロック番号0で使用した各バンクの物理ブロック番号に対応するアロケーションフラグを未アロケート状態(値1)にする(S04)。その後に、図1に示す予め決められた書き込み順に従い不揮発性メモリにAT#3を書く(S05、S07)。
【0032】
次に、ATIの更新が発生する場合について述べる。図1中、現在のATがATI#4の管理するAT群α2の最終AT#7の場合、S05にて現ATが現ATIで管理するATの最終であると判断し、S06にて次AT群を書き込むための空きブロックを確保する。揮発性メモリ23内で現ATであるAT群α2のAT#7から各バンクのアロケーションフラグより未アロケートの物理ブロック番号を検出し、検出した物理ブロック番号に対応するデータ領域#0内物理ブロックをイレーズ処理することでAT群β3の領域を確保する。次ATはデータ書き込み処理S04で作成した情報に加え、揮発性メモリ23内でAT群α2の領域を確保するために使用していた各バンクの物理ブロック番号に対応するアロケーションフラグを未アロケートに更新し、更に、AT群β3の領域確保に使用する各バンクの物理ブロック番号に対応するアロケーションフラグをアロケートに更新する。S08にて、更新する次ATをデータ領域#0内AT群β3のAT#0の領域に書き込む。その後S09にて、ATI#5の領域に、AT群β3の各ATの物理ブロックアドレスを書き込む。
【0033】
ATI群1を更新する際には、前記ATI更新の際の処理に加え、次ATI群を記録するための物理ブロックを確保する必要がある。揮発メモリ23内でAT#7の各バンクのアロケーションフラグより未アロケートの物理ブロック番号を検出し、不揮発性メモリ20の検出した各バンクの対象物理ブロックをイレーズ処理することで次ATI群の領域を確保する。前記ATI更新時の次ATの情報に加え、揮発性メモリ23内で現ATI群の領域を確保するために使用していた各バンクの物理ブロック番号に対応するアロケーションフラグを未アロケートし、更に、次ATI群1の領域確保に使用する各バンクの物理ブロック番号に対応するアロケーションフラグをアロケートに更新する。以降、前記ATI更新時と同様に次AT及び次ATIを不揮発性メモリ20に書き込む。
【0034】
以上のように、ATの更新時、現ATとは異なるブロックに次ATを書き込むことにより、次ATの書き込み中にエラーが発生し正常に次ATが更新できない場合にも、現ATに基づきメモリカード内の不揮発性メモリ20に記録されたデータを保護することができる。また、ATI更新が必要なATの更新時にエラーが発生した場合、現ATIに基づく現ATによりメモリカード内の不揮発性メモリ20に記録されたデータを保護することができる。更に、ATI更新後は古いAT群(例えば、ATI更新後のAT群α2)をデータの書き込める領域として使用し、AT群の同一領域への集中を避けAT群の信頼性を向上できる。
【0035】
なお、本実施の形態においては、メモリカード内に1つの不揮発性メモリで構成される場合について述べたが、複数の不揮発性メモリで構成される場合についてもATの管理するアロケーションフラグを8ビットとし、2つの不揮発性メモリを1つのATで管理するよう構成すれば本実施例と同様の処理が可能である。更に、AT及びATI更新の際に、2つの不揮発性メモリに交互に書き込むよう処理すれば、AT及びATI更新のための同一不揮発性メモリへ書き込みの集中をさけることができる。
【0036】
また、本実施の形態においては、4バンク構成の不揮発性メモリについて述べたが、バンク構成に依存せず同様のATI更新方法を適用することができる。
【0037】
更に、本実施の形態においては、メモリカードのアドレス管理をATIとATの二階層で実現したものについて述べたが、ATIを更に階層化した場合にも、同様のATI更新方法を適用することができる。この場合、最上階のATIを管理領域に格納し、それ以外は、各データ領域に格納すれば、最も重要なATIへのアクセス頻度を低減することができる。
【0038】
また、本実施の形態においては、図2に示すようにメモリカードを例に説明したが、メモリカードに限ることなく、例えば、不揮発性メモリが内蔵された機器に本発明の管理情報更新方法(アドレス管理情報を更新する方法)を用いてもよい。この場合、ホストI/F21や制御部22は、同様の機能を有する機器内の資源を用いて構成すればよい。
【0039】
【発明の効果】
以上のように本発明によれば、不揮発性メモリ内の次ATを書き込む領域(例えば、ブロック)が次ATを書き込みにより不良(バッドブロック)となった場合にも、更新前のAT情報を不揮発性メモリ内の別領域(例えば、ブロック)に確保しておくことが出来るため、AT更新時に電断等により正常にATの更新が出来なかった場合にも、前ATに基づき不揮発性メモリ内のデータを保護することが可能である。更に、ATI更新前に電断等により正常にATIの更新が出来なかった場合にも、前ATIの管理する最終のATに基づき不揮発性メモリ内のデータを保護することができる。更に、ATIの更新毎に不要になったAT群を無効化することにより、通常のデータの書き込み領域として使用しAT群に使用するブロックを集中させないためAT群の信頼性を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態によるアドレス管理方法を示す概念図
【図2】本発明の実施の形態によるメモリカードの構成およびアドレスマップを示す図
【図3】本発明の実施の形態によるアドレス管理方法の動作を説明するためのフローチャート
【図4】従来のメモリカードのアドレスマップを示す図
【符号の説明】
1 ATI群
2 AT群α
3 AT群β
4 ATI群領域
5 データ領域
6 AT領域
7 1データエントリ範囲
20 不揮発性メモリ
21 ホストI/F
22 制御部
23 RAM[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a semiconductor memory card which stores address management information for a rewritable nonvolatile memory in the nonvolatile memory, reads out a necessary part of the address management information to a volatile memory, and uses the semiconductor memory card. Information update method.
[0002]
[Prior art]
In a memory card having a rewritable nonvolatile memory, data is written or read by converting a logical address given to access the nonvolatile memory into a physical address. And it has address management information for this address conversion.
[0003]
As described above, a memory card in which address management information is stored in a non-volatile memory, and only a necessary portion of the address management information is read out to a volatile memory and used is described in, for example,
[0004]
FIG. 4 shows an address map in a nonvolatile memory in a conventional memory card. The non-volatile memory corresponds to a memory generally called a flash memory, and its basic characteristics (for example, overwriting cannot be performed or the number of times of writing is limited) follow those of a typical flash memory. The description of these characteristics is omitted.
[0005]
The nonvolatile memory includes a
[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 the memory card equipped with the nonvolatile memory according to the conventional configuration described above, it is required to secure the reliability of the management information in order to centrally manage data management by providing a management area in the nonvolatile memory. . Therefore, when updating the management information to the non-volatile memory, if a power failure or the like occurs when a write error occurs, the management information may not be updated normally, and the reliability of the management information may be impaired. .
[0009]
An object of the present invention is to solve the above-mentioned conventional problems, and to provide a semiconductor memory card and a management information updating method capable of improving the reliability at the time of updating the management information, particularly for ensuring the reliability of the management information. Aim.
[0010]
[Means for Solving the Problems]
In order to achieve this object, a semiconductor memory card and a management information updating method according to the present invention provide a plurality of address management tables (hereinafter, referred to as AT) for converting a logical address given for accessing a nonvolatile memory into a physical address. ) And a group of address conversion table index information (hereinafter, ATI) for managing a plurality of ATs (hereinafter, referred to as AT groups) are stored in a non-volatile memory, and necessary address management information is appropriately developed in a volatile memory. When updating an AT that occurs at the time of data update, the next AT is written in a write area different from the current AT.
[0011]
Thus, even when an area (for example, a block) in the nonvolatile memory where the next AT is written becomes defective (bad block) due to writing of the next AT, the AT information before update is stored in another area (for example, a block) in the nonvolatile memory. For example, if the AT is not updated normally due to power cutoff at the time of updating the AT, the data in the non-volatile memory can be protected based on the previous AT. It is.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
The invention according to
[0013]
According to a second aspect of the present invention, in addition to the first aspect, the present address management table is a final address management table of an address management table group managed by a current address translation table index information group. When the data update occurs, after updating the next address management table managed by the next address conversion table index information, the next address conversion table index information to be updated is written to a write area different from the current address conversion table index information. Therefore, even if the address conversion table index information cannot be updated normally due to power cutoff or the like before updating the address conversion table index information, the last address managed by the previous address conversion table index information can be obtained. Management table Based has an effect that it is possible to protect the data in the nonvolatile memory.
[0014]
According to a third aspect of the present invention, in addition to the first or second aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address management table, the next address management table is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address management table is written. Thus, the writing to the same non-volatile memory for updating the address management table is distributed.
[0015]
According to a fourth aspect of the present invention, in addition to the first or second aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address conversion table index information, the next address conversion table index information is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address conversion table index information is written. This has the effect of distributing writes to the same non-volatile memory for updating the address translation table index.
[0016]
According to a fifth aspect of the present invention, in addition to the first or second aspect of the present invention, when the next address translation table information is updated in the nonvolatile memory, the address management managed by the previous address translation table index information is performed. This is characterized by invalidating the block in which the table group is written, whereby the unnecessary address management table is used as a normal data write area, and the block used for the address management table group is changed. Has the effect of not focusing.
[0017]
According to a sixth aspect of the present invention, a plurality of address management tables for converting a logical address given to access a non-volatile memory into a physical address and an address conversion table for managing the plurality of address management tables are provided. In a management information updating method in which a table index information group is held in the non-volatile memory and necessary address management information is appropriately developed in a volatile memory, the next address management table is updated when the address management table is updated when data is updated. This is a management information update method characterized by writing data in a write area different from the current address management table. This method is used when the address management table cannot be updated normally due to power shutdown or the like when updating the address management table. Data in the nonvolatile memory based on the previous address management table. An effect that can be protected.
[0018]
According to a seventh aspect of the present invention, in addition to the sixth aspect of the present invention, the current address management table is a last address management table of an address management table group managed by a current address translation table index information group. When the data update occurs, after updating the next address management table managed by the next address conversion table index information, the next address conversion table index information to be updated is written to a write area different from the current address conversion table index information. Therefore, even if the address conversion table index information cannot be updated normally due to power cutoff or the like before updating the address conversion table index information, the last address managed by the previous address conversion table index information can be obtained. Management table Based has an effect that it is possible to protect the data in the nonvolatile memory.
[0019]
According to an eighth aspect of the present invention, in addition to the sixth or seventh aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address management table, the next address management table is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address management table is written. Thus, the writing to the same non-volatile memory for updating the address management table is distributed.
[0020]
According to a ninth aspect of the present invention, in addition to the sixth or seventh aspect, the address management table and the address conversion table index information manage an address space extending over a plurality of nonvolatile memories. In this case, when updating the address conversion table index information, the next address conversion table index information is written in a write area of a nonvolatile memory different from the nonvolatile memory in which the current address conversion table index information is written. This has the effect of distributing writes to the same non-volatile memory for updating the address translation table index.
[0021]
According to a tenth aspect of the present invention, in addition to the invention according to the sixth or seventh aspect, when the next address translation table information is updated in the nonvolatile memory, the address management managed by the previous address translation table index information is performed. This is characterized by invalidating the block in which the table group is written, whereby the unnecessary address management table is used as a normal data write area, and the block used for the address management table group is changed. Has the effect of not focusing.
[0022]
Hereinafter, an embodiment of the present invention will be described with reference to FIGS.
[0023]
(Embodiment 1)
FIG. 1 is a conceptual diagram showing the configuration of an address management table (AT) and address conversion table index information (ATI) in a semiconductor memory card and a management information updating method according to a first embodiment of the present invention. FIG. 2 is a conceptual diagram showing a configuration of a semiconductor memory card according to an embodiment and an address map of a nonvolatile memory in the semiconductor memory card. FIG. 3 is a flowchart showing a management information updating method according to the present embodiment.
[0024]
In FIG. 1,
[0025]
In FIG. 2,
[0026]
The
[0027]
The
[0028]
The
[0029]
Next, a write operation according to the present embodiment will be described with reference to FIGS. Note that the AT group α2 and the AT group β3 in FIG. 1 are AT groups that manage the same data area. In the example shown in FIG. 1, the AT group α2 is managed by
[0030]
First, updating within an AT group managed by one ATI will be described. An area to which data is written is determined according to a logical address given from the outside (host). For example, when the
[0031]
On the other hand, the physical block number in one word corresponding to the logical block number is checked, and if it is already allocated, the allocated physical block number of each bank is obtained from the lower page redundant area of the physical block corresponding to the physical block number. Read out. Further, the non-allocated physical block number of each bank is detected in the volatile memory, the physical block in the corresponding
[0032]
Next, a case where the ATI is updated will be described. In FIG. 1, if the current AT is the
[0033]
When updating the
[0034]
As described above, by writing the next AT to a block different from the current AT when updating the AT, even if an error occurs during writing of the next AT and the next AT cannot be updated normally, the memory based on the current AT is updated. The data recorded in the
[0035]
In this embodiment, the case where the memory card is constituted by one nonvolatile memory has been described. However, also in the case where the memory card is constituted by a plurality of nonvolatile memories, the allocation flag managed by the AT is set to 8 bits. If the two non-volatile memories are managed by one AT, the same processing as that of the present embodiment can be performed. Further, when the AT and the ATI are updated, if the processing is performed so that the data is alternately written to the two non-volatile memories, the concentration of the writing to the same non-volatile memory for updating the AT and the ATI can be avoided.
[0036]
Further, in the present embodiment, a nonvolatile memory having a four-bank configuration has been described, but a similar ATI updating method can be applied regardless of the bank configuration.
[0037]
Furthermore, in the present embodiment, the description has been given of the case where the address management of the memory card is realized by two layers of ATI and AT. However, the same ATI updating method can be applied even when ATI is further hierarchized. it can. In this case, if the ATI on the top floor is stored in the management area and the rest is stored in each data area, the frequency of access to the most important ATI can be reduced.
[0038]
Further, in the present embodiment, a memory card has been described as an example as shown in FIG. 2, but the present invention is not limited to a memory card. For example, the management information updating method ( A method of updating address management information) may be used. In this case, the host I /
[0039]
【The invention's effect】
As described above, according to the present invention, even if an area (for example, a block) in the nonvolatile memory where the next AT is written becomes defective (bad block) due to writing the next AT, the AT information before update is stored in the nonvolatile memory. Can be secured in another area (for example, a block) in the non-volatile memory. Therefore, even if the AT cannot be updated normally due to a power failure or the like at the time of updating the AT, the nonvolatile memory in the nonvolatile memory is stored based on the previous AT. It is possible to protect data. Furthermore, even if the ATI cannot be updated normally due to a power failure or the like before the ATI update, the data in the nonvolatile memory can be protected based on the final AT managed by the previous ATI. Further, by invalidating the unnecessary AT group every time the ATI is updated, the AT group can be used as a normal data write area and blocks used in the AT group are not concentrated, so that the reliability of the AT group can be improved. .
[Brief description of the drawings]
FIG. 1 is a conceptual diagram showing an address management method according to an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration and an address map of the memory card according to the embodiment of the present invention;
FIG. 3 is a flowchart for explaining the operation of the address management method according to the embodiment of the present invention;
FIG. 4 is a diagram showing an address map of a conventional memory card.
[Explanation of symbols]
1 ATI group
2 AT group α
3 AT group β
4 ATI group area
5 Data area
6 AT area
7 1 Data entry range
20 Non-volatile memory
21 Host I / F
22 Control part
23 RAM
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002370314A JP4211385B2 (en) | 2002-12-20 | 2002-12-20 | Semiconductor memory card and management information updating method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002370314A JP4211385B2 (en) | 2002-12-20 | 2002-12-20 | Semiconductor memory card and management information updating method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004199605A true JP2004199605A (en) | 2004-07-15 |
JP4211385B2 JP4211385B2 (en) | 2009-01-21 |
Family
ID=32766267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002370314A Expired - Lifetime JP4211385B2 (en) | 2002-12-20 | 2002-12-20 | Semiconductor memory card and management information updating method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4211385B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006107086A1 (en) * | 2005-03-31 | 2006-10-12 | Tokyo Electron Device Limited | Storage device, memory managing apparatus, memory managing method, and program |
JP2010146150A (en) * | 2008-12-17 | 2010-07-01 | Panasonic Corp | Semiconductor memory device |
US7925821B2 (en) | 2007-02-05 | 2011-04-12 | Sony Corporation | Nonvolatile semiconductor storage device and method of managing the same |
TWI409630B (en) * | 2007-09-12 | 2013-09-21 | Sony Corp | Memory apparatus, memory control method, and non-transitory computer readable medium |
JP2015534178A (en) * | 2012-09-14 | 2015-11-26 | マイクロン テクノロジー, インク. | Address mapping |
US9378131B2 (en) | 2012-01-26 | 2016-06-28 | Hitachi, Ltd. | Non-volatile storage addressing using multiple tables |
-
2002
- 2002-12-20 JP JP2002370314A patent/JP4211385B2/en not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006107086A1 (en) * | 2005-03-31 | 2006-10-12 | Tokyo Electron Device Limited | Storage device, memory managing apparatus, memory managing method, and program |
KR100849446B1 (en) * | 2005-03-31 | 2008-07-31 | 동경 엘렉트론 디바이스 주식회사 | Storage device, memory managing apparatus, memory managing method, and computer-readable recording medium |
US7925821B2 (en) | 2007-02-05 | 2011-04-12 | Sony Corporation | Nonvolatile semiconductor storage device and method of managing the same |
TWI409630B (en) * | 2007-09-12 | 2013-09-21 | Sony Corp | Memory apparatus, memory control method, and non-transitory computer readable medium |
JP2010146150A (en) * | 2008-12-17 | 2010-07-01 | Panasonic Corp | Semiconductor memory device |
US9378131B2 (en) | 2012-01-26 | 2016-06-28 | Hitachi, Ltd. | Non-volatile storage addressing using multiple tables |
JP2015534178A (en) * | 2012-09-14 | 2015-11-26 | マイクロン テクノロジー, インク. | Address mapping |
US10282286B2 (en) | 2012-09-14 | 2019-05-07 | Micron Technology, Inc. | Address mapping using a data unit type that is variable |
Also Published As
Publication number | Publication date |
---|---|
JP4211385B2 (en) | 2009-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8180955B2 (en) | Computing systems and methods for managing flash memory device | |
US7814265B2 (en) | Single sector write operation in flash memory | |
US7634624B2 (en) | Memory system for data storage and retrieval | |
US8904092B2 (en) | Identifying a location containing invalid data in a storage media | |
US8327068B2 (en) | Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method | |
KR100572328B1 (en) | Flash memory system including bad block management unit | |
US7752412B2 (en) | Methods of managing file allocation table information | |
US20050144368A1 (en) | Address mapping method and mapping information managing method for flash memory, and flash memory using the same | |
US20080082773A1 (en) | Systems for Managing File Allocation Table Information | |
JPWO2005083573A1 (en) | Semiconductor memory device | |
US9122586B2 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
KR20070046864A (en) | Virtual-to-physical address translation in a flash file system | |
US10929303B2 (en) | Data storage device utilizing virtual blocks to improve performance and data storage method thereof | |
KR100882740B1 (en) | Method and storage device of mapping a nonvolatile memory based on map history | |
JP4211385B2 (en) | Semiconductor memory card and management information updating method | |
US11218164B2 (en) | Data storage device and non-volatile memory control method | |
JP2007534048A (en) | Method of writing a memory sector in a block erasable memory | |
JP4558054B2 (en) | Memory system | |
JP2005092678A (en) | Semiconductor memory card and method for deleting data in nonvolatile memory | |
JP2006190036A (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method | |
US20230089246A1 (en) | Memory system | |
KR100892608B1 (en) | Error block management method for flash memory | |
KR100688463B1 (en) | Method for writing and erasing data of physical memory | |
KR20080038613A (en) | The method of managing flash memory | |
JP2005250831A (en) | Semiconductor memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051213 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080619 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081007 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081020 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4211385 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |