(57)【要約】【課題】複数のポートを備え、各ポートからの同時アクセスを行うこと。【解決手段】複数の単位領域に分割され、前記複数の単位領域は夫々個別にアクセスを受ける不揮発性のメモリセルアレイ１０と、アクセスコマンドの入力を夫々受け付ける複数のポートと、アクセスコマンドに基づいて前記メモリセルアレイに夫々個別にアクセスするポート毎に備えられる複数の処理系１１と、複数の処理系１１の夫々が受け付けたアクセスコマンドに含まれるアクセス先アドレスを相互に比較することによってアクセス先の単位領域が複数の処理系１１間で競合しているか否かを判定する競合判定を実行する競合判定部１２と、を備え、複数の処理系１１の夫々は、競合判定部１２による競合判定結果が競合ありであるとき、アクセスの開始を待機し、競合判定結果が競合なしであるとき、アクセスを開始する。【選択図】図２
2011204312.tif 000002
【特許請求の範囲】
【請求項１】
複数の単位領域に分割され、前記複数の単位領域は夫々個別にアクセスを受ける不揮発性のメモリセルアレイと、
アクセス先アドレスを含むアクセスコマンドの入力を夫々受け付ける複数のポートと、
前記受け付けたアクセスコマンドに基づいて前記メモリセルアレイに夫々個別にアクセスする前記ポート毎に備えられる複数の処理系と、
前記複数の処理系の夫々が受け付けたアクセスコマンドに含まれるアクセス先アドレスを相互に比較することによってアクセス先の単位領域が前記複数の処理系間で競合しているか否かを判定する競合判定を実行する競合判定部と、
を備え、
前記複数の処理系の夫々は、前記競合判定部による競合判定結果が競合ありであるとき、前記受け付けたアクセスコマンドに基づくアクセスの開始を待機し、前記競合判定結果が競合なしであるとき、前記アクセスを開始する、
ことを特徴とするメモリチップ。
【請求項２】
前記複数のポートはステータスリードコマンドを受け付け、
前記複数の処理系の夫々は、自処理系に対応するポートが前記ステータスリードコマンドを受け付けたとき、前記競合判定部による競合判定結果に基づいて、前記アクセスの開始を待機している状態である待機状態および前記アクセスを実行中であるコマンド実行状態を含む自処理系の状態を示すステータス情報を前記自処理系に対応するポートから出力する、
ことを特徴とする請求項１に記載のメモリチップ。
【請求項３】
前記複数のポートはステータスリードコマンドを受け付け、
前記競合判定部は、前記競合判定を処理系毎に実行し、前記処理系毎の競合判定結果を前記複数の処理系の夫々に共通出力し、
前記複数の処理系の夫々は、自処理系に対応するポートが前記ステータスリードコマンドを受け付けたとき、前記競合判定部による前記処理系毎の競合判定結果に基づいて、前記アクセスの開始を待機している状態である待機状態および前記アクセスを実行中であるコマンド実行状態を含む状態を前記処理系毎に示すステータス情報を前記自処理系に対応するポートから出力する、
ことを特徴とする請求項１に記載のメモリチップ。
【請求項４】
前記アクセスコマンドは、夫々異なる単位領域をアクセス先としたアクセス先アドレスを含む単位コマンドを複数備え、
前記競合判定部は、前記単位コマンド毎に前記競合判定を実行し、
前記複数の処理系の夫々は、前記単位コマンドを受信する毎にＲＹ／ＢＹ信号をＢＹ状態に遷移させ、前記受信した単位コマンドにかかる競合判定結果が競合なしであった場合、ＲＹ／ＢＹ信号をＲＹ状態に遷移させて次の単位コマンドの入力を促し、前記競合判定結果が競合ありであった場合、前記競合判定結果が競合なしとなるまでＲＹ／ＢＹ信号をＢＹ状態とする、
ことを特徴とする請求項１〜請求項３のうちの何れか１項に記載のメモリチップ。
【請求項５】
ホスト装置からのライトデータを記憶する不揮発性のメモリチップと、
前記メモリチップに対してアクセス先アドレスを含むアクセスコマンドを発行することによって前記ホスト装置と前記メモリチップとの間のデータ転送および前記メモリチップに対するウェアレベリング処理を実行するドライブ制御回路と、
を備え、
前記メモリチップは、
複数の単位領域に分割され、前記複数の単位領域は夫々個別にアクセスを受ける不揮発性のメモリセルアレイと、
前記ドライブ制御回路から前記アクセスコマンドの入力を夫々受け付ける複数のポートと、
前記受け付けたアクセスコマンドに基づいて前記メモリセルアレイに夫々個別にアクセスする前記ポート毎に備えられる複数の処理系と、
前記複数の処理系の夫々が受け付けたアクセスコマンドに含まれるアクセス先アドレスを相互に比較することによってアクセス先の単位領域が前記複数の処理系間で競合しているか否かを判定する競合判定を実行する競合判定部と、
を備え、
前記複数の処理系の夫々は、前記競合判定部による競合判定結果が競合ありであるとき、前記受け付けたアクセスコマンドに基づくアクセスの開始を待機し、前記競合判定結果が競合なしであるとき、前記アクセスを開始する、
ことを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリチップおよびメモリシステムに関する。
【背景技術】
【０００２】
コンピュータシステムに用いられるメモリシステムとして、ＮＡＮＤ型フラッシュメモリなどの不揮発性半導体メモリを搭載したＳＳＤ（Solid  State  Drive）が注目されている。ＳＳＤなどのメモリシステムは、磁気ディスク装置に比べ、高速、軽量などの利点を有している。
【０００３】
特許文献１には、デュアルポートメモリに関する技術が開示されている。この技術に開示されているデュアルポートメモリは、アクセスの可否を表示する特殊レジスタを備え、該特殊レジスタの値を操作することによって、１方のプロセッサがメモリ回路にアクセス中は他方のプロセッサが該メモリ回路にアクセスできないようにする。この技術によると、２つのプロセッサからのアクセスが夫々排他的に許可されるので、２つのプロセッサによる同時アクセスができないようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−３３０５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、複数のポートを備え、各ポートからの同時アクセスが可能な半導体メモリチップおよびこの半導体メモリチップを備えるメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願発明の１態様によれば、複数の単位領域に分割され、前記複数の単位領域は夫々個別にアクセスを受ける不揮発性のメモリセルアレイと、アクセス先アドレスを含むアクセスコマンドの入力を夫々受け付ける複数のポートと、前記受け付けたアクセスコマンドに基づいて前記メモリセルアレイに夫々個別にアクセスする前記ポート毎に備えられる複数の処理系と、前記複数の処理系の夫々が受け付けたアクセスコマンドに含まれるアクセス先アドレスを相互に比較することによってアクセス先の単位領域が前記複数の処理系間で競合しているか否かを判定する競合判定を実行する競合判定部と、を備え、前記複数の処理系の夫々は、前記競合判定部による競合判定結果が競合ありであるとき、前記受け付けたアクセスコマンドに基づくアクセスの開始を待機し、前記競合判定結果が競合なしであるとき、前記アクセスを開始する、ことを特徴とするメモリチップが提供される。
【０００７】
また、本願発明の１態様によれば、ホスト装置からのライトデータを記憶する不揮発性のメモリチップと、前記メモリチップに対してアクセス先アドレスを含むアクセスコマンドを発行することによって前記ホスト装置と前記メモリチップとの間のデータ転送および前記メモリチップに対するウェアレベリング処理を実行するドライブ制御回路と、を備え、前記メモリチップは、複数の単位領域に分割され、前記複数の単位領域は夫々個別にアクセスを受ける不揮発性のメモリセルアレイと、前記ドライブ制御回路から前記アクセスコマンドの入力を夫々受け付ける複数のポートと、前記受け付けたアクセスコマンドに基づいて前記メモリセルアレイに夫々個別にアクセスする前記ポート毎に備えられる複数の処理系と、前記複数の処理系の夫々が受け付けたアクセスコマンドに含まれるアクセス先アドレスを相互に比較することによってアクセス先の単位領域が前記複数の処理系間で競合しているか否かを判定する競合判定を実行する競合判定部と、を備え、前記複数の処理系の夫々は、前記競合判定部による競合判定結果が競合ありであるとき、前記受け付けたアクセスコマンドに基づくアクセスの開始を待機し、前記競合判定結果が競合なしであるとき、前記アクセスを開始する、ことを特徴とするメモリシステムが提供される。
【発明の効果】
【０００８】
本発明によれば、複数のポートを備え、各ポートからの同時アクセスが可能な半導体メモリチップを提供することができる。
【０００９】
また、本発明によれば、複数のポートを備え、各ポートからの同時アクセスが可能な半導体メモリチップを備えるメモリシステムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施の形態のＳＳＤの構成例を示す図である。
【図２】図２は、第１の実施の形態のＮＡＮＤチップの構成を説明する図である。
【図３】図３は、１個のブロックの構成例を示す回路図である。
【図４】図４は、メモリセルアレイと周辺回路との接続を説明する図である。
【図５】図５は、ロウアドレスの構成を説明する図である。
【図６】図６は、データレジスタの構成およびアクセス処理時のデータの流れを説明する図である。
【図７】図７は、マルチ書き込みコマンドの一例を示す図である。
【図８】図８は、アクセス調停回路の構成の一例を説明する図である。
【図９】図９は、チップ制御回路の機能構成を説明する図である。
【図１０】図１０は、ＮＡＮＤチップの動作を説明するフローチャートである。
【図１１】図１１は、ＮＡＮＤチップの動作を説明するフローチャートである。
【図１２】図１２は、ステータス情報を説明するテーブルである。
【図１３】図１３は、ＮＡＮＤチップの動作を説明するタイミングチャートである。
【図１４】図１４は、ＮＡＮＤチップの動作を説明するタイミングチャートである。
【図１５】図１５は、メモリセルアレイと周辺回路との接続を説明する図である。
【図１６】図１６は、ＳＳＤの別の構成例を説明する図である。
【図１７】図１７は、ＳＳＤの別の構成例を説明する図である。
【図１８】図１８は、ＳＳＤの別の構成例を説明する図である。
【図１９】図１９は、マルチ書き込みコマンド発行時のＩ／Ｏ信号線およびＲＹ／ＢＹ信号線の状態を説明する図である。
【図２０】図２０は、第２の実施の形態のＮＡＮＤチップの構成を説明する図である。
【図２１】図２１は、アクセス調停回路の構成の一例を説明する図である。
【図２２】図２２は、チップ制御回路の機能構成を説明する図である。
【図２３】図２３は、ＮＡＮＤチップの動作を説明するタイミングチャートである。
【図２４】図２４は、ステータス情報を説明するテーブルである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明の実施の形態にかかるメモリチップおよびメモリシステムを詳細に説明する。なお、これらの実施の形態により本発明が限定されるものではない。
【００１２】
（第１の実施の形態）
メモリシステムとして、メモリチップとしてＮＡＮＤ型フラッシュメモリチップ（以降、ＮＡＮＤチップ）を搭載した、パーソナルコンピュータなどのホスト装置の２次記憶装置として使用されるＳＳＤ（Solid  State  Drive）を例に挙げて説明するが、本発明の第１の実施の形態はＳＳＤだけに限定しない。
【００１３】
図１は、本発明の第１の実施の形態のＳＳＤの構成例を示す図である。ＳＳＤ１は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）インタフェース（ＳＡＴＡ  Ｉ／Ｆ）などのメモリ接続インタフェースを介してパーソナルコンピュータまたはＣＰＵコアなどのホスト装置２と接続され、ホスト装置２の外部メモリとして機能する。ＳＳＤ１は、複数（ここでは４つ）のＮＡＮＤチップ３ａ〜３ｄと、ＮＡＮＤチップ３ａ〜３ｄの夫々とホスト装置２との間のデータ転送を制御するドライブ制御回路４とを備えている。ＳＳＤ１は、ホスト装置２から書き込み要求が出されたデータをＮＡＮＤチップ３ａ〜３ｄに記憶し、また、ホスト装置２から読み出し要求のあったデータをＮＡＮＤチップ３ａ〜３ｄから読み出してホスト装置２に出力する。ドライブ制御回路４は、ホスト装置２から要求を受信したとき、該要求に対応したコマンド（読み出しコマンド、書き込みコマンド、消去コマンドなど）をＮＡＮＤチップ３ａ〜３ｄに発行する。
【００１４】
ＮＡＮＤチップ３ａ〜３ｄは、ホスト装置２からの書き込み要求されたデータ（ライトデータ）が格納されるメモリセルアレイ１０を備えている。メモリセルアレイ１０は、ブロック（後述する）を複数備えて構成されている。さらに、メモリセルアレイ１０は、それぞれ複数のブロックを含むプレーン０、プレーン１の２つの領域（District）に分割されている。プレーン０およびプレーン１は、互いに独立した周辺回路を備えており、２つのプレーンに同時に消去／書き込み／読み出しを行うことで、１つのプレーンに対してアクセスを行う場合に比べて高速なアクセスを実行する。なお、メモリセルアレイ１０の分割数は２に限定しない。メモリセルアレイ１０は、例えば、４つのプレーンに分割された構成であってもよいし、あるいは、全く分割されていなくてもよい。
【００１５】
さらに、ＮＡＮＤチップ３ａ〜３ｄは、夫々２つの系統の接続ポート（ポートＡ、ポートＢ）を備えている。各ポートは、夫々Ｉ／Ｏ信号線および制御信号線が接続されている。各ポートには、Ｉ／Ｏ信号線を介して８ビットのデータ、コマンドおよびアドレスが入出力され、制御線を介して制御信号が入力される。ＮＡＮＤチップ３ａ〜３ｄは、ポートＡを介して受信したコマンドに対応するメモリセルアレイ１０へのアクセス処理を実行するポートＡ系処理部１１ａと、ポートＢを介して受信したコマンドに対応するメモリセルアレイ１０へのアクセス処理を実行するポートＢ系処理部１１ｂと、メモリセルアレイ１０への２系統のアクセスの調停を実行するアクセス調停回路（競合判定部）１２と、を備えている。ＮＡＮＤチップ３ａ〜３ｄは、アクセス調停回路１２による調停の下、２つのポートからの同時アクセスを実行することができるように構成されている。
【００１６】
ドライブ制御回路４は、Ｉ／Ｏ信号線および制御信号線の接続端子を複数系統（０〜７チャネル（Ｃｈ））備えており、各チャネルのＩ／Ｏ信号線および制御信号線を夫々独立に制御する。Ｃｈ０〜７の信号線（Ｉ／Ｏ信号線および制御信号線）は、夫々、ＮＡＮＤチップ３ａ〜３ｄが備える合計８個の処理部１１ａ、１１ｂの夫々に１対１で接続されている。つまり、ドライブ制御回路４は、ＮＡＮＤチップ３ａ〜３ｄに対して並列数８（ＮＡＮＤチップ数４×ポート数２）の並列動作を実行させることができるようになっている。
【００１７】
図２は、第１の実施の形態のＮＡＮＤチップ３ａ〜３ｄの構成を説明する図である。なお、ＮＡＮＤチップ３ａ〜３ｄの構成は夫々同じであるので、以降では代表としてＮＡＮＤチップ３ａの構成を説明する。また、説明が煩雑になることを避けるために、ここでは、メモリセルアレイ１０およびメモリセルアレイ１０の周辺回路に関し、プレーン０にかかる構成要素のみを示している。また、各種信号には末尾に「＿Ａ」または「＿Ｂ」を付すことによってポートＡに入出力される信号とポートＢに対して入出力される信号とを区別することとする。同様に、構成要素の符号の末尾に「ａ」または「ｂ」を付してポートＡ系の構成要素とポートＢ系の構成要素とを区別することとする。
【００１８】
図２に示すように、ポートＡ系処理部１１ａは、メモリセルアレイ１０にポートＡを介してアクセスするための周辺回路（以降、周辺回路Ａという）として、ロウアドレスバッファ１３０ａ、ロウデコーダ１３１ａ、カラムアドレスバッファ１３２ａ、カラムデコーダ１３３ａ、データレジスタ１３４ａ、センスアンプ１３５ａ、およびブロック選択回路１３６ａを備えている。また、ポートＡ系処理部１１ａは、周辺回路Ａを制御してメモリセルアレイ１０に対するアクセス処理を実行するチップ制御回路１４３ａを備えている。同様に、ポートＢ系処理部１１ｂは、メモリセルアレイ１０にポートＢを介してアクセスするための周辺回路（周辺回路Ｂ）として、ロウアドレスバッファ１３０ｂ、ロウデコーダ１３１ｂ、カラムアドレスバッファ１３２ｂ、カラムデコーダ１３３ｂ、データレジスタ１３４ｂ、センスアンプ１３５ｂ、およびブロック選択回路１３６ｂを備えている。また、ポートＢ系処理部１１ｂは、周辺回路Ｂを制御してメモリセルアレイ１０に対するアクセス処理を実行するチップ制御回路１４３ｂを備えている。
【００１９】
図３は、メモリセルアレイ１０に含まれる１個のブロックの構成例を示す回路図である。図示するように、各ブロックは、Ｘ方向に沿って順に配列された（ｍ＋１）個のＮＡＮＤストリングを備えている（ｍは、０以上の整数）。（ｍ＋１）個のＮＡＮＤストリングにそれぞれ含まれる選択トランジスタＳＴ１は、ドレインがビット線ＢＬ０〜ＢＬｍに接続され、ゲートが選択ゲート線ＳＧＤに共通接続されている。また、選択トランジスタＳＴ２は、ソースがソース線ＳＬに共通接続され、ゲートが選択ゲート線ＳＧＳに共通接続されている。
【００２０】
各メモリセルトランジスタＭＴは、半導体基板上に形成された積層ゲート構造を備えたＭＯＳＦＥＴ（metal  oxide  semiconductor  field  effect  transistor）から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（浮遊ゲート電極）、及び電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。メモリセルトランジスタＭＴは、浮遊ゲート電極に蓄えられる電子の数に応じてしきい値電圧が変化し、このしきい値電圧の違いに応じてデータを記憶する。メモリセルトランジスタＭＴは、１ビットを記憶するように構成されていてもよいし、多値（２ビット以上のデータ）を記憶するように構成されていてもよい。
【００２１】
各ＮＡＮＤストリングにおいて、（ｎ＋１）個のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、複数のメモリセルトランジスタＭＴは、隣接するもの同士で拡散領域（ソース領域若しくはドレイン領域）を共有するような形でＹ方向に直列接続される。
【００２２】
そして、最もドレイン側に位置するメモリセルトランジスタＭＴから順に、制御ゲート電極がワード線ＷＬ０〜ＷＬｑにそれぞれ接続されている。従って、ワード線ＷＬ０に接続されたメモリセルトランジスタＭＴのドレインは選択トランジスタＳＴ１のソースに接続され、ワード線ＷＬｑに接続されたメモリセルトランジスタＭＴのソースは選択トランジスタＳＴ２のドレインに接続されている。
【００２３】
ワード線ＷＬ０〜ＷＬｑは、ブロック内のＮＡＮＤストリング間で、メモリセルトランジスタＭＴの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、同一のワード線ＷＬに接続される。この同一のワード線ＷＬに接続される（ｍ＋１）個のメモリセルトランジスタＭＴは１ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。データの消去はブロック単位で行われる。
【００２４】
図４は、メモリセルアレイ１０と周辺回路との接続を説明する図である。図示するように、メモリセルアレイ１０は、ビット線を操作するセンスアンプ１３５ａがブロック毎に個別にアクセスすることができるように、ビット線がブロック毎に夫々電気的に切り離された構成となっている。夫々のビット線は、入出力端子を２つ備えており、２つの入出力端子はブロック選択回路１３６ａ、１３６ｂのブロック毎の選択端子の１つに夫々接続される。ブロック選択回路１３６ａは、複数のブロックのうちのアクセス対象のブロックの選択端子を選択し、該選択端子を備えるブロックのビット線とセンスアンプ１３５ａとを接続する。同様に、ブロック選択回路１３６ｂは、複数のブロックのうちのアクセス対象のブロックのビット線とセンスアンプ１３５ｂとを接続する。つまり、ポートＡ系処理部１１ａとポートＢ系処理部１１ｂとでアクセス先のブロックが異なる場合、ポートＡ系処理部１１ａおよびポートＢ系処理部１１ｂはメモリセルアレイ１０に対して同時アクセスができるように構成されている。
【００２５】
図５は、ロウアドレスの構成を説明する図である。図示するように、ロウアドレスは、上位桁にブロックを特定するためのアドレス（ブロックアドレス）を有し、下位桁にブロック内のワード線を特定するためのアドレス（ページアドレス）を有している。ブロック選択回路１３６ａ、選択回路１３６ｂは、ロウアドレスに含まれるブロックアドレスを選択信号として用いてアクセス対象のブロックを選択する。
【００２６】
因みに、ブロックアドレスのＬＳＢはプレーン識別用のビットとして使用される。例えば、ＬＳＢが偶数のブロックアドレスは、プレーン０のブロックに割り当てられており、ＬＳＢが奇数のブロックアドレスはプレーン１のブロックに割り当てられている。したがって、ポートＡ系処理部１１ａに具備されるブロック選択回路１３６ａは、より正確には、ブロックアドレスのうちのＬＳＢを除いた部分を選択信号として用いる。なお、プレーン分割数が２ｎである場合、ＬＳＢのｎビットがプレーン識別用のビットとなる。
【００２７】
アクセス調停回路１２は、チップ制御回路１４３ａから入力された入力指示信号（後述する）、ポートＡ系処理部１１ａおよびポートＢ系処理部１１ｂの双方から入力されたロウアドレスに基づいて、ポートＡ系処理部１１ａおよびポートＢ系処理部１１ｂのアクセス先のブロックが競合しているか否かを判定する（競合判定）。アクセス調停回路１２による競合判定結果はチップ制御回路１４３ａおよびチップ制御回路１４３ｂに夫々通知される。アクセス調停回路１２の詳細な構成については後述する。
【００２８】
ポートＡ系処理部１１ａは、さらに、各種信号の接続インタフェースとして、Ｉ／Ｏ信号入出力部１１０ａ、制御信号入力部１１１ａ、およびＲＹ（Ready）／ＢＹ（Busy）信号出力部１１２ａを備えている。制御信号入力部１１１ａは、制御信号の入力を受け付ける。なお、制御信号は、チップイネーブル信号（ＣＥ＿Ａ）、コマンドラッチイネーブル信号（ＣＬＥ＿Ａ）、アドレスラッチイネーブル信号（ＡＬＥ＿Ａ）、ライトイネーブル信号（ＷＥ＿Ａ）、リードイネーブル信号（ＲＥ＿Ａ）、ライトプロテクト信号（ＷＰ＿Ａ）を含む。Ｉ／Ｏ信号入出力部１１０ａは、Ｃｈ０のＩ／Ｏ信号（Ｉ／Ｏ＿Ａ［０：７]）を入出力する。ＲＹ／ＢＹ信号出力部１１２ａは、チップ制御回路１４３ａの制御の下で、ポートＡ系処理部１１ａが内部処理を実行中であるか否かを示すＲＹ／ＢＹ信号（ＲＹ＿Ａ／ＢＹ＿Ａ）を出力する。
【００２９】
また、ポートＡ系処理部１１ａは、アドレスレジスタ１４０ａ、ステータスレジスタ１４１ａ、およびコマンドレジスタ１４２ａを備えている。Ｉ／Ｏ信号入出力部１１０ａから入力されたコマンドは、いったんコマンドレジスタ１４２ａに格納される。Ｉ／Ｏ信号入出力部１１０ａからコマンドとともに入力されたアクセス先アドレスは、いったんアドレスレジスタ１４０ａに格納され、格納されたアクセス先アドレスのうちのロウアドレスがロウアドレスバッファ１３０ａ、カラムアドレスがカラムアドレスバッファ１３２ａに格納される。Ｉ／Ｏ信号入出力部１１０ａから入力されたライトデータは、データレジスタ１３４ａに格納される。
【００３０】
ロウアドレスバッファ１３０ａは、格納しているロウアドレスをロウデコーダ１３１ａに入力する。ロウデコーダ１３１ａは、ロウアドレスバッファ１３０ａから入力されたロウアドレスに対応したワード線を選択して、選択したワード線を活性化する。
【００３１】
ブロック選択回路１３６ａには、ロウアドレスバッファ１３０ａからロウアドレスのうちのブロックアドレスが入力され、ブロック選択回路１３６ａは、入力されたブロックアドレスを選択信号としてセンスアンプ１３５ａがアクセスすべきブロックを選択する。
【００３２】
カラムアドレスバッファ１３２ａは、アクセス先アドレスのカラムアドレスをカラムデコーダ１３３ａに入力する。カラムデコーダ１３３ａは、前記選択されたブロックを構成するビット線のうちのカラムアドレスバッファ１３２ａから入力されたカラムアドレスに対応したビット線を選択して活性化する。センスアンプ１３５ａは、カラムデコーダ１３３ａにより選択されたビット線に電圧を印加して、データのリードライトを実行する。メモリセルアレイ１０から読み出されたリードデータは、データレジスタ１３４ａを介してＩ／Ｏ信号入出力部１１０ａに送られ、Ｉ／Ｏ信号入出力部１１０ａからドライブ制御回路４へ転送される。
【００３３】
図６は、データレジスタ１３４ａの構成およびアクセス処理時のデータの流れをコマンド毎に説明する図である。
【００３４】
図６（ａ）は、書き込みコマンド実行時のデータの流れを示している。図示するように、データレジスタ１３４ａはデータキャッシュ１３４０ａおよびページバッファ１３４１ａを備えている。書き込みコマンドにより転送されてきたデータ（ライトデータ）は、まずデータキャッシュ１３４０ａに格納され、格納されたリードデータはページバッファ１３４１ａに転送される。ページバッファ１３４１ａに転送されたデータは、メモリセルアレイ１０の書き込み先アドレスにプログラムされ、プログラムされたデータは、ページバッファ１３４１ａに格納されているデータと比較されて正しくプログラムされたか否かが検証される。
【００３５】
図６（ｂ）は、読み出しコマンド実行時のデータの流れを示している。図示するように、読み出し先アドレスに格納されている読み出し対象のデータは、該アドレスから読み出されページバッファ１３４１ａに格納される。そして、ページバッファ１３４１ａに格納されたデータ（リードデータ）はデータキャッシュ１３４０ａを介してドライブ制御回路４に向けて転送される。
【００３６】
図６（ｃ）は、ページコピーコマンドの実行時のデータの流れを示している。ページコピーコマンドは、１プレーン当たりの２つのアドレス（読み出し先アドレスおよび書き込み先アドレス）を含んでおり、例えば読み出し先アドレスからデータを読み出して該読み出したデータを書き込み先アドレスに書き込む動作を実行させる。具体的には、読み出し先アドレスに格納されているデータはページバッファ１３４１ａに読み出され、読み出されたリードデータはデータキャッシュ１３４０ａを介してドライブ制御回路４に転送される。そして、ページバッファ１３４１ａに格納されたリードデータは、書き込み先アドレスにプログラムされる。
【００３７】
なお、ＮＡＮＤチップ３ａは、上記した書き込みコマンド、読み出しコマンド、ページコピーコマンドのほか、ブロック毎にデータを消去する消去コマンドを実行することができる。また、前述のように、ＮＡＮＤチップ３ａは、これらのコマンドを２つのプレーンで同時に実行することができる。２つのプレーンに同時アクセスするためのコマンド（以降、複数プレーンに同時アクセスするコマンドをマルチアクセスコマンドという）は、単一のプレーンにアクセスするためのコマンドを２つ含んで構成される。図７は、２つのプレーンに同時に書き込みを行うためのコマンド（マルチ書き込みコマンド）の一例を示す図である。図示するように、マルチ書き込みコマンドは、ライトデータのデータインを予告するデータ入力コマンド、書き込み先アドレス、ライトデータ、およびデータの書き込み処理開始を指令する書き込みコマンドを夫々備える、プレーン０用の書き込みコマンドとプレーン１用の書き込みコマンドとで構成される。但し、プレーン０用の書き込みコマンドが含む書き込みコマンドは、形式的な書き込みコマンド（ダミー書き込みコマンド）であって、プレーン１用の書き込みコマンドに含まれるデータ書き込みコマンドが受信されたとき、プレーン０およびプレーン１におけるアクセス処理（データ書き込み）が同時に開始される。
【００３８】
ステータスレジスタ１４１ａには、チップ制御回路１４３ａが生成したステータス情報が格納される。ステータスレジスタ１４１ａに格納されたステータス情報は、Ｉ／Ｏ信号入出力部１１０ａを介してドライブ制御回路４へ送信される。
【００３９】
図８は、アクセス調停回路１２の構成の一例をロウアドレスバッファ１３０ａ、１３０ｂの詳細な構成とともに示す図である。なお、ロウアドレスバッファ１３０ａに関し、プレーン０用、プレーン１用のロウアドレスバッファに、夫々１３０ａ０、１３０ａ１を付して夫々区別することとする。同様に、ロウアドレスバッファ１３０ｂに関し、プレーン０用、プレーン１用のロウアドレスバッファに、夫々１３０ｂ０、１３０ｂ１を付す。図示するように、ロウアドレスバッファ１３０ａ０およびロウアドレスバッファ１３０ａ１は、アドレスを格納可能なバッファを夫々２つ（第１バッファ、第２バッファ）備えている。書き込みコマンド、読み出しコマンド、および消去コマンドは、プレーン毎に１つのアクセス先アドレスを含んでいるので、これらのコマンドを受信した時、受信したコマンドに含まれるアクセス先アドレスは第１バッファに格納される。ページコピーコマンドは、読み出し先アドレスおよび書き込み先アドレスの合計２つのアクセス先アドレスを含んでいるので、ページコピーコマンドを受信した時、第１のバッファおよび第２のバッファにアクセス先アドレスが夫々格納される。アドレスレジスタ１４０ａからアクセス先アドレスが転送されてくる信号線は、途中で２つに分岐して、分岐した信号線がロウアドレスバッファ１３０ａ０、ロウアドレスバッファ１３０ａ１に夫々接続されている。ロウアドレスバッファ１３０ａ０にはチップ制御回路１４３ａがＡＬＥ＿Ａを基に生成する２つのアドレスラッチイネーブル信号（ＡＬＥ＿Ａ０１、ＡＬＥ＿Ａ０２）が入力され、ロウアドレスバッファ１３０ａ０は、ＡＬＥ＿Ａ０１、ＡＬＥ＿Ａ０２を夫々ラッチタイミング信号として使用してアドレスレジスタ１４０ａから送信されてくるアクセス先アドレスを第１バッファ、第２バッファに格納する。同様に、ロウアドレスバッファ１３０ａ１には、ＡＬＥ＿Ａ１１、ＡＬＥ＿Ａ１２が入力され、ロウアドレスバッファ１３０ａ１は、ＡＬＥ＿Ａ１１、ＡＬＥ＿Ａ１２を夫々ラッチタイミング信号として使用して、送信されてくるアクセス先アドレスを第１バッファ、第２バッファに格納する。
【００４０】
また、ロウアドレスバッファ１３０ａ０は、アクセス処理を開始する際に第１バッファ、第２バッファに格納されているロウアドレスをロウデコーダ１３１ａに夫々入力させるためのイネーブル信号である２つの入力指示信号（入力指示信号Ａ０１、入力指示信号Ａ０２）が入力される。チップ制御回路１４３ａは、第１バッファに格納されているアドレスを入力させるとき、入力指示信号Ａ０１をイネーブル状態に遷移させ、第２バッファに格納されているアドレスを入力させるとき、入力指示信号Ａ０２をイネーブル状態に遷移させる。
【００４１】
同様に、ロウアドレスバッファ１３０ａ１は、夫々第１バッファ、第２バッファに格納されているロウアドレスをロウデコーダ１３１ａに入力させるための入力指示信号Ａ１１、入力指示信号Ａ１２が入力される。なお、チップ制御回路１４３ａは、メモリセルアレイ１０に対するアクセス処理が完了するまで、対応する入力指示信号をイネーブル状態としておくものとする。ロウアドレスバッファ１３０ａ０、１３１ａ１は、指示されたバッファに格納されているアドレスをロウデコーダ１３１ａおよびアクセス調停回路１２へ送信する。
【００４２】
なお、プレーン毎のカラムアドレスバッファ１３２ａも夫々二つのアドレスを格納するバッファを備えており、チップ制御回路１４３ａからのラッチタイミング信号に基づいて夫々のバッファへのカラムアドレスの格納を行う。また、プレーン毎のカラムアドレスバッファ１３２ａには、２つのバッファのうちの一つをカラムデコーダ１３３ａに入力させるための入力指示信号が夫々入力され、カラムアドレスバッファ１３２ａは、入力指示信号に指示されたバッファに格納されているカラムアドレスをカラムデコーダ１３３ａへ入力する。
【００４３】
ロウアドレスバッファ１３０ｂ０、１３０ｂ１は、夫々２つのバッファ（第１バッファ、第２バッファ）を備えている。アドレスレジスタ１４０ｂからのアドレスは、２つに分岐してロウアドレスバッファ１３０ｂ０、１３０ｂ１に夫々入力される。ロウアドレスバッファ１３０ｂ０は、チップ制御部１４３ｂからＡＬＥ＿Ｂ０１、ＡＬＥ＿Ｂ０２が入力され、ＡＬＥ＿Ｂ０１、ＡＬＥ＿Ｂ０２を夫々ラッチタイミング信号として使用して、送信されてくるアクセス先アドレスを第１バッファ、第２バッファに格納する。ロウアドレスバッファ１３０ｂ１も同様に、チップ制御部１４３ｂからＡＬＥ＿Ｂ１１、ＡＬＥ＿Ｂ１２が入力され、ＡＬＥ＿Ｂ１１、ＡＬＥ＿Ｂ１２を夫々ラッチタイミング信号として使用して、送信されてくるアクセス先アドレスを第１バッファ、第２バッファに格納する。
【００４４】
ロウアドレスバッファ１３０ｂ０は、夫々のバッファに格納されているロウアドレスをロウデコーダ１３１ｂに入力させるための入力指示信号Ｂ０１、入力指示信号Ｂ０２が入力される。同様に、ロウアドレスバッファ１３０ｂ１は、入力指示信号Ｂ１１、入力指示信号Ｂ１２が入力される。ロウアドレスバッファ１３０ｂ０、１３１ｂ１は、指示されたバッファに格納されているアドレスをロウデコーダ１３１ｂおよびアクセス調停回路１２へ入力する。
【００４５】
アクセス調停回路１２には、ロウアドレスバッファ１３０ａ０、１３０ａ１、１３０ｂ０、１３０ｂ１から最大で４つのアドレスが同時入力される。アクセス調停回路１２は、入力されたアドレスをプレーン毎に比較する比較器群１２０を備えている。比較器群１２０によるプレーン毎の比較結果はマスク回路群１２１へ入力される。マスク回路群１２１には、プレーン０の比較結果のマスク信号として入力指示信号Ａ０１、Ａ０２が入力され、プレーン１の比較結果のマスク信号として入力指示信号Ａ１１、Ａ１２が入力される。すなわち、マスク回路群１２１は、プレーン毎に、夫々２つ接続されている入力指示信号のいずれか１方がイネーブル状態であれば（言い換えると、アクセス処理中であれば）比較結果を透過させ、入力指示信号が２つともディスエーブル状態であれば（言い換えると、アクセス処理が行われていない状態であれば）比較結果を遮断してＬｏｗを出力する。マスク回路群１２１を透過した比較結果はオア回路１２３に入力される。オア回路１２３による演算結果は、ポートＡとポートＢとの間の競合判定結果としてチップ制御回路１４３ａ、チップ制御回路１４３ｂの夫々に分岐して出力される。
【００４６】
図９は、チップ制御回路１４３ａの機能構成を説明する図である。図示するように、チップ制御回路１４３ａは、周辺回路Ａを制御してメモリセルアレイ１０へのアクセス処理を実行するメモリセルアレイ制御部１４３０ａと、アクセス調停回路１２による競合判定結果が「競合」であるか「競合なし」であるかに基づいてメモリセルアレイ制御部１４３０ａの遷移を停止／再開させる競合処理部１４３１ａと、ドライブ制御回路４からステータスリードコマンドを受信したとき、ステータス情報を発行するステータス情報操作部１４３２ａと、を備えている。ステータス情報操作部１４３２ａは、ＲＹ＿Ａ／ＢＹ＿Ａが「ＢＹ」状態であってもステータスリードコマンドに対して応答することができる。
【００４７】
ポートＢ系処理部１１ｂは、周辺回路Ｂおよびチップ制御回路１４３ｂのほか、Ｃｈ１のＩ／Ｏ信号（Ｉ／Ｏ＿Ｂ［０：７]）を入出力するＩ／Ｏ信号入出力部１１０ｂと、制御信号（ＣＥ＿Ｂ、ＣＬＥ＿Ｂ、ＡＬＥ＿Ｂ、ＷＥ＿Ｂ、ＲＥ＿Ｂ、ＷＰ＿Ｂ）の入力を受け付ける制御信号入力部１１１ｂ、ＲＹ／ＢＹ信号を送り出すＲＹ／ＢＹ信号出力部１１２ｂを備えている。また、ポートＢ系処理部１１ｂは、アドレスレジスタ１４０ｂ、ステータスレジスタ１４１ｂ、およびコマンドレジスタ１４２ｂを備えている。ポートＢ系処理部１１ｂが備える各構成要素は、ポートＡ系処理部１１ａが備える同じ名称の各構成要素に等しいので、詳細な説明を省略する。
【００４８】
次に、ＮＡＮＤチップ３ａの動作を説明する。図１０は、ポートＡ系処理部１１ａにアクセス処理に関するコマンド（書き込みコマンド、読み出しコマンド、消去コマンド、ページコピーコマンド等）を受信したときのＮＡＮＤチップ３ａの動作を説明するフローチャートである。図示するように、ポートＡ系処理部１１ａは、ドライブ制御回路４からコマンドを１つ受信（受信完了）すると（ステップＳ１）、メモリセルアレイ制御部１４３０ａは、ＲＹ／ＢＹ信号出力部１１２ａにＲＹ＿Ａ／ＢＹ＿Ａをビジー状態（ＢＹ）に遷移させる（ステップＳ２）。そして、メモリセルアレイ制御部１４３０ａは、コマンドに含まれるアクセス先アドレスをロウアドレスバッファ１３０ａ、カラムアドレスバッファ１３２ａに含まれる対応するバッファに格納する（ステップＳ３）。そして、メモリセルアレイ制御部１４３０ａは、入力指示信号を発行して、ロウアドレスバッファ１３０ａに格納されたロウアドレスをロウデコーダ１３１ａおよびアクセス調停回路１２へ、カラムアドレスバッファ１３２ａに格納されたカラムアドレスをカラムデコーダ１３３ａへ夫々入力させる（ステップＳ４）。
【００４９】
アクセス調停回路１２は、入力指示信号、アドレスに基づいて競合判定を行う。競合処理部１４３１ａは、競合判定結果が「競合」であるか否かを判定する（ステップＳ５）。競合判定結果が「競合」であった場合（ステップＳ５、Ｙｅｓ）、競合処理部１４３１ａは、メモリセルアレイ制御部１４３０ａの遷移を停止した状態（ＷＡＩＴ状態ということとする）とし（ステップＳ６）、ステップＳ５へ移行する。競合判定結果が「競合なし」であった場合（ステップＳ５、Ｎｏ）、メモリセルアレイ制御部１４３０ａは、コマンドの実行を開始する（ステップＳ７）。ステップＳ７においては、メモリセルアレイ制御部１４３０ａがＷＡＩＴ状態であった場合、競合処理部１４３１ａはメモリセルアレイ制御部１４３０ａの遷移を再開させることによってＷＡＩＴ状態から復帰させる。なお、コマンドを実行している状態をコマンド実行状態ということとする。
【００５０】
メモリセルアレイ制御部１４３０ａは、コマンドの実行を終了すると（ステップＳ８）、ＲＹ／ＢＹ信号出力部１１２ａにＲＹ＿Ａ／ＢＹ＿Ａをレディー状態（ＲＹ）にさせ（ステップＳ９）、ステップＳ１に移行する。
【００５１】
図１１は、ポートＡ系処理部１１ａにステータスリードコマンドを受信したときのＮＡＮＤチップ３ａの動作を説明するフローチャートである。ポートＡ系処理部１１ａがステータスリードコマンドを受信すると（ステップＳ１１）、ステータス情報操作部１４３２ａは、自ポートのＲＹ／ＢＹ信号（ＲＹ＿Ａ／ＢＹ＿Ａ）がＢＹであるか否か、自ポートのメモリセルアレイ制御部１４３０ａがＷＡＩＴ状態であるか否か、競合判定結果が「競合」であるか否か、他ポートのＲＹ／ＢＹ信号（ＲＹ＿Ｂ／ＢＹ＿Ｂ）がＢＹであるか否か、に基づいてステータス情報を作成し、作成したステータス情報をステータスレジスタ１４１ａにセットする（ステップＳ１２）。
【００５２】
図１２は、ステータス情報を説明するテーブルである。図示するように、自ポートおよび他ポートについて夫々ＷＡＩＴ状態であるか、コマンド実行状態であるか、ＩＤＬＥ状態であるかを示す合計６つのステータス情報が定義されており、ドライブ制御回路４は、ステータスリードコマンドを送信したポートだけでなく別のポートの状態を知ることができるようになっている。
【００５３】
ステータス情報操作部１４３２ａは、ステータスレジスタ１４１ａにセットしたステータス情報をＩ／Ｏ信号入出力部１１０ａから送信し（ステップＳ１３）、動作がリターンとなる。
【００５４】
図１３および図１４は、ステータスリードコマンド受信時のＮＡＮＤチップ３ａの動作を説明するタイミングチャートである。図１３において、（ａ）はＩ／Ｏ＿Ａ[０：７]、（ｂ）はＲＹ＿Ａ／ＢＹ＿Ａ、（ｃ）はポートＡ系処理部１１ａの動作状態、（ｄ）はＩ／Ｏ＿Ｂ[０：７]、（ｅ）はＲＹ＿Ｂ／ＢＹ＿Ｂ、（ｆ）はポートＢ系処理部１１ｂの動作状態を示している。図示するように、最初にポートＢにコマンドが発行され、ポートＢ系処理部１１ｂはコマンド実行状態となる。そして、ポートＢ系処理部１１ｂがコマンド実行状態のとき、ポートＡ系にコマンドが発行され、双方のアクセス先アドレスが競合し、ポートＡ系処理部１１ａはＷＡＩＴ状態となる。
【００５５】
この時点でポートＡ系、ポートＢ系に夫々ステータスリードコマンドが発行されると、ポートＡ系処理部１１ａは、自ポートはＷＡＩＴ状態で他ポートはコマンド実行状態であることを示すステータス情報「ステート１」を出力し、ポートＢ系処理部１１ｂは、自ポートはコマンド実行状態で他ポートはＷＡＩＴ状態であることを示すステータス情報「ステート２」を出力する。
【００５６】
ポートＢ系処理部１１ｂでのコマンド実行が終了すると、ポートＢ系処理部１１ｂはＩＤＬＥ状態に移行し、ポートＡ系処理部１１ａはＷＡＩＴ状態からコマンド実行状態に移行する。この時点でポートＡ系、ポートＢ系に夫々ステータスリードコマンドが発行されると、ポートＡ系処理部１１ａは、自ポートはコマンド実行状態で他ポートはＩＤＬＥ状態であることを示すステータス情報「ステート４」を出力し、ポートＢ系処理部１１ｂは、自ポートはＩＤＬＥ状態で他ポートはコマンド実行状態であることを示すステータス情報「ステート５」を出力する。
【００５７】
図１４のように、双方のポートで競合することなく同時アクセスが行われた場合において、双方が共にコマンド実行状態のときにステータスリードコマンドが発行されると、双方のポートは、双方のポートが共にコマンド実行状態となっていることを示すステータス情報「ステート３」を出力する。なお、図１３、図１４では、双方のポートに対してステータスリードコマンドが同時発行されているが、ステータスリードコマンドは実際には夫々個別に発行される。
【００５８】
なお、以上の説明においては、ブロック選択回路１３６ａ、１３６ｂはアクセス先をブロック毎に切り替えることができるようになっているとして説明したが、ブロック選択回路１３６ａ、１３６ｂは複数ブロック毎に切り替えるようにしてもよい。図１５は、メモリセルアレイ１０は２ブロック毎に切り替えるように構成された場合のメモリセルアレイ１０と周辺回路との接続を説明する図である。図示するように、各ブロック選択信号１３６ａ、１３６ｂは、２ブロック単位でアクセス先を選択することができるようになっている。なお、このように２ブロック単位でアクセス先を選択できるようにした場合、ブロックアドレスからプレーン識別用のビットを除く部分からさらに下位から１ビットを除いた部分が選択信号として使用するようにするとよい。
【００５９】
以上述べたように、本発明の第１の実施の形態によれば、夫々個別にアクセスを受ける単位領域に分割されている不揮発性のメモリセルアレイ１０と、アクセスコマンドの入力を夫々受け付ける二つのポートと、メモリセルアレイ１０に夫々個別にアクセスするポート毎の処理部１１と、ポート毎の処理部１１の夫々が受け付けたアクセスコマンドに含まれるアクセス先アドレスを相互に比較することによってアクセス先の単位領域が二つの処理部１１間で競合しているか否かを判定する競合判定を実行するアクセス調停回路１２と、を備え、ポート毎の処理部１１の夫々は、アクセス調停回路１２による競合判定結果が競合ありであるとき、アクセスの開始を待機し、競合判定結果が競合なしであるとき、アクセスを開始するように構成したので、２つのポートを備え、各ポートからの同時アクセスが可能なＮＡＮＤチップを提供することができる。また、該ＮＡＮＤチップを備えるＳＳＤを提供することができる。
【００６０】
なお、各ＮＡＮＤチップ３ａ〜３ｄは、２つのポートから同一のメモリセルアレイ１０に同時アクセスを行うことができるので、ドライブ制御回路４は、ホスト装置２から要求された通常のアクセス処理とともにウェアレベリングやガベッジコレクションを同時実行することが可能になる。例えば、図１の構成のＳＳＤ１において、ドライブ制御回路４は、Ｃｈ．０、Ｃｈ．２、Ｃｈ．４、Ｃｈ．６を利用して通常のアクセス処理を実行し、同時にＣｈ．１、Ｃｈ．３、Ｃｈ．５、Ｃｈ．７を利用してウェアレベリングやガベッジコレクションを実行することができる。
【００６１】
また、各ＮＡＮＤチップ３ａ〜３ｄが２つのポートから同一のメモリセルアレイ１０に同時アクセスを行うことができることを利用して、図１６に示すように、ポートＡ系処理部１１ａを第１ド−ライブ制御回路４ａに接続し、ポートＢ系処理部１１ｂを第２ドライブ制御回路４ｂに接続し、第１ドライブ制御回路４ａを高速アクセス可能な第１ホスト装置６に接続し、第２ドライブ制御回路４ｂを前記第１ホスト装置６よりも低速なアクセスを行う第２ホスト装置７に接続するように構成すると、ＮＡＮＤチップ３ａ〜３ｄを第１ホスト装置６と第２ホスト装置７との間の通信バッファとして使用することが可能になる。なお、その場合、互いにアクセス位置を認識できるように、第１ドライブ制御回路４ａと第２ドライブ制御回路４ｂとの間は夫々アクセス中の位置を示すポインタを送受信するようにするとよい。
【００６２】
また、各ポート系の処理部１１の夫々は、ステータスリードコマンドを受け付けたとき、アクセス調停回路１２による競合判定結果に基づいて、ＷＡＩＴ状態およびコマンド実行状態を含む自処理部１１の状態を示すステータス情報を出力するように構成した。ＷＡＩＴ状態とは、すなわちコマンドが未実行である状態である。つまり、ドライブ制御回路４は、ＲＹ／ＢＹ信号がＢＹ状態となっている場合であっても、ステータスリードコマンドを発行することによって、書き込みコマンドが未実行であるか否かを認識することができる。通常、ドライブ制御回路４は、書き込みコマンドが実行されている最中に該書き込みコマンドを取り消した際、ライトデータが書き込み先に途中まで書き込まれた状態となってしまう。ライトデータが途中まで書き込まれたブロックが使用する場合は、ドライブ制御回路４は、消去コマンドを発行してこのブロックの記憶内容を消去する作業が必要となる。しかしながら、ＷＡＩＴ状態、すなわちコマンドが未実行の状態であるとき、このタイミングで書き込みコマンドを取り消すと、書き込みが開始される前に書き込みコマンドを取り消すことになるので、ブロックの消去を行う必要がなくなる。すなわち、ドライブ制御回路４は、リセットコマンドを発行したとき、ポートがＷＡＩＴ状態であったか否かに基づいて消去コマンドを発行するか否かを決めるようにすると、無駄な消去動作を行わないようにすることができるようになる。
【００６３】
また、各ポート系の処理部１１の夫々は、ステータスリードコマンドを受け付けたとき、アクセス調停回路１２による競合判定結果に基づいて、ＷＡＩＴ状態およびコマンド実行状態を含む自処理部１１の状態を各ポート系の処理部１１毎に示すステータス情報を出力するように構成した。ドライブ制御回路４は、１つのポートにステータスリードコマンドを発行することによって、ステータスリードコマンドの発行先のチップが備える２つのポートの状態を認識することができる。このことを利用して、ＮＡＮＤチップ３ａ〜３ｄの夫々が備える２つのポートのうちの１つをデバッグ専用ポートとして使用する構成が考えられる。
【００６４】
図１７は、１つのポートをデバッグ専用ポートとした場合のＳＳＤ１の構成例を説明する図である。図１７に示す構成例によれば、ＳＳＤ１はホスト装置２およびデバッグ装置５と接続されている。ＳＳＤ１は２つのドライブ制御回路（第１ドライブ制御回路４ａ、４ｂ）を備えている。第１ドライブ制御回路４ａは、ＮＡＮＤチップ３ａ〜３ｄの夫々が備えるポートＡ計処理部１１ａと４つのチャネル（Ｃｈ．０、Ｃｈ．２、Ｃｈ．４、Ｃｈ．６）で夫々１対１接続されており、ホスト装置２とＮＡＮＤチップ３ａ〜３ｄとの間のデータ転送を実行する。第２ドライブ制御回路４ｂは、ＮＡＮＤチップ３ａ〜３ｄの夫々が備えるポートＢ計処理部１１ｂと４つのチャネル（Ｃｈ．１、Ｃｈ．３、Ｃｈ．５、Ｃｈ．７）で夫々１対１接続されており、デバッグ装置５からのステータスリードコマンドをＮＡＮＤチップ３ａ〜３ｄに転送する。
【００６５】
このように、各ＮＡＮＤチップ３ａ〜３ｄが備える２つのポートのうちの１つをデバッグ専用として活用することができるので、ＮＡＮＤチップ３ａ〜３ｄおよび該ＮＡＮＤチップ３ａ〜３ｄを搭載するＳＳＤ１の開発を容易化することができる。
【００６６】
なお、第１の実施の形態の説明においては、各処理部１１とドライブ制御回路４が備える接続端子との間は１対１で接続されているとしたが、図１８に示すように、ドライブ制御回路４からのチャネルは複数に分岐して、分岐端が夫々異なる処理部１１に接続されるように構成してもよい。
【００６７】
また、上記説明においては、アクセス調停回路１２はチップ制御回路１４３ａからの入力指示信号をマスク信号として使用するとして説明したが、チップ制御回路１４３ｂからの入力指示信号をマスク信号として使用するようにしてもよい。
【００６８】
また、ＮＡＮＤチップ３ａ〜３ｄは２つのポートを備えるとして説明しているが、処理部１１の数を増やすことによって３つ以上のポートを備えるように構成しても構わない。例えば、ＮＡＮＤチップ３ａ〜３ｄがポートＡ、ポートＢ、およびポートＣを備える場合、アクセス調停回路１２は、ポートＡとポートＢとの間の競合判定だけでなく、ポートＢとポートＣとの間の競合判定およびポートＡとポートＣとの間の競合判定を行うようにし、競合処理部１４３１ａは、ポートＡとポートＢとの間の競合判定結果およびポートＡとポートＣとの間の競合判定結果がともに「競合なし」であったとき、メモリセルアレイ制御部１４３０ａにアクセス処理を開始させ、少なくとも一方の競合判定結果が「競合」であったとき、メモリセルアレイ制御部１４３０ａをＷＡＩＴ状態に移行させるようにするとよい。
【００６９】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。第２の実施の形態では、ＮＡＮＤチップがマルチアクセスコマンドを受信した際、マルチアクセスコマンドを構成するプレーン毎のコマンドを受信する毎にアクセス調停回路による競合判定が実行されるようにした。
【００７０】
例えば、図１９は、マルチ書き込みコマンドが発行されたときのＩ／Ｏ信号線およびＲＹ／ＢＹ信号線の状態を説明する図である。図１９に示すように、プレーン０用の書き込みコマンドをドライブ制御回路から受信すると、ＮＡＮＤチップはＲＹ／ＢＹ信号をＢＹとして、競合判定を行う。判定結果が「競合」であった場合、ＮＡＮＤチップはＲＹ／ＢＹ信号をＢＹの状態としておく。競合が解消したとき、ＮＡＮＤチップはＲＹ／ＢＹ信号をＲＹに戻し、ドライブ制御回路からプレーン１用の書き込みコマンドを受信する。
【００７１】
図２０は、第２の実施の形態のＮＡＮＤチップの構成を説明する図である。図示するように、第２の実施の形態によれば、ＮＡＮＤチップ３ａは、第１の実施の形態の構成に類似した構成を備えており、チップ制御回路１４３ａ、チップ制御回路１４３ｂ、アクセス調停回路１２の代わりに夫々チップ制御回路１４４ａ、チップ制御回路１４４ｂ、アクセス調停回路１５を備えている点が第１の実施の形態の構成と異なっている。
【００７２】
アクセス調停回路１５は、チップ制御回路１４４ａ、チップ制御回路１４４ｂの双方から入力指示信号が入力される。アクセス調停回路１５は、チップ制御回路１４４ａ、チップ制御回路１４４ｂの双方から入力された入力指示信号およびロウアドレスに基づいて競合判定を処理部１１毎に実行する。処理部１１毎の競合判定結果は、チップ制御回路１４４ａ、チップ制御回路１４４ｂの双方に共通出力される。
【００７３】
図２１は、アクセス調停回路１５の構成の一例を説明する図である。図示するように、アクセス調停回路１５は、アドレスレジスタ１５０ａ、アドレスレジスタ１５０ｂ、比較器群１５１ａ、比較器群１５１ｂ、マスク回路群１５２ａ、マスク回路群１５２ｂ、オア回路１５３ａ、オア回路１５３ｂを備えている。
【００７４】
アドレスレジスタ１５０ａは、ロウアドレス１ページ分の容量を備えている。アドレスレジスタ１５０ａにはポートＡ系処理部１１ａに入力されてきたページ毎のロウアドレスが逐次上書き格納される。アドレスレジスタ１５０ａが格納しているアドレスは比較器群１５１ｂに入力される。比較器群１５１ｂは、入力されたアドレスレジスタ１５０ａの内容とロウアドレスバッファ１３０ｂから入力されてきたプレーン毎のアクセス先アドレスの夫々とを比較する。すなわち、アドレスレジスタ１５０ａにプレーン０用のアクセス先アドレスが格納されている場合、プレーン０用のアクセス先アドレス同士が比較され、プレーン１用のアクセス先アドレスが格納されている場合、プレーン１用のアクセス先アドレス同士が比較される。
【００７５】
プレーン毎の比較結果は、マスク回路群１５２ｂを介してオア回路１５３ｂによりオア演算される。マスク回路群１５２ｂは、チップ制御回路１４４ｂが発行する入力指示信号をマスク信号として用いて、アクセス処理中のプレーンにかかる比較結果を透過させ、アクセス処理を行っていないプレーンにかかる比較結果をマスクする。オア回路１５３ｂの演算結果は、ポートＡが受信した単一のプレーン用のコマンドが含むアクセス先アドレスがポートＢによるアクセス処理中のアドレスと競合しているか否かを示す競合判定結果Ａとしてチップ制御回路１４４ａおよびチップ制御回路１４４ｂの夫々に通知される。
【００７６】
同様に、アドレスレジスタ１５０ｂは、ロウアドレス１ページ分の容量を備えており、アドレスレジスタ１５０ｂにはポートＢ系処理部１１ｂに入力されてきたページ毎のロウアドレスが逐次上書き格納される。アドレスレジスタ１５０ｂに格納されているアドレスは比較器群１５１ａに入力される。比較器群１５１ａは、入力されたアドレスレジスタ１５０ｂの内容とロウアドレスバッファ１３０ａから入力されてきたプレーン毎のアクセス先アドレスの夫々とを比較する。プレーン毎の比較結果は、マスク回路群１５２ａを経てオア回路１５３ａに入力される。マスク回路群１５２ａは、チップ制御回路１４４ａが発行する入力指示信号をマスク信号として用いて、アクセス処理中のプレーンにかかる比較結果を透過させ、アクセス処理を行っていないプレーンにかかる比較結果をマスクする。オア回路１５３ａの演算結果は、ポートＢに入力されてきたコマンドのアクセス先アドレスがポートＡによるアクセス処理中のアドレスと競合しているか否かを示す競合判定結果Ｂとしてチップ制御回路１４４ａおよびチップ制御回路１４４ｂの夫々に通知される。
【００７７】
図２２は、チップ制御回路１４４ａの機能構成を説明する図である。図示するように、チップ制御回路１４４ａは、周辺回路Ａを制御してメモリセルアレイ１０へのアクセス処理を実行するメモリセルアレイ制御部１４４０ａと、アクセス調停回路１５による競合判定結果Ａが「競合」であるか「競合なし」であるかに基づいてメモリセルアレイ制御部１４４０ａの遷移を停止／再開させる競合処理部１４４１ａと、ドライブ制御回路４からステータスリードコマンドを受信したとき、ステータス情報を発行するステータス情報操作部１４４２ａと、を備えている。ステータス情報操作部１４４２ａは、ＲＹ＿Ａ／ＢＹ＿Ａが「ＢＹ」状態であってもステータスリードコマンドに対して応答することができる。
【００７８】
次に、ＮＡＮＤチップ３ａの動作を説明する。図２３は、ポートＡ系処理部１１ａにメモリセルアレイ１０に対するアクセス処理に関するコマンドを受信したときのＮＡＮＤチップ３ａの動作を説明するフローチャートである。図示するように、ポートＡ系処理部１１ａは、ドライブ制御回路４からコマンドを受信開始し（ステップＳ２１）、受信開始したコマンドがマルチアクセスコマンドではなく１つのプレーンへのアクセスコマンドであった場合（ステップＳ２２、Ｎｏ）、ステップＳ２３〜ステップＳ２６にてステップＳ１〜ステップＳ４の動作と同等の動作を実行する。そして、アクセス調停回路１５は、入力指示信号、アドレスに基づいて競合判定を行う。
【００７９】
競合処理部１４４１ａは、競合判定結果Ａが「競合」であるか否かを判定する（ステップＳ２７）。競合判定結果Ａが「競合」であった場合（ステップＳ２７、Ｙｅｓ）、競合処理部１４４１ａは、メモリセルアレイ制御部１４４０ａをＷＡＩＴ状態とし（ステップＳ２８）、ステップＳ２７へ移行する。競合判定結果が「競合なし」であった場合（ステップＳ２７、Ｎｏ）、メモリセルアレイ制御部１４４０ａは、コマンドの実行を開始する（ステップＳ２９）。なお、ステップＳ２９において、メモリセルアレイ制御部１４４０ａがＷＡＩＴ状態であったとき、競合処理部１４４１ａはメモリセルアレイ制御部１４４０ａをＷＡＩＴ状態から復帰させる。
【００８０】
メモリセルアレイ制御部１４４０ａは、コマンドの実行を終了すると（ステップＳ３０）、ＲＹ／ＢＹ信号出力部１１２ａにＲＹ＿Ａ／ＢＹ＿Ａをレディー状態（ＲＹ）にさせ（ステップＳ３１）、ステップＳ２１に移行する。
【００８１】
メモリセルアレイ制御部１４４０ａは、受信開始したコマンドがマルチアクセスコマンドであった場合において（ステップＳ２２、Ｙｅｓ）、マルチアクセスコマンドを構成するプレーン毎のコマンドを１つ受信完了すると（ステップＳ３２）、ＲＹ／ＢＹ信号出力部１１２ａにＲＹ＿Ａ／ＢＹ＿Ａをビジー状態（ＢＹ）を出力させる（ステップＳ３３）。そして、メモリセルアレイ制御部１４４０ａは、コマンドに含まれるアクセス先アドレスをロウアドレスバッファ１３０ａ、カラムアドレスバッファ１３２ａに含まれる対応するバッファに格納する（ステップＳ３４）。そして、メモリセルアレイ制御部１４４０ａは、入力指示信号を発行して、ロウアドレスバッファ１３０ａに格納されたロウアドレスをロウデコーダ１３１ａおよびアクセス調停回路１５へ、カラムアドレスバッファ１３２ａに格納されたカラムアドレスをカラムデコーダ１３３ａへ夫々入力させる（ステップＳ３５）。
【００８２】
競合処理部１４４１ａは、競合判定結果Ａが「競合」であるか否かを判定する（ステップＳ３６）。競合判定結果Ａが「競合」であった場合（ステップＳ３６、Ｙｅｓ）、競合処理部１４４１ａは、メモリセルアレイ制御部１４４０ａをＷＡＩＴ状態とし（ステップＳ３７）、競合判定結果Ａが「競合なし」になるまでステップＳ３６の判定を続行する。競合判定結果が「競合なし」であった場合（ステップＳ３６、Ｎｏ）、メモリセルアレイ制御部１４４０ａは、マルチアクセスコマンドに含まれるプレーン毎のコマンドを全て受信完了したか否かを判定する（ステップＳ３８）。ステップＳ３８において、メモリセルアレイ制御部１４４０ａがＷＡＩＴ状態であったとき、競合処理部１４４１ａはメモリセルアレイ制御部１４４０ａをＷＡＩＴ状態から復帰させる。
【００８３】
マルチアクセスコマンドに含まれる未受信のプレーン毎のコマンドが残っている場合（ステップＳ３８、Ｎｏ）、メモリセルアレイ制御部１４４０ａは、別のプレーン用のコマンドの入力を促すために、ＲＹ／ＢＹ信号出力部１１２ａにＲＹ＿Ａ／ＢＹ＿Ａをレディー状態（ＲＹ）にさせ（ステップＳ３９）、ステップＳ３２に移行して別のプレーン用のコマンドを受信する。
【００８４】
マルチアクセスコマンドに含まれるコマンドを全て受信完了したとき（ステップＳ３８、Ｙｅｓ）、ステップＳ２９に移行してメモリセルアレイ制御部１４４０ａはマルチアクセスコマンドの実行を開始する。
【００８５】
次に、ステータスリードコマンドを受信したときの動作を説明する。ステータス情報操作部１４４２ａの動作は図１１にて説明したＮＡＮＤチップ３ａの動作と同等であるが、ステータス情報毎の作成条件が第１の実施の形態と異なっている。ステータス情報操作部１４４２ａは、自ポートのＲＹ／ＢＹ信号（ＲＹ＿Ａ／ＢＹ＿Ａ）がＢＹであるか否か、他ポートのＲＹ／ＢＹ信号（ＲＹ＿Ｂ／ＢＹ＿Ｂ）がＢＹであるか否か、競合判定結果Ａが「競合」であるか否か、競合判定結果Ｂが「競合」であるか否か、に基づいてステータス情報を作成する。
【００８６】
図２４は、ステータス情報を説明するテーブルである。図示するように、２つのポートのＲＹ／ＢＹ信号がともにＢＹであった場合において、自ポートの競合判定結果（ポートＡ系処理部１１ａに対する競合判定結果Ａ）が「競合」であれば、ステート１が作成され、他ポートの競合判定結果（ポートＡ系処理部１１ａに対する競合判定結果Ｂ）が「競合」であれば、ステート２が作成される。
【００８７】
なお、第２の実施の形態においても、第１の実施の形態と同様に、ブロック選択回路１３６ａ、１３６ｂは複数ブロック毎に切り替えるようにしてもよい。
【００８８】
また、上記説明においては、ＮＡＮＤチップ３ａ〜３ｄは２つのポートを備えるとして説明しているが、処理部１１の数を増やすことによって３つ以上のポートを備えるように構成しても構わない。その場合、ステータス情報操作部１４４２ａは、全てのポートにかかるＲＹ／ＢＹ信号および全てのポートにかかるポート毎の競合判定結果に基づいてステータス情報を作成するようにするとよい。
【００８９】
このように、本発明の第２の実施の形態によれば、夫々個別にアクセスを受ける単位領域に分割されている不揮発性のメモリセルアレイ１０と、アクセスコマンドの入力を夫々受け付ける複数のポートと、メモリセルアレイ１０に夫々個別にアクセスするポート毎の処理部１１と、ポート毎の処理部１１の夫々が受け付けたアクセスコマンドに含まれるアクセス先アドレスを相互に比較することによってアクセス先の単位領域が複数の処理部１１間で競合しているか否かを判定する競合判定を実行するアクセス調停回路１２と、を備え、ポート毎の処理部１１の夫々は、アクセス調停回路１２による競合判定結果が競合ありであるとき、アクセスの開始を待機し、競合判定結果が競合なしであるとき、アクセスを開始するように構成したので、複数のポートを備え、各ポートからの同時アクセスが可能なＮＡＮＤチップを提供することができる。また、該ＮＡＮＤチップを備えるＳＳＤを提供することができる。
【００９０】
なお、各ＮＡＮＤチップ３ａ〜３ｄは、複数のポートから同一のメモリセルアレイ１０に同時アクセスを行うことができるので、ドライブ制御回路４は、第１の実施の形態と同様に、ホスト装置２から要求された通常のアクセス処理とともにウェアレベリングやガベッジコレクションを同時実行することが可能になる。２つのホスト装置間の通信バッファとして使用することが可能になる。
【００９１】
また、各ポート系の処理部１１の夫々は、ステータスリードコマンドを受け付けたとき、アクセス調停回路１２による競合判定結果に基づいて、ＷＡＩＴ状態およびコマンド実行状態を含む自処理部１１の状態を示すステータス情報を出力するように構成したので、第１の実施の形態と同様に、ドライブ制御回路４は、リセットコマンドを発行したとき、ポートがＷＡＩＴ状態であったか否かに基づいて消去コマンドを発行するか否かを決めるようにすると、無駄な消去動作を行わないようにすることができるようになる。
【００９２】
また、アクセス調停回路１２は、マルチアクセスコマンドに含まれるプレーン単位のコマンド毎に競合判定を実行し、複数の処理部１１の夫々は、プレーン単位のコマンドを受信する毎にＲＹ／ＢＹ信号をＢＹ状態に遷移させ、受信したプレーン単位のコマンドにかかる競合判定結果が競合なしであった場合、ＲＹ／ＢＹ信号をＲＹ状態に遷移させて次の単位コマンドの入力を促し、競合判定結果が競合ありであった場合、競合判定結果が競合なしとなるまでＲＹ／ＢＹ信号をＢＹ状態とする、ように構成したので、ドライブ制御回路４はマルチアクセスコマンドを全て送信する前に競合していることを認識することができるようになる。
【００９３】
また、各ポート系の処理部１１の夫々は、ステータスリードコマンドを受け付けたとき、アクセス調停回路１２による競合判定結果に基づいて、ＷＡＩＴ状態およびコマンド実行状態を含む自処理部１１の状態を各ポート系の処理部１１毎に示すステータス情報を出力するように構成した。ドライブ制御回路４は、１つのポートにステータスリードコマンドを発行することによって、ステータスリードコマンドの発行先のチップが備える全てのポートの状態を認識することができる。したがって、第１の実施の形態と同様に、ＮＡＮＤチップ３ａ〜３ｄの夫々が備える複数のポートのうちの１つをデバッグ専用ポートとして使用することができるようになる。
【符号の説明】
【００９４】
１  ＳＳＤ、２  ホスト装置、３  ＮＡＮＤチップ、４  ドライブ制御回路、５  デバッグ装置、１０  メモリセルアレイ、１１ａ  ポートＡ系処理部、１１ｂ  ポートＢ系処理部、１２  アクセス調停回路、１５  アクセス調停回路、１１０ａ、１１０ｂ  Ｉ／Ｏ信号入出力部、１１１ａ、１１１ｂ  制御信号入力部、１１２ａ、１１２ｂ  ＲＹ／ＢＹ信号出力部、１２０、１５１  比較器群、１２１、１５２  マスク回路群、１２３、１５３  オア回路、１３０  ロウアドレスバッファ、１３１  ロウデコーダ、１３２  カラムアドレスバッファ、１３３  カラムデコーダ、１３４  データレジスタ、１３５  センスアンプ、１３６  ブロック選択回路、１４０、１５０  アドレスレジスタ、１４１  ステータスレジスタ、１４２  コマンドレジスタ、１４３、１４４  チップ制御回路、１３４０  データキャッシュ、１３４１  ページバッファ、１４３０、１４４０  メモリセルアレイ制御部、１４３１、１４４１  競合処理部、１４３２、１４４２  ステータス情報操作部。
【図１】
2011204312.tif 000003
【図２】
2011204312.tif 000004
【図３】
2011204312.tif 000005
【図４】
2011204312.tif 000006
【図５】
2011204312.tif 000007
【図６】
2011204312.tif 000008
【図７】
2011204312.tif 000009
【図８】
2011204312.tif 000010
【図９】
2011204312.tif 000011
【図１０】
2011204312.tif 000012
【図１１】
2011204312.tif 000013
【図１２】
2011204312.tif 000014
【図１３】
2011204312.tif 000015
【図１４】
2011204312.tif 000016
【図１５】
2011204312.tif 000017
【図１６】
2011204312.tif 000018
【図１７】
2011204312.tif 000019
【図１８】
2011204312.tif 000020
【図１９】
2011204312.tif 000021
【図２０】
2011204312.tif 000022
【図２１】
2011204312.tif 000023
【図２２】
2011204312.tif 000024
【図２３】
2011204312.tif 000025
【図２４】
2011204312.tif 000026