説明

半導体集積回路装置

【課題】 低コストで、かつ簡単な回路構成により、メモリカードのメモリ容量を大容量化する。
【解決手段】 メモリカード1において、コントローラ3は、2Gbitのフラッシュメモリを制御するものであり、フラッシュメモリ2a,2bは、それぞれ1Gbitのメモリ容量からなる。データ書き込み時には、2Gbitのフラッシュメモリとしてアドレスが転送される。書き込みはページ単位であるので、フラッシュメモリ2a,2bのいずれかを選択する必要がある。書き込みを行なうフラッシュメモリの選択は、ロウアドレスにおける’A15’のデータがハイレベルかロウレベルかで判断し、書き込みを行なわないフラッシュメモリには、インタフェースチップ4が無効コマンドを発行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリの制御技術に関し、特に、メモリカードなどの記憶装置におけるメモリ容量の増大に有効な技術に関する。
【背景技術】
【0002】
パーソナルコンピュータや多機能端末機などの外部記憶メディアの1つとして、たとえば、SD(Secure Digital)カード(登録商標)などのメモリカードが広く知られている。
【0003】
メモリカードには、半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、大容量のデータを保持できるフラッシュメモリなどの不揮発性メモリが用いられている。
【0004】
この種のメモリカードにおいては、たとえば、2つの不揮発性メモリの半導体チップを組み合わせることにより、該メモリカードのメモリ容量を擬似的に大容量化しているものがある。
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところが、上記のようなメモリカードにおけるメモリ容量の大容量化技術では、次のような問題点があることが本発明者により見い出された。
【0006】
すなわち、2つの不揮発性メモリを用いるために、それら2つの不揮発性メモリを合わせて連続したアドレス空間を形成して動作させる回路が新たに必要となり、不揮発性メモリのチップサイズが大きくなってしまうという問題がある。
【0007】
また、2つの不揮発性メモリの半導体チップを組み合わせて連続したアドレス空間を形成して動作させるために、動作テストなどが複雑となり、テストコストも大きくなってしまうという問題がある。
【0008】
本発明の目的は、低コストで、かつ簡単な回路構成により、メモリカードなどに用いられる半導体メモリのデータ容量を大きくすることのできる技術を提供することにある。
【課題を解決するための手段】
【0009】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【0010】
本発明の半導体集積回路装置は、第1の不揮発性半導体メモリを制御する主処理装置と該第1の不揮発性半導体メモリよりもメモリ容量の少ない2以上の第2の不揮発性半導体メモリとの間に接続され、主処理装置から入力された第1の不揮発性半導体メモリを制御するコマンド、およびアドレスを演算し、それら2以上の第2の不揮発性半導体メモリを1つのアドレス空間に変換して制御するものである。
【0011】
また、本願のその他の発明の概要を簡単に示す。
【0012】
本発明の半導体集積回路装置は、前記主処理装置から出力される第1の不揮発性半導体メモリのアドレスを2以上の第2の不揮発性半導体メモリに対応するアドレスに変換するアドレス組み替え部を備えたものである。
【0013】
また、本発明の半導体集積回路装置は、前記主処理装置から書き込みコマンドが発行された際に、第1の不揮発性半導体メモリにおけるブロック内のページアドレスを選択するアドレスデータに基づいて、2以上の第2の不揮発性半導体メモリのうち、非選択となる不揮発性半導体メモリに無効コマンドを発行する特定コマンド中止命令部を備えたものである。
【0014】
さらに、本発明の半導体集積回路装置は、前記主処理装置から、IDリードコマンドが出力された際に、第1の不揮発性半導体メモリのIDデータを生成し、主処理装置に出力するデータ先読み演算部を備えたものである。
【0015】
また、本発明の半導体集積回路装置は、前記データ先読み演算部が、主処理装置から、ステータスリードコマンドが出力された際に、2以上の第2の不揮発性半導体メモリのステータス情報を読み出し、主処理装置から要求された際に読み出したステータス情報を出力するものである。
【発明の効果】
【0016】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0017】
(1)メモリカードのメモリ容量を、容易に、かつ低コストに大容量化することができる。
【0018】
(2)上記(1)により、メモリカードの性能を向上させることができる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0020】
図1は、本発明の一実施の形態によるメモリカードのブロック図、図2は、図1のメモリカードに設けられたインタフェースチップのブロック図、図3は、図1のメモリカードに搭載されるフラッシュメモリにおけるアドレス空間の一例を示す説明図、図4は、図2のインタフェースチップによるアドレス割り付けの変換例を示す説明図、図5は、図1のメモリカードにおける書き込み動作の一例を示すフローチャート、図6は、図1のメモリカードにおける消去動作の一例を示すフローチャート、図7は、図1のメモリカードにおけるデータ先読み動作の一例を示すフローチャート、図8は、図1のメモリカードにおけるステータスデータの先読み動作の一例を示すフローチャートである。
【0021】
本実施の形態において、メモリカード1は、たとえば、デジタルビデオカメラ、携帯電話、携帯音楽プレーヤやパーソナルコンピュータなどにおけるホストの外部記憶メディアとして用いられるSDカードである。
【0022】
メモリカード1は、図1に示すように、記憶部2、コントローラ(主処理装置)3、およびインタフェースチップ(半導体集積回路装置)4から構成される。記憶部2には、インタフェースチップ4が接続されており、該インタフェースチップ4には、コントローラ3が接続されている。
【0023】
記憶部2は、電気的にデータの書き換え/消去が可能な2つの不揮発性半導体メモリからなり、ここでは、たとえば、フラッシュメモリ(第2の不揮発性半導体メモリ)2a,2bからからなるものとする。フラッシュメモリ2a,2bは、たとえば、1Gbitのメモリ容量をそれぞれ有しており、これらフラッシュメモリ2a,2bによって擬似的に2Gbitの記憶容量を備えた構成となっている。
【0024】
コントローラ3は、該コントローラ3に接続されるホストから、入出力される書き込み/読み出し/消去といった動作を指示するコマンドを受け、これらの動作に必要なデータの入出力を行うとともに、メモリカード1のすべての制御を司る。
【0025】
コントローラ3からは、ライトプロテクト信号/WP、リセット信号/RES、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE、ライトイネーブル信号/WE、リードイネーブル信号/RE、およびチップイネーブル信号/CEなどの制御信号と、I/Oバスを介してコマンドを含むデータI/Oとが出力される。
【0026】
インタフェースチップ4からは、制御バスBcを介してライトプロテクト信号/WP1、リセット信号/RES1、アドレスラッチイネーブル信号ALE1、コマンドラッチイネーブル信号CLE1、ライトイネーブル信号/WE1、リードイネーブル信号/RE1、およびチップイネーブル信号/CE0,/CE1などの制御信号と、データバスBd1,Bd2を介してコマンドを含むデータI/O0,I/O1とがそれぞれ出力される。
【0027】
制御バスBcにおいて、インタフェースチップ4から出力されるライトプロテクト信号/WP1、リセット信号/RES1、アドレスラッチイネーブル信号ALE1、コマンドラッチイネーブル信号CLE1、ライトイネーブル信号/WE1、ならびにリードイネーブル信号/RE1は、記憶部2のフラッシュメモリ2a,2bにそれぞれ共通して入力されるように接続されている。
【0028】
また、制御バスBcにおいて、インタフェースチップ4から出力されるチップイネーブル信号/CE0は、フラッシュメモリ2aに入力されるように接続されており、インタフェースチップ4から出力されるチップイネーブル信号/CE1は、フラッシュメモリ2bに入力されるように接続されている。
【0029】
データバスBd1において、インタフェースチップ4から出力されるデータI/O0は、フラッシュメモリ2aに入力されるように接続されており、データバスBd2において、データI/O1は、フラッシュメモリ2bに入力されるように接続されている。そして、コントローラ3には、フラッシュメモリ2a,2bから出力されるレディ/ビジー信号R/Bが共通入力されるように接続されている。
【0030】
インタフェースチップ4は、フラッシュメモリ2a,2bによって擬似的に2Gbitの記憶容量となった記憶部を1つのフラッシュメモリとして動作させる制御を司る。
【0031】
図2は、インタフェースチップ4の構成を示すブロック図である。
【0032】
インタフェースチップ4は、図示するように、アドレスラッチ6、特定コマンド中止命令部7、アドレス組み替え部8、コマンドデコード部9、データ先読み演算部10、データバスセレクタ11,12、バッファ13〜21,13a、I/O信号用パスゲート部22、ならびに制御信号用パスゲート部23から構成されている。
【0033】
バッファ13aの出力部、およびバッファ13の入力部には、パッドP1がそれぞれ接続されている。パッドP1には、コントローラ3から出力されるコマンドを含むデータが入力される。
【0034】
バッファ13aの入力部には、データ先読み演算部10が接続されている。バッファ13の出力部には、アドレスラッチ6、特定コマンド中止命令部7、アドレス組み替え部8、コマンドデコード部9、およびデータバスセレクタ11,12がそれぞれ接続されている。アドレス組み替え部8には、アドレスラッチ6が接続されている。
【0035】
データバスセレクタ11,12は、特定コマンド中止命令部7、ならびにアドレス組み替え部8にそれぞれ接続されている。
【0036】
バッファ14の入力部は、パッドP2に接続されている。パッドP2には、コントローラ3から出力される制御信号が入力される。このバッファ14の出力部は、コマンドデコード部9、およびバッファ19の入力部がそれぞれ接続されている。
【0037】
データ先読み演算部10は、バッファ15,17の出力部、ならびにコマンドデコード部9にそれぞれ接続されている。I/O信号用パスゲート部22は、パスゲート22a,22bから構成されており、制御信号用パスゲート部23は、パスゲート23a,23bから構成されている。
【0038】
また、コマンドデコード部9は、パスゲート22a,22b,23a,23bの制御端子、I/O信号用パスゲート部22、制御信号用パスゲート部23、データバスセレクタ11,12の制御端子、バッファ20,21の入力部がそれぞれ接続されている。
【0039】
パスゲート22a,22bの一方の接続部には、パッドP1がそれぞれ接続されており、パスゲート23a,23bの一方の接続部には、パッドP2がそれぞれ接続されている。
【0040】
パスゲート22aの他方の接続部、バッファ16の出力部、およびバッファ15の入力部には、インタフェースチップ4からフラッシュメモリ2aに対してコマンドを含むデータを出力するパッドP3がそれぞれ接続されている。
【0041】
パスゲート22bの他方の接続部、バッファ18の出力部、およびバッファ17の入力部には、インタフェースチップ4からフラッシュメモリ2bに対してコマンドを含むデータを出力するパッドP4がそれぞれ接続されている。
【0042】
また、バッファ19の出力部には、パッドP2を介して入力されるフラッシュメモリ2a,2bに共通の制御信号を出力するパッドP5が接続されている。
【0043】
パスゲート23aの他方の接続部には、パッドP2を介して入力されるフラッシュメモリ2aの制御信号を出力するパッドP6が接続されている。バッファ20の出力部には、コマンドデコード部9から出力されるフラッシュメモリ2aの制御信号を出力するパッドP7が接続されている。
【0044】
パスゲート23bの他方の接続部には、パッドP2を介して入力されるフラッシュメモリ2bの制御信号を出力するパッドP8が接続されている。バッファ21の出力部には、コマンドデコード部9から出力されるフラッシュメモリ2bの制御信号を出力するパッドP9が接続されている。
【0045】
アドレスラッチ6は、コントローラ3から出力されるライトイネーブル信号/WEに基づいて、アドレス信号をラッチする。特定コマンド中止命令部7は、バッファ13を介して入力されたコマンドのアドレス情報に基づいて2つのフラッシュメモリ2a,2bのうち、非選択となったフラッシュメモリに無効コマンドを発行し、データバスセレクタ11,12に出力する。
【0046】
アドレス組み替え部8は、2Gbitのメモリ容量のフラッシュメモリ(第1の不揮発性半導体メモリ)として入力されるアドレスを、各々が1Gbitのメモリ容量を有するフラッシュメモリ2a,2bのアドレスにそれぞれ振り分けて出力する。
【0047】
コマンドデコード部9は、コントローラ4などから入力されるコマンド(制御信号)をデコードし、そのデコード結果を制御信号としてデータバスセレクタ11,12、ならびにパスゲート22a,22b,23a,23bにそれぞれ出力する。
【0048】
データ先読み演算部10は、ホストが記憶部2にアクセスした際に、2Gbitのフラッシュメモリであることを示すIDコードを出力するとともに、フラッシュメモリ2a,2bのステータス信号などを出力する。
【0049】
データバスセレクタ11,12は、コマンドデコード部9から出力された制御信号に基づいてデータバスBd1,Bd2のいずれかをセレクトする。I/O信号用パスゲート部22は、フラッシュメモリ2a,2bに入出力されるデータを高速に転送し、制御信号用パスゲート部23は、フラッシュメモリ2a,2bに対する制御信号を高速に転送する。
【0050】
たとえば、メモリカード1がリード動作の際には、パスゲート22a,22bのいずれかを介してリードデータが転送され、パスゲート23a,23bのいずれかを介して制御信号であるリードイネーブル信号/REが転送されることになる。
【0051】
次に、本実施の形態によるメモリカード1の作用について説明する。
【0052】
はじめに、インタフェースチップ4に対して、コントローラ3から、記憶部2のフラッシュメモリ2a,2bに書き込み動作を行なう場合について説明する。
【0053】
書き込みセットアップコマンド、書き込みアドレス、ならびに書き込みデータは、コントローラ3からインタフェースチップ4を経て、2Gbitのメモリ容量を構成する2つの1Gbitのメモリ容量からなるフラッシュメモリ2a,2bも共通に入力される。
【0054】
書き込みはページ単位で行なう為、実際に書き込みを行なうのは、記憶部2の1つのフラッシュメモリのみである。書き込みを行なわない、すなわち非選択となるフラッシュメモリへは、書き込みスタートコマンド’10h’の代わりに、無効コマンド’FFh’を特定コマンド中止命令部7が発行して書き込みを行なわない状態にする。
【0055】
書き込みを行なうフラッシュメモリの選択は、ロウアドレスRA1サイクル中に入力される、アドレス’A15’のデータがハイレベルかロウレベルかで判断する。このアドレス’A15’は、2Gbitフラッシュメモリにおけるブロック内のページアドレスの上位/下位を選択するデータからなる。
【0056】
図3は、フラッシュメモリにおけるアドレス空間の一例を示す説明図である。
【0057】
前述したように、メモリカード1では、1Gbitのフラッシュメモリを2つ用いて2Gbitのフラッシュメモリを構成している。2Gbitのフラッシュメモリは、たとえば、図3(a)に示すように、メモリアレイが4バンク構成からなり、消去単位である1ブロックは、4つのページpageA〜pageDで構成されている。
【0058】
一方、1Gbitのフラッシュメモリは、図3(b)に示すように、メモリアレイが4バンク構成からなり、消去単位である1ブロックは、2つのページpage0,page1によって構成されている。
【0059】
よって、2つの1Gbitのフラッシュメモリで、2Gbitのフラッシュメモリを構成する場合には、消去単位を合わせる必要がある。この場合、図3(c)に示すように、2つの1Gbitフラッシュメモリにおけるそれぞれのページpage0,page1によって2Gbitのフラッシュメモリの1つのブロック(4ページ)を構成することによって、擬似的に2Gbitのフラッシュメモリと同じアドレス空間に構成することができる。
【0060】
また、図4は、インタフェースチップ4によるロウアドレス割り付けの変換例を示す説明図である。
【0061】
図4において、左側には、2Gbitのフラッシュメモリにおけるロウアドレス割り付け例を示し、右側には、2Gbitのフラッシュメモリのロウアドレスを1Gbitのフラッシュメモリのアドレス割り付けに変換した例を示す。
【0062】
2Gbitのフラッシュメモリのロウアドレスは、17bit(’A12〜A28’)から構成されており、アドレス’A12’,’A13’は、バンクアドレスの選択であり、アドレス’A14’,’A15’は、ブロック内のページアドレスの選択であり、アドレス’A16〜A28’は、バンク内のブロックアドレスの選択である。
【0063】
そして、第1のコマンドサイクルにおいて、アドレス’A12〜A19’をロウアドレスRA1として出力し、第2のコマンドサイクルにおいて、アドレス’A20〜A28’をロウアドレスRA2として出力する。
【0064】
また、1Gbitのフラッシュメモリのアドレスは、2Gbitのフラッシュメモリのアドレスとは異なり、16bitから構成されている。1Gbitのフラッシュメモリのアドレスにおいては、アドレス’A12’,’A13’がバンクアドレスの選択であり、アドレス’A14’がブロック内のページアドレスの選択であり、アドレス’A16〜A28’がバンク内のブロックアドレスの選択である。
【0065】
そして、アドレス組み替え部8は、第1のコマンドサイクルにおいて、アドレス’A12〜A14’,’A16〜A20’をロウアドレスRA1aとして出力し、第2のコマンドサイクルにおいて、アドレス’A21〜A28’をロウアドレスRA2aとして出力する。
【0066】
また、下位のフラッシュメモリ2aと上位のフラッシュメモリ2bとの選択は、2Gbitのフラッシュメモリにおけるブロック内のページアドレスの選択を示すアドレス’A15’のデータによってコマンドデコード部9が判断し、選択フラグをデータバスセレクタ11,12のいずれかに出力する。
【0067】
たとえば、アドレス’A15’がHi信号の場合には、下位のフラッシュメモリ2aが接続されているデータバスセレクタ11に選択フラグを出力し、アドレス’A15’がLo信号の場合には、上位のフラッシュメモリ2bが接続されているデータバスセレクタ12に選択フラグを出力する。
【0068】
以下に、書き込み動作の詳細を図5のフローチャートを用いて説明する。
【0069】
図5においては、上方から下方にかけて、インタフェースチップ4に入力されるリセット信号/RES、ライトプロテクト信号/WP、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE、ライトイネーブル信号/WE、リードイネーブル信号/RE、チップイネーブル信号/CE、データI/O、レディ/ビジー信号R/B、インタフェースチップ4から出力されるアドレスラッチイネーブル信号ALE1、コマンドラッチイネーブル信号CLE1、ライトイネーブル信号/WE1、リードイネーブル信号/RE1、チップイネーブル信号/CE0、チップイネーブル信号/CE1、データI/O0、およびデータI/O1における信号タイミングをそれぞれ示している。
【0070】
まず、記憶部2へ書き込みを行なう場合、コントローラ3は、チップイネーブル信号/CEをLoレベルにし、コマンドラッチイネーブル信号CLEをHiレベルにし、書き込みセットアップコマンド’80h’を出力し、ライトイネーブル信号/WEを1回クロックする。
【0071】
コントローラ3は、書き込みアドレスを記憶部2へ指定するために、アドレスラッチイネーブル信号ALEをHiレベルにセットする。コントローラ3から出力されるアドレスは、2Gbitフラッシュメモリのアドレスとして5サイクル入力される。
【0072】
アドレスラッチイネーブル信号ALEがHiレベルの場合、すなわち、記憶部2に対してアドレスを発行する場合は、アドレス組み替えが必要となるため、ライトイネーブル信号/WEはインタフェースチップ4のコマンドデコード部9を介して、記憶部2側へ出力される。
【0073】
5サイクル中の最初の2サイクルで指定するカラムアドレスCA1、カラムアドレスCA2は、インタフェースチップ4で演算されることなしに、そのまま記憶部2のフラッシュメモリ2a,2bに出力される。
【0074】
カラムアドレスCA1,CA2以降の3サイクルで指定する17bitのロウアドレスは、1Gbitフラッシュメモリの16bitのロウアドレスへ変換する必要がある。
【0075】
コントローラ3から与えられた、ロウアドレスRA1を入力するためのライトイネーブル信号/WEはインタフェースチップ4において演算処理され、フラッシュメモリ2a,2bに出力されるライトイネーブル信号/WE1はHiレベルの状態を保ち、変換される前のロウアドレスRA1が記憶部2のフラッシュメモリ2a,2bに入力されることを防止する。
【0076】
17bitあるロウアドレスデータのうち、アドレス’A15’をフラッシュメモリ2a,2bの選択情報として使用する。つまりアドレス’A15’を除いた、残りのアドレス’A12〜A14’,’A15〜A18’の信号によって16bitアドレスデータを構成する。
【0077】
アドレス’A12〜A14’,’A16〜A20’でロウアドレスRA1a、アドレス’A21〜A28’でロウアドレスRA2aとなる。アドレス’A15’が、Loレベルの場合、コマンドデコード部9は、記憶部2における下位側のフラッシュメモリ2a用のデータバスセレクタ12に選択フラグを立て、ハイレベルである場合は、上位側のフラッシュメモリ2b用のデータバスセレクタ12に選択フラグを立てる。
【0078】
書き込みデータは、カラムアドレスCA1,CA2によって指定されたアドレスを先頭に、最大2112byteのデータ入力が可能である。カラムアドレス、ロウアドレスの指定後、アドレスラッチイネーブル信号ALEをLoレベルに設定し、ライトイネーブル信号/WEをクロックすることで、シリアルに書き込みデータを転送する。この時、フラッシュメモリ2a,2bに印加されるライトイネーブル信号/WE1はインタフェースチップ4に入力されるライトイネーブル信号/WEに同期する。
【0079】
書き込みデータの入力後、コントローラ3は、コマンドラッチイネーブル信号CLEをHiレベルに設定し、書き込みスタートコマンド’10h’をインタフェースチップ4に対して発行する。
【0080】
この時、選択フラグがHiレベル側のデータバスセレクタは、コントローラ3から発行された書き込みスタートコマンド’10h’をそのまま記憶部2のフラッシュメモリ2aまたはフラッシュメモリ2bに出力する。
【0081】
特定コマンド中止命令部7では、書きこみ開始コマンド’10h’が入力された場合に、無効コマンド’FFh’を生成する。選択フラグがLoレベル側のデータバスセレクタは、特定コマンド中止命令部7で生成された、無効コマンド’FFh’を記憶部2のフラッシュメモリ2a、またはフラッシュメモリ2bへ発行する。この時、フラッシュメモリに印加されるライトイネーブル信号/WE1はライトイネーブル信号/WEに同期する。
【0082】
次に、消去動作について、図6のフローチャートを用いて説明する。なお、図6においては、上方から下方にかけて示す各々の信号は、図5と同様となっている。
【0083】
消去セットアップコマンド、消去アドレス、消去スタートコマンドは、フラッシュメモリカードコントローラからインタフェースチップを経て、フラッシュメモリ2a,2bは共通に入力される。
【0084】
書き込みと異なり、消去はブロック単位で行なうため消去スタートコマンドも、1ブロックを構成するフラッシュメモリ2a,2bに共通にそれぞれ発行する。消去するアドレスは、書きこみアドレスと同様にインタフェースチップ4が変換を行なう。
【0085】
フラッシュメモリ2a,2bの消去を行なう場合、コントローラ3は、コマンドラッチイネーブル信号CLEをHiレベルにし、消去セットアップコマンド’60h’を出力し、ライトイネーブル信号/WEを1回クロックする。
【0086】
書き込みと異なり、消去開始コマンドの発行は、フラッシュメモリ2a,2bに共通して発行される。このとき特定コマンド中止命令部7では無効コマンド’FFh’を生成しない。
【0087】
続いて、コントローラ7は、消去アドレスをフラッシュメモリへ指定するために、アドレスラッチイネーブル信号ALEをHiレベルにセットする。コントローラ3から出力されるアドレスは、2Gbitのフラッシュメモリのロウアドレスとして3サイクル入力される(書き込みと異なり、カラムアドレスの指定は行なわない)。
【0088】
図4において説明したように、3サイクルで指定する17bitのロウアドレスは、1Gbitのフラッシュメモリの16bitのロウアドレスへ変換する必要がある。
【0089】
コントローラ3から与えられた、ロウアドレスRA1を入力するためのライトイネーブル信号/WEはインタフェースチップ4内で演算処理され、該インタフェースチップから出力されるライトイネーブル信号/WE1はHiレベルの状態を保ち、変換される前のロウアドレスRA1がフラッシュメモリ2a,2bへ入力されることを防止する。
【0090】
17bitあるロウアドレスデータのうち、アドレス’A15’は、フラッシュメモリ2a,2bの選択情報であるが、消去の場合はいずれのフラッシュメモリ2a,2bともに選択するので、この情報は使用しない。
【0091】
アドレス’A15’を除いた、残りのアドレス’A12〜A14’,’A16〜A28’で16bitアドレスデータを構成する。アドレス’A12〜A14’,’A16〜A20’でロウアドレスRA1aとなり、アドレス’A21〜A28’でロウアドレスRA2aとなる。
【0092】
フラッシュメモリ2a,2bへ発行される、ロウアドレスRA1aは、インタフェースチップ4において以下の様に組み替えが行われる。
【0093】
アドレス変換のために、インタフェースチップ4では、コントローラ3から出力されたロウアドレスRA1を一回目のライトイネーブル信号/WEの立ち上がりエッジでアドレスラッチ6に保持する。
【0094】
続いて、ロウアドレスRA2としてコントローラ3から出力された、アドレスデータとアドレスラッチ6に保持されていた、ロウアドレスRA1のデータとをアドレス組み替え部8がリアルタイムに演算を行ない、1GbitのフラッシュメモリとしてのロウアドレスRA1aを生成する。
【0095】
生成されたロウアドレスRA1aはデータバスセレクタ11,12のいずれかを介してフラッシュメモリ2a,2bへ伝達される。
【0096】
また、2サイクル目以降のライトイネーブル信号/WEは、インタフェースチップ4内で演算されることなく、フラッシュメモリ2a,2bに伝達されるため、ロウアドレスRA1aはフラッシュメモリ2a,2bに取り込まれる。
【0097】
ロウアドレスRA2aもロウアドレスRA1aと同様に、以下のようにインタフェースチップ4内で組み替えが行われる。
【0098】
ロウアドレスRA1aを生成するのに使用されたロウアドレスRA2aは、ライトイネーブル信号/WEの立ち上がりで、アドレスラッチ6にとりこまれる。次に、ロウアドレスRA3としてコントローラ3に入力されたアドレスデータとアドレスラッチ6に保持されているロウアドレスRA2のデータとを、アドレス組み替え部8がリアルタイムに演算を行ない、ロウアドレスRA2aを生成する。生成したロウアドレスRA2aは、データバスセレクタ11,12のいずれかを経由して、フラッシュメモリ2a,2bのいずれかに伝達される。
【0099】
また、コントローラ3が発行した2サイクル目以降のライトイネーブル信号/WEは、インタフェースチップ4内で演算されることなく、フラッシュメモリ2a,2bに伝達されるため、ロウアドレスRA2aは2サイクル目のロウアドレス信号として、フラッシュメモリ2a,2bへ取り込まれる。
【0100】
消去アドレスが入力された後、アドレスラッチ信号ALEをLoレベルにし、コマンドラッチイネーブル信号CLEをHiレベルに設定し、消去スタートコマンド ’D0h’をコントローラ3から、インタフェースチップ4に発行する。
【0101】
消去の場合は、フラッシュメモリ2a,2bを同時に消去することで、2Gbitのフラッシュメモリの消去単位と等価になる。そのため、消去スタートコマンドは、インタフェースチップ4内で演算処理されることなく、2つのフラッシュメモリ2a,2bに同時に発行される。
【0102】
また、インタフェースチップ4からフラッシュメモリ2a,2bに出力されるライトイネーブル信号/WE1は、コントローラ3から出力されるライトイネーブル信号/WEに同期する。
【0103】
次に、データ先読み演算部10の動作について、図7のフローチャートを用いて説明する。なお、図7においても、上方から下方にかけて示す各々の信号は、図5と同様となっている。
【0104】
データ先読み演算部10は、コントローラ3が正しいフラッシュメモリが接続されていることを確認するために、フラッシュメモリ固有のIDコードデータを読み出す。
【0105】
IDコードは、フラッシュメモリ2a,2bがそれぞれ出力し、そのデータとしてマニュファクチャーコード、デバイスコードの2種類をリードイネーブル信号/REのクロックに同期してシリアルに出力する。
【0106】
コマンド入力後、リードイネーブル信号/REをHiレベルからLoレベルにした後に、インタフェースチップ4を介してフラッシュメモリ2a,2bへアクセスし、コントローラ3へマニュファクチャーコードを出力するのでは、インタフェースチップ4内の遅延時間分かかってしまい通常のフラッシュメモリのみを読み出す以上の時間がかかってしまう。
【0107】
そのため、コマンド入力後に前もって、インタフェースチップ4がフラッシュメモリ2a,2bにアクセスし、コントローラ3からリードイネーブル信号/REがLoレベルなる以前に、フラッシュメモリ2a,2bのマニュファクチャーコードを読み出し、2つのフラッシュメモリ2a,2bのデータから正しく読み出せていることを確認し、コントローラ3が、リードイネーブル信号/REをLoレベルになる以前にインタフェースチップ4でデータを準備しておく。
【0108】
コントローラ3から、IDリードコマンド’90h,00h’が出力されると、インタフェースチップ4は、入力波形に同期してフラッシュメモリへ2a,2bにIDリードコマンド’90h,00h’を出力する。
【0109】
続いて、インタフェースチップ4は、IDリードコマンドの入力後、ライトイネーブル信号/WEがLoレベルからHiレベルへの立ち上がり、ならびにアドレスラッチイネーブル信号ALEがHiレベルからLoレベルになるのを検出すると、フラッシュメモリ2a,2bへ出力するリードイネーブル信号/RE1をLoレベルに設定する。
【0110】
リードイネーブル信号/RE1をLoレベルに設定した後、フラッシュメモリ2a,2bからは、個々のマニュファクチャーコードがそれぞれ出力される。データ先読み演算部10は、フラッシュメモリ2a,2bから出力されたデータの比較を行い、各々のマニュファクチャーコードが正しい場合には、コントローラ3からのリードイネーブル信号/REがLoレベルになった場合に正しいコードを出力する。
【0111】
デバイスコードの場合、ホスト側は、2Gbitのフラッシュメモリと認識しているので、それに見合ったコードを出力する必要がある。このコードに関しては、1Gbitのフラッシュメモリのデバイスコード’01h’を読み出して変換して出力するのではなく、データ先読み演算部10が生成してコントローラ3へ出力する。
【0112】
そのため、2回目のリードイネーブル信号/REがHiレベルからLoレベルになるときは、インタフェースチップ4から出力されるリードイネーブル信号/RE1はHiレベルのまま、すなわちフラッシュメモリ2a,2bへのアクセスを行わず、インタフェースチップ4からデバイスコード’02h’が出力される。
【0113】
また、ステータスデータの先読み動作について、図8のフローチャートを用いて説明する。この図8においても、上方から下方にかけて示す各々の信号は、図5と同様である。
【0114】
ステータスデータにおいても図7に示したIDコードと同じ考え方で先読みが必要である。この場合、ステータスリードコマンド’70h’が入力された後、リードイネーブル信号/REをLoレベルにした後にステータスデータを出力しなければならない。
【0115】
この時、コントローラ3から出力されるリードイネーブル信号/REを受けて、インタフェースチップ4は、フラッシュメモリ2a,2bに対してリードイネーブル信号/RE1を出力する。
【0116】
それを受けて、フラッシュメモリ2a,2bはステータスデータを出力する。インタフェースチップ4において、フラッシュメモリ2a,2bにおけるデータを演算し、その後、コントローラ3へ出力していたのでは、単純にフラッシュメモリ2a,2bにアクセスした場合の時間に比べて遅くなってしまう。
【0117】
そこで、この遅延時間を見えなくするために、ステータスコマンドを入力した後、ライトイネーブル信号/WEのHiレベル、チップイネーブル信号CEのLoレベルを検出して、インタフェースチップ4がフラッシュメモリ2a,2bへアクセスするために、リードイネーブル信号/RE1をLoレベルに設定して、フラッシュメモリ2a,2bのステータス情報を読み出し演算して、コントローラ3が、リードイネーブル信号/REをLoレベルにする前に、インタフェースチップ4がステータスデータを準備しておく。
【0118】
それにより、本実施の形態によれば、1Gbitのメモリ容量からなるフラッシュメモリ2a,2bを用いて、擬似的に2Gbitのフラッシュメモリを構成することができるので、メモリカード1のメモリを容易に、かつ低コストで大容量化することができる。
【0119】
また、本実施の形態では、2つのフラッシュメモリによって2Gbitのメモリ容量を構成した場合について記載したが、フラッシュメモリの接続数やメモリ容量については、特に制限はなく、たとえば、図9に示すように、8つのフラッシュメモリ2a〜2hによって8Gbitのメモリ容量の記憶部2を構成するようにしてもよい。
【0120】
この場合、インタフェースチップ4からは、制御バスBc1を介してライトプロテクト信号/WP1、リセット信号/RES1、アドレスラッチイネーブル信号ALE1、コマンドラッチイネーブル信号CLE1、ライトイネーブル信号/WE1、リードイネーブル信号/RE1〜/RE4、およびチップイネーブル信号/CE00〜/CE31などの制御信号と、データバスBd1〜Bd8を介してコマンドを含むデータI/O0,I/O1とが出力される。
【0121】
制御バスBc1において、リードイネーブル信号/RE1は、上位と下位を構成するフラッシュメモリ2a,2bそれぞれ共通して入力されるように接続されている。同様に、リードイネーブル信号/RE2〜/RE4は、上位と下位を構成するフラッシュメモリ2c,2d、フラッシュメモリ2e,2f、フラッシュメモリ2g,2hにそれぞれ共通して入力されるように接続されている。
【0122】
制御バスBc1のチップイネーブル信号/CE00〜/CE31は、フラッシュメモリ2a〜2hに個別に入力されるように接続されている。コントローラ3には、フラッシュメモリ2a,2b,2e,2fから出力されるレディ/ビジー信号R/B0、およびフラッシュメモリ2c,2d,2g,2hから出力されるレディ/ビジー信号R/B1が共通入力されるように接続されている。
【0123】
インタフェースチップ4から出力されるデータバスBd1におけるデータI/O0は、下位のフラッシュメモリ2a,2c,2e,2gにそれぞれ共通に入力されるように接続されており、インタフェースチップ4から出力されるデータバスBd2におけるデータI/O1は、上位のフラッシュメモリ2b,2d,2f,2hにそれぞれ共通に入力されるように接続されている。また、その他の接続構成については、図1と同様である。
【0124】
それによって、メモリカードのメモリ容量をより大きくすることが可能となる。
【0125】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0126】
本発明は、メモリカードにおけるメモリ容量の大容量化技術に適している。
【図面の簡単な説明】
【0127】
【図1】本発明の一実施の形態によるメモリカードのブロック図である。
【図2】図1のメモリカードに設けられたインタフェースチップのブロック図である。
【図3】図1のメモリカードに搭載されるフラッシュメモリにおけるアドレス空間の一例を示す説明図である。
【図4】図2のインタフェースチップによるアドレス割り付けの変換例を示す説明図である。
【図5】図1のメモリカードにおける書き込み動作の一例を示すフローチャートである。
【図6】図1のメモリカードにおける消去動作の一例を示すフローチャートである。
【図7】図1のメモリカードにおけるデータ先読み動作の一例を示すフローチャートである。
【図8】図1のメモリカードにおけるステータスデータの先読み動作の一例を示すフローチャートである。
【図9】本発明の他の実施の形態によるメモリカードのブロック図である。
【符号の説明】
【0128】
1 メモリカード
2 記憶部
2a〜2h フラッシュメモリ(第2の不揮発性半導体メモリ)
3 コントローラ(主処理装置)
4 インタフェースチップ(半導体集積回路装置)
6 アドレスラッチ
7 特定コマンド中止命令部
8 アドレス組み替え部
9 コマンドデコード部
10 データ先読み演算部
11,12 データバスセレクタ
13〜21 バッファ
13a バッファ
22 I/O信号用パスゲート部
22a,22b パスゲート
23 制御信号用パスゲート部
23a,23b パスゲート
Bc,Bc1 制御バス
Bd1〜Bd8 データバス
P1〜P9 パッド

