(57)【要約】【課題】データ転送を制御する制御装置の負荷を低減しつつ、リアルタイム処理が要求されるシステムにも対応可能な半導体記憶装置を提供する。【解決手段】本発明による半導体記憶装置は、複数の半導体記憶素子（４，６）と、制御装置（２）と、複数の半導体記憶素子及び制御装置が接続されるシステムバスとを備える。複数の半導体記憶素子のうちデータ転送元半導体記憶素子（４）は、内部制御手段（１０）を備える。内部制御手段（１０）は、制御装置（２）からシステムバスを介して直接データ転送の開始コマンドを含む指示を受け取ると、直接データ転送中であることを示す信号をシステムバスを介して制御装置（２）に出力し、チップイネーブル信号を、システムバスを介してデータ転送先半導体記憶素子（６）に送り、上記の指示に基づいて、転送元半導体記憶素子（４）から転送先半導体記憶素子（６）への直接データ転送を制御する。【選択図】　　　　図１
2004021713.tif 000002
【特許請求の範囲】
【請求項１】
複数の半導体記憶素子と、
前記複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、前記複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、
前記複数の半導体記憶素子および前記制御装置が接続されるシステムバスと
を備え、
前記複数の半導体記憶素子は、前記制御装置から前記直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含み、
前記システムバスは、チップイネーブル信号を、前記データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含み、
前記データ転送元半導体記憶素子は、前記直接データ転送を制御する内部制御手段を備え、
前記内部制御手段は、前記制御装置から前記システムバスを介して直接データ転送の開始コマンドを含む前記指示を受け取ると、前記システムバスを介して、直接データ転送中であることを示す信号を前記制御装置に出力し、チップイネーブル信号を、前記システムバスを介して、前記データ転送先半導体記憶素子に送り、前記指示に基づいて、前記データ転送元半導体記憶素子から前記データ転送先半導体記憶素子への直接データ転送を制御することを特徴とする半導体記憶装置。
【請求項２】
前記内部制御手段は、
直接データ転送の前記指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、
前記レジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、前記システムバスに出力するアドレス生成回路と、
直接データ転送中であるか否かを示す信号、前記データ転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、前記システムバスに出力する転送制御信号生成回路と、
前記レジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより前記データ転送元半導体記憶素子から読み出したデータを、前記システムバスに出力する出力制御回路と、
クロック信号に応じて前記アドレス生成回路と前記出力制御回路を制御する転送制御回路と
を備えることを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記制御装置は、中央演算処理装置またはチップセットを含むことを特徴とする請求項１または請求項２に記載の半導体記憶装置。
【請求項４】
前記転送制御信号生成回路は、さらに、前記直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、前記システムバスに出力することを特徴とする請求項２または請求項３に記載の半導体記憶装置。
【請求項５】
前記制御装置は、前記複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成でき、前記データ転送元半導体記憶素子は、直接データ転送の中断を指示する前記信号を入力する割り込み端子を備え、前記内部制御手段は、前記制御装置から直接データ転送の中断の前記指示を受け取ると直接データ転送を中断することを特徴とする請求項１から請求項４のいずれかに記載の半導体記憶装置。
【請求項６】
前記複数の半導体記憶素子は、複数の前記データ転送元半導体記憶素子を含み、
前記システムバスは、前記制御装置と各々のデータ転送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバス、および、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含むことを特徴とする請求項１から請求項５のいずれかに記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バスに接続された複数の半導体記憶素子の間でデータ転送が行われる半導体記憶装置に関する。
【０００２】
【従来の技術】
従来、半導体記憶装置において、バスに接続された複数の半導体記憶素子間のデータ転送には制御装置が介在していた。図１０は、従来の半導体記憶装置を示すブロック図である。図１０において、半導体記憶装置は、中央演算処理装置（ＣＰＵ）１０２、第１の半導体記憶素子１０４および第２の半導体記憶素子１０６を備える。また、ＣＰＵ１０２は、その半導体記憶素子間のデータ転送を制御する半導体記憶素子コントローラ１０８と、バッファＲＡＭ（ランダムアクセスメモリ）１１０とを備える。ＣＰＵ１０２、第１の半導体記憶素子１０４および第２の半導体記憶素子１０６は、システムバスによって相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。アドレスバスおよびデータバスは、それぞれ、ＣＰＵ１０２、第１の半導体記憶素子１０４および第２の半導体記憶素子１０６が接続された３つの構成要素に共通のバスである。ＣＰＵ１０２、第１の半導体記憶素子１０４および第２の半導体記憶素子１０６は、上述のアドレスバスおよびデータバスを介して、それぞれ、相互にアドレス信号およびデータ信号の入出力を行う。また、コントロールバスは、ＣＰＵ１０２から第１の半導体記憶素子１０４に制御信号を出力する信号線と、ＣＰＵ１０２から第２の半導体記憶素子１０６に制御信号を出力する信号線と、第１の半導体記憶素子１０４からＣＰＵ１０２にレディ／ビジー信号を出力する信号線とを含む。図中の矢印は、それら構成要素間において可能な信号の入出力を示している。
【０００３】
上述の半導体記憶装置において、第１の半導体記憶素子１０４に格納されたデータを第２の半導体記憶素子１０６に転送する場合、もし、データの読み出しや書き込みに関する制御方法が、第１の半導体記憶素子１０４と第２の半導体記憶素子１０６との間で異なるなら、または、その制御方法が同じであっても複雑なら、半導体記憶素子コントローラ１０８は、まず、第１の半導体記憶素子１０４に格納されたデータを、データバスを介して、一旦バッファＲＡＭ１１０に読み出し、続いて、そのデータを、バッファＲＡＭ１１０から第２の半導体記憶素子１０６に転送させる（図１０における点線を参照）。このとき、ＣＰＵ１０２（半導体記憶素子コントローラ１０８）は、第１の半導体記憶素子１０４からバッファＲＡＭ１１０にデータを格納する処理と、そのデータを第２の半導体記憶素子１０６に転送する処理の２つの処理を制御しなければならず、ＣＰＵ１０２における負荷が大きかった。また、これにより、半導体記憶素子システムのパフォーマンスが低下するという問題があった。
【０００４】
例えば、特開昭６１−２６１６４号公開公報は、各々がコントローラを介してシステムバスに接続された複数の機器間においてデータ転送を行う場合の制御方法を開示している。システムバスに接続されたＣＰＵが転送元機器Ａを制御する転送元コントローラＡにデータ転送の指示を与えると、コントローラＡは、機器ＡからコントローラＡ内のバッファメモリに一旦データを格納してから、そのデータをデータ線に出力すると共に、転送先機器Ｂに対応する転送先コントローラＢに、データの書き込み指示を出力する。コントローラＢは、その書き込み指示に従って、データ線上のデータをコントローラＢ内のバッファメモリに書き込み、そのデータを機器Ｂに転送する。以上のデータ転送制御方法によれば、ＣＰＵがデータ転送の指示を与えた後は、コントローラＡがデータ転送処理を行うので、ＣＰＵの負荷を低減できる。
【０００５】
【発明が解決しようとする課題】
しかし、特開昭６１−２６１６４号公開公報に開示された制御方法は、図１０に示される半導体記憶装置に適用する場合には、いまだ改善の余地がある。上述の制御方法は、ＣＰＵがデータ転送の指示を出力してから機器間のデータ転送が完了するまで一定の時間を要するので、リアルタイム処理を必要とするシステムへの適用は困難であるという問題があった。
【０００６】
また、機器（記憶装置）を制御するコントローラ（制御装置）は、その規模をより小さくすることが望まれている。
【０００７】
本発明の目的は、半導体記憶素子間でデータ転送を行う記憶装置であって、半導体記憶素子の動作を制御する制御装置の負荷を低減しつつ、リアルタイム処理が要求されるシステムにも対応可能な半導体記憶装置を提供することである。また、本発明の別の目的は、半導体記憶素子の動作を制御する制御装置の負荷を低減しつつ、その規模が小さい半導体記憶装置を提供することである。
【０００８】
【課題を解決するための手段】
本発明に係る半導体記憶装置は、複数の半導体記憶素子と、前記の複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、前記の複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、前記の複数の半導体記憶素子および前記の制御装置が接続されるシステムバスとを備える。前記の複数の半導体記憶素子は、前記の制御装置から前記の直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含む。前記のシステムバスは、チップイネーブル信号を、前記のデータ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含む。前記のデータ転送元半導体記憶素子は、前記の直接データ転送を制御する内部制御手段を備える。前記の内部制御手段は、前記の制御装置から前記のシステムバスを介して直接データ転送の開始コマンドを含む前記の指示を受け取ると、前記のシステムバスを介して、直接データ転送中であることを示す信号を前記の制御装置に出力し、チップイネーブル信号を、前記のシステムバスを介して、前記のデータ転送先半導体記憶素子に送り、前記の指示に基づいて、前記のデータ転送元半導体記憶素子から前記のデータ転送先半導体記憶素子への直接データ転送を制御する。
【０００９】
好ましくは、前記の半導体記憶装置において、前記の内部制御手段は、直接データ転送の前記の指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、前記のレジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、前記のシステムバスに出力するアドレス生成回路と、直接データ転送中であるか否かを示す信号、前記のデータ転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、前記のシステムバスに出力する転送制御信号生成回路と、前記のレジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより前記のデータ転送元半導体記憶素子から読み出したデータを、前記のシステムバスに出力する出力制御回路と、クロック信号に応じて前記のアドレス生成回路と前記の出力制御回路を制御する転送制御回路とを備える。
【００１０】
好ましくは、前記の半導体記憶装置において、前記の制御装置は、中央演算処理装置またはチップセットを含む。
【００１１】
好ましくは、前記の半導体記憶装置において、前記の転送制御信号生成回路は、さらに、前記の直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、前記のシステムバスに出力する。
【００１２】
好ましくは、前記の半導体記憶装置において、前記の制御装置は、前記の複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成できる。また、前記のデータ転送元半導体記憶素子は、直接データ転送の中断を指示する前記の信号を入力する割り込み端子を備える。前記の内部制御手段は、前記の制御装置から直接データ転送の中断の前記の指示を受け取ると直接データ転送を中断する。
【００１３】
好ましくは、前記の半導体記憶装置において、前記の複数の半導体記憶素子は、複数の前記のデータ転送元半導体記憶素子を含む。また、前記のシステムバスは、前記の制御装置と各々のデータ転送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバス、および、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含む。
【００１４】
【発明の実施の形態】
実施の形態１．
以下に、添付の図面を参照して、本発明の実施の形態について説明する。
本発明の実施の形態１による半導体記憶装置は、複数の半導体記憶素子とシステムバスを介してそれら半導体記憶素子を制御する制御装置（中央演算処理装置）とを備える。これらの複数の半導体記憶素子はシステムバスを介して制御装置に並列に接続されていて、制御装置は、これらの半導体記憶素子に対して通常の半導体記憶素子と同様にデータの書き込みと読み出しをおこなう。このデータの書き込みと読み出しは従来の半導体記憶装置と同様なので、説明を省略する。
【００１５】
さらに、この半導体記憶装置では、一つの半導体記憶素子（以下、「第１の半導体記憶素子」という。）から他の半導体記憶素子に対して直接にデータ転送が可能である。他の半導体記憶素子は、通常の半導体記憶素子である。これに対して、第１の半導体記憶素子は、半導体記憶素子の間の直接データ転送を制御するハードロジックのシーケンサを内蔵している点が従来の半導体記憶素子と異なる。制御装置が、第１の半導体記憶素子に、他の半導体記憶素子へのデータ転送を開始するように指示すると、第１の半導体記憶素子において、シーケンサは、制御装置に対して直接データ転送を行う状態信号を出力する。これにより、制御装置は、第１の半導体記憶素子によるシステムバスの使用を可能にする。次に、シーケンサは、転送先の半導体記憶素子に対して、チップイネーブル信号を送信する。次に、シーケンサは、制御装置からの指示内容に基づいて、第１の半導体記憶素子に記憶されたデータを他の半導体記憶素子（第２の半導体記憶素子）に転送する。直接データ転送の間、制御装置は、シーケンサが出力する状態信号を検知するのみである。また、この半導体記憶装置では、制御装置は、直接データ転送処理の中断を第１の半導体記憶素子に指示できる。以下に、この半導体記憶装置について詳細に説明する。
【００１６】
図１は、本発明の実施の形態１による半導体記憶装置の構成を示すブロック図である。図１において、半導体記憶装置は、中央演算処理装置（ＣＰＵ）２、第１の半導体記憶素子４および第２の半導体記憶素子６を備える。第１の半導体記憶素子４は、制御装置から直接データ転送用のコマンドによって制御される半導体記憶素子である。ＣＰＵ２は、半導体記憶素子４，６とのデータの書き込みおよび読み出しを制御する半導体記憶素子コントローラ８を備える。また、第１の半導体記憶素子４は、第１の半導体記憶素子４から第２の半導体記憶素子６への直接データ転送を制御するシーケンサ１０を備える。ＣＰＵ２は、システムバスによって、半導体記憶素子４，６と相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。ＣＰＵ２、第１の半導体記憶素子４および第２の半導体記憶素子６は、システムバスを介して相互に信号の入出力を行う。図１における矢印は、それら構成要素間で可能な信号の入出力を示している。特に、ＣＰＵ２は、第１の半導体記憶素子４に対し、コントロールバスを介して割り込み信号１２を出力し、直接データ転送処理の中断を指示できる。
【００１７】
さらに詳しく説明すると、アドレスバスは、ＣＰＵ２、第１の半導体記憶素子４および第２の半導体記憶素子６のアドレス端子（それぞれ、Ａｄｄｒｅｓｓ端子、ＡＤＤ（Ｉ／Ｏ）端子およびＡＤＤ（Ｉ）端子）が接続された、３つの構成要素に共通のバスである。データバスは、ＣＰＵ２、第１の半導体記憶素子４および第２の半導体記憶素子６のデータ端子（それぞれ、Ｄａｔａ端子、Ｄａｔａ（Ｉ／Ｏ）端子およびＤａｔａ（Ｉ／Ｏ）端子）が接続された、３つの構成要素に共通のバスである。ＣＰＵ２、第１の半導体記憶素子４および第２の半導体記憶素子６は、相互間におけるアドレス信号およびデータ信号の入出力を、それぞれ、アドレスバスおよびデータバスを介して行う。
【００１８】
コントロールバスは、ＣＰＵ２のＣＳｍ＃（Ｏ）端子（「♯」は、低レベルでアクティブであることを示す。）および第１の半導体記憶素子４のＣＥ（チップイネーブル）＃（Ｉ）端子を接続する第１の信号線と、ＣＰＵ２のＣＳｎ（チップセレクト）＃（Ｏ）端子および第２の半導体記憶素子６のＣＥ＃（Ｉ）端子を接続する第２の信号線と、ＣＰＵ２のＷＥ（ライトイネーブル）＃（Ｏ）端子、第１の半導体記憶素子４のＷＥ＃（Ｉ／Ｏ）端子および第２の半導体記憶素子６のＷＥ＃（Ｉ）端子を接続する第３の信号線と、ＣＰＵ２のＯＥ（アウトプットイネーブル）＃（Ｏ）端子、第１の半導体記憶素子４のＯＥ＃（Ｉ／Ｏ）端子および第２の半導体記憶素子６のＯＥ＃（Ｉ）端子を接続する第４の信号線を含む。これらは、従来のコントロールバスと同様である。コントロールバスは、さらに、直接データ転送に用いるバスを含み、それらは、ＣＰＵ２のＲＥＱ（リクエスト）＃端子および第１の半導体記憶素子４のＩＮＴ＃端子を接続する第５の信号線と、第１の半導体記憶素子４のＲ／Ｂ（レディ／ビジー）＃端子およびＣＰＵ２のＩｎ端子を接続する第６の信号線と、第１の半導体記憶素子４のＣＥ＃（Ｏ）端子および第２の半導体記憶素子６のＣＥ＃（Ｉ）端子を接続する第７の信号線である。
【００１９】
次に、ＣＰＵ２、第１の半導体記憶素子４および第２の半導体記憶素子６の内部構成を、それぞれ、図２、図３および図４を用いて詳細に説明する。まず、図２を参照すると、ＣＰＵ２は、半導体記憶素子コントローラ８、内部システムバス２０２およびＣＰＵコア部２０４を備える。また、半導体記憶素子コントローラ８は、アドレス信号生成部２０６、コントロール信号生成部２０８およびデータバス方向制御部２１２を備える。これらは従来の半導体記憶素子コントローラと同様である。半導体記憶素子コントローラ８は、さらに、直接データ転送のためのデータ転送制御信号生成部２１０を備える。ＣＰＵコア部２０４、アドレス信号生成部２０６、コントロール信号生成部２０８、データ転送制御信号生成部２１０、データバス方向制御部２１２およびその他周辺回路部２１４は、内部システムバス２０２に接続される。アドレス信号生成部２０６は、アドレス信号を生成して、その信号を、Ａｄｄｒｅｓｓ端子を介してアドレスバスに出力する。コントロール信号生成部２０８は、コントロール信号を生成して、その信号を、ＣＳｎ＃（Ｏ）端子、ＷＥ＃（Ｏ）端子、ＯＥ＃（Ｏ）端子、および、ＣＳｍ＃（Ｏ）端子を介してコントロールバスに出力する。データバス方向制御部２１２は、Ｄａｔａ端子を介してデータバスに接続され、データバスにデータを出力し、かつ、データバスからデータを受け取る。直接データ転送の場合、データ転送制御信号生成部２１０は、ＲＥＱ＃端子を介して、第１の半導体記憶素子４にリクエスト信号（Ｃｏｎｔ＿ＲＥＱ＃）を出力し、かつ、Ｉｎ端子を介して、第１の半導体記憶素子４からレディ／ビジー信号（ＲＯＭ＿Ｒ／Ｂ＃）を受け取る。
【００２０】
次に、図３を参照すると、第１の半導体記憶素子４は、アドレスデコーダ４０２、アドレス生成回路（ラッチおよびカウンタ含む）４０４、ページバッファ４０６、メモリセル４０８、ステータスレジスタ４１０、マルチプレクサおよび出力制御回路４１２、コマンドユーザインタフェースおよび転送制御信号生成回路４１４、ライトステートマシーンおよび転送制御マシーン４１６、入出力（アイオー）バッファおよびラッチ４１８、および、クロック発生回路４２０を備える。図１のシーケンサ１０は、転送制御マシーン４１６に相当する。転送制御マシーン４１６は、内部に、転送レジスタ４１９を内蔵する。アドレスデコーダ４０２は、第１の半導体記憶素子４のＡＤＤ（Ｉ／Ｏ）端子を介してアドレスバスからアドレスデータを受け取る。アドレス生成回路４０４は、そのＡＤＤ（Ｉ／Ｏ）端子を介して、アドレスバスにアドレスデータを出力する。コマンドユーザインタフェースおよび転送制御信号生成回路４１４は、ＣＥ＃（Ｉ）端子、ＷＥ＃（Ｉ／Ｏ）端子、ＯＥ＃（Ｉ／Ｏ）端子、ＩＮＴ＃端子、Ｒ／Ｂ＃端子およびＣＥ＃（Ｏ）端子を介して、コントロールバスに接続される。入出力バッファおよびラッチ４１８は、Ｄａｔａ（Ｉ／Ｏ）端子を介してデータバスに接続され、内部に格納されたデータをデータバスに出力する、および、データバスから受け取ったデータを一時的に格納する。次に説明する第２の半導体記憶素子６（図４）と比べると分かるように、第１の半導体記憶素子４は、直接データ転送を行うので、通常の半導体記憶素子６と異なる構成を備えている。
【００２１】
図４を参照すると、第２の半導体記憶素子６は、アドレスデコーダ６０２、ページバッファ６０６、メモリセル６０８、ステータスレジスタ６１０、マルチプレクサ６１２、コマンドユーザインタフェース６１４、ライトステートマシーン６１６、入出力バッファ６１８およびクロック発生回路６２０を備える。アドレスデコーダ６０２は、ＡＤＤ（Ｉ）端子を介して、アドレスバスからアドレスデータを受け取る。コマンドユーザインタフェース６１４は、ＣＥ＃（Ｉ）端子、ＯＥ＃（Ｉ）端子およびＷＥ＃（Ｉ）端子を介して、コントロールバスからコントロール信号を受け取る。入出力バッファ６１８は、Ｄａｔａ（Ｉ／Ｏ）端子を介して、データバスに接続され、内部に格納されたデータをデータバスに出力する、および、データバスからデータを受け取る。第２の半導体記憶素子６の構成は従来の半導体記憶素子と同様である。
【００２２】
次に、図５および図６を用いて、第１の半導体記憶素子４から第２の半導体記憶素子６にデータ転送を行う場合の半導体記憶装置の動作について説明する。この半導体記憶装置において、ＣＰＵ２は、データ転送を一時中断させることができる。図５は、一時中断を含むデータ転送時のＣＰＵ２による制御を示すフローチャートである。また、図６は、半導体記憶装置の一時中断を含むデータ転送動作を説明するタイミングチャートである。ＣＰＵ２は、まず、第１の半導体記憶素子４のシーケンサ制御用レジスタ空間（転送制御マシーン４１６内に内蔵された転送レジスタ４１９）に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む（ステップＳ１０）。このとき、ＣＰＵ２のコントロール信号生成部２０８は、ＣＳｍ＃（Ｏ）端子を介して、第１の半導体記憶素子４へのコントロールバス（第１の信号線）に、アサートしたＣｏｎｔ＿ＣＳｍ＃信号を出力し、ＣＰＵ２のアドレス信号生成部２０６は、アドレスバスに、それら４つのデータを書き込む第１の半導体記憶素子４のレジスタ空間のアドレス（コマンドアドレス３２、第２のレジスタアドレス３４、第３のレジスタアドレス３６および第４のレジスタアドレス３８）（Ｃｏｎｔ＿ＡＤＤ信号）を出力し、ＣＰＵ２のデータバス方向制御部２１２は、データバスに、データ転送コマンド４０、転送元アドレス４２、転送先アドレス４４およびデータ転送量４６（Ｃｏｎｔ＿Ｄａｔａ信号）を出力する。さらに、コントロール信号生成部２０８は、ＷＥ＃（Ｏ）端子を介して、コントロールバスの第３の信号線に、アサートしたＣｏｎｔ＿ＷＥ＃信号を出力する。
【００２３】
第１の半導体記憶素子４におけるコマンドユーザインタフェース４１４は、コントロールバスから、アサートされたＣｏｎｔ＿ＣＳｍ＃信号およびＣｏｎｔ＿ＷＥ＃信号を受け取る。また、アドレスデコーダ４０２は、アドレスバスからアドレスデータ（コマンドアドレス３２等）を取得し、入出力バッファおよびラッチ４１８は、データバスからデータ（データ転送コマンド４０等）を取得する。取得されたデータは、転送制御マシーン４１６に内蔵された転送レジスタ４１９において、アドレスデータにより指定されたアドレスに書き込まれる。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ４１６に順次書き込まれる。
【００２４】
転送制御マシーン４１６は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル（有効）となる。転送制御信号生成回路４１４は、転送制御マシーン４１６が動作したことを検知すると、コントロールバスの第６の信号線を介して「Ｌｏｗ」レベル（低レベル：ビジー状態）のＲＯＭ＿Ｒ／Ｂ＃信号をＣＰＵ２に出力する。ＣＰＵ２のデータ転送制御信号生成部２１０は、コントロールバスから低レベルのＲＯＭ＿Ｒ／Ｂ＃信号を受け取って（ステップＳ１２）、第１の半導体記憶素子４が直接データ転送を開始した（データ転送中である）ことを検知する。
【００２５】
次に、転送制御マシーン４１６は、クロック発生回路４２０によって発生するクロックに同期して、第２の半導体記憶素子６にプログラムシーケンスを出力するように内部の回路を動作させる。以下に、転送制御マシーン４１６の動作を詳細に説明する。
【００２６】
１）アドレス生成回路４０４に、プログラムコマンドアドレス４８（ＲＯＭ＿ＡＤＤ）をアドレスバスに出力するよう命令する。同時に、転送制御信号生成回路４１４に、チップイネーブルのコントロール信号（ＲＯＭ＿ＣＥ＃（Ｏ））を第２の半導体記憶素子６に出力するよう命令する。また、入出力バッファおよびラッチ４１８にプログラムコマンド５０（ＲＯＭ＿Ｄａｔａ）をデータバスに出力するよう命令する。同時に、転送制御信号生成回路４１４に、書き込みのコントロール信号（ＲＯＭ＿ＷＥ＃）を第２の半導体記憶素子６に出力するよう命令する。
２）１）と同時に、転送レジスタ４１９に記憶された転送元アドレスに従って、メモリセル４０８に対する読み出し動作を実施し、その結果、読み出されたデータ５４を入出力バッファおよびラッチ４１８に格納する。このとき、出力制御回路４１２は、転送制御マシーン４１６の指示によりメモリセル４０８からデータを読み出し、そのデータを、入出力バッファおよびラッチ４１８に出力する。３）次に、転送レジスタ４１９に記憶された転送先アドレスに従って、アドレス生成回路４０４に、その転送先アドレス５２（ＲＯＭ＿ＡＤＤ）をアドレスバスに出力するよう命令し、一方、入出力バッファおよびラッチ４１８に、ラッチされたデータ５４（ＲＯＭ＿Ｄａｔａ）をデータバスに出力させる。また、転送制御信号生成回路４１４に、チップイネーブルのコントロール信号および書き込みのコントロール信号を第２の半導体記憶素子６に出力するよう命令する。
４）次に、転送レジスタ４１９に記憶されたデータ転送量に従って、メモリセル４０８のアドレスをインクリメントしながら、データ５４を順次読み出して入出力バッファおよびラッチ４１８に格納し、データバスに出力する。同時に、そのデータ転送量に従って、第２の半導体記憶素子６の書き込みアドレス５２を順次インクリメントしながらアドレスバスに出力する。また、転送制御信号生成回路４１４に、チップイネーブルのコントロール信号（ＲＯＭ＿ＣＥ＃（Ｏ））および書き込みのコントロール信号（ＲＯＭ＿ＷＥ＃）を第２の半導体記憶素子６に出力するよう命令する。
【００２７】
第２の半導体記憶素子６のコマンドユーザインタフェース６１４は、ＣＥ＃（Ｉ）端子およびＷＥ＃（Ｉ）端子を介して、アサートされた信号を受け取る。また、アドレスデコーダ６０２は、アドレスバスからアドレスデータを取得し、入出力バッファ６１８は、データバスからデータを取得する。その取得されたデータ５４は、メモリセル６０８における指定されたアドレス５２に書き込まれる。この間、転送制御マシーン４１６が直接データ転送を制御し、ＣＰＵ２は、第１の半導体記憶素子４から出力されるＲＯＭ＿Ｒ／Ｂ＃信号をモニタするのみである。
【００２８】
ここで、ＣＰＵ２が、何らかの要因でメモリバス（ＣＰＵ２と半導体記憶素子４，６とを接続するバス）を使用したい場合、コントロールバスの第５の信号線に出力するＲＥＱ＃（リクエスト）信号をアサートして、第１の半導体記憶素子４に割り込みを与えることができる（ステップＳ１４）。第１の半導体記憶素子４は、ＩＮＴ＃端子にアサートされた信号が入力されると、直接データ転送を中断する。つまり、転送制御マシーン４１６は、ユーザインタフェース４１４に、アサートされたＲＥＱ＃信号が入力されると、現在のサイクル動作が終了した後、一旦サスペンド状態になる。これにより、メモリバスは第１の半導体記憶素子４のシーケンサによる直接データ転送から開放される。例えば、図６のタイミングチャートに示されるように、ＣＰＵ２は、直接データ転送を中断して、データを第１の半導体記憶素子４に格納する（ステップＳ１６）ことができる。ここで、ＣＰＵ２のアドレス信号生成部２０６は、アドレスバスに、データを書き込む第１の半導体記憶素子４のアドレス５６（Ｃｏｎｔ＿ＡＤＤ信号）を出力し、コントロールバスの第１の信号線に出力されるＣｏｎｔ＿ＣＳｍ＃信号をアサートする。さらに、ＣＰＵ２は、データバスに、所定のデータ５８（Ｃｏｎｔ＿Ｄａｔａ信号）を出力し、コントロールバスの第３の信号線に出力するＣｏｎｔ＿ＷＥ＃信号をアサートする。第１の半導体記憶素子４のコマンドユーザインタフェース４１４は、ＣＥ＃（Ｉ）端子およびＷＥ＃（Ｉ／Ｏ）端子を介して、アサートされた信号を受け取る。また、アドレスデコーダ４０２は、アドレスバスからアドレスデータを取得し、入出力バッファ４１８は、データバスからデータを取得する。取得されたデータ５８は、メモリセル４０８における指定されたアドレス５６に書き込まれる。
【００２９】
ＣＰＵ２が、第１の半導体記憶素子４へのデータ格納後に、ＲＥＱ＃信号をディアサートする（ステップＳ１８）と、図６に示されるように、直接データ転送が、中断されたところから再び開始される。つまり、転送制御マシーン４１６は、ユーザインタフェース４１４に、ディアサートされたＲＥＱ＃信号が入力されると、次のサイクル動作から再び転送命令を実行する。データ転送量で指示された分の直接データ転送が終了すると、転送制御マシーン４１６が停止する。転送制御信号生成回路４１４は、転送制御マシーン４１６の停止を検知して、ＣＰＵ２に「Ｈｉｇｈ」レベル（高レベル：レディ状態）のＲＯＭ＿Ｒ／Ｂ＃信号を出力する。ＣＰＵ２は、第１の半導体記憶素子４から、高レベルのＲＯＭ＿Ｒ／Ｂ＃信号を受け取って（ステップＳ２０）、第１の半導体記憶素子４が直接データ転送を終了したことを検知する。
【００３０】
本実施の形態による半導体記憶装置によれば、半導体記憶素子間の直接データ転送中にもＣＰＵ２による割り込み信号が有効であり、メモリバスを開放することができる。よって、リアルタイムオペレーティングシステム（ＲＴＯＳ）を搭載したシステムにおける優先順位をつけたタスクを速やかに実行できる。
【００３１】
また、本実施の形態による半導体記憶装置において、シーケンサ１０（転送制御マシーン４１６）が、第１の半導体記憶素子４から第２の半導体記憶素子６への直接データ転送を制御する間、ＣＰＵ２は、そのＩｎ端子に入力されるＲＯＭ＿Ｒ／Ｂ＃信号をモニタするのみでよい。よって、データ転送におけるＣＰＵ２の負荷を低減できる。また、その結果として、半導体記憶素子システムのパフォーマンスを向上させることができる。
【００３２】
また、本実施の形態による半導体記憶装置において、第１の半導体記憶素子４のシーケンサ１０を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、シーケンサを有しない半導体記憶素子と比較したときのダイペナルティを、シーケンサ等の制御回路を搭載した他の素子に比べて小さくすることができる。また、第１の半導体記憶素子４のシーケンサ１０を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、製造コストを低減できる。
【００３３】
なお、本実施の形態による半導体記憶装置において、ＣＰＵ２は、シーケンサ１０が第２の半導体記憶素子６にデータ５２を転送している途中で割り込み信号１２（Ｃｏｎｔ＿ＲＥＱ＃信号）をアサートしたが、データ転送量４６を書き込んだ直後から、第１の半導体記憶素子４から高レベルのＲＯＭ＿Ｒ／Ｂ＃信号を受け取るまでの任意の時点で、Ｃｏｎｔ＿ＲＥＱ＃信号をアサートして、メモリバスを開放することができる。
【００３４】
なお、本実施の形態による半導体記憶装置においては、半導体記憶素子４，６とのデータの書き込みおよび読み出しを制御する半導体記憶素子コントローラ８は、ＣＰＵ２に内蔵されているが、ＣＰＵ２とは別個に、すなわち、チップセット（半導体チップ群）の形で、ＣＰＵ２と半導体記憶素子４，６とに相互に接続されて設置されてもよい。
【００３５】
実施の形態２．
図７は、本発明の実施の形態２による半導体記憶装置の構成を示すブロック図である。図７の半導体記憶装置は、実施の形態１による半導体記憶装置に、新たに、第３の半導体記憶素子１４および第４の半導体記憶素子１６が追加されて構成される。このシステムは、直接データ転送を行う複数の半導体記憶素子４，１４を含む。以下に、第１の半導体記憶素子４から第２の半導体記憶素子６への直接データ転送、および、第３の半導体記憶素子１４から第４の半導体記憶素子１６への直接データ転送を同時に行う半導体記憶装置の構成および動作を説明する。
【００３６】
第３の半導体記憶素子１４は、制御装置から直接データ転送用のコマンドによって制御される半導体記憶素子である。また、第３の半導体記憶素子１４は、第３の半導体記憶素子１４から第４の半導体記憶素子１６への直接データ転送を制御するシーケンサ１８を備える。ＣＰＵ２は、システムバスによって、第１の半導体記憶素子４、第２の半導体記憶素子６、第３の半導体記憶素子１４および第４の半導体記憶素子１６と相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。ＣＰＵ２、第１の半導体記憶素子４、第２の半導体記憶素子６、第３の半導体記憶素子１４および第４の半導体記憶素子１６は、システムバスを介して相互に信号の入出力を行う。図４における矢印は、それら構成要素間で可能な信号の入出力を示している。特に、ＣＰＵ２は、第１の半導体記憶素子４および第３の半導体記憶素子１４に対し、それぞれ、割り込み信号１２および割り込み信号２０を出力し、直接データ転送処理の中断を指示できる。
【００３７】
さらに詳しく説明すると、アドレスバスは、ＣＰＵ２、第１の半導体記憶素子４、第２の半導体記憶素子６、第３の半導体記憶素子１４および第４の半導体記憶素子１６のアドレス端子（それぞれ、Ａｄｄｒｅｓｓ端子、ＡＤＤ（Ｉ／Ｏ）端子、ＡＤＤ（Ｉ）端子、ＡＤＤ（Ｉ／Ｏ）端子およびＡＤＤ（Ｉ）端子）が接続された、５つの構成要素に共通のバスである。データバスは、ＣＰＵ２、第１の半導体記憶素子４、第２の半導体記憶素子６、第３の半導体記憶素子１４および第４の半導体記憶素子１６のデータ端子（ＣＰＵ２のデータ端子はＤａｔａ端子、それ以外の半導体記憶素子のデータ端子は、Ｄａｔａ（Ｉ／Ｏ）端子）が接続された、５つの構成要素に共通のバスである。ＣＰＵ２、第１の半導体記憶素子４、第２の半導体記憶素子６、第３の半導体記憶素子１４および第４の半導体記憶素子１６は、相互間におけるアドレス信号およびデータ信号の入出力を、それぞれ、アドレスバスおよびデータバスを介して行う。
【００３８】
コントロールバスは、ＣＰＵ２のＣＳ０＃（Ｏ）端子および第２の半導体記憶素子６のＣＥ＃（Ｉ）端子を接続する第１の信号線と、ＣＰＵ２のＣＳ１＃（Ｏ）端子および第１の半導体記憶素子４のＣＥ＃（Ｉ）端子を接続する第２の信号線と、ＣＰＵ２のＣＳ２＃（Ｏ）端子および第４の半導体記憶素子１６のＣＥ＃（Ｉ）端子を接続する第３の信号線と、ＣＰＵ２のＣＳ３＃（Ｏ）端子および第３の半導体記憶素子１４のＣＥ＃（Ｉ）端子を接続する第４の信号線と、ＣＰＵ２のＷＥ＃（Ｏ）端子、第１の半導体記憶素子４のＷＥ＃（Ｉ／Ｏ）端子、第２の半導体記憶素子６のＷＥ＃（Ｉ）端子、第３の半導体記憶素子１４のＷＥ＃（Ｉ／Ｏ）端子および第４の半導体記憶素子１６のＷＥ＃（Ｉ）端子を接続する第５の信号線と、ＣＰＵ２のＯＥ＃（Ｏ）端子、第１の半導体記憶素子４のＯＥ＃（Ｉ／Ｏ）端子、第２の半導体記憶素子６のＯＥ＃（Ｉ）端子、第３の半導体記憶素子１４のＯＥ＃（Ｉ／Ｏ）端子および第４の半導体記憶素子１６のＯＥ＃（Ｉ）端子を接続する第６の信号線を含む。コントロールバスは、さらに、直接データ転送に用いるバスを含み、それらは、ＣＰＵ２のＲＥＱ＿Ａ＃端子および第１の半導体記憶素子４のＩＮＴ＃端子を接続する第７の信号線と、第１の半導体記憶素子４のＲ／Ｂ＃端子とＣＰＵ２のＩｎ＿Ａ端子とを接続する第８の信号線と、ＣＰＵ２のＲＥＱ＿Ｃ＃端子および第３の半導体記憶素子１４のＩＮＴ＃端子を接続する第９の信号線と、第３の半導体記憶素子１４のＲ／Ｂ＃端子およびＣＰＵ２のＩｎ＿Ｃ端子を接続する第１０の信号線である。
【００３９】
第３の半導体記憶素子１４および第４の半導体記憶素子１６の内部構成は、それぞれ、第１の半導体記憶素子４（図３）および第２の半導体記憶素子６（図４）と同一である。また、ＣＰＵ２の内部構成については、コントロール信号生成部２０８（図２）が、ＣＳ０＃（Ｏ）端子、ＣＳ１＃（Ｏ）端子、ＣＳ２＃（Ｏ）端子、ＣＳ３＃（Ｏ）端子、ＷＥ＃（Ｏ）端子、および、ＯＥ＃（Ｏ）端子を介してコントロールバスに接続され、データ転送制御信号生成部２１０が、ＲＥＱ＿Ａ＃端子、ＲＥＱ＿Ｃ＃端子、Ｉｎ＿Ａ端子、および、Ｉｎ＿Ｃ端子を介してコントロールバスに接続されることを除いては、実施の形態１で説明したＣＰＵ２の内部構成と同一である。
【００４０】
次に、図８および図９を用いて、第１の半導体記憶素子４から第２の半導体記憶素子６へのデータ転送、および、第３の半導体記憶素子１４から第４の半導体記憶素子１６へのデータ転送を同時に行う場合の半導体記憶装置の動作について説明する。図８は、データ転送時のＣＰＵ２による制御を示すフローチャートである。また、図９は、半導体記憶装置のデータ転送動作を説明するタイミングチャートである。この半導体記憶装置において、メモリバスは共通であり、データ転送を一度に行うとデータの衝突がおきるため、ＣＰＵ２は、割り込み信号１２および割り込み信号２０を用いて、それぞれ、第１の半導体記憶素子４および第３の半導体記憶素子１４の動作を制御する。
【００４１】
ＣＰＵ２のデータ転送制御信号生成部２１０は、まず、コントロールバスの第７の信号線に出力するＣｏｎｔ＿ＲＥＱ＿Ａ＃信号をディアサートし、第９の信号線に出力するＣｏｎｔ＿ＲＥＱ＿Ｃ＃信号をアサートする（ステップＳ４０）。その後、ＣＰＵ２は、第１の半導体記憶素子４のシーケンサ制御用レジスタ空間（転送制御マシーン４１６内に内蔵された転送レジスタ４１９）に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む（ステップＳ４２）。このときのＣＰＵ２および第１の半導体記憶素子４の動作は、実施の形態１に説明した動作と同一である。
【００４２】
第１の半導体記憶素子４におけるコマンドユーザインタフェース４１４は、コントロールバスから、アサートされたＣｏｎｔ＿ＣＳ１＃信号およびＣｏｎｔ＿ＷＥ＃信号を受け取る。また、アドレスデコーダ４０２は、アドレスバスからアドレスデータ（コマンドアドレス６０等）（Ｃｏｎｔ＿ＡＤＤ）を取得し、入出力バッファおよびラッチ４１８は、データバスからデータ（データ転送コマンド６８等）（Ｃｏｎｔ＿Ｄａｔａ）を取得する。取得されたデータは、アドレスデータによって指定された転送制御マシーン４１６のレジスタ空間に書き込まれる。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ４１６に順次書き込まれる。
【００４３】
転送制御マシーン４１６は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル（有効）となる。転送制御信号生成回路４１４は、転送制御マシーン４１６が動作したことを検知すると、コントロールバスの第８の信号線を介して、低レベル（ビジー状態）のＡ＿Ｒ／Ｂ＃信号をＣＰＵ２に出力する。ＣＰＵ２のデータ転送制御信号生成部２１０は、コントロールバスから低レベルのＡ＿Ｒ／Ｂ＃信号を受け取って（ステップＳ４４）、第１の半導体記憶素子４が直接データ転送を開始した（データ転送中である）ことを検知する。
【００４４】
次に、ＣＰＵ２のデータ転送制御信号生成部２１０は、コントロールバスの第７の信号線に出力するＣｏｎｔ＿ＲＥＱ＿Ａ＃信号をアサートし、第９の信号線に出力するＣｏｎｔ＿ＲＥＱ＿Ｃ＃信号をディアサートする（ステップＳ４６）。その後、ＣＰＵ２は、第３の半導体記憶素子１４のシーケンサ制御用レジスタ空間（転送制御マシーン４１６内に内蔵された転送レジスタ４１９）に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む（ステップＳ４８）。このとき、このときのＣＰＵ２および第３の半導体記憶素子１４の動作は、実施の形態１に説明した動作と同一である。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ４１６に順次書き込まれる。
【００４５】
第３の半導体記憶素子１４におけるコマンドユーザインタフェース４１４は、コントロールバスから、アサートされたＣｏｎｔ＿ＣＳ３＃信号およびＣｏｎｔ＿ＷＥ＃信号を受け取る。また、アドレスデコーダ４０２は、アドレスバスからアドレスデータ（コマンドアドレス７６等）（Ｃｏｎｔ＿ＡＤＤ）を取得し、入出力バッファおよびラッチ４１８は、データバスからデータ（データ転送コマンド８４等）（Ｃｏｎｔ＿Ｄａｔａ）を取得する。取得されたデータは、転送制御マシーン４１６に内蔵された転送レジスタ４１９において、アドレスデータにより指定されたアドレスに書き込まれる。
【００４６】
転送制御マシーン４１６は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル（有効）となる。転送制御信号生成回路４１４は、転送制御マシーン４１６が動作したことを検知すると、コントロールバスの第１０の信号線に低レベル（ビジー状態）のＣ＿Ｒ／Ｂ＃信号をＣＰＵ２に出力する。ＣＰＵ２のデータ転送制御信号生成部２１０は、コントロールバスから低レベルのＣ＿Ｒ／Ｂ＃信号を受け取って（ステップＳ５０）、第３の半導体記憶素子１４が直接データ転送を開始した（データ転送中である）ことを検知する。
【００４７】
次に、ＣＰＵ２は、コントロールバスの第７の信号線に出力するＣｏｎｔ＿ＲＥＱ＿Ａ＃信号をディアサートし、第９の信号線に出力するＣｏｎｔ＿ＲＥＱ＿Ｃ＃信号をアサートする（ステップＳ５２）。
【００４８】
次に、第１の半導体記憶素子４の転送制御マシーン４１６は、クロック発生回路４２０によって発生するクロックに同期して、第２の半導体記憶素子６にプログラムシーケンスを出力するように内部の回路を動作させる。このときの転送制御マシーン４１６の動作は、実施の形態１に説明したものと同一である（図９において、第１の半導体記憶素子４のＣＥ＃（Ｏ）端子およびＷＥ＃（Ｉ／Ｏ）端子から出力される信号は、それぞれ、Ａ＿ＣＥ＃（Ｏ）およびＡ＿ＷＥ＃である。また、第１の半導体記憶素子４からアドレスバスおよびデータバスに出力される信号は、それぞれ、Ａ＿ＡＤＤ（９２）およびＡ＿Ｄａｔａ（９４）である。）。
【００４９】
データ転送量で指示された分の直接データ転送が終了すると、第１の半導体記憶素子４の転送制御マシーン４１６（シーケンサ１０）が停止する。第１の半導体記憶素子４の転送制御信号生成回路４１４は、転送制御マシーン４１６の停止を検知して、コントロールバスの第８の信号線に出力するＡ＿Ｒ／Ｂ＃信号を高レベル（レディ状態）にする。ＣＰＵ２は、コントロールバスを介して、第１の半導体記憶素子４から、高レベルのＡ＿Ｒ／Ｂ＃信号を受け取り（ステップＳ５４）、第１の半導体記憶素子４が直接データ転送を終了したことを検知する。
【００５０】
ＣＰＵ２は、第１の半導体記憶素子４が直接データ転送を終了したことを検知すると、第９の信号線に出力するＣｏｎｔ＿ＲＥＱ＿Ｃ＃信号をディアサートする（ステップＳ５６）。
【００５１】
次に、第３の半導体記憶素子１４の転送制御マシーン４１６は、クロック発生回路４２０によって発生するクロックに同期して、第４の半導体記憶素子１６にプログラムシーケンスを出力するように内部の回路を動作させる。このときの転送制御マシーン４１６の動作は、実施の形態１に説明したものと同一である（図９において、第３の半導体記憶素子１４のＣＥ＃（Ｏ）端子およびＷＥ＃（Ｉ／Ｏ）端子から出力される信号は、それぞれ、Ｃ＿ＣＥ＃（Ｏ）およびＣ＿ＷＥ＃である。また、第３の半導体記憶素子１４からアドレスバスおよびデータバスに出力される信号は、それぞれ、Ｃ＿ＡＤＤ（９６）およびＣ＿Ｄａｔａ（９８）である。）。
【００５２】
データ転送量で指示された分の直接データ転送が終了すると、第３の半導体記憶素子１４の転送制御マシーン４１６（シーケンサ１８）が停止する。第３の半導体記憶素子１４の転送制御信号生成回路４１４は、転送制御マシーン４１６の停止を検知して、コントロールバスの第１０の信号線に出力するＣ＿Ｒ／Ｂ＃信号を高レベル（レディ状態）にする。ＣＰＵ２は、コントロールバスを介して、第３の半導体記憶素子１４から、高レベルのＣ＿Ｒ／Ｂ＃信号を受け取り（ステップＳ５８）、第３の半導体記憶素子１４が直接データ転送を終了したことを検知する。
【００５３】
本実施の形態による半導体記憶装置において、ＣＰＵ２は、第１の半導体記憶素子４および第３の半導体記憶素子１４の各々に対して、直接データ転送の中断を指示する信号を出力できる。これにより、一方の直接データ転送が実行途中であっても、必要に応じて、その直接データ転送を中断させ、他方の直接データ転送を実行することが可能となる。つまり、複数の組の半導体記憶素子間のデータ転送を同時に行うことができる。これは、ＲＴＯＳを搭載したシステムにおける優先順位をつけたタスクの速やかな実行を可能にする。
【００５４】
本実施の形態による半導体記憶装置において、第１の半導体記憶素子４から第２の半導体記憶素子６への直接データ転送および半導体記憶素子１４から半導体記憶素子１６への直接データ転送は、それぞれ、シーケンサ１０およびシーケンサ１８がその制御を行う。それらの直接データ転送の間、ＣＰＵ２は、Ｉｎ＿Ａ端子およびＩｎ＿Ｃ端子に入力されるレディ／ビジー信号（Ａ＿Ｒ／Ｂ＃、Ｃ＿Ｒ／Ｂ＃）をモニタするのみである。これにより、データ転送におけるＣＰＵ２の負荷を低減できる。また、その結果として、半導体記憶装置のパフォーマンスを向上させることができる。
【００５５】
また、本実施の形態による半導体記憶装置において、第１の半導体記憶素子４のシーケンサ１０および第３の半導体記憶素子１４のシーケンサ１８を、それぞれ、第２の半導体記憶素子６および第４の半導体記憶素子１６のみに対応するハードロジックとすることにより、シーケンサを有しない半導体記憶素子と比較したときのダイペナルティを、シーケンサ等の制御装置を搭載した他の素子に比べて小さくすることができる。また、第１の半導体記憶素子４のシーケンサ１０および第３の半導体記憶素子１４のシーケンサ１８を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、製造コストを低減できる。
【００５６】
なお、本実施の形態による半導体記憶装置において、ＣＰＵ２は、データ転送量７４を書き込んだ直後に、Ｃｏｎｔ＿ＲＥＱ＿Ａ＃信号をアサート（Ｃｏｎｔ＿ＲＥＱ＿Ｃ＃信号をディアサート）したが、シーケンサ１０がデータ９４を転送している途中で、Ｃｏｎｔ＿ＲＥＱ＿Ａ＃信号をアサート（Ｃｏｎｔ＿ＲＥＱ＿Ｃ＃信号をディアサート）してもよい。
【００５７】
また、ＣＰＵ２は、データ転送量９０を書き込んだ直後に、Ｃｏｎｔ＿ＲＥＱ＿Ｃ＃信号をアサート（Ｃｏｎｔ＿ＲＥＱ＿Ａ＃信号をディアサート）したが、シーケンサ１８がデータ９８を転送している途中で、Ｃｏｎｔ＿ＲＥＱ＿Ｃ＃信号をアサート（Ｃｏｎｔ＿ＲＥＱ＿Ａ＃信号をディアサート）してもよい。
【００５８】
さらに、ＣＰＵ２は、第１の半導体記憶素子４から高レベルのＡ＿Ｒ／Ｂ＃信号を受け取った後で、Ｃｏｎｔ＿ＲＥＱ＿Ａ＃信号をアサート（Ｃｏｎｔ＿ＲＥＱ＿Ｃ＃信号をディアサート）したが、第１の半導体記憶素子４がデータ９４を転送している途中に、Ｃｏｎｔ＿ＲＥＱ＿Ａ＃信号をアサート（Ｃｏｎｔ＿ＲＥＱ＿Ｃ＃信号をディアサート）してもよい。
【００５９】
なお、本実施の形態による半導体記憶装置においては、半導体記憶素子間のデータ転送を制御する半導体記憶素子コントローラ８は、ＣＰＵ２に内蔵されているが、ＣＰＵ２とは別個に、すなわち、チップセット（半導体チップ群）の形で、ＣＰＵ２と半導体記憶素子４，６，１４，１６に相互に接続されて設置されてもよい。
【００６０】
本発明による半導体記憶装置は、データ転送量が多いシステムやデータ転送のパフォーマンスをより高めることが望まれる種々のシステムに応用できる。
【００６１】
【発明の効果】
本発明による半導体記憶装置によれば、複数の半導体記憶素子と、それら複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、それら複数の半導体記憶素子および制御装置が接続されるシステムバスとを備え、複数の半導体記憶素子は、制御装置から直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含み、システムバスは、チップイネーブル信号を、データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含み、データ転送元半導体記憶素子は、直接データ転送を制御する内部制御手段を備え、内部制御手段は、制御装置からシステムバスを介して直接データ転送の開始コマンドを含む指示を受け取ると、システムバスを介して、直接データ転送中であることを示す信号を制御装置に出力し、チップイネーブル信号を、システムバスを介して、データ転送先半導体記憶素子に送り、上記の指示に基づいて、データ転送元半導体記憶素子からデータ転送先半導体記憶素子への直接データ転送を制御するので、半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【００６２】
本発明による半導体記憶装置によれば、上記の内部制御手段は、直接データ転送の指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、レジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、システムバスに出力するアドレス生成回路と、直接データ転送中であるか否かを示す信号、転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、システムバスに出力する転送制御信号生成回路と、レジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより転送元半導体記憶素子から読み出したデータを、システムバスに出力する出力制御回路と、クロック信号に応じてアドレス生成回路と出力制御回路を制御する転送制御回路とを備えるので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【００６３】
本発明による半導体記憶装置によれば、上記の制御装置は、中央演算処理装置またはチップセットを含むので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【００６４】
本発明による半導体記憶装置によれば、上記の転送制御信号生成回路は、さらに、直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、システムバスに出力するので、制御装置は、直接データ転送中に、その終了を示す信号が出力されるのを待つのみでよく、データ転送における制御装置の負荷低減を実現できる。
【００６５】
本発明による半導体記憶装置によれば、上記の制御装置は、複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成でき、データ転送元半導体記憶素子は、直接データ転送の中断を指示する信号を入力する割り込み端子を備え、内部制御手段は、制御装置から直接データ転送の中断の指示を受け取ると直接データ転送を中断するので、ＲＴＯＳを搭載したシステムにおける優先順位をつけたタスクを速やかに実行できる。
【００６６】
本発明による半導体記憶装置によれば、複数の半導体記憶素子は、複数のデータ転送元半導体記憶素子を含み、システムバスは、制御装置と各々のデータ伝送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバスを含み、かつ、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含むので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【図面の簡単な説明】
【図１】本発明による半導体記憶装置の構成を示すブロック図。
【図２】ＣＰＵの内部構成を示すブロック図。
【図３】データ転送元半導体記憶素子の内部構成を示すブロック図。
【図４】データ転送先半導体記憶素子の内部構成を示すブロック図。
【図５】図１の半導体記憶装置における一時中断を含むデータ転送時のＣＰＵによる制御を示すフローチャートの図。
【図６】図１の半導体記憶装置における一時中断を含むデータ転送動作を説明するタイミングチャートの図。
【図７】本発明による別の半導体記憶装置の構成を示すブロック図。
【図８】図７の半導体記憶装置におけるデータ転送時のＣＰＵによる制御を示すフローチャートの図。
【図９】図７の半導体記憶装置におけるデータ転送動作を説明するタイミングチャートの図。
【図１０】従来の半導体記憶装置の構成を示すブロック図。
【符号の説明】
２　ＣＰＵ、　４　第１の半導体記憶素子、　６　第２の半導体記憶素子、　８　半導体記憶素子コントローラ、　１０　シーケンサ、　１２　割り込み信号
【図１】
2004021713.tif 000003
【図２】
2004021713.tif 000004
【図３】
2004021713.tif 000005
【図４】
2004021713.tif 000006
【図５】
2004021713.tif 000007
【図６】
2004021713.tif 000008
【図７】
2004021713.tif 000009
【図８】
2004021713.tif 000010
【図９】
2004021713.tif 000011
【図１０】
2004021713.tif 000012