説明

多段階誤り訂正方法及び装置

【課題】例えば、フラッシュおよびEEPROM・NVMモジュールの両方からなる大容量SIMカード等の、データ処理システムの性能および耐久性を向上させるためのシステムおよび方法を提供する。
【解決手段】(a)ユーザ・データを記憶するための第一のNVM、そして(b)ユーザ・データに関連する管理データを記憶するための、第一のNVMから分離した第二のNVMを含むSIMカード。第一のNVMはブロック消去可能であること、そして第二のNVMはワード消去可能であることが好ましい。第一のNVMはフラッシュメモリであること、そして第二のNVMはEEPROMであることが好ましい。管理データは、第一のNVMの仮想アドレスを物理デバイス・アドレスへマップするためのマッピング・テーブルを含むことが好ましい。ユーザ・データおよび管理データは、ファイル・システム内で編成されることが好ましい。管理データは、少なくとも一つのファイル・アロケーション・テーブルを含むことが最も好ましい。管理データは、少なくとも一つのファイル・ディレクトリを含むことが最も好ましい。この場合、少なくとも一つのファイル・ディレクトリは、ファイル名、ファイル・サイズ、ファイル属性およびファイル・セクターの物理アドレスからなるグループから選択される少なくとも一つのアイテムを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データおよびアプリケーション記憶のために不揮発性メモリ(NVM)を用いるデータ処理システム、そして、そのような記憶装置を管理するための方法に関する。フラッシュと電気的に消去可能でプログラム可能な読み取り専用メモリ(EEPROM)NVMモジュールとの両方からなる拡張スマートカード等の、データ処理システムの性能および耐久性を向上させるシステムおよび方法を開示する。
【背景技術】
【0002】
そのようなデータ処理システムの典型的な例は、スマートカードである。スマートカードは、埋め込み型の集積回路(IC)を持つプラスチック・カードである。スマートカードは、磁気帯カードへの改善として開発されたもので、磁気帯カードを超えるいくつかの優位性を提供する。例えば、スマートカードの最大記憶容量は、磁気帯カードのそれよりも非常により大きい。スマートカードの応用として用いる大容量SIMカードは、典型的に、256KBを超えるメモリ記憶域を含む。また、多くは、64MBを超えるメモリ記憶域を含む。そのようなアプリケーションに用いるメモリの種類として、フラッシュメモリは人気が高い。
【0003】
スマートカードは、典型的に、メモリそして(関連するロジック・メモリおよびソフトウェアを持つ)マイクロコントローラを含む。スマートカード内に記憶されたデータへのアクセスは、オペレーティングシステムおよびセキュリティ・ロジックによって制御されるインターフェイスを介して行う。前衛的な大容量スマートカードの例は、(イスラエル、キーファ・サバ、Mシステムズ社から入手可能な)メガSIM(商標)カードである。メガSIM(商標)カードは、MMS(すなわち、マルチメディア・メッセージ通信サービス)、MP3(すなわち、メディアプレーヤ3規格)、そしてビデオ・ファイルをダウンロードする等の、種々の前衛的な移動サービスに対して、スマートカード販売業者が、(外的メモリ・カード記憶とは対照的に)SIM内に記憶容量を備え、完全なパーソナル情報管理(PIM)機能を提供し、そして高解像度の画像記憶を可能にする。
【0004】
大容量SIMカードは、追加の記憶メモリを持つ標準SIMカードである。EEPROMは、標準SIM機能の一部であって、SIMデータ・ファイルを、ISO7816・SIMインターフェイスを介して管理するために使用するものである。そのようなデータは、暗号化キー、そしてSIMベースのコンタクト・リストを含む。EEPROMが、記憶メモリよりもセキュアなSIMコントローラの一部であるため、EEPROMは非常に安全なメモリ・コンポーネントと考えられている。記憶メモリは、典型的に、特別なセキュリティ・メカニズムのない商業的なフラッシュメモリである。記憶メモリは、高速インターフェイス(例えば、MMC、SDおよびUSB)を介してアクセス可能であり、ユーザ・データ(例えば、画像、音楽、ビデオおよびアプリケーション)を記憶するのに利用されている。EEPROMとは異なり、記憶メモリは、典型的に、標準FAT(ファイル・アロケーション・テーブル)ファイル・システムとしてフォーマットされ、SIMカードそれ自体によってではなく、ホスト・デバイス(例えば、携帯電話)のオペレーティングシステムによって管理される。
【0005】
図1は、従来の技術によるデータ処理システム、大容量SIMカード18の簡略ブロック図である。大容量SIMカード18は、SIMバス4を介して数種類のメモリへ接続されるSIM・CPU2を含む。RAM6は、主に一時的なデータ記憶に使用される揮発性メモリである。RAM6は、また、アプリケーション・キャッシュとしても用いられる。ROM8は、オペレーティングシステムおよびアプリケーションを記憶するために使用される、恒久的な消去不能記憶装置である。いくつかのシステムにおいては、ロードされるソフトウェアを変更させて機能を拡張させる柔軟性を提供するために、ROM8に代えて、消去可能なメモリ記憶装置を備える場合もある。
【0006】
EEPROM10は、バイト・プログラム可能な、電気的に消去可能なNVMである。EEPROM10は、主に、構成関連の情報を、そしてアプリケーションに応じて半恒久的なデータを記憶するために使用する。大容量NANDタイプ・フラッシュメモリ12も電気的に消去可能NVMであるが、フラッシュメモリ12は、EEPROM10よりもかなり大きい。フラッシュメモリ12は、典型的に、例えば、画像、音楽、ビデオおよびデータベース(電話帳等)のマス・データ記憶に使用する。EEPROM10は、ワード(すなわち、書き込み可能な最小ビット数)が書き込まれる度にワード消去されるという観点で、「逐語的に」消去可能である。いくつかのEEPROMは、また、より速く書き込むことを支援する、オプションのブロック消去コマンドを提供する。これは、「ブロック毎に」のみ消去可能なフラッシュメモリ12とは対照的である。二つのインターフェイスが、データ処理システムを外部デバイス(例えば携帯電話)に接続するために用いられる。大容量記憶装置へアクセスするためには、高速インターフェイス14Aが使用され、レガシー・デバイスへの接続には、低速インターフェイス14B、すなわちISO7816インターフェイスが使用される。
【0007】
これらのコンポーネント(SIM・CPU2、SIMバス4、RAM6、ROM8、EEPROM10、フラッシュメモリ12、そしてインターフェイス14Aおよび14B)は、ハウジング16内に設けられている。フラッシュメモリ12は、ユーザ・データ20、フラッシュメモリ管理データ22、FAT24およびファイル・メタデータ・ディレクトリ26を含む。タイプ別の情報(すなわち、ユーザ・データ20または管理データ22)をどこに記憶すべきかを決定するロジックは、デバイス・リソースの管理に対して責任を負うSIM・CPU2によって処理される。
【0008】
大容量SIMカード18は携帯電話28内に属し、高速インターフェイス14Bが電話バス30へ作動可能に接続している。携帯電話28は、電話オペレーションを実行するための電話CPU32、(例えば、キーパッド、マイク、スピーカおよびスクリーン等の)ユーザ・インターフェイス・コンポーネントを代表するI/O34、そしてフラッシュメモリ12内の記憶を管理するオペレーティングシステム38を記憶するためのメモリ36を持つ。
【0009】
二つの主なタイプの、シリコン・ベースNVMが、本発明に関連する。
(1)EEPROMデバイスは、フローティングゲート・トランジスタから構成されたNVMである。EEPROMデバイスは、ランダムアクセス・メモリ(RAM)と同様に作動するが、EEPROMの書き込みシーケンスは、RAMよりも遅い。また、各ロケーションへの書き込み回数は、100,000に制限されている。
(2)フラッシュメモリ・デバイスは、フラッシュデバイスが、フラッシュタイプのフローティングゲート・トランジスタから構成された不揮発性の、電気的に消去可能でプログラム可能な、リードオンリー・メモリである点において、EEPROMデバイスに類似している。しかしながら、フラッシュデバイスには、物理アドレス・レベルでのそれらの使用を少し洗練されたものにする特定な制限がある。フラッシュデバイスでは、メモリの以前に書き込んだ領域には、その領域に対して予め消去オペレーションを行わない限り、再び書き込むことは不可能である。これは、再びプログラム可能にするには、フラッシュ・セルを消去(例えば、「1ロジック」へプログラム)しなければならないことを意味する。EEPROMセルも、同様にそのような消去オペレーションを必要とする。違いは、EEPROMにおいては、消去オペレーションが、デバイスによって内部的に書き込みオペレーションの一部として実行されることである。
【0010】
フラッシュデバイスは、さらに、NANDタイプ・フラッシュデバイスとNORタイプ・フラッシュデバイスとに分類される。NANDタイプ・デバイスとNORタイプ・デバイスとの大きな違いは、NANDタイプ・デバイスがブロック読み取りアクセスに限られるのに対して、NORタイプ・デバイスがランダム読み取りアクセスを持つことである。フラッシュデバイス上の消去は、現在市販のNANDタイプ・デバイスにおいて典型的にサイズが16から128キロバイトの、通常「消去ブロック」と呼ぶ、比較的大きなグループのセルに対してのみ実行できる(NORタイプ・デバイスは、より大きな消去ブロックを持つ)。したがって、単一バイトまたは1キロバイトの一部のコンテンツを更新するのに、「ハウス・キーピング」オペレーションを必要とする(すなわち、更新すべきでない消去ブロックのすべてのセクションを最初に他の箇所へ移動させて、消去中も維持させてから、オプションとして、それらのセクションを元の位置へ戻してもよい)。
【0011】
さらに、NANDタイプ・デバイスのブロックは、通常、いくつかの「不良ブロック」を含む。そのようなブロックは、信頼できないので、使用を避けるべきである。このため、初期のデバイス・テスト中にメーカは、そのようなブロックを不良と標識する。また、後のデバイスの通常使用中にブロックの不良が検出されたときにアプリケーション・ソフトウェアがそのようなブロックを不良と標識する。フラッシュデバイス、特にNANDタイプ・デバイスは、EEPROMデバイスと比較して、より密度が高く比較的安価である。このことは、ソリッドステート・ハードディスクの置換としてフラッシュデバイスを用いることを非常に魅力的なものとする。
【0012】
従来の技術によるフラッシュデバイスの制限を克服するために、バン氏の米国特許第5,404,485号(以下、バン485と呼ぶ)は、フラッシュファイル・システム(FFS)を開示している。この特許は、本発明の譲受人に譲渡されており、参照によって本文に完全に記述したものとみなす。FFSは、フラッシュデバイスにデータ記憶およびデータ操作のシステムを提供することによって、これらのデバイスが磁気ディスクをエミュレートすることを可能にしている。従来の技術においては、アプリケーションまたはオペレーティングシステムは、物理アドレスではなく仮想アドレスを用いて、フラッシュ記憶サブシステムと相互作用する。ソフトウェア・アプリケーションと物理デバイスとの間には、仮想アドレスから物理アドレスへのマッピングを提供する中間層が存在する。
【0013】
ソフトウェアは、記憶システムが、制限なしでランダムに読んだり書いたりできる連続な欠陥のない媒体を持つとみなすのに、物理アドレス指定スキームは、スキームのアドレス範囲内に(例えば、不良ブロックに起因する)「ホール」を持つため、仮想アドレス範囲において互いに隣接したデータの部分が、物理アドレス範囲では離れている可能性がある。上述のマッピングを実行する中間層は、ソフトウェア・ドライバでもよい。典型的なスマートカード内では、スマートカードの埋め込み型CPU上でドライバが実行される。択一的に、中間層は、フラッシュデバイスを制御するコントローラ内に埋め込まれてもよく、この場合、ホスト・コンピュータが記憶装置にアクセスするとき、ホスト・コンピュータのメインCPUに対するインターフェイスとして機能する。
【0014】
そのようなアドレス・マッピングを実行するソフトウェアまたはファームウェアの実施例は、典型的に、「フラッシュ管理システム」または「フラッシュファイル・システム」と呼ぶ。しかし、後者の用語は、その実施例が、パソコンのオペレーティングシステムで使用するファイルという意味において「ファイル」を必ずしもサポートするわけではなく、むしろ、ハードディスク・ソフトウェア・ドライバがエクスポートするものに類似したブロック・デバイス・インターフェイスをサポートするため、誤った名称である。
【0015】
すべてのタイプの、シリコン・ベースのNVMは、損耗を受ける。これは、特定な書き込みあるいは消去回数後に、関連ブロックまたはバイトが故障する確率が高いことを意味する。(データ耐久度と呼ぶ)典型的なデータ・サイクリング数は、100,000回の消去あるいは書き込みであり、その後、ロケーションをもはや消去できない確率は高い。
【0016】
上記のフラッシュ管理システムを用いる従来の技術によるデバイスは、フラッシュメモリの一つのセクションを、管理情報(例えばマッピング・テーブル)を維持するために確保している。フラッシュデバイスが新しいデータで更新される度に、オペレーションは、実際のデータの書き込みと、更新管理情報の書き込みというもう一つの書き込みとを行う。このプロセスは、これら二つの書き込みオペレーションが連続的に実行されなければならないため、書き込みプロセスが遅くなる。管理情報を記憶するためにフラッシュ領域を用いることのもう一つの欠点は、フラッシュメモリのブロック・アクセスという特徴に起因する。単一バイトの更新には、ページ全体の書き込みオペレーション、そして多くの場合ブロック消去オペレーションが関わるため、このプロセスをさらに遅くする。
【0017】
考慮すべきもう一つの要因は、データ処理システムが、典型的に、ファイル名、サイズ、属性(例えばアクセス許可)、そしてファイル・データを維持する少なくとも一つのセクターの物理アドレスを含むファイル・メタデータに関連させたファイル内にデータを編成するという事実である。ファイル・メタデータは、ディレクトリと、ファイルへの記憶アドレスの割り当てを記録するFAT内に維持される。従来の技術によるシステムは、同じデータ記憶デバイス内の、この目的のために割り当てたメモリ領域内にFATを維持する。新しいファイルを書き込む、または既存ファイルを更新することは、いくつかの連続書き込みオペレーションを伴う。実際のデータを書き込むためのもの、ディレクトリへ書き込むためのもの、そしてFATへ書き込むためのもう一つ。上記に説明したように、記憶デバイスがフラッシュデバイスである場合、これらの書き込みオペレーションの各々は、実際に、二つの書き込みオペレーションを含む。一方が実際のセクターへ書き込むこと、そして他方がフラッシュ管理データを更新すること。管理ディレクトリの更新は、2、3バイトのみの書き込みを必要とするものであるが、フラッシュメモリへの書き込みは、常に、ページ全体の書き込みオペレーション、そして多くの場合ブロック消去オペレーションを必要とする。
【0018】
チェン氏の米国特許第6,456,528号に説明がある従来の技術は、情報を記憶するための二つの異なる方法を持つ同じデバイス内の一つのロケーションへFATデータを書き込むことを提案している。この従来の技術は、一方の方法を用いてFATを、そして他方を用いてデータを記憶することの利点について考察している。しかしながら、この従来の技術は、データおよび管理データの両方に対して同じ記憶デバイスを用いる。この従来の技術は、二つの連続的な書き込みオペレーションの問題、そして本出願で考察するページ全体の更新の必要性を解決しない。
【0019】
従来の技術によるシステムのもう一つの例は、オークレール氏およびハラリ氏の米国特許第5,778,418号に開示されている。この特許は、ソリッドステート・メモリ・デバイスと、ディスクの性能を拡張するための回転ディスクとの組み合わせを開示している。この特許は、機械式ハードディスクあるいはソリッドステート・メモリ・デバイスのいずれかにおける、ロジック・セクター・アドレスと物理データ記憶ロケーションとの間でのマッピングを説明する。この従来の技術によるシステムは、本出願で考察するように、管理関連のデータとデバイスへ書き込むべき実際データとを区別することによって書き込みオペレーションの効率を改善するという課題を扱っていない。
【0020】
二つの独立した記憶デバイスを用いるシステムを持つことは望ましいことであろう。そのようなシステムは、上述の(ユーザ・データに対する一つと、管理データに対する一つとの)二つの書き込みオペレーションが平行に実行されることを可能にすることによって性能を改善するだろう。
【発明の開示】
【発明が解決しようとする課題】
【0021】
明確にする目的で、以下のいくつかの用語を、特に本出願の内容に対して定義する。本文における用語「マッピング・テーブル」は、フラッシュファイル・システム(FFS)管理情報に言及する。本文における用語「ファイル・メタデータ」は、ファイル・システム(FS)管理情報に言及する。本文における用語「管理データ」は、FFSあるいはFSソフトウェア・モジュールが用いる管理情報に言及する。
【0022】
本文における用語「ユーザ・データ」は、ユーザによって記憶される実ファイルに言及する。本発明は、単一レベル・セル(SLC)フラッシュメモリおよびマルチレベル・セル(MLC)フラッシュメモリの両方へ適用できる。以降の考察は、主にSLCセルに集中するが、本発明がどのようにMLCセルへ適用可能であるかは、同業者には明らかである。本文における用語「消去」および「書き込み」は、メモリ・セルのスレショルド電圧を設定することに言及し、消去は、典型的に、1ロジック値に対応するよう電圧を設定し、そして書き込みは、典型的に、SLCセルの場合、0ロジック値に対応するよう電圧を設定する。本文では、用語「書き込み」および「プログラミング」を置換可能に用いている。
【0023】
本文における用語「大容量SIMカード」は、上述のレガシーSIMカード機能に加えて、画像および音楽ファイルを記憶するために典型的に用いられる大容量(すなわち、>256KB、望ましくは>64MB)のメモリ記憶装置(例えば、フラッシュメモリ)を含むSIMカードに言及する。大容量SIMカードは、通常、大容量記憶装置にアクセスするための、SD(セキュア・デジタル(商標))またはMMC(マルチメディア・カード)インターフェイス等の高速インターフェイスを持つ。
【0024】
本発明の目的は、例えば、フラッシュおよびEEPROM・NVMモジュールの両方からなる大容量SIMカード等の、データ処理システムの性能および耐久性を向上させるためのシステムおよび方法を提供することである。
【0025】
本発明には、二つの異なる種類の管理アプリケーションが関わる。
(1)(名称にも関わらず、ファイルとは無関係である)フラッシュファイル・システム(FFS)は、フラッシュメモリをブロック・デバイスとして管理する。FFSは、損耗平準化、エラー検出および訂正を行い、必要に応じて消去オペレーションを実行する。FFSは、仮想アドレスを物理デバイス・アドレスへ論理的にマップするマッピング・テーブルを維持する(すなわち、セクター番号を、論理あるいは仮想アドレス(すなわち、セクター番号)に対して現在割り当てられている物理アドレスへ変換する)。
(2)ファイル・システム(FS)は、典型的に、使用中のオペレーティングシステムの一部である。FSは、(ファイル名、ファイル属性を含む)ファイル・メタデータを、ディレクトリ領域およびファイル・アロケーション・テーブル(FAT)内に記憶する。
【0026】
本発明によれば、フラッシュメモリ・モジュールは、データを記憶するために用いられる。他方、管理データの一部分(またはすべて)は、EEPROMモジュール内に記憶される。FFSマッピング・テーブルをEEPROM内に記憶することによって、以下の大きな改善が達成できる。
(a)性能の向上。ほとんどの場合は、わずか2、3バイトのみの書き込みが必要である。もしマッピング・テーブルをフラッシュメモリ内に記憶するならば、フラッシュメモリへの書き込みの度にページ全体を再び書き込むことになるだろう。加えて、空きページが全くないならば、このオペレーションは、ブロック消去オペレーションを伴うことになり、このプロセスをさらに遅くする。
(b)少ないメモリ損耗。典型的な管理データ更新には、わずか2、3バイトが関係するのみであるため、EEPROMの使用は、フルページを再び書き込む必要性を排除する。
(c)簡略化した、より効率的なFFS管理。FFS管理アプリケーションは、EEPROM内の関連バイトに直接的にアクセスできるため、フルページ・アクセスの必要は全くない。
【0027】
本発明の追加の改善は、フラッシュメモリ内への代わりにEEPROM内へ、ファイル・メタデータまたは特にFATを記憶することによって達成可能である。FATは、典型的に、ファイルがアップデートされる度に更新される。本発明は、FATを記憶するために、バイト・アクセス・メモリ(EEPROM)を用いる。このことは、フラッシュメモリの代わりにEEPROM内にマッピング・テーブル情報を記憶することによって達成可能なことに類似する、性能の向上および損耗の減少をもたらす。
【0028】
本発明は、どのフラッシュ・ベースのデータ記憶システムにも役立つが、特に、他の理由でEEPROMが典型的に存在する大容量SIMカードに有用である。注目すべきことは、本発明が、フラッシュメモリを管理する特定な方法に限定されないことである。EEPROM内にファイル・メタデータを、そしてフラッシュメモリ内にユーザ・データを置くことによって、どのフラッシュ管理アルゴリズムをも拡張できる。
【0029】
したがって、本発明によれば、以下のものを含むSIMカードが初めて提供される。(a)ユーザ・データを記憶するための第一のNVM。そして(b)ユーザ・データに関連する管理データを記憶するための、第一のNVMから分離した第二のNVM。
【0030】
第一のNVMはブロック消去可能であること、そして第二のNVMはワード消去可能であることが好ましい。
【0031】
第一のNVMはフラッシュメモリであること、そして第二のNVMはEEPROMであることが好ましい。
【0032】
カードは、さらに、以下のものを含むことが好ましい。(c)第一のNVMおよび第二のNVMを収容するためのハウジング。ハウジングは、スマートカードID1またはIDー000フォーム・ファクタを持つように構成されることが最も好ましい。
【0033】
管理データは、第一のNVMの仮想アドレスを物理デバイス・アドレスへマップするためのマッピング・テーブルを含むことが好ましい。
【0034】
ユーザ・データおよび管理データは、ファイル・システム内で編成されることが好ましい。
【0035】
管理データは、少なくとも一つのファイル・アロケーション・テーブルを含むことが最も好ましい。
【0036】
管理データは、少なくとも一つのファイル・ディレクトリを含むことが最も好ましい。この場合、少なくとも一つのファイル・ディレクトリは、ファイル名、ファイル・サイズ、ファイル属性およびファイル・セクターの物理アドレスからなるグループから選択される少なくとも一つのアイテムを含む。
【0037】
本発明によれば、SIMカード内のデータを管理するための、以下のステップを含む方法が初めて提供される。(a)カード内に記憶すべきユーザ・データを受信するステップ。(b)ユーザ・データを第一のNVMへ書き込むステップ。そして(c)第一のNVMから分離した第二のNVMへ、ユーザ・データに関連した管理データを書き込むステップ。
【0038】
管理データは、第一のNVMの仮想アドレスを物理デバイス・アドレスへマップするためのマッピング・テーブルを含むことが好ましい。
【0039】
ユーザ・データおよび管理データは、ファイル・システム内で編成されることが好ましい。
【0040】
管理データは、少なくとも一つのファイル・アロケーション・テーブルを含むことが最も好ましい。
【0041】
管理データは、少なくとも一つのファイル・ディレクトリを含むことが最も好ましい。この場合、少なくとも一つのファイル・ディレクトリは、ファイル名、ファイル・サイズ、ファイル属性およびファイル・セクターの物理アドレスからなるグループから選択される少なくとも一つのアイテムを含む。
【0042】
これらの実施例および他の実施例を、以下で詳細に説明する。
【0043】
さて、本発明を、例証としての添付の図面を参照しながら説明する。
【発明を実施するための最良の形態】
【0044】
本発明は、データ処理システムの性能および耐久性の両方を向上させるためのシステムおよび方法に関する。本発明による、データ処理システムの性能および耐久性の両方を向上させるための原理および作用は、付随の説明および図面を参照にすれば、よりよく理解できる。
【0045】
さて、図面を参照する。図2は、本発明の好適実施例による、典型的なデータ処理システムを表す簡略ブロック図である。具体的には、図2は、本発明の原理に従って修正した図1の大容量SIMカードを表す。SIMバス4は、数種類のメモリを結合する。RAM6は、一時的なデータ記憶に主に使用される揮発性メモリである。RAM6は、アプリケーション・キャッシュとしても使用される。ROM8は、オペレーティングシステムおよびアプリケーションを記憶するために使用される、恒久的な、消去不可能な記憶装置である。いくつかのシステムでは、ロードされるソフトウェアを変更して拡張する際の柔軟性を提供するために、ROM8の代わりに、消去可能なメモリ記憶装置を実装することもある。本発明によって指定するように、管理データ22、FAT 24およびファイル・メタデータ・ディレクトリ26は、(図1に示す構成とは対照的に)EEPROM10内に記憶され、そしてユーザ・データ20はフラッシュメモリ12内に記憶される。
【0046】
EEPROM10は、バイト・プログラムが可能な、電気的に消去可能なNVMである。EEPROM10は、構成関連の情報を記憶するために、そしてアプリケーションに応じて、半恒久的なデータを記憶するために使用される。しかし、従来の技術に一般的な、EEPROM10のそれらの用途に加えて、本発明のEEPROM10は、また、フラッシュメモリ管理データ22、FAT24およびファイル・メタデータ・ディレクトリ26を記憶する。フラッシュメモリ12も電気的に消去可能なNVMであるが、フラッシュメモリ12は、EEPROM10よりもサイズが著しく大きい。フラッシュメモリ12は、典型的に、例えば、画像、音楽、ビデオおよび(電話帳等の)データベースのマス・データ記憶のために使用される。インターフェイス14Aおよび14Bは、データ処理システムを、(例えば携帯電話等の)外部デバイスに接続するために使用される。これらのコンポーネント(バス4、RAM6、ROM8、EEPROM10、フラッシュメモリ12およびインターフェイス14Aおよび14B)は、ハウジング16内に設けられている。好適実施例においては、ハウジング16は、(例えば、スマートカードID1またはIDー000等の)スマートカード・フォーム・ファクタを持つ。
【0047】
図3は、本発明の好適実施例による、メモリ・デバイス・ドライバの一部として実装される、書き込みセクターの典型的なオペレーション・プロシージャを表すフローチャートである。図3に示すオペレーション・プロシージャを説明する際に、より明確にするために、図2に示すコンポーネントを参照する。この例は、管理データ22およびFAT24をEEPROM10内に維持し、他のファイル・メタデータおよびユーザ・データ20をフラッシュメモリ12内に記憶するシステムを表す。(例えば、ファイルを書き込む、ファイルを消去する、ファイルを作成する、ディレクトリを作成する)ファイル・システム・コマンドは、(例えば、図2に示すスマートカード・インターフェイス14Aおよび14B等の)インターフェイスを介して、デバイスが受信し、デバイスは、一つのセクター上でのオペレーションを開始する(ブロック40)。オペレーション要求が定義するセクター番号は、そのセクター番号がFAT24に属するかどうかを判定するために調べられる(42ブロック)。
【0048】
このアルゴリズムを実行するファームウェアは、FAT構造および物理ロケーションを認識していると仮定する。アルゴリズムを実行しているファームウェアがFAT構造および物理ロケーションを認識していない場合は、このステップ(42ブロック)はスキップしてもよい。この場合、すべてのセクターを非FATとみなす。セクターが、本発明によればEEPROM10内に記憶されるFAT24の一部として識別された場合は、FAT24を更新する(44ブロック)。この場合、フラッシュメモリ12へ書き込むデータは全く要求されず、プロセスは終了する(ブロック46)。セクターがFATセクターでない場合、ファームウェアは、ユーザ・データ20を記憶するための空き領域を割り当てる必要がある(ブロック48)。ユーザ・データ20のための空きがある場合、ファームウェアは、ユーザ・データ20をフラッシュメモリ12へ書き込んで(ブロック50)、EEPROM10内の管理データ22を更新する(ブロック52)。両オペレーション50および52が平行に実行されてから、プロセスは終了する(ブロック54)。
【0049】
スマートカード実施例では、このことは、CPU2が、EEPROM10内の管理データ22を更新するのに、ユーザ・データ20がフラッシュメモリ12へ実際に書き込まれるのを待つ必要がないことを意味する。利用可能な空きがない場合、ファームウェアは、フラッシュメモリ12内の不使用ブロックを消去する、そしてユーザ・データ20を密集化させる「ハウスキーピング」オペレーション(ブロック56)を実行する。加えて、ブロック56で実行されているユーザ・データ20の再編成を反映するために、EEPROM10内の管理データ22が更新される(58ブロック)。両オペレーション(ブロック56および58)は、平行に実行される(すなわち、CPU2は、フラッシュ関連のオペレーション(ブロック56)が完了するのを待たずに、EEPROM10内の管理データ22を更新する(ブロック58))。
【0050】
不使用ブロックを消去するステップ(ブロック56)は、以下の理由により必要である。フラッシュメモリ12への書き込みのためには、書き込まれるブロックのすべてのビットが1ロジックを持つことを確かにする必要がある。書き込みオペレーションは、代表電圧レベルを1ロジックから0ロジックへ変化させることのみが可能である(0ロジックから1ロジックへの変更は、消去オペレーションが実行する)。ブロックが使用されていない場合、ブロックが既に消去されている(すなわち、ブロックのすべてのビットが1ロジックを持つ)のかが明らかではない。典型的に、不使用ブロックが以前に消去されているということはない。
【0051】
本発明を限られた数の実施例に関して説明したが、本発明の多くの変形、修正、そして他の応用が可能であることは明らかである。
【図面の簡単な説明】
【0052】
【図1】図1は、従来の技術によるデータ処理システムの簡略ブロック図である。
【図2】図2は、本発明の好適実施例による典型的なデータ処理システムを表す簡略ブロック図である。
【図3】図3は、本発明の好適実施例による、メモリ・デバイス・ドライバの一部として実装される書き込みセクターの典型的なオペレーション・プロシージャを表すフローチャートである。

