(57)【特許請求の範囲】
【請求項１】
ＩＣカードに搭載された複数のイレーズブロック１〜ｎから構成されるフラッシュメモリのデータの書き換えを管理する方法において、
イレーズブロックの各々に付与されたフラッシュメモリ内で一意となる論理ブロック番号を記録する管理領域を用い、ｋ番の論理番号が付与されたイレーズブロックを作業用ブロックとし、ｉ番の書き換え対象イレーズブロックのデータをｋ番の作業用イレーズブロックにコピーし、書き換えた後に、このｋ番の作業用イレーズブロックの管理領域にｉ番を書き込み、このｋ番のイレーズブロックをｉ番の書き換え済みブロックとし、
もとのｉ番のイレーズブロックの全データを消去した後にもとのｉ番のイレーズブロックの管理領域にｋ番を書き込み、もとのｉ番のイレーズブロックをｋ番の作業用ブロックとする、
ことを特徴とするフラッシュメモリの管理方法。
【請求項２】
請求項１記載の方法において、各イレーズブロックの管理領域は消去回数も記録し、もとのｉ番のイレーズブロックの全データを消去した後にもとのｉ番のイレーズブロックの管理領域にｋ番を書き込む際に、該管理領域に格納されたｉ番の消去回数を＋１することを特徴とするフラッシュメモリの管理方法。
【請求項３】
ＩＣカードに搭載された複数のイレーズブロック１〜ｎから構成されるフラッシュメモリのデータの書き換えを管理するシステムにおいて、各イレーズブロックはフラッシュメモリ内で一意となる論理ブロック番号を記録する管理領域を有し、ｋ番の論理番号が付与されたイレーズブロックを作業用ブロックとし、ＩＣカードに搭載されたＣＰＵが、
ｉ番の書き換え対象イレーズブロックのデータをｋ番の作業用イレーズブロックにコピーし、書き換えた後に、このｋ番の作業用イレーズブロックの管理領域にｉ番を書き込み、このｋ番のイレーズブロックをｉ番の書き換え済みブロックとする手順と、
もとのｉ番のイレーズブロックの全データを消去した後にもとのｉ番のイレーズブロックの管理領域にｋ番を書き込み、もとのｉ番のイレーズブロックをｋ番の作業用ブロックとする手順と、
を実行することを特徴とするフラッシュメモリの管理システム。
【請求項４】
請求項３記載のシステムにおいて、ＣＰＵは、各イレーズブロックの管理領域に消去回数も記録し、もとのｉ番のイレーズブロックの全データを消去した後にもとのｉ番のイレーズブロックの管理領域にｋ番を書き込む際に、該管理領域に格納されたｉ番の消去回数を＋１することを特徴とするフラッシュメモリの管理システム。
【請求項５】
請求項１記載のフラッシュメモリの管理方法を実行するためのプログラムであって、ＩＣカードに搭載されたＣＰＵに、
ｉ番の書き換え対象イレーズブロックのデータをｋ番の作業用イレーズブロックにコピーし、書き換えた後に、このｋ番の作業用イレーズブロックの管理領域にｉ番を書き込み、このｋ番のイレーズブロックをｉ番の書き換え済みブロックとする手順と、
もとのｉ番のイレーズブロックの全データを消去した後にもとのｉ番のイレーズブロックの管理領域にｋ番を書き込み、もとのｉ番のイレーズブロックをｋ番の作業用ブロックとする手順と、
を実行させることを特徴とするコンピュータプログラム。
【請求項６】
請求項５記載のコンピュータプログラムにおいて、ＣＰＵに、各イレーズブロックの管理領域に消去回数も記録し、もとのｉ番のイレーズブロックの全データを消去した後にもとのｉ番のイレーズブロックの管理領域にｋ番を書き込む際に、該管理領域に格納されたｉ番の消去回数を＋１する手順も実行させることを特徴とするコンピュータプログラム。
【請求項７】
請求項５または６記載のコンピュータプログラムを記録したコンピュータ読取可能記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣカードの搭載されたフラッシュメモリの管理方法及びシステムに関するものである。
【０００２】
【従来技術】
近年、公共、金融、通信、交通、医療の分野等においてＩＣカードの利用が広まりつつある。ＩＣカードには、ＣＰＵとともに、プログラムなどを格納するＲＯＭのような不揮発性メモリ、ＣＰＵが演算等の作業を行なうときに使用するＲＡＭのような揮発性メモリ、データ蓄積用ＥＥＰＲＯＭが搭載されており、データ蓄積用ＥＥＰＲＯＭとしては一般にフラッシュメモリが使用されている。
【０００３】
フラッシュメモリはビット単位で消去を行なうことができず、例えば６４ＫＢのブロック単位で消去するように構成されており、このような消去単位をイレーズブロックという。即ち、フラッシュメモリは複数のイレーズブロックから構成される。例えば、容量１Ｍバイト、イレーズブロック６４ＫＢのフラッシュメモリは、１０２４/６４＝１６個のイレーズブロックの構成になる。
従って、このようなフラッシュメモリのデータを書き換える場合、比較的大きな容量のＲＡＭ（揮発性メモリ）を内蔵するパソコン等では、書き換えの対象のイレーズブロックの全データを一旦ＲＡＭのような揮発性メモリにコピーし、揮発性メモリにコピーしたデータを書き換えた後に、対象イレーズブロックを消去し、揮発性メモリから書き換え済みデータをこのイレーズブロックに戻す方法が行われている。
【０００４】
しかし、ＩＣカードでは内蔵する揮発性メモリの容量が非常に小さい（例えばＩ〜２Ｋバイト程度）ので、イレーズブロックの全てのデータを揮発性メモリに格納することができず、このような方法は実行できない。そこで、ＩＣカードでは、フラッシュメモリのデータの書き換え処理は、複数のイレーズブロックの１つを作業用ブロックとし、図１に示すように、▲１▼対象イレーズブロックから書き換え対象のデータ領域を除き、作業用ブロックにコピーし、▲２▼作業用ブロックに格納されたデータに書き換えデータを書込み、▲３▼対象イレーズブロックの全データを消去し、▲４▼作業用ブロックから書き換え済みデータをこのイレーズブロックにコピーし、▲５▼次のデータ書き換え処理のために作業用ブロックの全データを消去する手順で実行されている。
【０００５】
しかし、このような従来のフラッシュメモリのデータの書き換え管理方法では、作業用ブロックが一つのイレーズブロックに固定しており、データの書き換えのたびに固定の作業用ブロックに消去が発生し、作業用ブロックの消去回数が他のイレーズブロックより著しく多くなり、作業ブロックが他のイレーズブロックより著しく早くフラッシュメモリの物理的な消去可能回数（１０万回程度）に到達して、メモリ全体の寿命が短くなる問題がある。
【０００６】
【発明が解決しようとする課題】
本発明の目的は、一つのイレーズブロックに消去が集中しないフラッシュメモリのデータ書き換え管理方法及び装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、ＩＣカードに搭載された複数のイレーズブロック１〜ｎから構成されるフラッシュメモリのデータの書き換えを管理する方法において、
これらのイレーズブロックの各々にフラッシュメモリ内で一意となる論理ブロック番号を付与し、ｋ番の論理番号が付与されたイレーズブロックを作業用ブロックとし、ｉ番の書き換え対象イレーズブロックのデータをｋ番の作業用イレーズブロックにコピーし、書き換えた後に、このｋ番のイレーズブロックをｉ番の書き換え済みブロックとし、もとのｉ番のイレーズブロックをｋ番の作業用ブロックとすることを特徴とする。
【０００８】
本発明の方法では、その実施に当たっては、各イレーズブロックに付与された一意の論理番号を記録する管理領域を設け、ｉ番の論理番号のイレーズブロック内のデータの書き換えが発生した場合、
(1)ｋ番，ｉ番のイレーズブロック番号を揮発性メモリにコピーし、
(2)ｋ番の作業用イレーズブロックの全データを消去し、
(3)ｉ番のイレーズブロックのデータを、書き換え対象のデータ領域を除き、全消去したｋ番の作業用イレーズブロックにコピーし、
(4)ｋ番の作業用イレーズブロックに格納されたデータに書き換えデータを書き込み、
(5)ｋ番の作業用イレーズブロックの管理テーブルの論理番号にｉ番を書き込み、
(6)旧ｉ番のイレーズブロックの全データを消去し、
(7)旧ｉ番のイレーズブロックの管理テーブルの論理番号にｋ番を書き込み、旧ｉ番のイレーズブロックを作業用イレーズブロックとするのが好ましい。
【０００９】
更に、各イレーズブロックの管理領域は消去回数も記録し、手順(2)においてｉ番のイレーズブロック番号に加えて消去回数も揮発性メモリにコピーし、手順(5)においてｋ番の作業用イレーズブロックの管理テーブルの論理番号にｉ番を書き込むとともに、揮発性メモリに格納されたｋ番の消去回数を＋１した後その管理テーブルに書き込み、手順(7)において旧ｉ番のイレーズブロックの管理テーブルの論理番号にｋ番を書き込むとともに、揮発性メモリに格納されたｉ番の消去回数を＋１した後にその管理テーブルに書き込むようにするのが好ましい。
【００１０】
上述した本発明のフラッシュメモリの管理方法を実施する管理システムでは、各イレーズブロックにフラッシュメモリ内で一意となる論理ブロック番号と消去回数を記録する管理領域を設け、ｋ番の論理番号が付与されたイレーズブロックを作業用ブロックとし、ｉ番の論理番号のイレーズブロック内のデータの書き換えが発生した場合に、ＩＣカードに搭載されたＣＰＵが、
(1)ｋ番，ｉ番のイレーズブロック番号を揮発性メモリにコピーする手順、
(2)ｋ番の作業用イレーズブロックの全データを消去する手順、
(3)ｉ番のイレーズブロックのデータを、書き換え対象のデータ領域を除き、全消去したｋ番の作業用イレーズブロックにコピーする手順、
(4)ｋ番の作業用イレーズブロックに格納されたデータに書き換えデータを書き込む手順、
(5)ｋ番の作業用イレーズブロックの管理テーブルの論理番号にｉ番を書き込む手順、
(6)旧ｉ番のイレーズブロックの全データを消去する手順、
(7)旧ｉ番のイレーズブロックの管理テーブルの論理番号にｋ番を書き込み、旧ｉ番のイレーズブロックを作業用イレーズブロックとする手順を、
実行する。
【００１１】
本発明のシステムでは、更に、各イレーズブロックの管理領域に消去回数も記録し、ＣＰＵは、手順(2)においてｉ番のイレーズブロック番号に加えて消去回数も揮発性メモリにコピーし、手順(5)においてｋ番の作業用イレーズブロックの管理テーブルの論理番号にｉ番を書き込むとともに、揮発性メモリに格納されたｋ番の消去回数を＋１した後その管理テーブルに書き込み、手順(7)において旧ｉ番のイレーズブロックの管理テーブルの論理番号にｋ番を書き込むとともに、揮発性メモリに格納されたｉ番の消去回数を＋１した後にその管理テーブルに書き込むようにするのが好ましい。
【００１２】
【発明の実施の形態】
図２は複数のイレーズブロック１〜ｎから構成されるフラッシュメモリを示し、例えば容量１Ｍバイト、イレーズブロック６４ＫＢのフラッシュメモリは１０２４/６４＝１６個のイレーズブロックから構成される。本発明では、これらのイレーズブロックの各々にフラッシュメモリ内で一意となる論理ブロック番号と消去回数を記録する領域（管理テーブル）を設ける。
【００１３】
本発明では、ｋ番の論理番号が付与されたイレーズブロックを作業用ブロックとする。今、ｉ番の論理番号のイレーズブロック内のデータの書き換えが発生した場合、その書き換え処理は図３に示す手順で実行される。▲１▼ｋ番，ｉ番のイレーズブロック番号、消去回数を揮発性メモリにコピーする。▲２▼ｋ番の作業用イレーズブロックの全データ（データ領域+管理テーブルの全て）を消去する。▲３▼ｉ番のイレーズブロックのデータから書き換え対象のデータ領域を除き、全消去したｋ番のイレーズブロックにコピーする。▲４▼ｋ番の作業用ブロックに格納されたデータに書き換えデータを書き込む。▲５▼ｋ番の作業用イレーズブロックの管理テーブルの論理番号にｉ番を書き込む。また、揮発性メモリに格納されたｋ番の消去回数を＋１した後その管理テーブルに書き込む。▲６▼旧ｉ番のイレーズブロックの全データ（データ領域+管理テーブルの全て）を消去する。▲７▼旧ｉ番のイレーズブロックの管理テーブルの論理番号にｋ番を書き込み、旧ｉ番のイレーズブロックを作業用イレーズブロックとする。また、揮発性メモリに格納されたｉ番の消去回数を＋１した後にその管理テーブルに書き込む。尚、このような書き換え処理が行なわれるフラッシュメモリ上のデータにアクセス（読み出す）する場合、論理ブロック番号＋オフセットにより対象データを特定し、アクセスする。
【００１４】
このように、本発明の方法によれば、この書き換え実行後、書き換え実行前に作業用イレーズブロックであったｋ番のイレーズブロックがｉ番の書き換え対象イレーズブロックになり、これに書き換え済みデータが格納され、書き換え対象であったｉ番のイレーズブロックがｋ番の作業用イレーズブロックになる。従って、次にｊ番のイレーズブロック内のデータの書き換えが発生した場合、ｋ番（旧ｉ番）の作業用イレーズブロックがｊ番の書き換え対象ブロックになり、これに書き換え済みデータが格納され、書き換え対象のｊ番のイレーズブロックがｋ番の作業用イレーズブロックになり、フラッシュメモリのイレーズブロックの書き換え毎に作業用イレーズブロックが次々に移動し、従来の方法のように一つのイレーズブロックに固定されない。従って、一つのイレーズブロックに消去が集中しなくなり、メモリ全体の寿命が長くなる。
【００１５】
また、本発明では、ｉ番の書き換え対象イレーズブロックのデータをｋ番の作業用イレーズブロックにコピーし、書き換えた後に、従来の方法のように作業用イレーズブロック内のデータをもとのｉ番のイレーズブロックに戻さないで、ｋ番のイレーズブロックをｉ番の書き換え済みブロックとするので、従来の方法より処理が高速になる利点も得られる。
【００１６】
以上、本発明によるＩＣカードに搭載されたフラッシュメモリの管理方法の処理手順を説明したが、これらの処理手順はＩＣカードに搭載されたＣＰＵにより実行され、本発明はこれらの処理手順を実行させるためのコンピュータプログラム及び該コンピュータプログラムを記録した記録媒体も本発明の範囲に含むものである。
【００１７】
尚、上述した実施例では、フラッシュメモリを構成する複数のイレーズブロックの管理テーブルに消去回数も記録しているので、残消去回数を確認することが可能となが、これは必ずしも不可欠の要件ではない。
【００１８】
【発明の効果】
以上述べたように、本発明によれば、一つのイレーズブロックに消去が集中しないフラッシュメモリの管理が可能となり、メモリ全体の寿命を長くすることができると共に、処理速度を向上させることができる。
【図面の簡単な説明】
【図１】  ＩＣカードに搭載されたフラッシュメモリの従来のデータ書き換え方法の手順を示す図である。
【図２】  本発明の方法で使用するフラッシュメモリの構成を示す図である。
【図３】  ＩＣカードに搭載されたフラッシュメモリの本発明によるデータ書き換え方法の手順を示す図である。
【符号の説明】
１，２，．．．ｎ  イレーズブロック
ｉ，ｊ，ｋ  イレーズブロック
【図１】
0003892751.tif 000002
【図２】
0003892751.tif 000003
【図３】
0003892751.tif 000004