(57)【特許請求の範囲】
【請求項１】
第１の不揮発性メモリと第２の不揮発性メモリとを有するメモリカードに、１セクタ単位で転送されるデータを、書き込むメモリカードのデータ書き込み方法であって、
前記第１の不揮発性メモリ、前記第２の不揮発性メモリは、書き込み単位であるセクタと、複数個の前記セクタで構成される消去単位であるブロックとで構成され、
データ領域が始まる先頭の論理アドレスを前記第１の不揮発性メモリのデータ領域のブロックの先頭物理アドレスにオフセットして割り付けた後、残りの論理アドレスを前記第１の不揮発性メモリ、前記第２の不揮発性メモリにブロック単位で交互に割り付け、論理アドレスを前記第１の不揮発性メモリのデータ領域の最後まで割り付けたら、前記オフセットにより不足する論理アドレスを前記第１の不揮発性メモリの物理アドレスの先頭から割り付けたものであり、
前記メモリカードのデータ書き込み方法は、
転送された１セクタ分の書き込みデータを前記メモリカードのバッファメモリに一時的に格納し、前記第１の不揮発性メモリの１ブロック分のセクタの管理情報を順次読み込み、当該ブロックをブロック消去し、前記メモリカードのバッファメモリに一時的に格納された１セクタ分の書き込みデータを前記第１の不揮発性メモリのセクタに格納する第１の工程と、
１セクタ単位で転送される書き込みデータを前記第１の不揮発性メモリのセクタに１ブロック達するまで順次格納しながら、並行して、前記第２の不揮発性メモリの１ブロック分のセクタの管理情報を順次読み込み当該ブロックをブロック消去する第２の工程と、
１セクタ単位で転送される書き込みデータを前記第２の不揮発性メモリのセクタに１ブロックに達するまで順次格納しながら、並行して、前記第１の不揮発性メモリに１ブロック分のセクタの管理情報を順次読み込み当該ブロックをブロック消去する第３の工程と、
を有し、前記第２の工程と前記第３の工程とを繰り返すことにより、前記第１の不揮発性メモリ、前記第２の不揮発性メモリにおける消去、書き込み、メモリカードへの書き込みデータの転送を並列して行うことを特徴とするメモリカードのデータ書き込み方法。
【発明の詳細な説明】
技術分野
本発明は、メモリカードの書き込み高速化技術に関し、特に、フラッシュメモリにおける論理アドレスの割り付けに適用して有効な技術に関するものである。
背景技術
ノートブック形パーソナルコンピュータや多機能端末機などの外部記憶メディアとして、メモリカードが急速に普及している。近年の高性能化の要求に伴って、メモリカードに搭載される半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、電池なしで大容量のデータを保持できるフラッシュメモリが用いられている。
本発明者が検討したところによれば、メモリカードに用いられているフラッシュメモリは、データ書き込み動作として、データが書き込まれる前に、書き込まれるアドレスのデータ消去を行っている。この消去は、セクタ単位（たとえば、１セクタ＝５１２Ｂｙｔｅ）あるいはブロック単位（８セクタ＝４ｋＢｙｔｅ）で実行されている。
また、ホストから入出力されるデータは、クラスタ単位（たとえば、４ｋＢｙｔｅまたは２ｋＢｙｔｅ）となっており、このクラスタによりデータの書き込みや読み出しが行われている。
さらに、メモリカードにおいては、製品出荷前などにフラッシュメモリの論理アドレス割り付けが行われる。論理アドレスは、マスタブートレコード、ファイルアロケーションテーブル、およびディレクトリなどの各種制御管理情報が格納される領域の後にホストから入出力されるデータを格納するデータ領域が割り付けられる。
なお、この種のＩＣカードについて詳しく述べてある例としては、１９９０年１２月１日、株式会社工業調査会発行、大島雅志（編）、「電子材料」Ｐ２２〜Ｐ２６があり、この文献には、各種のＩＣカードにおける技術動向が記載されている。
ところが、上記のようなメモリカードのデータ消去技術では、次のような問題点があることが本発明者により見い出された。
すなわち、論理アドレス割り付けにおいては、フラッシュメモリの物理アドレスの順番通りに割り付けられているために、クラスタとフラッシュメモリに割り付けられる論理アドレスとがずれてしまい、前述したデータ書き込み前のデータ消去を、セクタ単位あるいはセクタ単位とブロック単位との組み合わせによって実行しなければならず、消去回数が多くなってしまい、書き込み時間が長くなるという問題がある。
また、フラッシュメモリへのデータ書き込みにおいては、ホストからのデータ転送、消去、書き込み処理をシリアル処理しているので、それぞれの処理において時間が必要となってしまうために書き込み速度の高速化の妨げとなっているという問題がある。
本発明の目的は、ブロックとクラスタとを一致させ、ブロック単位の消去を効率よく行い、かつデータ書き込みを効率よく行うことにより、データの書き込み速度を高速化することのできる論理アドレスの割り付け方法およびメモリカードのデータ書き込み方法を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
発明の開示
本発明は、オフセット値が格納されたオフセット格納部と、該オフセット格納部のオフセット値と入力された論理アドレスとを演算するオフセット演算部とを備え、オフセット演算部の演算により論理アドレスをオフセットさせて不揮発性メモリに備えられた物理アドレスに割り付け、ブロック単位とクラスタ単位とを一致させるものである。
また、本発明は、前記オフセット格納部を不揮発性メモリのある領域に備えたものである。
さらに、本発明は、前記オフセット値を、不揮発性メモリにおけるＩＤ領域に格納するものである。
また、本発明は、不揮発性メモリに備えられた物理アドレスをあるセクタ毎にまとめてセクタブロックを形成し、それぞれのセクタブロックのうち、任意のセクタブロックにおける先頭の物理アドレスを、データ領域が始まる先頭の論理アドレスに割り付け、論理アドレスのデータ領域を物理アドレスの最後のセクタまで割り付けるものである。
さらに、本発明は、不揮発性メモリに備えられた物理アドレスをあるセクタ毎にまとめてセクタブロックを形成し、それぞれのセクタブロックのうち、任意のセクタブロックにおける先頭の物理アドレスを、データ領域が始まる先頭の論理アドレスに割り付け、論理アドレスのデータ領域が物理アドレスの最後のセクタまで割り付いたら、残りのデータ領域を物理アドレスの最初から割り付けるものである。
また、本発明は、それら２つの不揮発性メモリに備えられたそれぞれの物理アドレスを、あるセクタ毎にまとめてセクタブロックを形成し、２つの不揮発性メモリのうち、一方の不揮発性メモリの任意のセクタブロックにおける先頭の物理アドレスにデータ領域が始まる先頭の論理アドレスを割り付けた後、残りの論理アドレスを交互に２つの不揮発性メモリのセクタブロック毎に割り付け、論理アドレスのデータ領域が、２つの不揮発性メモリにおける物理アドレスの最後のセクタまで割り付いたら、残りのデータ領域を前記一方の不揮発性メモリにおける物理アドレスの最初から割り付けるものである。
さらに、本発明は、２Ｎの不揮発性メモリに備えられたそれぞれの物理アドレスを、あるセクタ毎にまとめてセクタブロックを形成し、２Ｎ個の不揮発性メモリのうち、ある１つの不揮発性メモリの任意のセクタブロックにおける先頭の物理アドレスにデータ領域が始まる先頭の論理アドレスを割り付けた後、残りの論理アドレスを順番に２Ｎ個の不揮発性メモリのセクタブロック毎に割り付け、論理アドレスのデータ領域が、２Ｎ個の不揮発性メモリにおける物理アドレスの最後のセクタまで割り付いたら、残りのデータ領域を前記ある１つの不揮発性メモリにおける物理アドレスの最初から割り付けるものである。
また、本発明は、論理アドレスが割り付けられるセクタブロックの物理アドレスが、データ領域が始まる先頭の論理アドレスにもっとも近いアドレスよりなるものである。
さらに、本発明は、ホストから転送される書き込みデータをメモリカードに一時的に格納し、不揮発性メモリにおける１ブロック分の管理情報を読み込んで、そのブロック消去を行い、メモリカードに一時的に格納された書き込みデータを不揮発性メモリのブロック消去されたセクタに格納しながら、ホストから転送される次の書き込みデータをメモリカードに一時的に格納するものである。
また、本発明は、１番目にデータ書き込みされる不揮発性メモリに備えられたセクタブロックの管理情報を読み込み、そのセクタブロックをブロック消去する第１の工程と、メモリカードに一時的に格納された書き込みデータを不揮発性メモリのセクタに格納しながら、２番目にデータ書き込みされる不揮発性メモリにおける任意のセクタの管理情報を読み込み、次の書き込みデータをメモリカードに一時的に格納する第２の工程と、２番目にデータ書き込みされる不揮発性メモリにおけるセクタブロックのすべての管理情報が読み込まれると、そのセクタブロックの消去を行いながら、メモリカードに一時的に格納された書き込みデータを１番目の不揮発性メモリのセクタに格納し、２番目にデータ書き込みされる不揮発性メモリにおける任意のセクタの管理情報を読み込む第３の工程と、第２、第３の工程における処理を、２Ｎ番目にデータ書き込みされる不揮発性メモリまで繰り返し行うものである。
それらにより、複数個の不揮発性メモリにおける消去、書き込み、ホストからメモリカードへのデータ転送を並列して実行できるので、データの書き込み時間を大幅に短縮することができる。
以上のことにより、メモリカードの性能を大幅に向上することができる。
発明を実施するための最良の形態
本発明を詳細に説明するために、添付の図面に従ってこれを説明する。なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
本実施の形態１において、メモリカード１は、フラッシュメモリカードであり、ノートブック形パーソナルコンピュータや多機能端末機などの外部記憶メディアとして用いられる。
メモリカード１は、インタフェース回路２、マイクロコンピュータ３、およびフラッシュメモリ（不揮発性メモリ）４から構成されており、これらの電子部品がプリント配線基板上に実装されている。そして、インタフェース回路２、マイクロコンピュータ３によってコントローラが構成されている。このメモリカード１は、たとえば、パーソナルコンピュータなどのホストに設けられたＰＣカードスロットルに着脱自在に実装される。
また、インタフェース回路２は、コマンドレジスタ５、データレジスタ６、ステータスレジスタ７、コマンドデコーダ８、バッファメモリ９，１０、ならびにインタフェースコントローラ１１から構成されている。
マイクロコンピュータ３は、割り込み制御回路１２、マイクロプロセッサ（オフセット演算部を含む）１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５、タイマ１６、および入出力ポート１７から構成されている。
インタフェース回路２は、ＰＣカードスロットを介して前述したホストにインタフェースされ、コマンドレジスタ５には、ホストからファイル操作コマンドが与えられ、コマンドはコマンドデコーダ８によりデコードされる。
コマンドデコーダ８は、デコード結果に応じた割り込み信号ＩＲＱ１〜ＩＲＱｎを出力する。割り込み信号ＩＲＱ１〜ＩＲＱｎは割り込み制御回路１２からマイクロプロセッサ１３に与えられる。ＲＯＭ１４には、マイクロプロセッサ１３の動作プログラムが格納されており、マイクロプロセッサ１３はＲＡＭ１５をワーク領域に利用してプログラムを実行する。
マイクロプロセッサ１３は、動作プログラムに基づいてインタフェース回路２、フラッシュメモリ４に対する制御を、入出力ポート１７を介して行う。マイクロコンピュータ３は、インタフェースコントローラ１１にアドレス信号ＡＤＲＳ、アドレスストローブ信号ＡＳｂ、リード信号ＲＤｂ、およびライト信号ＷＲｂを出力し、インタフェースコントローラ１１との間でデータ情報ＤＡＴＡのやり取りをする。
これによって、マイクロコンピュータ３は、データレジスタ６、ステータスレジスタ７、およびバッファメモリ９，１０をインタフェースコントローラ１１を介してアクセスする。
フラッシュメモリ４は、インタフェースコントローラ１１に接続される制御信号線、およびデータ信号線を共有している。さらに、マイクロコンピュータ３は、フラッシュメモリ４のそれぞれに対応するチップイネーブル信号ＣＥを入出力ポート１７から出力する。
これによって、コンピュータ３は、フラッシュメモリ４におけるチップを選択し、インタフェースコントローラ１１にアドレス信号ＡＤＲＳ、アドレスストローブ信号ＡＳｂ、リード信号ＲＤｂ、ライト信号ＷＲｂを出力し、インタフェースコントローラ１１を介してチップ選択されたフラッシュメモリ４に対するアクセスを行う。
また、フラッシュメモリ４について、図２を用いて説明する。
フラッシュメモリ４は、メモリアレイ１８、Ｘアドレスデコーダ１９、Ｘアドレスバッファ２０、マルチプレクサ２１、入力バッファ２２、データ制御回路２３、Ｙゲートアレイ２４、Ｙアドレスデコーダ２５、出力バッファ２６、Ｙアドレスカウンタ２７、制御信号バッファ回路２８、モード制御回路２９、内部電源回路３０から構成されている。
メモリアレイ１８は、メモリマット、センスラッチ回路を有している。このメモリマットは、電気的に消去および書き込み可能な不揮発性のメモリセルトランジスタを多数有している。
このメモリアレイ１８が有するメモリセルトランジスタＴｒは、図１１に示すように、半導体基板、あるいはメモリウェルＳＵＢに形成されたソースＳ、ドレインＤ、チャネル領域にトンネル酸化膜を介して形成されたフローティングゲートＦＧ、ならびに該フローティングゲートＦＧに層間絶縁膜を介して重ねられたコントロールゲートＣＧから構成されている。コントロールゲートＣＧはワード線（図２）に、ドレインＤはビット線（図２）にそれぞれ接続されている。
外部入力端子Ｉ／Ｏ０〜Ｉ／Ｏ７は、アドレス入力端子、データ入力端子、コマンド入力端子が兼用される。外部入力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から入力されたＸアドレス信号は、マルチプレクサ２１を介してＸアドレスバッファ２０に供給される。Ｘアドレスバッファ２０から出力された内部相補アドレスはＸアドレスデコーダによってデコードされてワード線を駆動する。
Ｙアドレスデコーダ２５から出力される選択信号に基づいてＹゲートアレイ２４がビット線の選択を行う。入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から入力されたＹアドレス信号は、Ｙアドレスカウンタ２７にプリセットされ、プリセット点を起点に順次インクリメントされたアドレス信号がＹアドレスデコーダ２５に与えられる。
Ｙゲートアレイ２４において選択されたビット線は、データ出力動作時には出力バッファ２６の入力部に導通され、データ入力動作時にはデータ制御回路２３を介して入力バッファ２２の出力端子に導通される。
出力バッファ２６、入力バッファ２２と入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７との接続は、マルチプレクサ２１により制御される。入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から供給されるコマンドは、マルチプレクサ２１ならびに入力バッファ２２を介してモード制御回路２９に与えられる。
データ制御回路２３は、入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から供給されるデータの他に、モード制御回路２９の制御にしたがった論理値のデータをメモリアレイ１８に供給する。
制御信号バッファ回路２８は、アクセス制御信号としてチップイネーブル信号ＣＥｂ、出力イネーブル信号ＯＥｂ、書き込みイネーブル信号ＷＥｂ、シリアルクロック信号ＳＣ、リセット信号ＲＥＳｂ、ならびにコマンドイネーブル信号ＣＤＥｂが供給される。
モード制御回路２９は、それら信号の状態に応じて外部との信号インタフェース機能などを制御し、コマンドコードにしたがって内部動作を制御する。また、モード制御回路２９は、コマンドにしたがってフラッシュメモリ４の制御を司る。
内部電源回路３０は、書き込み、消去ベリファイ、読み出しなどに用いられる各種の電源を生成し、Ｘアドレスデコーダ１９、メモリマット１８のメモリセルアレイなどに供給する。
次に、メモリカード１に設けられたフラッシュメモリ４に割り付けられる論理アドレスについて、図３、図４を用いて説明する。
図３の左側に示す論理アドレスにおいては、最初にフラッシュメモリ４の管理を行う制御情報データを格納する領域、いわゆる、システム領域が割り付けられている。
このシステム領域における制御情報データは、マスタブートレコードＭＢＲ、ブートセクタＢＳ、ファイルアロケーションテーブルＦＡＴ１，ＦＡＴ２、ならびにディレクトリＤＲによって構成されている。システム領域における論理アドレスは、０ｈ番地〜４Ｃｈ番地（ここで、ｈは１６進数を示す）が割り当てられている。
また、システム領域の後には、論理アドレスにおける４Ｄｈ番地以降から３Ｄ７Ｆｈ番地までの領域が、ホストから入出力されるデータが格納されるデータ領域として割り付けられている。このデータ領域におけるそれぞれの番地は、消去／読み出し／書き込みが行われる単位であるセクタからなり、１セクタは、データ長が５１２Ｂｙｔｅのユーザデータ領域と１６バイトの管理情報領域とから構成されている。
これらシステム領域ならびにデータ領域の論理アドレス割り付けは、メモリカード１の製品出荷前に行われるフォーマット、たとえば、ＭＳ−ＤＯＳ（Ｍｉｃｒｏｓｏｆｔ  Ｄｉｓｋ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：米国マクロソフト社の登録商標）フォーマット時に作成される。
さらに、図３の右側に示すＭＳ−ＤＯＳフォーマット前のフラッシュメモリ４に固定されているアドレスである物理アドレスについて説明する。
このフラッシュメモリ４の場合、たとえば、物理アドレスは、０ｈ番地〜３Ｄ７Ｆ番地が論理アドレスの割り付けに用いられ、３Ｄ８０ｈ番地以降には不良セクタの管理を行うための不良登録テーブルを格納する不良登録テーブル格納領域、およびその不良登録テーブルセクタを参照して代替えセクタにアクセスを行う代替えセクタ領域、メモリカードのドライブ情報ＩＤ（Ｉｄｅｎｔｉｆｙ  Ｄｒｉｖｅ  Ｉｎｆｏｒｍａｔｉｏｎ）を格納するＩＤ領域、メモリカードの名前、種類、機能などの情報ＣＩＳ（Ｃａｒｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔｒｕｃｔｕｒｅ）を格納するＣＩＳ領域が設けられる。不良登録テーブル格納領域、ＩＤ領域、ＣＩＳ領域はユーザーによるアクセスが不可能な領域である。
また、フラッシュメモリ４における物理アドレスへの論理アドレス割り付けについて説明する。
物理アドレスは、０ｈ番地から順番にブロック（８セクタ＝４ｋＢｙｔｅ）単位により区切られている。論理アドレスのデータ領域が始まるアドレスは、４Ｄｈ番地である。
このアドレスに近いブロックには、物理アドレスの５０ｈ番地から始まるブロックがあるので、このブロックの先頭アドレスである５０ｈ番地と論理アドレスにおけるデータ領域の先頭アドレスである４Ｄｈ番地と一致させて順次データ領域として割り付ける。
よって、物理アドレスの３ｈ番地に論理アドレスの０ｈ番地がオフセットされて割り付けられることになる。これによって、ブロックと、ホストから出力されるデータの単位であるクラスタ（４ｋＢｙｔｅまたは２ｋＢｙｔｅ）とを一致させることができる。
オフセットは、フラッシュメモリ４のある領域、たとえば、領域ＩＤなどに予め格納されており、電源投入時に、そのオフセット値をマイクロプロセッサ１３が読み出し、ＲＡＭ１５に格納する。
ホストから指定された論理アドレスは、ＲＡＭ１５に格納されているオフセット値を用いてマイクロプロセッサ１３が演算することによって物理アドレスに変換される。
ここで、物理アドレスと論理アドレスとはオフセットされて割り付けられているので、論理アドレス３Ｄ７Ｄｈ番地〜３Ｄ７Ｆｈ番地が足りないことになるが、これら３つのアドレスは、物理アドレスの先頭に戻り、オフセットによって割り付けられていない物理アドレスの０ｈ番地〜２ｈ番地に割り付けられる。
また、図４は、フラッシュメモリ４の物理アドレスに論理アドレスをオフセットして割り付けた場合を示したものである。
論理アドレスの４Ｄｈ番地からのデータ領域は、物理アドレスにおけるブロックの先頭アドレスである５０ｈ番地から割り付けられており、オフセットして割り付けられたことによって残った論理アドレスの３Ｄ７Ｄｈ番地〜３Ｄ７Ｆｈ番地は、物理アドレスの先頭に戻り、０ｈ番地〜２ｈ番地にそれぞれ割り付けられている。
次に、論理アドレスが割り付けられたフラッシュメモリ４におけるデータ消去について説明する。
たとえば、論理アドレスの４Ｄｈ番地から１６セクタ（２クラスタ）のデータ書き込みが行われる場合、論理アドレスにおける４Ｄｈ番地から１６セクタの間、すなわち、物理アドレスにおける５０ｈ番地〜６０ｈ番地の２つのブロックの消去だけでよいので、消去回数を２回とすることができる。
ここで、本発明者が検討した論理アドレスをそのまま物理アドレスに割り付けた場合の論理アドレス割り付け方法を図５に示す。
この場合、論理アドレスにおけるデータ領域は、４Ｄｈ番地から始まっており、同じく物理アドレスにおけるデータ領域も４Ｄｈ番地から始まっている。本実施の形態１と同様に、物理アドレスは、０ｈ番地から順番にブロック（８セクタ＝４ｋＢｙｔｅ）単位により区切られている。しかし、物理アドレスの４Ｄｈ番地はブロックの先頭ではなく、途中のアドレスであるので、クラスタとブロックの先頭アドレスもずれることになる。
このとき、論理アドレスの４Ｄｈ番地から１６セクタのデータ書き込みが行われると、物理アドレスにおいても４Ｄｈ番地〜５Ｄｈ番地の１６セクタのデータ消去を行わなければならない。
この場合、ブロック消去が行われるは、物理アドレスにおける５０ｈ番地〜５７ｈ番地だけであり、その他の番地における８セクタは、それぞれ個別にセクタ消去を行わなければならず、消去回数は９回となり、データ消去時間が大幅に長くなってしまう。
次に、フラッシュメモリ４におけるデータ書き込み動作について、図６のタイミングチャートを用いて説明する。
まず、ホストから１セクタ分のデータである転送データＴ１がメモリカード１のバッファメモリに転送される。メモリカード１のコントローラは、書き込まれるフラッシュメモリ４のそれぞれのセクタＳ１〜セクタＳ８における管理情報をリードし、不具合がない場合には、それらセクタＳ１〜Ｓ８のデータを１度に消去、すなわち、ブロック消去を行う。
その転送データＴ１は、フラッシュメモリ４の入力バッファに転送され、データ書き込み（書き込み１）が行われる。このとき、ホストからは、次のデータである転送データＴ２が転送される。
転送データＴ１が書き込まれた後、続いて転送データＴ２が、フラッシュメモリ４の入力バッファに入力され、データ書き込み（書き込み２）が行われる。このとき、同様に、ホストからは、次のデータである転送データＴ３が転送される。
このように、フラッシュメモリ４へのデータ書き込みと、メモリカードへのデータ転送とを同時に実行し、かつデータをブロック消去することによってフラッシュメモリ４へのデータ書き込みを効率よく行うことができる。
それにより、本実施の形態１によれば、フラッシュメモリ４の物理アドレスをオフセットさせて論理アドレス割り付けを行うので、ブロック領域とクラスタ領域とを一致させることができ、フラッシュメモリ４のデータをブロック単位によって消去するので、データ書き込み時の消去回数を大幅に少なくすることができる。
また、フラッシュメモリ４へのデータ書き込みと、ホストからのメモリカードへのデータ転送とを同時に実行することによって、データの書き込み時間を大幅に短縮することができる。
次に、実施の形態２におけるメモリカード１ａの構成について説明する。メモリカード１ａは、図７に示すように、インタフェース回路２、マイクロコンピュータ３、ならびにフラッシュメモリ４，４ａから構成されている。インタフェース回路２、マイクロコンピュータ３、フラッシュメモリ４は、前記実施の形態１と同様の構成であるが、フラッシュメモリ４ａが新たに設けられている。
また、インタフェース回路２も、前記実施の形態１と同様に、コマンドレジスタ５、データレジスタ６、ステータスレジスタ７、コマンドデコーダ８、バッファメモリ９，１０、ならびにインタフェースコントローラ１１から構成されており、マイクロコンピュータ３も前記実施の形態１と同様に、割り込み制御回路１２、マイクロプロセッサ１３、ＲＯＭ１４、ＲＡＭ５、タイマ１６、および入出力ポート１７から構成されている。
フラッシュメモリ（不揮発性メモリ）４ａは、フラッシュメモリ４とインタフェースコントローラ１１に接続される制御信号線、およびデータ信号線を共有している。さらに、マイクロコンピュータ３は、フラッシュメモリ４，４ａのそれぞれに対応するチップイネーブル信号ＣＥを入出力ポート１７から出力する。
これによって、マイクロコンピュータ３は、フラッシュメモリ４，４ａにおけるチップを選択し、インタフェースコントローラ１１にアドレス信号ＡＤＲＳ、アドレスストローブ信号ＡＳｂ、リード信号ＲＤｂ、ライト信号ＷＲｂを出力し、インタフェースコントローラ１１を介してチップ選択されたフラッシュメモリ４，４ａに対するアクセスを行う。
さらに、フラッシュメモリ４ａにおける構成も、フラッシュメモリ４（図２）と同様であり、メモリアレイ１８、Ｘアドレスデコーダ１９、Ｘアドレスバッファ２０、マルチプレクサ２１、入力バッファ２２、データ制御回路２３、Ｙゲートアレイ２４、Ｙアドレスデコーダ２５、出力バッファ２６、Ｙアドレスカウンタ２７、制御信号バッファ回路２８、モード制御回路２９、内部電源回路３０から構成されている。
次に、メモリカード１ａに設けられたフラッシュメモリ４、４ａに割り付けられる論理アドレスについて、図８を用いて説明する。
図８における左側は、フラッシュメモリ４に論理アドレスが割り付けられたデータ構成であり、右側には、フラッシュメモリ４ａに論理アドレスが割り付けられたデータ構成を示している。
論理アドレスにおいては、最初にフラッシュメモリ４の管理を行う制御情報データを格納するシステム領域が割り付けられている。このシステム領域における制御情報データは、前記実施の形態１と同様に、マスタブートレコードＭＢＲ、ブートセクタＢＳ、ファイルアロケーションテーブルＦＡＴ、ならびにディレクトリＤＲによって構成されている。
このシステム領域は、論理アドレスにおいて、０ｈ番地〜５８ｈ番地までが割り付けられており、システム領域の後には、論理アドレスの５９ｈ番地以降から７ＡＦＦｈ番地までの領域が、ホストから入出力されるデータが格納されるデータ領域として割り付けられている。これらシステム領域ならびにデータ領域の論理アドレス割り付けは、前記実施の形態１と同様に、メモリカード１の製品出荷前に行われるＭＳ−ＤＯＳフォーマットにより作成される。
さらに、フラッシュメモリ４，４ａに固定されている物理アドレスについて説明する。
フラッシュメモリ４，４ａの物理アドレスは、０ｈ番地〜３Ｄ７Ｆ番地が論理アドレスの割り付けに用いられ、３Ｄ８０ｈ番地以降が、不良セクタの管理を行うための不良登録テーブルを格納する不良登録テーブル格納領域、およびその不良登録テーブルセクタを参照して代替えセクタにアクセスを行う代替えセクタ領域、メモリカードのドライブ情報ＩＤを格納するＩＤ領域、メモリカードの名前、種類、機能などの情報ＣＩＳを格納するＣＩＳ領域として設けられる。不良登録テーブル格納領域、ＩＤ領域、ＣＩＳ領域はユーザーによるアクセスが不可能な領域である。
また、フラッシュメモリ４，４ａにおける物理アドレスへの論理アドレス割り付けについて説明する。
フラッシュメモリ４，４ａの物理アドレスは、０ｈ番地から順番にブロック（８セクタ＝４ｋＢｙｔｅ）単位により区切られている。前述したように、論理アドレスのデータ領域が始まるアドレスは、５９ｈ番地である。
この５９ｈ番地にもっとも近い、フラッシュメモリ４におけるブロックの物理アドレスは、３０ｈ番地から始まるブロックとなるので、このブロックの先頭アドレスである３０ｈ番地と論理アドレスにおけるデータ領域の先頭アドレスである５９ｈ番地と一致させ、３０ｈ番地から始まるブロックをデータ領域として割り付ける。
フラッシュメモリ４の３０ｈ番地から始まるブロックがデータ領域として割り付けられると、フラッシュメモリ４ａにおける３０ｈ番地から始まるブロックをデータ領域として割り付ける。
そして、これらフラッシュメモリ４，４ａにおけるデータ領域をブロック単位によって交互に割り付ける。たとえば、図９に示すように、論理アドレスの５９ｈ番地〜６０ｈ番地をフラッシュメモリ４に割り付けると、その続きの論理アドレスである６１ｈ番地〜６８ｈ番地は、フラッシュメモリ４ａに割り付けられることになる。
ここで、物理アドレスと論理アドレスとはオフセットされて割り付けられているので、論理アドレス７ＡＦ０ｈ番地〜７ＡＦＦｈ番地が足りないことになるが、これら７つのアドレスは、フラッシュメモリ４における物理アドレスの先頭に戻り、オフセットによって割り付けられていない物理アドレスの０ｈ番地〜６ｈ番地に割り付けられる。
よって、論理アドレス７ＡＦ０ｈ番地〜７ＡＦＦｈ番地が、フラッシュメモリ４における物理アドレスの０ｈ番地〜６ｈ番地にオフセットされて割り付けられることになる。
また、システム領域における論理アドレスの割り付けについて説明する。このシステム領域における論理アドレスも同様に、物理アドレスにおいて形成されたブロック単位により割り付けが行われいる。
前述したように、フラッシュメモリ４の物理アドレスは、７セクタ分オフセットされているので、フラッシュメモリ４の０ｈ番地〜７ｈ番地によって形成されるブロックにおいて、０ｈ番地〜６ｈ番地がデータ領域となっており、このブロックでは、１セクタのシステム領域が割り付けられる。
よって、物理アドレスの７ｈ番地にマスタブートレコードＭＢＲが割り付けられ、その後のデータ領域に割り付けられるブートセクタＢＳ、ファイルアロケーションテーブルＦＡＴ、ならびにディレクトリＤＲは、フラッシュメモリ４，４ａの１ブロックずつ（８セクタ）交互に割り付けられることになる。
さらに、フラッシュメモリ４，４ａにおけるデータ消去について説明する。
たとえば、論理アドレスの５９ｈ番地から１６セクタ（２クラスタ）のデータ書き込みが行われる場合、論理アドレスにおける５９ｈ番地から１６セクタの間、すなわち、物理アドレスにおいては、フラッシュメモリ４の３０ｈ番地〜３７ｈ番地、およびフラッシュメモリ４ａの３０ｈ番地〜３７ｈ番地の２つのブロックを消去するだけでよいので、消去回数を２回とすることができる。
また、フラッシュメモリ４、４ａにおけるデータ書き込み動作について、図１０のタイミングチャートを用いて説明する。
まず、ホストから１セクタ分のデータである転送データＴ１がメモリカード１のバッファメモリに転送される。メモリカード１のコントローラは、書き込まれるフラッシュメモリ４ａにおけるセクタＳ１〜セクタＳ８の管理情報をリードし、その結果、不具合がない場合には、それら８セクタのデータを１度に消去、すなわち、ブロック消去が行われる。
転送データＴ１は、フラッシュメモリ４ａの入力バッファに転送され、データ書き込み（書き込み１）が行われる。このとき、ホストからは、次のデータである転送データＴ２が転送される。この転送データＴ２が転送される間、メモリカード１のコントローラは、２つめのフラッシュメモリ４におけるセクタＳ９の管理情報をリードする。
転送データＴ１が書き込まれた後、続いて転送データＴ２が、フラッシュメモリ４の入力バッファに転送され、データ書き込み（書き込み２）が行われる。このとき、同様に、ホストからは、次のデータである転送データＴ３が転送される。また、この転送データＴ３が転送される間、メモリカード１のコントローラは、２つめのフラッシュメモリ４におけるセクタＳ１０の管理情報をリードする。
これらの動作を繰り返すことによって、転送データＴ５がフラッシュメモリ４の入力バッファに転送され、データ書き込み（書き込み５）が行われると、ホストからは、次のデータである転送データＴ６が転送される。この転送データＴ６が転送される間、メモリカード１のコントローラは、フラッシュメモリ４におけるセクタＳ１３，Ｓ１４の管理情報をリードする。
同様に、転送データＴ６がフラッシュメモリ４の入力バッファに転送され、データ書き込み（書き込み６）が行われる。また、ホストから次のデータである転送データＴ７が転送されると、転送データＴ７が転送される間、メモリカード１のコントローラは、フラッシュメモリ４のセクタ１５，１６の管理情報をリードする。これで、フラッシュメモリ４のおける１ブロック分のセクタＳ９〜Ｓ１６の管理情報がリードされたことになる。
そして、転送データＴ７がフラッシュメモリ４の入力バッファに転送されて、データ書き込み（書き込み７）が行われ、ホストから次のデータである転送データＴ８が転送されると、転送データＴ８が転送される間、フラッシュメモリ４の８セクタのデータをブロック消去する。
以上の動作を繰り返し行うことにより、２つのフラッシュメモリ４，４ａにおける消去、書き込み、メモリカード１へのデータ転送を並列して実行することができる。
それにより、本実施の形態２においては、ホストからデータ転送されている間に、メモリカード１のフラッシュメモリ４，４ａにおけるデータ書き込み、データのブロック消去を行うことができるので、データの書き込み時間を大幅に短縮することができる。
また、本実施の形態２では、フラッシュメモリが２つの場合について記載したが、このフラッシュメモリが、４個以上の２ｎ個の場合においても、本実施の形態２における書き込み動作を行うことにより、データの書き込み時間を大幅に短縮することができる。
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
産業上の利用可能性
以上のように、本発明にかかるメモリカード、論理アドレスの割り付け方法およびデータ書き込み方法は、メモリカードにおけるデータ消去、ならびに書き込みの高速化技術に適している。
【図面の簡単な説明】
図１は、本発明の実施の形態１によるメモリカードのブロック図、図２は、本発明の実施の形態１によるメモリカードに設けられたフラッシュメモリの回路ブロック図、図３は、本発明の実施の形態１によるメモリカードに用いられる論理アドレスとフラッシュメモリに固定された物理アドレスとのデータ構成の説明図、図４は、本発明の実施の形態１によるフラッシュメモリにおける論理アドレスが割り付けられたデータ構成の説明図、図５は、本発明者が検討した論理アドレスが割り付けられたフラッシュメモリにおけるデータ構成の説明図、図６は、本発明の実施の形態１によるメモリカードにおけるデータ書き込みのフローチャート、図７は、本発明の実施の形態２によるメモリカードのブロック図、図８は、本発明の実施の形態２によるフラッシュメモリにおける論理アドレスが割り付けられたデータ構成の説明図、図９は、本発明の実施の形態２による物理アドレスに割り付けられる論理アドレスの説明図、図１０は、本発明の実施の形態２によるメモリカードにおけるデータ書き込みのフローチャート、図１１は、本発明の実施の形態１によるフラッシュメモリに設けられるメモリセルトランジスタの断面図である。
【図１】
0004173642.tif 000002
【図２】
0004173642.tif 000003
【図３】
0004173642.tif 000004
【図４】
0004173642.tif 000005
【図５】
0004173642.tif 000006
【図６】
0004173642.tif 000007
【図７】
0004173642.tif 000008
【図８】
0004173642.tif 000009
【図９】
0004173642.tif 000010
【図１０】
0004173642.tif 000011
【図１１】
0004173642.tif 000012