【特許請求の範囲】
【請求項1】
(a)ユーザ・データを記憶するための第一のNVM、そして
(b)前記ユーザ・データに関連する管理データを記憶するための、前記第一のNVMから分離した第二のNVMからなるSIMカード。
【請求項2】
前記第一のNVMがブロック消去可能であり、前記第二のNVMがワード消去可能である、請求項1のカード。
【請求項3】
前記第一のNVMがフラッシュメモリであり、前記第二のNVMがEEPROMである、請求項1のカード。
【請求項4】
さらに、
(c)前記第一のNVMおよび前記第二のNVMを収容するためのハウジングからなる、請求項1のカード。
【請求項5】
前記ハウジングが、スマートカードID1フォーム・ファクタを持つように構成される、請求項4のカード。
【請求項6】
前記ハウジングが、スマートカードID―000フォーム・ファクタを持つように構成される、請求項4のカード。
【請求項7】
前記管理データが、前記第一のNVMの仮想アドレスを物理デバイス・アドレスへマップするためのマッピング・テーブルを含む、請求項1のカード。
【請求項8】
前記ユーザ・データおよび前記管理データが、ファイル・システム内で編成される、請求項1のカード。
【請求項9】
前記管理データが、少なくとも一つのファイル・アロケーション・テーブルを含む、請求項8のカード。
【請求項10】
前記管理データが、少なくとも一つのファイル・ディレクトリを含み、そして前記少なくとも一つのファイル・ディレクトリが、ファイル名、ファイル・サイズ、ファイル属性およびファイル・セクターの物理アドレスからなるグループから選択した少なくとも一つのアイテムを含む、請求項8のカード。
【請求項11】
SIMカード内のデータを管理するための方法であって、
(a)カード内に記憶すべきユーザ・データを受信するステップ、
(b)前記ユーザ・データを第一のNVMへ書き込むステップ、そして
(c)前記第一のNVMから分離した第二のNVMへ、前記ユーザ・データに関連した管理データを書き込むステップからなる、方法。
【請求項12】
前記管理データが、前記第一のNVMの仮想アドレスを物理デバイス・アドレスへマップするためのマッピング・テーブルを含む、請求項11の方法。
【請求項13】
前記ユーザ・データおよび前記管理データが、ファイル・システム内で編成される、請求項11の方法。
【請求項14】
前記管理データが、少なくとも一つのファイル・アロケーション・テーブルを含む、請求項13の方法。
【請求項15】
前記管理データが、少なくとも一つのファイル・ディレクトリを含み、そして前記少なくとも一つのファイル・ディレクトリが、ファイル名、ファイル・サイズ、ファイル属性およびファイル・セクターの物理アドレスからなるグループから選択した少なくとも一つのアイテムを含む、請求項13の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公表番号】特表2009−525511(P2009−525511A)
【公表日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2008−543997(P2008−543997)
【出願日】平成18年12月3日(2006.12.3)
【国際出願番号】PCT/IL2006/001393
【国際公開番号】WO2007/066326
【国際公開日】平成19年6月14日(2007.6.14)
【出願人】(502111536)サンディスク アイエル リミテッド (64)
【住所又は居所原語表記】Central Park 2000,Atir Yeda Street 7,44425 Kfar Sabad,Israel
【Fターム(参考)】