【特許請求の範囲】
【請求項1】
第1の不揮発性半導体メモリを制御する主処理装置と前記第1の不揮発性半導体メモリよりもメモリ容量の少ない2以上の第2の不揮発性半導体メモリとの間に接続され、
主処理装置から入力された前記第1の不揮発性半導体メモリを制御するコマンド、およびアドレスを演算し、前記2以上の第2の不揮発性半導体メモリを1つのアドレス空間に変換して制御することを特徴とする半導体集積回路装置。
【請求項2】
請求項1記載の半導体集積回路装置において、
前記主処理装置から出力される前記第1の不揮発性半導体メモリのアドレスを前記2以上の第2の不揮発性半導体メモリに対応するアドレスに変換するアドレス組み替え部を備えたことを特徴とする半導体集積回路装置。
【請求項3】
請求項1または2記載の半導体集積回路装置において、
前記主処理装置から書き込みコマンドが発行された際に、前記第1の不揮発性半導体メモリにおけるブロック内のページアドレスを選択するアドレスデータに基づいて、前記2以上の第2の不揮発性半導体メモリのうち、非選択となる不揮発性半導体メモリに無効コマンドを発行する特定コマンド中止命令部を備えたことを特徴とする半導体集積回路装置。
【請求項4】
請求項1〜3のいずれか1項に記載の半導体集積回路装置において、
前記主処理装置から、IDリードコマンドが出力された際に、前記第1の不揮発性半導体メモリのIDデータを生成し、前記主処理装置に出力するデータ先読み演算部を備えたことを特徴とする半導体集積回路装置。
【請求項5】
請求項4記載の半導体集積回路装置において、
前記データ先読み演算部は、
前記主処理装置から、ステータスリードコマンドが出力された際に、前記2以上の第2の不揮発性半導体メモリのステータス情報を読み出し、前記主処理装置から要求された際に読み出したステータス情報を出力することを特徴とする半導体集積回路装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−26136(P2007−26136A)
【公開日】平成19年2月1日(2007.2.1)
【国際特許分類】
【出願番号】特願2005−208063(P2005−208063)
【出願日】平成17年7月19日(2005.7.19)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】