(57)【要約】【課題】容易にメモリ容量を増大出来るメモリシステムを提供する。【解決手段】一実施形態のメモリシステムは、アサートされた第１または第２チップセレクト信号/CS1,/CS2が受信された直後に受信された第２信号SIをコマンドとして認識するインターフェース回路210,220と、第１、第２メモリセルアレイ100-1,100-2とを備える。インターフェース回路210,220、並びに第１及び第２メモリセルアレイ100-1,100-2は同一パッケージ内にパッケージングされる。インターフェース回路210,220は、第１チップセレクト信号/CS1がアサートされた際には第１メモリセルアレイ100-1にアクセスし、第２チップセレクト信号/CS2がアサートされた際には第２メモリセルアレイ100-2にアクセスする。【選択図】図４
2017045311.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器から第１チップセレクト信号を受信可能な第１ピンと、
前記ホスト機器から第２チップセレクト信号を受信可能な第２ピンと、
前記ホスト機器へ第１信号を出力可能な第３ピンと、
前記ホスト機器から第２信号を受信可能な第４ピンと、
前記ホスト機器からクロックを受信可能な第５ピンと、
アサートされた前記第１または第２チップセレクト信号が受信された直後に前記第４ピンで受信された前記第２信号をコマンドとして認識するインターフェース回路と、
データを保持可能なメモリセルを含む第１、第２メモリセルアレイと
を具備し、前記インターフェース回路、並びに前記第１及び第２メモリセルアレイは同一パッケージ内にパッケージングされ、
前記インターフェース回路は、前記第１チップセレクト信号がアサートされた際には前記第１メモリセルアレイにアクセスし、前記第２チップセレクト信号がアサートされた際には前記第２メモリセルアレイにアクセスする
ことを特徴とするメモリシステム。
【請求項２】
前記インターフェース回路は、前記第１チップセレクト信号、前記第１、第２信号、及び前記クロックを受信し、前記第１メモリセルアレイにアクセス可能な第１インターフェース回路と、
前記第２チップセレクト信号、前記第１、第２信号、及び前記クロックを受信し、前記第２メモリセルアレイにアクセス可能な第２インターフェース回路と
を含み、前記第１、第２インターフェース回路は、前記第３乃至第５ピンを共有する
ことを特徴とする請求項１記載のメモリシステム。
【請求項３】
前記第１インターフェース回路は、第１半導体チップに実装され、
前記第２インターフェース回路は、前記第１半導体チップと異なる第２半導体チップに実装され、
前記第１メモリセルアレイは、前記第１及び第２半導体チップと異なる第３半導体チップに実装され、
前記第２メモリセルアレイは、前記第１乃至第３半導体チップと異なる第４半導体チップに実装され、
前記第１インターフェース回路は、前記第１チップセレクト信号がアサートされた際には、前記第３半導体チップを活性化させる第１チップイネーブル信号をアサートし、
前記第２インターフェース回路は、前記第２チップセレクト信号がアサートされた際には、前記第４半導体チップを活性化させる第２チップイネーブル信号をアサートする
ことを特徴とする請求項２記載のメモリシステム。
【請求項４】
前記第１乃至第４半導体チップは積層され、樹脂封止されることによりパッケージングされる
ことを特徴とする請求項３記載のメモリシステム。
【請求項５】
前記インターフェース回路は、第１半導体チップに実装され、
前記第１メモリセルアレイは、前記第１半導体チップと異なる第２半導体チップに実装され、
前記第２メモリセルアレイは、前記第１及び第２半導体チップと異なる第３半導体チップに実装され、
前記インターフェース回路は、前記第１チップセレクト信号がアサートされた際には、前記第２半導体チップを活性化させる第１チップイネーブル信号をアサートし、
前記第２チップセレクト信号がアサートされた際には、前記第３半導体チップを活性化させる第２チップイネーブル信号をアサートする
ことを特徴とする請求項１記載のメモリシステム。
【請求項６】
前記第１乃至第３半導体チップは積層され、樹脂封止されることによりパッケージングされる
ことを特徴とする請求項５記載のメモリシステム。
【請求項７】
前記第１インターフェース回路と前記第１メモリセルアレイは、第１半導体チップ内に実装され、
前記第２インターフェース回路と前記第１メモリセルアレイは、第２半導体チップ内に実装される
ことを特徴とする請求項２記載のメモリシステム。
【請求項８】
前記第１インターフェース回路と前記第１メモリセルアレイは、第１半導体チップ内に実装され、
前記第２メモリセルアレイは、第２半導体チップ内に実装される
ことを特徴とする請求項２記載のメモリシステム。
【請求項９】
前記第１及び第２半導体チップは積層され、樹脂封止されることによりパッケージングされる
ことを特徴とする請求項７または８記載のメモリシステム。
【請求項１０】
前記ホスト機器は、前記第１メモリセルアレイから第１データの読み出しに失敗した際に、前記第２メモリセルアレイから第２データを読み出す
ことを特徴とする請求項１記載のメモリシステム。
【請求項１１】
前記ホスト機器は、前記第１メモリセルアレイから読み出した第１データと、前記第２メモリセルアレイから読み出した第２データとを照合し、照合結果に応じて前記第１データまたは第２データを実行する
ことを特徴とする請求項１記載のメモリシステム。
【請求項１２】
前記第１、第２データは同じデータであり、前記ホスト機器の起動プログラムである
ことを特徴とする請求項１０または１１記載のメモリシステム。
【請求項１３】
前記インターフェース回路は、前記クロックに同期して前記第２信号を受信し、チップセレクト信号がアサートされた後の最初のクロックに同期して受信した前記第２信号を前記コマンドと認識する
ことを特徴とする請求項１乃至１２いずれか記載のメモリシステム。
【請求項１４】
前記インターフェース回路は、ＳＰＩ（Serial Peripheral Interface）に準拠したバスにより前記ホスト機器と接続可能である
ことを特徴とする請求項１乃至１３いずれか１項記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
記憶デバイスとして、ＮＡＮＤ型フラッシュメモリが広く知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Toshiba Datasheet, TC58NVG0S3HTA00, 2012年8月31日
【非特許文献２】Toshiba Datasheet, TC58BVG0S3HTA00, 2012年8月31日
【発明の概要】
【発明が解決しようとする課題】
【０００４】
容易にメモリ容量を増大出来るメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態のメモリシステムは、ホスト機器から第１チップセレクト信号を受信可能な第１ピンと、ホスト機器から第２チップセレクト信号を受信可能な第２ピンと、ホスト機器へ第１信号を出力可能な第３ピンと、ホスト機器から第２信号を受信可能な第４ピンと、ホスト機器からクロックを受信可能な第５ピンと、アサートされた第１または第２チップセレクト信号が受信された直後に第４ピンで受信された第２信号をコマンドとして認識するインターフェース回路と、データを保持可能なメモリセルを含む第１、第２メモリセルアレイとを備える。そして、インターフェース回路並びに第１及び第２メモリセルアレイは同一パッケージ内にパッケージングされる。更にインターフェース回路は、第１チップセレクト信号がアサートされた際には第１メモリセルアレイにアクセスし、第２チップセレクト信号がアサートされた際には第２メモリセルアレイにアクセスする。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るメモリシステムの外観図である。
【図２】図２は、第１実施形態に係るメモリシステムの断面図である。
【図３】図３は、第１実施形態に係るメモリシステムの外部端子の機能を示すダイアグラムである。
【図４】図４は、第１実施形態に係るメモリシステムのブロック図である。
【図５】図５は、第１実施形態に係る半導体記憶装置のブロック図である。
【図６】図６は、第１実施形態に係るメモリシステムの動作を示すフローチャートである。
【図７】図７は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図８】図８は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図９】図９は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図１０】図１０は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図１１】図１１は、第１実施形態に係るメモリシステムの読み出し時における各種信号のタイミングチャートである。
【図１２】図１２は、第１実施形態に係るメモリシステムの読み出し動作時におけるコマンドシーケンスである。
【図１３】図１３は、第１実施形態に係るメモリシステムの書き込み時における各種信号のタイミングチャートである。
【図１４】図１４は、第１実施形態に係るメモリシステムの書き込み時における各種信号のタイミングチャートである。
【図１５】図１５は、第１実施形態に係るメモリシステムの書き込み時における各種信号のタイミングチャートである。
【図１６】図１６は、第１実施形態に係るメモリシステムの消去時における各種信号のタイミングチャートである。
【図１７】図１７は、第１実施形態に係るメモリシステムの消去時における各種信号のタイミングチャートである。
【図１８】図１８は、第２実施形態に係るメモリシステムのブロック図である。
【図１９】図１９は、第１及び第２実施形態の変形例に係るメモリシステムのブロック図である。
【図２０】図２０は、第１及び第２実施形態の変形例に係るメモリシステムのブロック図である。
【図２１】図２１は、第１及び第２実施形態に係るメモリシステムを利用したシステムの概念図である。
【図２２】図２２は、第１及び第２実施形態に係るメモリシステムを利用したシステムの概念図である。
【図２３】図２３は、第１及び第２実施形態に係るメモリシステムのブロック図である。
【図２４】図２４は、第１及び第２実施形態に係るメモリシステムの読み出し動作を示すフローチャートである。
【図２５】図２５は、第１及び第２実施形態に係るメモリシステムの読み出し動作を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【０００８】
１．第１実施形態  
第１実施形態に係るメモリシステムについて説明する。
【０００９】
１．１  構成について  
１．１．１  メモリシステムの全体構成について  
まず、本実施形態に係るメモリシステムの大まかな全体構成について、図１及び図２を用いて説明する。図１は、本実施形態に係るメモリシステムの外観図であり、特に上面から見た様子を示し、図２は図１における２−２線に沿った断面図である。
【００１０】
図示するように、メモリシステム１は４つの半導体チップ１００−１及び１００−２並びに２００−１及び２００−２を含む。半導体チップ（メモリチップ）１００−１及び１００−２はＮＡＮＤ型フラッシュメモリ等の半導体メモリを含み、半導体チップ２００−１及び２００−２（コントローラチップ）は、それぞれメモリチップ１００−１及び１００−２を制御するコントローラを含む。これらの半導体チップ１００−１及び１００−２並びに２００−１及び２００−２はリードフレーム３００に実装され、更に樹脂３５０によって封止されてパッケージングされている。
【００１１】
より具体的には、図２に示すように、リードフレーム３００のダイパッド３１０上にメモリチップ１００−１が搭載されている。更に、メモリチップ１００−１上にメモリチップ１００−２が階段状（換言すれば、メモリチップ１００−１の上面の一部が露出するように）に重ねられている。そして、メモリチップ１００−２上に、コントローラチップ２００−１及び２００−２が設けられている。
【００１２】
コントローラチップ２００−１は、例えばボンディングワイヤ３４０により、リードフレームのインナーリード３２０に接続され、更にボンディングワイヤ３４０によりメモリチップ１００−１とも接続されている。またコントローラチップ２００−２は、ボンディングワイヤ３４０によりリードフレームのインナーリード３２０に接続され、更にボンディングワイヤ３４０によりメモリチップ１００−２に接続されている。そして、メモリチップ１００−１及び１００−２、コントローラチップ２００−１及び２００−２、ダイパッド３１０、インナーリード３２０、及びボンディングワイヤ３４０が、例えば樹脂３５０によって封止されて、１つの半導体パッケージが形成されている。
【００１３】
インナーリード３２０は、樹脂３５０外部に露出されたアウターリード３３０に接続されている。そしてアウターリード３３０は、メモリシステム１の外部接続端子（外部接続ピン）として機能する。図１の例であると、第１ピンから第１６ピンまでの１６個の外部接続端子が用意されている。そしてメモリシステム１は、これらのピンを介して、メモリシステム１を制御する（より具体的には、メモリチップにアクセスする）ホスト機器と通信する。
【００１４】
図３は、各ピンの機能を示すダイアグラムである。図示するように、第１ピンは、制御信号／ＨＯＬＤの入力用、またはシリアルデータＳＯ３の出力用に用いられる。制御信号／ＨＯＬＤは、ホスト機器とメモリシステム１との間の通信を一時的に停止する際にアサート（“Ｌ”レベル）される。第２ピンは、電源電圧Ｖccを受信する。第３ピンから第６ピン、及び第１２ピンから第１４ピンは未使用ピンであり、例えば将来的に何らかの信号やデータの送受信が必要になった際に使用することが出来る。第７ピンは、チップセレクト信号／ＣＳ１を受信する。チップセレクト信号／ＣＳ１は、メモリチップ１００−１及びコントローラチップ２００−１を活性化させるための信号（言い換えれば、メモリチップ１００−１にアクセスする際に活性化される信号）である。第１１ピンは、チップセレクト信号／ＣＳ２を受信する。チップセレクト信号／ＣＳ２は、メモリチップ１００−２及びコントローラチップ２００−２を活性化させるための信号（言い換えれば、メモリチップ１００−２にアクセスする際に活性化される信号）である。チップセレクト信号／ＣＳ１及び／ＣＳ２は、例えばホスト機器がメモリシステム１にコマンドを入力するタイミングでアサート（“Ｌ”レベル）される。第８ピンは、シリアルデータ（ＳＯまたはＳＯ１）の出力用に用いられる。第９ピンは、制御信号／ＷＰの入力用、またはシリアルデータ（ＳＯ２）の出力用に用いられる。制御信号／ＷＰはライトプロテクト信号であり、メモリチップへの書き込みを禁止する際にアサート（“Ｌ”レベル）される。第１０ピンは、基準電位Ｖssを受信する。第１５ピンは、シリアルデータ（ＳＩ）の入力用、またはシリアルデータ（ＳＯ０）の出力用に用いられる。第１６ピンは、シリアルクロック信号ＳＣＫを受信する。
【００１５】
上記ピン構成は、ＳＰＩ（Serial Peripheral Interface）に準拠している。そして、第１ピン、第８ピン、第９ピン、及び第１５ピンをシリアルデータ出力用として任意に選択することで、１倍速、２倍速、または４倍速でデータをホスト機器へ出力することが出来る。
【００１６】
図４は、メモリシステム１の内部構成を示す機能ブロック図である。以下では、メモリチップ１００−１及び１００−２をそれぞれＮＡＮＤ型フラッシュメモリ１００−１及び１０２−２と呼び、両者を区別しない際には、単にＮＡＮＤ型フラッシュメモリ１００と呼ぶ。また、コントローラチップ２００−１及び２００−２をコントローラ２００−１及び２００−２と呼び、両者を区別しない場合には単にコントローラ２００と呼ぶ。
【００１７】
図示するように、メモリシステム１はＮＡＮＤ型フラッシュメモリ１００−１及び１００−２とコントローラ２００−１及び２００−２とを備えている。
【００１８】
ＮＡＮＤ型フラッシュメモリ１００−１及び１００−２は、複数のメモリセルを備え、データを不揮発に記憶する。コントローラ２００−１及び２００−２は、ＮＡＮＤバスによってＮＡＮＤ型フラッシュメモリ１００−１及び１００−２にそれぞれ接続され、ＳＰＩバスによってホスト機器５００に接続される。そしてコントローラ２００−１及び２００−２は、ＮＡＮＤ型フラッシュメモリ１００−１及び１００−２へのアクセスを制御する。
【００１９】
ＮＡＮＤバスは、ＮＡＮＤインターフェースに従った信号の送受信を行う。この信号の具体例は、チップイネーブル信号／ＣＥ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、レディ・ビジー信号／ＲＢ、入出力信号Ｉ／Ｏ、及びライトプロテクト信号／ＷＰである。
【００２０】
信号／ＣＥはlowレベルでアサートされ、ＮＡＮＤ型フラッシュメモリ１００を活性化させるための信号であり、ＮＡＮＤ型フラッシュメモリ１００にアクセスする際にアサートされる。信号ＣＬＥ及びＡＬＥは、ＮＡＮＤ型フラッシュメモリ１００への入力信号Ｉ／Ｏがそれぞれコマンド及びアドレスであることをＮＡＮＤ型フラッシュメモリ１００に通知する信号である。信号／ＷＥはlowレベルでアサートされ、入力信号Ｉ／ＯをＮＡＮＤ型フラッシュメモリ１００に取り込ませるための信号である。信号／ＲＥもlowレベルでアサートされ、ＮＡＮＤ型フラッシュメモリ１００から出力信号Ｉ／Ｏを読み出すための信号である。レディ・ビジー信号／ＲＢは、ＮＡＮＤ型フラッシュメモリ１００がレディ状態（コントローラ２００からの命令を受信出来る状態）であるか、それともビジー状態（コントローラ２００からの命令を受信出来ない状態）であるかを示す信号であり、lowレベルがビジー状態を示す。入出力信号Ｉ／Ｏは、例えば８ビット（ｎ＝８）の信号である。そして入出力信号Ｉ／Ｏは、ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００との間で送受信されるデータの実体であり、コマンド、アドレス、書き込みデータ、及び読み出しデータ等である。信号／ＷＰは、ＮＡＮＤ型フラッシュメモリ１００への書き込みを禁止するための信号である。
【００２１】
なお、以下の説明では必要に応じて、ＮＡＮＤ型フラッシュメモリ１００−１とコントローラ２００−１との間のＮＡＮＤバス上の信号には“１”なるsuffixを付記し、ＮＡＮＤ型フラッシュメモリ１００−２とコントローラ２００−２との間のＮＡＮＤバス上の信号には“２”なるsuffixを付記する。すなわち、ＮＡＮＤ型フラッシュメモリ１００−１とコントローラ２００−１との間のＮＡＮＤバス上の上記信号は、それぞれ／ＣＥ１、ＣＬＥ１、ＡＬＥ１、／ＷＥ１、／ＲＥ１、ＩＯ１、／ＲＢ１、及び／ＷＰ１であり、ＮＡＮＤ型フラッシュメモリ１００−２とコントローラ２００−２との間のＮＡＮＤバス上の上記信号は、それぞれ／ＣＥ２、ＣＬＥ２、ＡＬＥ２、／ＷＥ２、／ＲＥ２、ＩＯ２、／ＲＢ２、及び／ＷＰ２である。
【００２２】
ＳＰＩバスは、図３で説明した通りである。
【００２３】
１．１．２  コントローラ２００の構成について  
次に、コントローラ２００の構成の詳細につき、引き続き図４を用いて説明する。図示するようにコントローラ２００は、ホスト入出力回路２１０、ホストインターフェース回路２２０、ＮＡＮＤインターフェース回路２３０、ＮＡＮＤ入出力回路２４０、シーケンサ（ステートマシン）２５０、データバッファ２６０、２７０、ステータスレジスタ２８０、アドレスレジスタ２９０、及び周辺回路６００を備えている。
【００２４】
ホスト入出力回路２１０は、ホスト機器５００との間で送受信される信号のバッファとして機能する。信号ＳＣＫ、ＳＩ、／ＣＳ１、／ＣＳ２、／ＨＯＬＤ、及び／ＷＰはまずホスト入出力回路２１０で受信され、その後、ホストインターフェース回路２２０に出力される。なお、図３を用いて説明したように、第１ピン、第２ピン、第８〜第１０ピン、第１５ピン、及び第１６ピンは、コントローラ２００−１及び２００−２で共通して使用される。従って、ホスト機器５００からの信号ＳＣＫ、ＳＩ、／ＨＯＬＤ、及び／ＷＰは、コントローラ２００−１及び２００−２のホスト入出力回路２１０に与えられる。また、コントローラ２００−１及び２００−２からの出力信号ＳＯも、同一のピンからホスト機器５００へ出力される。しかし、チップセレクト信号／ＣＳ用のピンは、コントローラ２００−１と２００−２とでそれぞれ独立して設けられている。そして、チップセレクト信号／ＣＳ１は、第７ピンを介してコントローラ２００−１のホスト入出力回路２１０に与えられ、チップセレクト信号／ＣＳ２は、第１１ピンを介してコントローラ２００−２のホスト入出力回路２１０に与えられる。
【００２５】
ホストインターフェース回路２２０は、対応するチップセレクト信号／ＣＳがアサートされている際に、信号ＳＣＫに同期して信号ＳＩを内部に取り込む。またホストインターフェース回路２２０は、対応するチップセレクト信号／ＣＳがアサートされている際に信号ＳＣＫに同期して出力される信号ＳＯを、ホスト入出力回路２１０を介してホスト機器５００へ送信する。
【００２６】
ホストインターフェース回路２２０は、ホスト入出力回路２１０を介したホスト機器５００との間の信号の送受信制御を司る。またホストインターフェース回路２２０は、シリアル／パラレル変換器及びパラレル／シリアル変換器として機能する。例えば、ホスト機器５００からの入力信号ＳＩをシリアル信号からパラレル信号に変換し、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータをパラレル信号からシリアル信号に変換する。更にホストインターフェース回路２２０は、入力信号ＳＩがコマンドであった場合にコマンドデコーダとして機能し、受信したコマンドをデコードする。そしてデコード結果を例えばシーケンサ２５０に出力する。
【００２７】
データバッファ２６０、２７０は、ホスト機器５００から受信した書き込みデータを、ホストインターフェース回路２２０を介して一時的に保持する。更に、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータを、ＮＡＮＤインターフェース回路２３０を介して一時的に保持する。
【００２８】
ステータスレジスタ２８０は、対応するコントローラ２００及びＮＡＮＤ型フラッシュメモリ１００の種々のステータス情報を保持する。すなわち、コントローラ２００−１のステータスレジスタ２８０は、コントローラ２００−１のステータス及びＮＡＮＤ型フラッシュッメモリ１００−１のステータスを保持し、コントローラ２００−２のステータスレジスタ２８０は、コントローラ２００−２のステータス及びＮＡＮＤ型フラッシュッメモリ１００−２のステータスを保持する。
【００２９】
アドレスレジスタ２９０は、ホスト機器５００から受信したアドレスを、ホストインターフェース回路２２０を介して保持する。
【００３０】
ＮＡＮＤインターフェース回路２３０は、ＮＡＮＤ入出力回路２４０を介したＮＡＮＤ型フラッシュメモリ１００との間の信号の送受信制御を司る。そしてＮＡＮＤインターフェース回路２３０は、シーケンサ２５０の命令に従って、ＮＡＮＤインターフェースに準拠した各種コマンドを発行し、アドレスレジスタ２９０内のアドレスと共にＮＡＮＤ入出力回路２４０を介してＮＡＮＤ型フラッシュメモリ１００へ出力する。データの書き込み時には、データバッファ２６０及び／または２７０内のデータを、ＮＡＮＤ入出力回路２４０を介してＮＡＮＤ型フラッシュメモリ１００へ出力する。更にデータの読み出し時には、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータを、データバッファ２６０及び／または２７０に転送する。
【００３１】
ＮＡＮＤ入出力回路２４０は、ＮＡＮＤ型フラッシュメモリ１００との間で送受信される信号のバッファとして機能する。また、ＮＡＮＤインターフェース回路２３０の命令に従って、信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、／ＷＰをアサートまたはデアサートする。更に、データの読み出し時には、信号ＩＯ（読み出しデータ）を一時的に保持し、ＮＡＮＤインターフェース回路２３０へ転送し、書き込み時には信号ＩＯ（書き込みデータ）を一時的に保持し、ＮＡＮＤ型フラッシュメモリ１００へ送信する。また、ＮＡＮＤ型フラッシュメモリ１００からレディ・ビジー信号／ＲＢを受信し、これをＮＡＮＤインターフェース回路２３０へ転送する。
【００３２】
シーケンサ２５０は、コントローラ２００全体の動作を制御する。例えば、ホスト機器５００からデータの読み出し要求があった際には、ＮＡＮＤインターフェース回路２３０に対して読み出し動作を実行するためのシーケンスを実行するよう命令する。またホスト機器５００からデータの書き込み要求があった際には、ＮＡＮＤインターフェース回路２３０に対して読み出し動作を実行するためのシーケンスを実行するよう命令する。更に、ＮＡＮＤ型フラッシュメモリ１００から受信した情報に従って、ステータスレジスタ２８０内のステータス情報を更新する。
【００３３】
周辺回路６００は、外部から電源電圧Ｖccを受信し、各回路ブロックへ転送すると共に、コントローラ２００の動作に必要なその他の制御を行う。
【００３４】
１．１．３  ＮＡＮＤ型フラッシュメモリ１００の構成について  
次に、ＮＡＮＤ型フラッシュメモリ１００の構成について、図５を用いて説明する。図５は、ＮＡＮＤ型フラッシュメモリ１００のブロック図である。
【００３５】
図示するようにＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイ１１０、ロウデコーダ１２０、センスアンプ１３０、データレジスタ１４０、カラムデコーダ１５０、ＥＣＣ回路４００、ステータスレジスタ４１０、アドレスレジスタ４２０、コマンドレジスタ４３０、制御回路４４０、電圧発生回路４５０、入出力制御回路４６０、ロジック回路４７０、及びデータレジスタ４８０を備えている。
【００３６】
メモリセルアレイ１１０は、ロウ及びカラムに対応付けられた複数の不揮発性のメモリセルを備えている。そして、同一行にあるメモリセルは同一のワード線に接続され、同一列にあるメモリセルは同一のビット線に接続される。データの読み出し及び書き込みは、同一のワード線に接続された複数のメモリセルに対して一括して行われる。この単位をページと呼ぶ。１ページ分のデータは、正味のデータと管理データとを含む。正味のデータは、セクタと呼ばれる単位で管理される。例えば本例では、１ページは４つのセクタを含み、各セクタは５１２バイトのデータサイズを有する。管理データは、例えばエラー訂正のためのＥＣＣデータ（パリティ）を含む。エラー訂正はセクタ毎に行われる。従って管理データは、セクタ毎に用意されたＥＣＣデータを含む。また、データの消去は、複数のページ単位で一括して行われる。この単位をブロックと呼ぶ。
【００３７】
ロウデコーダ１２０は、メモリセルアレイ１１０のロウ方向を指定するロウアドレスをデコードする。そして、デコード結果に応じてワード線を選択し、データの書き込み、読み出し、及び消去に必要な電圧を印加する。
【００３８】
センスアンプ１３０は、データの読み出し時には、メモリセルアレイ１１０から読み出されたデータをセンスし、データレジスタ１４０に転送する。データの書き込み時には、データレジスタ１４０内のデータをメモリセルアレイ１１０に転送する。
【００３９】
データレジスタ１４０は、１ページ分の書き込みデータまたは読み出しデータを一時的に保持する。
【００４０】
カラムデコーダ１５０は、メモリセルアレイ１１０のカラム方向を指定するカラムアドレスをデコードする。そしてデコード結果に応じて、書き込み時にはデータをデータレジスタに転送し、読み出し時にはデータレジスタからデータを読み出す。
【００４１】
ＥＣＣ回路４００は、エラー検出及びエラー訂正処理を行う。より具体的には、データの書き込み時には、コントローラ２００から受信したデータに基づいて、セクタ毎にパリティを生成し、このパリティと正味のデータとをデータレジスタ１４０に転送する。データの読み出し時には、データレジスタ１４０から転送されたデータに含まれるパリティに基づき、セクタ毎にシンドロームを生成し、エラーの有無を検出する。そしてエラーが検出された際には、そのビット位置を特定し、エラーを訂正する。１セクタにつき訂正可能なエラービット数は、本例では例えば１セクタあたり８ビットである。またＥＣＣ回路４００は、各セクタにおいて検出されたエラービット数を、ステータス情報としてステータスレジスタ４１０に出力可能である。
【００４２】
ロジック回路４７０は、コントローラ２００から信号／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、及び／ＷＰを受信する。
【００４３】
入出力制御回路４６０は、信号ＩＯ［ｎ：０］を受信する。そして入出力制御回路４６０は、信号ＩＯがアドレスであった場合（ＡＬＥ＝“Ｈ”の場合）には、これをアドレスレジスタ４２０に保持させる。また信号ＩＯがコマンドであった場合（ＣＬＥ＝“Ｈ”の場合）には、これをコマンドレジスタ４３０に保持させる。更に信号ＩＯがデータであった場合（ＡＬＥ＝ＣＬＥ＝“Ｌ”の場合）には、これをデータレジスタ４８０に保持させる。
【００４４】
データレジスタ４８０は、ＥＣＣ回路４００と入出力制御回路４６０との間においてデータを一時的に保持する。
【００４５】
ステータスレジスタ４１０は、ＮＡＮＤ型フラッシュメモリ１００の各種ステータス情報を保持する。ステータス情報には、前述のＥＣＣ回路４００から与えられるエラービット数、また制御回路４４０から与えられる書き込み動作及び消去動作が成功（パス）したか失敗（フェイル）したかを示す情報等が含まれる。
【００４６】
制御回路４７０は、コマンドレジスタ４３０に保持されたコマンドと、ロジック回路４７０に入力された各種信号に基づいて、ＮＡＮＤ型フラッシュメモリ１００全体を制御する。より具体的には、制御回路４７０は、対応するチップイネーブル信号／ＣＥがアサートされている際に動作状態となり、デアサートされている際には非動作状態となる。また制御回路４７０は、レディ・ビジー信号／ＲＢを発生して、コントローラ２００へ出力する。
【００４７】
電圧発生回路４５０は、制御回路４７０の命令に基づいて、データの書き込み、読み出し、及び消去動作に必要な電圧を生成し、これをメモリセルアレイ１１０、ロウデコーダ１２０、及びセンスアンプ１３０に供給する。
【００４８】
１．２  動作について  
次に、本実施形態に係るメモリシステム１の動作について説明する。まず、ＮＡＮＤ型フラッシュメモリ１００−１及びコントローラ２００−１と、ＮＡＮＤ型フラッシュメモリ１００−２及びコントローラ２００−２の選択につき、図６を用いて説明する。図６は、メモリシステム１の動作を示すフローチャートである。
【００４９】
図示するように、まずホスト機器５００によってチップセレクト信号／ＣＳ１または／ＣＳ２がアサートされる（ステップＳ１０）。／ＣＳ１がアサートされた場合（ステップＳ１１、ＹＥＳ）、／ＣＳ１を受信したコントローラ２００−１はＮＡＮＤ型フラッシュメモリ１００−１を活性化し（／ＣＥ１＝“Ｌ”）、ホスト機器５００からの命令に従って、ＮＡＮＤ型フラッシュッメモリ１００−１にコマンドを発行する（ステップＳ１２）。するとＮＡＮＤ型フラッシュメモリ１００−１は、受信したコマンドに従って、所定の動作を実行する（ステップＳ１３）。／ＣＳ１がアサートされる場合、基本的に／ＣＳ２はデアサートされる。従って、ホスト機器５００によってＮＡＮＤ型フラッシュメモリ１００−１がアクセスされている場合には、ＮＡＮＤ型フラッシュメモリ１００−２はホスト機器５００からのアクセスを受けない。
【００５０】
逆の場合も同様である。／ＣＳ２がアサートされた場合（ステップＳ１１、ＮＯ）、／ＣＳ２を受信したコントローラ２００−２はＮＡＮＤ型フラッシュメモリ１００−２を活性化し（／ＣＥ２＝“Ｌ”）、ホスト機器５００からの命令に従って、ＮＡＮＤ型フラッシュッメモリ１００−２にコマンドを発行する（ステップＳ１４）。するとＮＡＮＤ型フラッシュメモリ１００−２は、受信したコマンドに従って、所定の動作を実行する（ステップＳ１５）。
【００５１】
以下、／ＣＳ１がアサートされる場合を例に、データの読み出し動作、書き込み動作、及び消去動作につき、ＳＰＩバス及びＮＡＮＤバスで送受信される信号に着目して説明する。以下の動作における動作主体は、メモリシステム１におけるＮＡＮＤ型フラッシュメモリ１００−１及びコントローラ２００−１である。なお、／ＣＳ２がアサートされる場合にはＮＡＮＤ型フラッシュメモリ１００−２及びコントローラ２００−２が動作主体となる。
【００５２】
１．２．１  読み出し動作  
まず、読み出し動作について説明する。読み出し動作は、大まかには以下の３ステップを含む。すなわち、
（１）ＮＡＮＤ型フラッシュメモリ１００からのデータ読み出し：本動作により、ＮＡＮＤ型フラッシュメモリ１００からコントローラ２００にデータが読み出される。  
（２）特徴テーブル読み出し（Get featureと呼ぶことがある）：特徴テーブルとは、例えばシーケンサ２５０によって生成されてステータスレジスタ２８０に保持されるテーブルであり、種々のステータス情報を保持する（プログラムフェイル、消去フェイル、ＥＣＣ処理結果等）。本動作により、メモリシステム１がビジー状態であるかレディ状態であるか、すなわち上記（１）の動作が完了したか否かが判定される。  
（３）コントローラ２００からのデータ読み出し：本動作により、（１）でコントローラ２００に読み出されたデータがホスト機器５００に読み出される。
【００５３】
図７は、上記（１）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳ１をアサートし、／ＣＳ２をデアサートすると共に、第１読み出しコマンドＣＭＤ＿ＲＤ１を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。
【００５４】
コントローラ２００−１のホストインターフェース回路２２０は、信号／ＣＳ１がアサートされて最初のクロックＳＣＫを受信した際の信号ＳＩをコマンドとして認識する。このコマンドは、例えば８クロックサイクルにわたって入力される８ビット信号である。第１読み出しコマンドＣＭＤ＿ＲＤ１を受信したことで、シーケンサ２５０はデータ読み出しシーケンスを開始する。
【００５５】
引き続きホスト機器５００は、例えば８クロックサイクルにわたってダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１６サイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。そしてアドレスＡＤＤの送信後、ホスト機器５００は信号／ＣＳ１をデアサートする。アドレスＡＤＤは、ＮＡＮＤ型フラッシュメモリ１００−１におけるブロック及びページを指定するアドレスであり、アドレスレジスタ２９０に保持される。
【００５６】
このように、特定のコマンドを受信した際に、その後にどのような信号が入力されるか（コマンドシーケンス）は予め定められている。つまりコントローラ２００は、例えば第１読み出し命令を受信した際には、その後の８クロックサイクルで入力される信号ＳＩは意味の無いダミーデータであり、その後の１６クロックサイクルで入力される信号ＳＩが、実体的なアドレス信号であることを把握している。
【００５７】
上記（１）の動作に引き続いて上記（２）の動作が実行される。図８は、上記（２）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳ１を再度アサートすると共に、Get featureコマンドＣＭＤ＿ＧＦを信号ＳＩとして発行し、更にクロックＳＣＫを発行する。信号／ＣＳ２はデアサートされたままである。
【００５８】
引き続きホスト機器５００は、例えば８クロックサイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、特徴テーブル内のアドレスであり、当然ながらコントローラ２００−１及びＮＡＮＤ型フラッシュメモリ１００−１のレディ・ビジー情報が格納された領域を指定するアドレスである。コントローラ２００−１では、アドレスＡＤＤの受信後、例えばシーケンサ２５０の命令に従ってホストインターフェース回路２２０がステータスレジスタ２８０から特徴テーブルの指定のエントリを読み出し、これを８サイクルにわたって８ビットのステータスデータＳＴ＿ＤＡＴとしてホスト機器５００に送信する。このステータスデータＳＴ＿ＤＡＴには、レディ・ビジー情報が含まれている。そしてステータスデータＳＴ＿ＤＡＴの受信後、ホスト機器５００は信号／ＣＳをデアサートする。
【００５９】
受信したステータスデータＳＴ＿ＤＡＴにおいて、メモリシステム１（コントローラ２００−１及びＮＡＮＤ型フラッシュメモリ１００−１）がレディ状態であることが示されていれば、上記（３）の動作が実行される。図９は、上記（３）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳ１をアサートすると共に、第２読み出しコマンドＣＭＤ＿ＲＤ２を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。信号／ＣＳ２はデアサートされたままである。
【００６０】
引き続きホスト機器５００は、例えば４クロックサイクルにわたってダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１２サイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、コントローラ２００−１において、データバッファ２６０または２７０における領域を指定するためのアドレスであり、ＮＡＮＤフラッシュメモリ１００−１におけるページ内のカラムを指定するアドレスである。アドレスＡＤＤは、アドレスレジスタ２９０に保持される。すると、例えばシーケンサ２５０の制御に従い、ホストインターフェース回路２２０はデータバッファ２６０または２７０からデータを読み出す。そして、８クロックサイクル経過の後、ホストインターフェース回路２２０は、データバッファ２６０または２７０から読み出したデータＲＤ＿ＤＡＴをホスト機器５００へ送信する。
【００６１】
図１０及び図１１は、上記（１）の動作時におけるＮＡＮＤバス上の各種信号のタイムチャートであり、図１０はコントローラ２００−１とＮＡＮＤ型フラッシュメモリ１００−１との間で送受信される信号を示し、図１１はコントローラ２００−２とＮＡＮＤ型フラッシュメモリ１００−２との間で送受信される信号を示す。
【００６２】
まず、図１０を参照して、コントローラ２００−１とＮＡＮＤ型フラッシュメモリ１００−１について説明する。図示するように、第１読み出しコマンドＣＭＤ＿ＲＤ１を受信したコントローラ２００−１では、例えばシーケンサ２３０の制御に従って、ＮＡＮＤインターフェース回路２３０が信号／ＣＥ１をアサート（“Ｌ”レベル）すると共に、アドレス入力コマンド“００ｈ”を発行し、ＮＡＮＤ型フラッシュメモリ１００−１へ送信する。引き続き、例えば５サイクルにわってアドレスＡＤＤをＮＡＮＤ型フラッシュメモリ１００−１へ送信し、その後読み出しコマンド“３０ｈ”を発行して、これをＮＡＮＤ型フラッシュメモリ１００−１へ送信する。なお、このアドレスＡＤＤは、図７及び図９で示された動作においてアドレスレジスタ２９０に保持されたブロック、ページ、及びカラムを示すアドレスを含む。
【００６３】
信号ＣＥ１がアサートされることにより活性化されたＮＡＮＤ型フラッシュメモリ１００−１では、コマンド“３０ｈ”に応答して、メモリセルアレイ１１０からのデータの読み出し動作が開始され、ＮＡＮＤ型フラッシュメモリ１００−１はビジー状態となる（／ＲＢ＝“Ｌ”）となる。
【００６４】
データのメモリセルアレイ１１０からの読み出しが完了すると、ＮＡＮＤ型フラッシュメモリ１００−１はレディ状態となる。これに応答してコントローラ２００−１は、信号／ＲＥをトグルさせる。すると、信号／ＲＥに同期して、データがＮＡＮＤ型フラッシュメモリ１００−１からコントローラ２００−１へ転送される。
【００６５】
次に、図１１を参照して、コントローラ２００−２とＮＡＮＤ型フラッシュメモリ１００−２について説明する。信号／ＣＳ２がデアサートされているため、コントローラ２００−２は、第１５ピンから与えられる信号ＳＩを内部に取り込まず、または内部に取り込んだとしても、その信号がコントローラ２００−２宛てでは無いと判断する。従ってコントローラ２００−２は、信号／ＣＥ２を“Ｈ”とする。その結果、ＮＡＮＤ型フラッシュメモリ２００−２は不活性化される。そしてコントローラ２００−２は、信号ＡＬＥ２及びＣＬＥ２をデアサート（“Ｌ”レベル）し、更に信号／ＷＥ２、／ＲＥ２をデアサート（“Ｈ”レベル）する。よって、ＮＡＮＤ型フラッシュメモリ２００−２からデータは読み出されない。
【００６６】
なお、ＮＡＮＤ型フラッシュメモリ２００−２からデータが読み出される際には、ホスト機器５００は信号／ＣＳ２をアサートし、信号／ＣＥ１をデアサートする。すると、信号ＳＩはコントローラ２００−２で受信され、ＮＡＮＤ型フラッシュメモリ１００−１が、図１０で説明したように動作する。
【００６７】
図１２は、ＮＡＮＤ型フラッシュメモリ１００−１からデータを読み出す際におけるコマンドシーケンスである。
【００６８】
図示するように、まずホスト機器５００が第１読み出しコマンドＣＭＤ＿ＲＤ１を発行し、引き続きアドレスＡＤＤを発行する。このアドレスに応答して、メモリシステム１（コントローラ２００−１及びＮＡＮＤ型フラッシュメモリ１００−１）はビジー状態となり、コントローラ２００−１の保持する特徴テーブルにおけるフラグＯＩＰは“１”とされる。またホスト機器５００は、Get featureコマンドＣＭＤ＿ＧＦ及びアドレスＡＤＤ（＝“Ｃ０ｈ”）を発行し、特徴テーブルからフラグＯＩＰを含むエントリの情報（１バイトデータ）を読み出す。アドレス“Ｃ０ｈ”は、ＯＩＰを含むエントリを指定するアドレスである。そしてこのエントリ情報は、ＯＩＰが“０”になるまで繰り返しホスト機器５００へ送信される（Get featureコマンドを繰り返し発行しても良い）。
【００６９】
メモリシステム１がビジー状態となると共に、コントローラ２００−１はＮＡＮＤ型フラッシュメモリ１００−１に対してコマンド“００ｈ”、アドレスＡＤＤ、及びコマンド“３０ｈ”を発行する。これによりＮＡＮＤ型フラッシュメモリ１００−１はビジー状態となる。そして、メモリセルアレイ１１０からデータが読み出される。引き続き、読み出されたデータにつき、ＥＣＣ回路４００がエラー検出を行い、エラーが検出された際にはこれを訂正する。
【００７０】
その後、ＮＡＮＤ型フラッシュメモリ１００−１はレディ状態となり、読み出されたデータがコントローラ２００−１へ送信される。引き続きコントローラ２００−１は、ＥＣＣステータス読み出しコマンド“７Ａｈ”を発行する。すると、このコマンドに応答してＮＡＮＤ型フラッシュメモリ１００−１は、ＥＣＣ処理において検出されたセクタ毎のエラービット数をコントローラ２００−１に出力する。
【００７１】
ＮＡＮＤ型フラッシュメモリ１００−１からコントローラ２００−１にエラービット数が転送されると、メモリシステム１はレディ状態となり、例えばシーケンサ２５０は、特徴テーブル内のＯＩＰを“１”から“０”にセットする。
【００７２】
ＯＩＰが“０”になったことに応答してホスト機器５００は、第２読み出しコマンドＣＭＤ＿ＲＤ２を発行して、ＥＣＣ回路４００によって誤りの訂正された読み出しデータを、コントローラ２００−１から読み出す。
【００７３】
１．２．２  書き込み動作  
次に書き込み動作について説明する。書き込み動作は、大まかには以下の３ステップを含む。すなわち、
（１）ホスト機器５００からコントローラ２００へのデータ転送。  
（２）転送したデータのＮＡＮＤ型フラッシュメモリ１００への書き込み。  
（３）特徴テーブル読み出し（Get feature）：本動作により、ＮＡＮＤ型フラッシュメモリ１００への書き込みがパスしたかフェイルしたかが判定される。
【００７４】
図１３は、上記（１）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳをアサートし、／ＣＳ２をデアサートすると共に、第１書き込みコマンドＣＭＤ＿ＷＲ１を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。第１書き込みコマンドＣＭＤ＿ＷＲ１を受信したことで、コントローラ２００−１のシーケンサ２５０はデータ書き込みシーケンスを開始する。
【００７５】
引き続きホスト機器５００は、例えば４クロックサイクルにわたってダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１２サイクルにわたってアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、データバッファ２６０または２７０における領域を指定するためのアドレスであり、ＮＡＮＤ型フラッシュメモリ１００−１におけるページ内のカラムを指定するアドレスである。アドレスＡＤＤは、アドレスレジスタ２９０に保持される。更にホスト機器５００は、書き込みデータＷＲ＿ＤＡＴをコントローラ２００へ送信する。この書き込みデータＷＲ＿ＤＡＴは、データバッファ２６０または２７０において、直前に受信したＡＤＤに対応する領域に保持される。そしてデータＷＲ＿ＤＡＴの送信後、ホスト機器５００は信号／ＣＳ１をデアサートする。
【００７６】
上記（１）の動作に引き続いて上記（２）の動作が実行される。図１４は、上記（２）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳ１を再度アサートすると共に、第２書き込みコマンドＣＭＤ＿ＷＲ２を信号ＳＩとして発行し、更にクロックＳＣＫを発行する。信号／ＣＳ２はデアサートされたままである。第２書き込みコマンドＣＭＤ＿ＷＲ２を受信したことで、コントローラ２００−１のシーケンサ２５０は、上記（２）の動作命令を受信したことを認識する。
【００７７】
引き続きホスト機器５００は、例えば８クロックサイクルにわたって８ビットのダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１６サイクルにわたって１６ビットのアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、ＮＡＮＤ型フラッシュメモリ１００−１におけるブロック及びページを指定するアドレスであり、コントローラ２００−１のアドレスレジスタ２９０に保持される。そしてアドレスＡＤＤの送信後、ホスト機器５００は信号／ＣＳ１をデアサートする。
【００７８】
上記（２）の動作に引き続いて、上記（３）の動作が行われる。本動作におけるコマンドシーケンスは、読み出し動作時に説明した図８と同様である。またホスト機器５００は、受信したステータスデータＳＴ＿ＤＡＴにおいて、メモリシステム１がレディ状態であることが示されていれば、続いてデータの書き込みがフェイルしたか否かに関する情報を要求する。
【００７９】
図１５は、上記（２）の動作時におけるコントローラ２００−１とＮＡＮＤ型フラッシュメモリ１００−１との間のＮＡＮＤバス上の各種信号のタイムチャートである。第２書き込みコマンドＣＭＤ＿ＷＲ２を受信したコントローラ２００−１では、例えばシーケンサ２５０の制御に従って、ＮＡＮＤインターフェース回路２３０が書き込みコマンド“８０ｈ”を発行し、ＮＡＮＤ型フラッシュメモリ１００−１へ送信する。引き続き、例えば５サイクルにわたってアドレスＡＤＤをＮＡＮＤ型フラッシュメモリ１００−１へ送信し、更に書き込みデータＤＡＴが複数サイクルにわたってＮＡＮＤ型フラッシュメモリ１００−１へ送信され、その後書き込みコマンド“１０ｈ”を発行して、これをＮＡＮＤ型フラッシュメモリ１００−１へ送信する。なお、このアドレスＡＤＤは、図１３及び図１４で示された動作においてアドレスレジスタ２９０に保持されたブロック、ページ、及びカラムを示すアドレスを含む。
【００８０】
コマンド“１０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００−１内では、メモリセルアレイ１１０へのデータの書き込み動作が開始され、ＮＡＮＤ型フラッシュメモリ１００−１はビジー状態となる（／ＲＢ＝“Ｌ”）となる。
【００８１】
データのメモリセルアレイ１１０への書き込みが完了すると、ＮＡＮＤ型フラッシュメモリ１００−１はレディ状態となる。これに応答してコントローラ２００−１は、ステータス読み出しコマンド“７０ｈ”を発行し、信号／ＲＥをトグルさせる。すると、信号／ＲＥに同期して、書き込み動作がパスしたかフェイルしたかを示すステータスデータＳＴ＿ＤＡＴがコントローラ２００−１に転送される。このステータスデータＳＴ＿ＤＡＴは特徴テーブルに保持され、上記（３）のGet featureコマンドによってホスト機器５００に読み出される。
【００８２】
コントローラ２００−２とＮＡＮＤ型フラッシュメモリ１００−２との間のＮＡＮＤバス上の信号は、図１１で説明した通りである。
【００８３】
１．２．３  消去動作  
次に消去動作について説明する。消去動作は、大まかには以下の２ステップを含む。すなわち、
（１）ホスト機器５００からコントローラ２００への消去命令。  
（２）特徴テーブル読み出し（Get feature）：本動作により、ＮＡＮＤ型フラッシュメモリ１００への消去動作がパスしたかフェイルしたかが判定される。
【００８４】
図１６は、上記（１）実行時におけるＳＰＩバス上の各種信号のタイムチャートである。図示するようにホスト機器５００は、信号／ＣＳ１をアサートし、／ＣＳ２をデアサートすると共に、消去コマンドＣＭＤ＿ＥＲを信号ＳＩとして発行し、更にクロックＳＣＫを発行する。消去コマンドＣＭＤ＿ＥＲを受信したことで、コントローラ２００−１のシーケンサ２５０はデータ消去シーケンスを開始する。
【００８５】
引き続きホスト機器５００は、例えば８クロックサイクルにわたって８ビットのダミービットＤＭＹ＿ＢＩＴをコントローラ２００へ送信し、その後例えば１６サイクルにわたって１６ビットのアドレスＡＤＤをコントローラ２００へ送信する。このアドレスＡＤＤは、ＮＡＮＤ型フラッシュメモリ１００−１のメモリセルアレイ１１０において消去対象となるブロックを指定するためのアドレスであり、コントローラ２００−１のアドレスレジスタ２９０に保持される。その後、ホスト機器５００は信号／ＣＳ１をデアサートする。
【００８６】
上記（１）の動作に引き続いて上記（２）の動作が実行される。本動作におけるコマンドシーケンスは、読み出し動作時に説明した図８と同様である。またホスト機器５００は、受信したステータスデータＳＴ＿ＤＡＴにおいて、メモリシステム１がレディ状態であることが示されていれば、続いてデータの消去がパスしたかフェイルしたかに関する情報を要求する。
【００８７】
図１７は、上記（１）の動作時におけるコントローラ２００−１とＮＡＮＤ型フラッシュメモリ１００−１との間のＮＡＮＤバス上の各種信号のタイムチャートである。消去コマンドＣＭＤ＿ＥＲを受信したコントローラ２００−１では、例えばシーケンサ２５０の制御に従って、ＮＡＮＤインターフェース回路２３０が消去コマンド“６０ｈ”を発行し、ＮＡＮＤ型フラッシュメモリ１００−１へ送信する。引き続き、例えば３サイクルにわたってアドレスＡＤＤをＮＡＮＤ型フラッシュメモリ１００−１へ送信し、更に消去コマンド“Ｄ０ｈ”を発行して、これをＮＡＮＤ型フラッシュメモリ１００−１へ送信する。
【００８８】
コマンド“Ｄ０ｈ”に応答して、ＮＡＮＤ型フラッシュメモリ１００−１内では、メモリセルアレイ１１０のデータの消去動作が開始され、ＮＡＮＤ型フラッシュメモリ１００−１はビジー状態となる（／ＲＢ＝“Ｌ”）となる。
【００８９】
データの消去が完了すると、ＮＡＮＤ型フラッシュメモリ１００−１はレディ状態となる。これに応答してコントローラ２００−１は、ステータス読み出しコマンド“７０ｈ”を発行し、信号／ＲＥをトグルさせる。すると、信号／ＲＥに同期して、消去動作がパスしたかフェイルしたかを示すステータスデータＳＴ＿ＤＡＴがコントローラ２００−１に転送される。このステータスデータＳＴ＿ＤＡＴは特徴テーブルに保持され、上記（２）のGet featureコマンドによってホスト機器５００に読み出される。
【００９０】
１．３  本実施形態に係る効果  
本実施形態によれば、メモリシステムのメモリ容量を容易に増大出来る。すなわち、本実施形態であると、複数のチップセレクト信号／ＣＳが用意される。従って、パッケージ内にメモリチップ１００とコントローラチップ２００の組を追加するだけで、メモリシステム１のメモリ容量を容易に増やすことが出来る。そして、対応するチップセレクト信号／ＣＳをアサートすることによって、任意のメモリチップ１００にアクセス出来る。
【００９１】
また、図１及び図２で説明したように、複数のメモリチップ１００をパッケージ内で積層することで、パッケージサイズの大型化を最小限にすることが出来る。また、チップセレクト信号／ＣＳを１つしか用意出来ない場合には、パッケージ内には１つのメモリチップしか搭載出来ない。従って、メモリ容量を倍にする最も単純な方法は、２つのパッケージを用いることである。しかしこの場合には、実装基板上に占める面積も２倍になる。この点、本実施形態によれば、１つのパッケージ内に２つのメモリチップを積層して搭載することで、実装基板上に占める面積はほとんど変わらず、効率的なレイアウトが可能になる。
【００９２】
２．第２実施形態  
次に、第２実施形態に係るメモリシステムについて説明する。本実施形態は、上記第１実施形態において、１つのコントローラ２００によって複数のＮＡＮＤ型フラッシュメモリ１００を制御するものである。以下では、第１実施形態と異なる点についてのみ説明する。
【００９３】
２．１  構成について  
図１８は、本実施形態に係るメモリシステム１のブロック図である。図示するようにメモリシステム１は、１つのコントローラチップ２００と、これによって制御される複数のメモリチップ１００−１及び１００−２を備えている。
【００９４】
第１実施形態の場合と異なり、信号／ＣＳ１及び／ＣＳ２は、共にコントローラ２００のホスト入出力回路２１０で受信される。そして、ホストインターフェース回路２２０、シーケンサ２５０、及びＮＡＮＤインターフェース回路２３０は、ホスト機器５００から受信した信号に基づいて、２つのＮＡＮＤ型フラッシュメモリ１００−１及び１００−２を制御する。
【００９５】
２．２  動作について  
本実施形態に係るコントローラ２００の動作は、上記第１実施形態で説明した図６において、コントローラ２００−１及び２００−１の行っていた処理を、１つのコントローラ２００が行うものである。
【００９６】
すなわち、アサートされた信号／ＣＳ１がホストインターフェース回路２２０で受信されると、シーケンサ２５０はＮＡＮＤインターフェース回路２３０に対して信号／ＣＥ１をアサートさせる。そして、読み出し、書き込み、または消去動作がＮＡＮＤ型フラッシュメモリ１００−１に対して命令される。他方で、アサートされた信号／ＣＳ２がホストインターフェース回路２２０で受信されると、シーケンサ２５０はＮＡＮＤインターフェース回路２３０に対して信号／ＣＥ２をアサートさせる。そして、読み出し、書き込み、または消去動作がＮＡＮＤ型フラッシュメモリ１００−２に対して命令される。
【００９７】
このように、ホストインターフェース回路２２０またはシーケンサ２５０は、受信した信号／ＣＳ１及び／ＣＳ２に応じて、活性化すべきメモリチップ１００を判断する。
【００９８】
２．３  本実施形態に係る効果  
本実施形態のように、１つのコントローラチップ２００が複数のメモリチップ１００を制御する構成であっても良い。また本例によれば、パッケージ内のコントローラチップ２００の数を削減出来る。よって、パッケージ内におけるワイヤボンディングを簡素化出来る。
【００９９】
３．変形例等  
以上のように、上記実施形態に係るメモリシステムは、ホスト機器から第１チップセレクト信号(/CS1 in 図1,3)を受信可能な第１ピン(Pin No7 in 図1,3)と、ホスト機器から第２チップセレクト信号(/CS2 in 図1,3)を受信可能な第２ピン(Pin No11 in 図1,3)と、ホスト機器へ第１信号(SO in 図1,3)を出力可能な第３ピン(Pin No8 in 図1,3)と、ホスト機器から第２信号(SI in 図1,3)を受信可能な第４ピン(Pin No15 in 図1,3)と、ホスト機器からクロック(SCK in 図1,3)を受信可能な第５ピン(Pin No16 in 図1,3)と、アサートされた第１または第２チップセレクト信号(/CS1 or /CS2)が受信された直後に第４ピンで受信された第２信号(SI)をコマンドとして認識するインターフェース回路(210,220 in 図4)と、データを保持可能なメモリセルを含む第１、第２メモリセルアレイ(110 of 100-1,100-2 in 図4)とを備える。そして、インターフェース回路(210,220)、並びに第１及び第２メモリセルアレイ(110 of 100-1,100-2)は同一パッケージ内にパッケージングされる(図1-2)。更にインターフェース回路(210,220)は、第１チップセレクト信号(/CS1)がアサートされた際には第１メモリセルアレイ(110 of 100-1)にアクセスし、第２チップセレクト信号(/CS2)がアサートされた際には第２メモリセルアレイ(110 of 100-2)にアクセスする(図6)。
【０１００】
そして、第１インターフェース回路は、第１半導体チップ(200-1)に実装され、第２インターフェース回路は、前記第１半導体チップと異なる第２半導体チップ(200-2)に実装され、第１メモリセルアレイ(110 of 100-1)は、第１及び第２半導体チップと異なる第３半導体チップ(100-1)に実装され、第２メモリセルアレイ(110 of 100-2)は、第１乃至第３半導体チップと異なる第４半導体チップ(100-2)に実装される。更に、第１インターフェース回路(200-1)は、第１チップセレクト信号(/CS1)がアサートされた際には、第３半導体チップ(100-1)を活性化させる第１チップイネーブル信号(/CE1)をアサートし、第２インターフェース回路(200-2)は、第２チップセレクト信号(/CS2)がアサートされた際には、第４半導体チップ(100-2)を活性化させる第２チップイネーブル信号(/CE2)をアサートする。
【０１０１】
または、インターフェース回路は、第１半導体チップ(200 in 図18)に実装され、第１メモリセルアレイは、第１半導体チップと異なる第２半導体チップ(100-1)に実装され、第２メモリセルアレイは、第１及び第２半導体チップと異なる第３半導体チップ(100-2)に実装される。そしてインターフェース回路(200)は、第１チップセレクト信号(/CS1)がアサートされた際には、第２半導体チップ(100-1)を活性化させる第１チップイネーブル信号(/CE1)をアサートし、第２チップセレクト信号(/CS2)がアサートされた際には、第３半導体チップ(100-2)を活性化させる第２チップイネーブル信号(/CE2)をアサートする。
【０１０２】
本構成によれば、複数のチップセレクト信号を用意することで、シリアルインターフェースを備えたＮＡＮＤ型フラッシュメモリパッケージにおいて、複数のメモリチップ１００を実装出来、実装基板上に占める面積の増大を抑制しつつ、メモリシステム１のメモリ容量を容易に増やすことが出来る。
【０１０３】
なお、実施形態は上記説明した形態に限られず、種々の変形が可能である。例えば上記実施形態では、１つのメモリシステム（パッケージ）に２つのメモリチップ１００が含まれる場合を例に説明した。しかし、３つ以上のメモリチップ１００が含まれても良い。この場合には、メモリチップ１００と同数のコントローラチップ２００が用意されても良いし、１つのコントローラチップが全てのメモリチップ１００を制御しても良い。しかし、メモリチップ１００とコントローラチップ２００の組み合わせは任意である。例えば、２つのコントローラチップ２００−１、２００−２と４つのメモリチップ１００−１〜１００−４が設けられ、コントローラチップ２００−１が３つのメモリチップ１００−１〜１００−３を制御し、コントローラチップ２００−２がメモリチップ１００−４を制御しても良い。
【０１０４】
更に、メモリチップ１００とコントローラチップ２００の積層の仕方も任意であり、図１及び図２で説明した構造に限定されない。一般的に、コントローラチップ２００のサイズはメモリチップ１００よりも小さい。従って、図１及び図２では２つのコントローラチップ２００−１及び２００−２がメモリチップ１００−２上に設けられている。しかし、例えばコントローラチップ２００−１上にコントローラチップ２００−２が設けられても良い。また図１及び図２では、半導体チップが階段状に積層される場合を例に挙げているが、必ずしも階段状である必要は無い。例えばメモリチップ１００−１及び１００−２が同じサイズであった場合には、両者が重なるようにして配置されても良い。この場合には、例えばメモリチップ１００を貫通するビア（ＴＳＶ：Through silicon via）によってメモリチップ間の電気的接続が図られても良い。更に、ワイヤボンディングを用いないパッケージの例として、フリップチップ実装であっても良く、更に樹脂による封止が行われない場合であっても良い。この場合には、パッケージサイズはほぼチップサイズと同等となり、パッケージサイズをより小さく出来る。
【０１０５】
更に上記実施形態では、ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００とが別々の半導体チップである場合を例に説明した。しかし、これらはワンチップで形成されても良い。この場合のメモリシステム１のブロック図を図１９に示す。図１９は、第１実施形態で説明した図４において、ＮＡＮＤ型フラッシュメモリ１００とコントローラ２００とをワンチップ化したものに相当する。
【０１０６】
図示するように、ブロック構成は図４においてコントローラ２００−１及び２００−２を廃したものに相当し、図５で説明したメモリチップ１００の構成と同様である。そして、メモリチップ１００において、例えばレジスタ４１０、４２０、４３０、４８０、制御回路４４０、入出力制御回路４６０、ロジック回路、及び電圧発生回路４５０が、コントローラ２００−１として機能し、以下これをコントローラ部１００ａ（１００ａ−１、１００ａ−２）と呼ぶ。また残りの領域を、コア部１００ｂ（１００ｂ−１、１００ｂ−２）と呼ぶ。
【０１０７】
ホスト機器５００からの信号ＳＣＫ、／ＣＳ、／ＨＯＬＤ、及び／ＷＰはロジック回路４７０に入力され、信号ＳＩ及びＳＯは入出力制御回路４６０を介して入出力される。そして、制御回路４４０がシーケンサ２５０及びホストインターフェース回路２２０としての機能を果たし、信号／ＣＳによりホスト機器５００からの命令を判別する。入出力制御回路４６０及びロジック回路４７０は、ホスト入出力回路２１０として機能する。レジスタ４１０及び４２０はレジスタ２８０及び２９０として機能し、特徴テーブルは、例えばステータスレジスタ４１０等に保持される。
【０１０８】
そして、信号／ＣＳ１がアサートされた際には、コントローラ部１００ａ−１がコア部１００ｂ−１にアクセスする。他方で、信号／ＣＳ２がアサートされた際には、コントローラ部１００ａ−２がコア部１００ｂ−２にアクセスする。
【０１０９】
図２０は、第２実施形態で説明した図１８において、いずれかのＮＡＮＤ型フラッシュメモリ１００（図２０ではＮＡＮＤ型フラッシュメモリ１００−１）とコントローラ２００とをワンチップ化したものに相当する。そして、メモリチップ１００−２はコントローラ部１００ａを有さず、メモリチップ１００−１のコントローラ部１００ａ−１によって制御されるコア部１００ｂ−２を備える。本例では、コントローラ部１００ａ−１が、図１８で説明したコントローラ２００として機能する。
【０１１０】
また、上記実施形態で説明したフローチャートにおける各処理は、可能な限りその順番を入れ替えることが出来る。更に、上記実施形態で説明したタイミングチャートも一例に過ぎず、信号ＳＩを入力する際に必要なクロック数や、信号ＳＯを出力する際に必要なクロック数も、上記実施形態に限定されるものでは無い。また、コマンドによっては、直後にダミービットが入力される例を示しているが、この場合に限定されるものでは無い。更に、図３のピン配置も一例に過ぎず、上記実施形態では／ＣＳ２受信用に第１１ピンを使用する場合を例に説明したが、その他の未使用ピンを用いても良い。
【０１１１】
また、上記実施形態で説明したメモリシステムは、例えばテレビやセットトップボックス等のアプリケーションを起動するために用いることも出来る。図２１はそのようなシステムの例を示す。本例であると、メモリシステム１の他に、ＮＯＲ型フラッシュメモリ２が用意され、メモリシステム１及びＮＯＲ型フラッシュメモリ２は、共に共通にＳＰＩインターフェースによってホスト機器５００に接続される。本例では、メモリシステム１を制御するためのコマンド（コマンドＣＭＤ＿ＲＤ１、ＣＭＤ＿ＲＤ２、ＣＭＤ＿ＧＦ、ＣＭＤ＿ＳＦ等）がＮＯＲ型フラッシュメモリ２に保持されている。そして、ホスト機器５００起動時に、ホスト機器５００内のＲＯＭの保持するシーケンスによって、ホスト機器５００はＮＯＲ型フラッシュメモリ２から上記コマンド情報を読み出す。そして、このコマンド情報を用いて、ホスト機器５００はメモリシステム１から起動プログラムを読み出し、これを実行してアプリケーションが起動される。
【０１１２】
あるいは、ホスト機器５００のＲＯＭ内にメモリシステム１のコマンド情報が保持されていれば、図２２に示すようにＮＯＲ型フラッシュメモリ２が廃されても良い。
【０１１３】
図２３は、上記アプリケーションにおいて、メモリシステム１に起動プログラムを書き込む際の様子を示している。図示するように、ホスト機器５００またはその他のマイコン等が、アプリケーションの出荷前においてＮＡＮＤ型フラッシュメモリ１００に起動プログラムを書き込む。この際、信号／ＣＳ１及び／ＣＳ２の両方がアサートされる。そして、入力信号ＳＩとして起動プログラムが与えられる。この結果、コントローラ２００−１及び２００−２は、それぞれＮＡＮＤ型フラッシュメモリ１００−１及び１００−２に同じ起動プログラムを書き込む。起動プログラムは非常に重要な情報であるので、このようにして多重化してメモリシステム１に記憶させても良い。
【０１１４】
次に、上記アプリケーションにおいて、起動プログラムを読み出す方法について図２４を用いて説明する。図示するようにホスト機器５００は、ＲＯＭ内に保持されているシーケンスに従って、まず／ＣＳ１をアサートして、ＮＡＮＤ型フラッシュメモリ１００−１から起動プログラムを読み出す（ステップＳ２０）。そして正確に読み出せた場合には（ステップＳ２１、ＮＯ）、起動プログラムを実行する（ステップＳ２２）。正確に読み出せなかった場合には（ステップＳ２１、ＹＥＳ）、ホスト機器５００は／ＣＳ２をアサートして、ＮＡＮＤ型フラッシュメモリ１００−２から起動プログラムを読み出す（ステップＳ２３）。そして正確に読み出せた場合には（ステップＳ２４、ＮＯ）、起動プログラムを実行する（ステップＳ２２）。
【０１１５】
あるいは、図２４の代わりに図２５の方法を用いても良い。図示するようにホスト機器５００は、ＲＯＭ内に保持されているシーケンスに従って、まず／ＣＳ１をアサートして、ＮＡＮＤ型フラッシュメモリ１００−１から起動プログラムを読み出す（ステップＳ２０）。引き続き、ホスト機器５００は／ＣＳ２をアサートして、ＮＡＮＤ型フラッシュメモリ１００−２から起動プログラムを読み出す（ステップＳ２３）。その後ホスト機器５００は、ステップＳ２０で読み出されたプログラムとステップＳ２３で読み出されたプログラムとを照合する（ステップＳ３０）。両者が一致すれば、読み出された起動プログラムは正しいものと判断し（ステップＳ３１、ＹＥＳ）、起動プログラムを実行する（ステップＳ３２）。
【０１１６】
もちろん、アプリケーションの例は上記に限らず、実施形態に係るメモリシステムは種々のアプリケーションに適用可能である。また、起動プログラムに限らず、同じデータを複数のメモリチップ１００に書き込む際には、対応する複数のチップセレクト信号／ＣＳがアサートされても良い。また、複数のメモリチップ１００のデータを消去する際も同様である。このように書き込み及び消去を、複数のメモリチップ１００に対して同時に行うことで、動作速度を向上出来る。
【０１１７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１８】
１…メモリシステム、１００−１、１００−２…ＮＡＮＤ型フラッシュメモリ、２００−１、２００−２…コントローラ、２１０…ホスト入出力回路、２２０…ホストインターフェース回路、２３０…ＮＡＮＤインターフェース回路、２４０…ＮＡＮＤ入出力回路、２５０…シーケンサ、２６０、２７０…データバッファ、２８０，４１０…ステータスレジスタ、２９０，４２０…アドレスレジスタ、４００…ＥＣＣ回路、３００…リードフレーム、３４０…ボンディングワイヤ、３５０…封止樹脂、４３０…コマンドレジスタ、４４０…制御回路、４５０…電圧発生回路、４６０…入出力制御回路、４７０…ロジック回路、４８０…データレジスタ、５００…ホスト機器
【図１】
2017045311.tif 000003
【図２】
2017045311.tif 000004
【図３】
2017045311.tif 000005
【図４】
2017045311.tif 000006
【図５】
2017045311.tif 000007
【図６】
2017045311.tif 000008
【図７】
2017045311.tif 000009
【図８】
2017045311.tif 000010
【図９】
2017045311.tif 000011
【図１０】
2017045311.tif 000012
【図１１】
2017045311.tif 000013
【図１２】
2017045311.tif 000014
【図１３】
2017045311.tif 000015
【図１４】
2017045311.tif 000016
【図１５】
2017045311.tif 000017
【図１６】
2017045311.tif 000018
【図１７】
2017045311.tif 000019
【図１８】
2017045311.tif 000020
【図１９】
2017045311.tif 000021
【図２０】
2017045311.tif 000022
【図２１】
2017045311.tif 000023
【図２２】
2017045311.tif 000024
【図２３】
2017045311.tif 000025
【図２４】
2017045311.tif 000026
【図２５】
2017045311.tif 000027