(57)【要約】【課題】  低コストで、かつ簡単な回路構成により、メモリカードのメモリ容量を大容量化する。【解決手段】  メモリカード１において、コントローラ３は、２Ｇｂｉｔのフラッシュメモリを制御するものであり、フラッシュメモリ２ａ，２ｂは、それぞれ１Ｇｂｉｔのメモリ容量からなる。データ書き込み時には、２Ｇｂｉｔのフラッシュメモリとしてアドレスが転送される。書き込みはページ単位であるので、フラッシュメモリ２ａ，２ｂのいずれかを選択する必要がある。書き込みを行なうフラッシュメモリの選択は、ロウアドレスにおける’Ａ１５’のデータがハイレベルかロウレベルかで判断し、書き込みを行なわないフラッシュメモリには、インタフェースチップ４が無効コマンドを発行する。【選択図】  図１
2007026136.tif 000002
【特許請求の範囲】
【請求項１】
第１の不揮発性半導体メモリを制御する主処理装置と前記第１の不揮発性半導体メモリよりもメモリ容量の少ない２以上の第２の不揮発性半導体メモリとの間に接続され、
主処理装置から入力された前記第１の不揮発性半導体メモリを制御するコマンド、およびアドレスを演算し、前記２以上の第２の不揮発性半導体メモリを１つのアドレス空間に変換して制御することを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記主処理装置から出力される前記第１の不揮発性半導体メモリのアドレスを前記２以上の第２の不揮発性半導体メモリに対応するアドレスに変換するアドレス組み替え部を備えたことを特徴とする半導体集積回路装置。
【請求項３】
請求項１または２記載の半導体集積回路装置において、
前記主処理装置から書き込みコマンドが発行された際に、前記第１の不揮発性半導体メモリにおけるブロック内のページアドレスを選択するアドレスデータに基づいて、前記２以上の第２の不揮発性半導体メモリのうち、非選択となる不揮発性半導体メモリに無効コマンドを発行する特定コマンド中止命令部を備えたことを特徴とする半導体集積回路装置。
【請求項４】
請求項１〜３のいずれか１項に記載の半導体集積回路装置において、
前記主処理装置から、ＩＤリードコマンドが出力された際に、前記第１の不揮発性半導体メモリのＩＤデータを生成し、前記主処理装置に出力するデータ先読み演算部を備えたことを特徴とする半導体集積回路装置。
【請求項５】
請求項４記載の半導体集積回路装置において、
前記データ先読み演算部は、
前記主処理装置から、ステータスリードコマンドが出力された際に、前記２以上の第２の不揮発性半導体メモリのステータス情報を読み出し、前記主処理装置から要求された際に読み出したステータス情報を出力することを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの制御技術に関し、特に、メモリカードなどの記憶装置におけるメモリ容量の増大に有効な技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータや多機能端末機などの外部記憶メディアの１つとして、たとえば、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード（登録商標）などのメモリカードが広く知られている。
【０００３】
メモリカードには、半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、大容量のデータを保持できるフラッシュメモリなどの不揮発性メモリが用いられている。
【０００４】
この種のメモリカードにおいては、たとえば、２つの不揮発性メモリの半導体チップを組み合わせることにより、該メモリカードのメモリ容量を擬似的に大容量化しているものがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記のようなメモリカードにおけるメモリ容量の大容量化技術では、次のような問題点があることが本発明者により見い出された。
【０００６】
すなわち、２つの不揮発性メモリを用いるために、それら２つの不揮発性メモリを合わせて連続したアドレス空間を形成して動作させる回路が新たに必要となり、不揮発性メモリのチップサイズが大きくなってしまうという問題がある。
【０００７】
また、２つの不揮発性メモリの半導体チップを組み合わせて連続したアドレス空間を形成して動作させるために、動作テストなどが複雑となり、テストコストも大きくなってしまうという問題がある。
【０００８】
本発明の目的は、低コストで、かつ簡単な回路構成により、メモリカードなどに用いられる半導体メモリのデータ容量を大きくすることのできる技術を提供することにある。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１０】
本発明の半導体集積回路装置は、第１の不揮発性半導体メモリを制御する主処理装置と該第１の不揮発性半導体メモリよりもメモリ容量の少ない２以上の第２の不揮発性半導体メモリとの間に接続され、主処理装置から入力された第１の不揮発性半導体メモリを制御するコマンド、およびアドレスを演算し、それら２以上の第２の不揮発性半導体メモリを１つのアドレス空間に変換して制御するものである。
【００１１】
また、本願のその他の発明の概要を簡単に示す。
【００１２】
本発明の半導体集積回路装置は、前記主処理装置から出力される第１の不揮発性半導体メモリのアドレスを２以上の第２の不揮発性半導体メモリに対応するアドレスに変換するアドレス組み替え部を備えたものである。
【００１３】
また、本発明の半導体集積回路装置は、前記主処理装置から書き込みコマンドが発行された際に、第１の不揮発性半導体メモリにおけるブロック内のページアドレスを選択するアドレスデータに基づいて、２以上の第２の不揮発性半導体メモリのうち、非選択となる不揮発性半導体メモリに無効コマンドを発行する特定コマンド中止命令部を備えたものである。
【００１４】
さらに、本発明の半導体集積回路装置は、前記主処理装置から、ＩＤリードコマンドが出力された際に、第１の不揮発性半導体メモリのＩＤデータを生成し、主処理装置に出力するデータ先読み演算部を備えたものである。
【００１５】
また、本発明の半導体集積回路装置は、前記データ先読み演算部が、主処理装置から、ステータスリードコマンドが出力された際に、２以上の第２の不揮発性半導体メモリのステータス情報を読み出し、主処理装置から要求された際に読み出したステータス情報を出力するものである。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１７】
（１）メモリカードのメモリ容量を、容易に、かつ低コストに大容量化することができる。
【００１８】
（２）上記（１）により、メモリカードの性能を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２０】
図１は、本発明の一実施の形態によるメモリカードのブロック図、図２は、図１のメモリカードに設けられたインタフェースチップのブロック図、図３は、図１のメモリカードに搭載されるフラッシュメモリにおけるアドレス空間の一例を示す説明図、図４は、図２のインタフェースチップによるアドレス割り付けの変換例を示す説明図、図５は、図１のメモリカードにおける書き込み動作の一例を示すフローチャート、図６は、図１のメモリカードにおける消去動作の一例を示すフローチャート、図７は、図１のメモリカードにおけるデータ先読み動作の一例を示すフローチャート、図８は、図１のメモリカードにおけるステータスデータの先読み動作の一例を示すフローチャートである。
【００２１】
本実施の形態において、メモリカード１は、たとえば、デジタルビデオカメラ、携帯電話、携帯音楽プレーヤやパーソナルコンピュータなどにおけるホストの外部記憶メディアとして用いられるＳＤカードである。
【００２２】
メモリカード１は、図１に示すように、記憶部２、コントローラ（主処理装置）３、およびインタフェースチップ（半導体集積回路装置）４から構成される。記憶部２には、インタフェースチップ４が接続されており、該インタフェースチップ４には、コントローラ３が接続されている。
【００２３】
記憶部２は、電気的にデータの書き換え／消去が可能な２つの不揮発性半導体メモリからなり、ここでは、たとえば、フラッシュメモリ（第２の不揮発性半導体メモリ）２ａ，２ｂからからなるものとする。フラッシュメモリ２ａ，２ｂは、たとえば、１Ｇｂｉｔのメモリ容量をそれぞれ有しており、これらフラッシュメモリ２ａ，２ｂによって擬似的に２Ｇｂｉｔの記憶容量を備えた構成となっている。
【００２４】
コントローラ３は、該コントローラ３に接続されるホストから、入出力される書き込み／読み出し／消去といった動作を指示するコマンドを受け、これらの動作に必要なデータの入出力を行うとともに、メモリカード１のすべての制御を司る。
【００２５】
コントローラ３からは、ライトプロテクト信号／ＷＰ、リセット信号／ＲＥＳ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、およびチップイネーブル信号／ＣＥなどの制御信号と、Ｉ／Ｏバスを介してコマンドを含むデータＩ／Ｏとが出力される。
【００２６】
インタフェースチップ４からは、制御バスＢｃを介してライトプロテクト信号／ＷＰ１、リセット信号／ＲＥＳ１、アドレスラッチイネーブル信号ＡＬＥ１、コマンドラッチイネーブル信号ＣＬＥ１、ライトイネーブル信号／ＷＥ１、リードイネーブル信号／ＲＥ１、およびチップイネーブル信号／ＣＥ０，／ＣＥ１などの制御信号と、データバスＢｄ１，Ｂｄ２を介してコマンドを含むデータＩ／Ｏ０，Ｉ／Ｏ１とがそれぞれ出力される。
【００２７】
制御バスＢｃにおいて、インタフェースチップ４から出力されるライトプロテクト信号／ＷＰ１、リセット信号／ＲＥＳ１、アドレスラッチイネーブル信号ＡＬＥ１、コマンドラッチイネーブル信号ＣＬＥ１、ライトイネーブル信号／ＷＥ１、ならびにリードイネーブル信号／ＲＥ１は、記憶部２のフラッシュメモリ２ａ，２ｂにそれぞれ共通して入力されるように接続されている。
【００２８】
また、制御バスＢｃにおいて、インタフェースチップ４から出力されるチップイネーブル信号／ＣＥ０は、フラッシュメモリ２ａに入力されるように接続されており、インタフェースチップ４から出力されるチップイネーブル信号／ＣＥ１は、フラッシュメモリ２ｂに入力されるように接続されている。
【００２９】
データバスＢｄ１において、インタフェースチップ４から出力されるデータＩ／Ｏ０は、フラッシュメモリ２ａに入力されるように接続されており、データバスＢｄ２において、データＩ／Ｏ１は、フラッシュメモリ２ｂに入力されるように接続されている。そして、コントローラ３には、フラッシュメモリ２ａ，２ｂから出力されるレディ／ビジー信号Ｒ／Ｂが共通入力されるように接続されている。
【００３０】
インタフェースチップ４は、フラッシュメモリ２ａ，２ｂによって擬似的に２Ｇｂｉｔの記憶容量となった記憶部を１つのフラッシュメモリとして動作させる制御を司る。
【００３１】
図２は、インタフェースチップ４の構成を示すブロック図である。
【００３２】
インタフェースチップ４は、図示するように、アドレスラッチ６、特定コマンド中止命令部７、アドレス組み替え部８、コマンドデコード部９、データ先読み演算部１０、データバスセレクタ１１，１２、バッファ１３〜２１，１３ａ、Ｉ／Ｏ信号用パスゲート部２２、ならびに制御信号用パスゲート部２３から構成されている。
【００３３】
バッファ１３ａの出力部、およびバッファ１３の入力部には、パッドＰ１がそれぞれ接続されている。パッドＰ１には、コントローラ３から出力されるコマンドを含むデータが入力される。
【００３４】
バッファ１３ａの入力部には、データ先読み演算部１０が接続されている。バッファ１３の出力部には、アドレスラッチ６、特定コマンド中止命令部７、アドレス組み替え部８、コマンドデコード部９、およびデータバスセレクタ１１，１２がそれぞれ接続されている。アドレス組み替え部８には、アドレスラッチ６が接続されている。
【００３５】
データバスセレクタ１１，１２は、特定コマンド中止命令部７、ならびにアドレス組み替え部８にそれぞれ接続されている。
【００３６】
バッファ１４の入力部は、パッドＰ２に接続されている。パッドＰ２には、コントローラ３から出力される制御信号が入力される。このバッファ１４の出力部は、コマンドデコード部９、およびバッファ１９の入力部がそれぞれ接続されている。
【００３７】
データ先読み演算部１０は、バッファ１５，１７の出力部、ならびにコマンドデコード部９にそれぞれ接続されている。Ｉ／Ｏ信号用パスゲート部２２は、パスゲート２２ａ，２２ｂから構成されており、制御信号用パスゲート部２３は、パスゲート２３ａ，２３ｂから構成されている。
【００３８】
また、コマンドデコード部９は、パスゲート２２ａ，２２ｂ，２３ａ，２３ｂの制御端子、Ｉ／Ｏ信号用パスゲート部２２、制御信号用パスゲート部２３、データバスセレクタ１１，１２の制御端子、バッファ２０，２１の入力部がそれぞれ接続されている。
【００３９】
パスゲート２２ａ，２２ｂの一方の接続部には、パッドＰ１がそれぞれ接続されており、パスゲート２３ａ，２３ｂの一方の接続部には、パッドＰ２がそれぞれ接続されている。
【００４０】
パスゲート２２ａの他方の接続部、バッファ１６の出力部、およびバッファ１５の入力部には、インタフェースチップ４からフラッシュメモリ２ａに対してコマンドを含むデータを出力するパッドＰ３がそれぞれ接続されている。
【００４１】
パスゲート２２ｂの他方の接続部、バッファ１８の出力部、およびバッファ１７の入力部には、インタフェースチップ４からフラッシュメモリ２ｂに対してコマンドを含むデータを出力するパッドＰ４がそれぞれ接続されている。
【００４２】
また、バッファ１９の出力部には、パッドＰ２を介して入力されるフラッシュメモリ２ａ，２ｂに共通の制御信号を出力するパッドＰ５が接続されている。
【００４３】
パスゲート２３ａの他方の接続部には、パッドＰ２を介して入力されるフラッシュメモリ２ａの制御信号を出力するパッドＰ６が接続されている。バッファ２０の出力部には、コマンドデコード部９から出力されるフラッシュメモリ２ａの制御信号を出力するパッドＰ７が接続されている。
【００４４】
パスゲート２３ｂの他方の接続部には、パッドＰ２を介して入力されるフラッシュメモリ２ｂの制御信号を出力するパッドＰ８が接続されている。バッファ２１の出力部には、コマンドデコード部９から出力されるフラッシュメモリ２ｂの制御信号を出力するパッドＰ９が接続されている。
【００４５】
アドレスラッチ６は、コントローラ３から出力されるライトイネーブル信号／ＷＥに基づいて、アドレス信号をラッチする。特定コマンド中止命令部７は、バッファ１３を介して入力されたコマンドのアドレス情報に基づいて２つのフラッシュメモリ２ａ，２ｂのうち、非選択となったフラッシュメモリに無効コマンドを発行し、データバスセレクタ１１，１２に出力する。
【００４６】
アドレス組み替え部８は、２Ｇｂｉｔのメモリ容量のフラッシュメモリ（第１の不揮発性半導体メモリ）として入力されるアドレスを、各々が１Ｇｂｉｔのメモリ容量を有するフラッシュメモリ２ａ，２ｂのアドレスにそれぞれ振り分けて出力する。
【００４７】
コマンドデコード部９は、コントローラ４などから入力されるコマンド（制御信号）をデコードし、そのデコード結果を制御信号としてデータバスセレクタ１１，１２、ならびにパスゲート２２ａ，２２ｂ，２３ａ，２３ｂにそれぞれ出力する。
【００４８】
データ先読み演算部１０は、ホストが記憶部２にアクセスした際に、２Ｇｂｉｔのフラッシュメモリであることを示すＩＤコードを出力するとともに、フラッシュメモリ２ａ，２ｂのステータス信号などを出力する。
【００４９】
データバスセレクタ１１，１２は、コマンドデコード部９から出力された制御信号に基づいてデータバスＢｄ１，Ｂｄ２のいずれかをセレクトする。Ｉ／Ｏ信号用パスゲート部２２は、フラッシュメモリ２ａ，２ｂに入出力されるデータを高速に転送し、制御信号用パスゲート部２３は、フラッシュメモリ２ａ，２ｂに対する制御信号を高速に転送する。
【００５０】
たとえば、メモリカード１がリード動作の際には、パスゲート２２ａ，２２ｂのいずれかを介してリードデータが転送され、パスゲート２３ａ，２３ｂのいずれかを介して制御信号であるリードイネーブル信号／ＲＥが転送されることになる。
【００５１】
次に、本実施の形態によるメモリカード１の作用について説明する。
【００５２】
はじめに、インタフェースチップ４に対して、コントローラ３から、記憶部２のフラッシュメモリ２ａ，２ｂに書き込み動作を行なう場合について説明する。
【００５３】
書き込みセットアップコマンド、書き込みアドレス、ならびに書き込みデータは、コントローラ３からインタフェースチップ４を経て、２Ｇｂｉｔのメモリ容量を構成する２つの１Ｇｂｉｔのメモリ容量からなるフラッシュメモリ２ａ，２ｂも共通に入力される。
【００５４】
書き込みはページ単位で行なう為、実際に書き込みを行なうのは、記憶部２の１つのフラッシュメモリのみである。書き込みを行なわない、すなわち非選択となるフラッシュメモリへは、書き込みスタートコマンド’１０ｈ’の代わりに、無効コマンド’ＦＦｈ’を特定コマンド中止命令部７が発行して書き込みを行なわない状態にする。
【００５５】
書き込みを行なうフラッシュメモリの選択は、ロウアドレスＲＡ１サイクル中に入力される、アドレス’Ａ１５’のデータがハイレベルかロウレベルかで判断する。このアドレス’Ａ１５’は、２Ｇｂｉｔフラッシュメモリにおけるブロック内のページアドレスの上位／下位を選択するデータからなる。
【００５６】
図３は、フラッシュメモリにおけるアドレス空間の一例を示す説明図である。
【００５７】
前述したように、メモリカード１では、１Ｇｂｉｔのフラッシュメモリを２つ用いて２Ｇｂｉｔのフラッシュメモリを構成している。２Ｇｂｉｔのフラッシュメモリは、たとえば、図３（ａ）に示すように、メモリアレイが４バンク構成からなり、消去単位である１ブロックは、４つのページｐａｇｅＡ〜ｐａｇｅＤで構成されている。
【００５８】
一方、１Ｇｂｉｔのフラッシュメモリは、図３（ｂ）に示すように、メモリアレイが４バンク構成からなり、消去単位である１ブロックは、２つのページｐａｇｅ０，ｐａｇｅ１によって構成されている。
【００５９】
よって、２つの１Ｇｂｉｔのフラッシュメモリで、２Ｇｂｉｔのフラッシュメモリを構成する場合には、消去単位を合わせる必要がある。この場合、図３（ｃ）に示すように、２つの１Ｇｂｉｔフラッシュメモリにおけるそれぞれのページｐａｇｅ０，ｐａｇｅ１によって２Ｇｂｉｔのフラッシュメモリの１つのブロック（４ページ）を構成することによって、擬似的に２Ｇｂｉｔのフラッシュメモリと同じアドレス空間に構成することができる。
【００６０】
また、図４は、インタフェースチップ４によるロウアドレス割り付けの変換例を示す説明図である。
【００６１】
図４において、左側には、２Ｇｂｉｔのフラッシュメモリにおけるロウアドレス割り付け例を示し、右側には、２Ｇｂｉｔのフラッシュメモリのロウアドレスを１Ｇｂｉｔのフラッシュメモリのアドレス割り付けに変換した例を示す。
【００６２】
２Ｇｂｉｔのフラッシュメモリのロウアドレスは、１７ｂｉｔ（’Ａ１２〜Ａ２８’）から構成されており、アドレス’Ａ１２’，’Ａ１３’は、バンクアドレスの選択であり、アドレス’Ａ１４’，’Ａ１５’は、ブロック内のページアドレスの選択であり、アドレス’Ａ１６〜Ａ２８’は、バンク内のブロックアドレスの選択である。
【００６３】
そして、第１のコマンドサイクルにおいて、アドレス’Ａ１２〜Ａ１９’をロウアドレスＲＡ１として出力し、第２のコマンドサイクルにおいて、アドレス’Ａ２０〜Ａ２８’をロウアドレスＲＡ２として出力する。
【００６４】
また、１Ｇｂｉｔのフラッシュメモリのアドレスは、２Ｇｂｉｔのフラッシュメモリのアドレスとは異なり、１６ｂｉｔから構成されている。１Ｇｂｉｔのフラッシュメモリのアドレスにおいては、アドレス’Ａ１２’，’Ａ１３’がバンクアドレスの選択であり、アドレス’Ａ１４’がブロック内のページアドレスの選択であり、アドレス’Ａ１６〜Ａ２８’がバンク内のブロックアドレスの選択である。
【００６５】
そして、アドレス組み替え部８は、第１のコマンドサイクルにおいて、アドレス’Ａ１２〜Ａ１４’，’Ａ１６〜Ａ２０’をロウアドレスＲＡ１ａとして出力し、第２のコマンドサイクルにおいて、アドレス’Ａ２１〜Ａ２８’をロウアドレスＲＡ２ａとして出力する。
【００６６】
また、下位のフラッシュメモリ２ａと上位のフラッシュメモリ２ｂとの選択は、２Ｇｂｉｔのフラッシュメモリにおけるブロック内のページアドレスの選択を示すアドレス’Ａ１５’のデータによってコマンドデコード部９が判断し、選択フラグをデータバスセレクタ１１，１２のいずれかに出力する。
【００６７】
たとえば、アドレス’Ａ１５’がＨｉ信号の場合には、下位のフラッシュメモリ２ａが接続されているデータバスセレクタ１１に選択フラグを出力し、アドレス’Ａ１５’がＬｏ信号の場合には、上位のフラッシュメモリ２ｂが接続されているデータバスセレクタ１２に選択フラグを出力する。
【００６８】
以下に、書き込み動作の詳細を図５のフローチャートを用いて説明する。
【００６９】
図５においては、上方から下方にかけて、インタフェースチップ４に入力されるリセット信号／ＲＥＳ、ライトプロテクト信号／ＷＰ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、チップイネーブル信号／ＣＥ、データＩ／Ｏ、レディ／ビジー信号Ｒ／Ｂ、インタフェースチップ４から出力されるアドレスラッチイネーブル信号ＡＬＥ１、コマンドラッチイネーブル信号ＣＬＥ１、ライトイネーブル信号／ＷＥ１、リードイネーブル信号／ＲＥ１、チップイネーブル信号／ＣＥ０、チップイネーブル信号／ＣＥ１、データＩ／Ｏ０、およびデータＩ／Ｏ１における信号タイミングをそれぞれ示している。
【００７０】
まず、記憶部２へ書き込みを行なう場合、コントローラ３は、チップイネーブル信号／ＣＥをＬｏレベルにし、コマンドラッチイネーブル信号ＣＬＥをＨｉレベルにし、書き込みセットアップコマンド’８０ｈ’を出力し、ライトイネーブル信号／ＷＥを１回クロックする。
【００７１】
コントローラ３は、書き込みアドレスを記憶部２へ指定するために、アドレスラッチイネーブル信号ＡＬＥをＨｉレベルにセットする。コントローラ３から出力されるアドレスは、２Ｇｂｉｔフラッシュメモリのアドレスとして５サイクル入力される。
【００７２】
アドレスラッチイネーブル信号ＡＬＥがＨｉレベルの場合、すなわち、記憶部２に対してアドレスを発行する場合は、アドレス組み替えが必要となるため、ライトイネーブル信号／ＷＥはインタフェースチップ４のコマンドデコード部９を介して、記憶部２側へ出力される。
【００７３】
５サイクル中の最初の２サイクルで指定するカラムアドレスＣＡ１、カラムアドレスＣＡ２は、インタフェースチップ４で演算されることなしに、そのまま記憶部２のフラッシュメモリ２ａ，２ｂに出力される。
【００７４】
カラムアドレスＣＡ１，ＣＡ２以降の３サイクルで指定する１７ｂｉｔのロウアドレスは、１Ｇｂｉｔフラッシュメモリの１６ｂｉｔのロウアドレスへ変換する必要がある。
【００７５】
コントローラ３から与えられた、ロウアドレスＲＡ１を入力するためのライトイネーブル信号／ＷＥはインタフェースチップ４において演算処理され、フラッシュメモリ２ａ，２ｂに出力されるライトイネーブル信号／ＷＥ１はＨｉレベルの状態を保ち、変換される前のロウアドレスＲＡ１が記憶部２のフラッシュメモリ２ａ，２ｂに入力されることを防止する。
【００７６】
１７ｂｉｔあるロウアドレスデータのうち、アドレス’Ａ１５’をフラッシュメモリ２ａ，２ｂの選択情報として使用する。つまりアドレス’Ａ１５’を除いた、残りのアドレス’Ａ１２〜Ａ１４’，’Ａ１５〜Ａ１８’の信号によって１６ｂｉｔアドレスデータを構成する。
【００７７】
アドレス’Ａ１２〜Ａ１４’，’Ａ１６〜Ａ２０’でロウアドレスＲＡ１ａ、アドレス’Ａ２１〜Ａ２８’でロウアドレスＲＡ２ａとなる。アドレス’Ａ１５’が、Ｌｏレベルの場合、コマンドデコード部９は、記憶部２における下位側のフラッシュメモリ２ａ用のデータバスセレクタ１２に選択フラグを立て、ハイレベルである場合は、上位側のフラッシュメモリ２ｂ用のデータバスセレクタ１２に選択フラグを立てる。
【００７８】
書き込みデータは、カラムアドレスＣＡ１，ＣＡ２によって指定されたアドレスを先頭に、最大２１１２ｂｙｔｅのデータ入力が可能である。カラムアドレス、ロウアドレスの指定後、アドレスラッチイネーブル信号ＡＬＥをＬｏレベルに設定し、ライトイネーブル信号／ＷＥをクロックすることで、シリアルに書き込みデータを転送する。この時、フラッシュメモリ２ａ，２ｂに印加されるライトイネーブル信号／ＷＥ１はインタフェースチップ４に入力されるライトイネーブル信号／ＷＥに同期する。
【００７９】
書き込みデータの入力後、コントローラ３は、コマンドラッチイネーブル信号ＣＬＥをＨｉレベルに設定し、書き込みスタートコマンド’１０ｈ’をインタフェースチップ４に対して発行する。
【００８０】
この時、選択フラグがＨｉレベル側のデータバスセレクタは、コントローラ３から発行された書き込みスタートコマンド’１０ｈ’をそのまま記憶部２のフラッシュメモリ２ａまたはフラッシュメモリ２ｂに出力する。
【００８１】
特定コマンド中止命令部７では、書きこみ開始コマンド’１０ｈ’が入力された場合に、無効コマンド’ＦＦｈ’を生成する。選択フラグがＬｏレベル側のデータバスセレクタは、特定コマンド中止命令部７で生成された、無効コマンド’ＦＦｈ’を記憶部２のフラッシュメモリ２ａ、またはフラッシュメモリ２ｂへ発行する。この時、フラッシュメモリに印加されるライトイネーブル信号／ＷＥ１はライトイネーブル信号／ＷＥに同期する。
【００８２】
次に、消去動作について、図６のフローチャートを用いて説明する。なお、図６においては、上方から下方にかけて示す各々の信号は、図５と同様となっている。
【００８３】
消去セットアップコマンド、消去アドレス、消去スタートコマンドは、フラッシュメモリカードコントローラからインタフェースチップを経て、フラッシュメモリ２ａ，２ｂは共通に入力される。
【００８４】
書き込みと異なり、消去はブロック単位で行なうため消去スタートコマンドも、１ブロックを構成するフラッシュメモリ２ａ，２ｂに共通にそれぞれ発行する。消去するアドレスは、書きこみアドレスと同様にインタフェースチップ４が変換を行なう。
【００８５】
フラッシュメモリ２ａ，２ｂの消去を行なう場合、コントローラ３は、コマンドラッチイネーブル信号ＣＬＥをＨｉレベルにし、消去セットアップコマンド’６０ｈ’を出力し、ライトイネーブル信号／ＷＥを１回クロックする。
【００８６】
書き込みと異なり、消去開始コマンドの発行は、フラッシュメモリ２ａ，２ｂに共通して発行される。このとき特定コマンド中止命令部７では無効コマンド’ＦＦｈ’を生成しない。
【００８７】
続いて、コントローラ７は、消去アドレスをフラッシュメモリへ指定するために、アドレスラッチイネーブル信号ＡＬＥをＨｉレベルにセットする。コントローラ３から出力されるアドレスは、２Ｇｂｉｔのフラッシュメモリのロウアドレスとして３サイクル入力される(書き込みと異なり、カラムアドレスの指定は行なわない)。
【００８８】
図４において説明したように、３サイクルで指定する１７ｂｉｔのロウアドレスは、１Ｇｂｉｔのフラッシュメモリの１６ｂｉｔのロウアドレスへ変換する必要がある。
【００８９】
コントローラ３から与えられた、ロウアドレスＲＡ１を入力するためのライトイネーブル信号／ＷＥはインタフェースチップ４内で演算処理され、該インタフェースチップから出力されるライトイネーブル信号／ＷＥ１はＨｉレベルの状態を保ち、変換される前のロウアドレスＲＡ１がフラッシュメモリ２ａ，２ｂへ入力されることを防止する。
【００９０】
１７ｂｉｔあるロウアドレスデータのうち、アドレス’Ａ１５’は、フラッシュメモリ２ａ，２ｂの選択情報であるが、消去の場合はいずれのフラッシュメモリ２ａ，２ｂともに選択するので、この情報は使用しない。
【００９１】
アドレス’Ａ１５’を除いた、残りのアドレス’Ａ１２〜Ａ１４’，’Ａ１６〜Ａ２８’で１６ｂｉｔアドレスデータを構成する。アドレス’Ａ１２〜Ａ１４’，’Ａ１６〜Ａ２０’でロウアドレスＲＡ１ａとなり、アドレス’Ａ２１〜Ａ２８’でロウアドレスＲＡ２ａとなる。
【００９２】
フラッシュメモリ２ａ，２ｂへ発行される、ロウアドレスＲＡ１ａは、インタフェースチップ４において以下の様に組み替えが行われる。
【００９３】
アドレス変換のために、インタフェースチップ４では、コントローラ３から出力されたロウアドレスＲＡ１を一回目のライトイネーブル信号／ＷＥの立ち上がりエッジでアドレスラッチ６に保持する。
【００９４】
続いて、ロウアドレスＲＡ２としてコントローラ３から出力された、アドレスデータとアドレスラッチ６に保持されていた、ロウアドレスＲＡ１のデータとをアドレス組み替え部８がリアルタイムに演算を行ない、１ＧｂｉｔのフラッシュメモリとしてのロウアドレスＲＡ１ａを生成する。
【００９５】
生成されたロウアドレスＲＡ１ａはデータバスセレクタ１１，１２のいずれかを介してフラッシュメモリ２ａ，２ｂへ伝達される。
【００９６】
また、２サイクル目以降のライトイネーブル信号／ＷＥは、インタフェースチップ４内で演算されることなく、フラッシュメモリ２ａ，２ｂに伝達されるため、ロウアドレスＲＡ１ａはフラッシュメモリ２ａ，２ｂに取り込まれる。
【００９７】
ロウアドレスＲＡ２ａもロウアドレスＲＡ１ａと同様に、以下のようにインタフェースチップ４内で組み替えが行われる。
【００９８】
ロウアドレスＲＡ１ａを生成するのに使用されたロウアドレスＲＡ２ａは、ライトイネーブル信号／ＷＥの立ち上がりで、アドレスラッチ６にとりこまれる。次に、ロウアドレスＲＡ３としてコントローラ３に入力されたアドレスデータとアドレスラッチ６に保持されているロウアドレスＲＡ２のデータとを、アドレス組み替え部８がリアルタイムに演算を行ない、ロウアドレスＲＡ２ａを生成する。生成したロウアドレスＲＡ２ａは、データバスセレクタ１１，１２のいずれかを経由して、フラッシュメモリ２ａ，２ｂのいずれかに伝達される。
【００９９】
また、コントローラ３が発行した２サイクル目以降のライトイネーブル信号／ＷＥは、インタフェースチップ４内で演算されることなく、フラッシュメモリ２ａ，２ｂに伝達されるため、ロウアドレスＲＡ２ａは２サイクル目のロウアドレス信号として、フラッシュメモリ２ａ，２ｂへ取り込まれる。
【０１００】
消去アドレスが入力された後、アドレスラッチ信号ＡＬＥをＬｏレベルにし、コマンドラッチイネーブル信号ＣＬＥをＨｉレベルに設定し、消去スタートコマンド ’Ｄ０ｈ’をコントローラ３から、インタフェースチップ４に発行する。
【０１０１】
消去の場合は、フラッシュメモリ２ａ，２ｂを同時に消去することで、２Ｇｂｉｔのフラッシュメモリの消去単位と等価になる。そのため、消去スタートコマンドは、インタフェースチップ４内で演算処理されることなく、２つのフラッシュメモリ２ａ，２ｂに同時に発行される。
【０１０２】
また、インタフェースチップ４からフラッシュメモリ２ａ，２ｂに出力されるライトイネーブル信号／ＷＥ１は、コントローラ３から出力されるライトイネーブル信号／ＷＥに同期する。
【０１０３】
次に、データ先読み演算部１０の動作について、図７のフローチャートを用いて説明する。なお、図７においても、上方から下方にかけて示す各々の信号は、図５と同様となっている。
【０１０４】
データ先読み演算部１０は、コントローラ３が正しいフラッシュメモリが接続されていることを確認するために、フラッシュメモリ固有のＩＤコードデータを読み出す。
【０１０５】
ＩＤコードは、フラッシュメモリ２ａ，２ｂがそれぞれ出力し、そのデータとしてマニュファクチャーコード、デバイスコードの２種類をリードイネーブル信号／ＲＥのクロックに同期してシリアルに出力する。
【０１０６】
コマンド入力後、リードイネーブル信号／ＲＥをＨｉレベルからＬｏレベルにした後に、インタフェースチップ４を介してフラッシュメモリ２ａ，２ｂへアクセスし、コントローラ３へマニュファクチャーコードを出力するのでは、インタフェースチップ４内の遅延時間分かかってしまい通常のフラッシュメモリのみを読み出す以上の時間がかかってしまう。
【０１０７】
そのため、コマンド入力後に前もって、インタフェースチップ４がフラッシュメモリ２ａ，２ｂにアクセスし、コントローラ３からリードイネーブル信号／ＲＥがＬｏレベルなる以前に、フラッシュメモリ２ａ，２ｂのマニュファクチャーコードを読み出し、２つのフラッシュメモリ２ａ，２ｂのデータから正しく読み出せていることを確認し、コントローラ３が、リードイネーブル信号／ＲＥをＬｏレベルになる以前にインタフェースチップ４でデータを準備しておく。
【０１０８】
コントローラ３から、ＩＤリードコマンド’９０ｈ，００ｈ’が出力されると、インタフェースチップ４は、入力波形に同期してフラッシュメモリへ２ａ，２ｂにＩＤリードコマンド’９０ｈ，００ｈ’を出力する。
【０１０９】
続いて、インタフェースチップ４は、ＩＤリードコマンドの入力後、ライトイネーブル信号／ＷＥがＬｏレベルからＨｉレベルへの立ち上がり、ならびにアドレスラッチイネーブル信号ＡＬＥがＨｉレベルからＬｏレベルになるのを検出すると、フラッシュメモリ２ａ，２ｂへ出力するリードイネーブル信号／ＲＥ１をＬｏレベルに設定する。
【０１１０】
リードイネーブル信号／ＲＥ１をＬｏレベルに設定した後、フラッシュメモリ２ａ，２ｂからは、個々のマニュファクチャーコードがそれぞれ出力される。データ先読み演算部１０は、フラッシュメモリ２ａ，２ｂから出力されたデータの比較を行い、各々のマニュファクチャーコードが正しい場合には、コントローラ３からのリードイネーブル信号／ＲＥがＬｏレベルになった場合に正しいコードを出力する。
【０１１１】
デバイスコードの場合、ホスト側は、２Ｇｂｉｔのフラッシュメモリと認識しているので、それに見合ったコードを出力する必要がある。このコードに関しては、１Ｇｂｉｔのフラッシュメモリのデバイスコード’０１ｈ’を読み出して変換して出力するのではなく、データ先読み演算部１０が生成してコントローラ３へ出力する。
【０１１２】
そのため、２回目のリードイネーブル信号／ＲＥがＨｉレベルからＬｏレベルになるときは、インタフェースチップ４から出力されるリードイネーブル信号／ＲＥ１はＨｉレベルのまま、すなわちフラッシュメモリ２ａ，２ｂへのアクセスを行わず、インタフェースチップ４からデバイスコード’０２ｈ’が出力される。
【０１１３】
また、ステータスデータの先読み動作について、図８のフローチャートを用いて説明する。この図８においても、上方から下方にかけて示す各々の信号は、図５と同様である。
【０１１４】
ステータスデータにおいても図７に示したＩＤコードと同じ考え方で先読みが必要である。この場合、ステータスリードコマンド’７０ｈ’が入力された後、リードイネーブル信号／ＲＥをＬｏレベルにした後にステータスデータを出力しなければならない。
【０１１５】
この時、コントローラ３から出力されるリードイネーブル信号／ＲＥを受けて、インタフェースチップ４は、フラッシュメモリ２ａ，２ｂに対してリードイネーブル信号／ＲＥ１を出力する。
【０１１６】
それを受けて、フラッシュメモリ２ａ，２ｂはステータスデータを出力する。インタフェースチップ４において、フラッシュメモリ２ａ，２ｂにおけるデータを演算し、その後、コントローラ３へ出力していたのでは、単純にフラッシュメモリ２ａ，２ｂにアクセスした場合の時間に比べて遅くなってしまう。
【０１１７】
そこで、この遅延時間を見えなくするために、ステータスコマンドを入力した後、ライトイネーブル信号／ＷＥのＨｉレベル、チップイネーブル信号ＣＥのＬｏレベルを検出して、インタフェースチップ４がフラッシュメモリ２ａ，２ｂへアクセスするために、リードイネーブル信号／ＲＥ１をＬｏレベルに設定して、フラッシュメモリ２ａ，２ｂのステータス情報を読み出し演算して、コントローラ３が、リードイネーブル信号／ＲＥをＬｏレベルにする前に、インタフェースチップ４がステータスデータを準備しておく。
【０１１８】
それにより、本実施の形態によれば、１Ｇｂｉｔのメモリ容量からなるフラッシュメモリ２ａ，２ｂを用いて、擬似的に２Ｇｂｉｔのフラッシュメモリを構成することができるので、メモリカード１のメモリを容易に、かつ低コストで大容量化することができる。
【０１１９】
また、本実施の形態では、２つのフラッシュメモリによって２Ｇｂｉｔのメモリ容量を構成した場合について記載したが、フラッシュメモリの接続数やメモリ容量については、特に制限はなく、たとえば、図９に示すように、８つのフラッシュメモリ２ａ〜２ｈによって８Ｇｂｉｔのメモリ容量の記憶部２を構成するようにしてもよい。
【０１２０】
この場合、インタフェースチップ４からは、制御バスＢｃ１を介してライトプロテクト信号／ＷＰ１、リセット信号／ＲＥＳ１、アドレスラッチイネーブル信号ＡＬＥ１、コマンドラッチイネーブル信号ＣＬＥ１、ライトイネーブル信号／ＷＥ１、リードイネーブル信号／ＲＥ１〜／ＲＥ４、およびチップイネーブル信号／ＣＥ００〜／ＣＥ３１などの制御信号と、データバスＢｄ１〜Ｂｄ８を介してコマンドを含むデータＩ／Ｏ０，Ｉ／Ｏ１とが出力される。
【０１２１】
制御バスＢｃ１において、リードイネーブル信号／ＲＥ１は、上位と下位を構成するフラッシュメモリ２ａ，２ｂそれぞれ共通して入力されるように接続されている。同様に、リードイネーブル信号／ＲＥ２〜／ＲＥ４は、上位と下位を構成するフラッシュメモリ２ｃ，２ｄ、フラッシュメモリ２ｅ，２ｆ、フラッシュメモリ２ｇ，２ｈにそれぞれ共通して入力されるように接続されている。
【０１２２】
制御バスＢｃ１のチップイネーブル信号／ＣＥ００〜／ＣＥ３１は、フラッシュメモリ２ａ〜２ｈに個別に入力されるように接続されている。コントローラ３には、フラッシュメモリ２ａ，２ｂ，２ｅ，２ｆから出力されるレディ／ビジー信号Ｒ／Ｂ０、およびフラッシュメモリ２ｃ，２ｄ，２ｇ，２ｈから出力されるレディ／ビジー信号Ｒ／Ｂ１が共通入力されるように接続されている。
【０１２３】
インタフェースチップ４から出力されるデータバスＢｄ１におけるデータＩ／Ｏ０は、下位のフラッシュメモリ２ａ，２ｃ，２ｅ，２ｇにそれぞれ共通に入力されるように接続されており、インタフェースチップ４から出力されるデータバスＢｄ２におけるデータＩ／Ｏ１は、上位のフラッシュメモリ２ｂ，２ｄ，２ｆ，２ｈにそれぞれ共通に入力されるように接続されている。また、その他の接続構成については、図１と同様である。
【０１２４】
それによって、メモリカードのメモリ容量をより大きくすることが可能となる。
【０１２５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１２６】
本発明は、メモリカードにおけるメモリ容量の大容量化技術に適している。
【図面の簡単な説明】
【０１２７】
【図１】本発明の一実施の形態によるメモリカードのブロック図である。
【図２】図１のメモリカードに設けられたインタフェースチップのブロック図である。
【図３】図１のメモリカードに搭載されるフラッシュメモリにおけるアドレス空間の一例を示す説明図である。
【図４】図２のインタフェースチップによるアドレス割り付けの変換例を示す説明図である。
【図５】図１のメモリカードにおける書き込み動作の一例を示すフローチャートである。
【図６】図１のメモリカードにおける消去動作の一例を示すフローチャートである。
【図７】図１のメモリカードにおけるデータ先読み動作の一例を示すフローチャートである。
【図８】図１のメモリカードにおけるステータスデータの先読み動作の一例を示すフローチャートである。
【図９】本発明の他の実施の形態によるメモリカードのブロック図である。
【符号の説明】
【０１２８】
１  メモリカード
２  記憶部
２ａ〜２ｈ  フラッシュメモリ（第２の不揮発性半導体メモリ）
３  コントローラ（主処理装置）
４  インタフェースチップ（半導体集積回路装置）
６  アドレスラッチ
７  特定コマンド中止命令部
８  アドレス組み替え部
９  コマンドデコード部
１０  データ先読み演算部
１１，１２  データバスセレクタ
１３〜２１  バッファ
１３ａ  バッファ
２２  Ｉ／Ｏ信号用パスゲート部
２２ａ，２２ｂ  パスゲート
２３  制御信号用パスゲート部
２３ａ，２３ｂ  パスゲート
Ｂｃ，Ｂｃ１  制御バス
Ｂｄ１〜Ｂｄ８  データバス
Ｐ１〜Ｐ９  パッド
【図１】
2007026136.tif 000003
【図２】
2007026136.tif 000004
【図３】
2007026136.tif 000005
【図４】
2007026136.tif 000006
【図５】
2007026136.tif 000007
【図６】
2007026136.tif 000008
【図７】
2007026136.tif 000009
【図８】
2007026136.tif 000010
【図９】
2007026136.tif 000011