JP2004021713A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2004021713A JP2004021713A JP2002177329A JP2002177329A JP2004021713A JP 2004021713 A JP2004021713 A JP 2004021713A JP 2002177329 A JP2002177329 A JP 2002177329A JP 2002177329 A JP2002177329 A JP 2002177329A JP 2004021713 A JP2004021713 A JP 2004021713A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- semiconductor memory
- signal
- semiconductor storage
- transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Static Random-Access Memory (AREA)
- Bus Control (AREA)
Abstract
【課題】データ転送を制御する制御装置の負荷を低減しつつ、リアルタイム処理が要求されるシステムにも対応可能な半導体記憶装置を提供する。
【解決手段】本発明による半導体記憶装置は、複数の半導体記憶素子(4,6)と、制御装置(2)と、複数の半導体記憶素子及び制御装置が接続されるシステムバスとを備える。複数の半導体記憶素子のうちデータ転送元半導体記憶素子(4)は、内部制御手段(10)を備える。内部制御手段(10)は、制御装置(2)からシステムバスを介して直接データ転送の開始コマンドを含む指示を受け取ると、直接データ転送中であることを示す信号をシステムバスを介して制御装置(2)に出力し、チップイネーブル信号を、システムバスを介してデータ転送先半導体記憶素子(6)に送り、上記の指示に基づいて、転送元半導体記憶素子(4)から転送先半導体記憶素子(6)への直接データ転送を制御する。
【選択図】 図1
【解決手段】本発明による半導体記憶装置は、複数の半導体記憶素子(4,6)と、制御装置(2)と、複数の半導体記憶素子及び制御装置が接続されるシステムバスとを備える。複数の半導体記憶素子のうちデータ転送元半導体記憶素子(4)は、内部制御手段(10)を備える。内部制御手段(10)は、制御装置(2)からシステムバスを介して直接データ転送の開始コマンドを含む指示を受け取ると、直接データ転送中であることを示す信号をシステムバスを介して制御装置(2)に出力し、チップイネーブル信号を、システムバスを介してデータ転送先半導体記憶素子(6)に送り、上記の指示に基づいて、転送元半導体記憶素子(4)から転送先半導体記憶素子(6)への直接データ転送を制御する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、バスに接続された複数の半導体記憶素子の間でデータ転送が行われる半導体記憶装置に関する。
【0002】
【従来の技術】
従来、半導体記憶装置において、バスに接続された複数の半導体記憶素子間のデータ転送には制御装置が介在していた。図10は、従来の半導体記憶装置を示すブロック図である。図10において、半導体記憶装置は、中央演算処理装置(CPU)102、第1の半導体記憶素子104および第2の半導体記憶素子106を備える。また、CPU102は、その半導体記憶素子間のデータ転送を制御する半導体記憶素子コントローラ108と、バッファRAM(ランダムアクセスメモリ)110とを備える。CPU102、第1の半導体記憶素子104および第2の半導体記憶素子106は、システムバスによって相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。アドレスバスおよびデータバスは、それぞれ、CPU102、第1の半導体記憶素子104および第2の半導体記憶素子106が接続された3つの構成要素に共通のバスである。CPU102、第1の半導体記憶素子104および第2の半導体記憶素子106は、上述のアドレスバスおよびデータバスを介して、それぞれ、相互にアドレス信号およびデータ信号の入出力を行う。また、コントロールバスは、CPU102から第1の半導体記憶素子104に制御信号を出力する信号線と、CPU102から第2の半導体記憶素子106に制御信号を出力する信号線と、第1の半導体記憶素子104からCPU102にレディ/ビジー信号を出力する信号線とを含む。図中の矢印は、それら構成要素間において可能な信号の入出力を示している。
【0003】
上述の半導体記憶装置において、第1の半導体記憶素子104に格納されたデータを第2の半導体記憶素子106に転送する場合、もし、データの読み出しや書き込みに関する制御方法が、第1の半導体記憶素子104と第2の半導体記憶素子106との間で異なるなら、または、その制御方法が同じであっても複雑なら、半導体記憶素子コントローラ108は、まず、第1の半導体記憶素子104に格納されたデータを、データバスを介して、一旦バッファRAM110に読み出し、続いて、そのデータを、バッファRAM110から第2の半導体記憶素子106に転送させる(図10における点線を参照)。このとき、CPU102(半導体記憶素子コントローラ108)は、第1の半導体記憶素子104からバッファRAM110にデータを格納する処理と、そのデータを第2の半導体記憶素子106に転送する処理の2つの処理を制御しなければならず、CPU102における負荷が大きかった。また、これにより、半導体記憶素子システムのパフォーマンスが低下するという問題があった。
【0004】
例えば、特開昭61−26164号公開公報は、各々がコントローラを介してシステムバスに接続された複数の機器間においてデータ転送を行う場合の制御方法を開示している。システムバスに接続されたCPUが転送元機器Aを制御する転送元コントローラAにデータ転送の指示を与えると、コントローラAは、機器AからコントローラA内のバッファメモリに一旦データを格納してから、そのデータをデータ線に出力すると共に、転送先機器Bに対応する転送先コントローラBに、データの書き込み指示を出力する。コントローラBは、その書き込み指示に従って、データ線上のデータをコントローラB内のバッファメモリに書き込み、そのデータを機器Bに転送する。以上のデータ転送制御方法によれば、CPUがデータ転送の指示を与えた後は、コントローラAがデータ転送処理を行うので、CPUの負荷を低減できる。
【0005】
【発明が解決しようとする課題】
しかし、特開昭61−26164号公開公報に開示された制御方法は、図10に示される半導体記憶装置に適用する場合には、いまだ改善の余地がある。上述の制御方法は、CPUがデータ転送の指示を出力してから機器間のデータ転送が完了するまで一定の時間を要するので、リアルタイム処理を必要とするシステムへの適用は困難であるという問題があった。
【0006】
また、機器(記憶装置)を制御するコントローラ(制御装置)は、その規模をより小さくすることが望まれている。
【0007】
本発明の目的は、半導体記憶素子間でデータ転送を行う記憶装置であって、半導体記憶素子の動作を制御する制御装置の負荷を低減しつつ、リアルタイム処理が要求されるシステムにも対応可能な半導体記憶装置を提供することである。また、本発明の別の目的は、半導体記憶素子の動作を制御する制御装置の負荷を低減しつつ、その規模が小さい半導体記憶装置を提供することである。
【0008】
【課題を解決するための手段】
本発明に係る半導体記憶装置は、複数の半導体記憶素子と、前記の複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、前記の複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、前記の複数の半導体記憶素子および前記の制御装置が接続されるシステムバスとを備える。前記の複数の半導体記憶素子は、前記の制御装置から前記の直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含む。前記のシステムバスは、チップイネーブル信号を、前記のデータ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含む。前記のデータ転送元半導体記憶素子は、前記の直接データ転送を制御する内部制御手段を備える。前記の内部制御手段は、前記の制御装置から前記のシステムバスを介して直接データ転送の開始コマンドを含む前記の指示を受け取ると、前記のシステムバスを介して、直接データ転送中であることを示す信号を前記の制御装置に出力し、チップイネーブル信号を、前記のシステムバスを介して、前記のデータ転送先半導体記憶素子に送り、前記の指示に基づいて、前記のデータ転送元半導体記憶素子から前記のデータ転送先半導体記憶素子への直接データ転送を制御する。
【0009】
好ましくは、前記の半導体記憶装置において、前記の内部制御手段は、直接データ転送の前記の指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、前記のレジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、前記のシステムバスに出力するアドレス生成回路と、直接データ転送中であるか否かを示す信号、前記のデータ転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、前記のシステムバスに出力する転送制御信号生成回路と、前記のレジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより前記のデータ転送元半導体記憶素子から読み出したデータを、前記のシステムバスに出力する出力制御回路と、クロック信号に応じて前記のアドレス生成回路と前記の出力制御回路を制御する転送制御回路とを備える。
【0010】
好ましくは、前記の半導体記憶装置において、前記の制御装置は、中央演算処理装置またはチップセットを含む。
【0011】
好ましくは、前記の半導体記憶装置において、前記の転送制御信号生成回路は、さらに、前記の直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、前記のシステムバスに出力する。
【0012】
好ましくは、前記の半導体記憶装置において、前記の制御装置は、前記の複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成できる。また、前記のデータ転送元半導体記憶素子は、直接データ転送の中断を指示する前記の信号を入力する割り込み端子を備える。前記の内部制御手段は、前記の制御装置から直接データ転送の中断の前記の指示を受け取ると直接データ転送を中断する。
【0013】
好ましくは、前記の半導体記憶装置において、前記の複数の半導体記憶素子は、複数の前記のデータ転送元半導体記憶素子を含む。また、前記のシステムバスは、前記の制御装置と各々のデータ転送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバス、および、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含む。
【0014】
【発明の実施の形態】
実施の形態1.
以下に、添付の図面を参照して、本発明の実施の形態について説明する。
本発明の実施の形態1による半導体記憶装置は、複数の半導体記憶素子とシステムバスを介してそれら半導体記憶素子を制御する制御装置(中央演算処理装置)とを備える。これらの複数の半導体記憶素子はシステムバスを介して制御装置に並列に接続されていて、制御装置は、これらの半導体記憶素子に対して通常の半導体記憶素子と同様にデータの書き込みと読み出しをおこなう。このデータの書き込みと読み出しは従来の半導体記憶装置と同様なので、説明を省略する。
【0015】
さらに、この半導体記憶装置では、一つの半導体記憶素子(以下、「第1の半導体記憶素子」という。)から他の半導体記憶素子に対して直接にデータ転送が可能である。他の半導体記憶素子は、通常の半導体記憶素子である。これに対して、第1の半導体記憶素子は、半導体記憶素子の間の直接データ転送を制御するハードロジックのシーケンサを内蔵している点が従来の半導体記憶素子と異なる。制御装置が、第1の半導体記憶素子に、他の半導体記憶素子へのデータ転送を開始するように指示すると、第1の半導体記憶素子において、シーケンサは、制御装置に対して直接データ転送を行う状態信号を出力する。これにより、制御装置は、第1の半導体記憶素子によるシステムバスの使用を可能にする。次に、シーケンサは、転送先の半導体記憶素子に対して、チップイネーブル信号を送信する。次に、シーケンサは、制御装置からの指示内容に基づいて、第1の半導体記憶素子に記憶されたデータを他の半導体記憶素子(第2の半導体記憶素子)に転送する。直接データ転送の間、制御装置は、シーケンサが出力する状態信号を検知するのみである。また、この半導体記憶装置では、制御装置は、直接データ転送処理の中断を第1の半導体記憶素子に指示できる。以下に、この半導体記憶装置について詳細に説明する。
【0016】
図1は、本発明の実施の形態1による半導体記憶装置の構成を示すブロック図である。図1において、半導体記憶装置は、中央演算処理装置(CPU)2、第1の半導体記憶素子4および第2の半導体記憶素子6を備える。第1の半導体記憶素子4は、制御装置から直接データ転送用のコマンドによって制御される半導体記憶素子である。CPU2は、半導体記憶素子4,6とのデータの書き込みおよび読み出しを制御する半導体記憶素子コントローラ8を備える。また、第1の半導体記憶素子4は、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送を制御するシーケンサ10を備える。CPU2は、システムバスによって、半導体記憶素子4,6と相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6は、システムバスを介して相互に信号の入出力を行う。図1における矢印は、それら構成要素間で可能な信号の入出力を示している。特に、CPU2は、第1の半導体記憶素子4に対し、コントロールバスを介して割り込み信号12を出力し、直接データ転送処理の中断を指示できる。
【0017】
さらに詳しく説明すると、アドレスバスは、CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6のアドレス端子(それぞれ、Address端子、ADD(I/O)端子およびADD(I)端子)が接続された、3つの構成要素に共通のバスである。データバスは、CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6のデータ端子(それぞれ、Data端子、Data(I/O)端子およびData(I/O)端子)が接続された、3つの構成要素に共通のバスである。CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6は、相互間におけるアドレス信号およびデータ信号の入出力を、それぞれ、アドレスバスおよびデータバスを介して行う。
【0018】
コントロールバスは、CPU2のCSm#(O)端子(「♯」は、低レベルでアクティブであることを示す。)および第1の半導体記憶素子4のCE(チップイネーブル)#(I)端子を接続する第1の信号線と、CPU2のCSn(チップセレクト)#(O)端子および第2の半導体記憶素子6のCE#(I)端子を接続する第2の信号線と、CPU2のWE(ライトイネーブル)#(O)端子、第1の半導体記憶素子4のWE#(I/O)端子および第2の半導体記憶素子6のWE#(I)端子を接続する第3の信号線と、CPU2のOE(アウトプットイネーブル)#(O)端子、第1の半導体記憶素子4のOE#(I/O)端子および第2の半導体記憶素子6のOE#(I)端子を接続する第4の信号線を含む。これらは、従来のコントロールバスと同様である。コントロールバスは、さらに、直接データ転送に用いるバスを含み、それらは、CPU2のREQ(リクエスト)#端子および第1の半導体記憶素子4のINT#端子を接続する第5の信号線と、第1の半導体記憶素子4のR/B(レディ/ビジー)#端子およびCPU2のIn端子を接続する第6の信号線と、第1の半導体記憶素子4のCE#(O)端子および第2の半導体記憶素子6のCE#(I)端子を接続する第7の信号線である。
【0019】
次に、CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6の内部構成を、それぞれ、図2、図3および図4を用いて詳細に説明する。まず、図2を参照すると、CPU2は、半導体記憶素子コントローラ8、内部システムバス202およびCPUコア部204を備える。また、半導体記憶素子コントローラ8は、アドレス信号生成部206、コントロール信号生成部208およびデータバス方向制御部212を備える。これらは従来の半導体記憶素子コントローラと同様である。半導体記憶素子コントローラ8は、さらに、直接データ転送のためのデータ転送制御信号生成部210を備える。CPUコア部204、アドレス信号生成部206、コントロール信号生成部208、データ転送制御信号生成部210、データバス方向制御部212およびその他周辺回路部214は、内部システムバス202に接続される。アドレス信号生成部206は、アドレス信号を生成して、その信号を、Address端子を介してアドレスバスに出力する。コントロール信号生成部208は、コントロール信号を生成して、その信号を、CSn#(O)端子、WE#(O)端子、OE#(O)端子、および、CSm#(O)端子を介してコントロールバスに出力する。データバス方向制御部212は、Data端子を介してデータバスに接続され、データバスにデータを出力し、かつ、データバスからデータを受け取る。直接データ転送の場合、データ転送制御信号生成部210は、REQ#端子を介して、第1の半導体記憶素子4にリクエスト信号(Cont_REQ#)を出力し、かつ、In端子を介して、第1の半導体記憶素子4からレディ/ビジー信号(ROM_R/B#)を受け取る。
【0020】
次に、図3を参照すると、第1の半導体記憶素子4は、アドレスデコーダ402、アドレス生成回路(ラッチおよびカウンタ含む)404、ページバッファ406、メモリセル408、ステータスレジスタ410、マルチプレクサおよび出力制御回路412、コマンドユーザインタフェースおよび転送制御信号生成回路414、ライトステートマシーンおよび転送制御マシーン416、入出力(アイオー)バッファおよびラッチ418、および、クロック発生回路420を備える。図1のシーケンサ10は、転送制御マシーン416に相当する。転送制御マシーン416は、内部に、転送レジスタ419を内蔵する。アドレスデコーダ402は、第1の半導体記憶素子4のADD(I/O)端子を介してアドレスバスからアドレスデータを受け取る。アドレス生成回路404は、そのADD(I/O)端子を介して、アドレスバスにアドレスデータを出力する。コマンドユーザインタフェースおよび転送制御信号生成回路414は、CE#(I)端子、WE#(I/O)端子、OE#(I/O)端子、INT#端子、R/B#端子およびCE#(O)端子を介して、コントロールバスに接続される。入出力バッファおよびラッチ418は、Data(I/O)端子を介してデータバスに接続され、内部に格納されたデータをデータバスに出力する、および、データバスから受け取ったデータを一時的に格納する。次に説明する第2の半導体記憶素子6(図4)と比べると分かるように、第1の半導体記憶素子4は、直接データ転送を行うので、通常の半導体記憶素子6と異なる構成を備えている。
【0021】
図4を参照すると、第2の半導体記憶素子6は、アドレスデコーダ602、ページバッファ606、メモリセル608、ステータスレジスタ610、マルチプレクサ612、コマンドユーザインタフェース614、ライトステートマシーン616、入出力バッファ618およびクロック発生回路620を備える。アドレスデコーダ602は、ADD(I)端子を介して、アドレスバスからアドレスデータを受け取る。コマンドユーザインタフェース614は、CE#(I)端子、OE#(I)端子およびWE#(I)端子を介して、コントロールバスからコントロール信号を受け取る。入出力バッファ618は、Data(I/O)端子を介して、データバスに接続され、内部に格納されたデータをデータバスに出力する、および、データバスからデータを受け取る。第2の半導体記憶素子6の構成は従来の半導体記憶素子と同様である。
【0022】
次に、図5および図6を用いて、第1の半導体記憶素子4から第2の半導体記憶素子6にデータ転送を行う場合の半導体記憶装置の動作について説明する。この半導体記憶装置において、CPU2は、データ転送を一時中断させることができる。図5は、一時中断を含むデータ転送時のCPU2による制御を示すフローチャートである。また、図6は、半導体記憶装置の一時中断を含むデータ転送動作を説明するタイミングチャートである。CPU2は、まず、第1の半導体記憶素子4のシーケンサ制御用レジスタ空間(転送制御マシーン416内に内蔵された転送レジスタ419)に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む(ステップS10)。このとき、CPU2のコントロール信号生成部208は、CSm#(O)端子を介して、第1の半導体記憶素子4へのコントロールバス(第1の信号線)に、アサートしたCont_CSm#信号を出力し、CPU2のアドレス信号生成部206は、アドレスバスに、それら4つのデータを書き込む第1の半導体記憶素子4のレジスタ空間のアドレス(コマンドアドレス32、第2のレジスタアドレス34、第3のレジスタアドレス36および第4のレジスタアドレス38)(Cont_ADD信号)を出力し、CPU2のデータバス方向制御部212は、データバスに、データ転送コマンド40、転送元アドレス42、転送先アドレス44およびデータ転送量46(Cont_Data信号)を出力する。さらに、コントロール信号生成部208は、WE#(O)端子を介して、コントロールバスの第3の信号線に、アサートしたCont_WE#信号を出力する。
【0023】
第1の半導体記憶素子4におけるコマンドユーザインタフェース414は、コントロールバスから、アサートされたCont_CSm#信号およびCont_WE#信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータ(コマンドアドレス32等)を取得し、入出力バッファおよびラッチ418は、データバスからデータ(データ転送コマンド40等)を取得する。取得されたデータは、転送制御マシーン416に内蔵された転送レジスタ419において、アドレスデータにより指定されたアドレスに書き込まれる。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ416に順次書き込まれる。
【0024】
転送制御マシーン416は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル(有効)となる。転送制御信号生成回路414は、転送制御マシーン416が動作したことを検知すると、コントロールバスの第6の信号線を介して「Low」レベル(低レベル:ビジー状態)のROM_R/B#信号をCPU2に出力する。CPU2のデータ転送制御信号生成部210は、コントロールバスから低レベルのROM_R/B#信号を受け取って(ステップS12)、第1の半導体記憶素子4が直接データ転送を開始した(データ転送中である)ことを検知する。
【0025】
次に、転送制御マシーン416は、クロック発生回路420によって発生するクロックに同期して、第2の半導体記憶素子6にプログラムシーケンスを出力するように内部の回路を動作させる。以下に、転送制御マシーン416の動作を詳細に説明する。
【0026】
1)アドレス生成回路404に、プログラムコマンドアドレス48(ROM_ADD)をアドレスバスに出力するよう命令する。同時に、転送制御信号生成回路414に、チップイネーブルのコントロール信号(ROM_CE#(O))を第2の半導体記憶素子6に出力するよう命令する。また、入出力バッファおよびラッチ418にプログラムコマンド50(ROM_Data)をデータバスに出力するよう命令する。同時に、転送制御信号生成回路414に、書き込みのコントロール信号(ROM_WE#)を第2の半導体記憶素子6に出力するよう命令する。
2)1)と同時に、転送レジスタ419に記憶された転送元アドレスに従って、メモリセル408に対する読み出し動作を実施し、その結果、読み出されたデータ54を入出力バッファおよびラッチ418に格納する。このとき、出力制御回路412は、転送制御マシーン416の指示によりメモリセル408からデータを読み出し、そのデータを、入出力バッファおよびラッチ418に出力する。3)次に、転送レジスタ419に記憶された転送先アドレスに従って、アドレス生成回路404に、その転送先アドレス52(ROM_ADD)をアドレスバスに出力するよう命令し、一方、入出力バッファおよびラッチ418に、ラッチされたデータ54(ROM_Data)をデータバスに出力させる。また、転送制御信号生成回路414に、チップイネーブルのコントロール信号および書き込みのコントロール信号を第2の半導体記憶素子6に出力するよう命令する。
4)次に、転送レジスタ419に記憶されたデータ転送量に従って、メモリセル408のアドレスをインクリメントしながら、データ54を順次読み出して入出力バッファおよびラッチ418に格納し、データバスに出力する。同時に、そのデータ転送量に従って、第2の半導体記憶素子6の書き込みアドレス52を順次インクリメントしながらアドレスバスに出力する。また、転送制御信号生成回路414に、チップイネーブルのコントロール信号(ROM_CE#(O))および書き込みのコントロール信号(ROM_WE#)を第2の半導体記憶素子6に出力するよう命令する。
【0027】
第2の半導体記憶素子6のコマンドユーザインタフェース614は、CE#(I)端子およびWE#(I)端子を介して、アサートされた信号を受け取る。また、アドレスデコーダ602は、アドレスバスからアドレスデータを取得し、入出力バッファ618は、データバスからデータを取得する。その取得されたデータ54は、メモリセル608における指定されたアドレス52に書き込まれる。この間、転送制御マシーン416が直接データ転送を制御し、CPU2は、第1の半導体記憶素子4から出力されるROM_R/B#信号をモニタするのみである。
【0028】
ここで、CPU2が、何らかの要因でメモリバス(CPU2と半導体記憶素子4,6とを接続するバス)を使用したい場合、コントロールバスの第5の信号線に出力するREQ#(リクエスト)信号をアサートして、第1の半導体記憶素子4に割り込みを与えることができる(ステップS14)。第1の半導体記憶素子4は、INT#端子にアサートされた信号が入力されると、直接データ転送を中断する。つまり、転送制御マシーン416は、ユーザインタフェース414に、アサートされたREQ#信号が入力されると、現在のサイクル動作が終了した後、一旦サスペンド状態になる。これにより、メモリバスは第1の半導体記憶素子4のシーケンサによる直接データ転送から開放される。例えば、図6のタイミングチャートに示されるように、CPU2は、直接データ転送を中断して、データを第1の半導体記憶素子4に格納する(ステップS16)ことができる。ここで、CPU2のアドレス信号生成部206は、アドレスバスに、データを書き込む第1の半導体記憶素子4のアドレス56(Cont_ADD信号)を出力し、コントロールバスの第1の信号線に出力されるCont_CSm#信号をアサートする。さらに、CPU2は、データバスに、所定のデータ58(Cont_Data信号)を出力し、コントロールバスの第3の信号線に出力するCont_WE#信号をアサートする。第1の半導体記憶素子4のコマンドユーザインタフェース414は、CE#(I)端子およびWE#(I/O)端子を介して、アサートされた信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータを取得し、入出力バッファ418は、データバスからデータを取得する。取得されたデータ58は、メモリセル408における指定されたアドレス56に書き込まれる。
【0029】
CPU2が、第1の半導体記憶素子4へのデータ格納後に、REQ#信号をディアサートする(ステップS18)と、図6に示されるように、直接データ転送が、中断されたところから再び開始される。つまり、転送制御マシーン416は、ユーザインタフェース414に、ディアサートされたREQ#信号が入力されると、次のサイクル動作から再び転送命令を実行する。データ転送量で指示された分の直接データ転送が終了すると、転送制御マシーン416が停止する。転送制御信号生成回路414は、転送制御マシーン416の停止を検知して、CPU2に「High」レベル(高レベル:レディ状態)のROM_R/B#信号を出力する。CPU2は、第1の半導体記憶素子4から、高レベルのROM_R/B#信号を受け取って(ステップS20)、第1の半導体記憶素子4が直接データ転送を終了したことを検知する。
【0030】
本実施の形態による半導体記憶装置によれば、半導体記憶素子間の直接データ転送中にもCPU2による割り込み信号が有効であり、メモリバスを開放することができる。よって、リアルタイムオペレーティングシステム(RTOS)を搭載したシステムにおける優先順位をつけたタスクを速やかに実行できる。
【0031】
また、本実施の形態による半導体記憶装置において、シーケンサ10(転送制御マシーン416)が、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送を制御する間、CPU2は、そのIn端子に入力されるROM_R/B#信号をモニタするのみでよい。よって、データ転送におけるCPU2の負荷を低減できる。また、その結果として、半導体記憶素子システムのパフォーマンスを向上させることができる。
【0032】
また、本実施の形態による半導体記憶装置において、第1の半導体記憶素子4のシーケンサ10を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、シーケンサを有しない半導体記憶素子と比較したときのダイペナルティを、シーケンサ等の制御回路を搭載した他の素子に比べて小さくすることができる。また、第1の半導体記憶素子4のシーケンサ10を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、製造コストを低減できる。
【0033】
なお、本実施の形態による半導体記憶装置において、CPU2は、シーケンサ10が第2の半導体記憶素子6にデータ52を転送している途中で割り込み信号12(Cont_REQ#信号)をアサートしたが、データ転送量46を書き込んだ直後から、第1の半導体記憶素子4から高レベルのROM_R/B#信号を受け取るまでの任意の時点で、Cont_REQ#信号をアサートして、メモリバスを開放することができる。
【0034】
なお、本実施の形態による半導体記憶装置においては、半導体記憶素子4,6とのデータの書き込みおよび読み出しを制御する半導体記憶素子コントローラ8は、CPU2に内蔵されているが、CPU2とは別個に、すなわち、チップセット(半導体チップ群)の形で、CPU2と半導体記憶素子4,6とに相互に接続されて設置されてもよい。
【0035】
実施の形態2.
図7は、本発明の実施の形態2による半導体記憶装置の構成を示すブロック図である。図7の半導体記憶装置は、実施の形態1による半導体記憶装置に、新たに、第3の半導体記憶素子14および第4の半導体記憶素子16が追加されて構成される。このシステムは、直接データ転送を行う複数の半導体記憶素子4,14を含む。以下に、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送、および、第3の半導体記憶素子14から第4の半導体記憶素子16への直接データ転送を同時に行う半導体記憶装置の構成および動作を説明する。
【0036】
第3の半導体記憶素子14は、制御装置から直接データ転送用のコマンドによって制御される半導体記憶素子である。また、第3の半導体記憶素子14は、第3の半導体記憶素子14から第4の半導体記憶素子16への直接データ転送を制御するシーケンサ18を備える。CPU2は、システムバスによって、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16と相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16は、システムバスを介して相互に信号の入出力を行う。図4における矢印は、それら構成要素間で可能な信号の入出力を示している。特に、CPU2は、第1の半導体記憶素子4および第3の半導体記憶素子14に対し、それぞれ、割り込み信号12および割り込み信号20を出力し、直接データ転送処理の中断を指示できる。
【0037】
さらに詳しく説明すると、アドレスバスは、CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16のアドレス端子(それぞれ、Address端子、ADD(I/O)端子、ADD(I)端子、ADD(I/O)端子およびADD(I)端子)が接続された、5つの構成要素に共通のバスである。データバスは、CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16のデータ端子(CPU2のデータ端子はData端子、それ以外の半導体記憶素子のデータ端子は、Data(I/O)端子)が接続された、5つの構成要素に共通のバスである。CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16は、相互間におけるアドレス信号およびデータ信号の入出力を、それぞれ、アドレスバスおよびデータバスを介して行う。
【0038】
コントロールバスは、CPU2のCS0#(O)端子および第2の半導体記憶素子6のCE#(I)端子を接続する第1の信号線と、CPU2のCS1#(O)端子および第1の半導体記憶素子4のCE#(I)端子を接続する第2の信号線と、CPU2のCS2#(O)端子および第4の半導体記憶素子16のCE#(I)端子を接続する第3の信号線と、CPU2のCS3#(O)端子および第3の半導体記憶素子14のCE#(I)端子を接続する第4の信号線と、CPU2のWE#(O)端子、第1の半導体記憶素子4のWE#(I/O)端子、第2の半導体記憶素子6のWE#(I)端子、第3の半導体記憶素子14のWE#(I/O)端子および第4の半導体記憶素子16のWE#(I)端子を接続する第5の信号線と、CPU2のOE#(O)端子、第1の半導体記憶素子4のOE#(I/O)端子、第2の半導体記憶素子6のOE#(I)端子、第3の半導体記憶素子14のOE#(I/O)端子および第4の半導体記憶素子16のOE#(I)端子を接続する第6の信号線を含む。コントロールバスは、さらに、直接データ転送に用いるバスを含み、それらは、CPU2のREQ_A#端子および第1の半導体記憶素子4のINT#端子を接続する第7の信号線と、第1の半導体記憶素子4のR/B#端子とCPU2のIn_A端子とを接続する第8の信号線と、CPU2のREQ_C#端子および第3の半導体記憶素子14のINT#端子を接続する第9の信号線と、第3の半導体記憶素子14のR/B#端子およびCPU2のIn_C端子を接続する第10の信号線である。
【0039】
第3の半導体記憶素子14および第4の半導体記憶素子16の内部構成は、それぞれ、第1の半導体記憶素子4(図3)および第2の半導体記憶素子6(図4)と同一である。また、CPU2の内部構成については、コントロール信号生成部208(図2)が、CS0#(O)端子、CS1#(O)端子、CS2#(O)端子、CS3#(O)端子、WE#(O)端子、および、OE#(O)端子を介してコントロールバスに接続され、データ転送制御信号生成部210が、REQ_A#端子、REQ_C#端子、In_A端子、および、In_C端子を介してコントロールバスに接続されることを除いては、実施の形態1で説明したCPU2の内部構成と同一である。
【0040】
次に、図8および図9を用いて、第1の半導体記憶素子4から第2の半導体記憶素子6へのデータ転送、および、第3の半導体記憶素子14から第4の半導体記憶素子16へのデータ転送を同時に行う場合の半導体記憶装置の動作について説明する。図8は、データ転送時のCPU2による制御を示すフローチャートである。また、図9は、半導体記憶装置のデータ転送動作を説明するタイミングチャートである。この半導体記憶装置において、メモリバスは共通であり、データ転送を一度に行うとデータの衝突がおきるため、CPU2は、割り込み信号12および割り込み信号20を用いて、それぞれ、第1の半導体記憶素子4および第3の半導体記憶素子14の動作を制御する。
【0041】
CPU2のデータ転送制御信号生成部210は、まず、コントロールバスの第7の信号線に出力するCont_REQ_A#信号をディアサートし、第9の信号線に出力するCont_REQ_C#信号をアサートする(ステップS40)。その後、CPU2は、第1の半導体記憶素子4のシーケンサ制御用レジスタ空間(転送制御マシーン416内に内蔵された転送レジスタ419)に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む(ステップS42)。このときのCPU2および第1の半導体記憶素子4の動作は、実施の形態1に説明した動作と同一である。
【0042】
第1の半導体記憶素子4におけるコマンドユーザインタフェース414は、コントロールバスから、アサートされたCont_CS1#信号およびCont_WE#信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータ(コマンドアドレス60等)(Cont_ADD)を取得し、入出力バッファおよびラッチ418は、データバスからデータ(データ転送コマンド68等)(Cont_Data)を取得する。取得されたデータは、アドレスデータによって指定された転送制御マシーン416のレジスタ空間に書き込まれる。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ416に順次書き込まれる。
【0043】
転送制御マシーン416は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル(有効)となる。転送制御信号生成回路414は、転送制御マシーン416が動作したことを検知すると、コントロールバスの第8の信号線を介して、低レベル(ビジー状態)のA_R/B#信号をCPU2に出力する。CPU2のデータ転送制御信号生成部210は、コントロールバスから低レベルのA_R/B#信号を受け取って(ステップS44)、第1の半導体記憶素子4が直接データ転送を開始した(データ転送中である)ことを検知する。
【0044】
次に、CPU2のデータ転送制御信号生成部210は、コントロールバスの第7の信号線に出力するCont_REQ_A#信号をアサートし、第9の信号線に出力するCont_REQ_C#信号をディアサートする(ステップS46)。その後、CPU2は、第3の半導体記憶素子14のシーケンサ制御用レジスタ空間(転送制御マシーン416内に内蔵された転送レジスタ419)に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む(ステップS48)。このとき、このときのCPU2および第3の半導体記憶素子14の動作は、実施の形態1に説明した動作と同一である。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ416に順次書き込まれる。
【0045】
第3の半導体記憶素子14におけるコマンドユーザインタフェース414は、コントロールバスから、アサートされたCont_CS3#信号およびCont_WE#信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータ(コマンドアドレス76等)(Cont_ADD)を取得し、入出力バッファおよびラッチ418は、データバスからデータ(データ転送コマンド84等)(Cont_Data)を取得する。取得されたデータは、転送制御マシーン416に内蔵された転送レジスタ419において、アドレスデータにより指定されたアドレスに書き込まれる。
【0046】
転送制御マシーン416は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル(有効)となる。転送制御信号生成回路414は、転送制御マシーン416が動作したことを検知すると、コントロールバスの第10の信号線に低レベル(ビジー状態)のC_R/B#信号をCPU2に出力する。CPU2のデータ転送制御信号生成部210は、コントロールバスから低レベルのC_R/B#信号を受け取って(ステップS50)、第3の半導体記憶素子14が直接データ転送を開始した(データ転送中である)ことを検知する。
【0047】
次に、CPU2は、コントロールバスの第7の信号線に出力するCont_REQ_A#信号をディアサートし、第9の信号線に出力するCont_REQ_C#信号をアサートする(ステップS52)。
【0048】
次に、第1の半導体記憶素子4の転送制御マシーン416は、クロック発生回路420によって発生するクロックに同期して、第2の半導体記憶素子6にプログラムシーケンスを出力するように内部の回路を動作させる。このときの転送制御マシーン416の動作は、実施の形態1に説明したものと同一である(図9において、第1の半導体記憶素子4のCE#(O)端子およびWE#(I/O)端子から出力される信号は、それぞれ、A_CE#(O)およびA_WE#である。また、第1の半導体記憶素子4からアドレスバスおよびデータバスに出力される信号は、それぞれ、A_ADD(92)およびA_Data(94)である。)。
【0049】
データ転送量で指示された分の直接データ転送が終了すると、第1の半導体記憶素子4の転送制御マシーン416(シーケンサ10)が停止する。第1の半導体記憶素子4の転送制御信号生成回路414は、転送制御マシーン416の停止を検知して、コントロールバスの第8の信号線に出力するA_R/B#信号を高レベル(レディ状態)にする。CPU2は、コントロールバスを介して、第1の半導体記憶素子4から、高レベルのA_R/B#信号を受け取り(ステップS54)、第1の半導体記憶素子4が直接データ転送を終了したことを検知する。
【0050】
CPU2は、第1の半導体記憶素子4が直接データ転送を終了したことを検知すると、第9の信号線に出力するCont_REQ_C#信号をディアサートする(ステップS56)。
【0051】
次に、第3の半導体記憶素子14の転送制御マシーン416は、クロック発生回路420によって発生するクロックに同期して、第4の半導体記憶素子16にプログラムシーケンスを出力するように内部の回路を動作させる。このときの転送制御マシーン416の動作は、実施の形態1に説明したものと同一である(図9において、第3の半導体記憶素子14のCE#(O)端子およびWE#(I/O)端子から出力される信号は、それぞれ、C_CE#(O)およびC_WE#である。また、第3の半導体記憶素子14からアドレスバスおよびデータバスに出力される信号は、それぞれ、C_ADD(96)およびC_Data(98)である。)。
【0052】
データ転送量で指示された分の直接データ転送が終了すると、第3の半導体記憶素子14の転送制御マシーン416(シーケンサ18)が停止する。第3の半導体記憶素子14の転送制御信号生成回路414は、転送制御マシーン416の停止を検知して、コントロールバスの第10の信号線に出力するC_R/B#信号を高レベル(レディ状態)にする。CPU2は、コントロールバスを介して、第3の半導体記憶素子14から、高レベルのC_R/B#信号を受け取り(ステップS58)、第3の半導体記憶素子14が直接データ転送を終了したことを検知する。
【0053】
本実施の形態による半導体記憶装置において、CPU2は、第1の半導体記憶素子4および第3の半導体記憶素子14の各々に対して、直接データ転送の中断を指示する信号を出力できる。これにより、一方の直接データ転送が実行途中であっても、必要に応じて、その直接データ転送を中断させ、他方の直接データ転送を実行することが可能となる。つまり、複数の組の半導体記憶素子間のデータ転送を同時に行うことができる。これは、RTOSを搭載したシステムにおける優先順位をつけたタスクの速やかな実行を可能にする。
【0054】
本実施の形態による半導体記憶装置において、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送および半導体記憶素子14から半導体記憶素子16への直接データ転送は、それぞれ、シーケンサ10およびシーケンサ18がその制御を行う。それらの直接データ転送の間、CPU2は、In_A端子およびIn_C端子に入力されるレディ/ビジー信号(A_R/B#、C_R/B#)をモニタするのみである。これにより、データ転送におけるCPU2の負荷を低減できる。また、その結果として、半導体記憶装置のパフォーマンスを向上させることができる。
【0055】
また、本実施の形態による半導体記憶装置において、第1の半導体記憶素子4のシーケンサ10および第3の半導体記憶素子14のシーケンサ18を、それぞれ、第2の半導体記憶素子6および第4の半導体記憶素子16のみに対応するハードロジックとすることにより、シーケンサを有しない半導体記憶素子と比較したときのダイペナルティを、シーケンサ等の制御装置を搭載した他の素子に比べて小さくすることができる。また、第1の半導体記憶素子4のシーケンサ10および第3の半導体記憶素子14のシーケンサ18を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、製造コストを低減できる。
【0056】
なお、本実施の形態による半導体記憶装置において、CPU2は、データ転送量74を書き込んだ直後に、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)したが、シーケンサ10がデータ94を転送している途中で、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)してもよい。
【0057】
また、CPU2は、データ転送量90を書き込んだ直後に、Cont_REQ_C#信号をアサート(Cont_REQ_A#信号をディアサート)したが、シーケンサ18がデータ98を転送している途中で、Cont_REQ_C#信号をアサート(Cont_REQ_A#信号をディアサート)してもよい。
【0058】
さらに、CPU2は、第1の半導体記憶素子4から高レベルのA_R/B#信号を受け取った後で、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)したが、第1の半導体記憶素子4がデータ94を転送している途中に、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)してもよい。
【0059】
なお、本実施の形態による半導体記憶装置においては、半導体記憶素子間のデータ転送を制御する半導体記憶素子コントローラ8は、CPU2に内蔵されているが、CPU2とは別個に、すなわち、チップセット(半導体チップ群)の形で、CPU2と半導体記憶素子4,6,14,16に相互に接続されて設置されてもよい。
【0060】
本発明による半導体記憶装置は、データ転送量が多いシステムやデータ転送のパフォーマンスをより高めることが望まれる種々のシステムに応用できる。
【0061】
【発明の効果】
本発明による半導体記憶装置によれば、複数の半導体記憶素子と、それら複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、それら複数の半導体記憶素子および制御装置が接続されるシステムバスとを備え、複数の半導体記憶素子は、制御装置から直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含み、システムバスは、チップイネーブル信号を、データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含み、データ転送元半導体記憶素子は、直接データ転送を制御する内部制御手段を備え、内部制御手段は、制御装置からシステムバスを介して直接データ転送の開始コマンドを含む指示を受け取ると、システムバスを介して、直接データ転送中であることを示す信号を制御装置に出力し、チップイネーブル信号を、システムバスを介して、データ転送先半導体記憶素子に送り、上記の指示に基づいて、データ転送元半導体記憶素子からデータ転送先半導体記憶素子への直接データ転送を制御するので、半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【0062】
本発明による半導体記憶装置によれば、上記の内部制御手段は、直接データ転送の指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、レジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、システムバスに出力するアドレス生成回路と、直接データ転送中であるか否かを示す信号、転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、システムバスに出力する転送制御信号生成回路と、レジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより転送元半導体記憶素子から読み出したデータを、システムバスに出力する出力制御回路と、クロック信号に応じてアドレス生成回路と出力制御回路を制御する転送制御回路とを備えるので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【0063】
本発明による半導体記憶装置によれば、上記の制御装置は、中央演算処理装置またはチップセットを含むので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【0064】
本発明による半導体記憶装置によれば、上記の転送制御信号生成回路は、さらに、直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、システムバスに出力するので、制御装置は、直接データ転送中に、その終了を示す信号が出力されるのを待つのみでよく、データ転送における制御装置の負荷低減を実現できる。
【0065】
本発明による半導体記憶装置によれば、上記の制御装置は、複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成でき、データ転送元半導体記憶素子は、直接データ転送の中断を指示する信号を入力する割り込み端子を備え、内部制御手段は、制御装置から直接データ転送の中断の指示を受け取ると直接データ転送を中断するので、RTOSを搭載したシステムにおける優先順位をつけたタスクを速やかに実行できる。
【0066】
本発明による半導体記憶装置によれば、複数の半導体記憶素子は、複数のデータ転送元半導体記憶素子を含み、システムバスは、制御装置と各々のデータ伝送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバスを含み、かつ、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含むので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【図面の簡単な説明】
【図1】本発明による半導体記憶装置の構成を示すブロック図。
【図2】CPUの内部構成を示すブロック図。
【図3】データ転送元半導体記憶素子の内部構成を示すブロック図。
【図4】データ転送先半導体記憶素子の内部構成を示すブロック図。
【図5】図1の半導体記憶装置における一時中断を含むデータ転送時のCPUによる制御を示すフローチャートの図。
【図6】図1の半導体記憶装置における一時中断を含むデータ転送動作を説明するタイミングチャートの図。
【図7】本発明による別の半導体記憶装置の構成を示すブロック図。
【図8】図7の半導体記憶装置におけるデータ転送時のCPUによる制御を示すフローチャートの図。
【図9】図7の半導体記憶装置におけるデータ転送動作を説明するタイミングチャートの図。
【図10】従来の半導体記憶装置の構成を示すブロック図。
【符号の説明】
2 CPU、 4 第1の半導体記憶素子、 6 第2の半導体記憶素子、 8 半導体記憶素子コントローラ、 10 シーケンサ、 12 割り込み信号
【発明の属する技術分野】
本発明は、バスに接続された複数の半導体記憶素子の間でデータ転送が行われる半導体記憶装置に関する。
【0002】
【従来の技術】
従来、半導体記憶装置において、バスに接続された複数の半導体記憶素子間のデータ転送には制御装置が介在していた。図10は、従来の半導体記憶装置を示すブロック図である。図10において、半導体記憶装置は、中央演算処理装置(CPU)102、第1の半導体記憶素子104および第2の半導体記憶素子106を備える。また、CPU102は、その半導体記憶素子間のデータ転送を制御する半導体記憶素子コントローラ108と、バッファRAM(ランダムアクセスメモリ)110とを備える。CPU102、第1の半導体記憶素子104および第2の半導体記憶素子106は、システムバスによって相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。アドレスバスおよびデータバスは、それぞれ、CPU102、第1の半導体記憶素子104および第2の半導体記憶素子106が接続された3つの構成要素に共通のバスである。CPU102、第1の半導体記憶素子104および第2の半導体記憶素子106は、上述のアドレスバスおよびデータバスを介して、それぞれ、相互にアドレス信号およびデータ信号の入出力を行う。また、コントロールバスは、CPU102から第1の半導体記憶素子104に制御信号を出力する信号線と、CPU102から第2の半導体記憶素子106に制御信号を出力する信号線と、第1の半導体記憶素子104からCPU102にレディ/ビジー信号を出力する信号線とを含む。図中の矢印は、それら構成要素間において可能な信号の入出力を示している。
【0003】
上述の半導体記憶装置において、第1の半導体記憶素子104に格納されたデータを第2の半導体記憶素子106に転送する場合、もし、データの読み出しや書き込みに関する制御方法が、第1の半導体記憶素子104と第2の半導体記憶素子106との間で異なるなら、または、その制御方法が同じであっても複雑なら、半導体記憶素子コントローラ108は、まず、第1の半導体記憶素子104に格納されたデータを、データバスを介して、一旦バッファRAM110に読み出し、続いて、そのデータを、バッファRAM110から第2の半導体記憶素子106に転送させる(図10における点線を参照)。このとき、CPU102(半導体記憶素子コントローラ108)は、第1の半導体記憶素子104からバッファRAM110にデータを格納する処理と、そのデータを第2の半導体記憶素子106に転送する処理の2つの処理を制御しなければならず、CPU102における負荷が大きかった。また、これにより、半導体記憶素子システムのパフォーマンスが低下するという問題があった。
【0004】
例えば、特開昭61−26164号公開公報は、各々がコントローラを介してシステムバスに接続された複数の機器間においてデータ転送を行う場合の制御方法を開示している。システムバスに接続されたCPUが転送元機器Aを制御する転送元コントローラAにデータ転送の指示を与えると、コントローラAは、機器AからコントローラA内のバッファメモリに一旦データを格納してから、そのデータをデータ線に出力すると共に、転送先機器Bに対応する転送先コントローラBに、データの書き込み指示を出力する。コントローラBは、その書き込み指示に従って、データ線上のデータをコントローラB内のバッファメモリに書き込み、そのデータを機器Bに転送する。以上のデータ転送制御方法によれば、CPUがデータ転送の指示を与えた後は、コントローラAがデータ転送処理を行うので、CPUの負荷を低減できる。
【0005】
【発明が解決しようとする課題】
しかし、特開昭61−26164号公開公報に開示された制御方法は、図10に示される半導体記憶装置に適用する場合には、いまだ改善の余地がある。上述の制御方法は、CPUがデータ転送の指示を出力してから機器間のデータ転送が完了するまで一定の時間を要するので、リアルタイム処理を必要とするシステムへの適用は困難であるという問題があった。
【0006】
また、機器(記憶装置)を制御するコントローラ(制御装置)は、その規模をより小さくすることが望まれている。
【0007】
本発明の目的は、半導体記憶素子間でデータ転送を行う記憶装置であって、半導体記憶素子の動作を制御する制御装置の負荷を低減しつつ、リアルタイム処理が要求されるシステムにも対応可能な半導体記憶装置を提供することである。また、本発明の別の目的は、半導体記憶素子の動作を制御する制御装置の負荷を低減しつつ、その規模が小さい半導体記憶装置を提供することである。
【0008】
【課題を解決するための手段】
本発明に係る半導体記憶装置は、複数の半導体記憶素子と、前記の複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、前記の複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、前記の複数の半導体記憶素子および前記の制御装置が接続されるシステムバスとを備える。前記の複数の半導体記憶素子は、前記の制御装置から前記の直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含む。前記のシステムバスは、チップイネーブル信号を、前記のデータ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含む。前記のデータ転送元半導体記憶素子は、前記の直接データ転送を制御する内部制御手段を備える。前記の内部制御手段は、前記の制御装置から前記のシステムバスを介して直接データ転送の開始コマンドを含む前記の指示を受け取ると、前記のシステムバスを介して、直接データ転送中であることを示す信号を前記の制御装置に出力し、チップイネーブル信号を、前記のシステムバスを介して、前記のデータ転送先半導体記憶素子に送り、前記の指示に基づいて、前記のデータ転送元半導体記憶素子から前記のデータ転送先半導体記憶素子への直接データ転送を制御する。
【0009】
好ましくは、前記の半導体記憶装置において、前記の内部制御手段は、直接データ転送の前記の指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、前記のレジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、前記のシステムバスに出力するアドレス生成回路と、直接データ転送中であるか否かを示す信号、前記のデータ転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、前記のシステムバスに出力する転送制御信号生成回路と、前記のレジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより前記のデータ転送元半導体記憶素子から読み出したデータを、前記のシステムバスに出力する出力制御回路と、クロック信号に応じて前記のアドレス生成回路と前記の出力制御回路を制御する転送制御回路とを備える。
【0010】
好ましくは、前記の半導体記憶装置において、前記の制御装置は、中央演算処理装置またはチップセットを含む。
【0011】
好ましくは、前記の半導体記憶装置において、前記の転送制御信号生成回路は、さらに、前記の直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、前記のシステムバスに出力する。
【0012】
好ましくは、前記の半導体記憶装置において、前記の制御装置は、前記の複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成できる。また、前記のデータ転送元半導体記憶素子は、直接データ転送の中断を指示する前記の信号を入力する割り込み端子を備える。前記の内部制御手段は、前記の制御装置から直接データ転送の中断の前記の指示を受け取ると直接データ転送を中断する。
【0013】
好ましくは、前記の半導体記憶装置において、前記の複数の半導体記憶素子は、複数の前記のデータ転送元半導体記憶素子を含む。また、前記のシステムバスは、前記の制御装置と各々のデータ転送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバス、および、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含む。
【0014】
【発明の実施の形態】
実施の形態1.
以下に、添付の図面を参照して、本発明の実施の形態について説明する。
本発明の実施の形態1による半導体記憶装置は、複数の半導体記憶素子とシステムバスを介してそれら半導体記憶素子を制御する制御装置(中央演算処理装置)とを備える。これらの複数の半導体記憶素子はシステムバスを介して制御装置に並列に接続されていて、制御装置は、これらの半導体記憶素子に対して通常の半導体記憶素子と同様にデータの書き込みと読み出しをおこなう。このデータの書き込みと読み出しは従来の半導体記憶装置と同様なので、説明を省略する。
【0015】
さらに、この半導体記憶装置では、一つの半導体記憶素子(以下、「第1の半導体記憶素子」という。)から他の半導体記憶素子に対して直接にデータ転送が可能である。他の半導体記憶素子は、通常の半導体記憶素子である。これに対して、第1の半導体記憶素子は、半導体記憶素子の間の直接データ転送を制御するハードロジックのシーケンサを内蔵している点が従来の半導体記憶素子と異なる。制御装置が、第1の半導体記憶素子に、他の半導体記憶素子へのデータ転送を開始するように指示すると、第1の半導体記憶素子において、シーケンサは、制御装置に対して直接データ転送を行う状態信号を出力する。これにより、制御装置は、第1の半導体記憶素子によるシステムバスの使用を可能にする。次に、シーケンサは、転送先の半導体記憶素子に対して、チップイネーブル信号を送信する。次に、シーケンサは、制御装置からの指示内容に基づいて、第1の半導体記憶素子に記憶されたデータを他の半導体記憶素子(第2の半導体記憶素子)に転送する。直接データ転送の間、制御装置は、シーケンサが出力する状態信号を検知するのみである。また、この半導体記憶装置では、制御装置は、直接データ転送処理の中断を第1の半導体記憶素子に指示できる。以下に、この半導体記憶装置について詳細に説明する。
【0016】
図1は、本発明の実施の形態1による半導体記憶装置の構成を示すブロック図である。図1において、半導体記憶装置は、中央演算処理装置(CPU)2、第1の半導体記憶素子4および第2の半導体記憶素子6を備える。第1の半導体記憶素子4は、制御装置から直接データ転送用のコマンドによって制御される半導体記憶素子である。CPU2は、半導体記憶素子4,6とのデータの書き込みおよび読み出しを制御する半導体記憶素子コントローラ8を備える。また、第1の半導体記憶素子4は、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送を制御するシーケンサ10を備える。CPU2は、システムバスによって、半導体記憶素子4,6と相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6は、システムバスを介して相互に信号の入出力を行う。図1における矢印は、それら構成要素間で可能な信号の入出力を示している。特に、CPU2は、第1の半導体記憶素子4に対し、コントロールバスを介して割り込み信号12を出力し、直接データ転送処理の中断を指示できる。
【0017】
さらに詳しく説明すると、アドレスバスは、CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6のアドレス端子(それぞれ、Address端子、ADD(I/O)端子およびADD(I)端子)が接続された、3つの構成要素に共通のバスである。データバスは、CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6のデータ端子(それぞれ、Data端子、Data(I/O)端子およびData(I/O)端子)が接続された、3つの構成要素に共通のバスである。CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6は、相互間におけるアドレス信号およびデータ信号の入出力を、それぞれ、アドレスバスおよびデータバスを介して行う。
【0018】
コントロールバスは、CPU2のCSm#(O)端子(「♯」は、低レベルでアクティブであることを示す。)および第1の半導体記憶素子4のCE(チップイネーブル)#(I)端子を接続する第1の信号線と、CPU2のCSn(チップセレクト)#(O)端子および第2の半導体記憶素子6のCE#(I)端子を接続する第2の信号線と、CPU2のWE(ライトイネーブル)#(O)端子、第1の半導体記憶素子4のWE#(I/O)端子および第2の半導体記憶素子6のWE#(I)端子を接続する第3の信号線と、CPU2のOE(アウトプットイネーブル)#(O)端子、第1の半導体記憶素子4のOE#(I/O)端子および第2の半導体記憶素子6のOE#(I)端子を接続する第4の信号線を含む。これらは、従来のコントロールバスと同様である。コントロールバスは、さらに、直接データ転送に用いるバスを含み、それらは、CPU2のREQ(リクエスト)#端子および第1の半導体記憶素子4のINT#端子を接続する第5の信号線と、第1の半導体記憶素子4のR/B(レディ/ビジー)#端子およびCPU2のIn端子を接続する第6の信号線と、第1の半導体記憶素子4のCE#(O)端子および第2の半導体記憶素子6のCE#(I)端子を接続する第7の信号線である。
【0019】
次に、CPU2、第1の半導体記憶素子4および第2の半導体記憶素子6の内部構成を、それぞれ、図2、図3および図4を用いて詳細に説明する。まず、図2を参照すると、CPU2は、半導体記憶素子コントローラ8、内部システムバス202およびCPUコア部204を備える。また、半導体記憶素子コントローラ8は、アドレス信号生成部206、コントロール信号生成部208およびデータバス方向制御部212を備える。これらは従来の半導体記憶素子コントローラと同様である。半導体記憶素子コントローラ8は、さらに、直接データ転送のためのデータ転送制御信号生成部210を備える。CPUコア部204、アドレス信号生成部206、コントロール信号生成部208、データ転送制御信号生成部210、データバス方向制御部212およびその他周辺回路部214は、内部システムバス202に接続される。アドレス信号生成部206は、アドレス信号を生成して、その信号を、Address端子を介してアドレスバスに出力する。コントロール信号生成部208は、コントロール信号を生成して、その信号を、CSn#(O)端子、WE#(O)端子、OE#(O)端子、および、CSm#(O)端子を介してコントロールバスに出力する。データバス方向制御部212は、Data端子を介してデータバスに接続され、データバスにデータを出力し、かつ、データバスからデータを受け取る。直接データ転送の場合、データ転送制御信号生成部210は、REQ#端子を介して、第1の半導体記憶素子4にリクエスト信号(Cont_REQ#)を出力し、かつ、In端子を介して、第1の半導体記憶素子4からレディ/ビジー信号(ROM_R/B#)を受け取る。
【0020】
次に、図3を参照すると、第1の半導体記憶素子4は、アドレスデコーダ402、アドレス生成回路(ラッチおよびカウンタ含む)404、ページバッファ406、メモリセル408、ステータスレジスタ410、マルチプレクサおよび出力制御回路412、コマンドユーザインタフェースおよび転送制御信号生成回路414、ライトステートマシーンおよび転送制御マシーン416、入出力(アイオー)バッファおよびラッチ418、および、クロック発生回路420を備える。図1のシーケンサ10は、転送制御マシーン416に相当する。転送制御マシーン416は、内部に、転送レジスタ419を内蔵する。アドレスデコーダ402は、第1の半導体記憶素子4のADD(I/O)端子を介してアドレスバスからアドレスデータを受け取る。アドレス生成回路404は、そのADD(I/O)端子を介して、アドレスバスにアドレスデータを出力する。コマンドユーザインタフェースおよび転送制御信号生成回路414は、CE#(I)端子、WE#(I/O)端子、OE#(I/O)端子、INT#端子、R/B#端子およびCE#(O)端子を介して、コントロールバスに接続される。入出力バッファおよびラッチ418は、Data(I/O)端子を介してデータバスに接続され、内部に格納されたデータをデータバスに出力する、および、データバスから受け取ったデータを一時的に格納する。次に説明する第2の半導体記憶素子6(図4)と比べると分かるように、第1の半導体記憶素子4は、直接データ転送を行うので、通常の半導体記憶素子6と異なる構成を備えている。
【0021】
図4を参照すると、第2の半導体記憶素子6は、アドレスデコーダ602、ページバッファ606、メモリセル608、ステータスレジスタ610、マルチプレクサ612、コマンドユーザインタフェース614、ライトステートマシーン616、入出力バッファ618およびクロック発生回路620を備える。アドレスデコーダ602は、ADD(I)端子を介して、アドレスバスからアドレスデータを受け取る。コマンドユーザインタフェース614は、CE#(I)端子、OE#(I)端子およびWE#(I)端子を介して、コントロールバスからコントロール信号を受け取る。入出力バッファ618は、Data(I/O)端子を介して、データバスに接続され、内部に格納されたデータをデータバスに出力する、および、データバスからデータを受け取る。第2の半導体記憶素子6の構成は従来の半導体記憶素子と同様である。
【0022】
次に、図5および図6を用いて、第1の半導体記憶素子4から第2の半導体記憶素子6にデータ転送を行う場合の半導体記憶装置の動作について説明する。この半導体記憶装置において、CPU2は、データ転送を一時中断させることができる。図5は、一時中断を含むデータ転送時のCPU2による制御を示すフローチャートである。また、図6は、半導体記憶装置の一時中断を含むデータ転送動作を説明するタイミングチャートである。CPU2は、まず、第1の半導体記憶素子4のシーケンサ制御用レジスタ空間(転送制御マシーン416内に内蔵された転送レジスタ419)に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む(ステップS10)。このとき、CPU2のコントロール信号生成部208は、CSm#(O)端子を介して、第1の半導体記憶素子4へのコントロールバス(第1の信号線)に、アサートしたCont_CSm#信号を出力し、CPU2のアドレス信号生成部206は、アドレスバスに、それら4つのデータを書き込む第1の半導体記憶素子4のレジスタ空間のアドレス(コマンドアドレス32、第2のレジスタアドレス34、第3のレジスタアドレス36および第4のレジスタアドレス38)(Cont_ADD信号)を出力し、CPU2のデータバス方向制御部212は、データバスに、データ転送コマンド40、転送元アドレス42、転送先アドレス44およびデータ転送量46(Cont_Data信号)を出力する。さらに、コントロール信号生成部208は、WE#(O)端子を介して、コントロールバスの第3の信号線に、アサートしたCont_WE#信号を出力する。
【0023】
第1の半導体記憶素子4におけるコマンドユーザインタフェース414は、コントロールバスから、アサートされたCont_CSm#信号およびCont_WE#信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータ(コマンドアドレス32等)を取得し、入出力バッファおよびラッチ418は、データバスからデータ(データ転送コマンド40等)を取得する。取得されたデータは、転送制御マシーン416に内蔵された転送レジスタ419において、アドレスデータにより指定されたアドレスに書き込まれる。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ416に順次書き込まれる。
【0024】
転送制御マシーン416は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル(有効)となる。転送制御信号生成回路414は、転送制御マシーン416が動作したことを検知すると、コントロールバスの第6の信号線を介して「Low」レベル(低レベル:ビジー状態)のROM_R/B#信号をCPU2に出力する。CPU2のデータ転送制御信号生成部210は、コントロールバスから低レベルのROM_R/B#信号を受け取って(ステップS12)、第1の半導体記憶素子4が直接データ転送を開始した(データ転送中である)ことを検知する。
【0025】
次に、転送制御マシーン416は、クロック発生回路420によって発生するクロックに同期して、第2の半導体記憶素子6にプログラムシーケンスを出力するように内部の回路を動作させる。以下に、転送制御マシーン416の動作を詳細に説明する。
【0026】
1)アドレス生成回路404に、プログラムコマンドアドレス48(ROM_ADD)をアドレスバスに出力するよう命令する。同時に、転送制御信号生成回路414に、チップイネーブルのコントロール信号(ROM_CE#(O))を第2の半導体記憶素子6に出力するよう命令する。また、入出力バッファおよびラッチ418にプログラムコマンド50(ROM_Data)をデータバスに出力するよう命令する。同時に、転送制御信号生成回路414に、書き込みのコントロール信号(ROM_WE#)を第2の半導体記憶素子6に出力するよう命令する。
2)1)と同時に、転送レジスタ419に記憶された転送元アドレスに従って、メモリセル408に対する読み出し動作を実施し、その結果、読み出されたデータ54を入出力バッファおよびラッチ418に格納する。このとき、出力制御回路412は、転送制御マシーン416の指示によりメモリセル408からデータを読み出し、そのデータを、入出力バッファおよびラッチ418に出力する。3)次に、転送レジスタ419に記憶された転送先アドレスに従って、アドレス生成回路404に、その転送先アドレス52(ROM_ADD)をアドレスバスに出力するよう命令し、一方、入出力バッファおよびラッチ418に、ラッチされたデータ54(ROM_Data)をデータバスに出力させる。また、転送制御信号生成回路414に、チップイネーブルのコントロール信号および書き込みのコントロール信号を第2の半導体記憶素子6に出力するよう命令する。
4)次に、転送レジスタ419に記憶されたデータ転送量に従って、メモリセル408のアドレスをインクリメントしながら、データ54を順次読み出して入出力バッファおよびラッチ418に格納し、データバスに出力する。同時に、そのデータ転送量に従って、第2の半導体記憶素子6の書き込みアドレス52を順次インクリメントしながらアドレスバスに出力する。また、転送制御信号生成回路414に、チップイネーブルのコントロール信号(ROM_CE#(O))および書き込みのコントロール信号(ROM_WE#)を第2の半導体記憶素子6に出力するよう命令する。
【0027】
第2の半導体記憶素子6のコマンドユーザインタフェース614は、CE#(I)端子およびWE#(I)端子を介して、アサートされた信号を受け取る。また、アドレスデコーダ602は、アドレスバスからアドレスデータを取得し、入出力バッファ618は、データバスからデータを取得する。その取得されたデータ54は、メモリセル608における指定されたアドレス52に書き込まれる。この間、転送制御マシーン416が直接データ転送を制御し、CPU2は、第1の半導体記憶素子4から出力されるROM_R/B#信号をモニタするのみである。
【0028】
ここで、CPU2が、何らかの要因でメモリバス(CPU2と半導体記憶素子4,6とを接続するバス)を使用したい場合、コントロールバスの第5の信号線に出力するREQ#(リクエスト)信号をアサートして、第1の半導体記憶素子4に割り込みを与えることができる(ステップS14)。第1の半導体記憶素子4は、INT#端子にアサートされた信号が入力されると、直接データ転送を中断する。つまり、転送制御マシーン416は、ユーザインタフェース414に、アサートされたREQ#信号が入力されると、現在のサイクル動作が終了した後、一旦サスペンド状態になる。これにより、メモリバスは第1の半導体記憶素子4のシーケンサによる直接データ転送から開放される。例えば、図6のタイミングチャートに示されるように、CPU2は、直接データ転送を中断して、データを第1の半導体記憶素子4に格納する(ステップS16)ことができる。ここで、CPU2のアドレス信号生成部206は、アドレスバスに、データを書き込む第1の半導体記憶素子4のアドレス56(Cont_ADD信号)を出力し、コントロールバスの第1の信号線に出力されるCont_CSm#信号をアサートする。さらに、CPU2は、データバスに、所定のデータ58(Cont_Data信号)を出力し、コントロールバスの第3の信号線に出力するCont_WE#信号をアサートする。第1の半導体記憶素子4のコマンドユーザインタフェース414は、CE#(I)端子およびWE#(I/O)端子を介して、アサートされた信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータを取得し、入出力バッファ418は、データバスからデータを取得する。取得されたデータ58は、メモリセル408における指定されたアドレス56に書き込まれる。
【0029】
CPU2が、第1の半導体記憶素子4へのデータ格納後に、REQ#信号をディアサートする(ステップS18)と、図6に示されるように、直接データ転送が、中断されたところから再び開始される。つまり、転送制御マシーン416は、ユーザインタフェース414に、ディアサートされたREQ#信号が入力されると、次のサイクル動作から再び転送命令を実行する。データ転送量で指示された分の直接データ転送が終了すると、転送制御マシーン416が停止する。転送制御信号生成回路414は、転送制御マシーン416の停止を検知して、CPU2に「High」レベル(高レベル:レディ状態)のROM_R/B#信号を出力する。CPU2は、第1の半導体記憶素子4から、高レベルのROM_R/B#信号を受け取って(ステップS20)、第1の半導体記憶素子4が直接データ転送を終了したことを検知する。
【0030】
本実施の形態による半導体記憶装置によれば、半導体記憶素子間の直接データ転送中にもCPU2による割り込み信号が有効であり、メモリバスを開放することができる。よって、リアルタイムオペレーティングシステム(RTOS)を搭載したシステムにおける優先順位をつけたタスクを速やかに実行できる。
【0031】
また、本実施の形態による半導体記憶装置において、シーケンサ10(転送制御マシーン416)が、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送を制御する間、CPU2は、そのIn端子に入力されるROM_R/B#信号をモニタするのみでよい。よって、データ転送におけるCPU2の負荷を低減できる。また、その結果として、半導体記憶素子システムのパフォーマンスを向上させることができる。
【0032】
また、本実施の形態による半導体記憶装置において、第1の半導体記憶素子4のシーケンサ10を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、シーケンサを有しない半導体記憶素子と比較したときのダイペナルティを、シーケンサ等の制御回路を搭載した他の素子に比べて小さくすることができる。また、第1の半導体記憶素子4のシーケンサ10を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、製造コストを低減できる。
【0033】
なお、本実施の形態による半導体記憶装置において、CPU2は、シーケンサ10が第2の半導体記憶素子6にデータ52を転送している途中で割り込み信号12(Cont_REQ#信号)をアサートしたが、データ転送量46を書き込んだ直後から、第1の半導体記憶素子4から高レベルのROM_R/B#信号を受け取るまでの任意の時点で、Cont_REQ#信号をアサートして、メモリバスを開放することができる。
【0034】
なお、本実施の形態による半導体記憶装置においては、半導体記憶素子4,6とのデータの書き込みおよび読み出しを制御する半導体記憶素子コントローラ8は、CPU2に内蔵されているが、CPU2とは別個に、すなわち、チップセット(半導体チップ群)の形で、CPU2と半導体記憶素子4,6とに相互に接続されて設置されてもよい。
【0035】
実施の形態2.
図7は、本発明の実施の形態2による半導体記憶装置の構成を示すブロック図である。図7の半導体記憶装置は、実施の形態1による半導体記憶装置に、新たに、第3の半導体記憶素子14および第4の半導体記憶素子16が追加されて構成される。このシステムは、直接データ転送を行う複数の半導体記憶素子4,14を含む。以下に、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送、および、第3の半導体記憶素子14から第4の半導体記憶素子16への直接データ転送を同時に行う半導体記憶装置の構成および動作を説明する。
【0036】
第3の半導体記憶素子14は、制御装置から直接データ転送用のコマンドによって制御される半導体記憶素子である。また、第3の半導体記憶素子14は、第3の半導体記憶素子14から第4の半導体記憶素子16への直接データ転送を制御するシーケンサ18を備える。CPU2は、システムバスによって、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16と相互に接続される。システムバスは、アドレスバス、データバスおよびコントロールバスから成る。CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16は、システムバスを介して相互に信号の入出力を行う。図4における矢印は、それら構成要素間で可能な信号の入出力を示している。特に、CPU2は、第1の半導体記憶素子4および第3の半導体記憶素子14に対し、それぞれ、割り込み信号12および割り込み信号20を出力し、直接データ転送処理の中断を指示できる。
【0037】
さらに詳しく説明すると、アドレスバスは、CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16のアドレス端子(それぞれ、Address端子、ADD(I/O)端子、ADD(I)端子、ADD(I/O)端子およびADD(I)端子)が接続された、5つの構成要素に共通のバスである。データバスは、CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16のデータ端子(CPU2のデータ端子はData端子、それ以外の半導体記憶素子のデータ端子は、Data(I/O)端子)が接続された、5つの構成要素に共通のバスである。CPU2、第1の半導体記憶素子4、第2の半導体記憶素子6、第3の半導体記憶素子14および第4の半導体記憶素子16は、相互間におけるアドレス信号およびデータ信号の入出力を、それぞれ、アドレスバスおよびデータバスを介して行う。
【0038】
コントロールバスは、CPU2のCS0#(O)端子および第2の半導体記憶素子6のCE#(I)端子を接続する第1の信号線と、CPU2のCS1#(O)端子および第1の半導体記憶素子4のCE#(I)端子を接続する第2の信号線と、CPU2のCS2#(O)端子および第4の半導体記憶素子16のCE#(I)端子を接続する第3の信号線と、CPU2のCS3#(O)端子および第3の半導体記憶素子14のCE#(I)端子を接続する第4の信号線と、CPU2のWE#(O)端子、第1の半導体記憶素子4のWE#(I/O)端子、第2の半導体記憶素子6のWE#(I)端子、第3の半導体記憶素子14のWE#(I/O)端子および第4の半導体記憶素子16のWE#(I)端子を接続する第5の信号線と、CPU2のOE#(O)端子、第1の半導体記憶素子4のOE#(I/O)端子、第2の半導体記憶素子6のOE#(I)端子、第3の半導体記憶素子14のOE#(I/O)端子および第4の半導体記憶素子16のOE#(I)端子を接続する第6の信号線を含む。コントロールバスは、さらに、直接データ転送に用いるバスを含み、それらは、CPU2のREQ_A#端子および第1の半導体記憶素子4のINT#端子を接続する第7の信号線と、第1の半導体記憶素子4のR/B#端子とCPU2のIn_A端子とを接続する第8の信号線と、CPU2のREQ_C#端子および第3の半導体記憶素子14のINT#端子を接続する第9の信号線と、第3の半導体記憶素子14のR/B#端子およびCPU2のIn_C端子を接続する第10の信号線である。
【0039】
第3の半導体記憶素子14および第4の半導体記憶素子16の内部構成は、それぞれ、第1の半導体記憶素子4(図3)および第2の半導体記憶素子6(図4)と同一である。また、CPU2の内部構成については、コントロール信号生成部208(図2)が、CS0#(O)端子、CS1#(O)端子、CS2#(O)端子、CS3#(O)端子、WE#(O)端子、および、OE#(O)端子を介してコントロールバスに接続され、データ転送制御信号生成部210が、REQ_A#端子、REQ_C#端子、In_A端子、および、In_C端子を介してコントロールバスに接続されることを除いては、実施の形態1で説明したCPU2の内部構成と同一である。
【0040】
次に、図8および図9を用いて、第1の半導体記憶素子4から第2の半導体記憶素子6へのデータ転送、および、第3の半導体記憶素子14から第4の半導体記憶素子16へのデータ転送を同時に行う場合の半導体記憶装置の動作について説明する。図8は、データ転送時のCPU2による制御を示すフローチャートである。また、図9は、半導体記憶装置のデータ転送動作を説明するタイミングチャートである。この半導体記憶装置において、メモリバスは共通であり、データ転送を一度に行うとデータの衝突がおきるため、CPU2は、割り込み信号12および割り込み信号20を用いて、それぞれ、第1の半導体記憶素子4および第3の半導体記憶素子14の動作を制御する。
【0041】
CPU2のデータ転送制御信号生成部210は、まず、コントロールバスの第7の信号線に出力するCont_REQ_A#信号をディアサートし、第9の信号線に出力するCont_REQ_C#信号をアサートする(ステップS40)。その後、CPU2は、第1の半導体記憶素子4のシーケンサ制御用レジスタ空間(転送制御マシーン416内に内蔵された転送レジスタ419)に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む(ステップS42)。このときのCPU2および第1の半導体記憶素子4の動作は、実施の形態1に説明した動作と同一である。
【0042】
第1の半導体記憶素子4におけるコマンドユーザインタフェース414は、コントロールバスから、アサートされたCont_CS1#信号およびCont_WE#信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータ(コマンドアドレス60等)(Cont_ADD)を取得し、入出力バッファおよびラッチ418は、データバスからデータ(データ転送コマンド68等)(Cont_Data)を取得する。取得されたデータは、アドレスデータによって指定された転送制御マシーン416のレジスタ空間に書き込まれる。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ416に順次書き込まれる。
【0043】
転送制御マシーン416は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル(有効)となる。転送制御信号生成回路414は、転送制御マシーン416が動作したことを検知すると、コントロールバスの第8の信号線を介して、低レベル(ビジー状態)のA_R/B#信号をCPU2に出力する。CPU2のデータ転送制御信号生成部210は、コントロールバスから低レベルのA_R/B#信号を受け取って(ステップS44)、第1の半導体記憶素子4が直接データ転送を開始した(データ転送中である)ことを検知する。
【0044】
次に、CPU2のデータ転送制御信号生成部210は、コントロールバスの第7の信号線に出力するCont_REQ_A#信号をアサートし、第9の信号線に出力するCont_REQ_C#信号をディアサートする(ステップS46)。その後、CPU2は、第3の半導体記憶素子14のシーケンサ制御用レジスタ空間(転送制御マシーン416内に内蔵された転送レジスタ419)に、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量を書き込む(ステップS48)。このとき、このときのCPU2および第3の半導体記憶素子14の動作は、実施の形態1に説明した動作と同一である。これにより、データ転送コマンド、転送元アドレス、転送先アドレスおよびデータ転送量が転送レジスタ416に順次書き込まれる。
【0045】
第3の半導体記憶素子14におけるコマンドユーザインタフェース414は、コントロールバスから、アサートされたCont_CS3#信号およびCont_WE#信号を受け取る。また、アドレスデコーダ402は、アドレスバスからアドレスデータ(コマンドアドレス76等)(Cont_ADD)を取得し、入出力バッファおよびラッチ418は、データバスからデータ(データ転送コマンド84等)(Cont_Data)を取得する。取得されたデータは、転送制御マシーン416に内蔵された転送レジスタ419において、アドレスデータにより指定されたアドレスに書き込まれる。
【0046】
転送制御マシーン416は、コマンドアドレスにデータ転送コマンドが入力されると、イネーブル(有効)となる。転送制御信号生成回路414は、転送制御マシーン416が動作したことを検知すると、コントロールバスの第10の信号線に低レベル(ビジー状態)のC_R/B#信号をCPU2に出力する。CPU2のデータ転送制御信号生成部210は、コントロールバスから低レベルのC_R/B#信号を受け取って(ステップS50)、第3の半導体記憶素子14が直接データ転送を開始した(データ転送中である)ことを検知する。
【0047】
次に、CPU2は、コントロールバスの第7の信号線に出力するCont_REQ_A#信号をディアサートし、第9の信号線に出力するCont_REQ_C#信号をアサートする(ステップS52)。
【0048】
次に、第1の半導体記憶素子4の転送制御マシーン416は、クロック発生回路420によって発生するクロックに同期して、第2の半導体記憶素子6にプログラムシーケンスを出力するように内部の回路を動作させる。このときの転送制御マシーン416の動作は、実施の形態1に説明したものと同一である(図9において、第1の半導体記憶素子4のCE#(O)端子およびWE#(I/O)端子から出力される信号は、それぞれ、A_CE#(O)およびA_WE#である。また、第1の半導体記憶素子4からアドレスバスおよびデータバスに出力される信号は、それぞれ、A_ADD(92)およびA_Data(94)である。)。
【0049】
データ転送量で指示された分の直接データ転送が終了すると、第1の半導体記憶素子4の転送制御マシーン416(シーケンサ10)が停止する。第1の半導体記憶素子4の転送制御信号生成回路414は、転送制御マシーン416の停止を検知して、コントロールバスの第8の信号線に出力するA_R/B#信号を高レベル(レディ状態)にする。CPU2は、コントロールバスを介して、第1の半導体記憶素子4から、高レベルのA_R/B#信号を受け取り(ステップS54)、第1の半導体記憶素子4が直接データ転送を終了したことを検知する。
【0050】
CPU2は、第1の半導体記憶素子4が直接データ転送を終了したことを検知すると、第9の信号線に出力するCont_REQ_C#信号をディアサートする(ステップS56)。
【0051】
次に、第3の半導体記憶素子14の転送制御マシーン416は、クロック発生回路420によって発生するクロックに同期して、第4の半導体記憶素子16にプログラムシーケンスを出力するように内部の回路を動作させる。このときの転送制御マシーン416の動作は、実施の形態1に説明したものと同一である(図9において、第3の半導体記憶素子14のCE#(O)端子およびWE#(I/O)端子から出力される信号は、それぞれ、C_CE#(O)およびC_WE#である。また、第3の半導体記憶素子14からアドレスバスおよびデータバスに出力される信号は、それぞれ、C_ADD(96)およびC_Data(98)である。)。
【0052】
データ転送量で指示された分の直接データ転送が終了すると、第3の半導体記憶素子14の転送制御マシーン416(シーケンサ18)が停止する。第3の半導体記憶素子14の転送制御信号生成回路414は、転送制御マシーン416の停止を検知して、コントロールバスの第10の信号線に出力するC_R/B#信号を高レベル(レディ状態)にする。CPU2は、コントロールバスを介して、第3の半導体記憶素子14から、高レベルのC_R/B#信号を受け取り(ステップS58)、第3の半導体記憶素子14が直接データ転送を終了したことを検知する。
【0053】
本実施の形態による半導体記憶装置において、CPU2は、第1の半導体記憶素子4および第3の半導体記憶素子14の各々に対して、直接データ転送の中断を指示する信号を出力できる。これにより、一方の直接データ転送が実行途中であっても、必要に応じて、その直接データ転送を中断させ、他方の直接データ転送を実行することが可能となる。つまり、複数の組の半導体記憶素子間のデータ転送を同時に行うことができる。これは、RTOSを搭載したシステムにおける優先順位をつけたタスクの速やかな実行を可能にする。
【0054】
本実施の形態による半導体記憶装置において、第1の半導体記憶素子4から第2の半導体記憶素子6への直接データ転送および半導体記憶素子14から半導体記憶素子16への直接データ転送は、それぞれ、シーケンサ10およびシーケンサ18がその制御を行う。それらの直接データ転送の間、CPU2は、In_A端子およびIn_C端子に入力されるレディ/ビジー信号(A_R/B#、C_R/B#)をモニタするのみである。これにより、データ転送におけるCPU2の負荷を低減できる。また、その結果として、半導体記憶装置のパフォーマンスを向上させることができる。
【0055】
また、本実施の形態による半導体記憶装置において、第1の半導体記憶素子4のシーケンサ10および第3の半導体記憶素子14のシーケンサ18を、それぞれ、第2の半導体記憶素子6および第4の半導体記憶素子16のみに対応するハードロジックとすることにより、シーケンサを有しない半導体記憶素子と比較したときのダイペナルティを、シーケンサ等の制御装置を搭載した他の素子に比べて小さくすることができる。また、第1の半導体記憶素子4のシーケンサ10および第3の半導体記憶素子14のシーケンサ18を、特定の種類の半導体記憶素子のみに対応するハードロジックとすることにより、製造コストを低減できる。
【0056】
なお、本実施の形態による半導体記憶装置において、CPU2は、データ転送量74を書き込んだ直後に、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)したが、シーケンサ10がデータ94を転送している途中で、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)してもよい。
【0057】
また、CPU2は、データ転送量90を書き込んだ直後に、Cont_REQ_C#信号をアサート(Cont_REQ_A#信号をディアサート)したが、シーケンサ18がデータ98を転送している途中で、Cont_REQ_C#信号をアサート(Cont_REQ_A#信号をディアサート)してもよい。
【0058】
さらに、CPU2は、第1の半導体記憶素子4から高レベルのA_R/B#信号を受け取った後で、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)したが、第1の半導体記憶素子4がデータ94を転送している途中に、Cont_REQ_A#信号をアサート(Cont_REQ_C#信号をディアサート)してもよい。
【0059】
なお、本実施の形態による半導体記憶装置においては、半導体記憶素子間のデータ転送を制御する半導体記憶素子コントローラ8は、CPU2に内蔵されているが、CPU2とは別個に、すなわち、チップセット(半導体チップ群)の形で、CPU2と半導体記憶素子4,6,14,16に相互に接続されて設置されてもよい。
【0060】
本発明による半導体記憶装置は、データ転送量が多いシステムやデータ転送のパフォーマンスをより高めることが望まれる種々のシステムに応用できる。
【0061】
【発明の効果】
本発明による半導体記憶装置によれば、複数の半導体記憶素子と、それら複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、それら複数の半導体記憶素子および制御装置が接続されるシステムバスとを備え、複数の半導体記憶素子は、制御装置から直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含み、システムバスは、チップイネーブル信号を、データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含み、データ転送元半導体記憶素子は、直接データ転送を制御する内部制御手段を備え、内部制御手段は、制御装置からシステムバスを介して直接データ転送の開始コマンドを含む指示を受け取ると、システムバスを介して、直接データ転送中であることを示す信号を制御装置に出力し、チップイネーブル信号を、システムバスを介して、データ転送先半導体記憶素子に送り、上記の指示に基づいて、データ転送元半導体記憶素子からデータ転送先半導体記憶素子への直接データ転送を制御するので、半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【0062】
本発明による半導体記憶装置によれば、上記の内部制御手段は、直接データ転送の指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、レジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、システムバスに出力するアドレス生成回路と、直接データ転送中であるか否かを示す信号、転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、システムバスに出力する転送制御信号生成回路と、レジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより転送元半導体記憶素子から読み出したデータを、システムバスに出力する出力制御回路と、クロック信号に応じてアドレス生成回路と出力制御回路を制御する転送制御回路とを備えるので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【0063】
本発明による半導体記憶装置によれば、上記の制御装置は、中央演算処理装置またはチップセットを含むので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【0064】
本発明による半導体記憶装置によれば、上記の転送制御信号生成回路は、さらに、直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、システムバスに出力するので、制御装置は、直接データ転送中に、その終了を示す信号が出力されるのを待つのみでよく、データ転送における制御装置の負荷低減を実現できる。
【0065】
本発明による半導体記憶装置によれば、上記の制御装置は、複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成でき、データ転送元半導体記憶素子は、直接データ転送の中断を指示する信号を入力する割り込み端子を備え、内部制御手段は、制御装置から直接データ転送の中断の指示を受け取ると直接データ転送を中断するので、RTOSを搭載したシステムにおける優先順位をつけたタスクを速やかに実行できる。
【0066】
本発明による半導体記憶装置によれば、複数の半導体記憶素子は、複数のデータ転送元半導体記憶素子を含み、システムバスは、制御装置と各々のデータ伝送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバスを含み、かつ、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含むので、半導体記憶装置の半導体記憶素子の間のデータ転送において制御装置の負荷を低減できる。
【図面の簡単な説明】
【図1】本発明による半導体記憶装置の構成を示すブロック図。
【図2】CPUの内部構成を示すブロック図。
【図3】データ転送元半導体記憶素子の内部構成を示すブロック図。
【図4】データ転送先半導体記憶素子の内部構成を示すブロック図。
【図5】図1の半導体記憶装置における一時中断を含むデータ転送時のCPUによる制御を示すフローチャートの図。
【図6】図1の半導体記憶装置における一時中断を含むデータ転送動作を説明するタイミングチャートの図。
【図7】本発明による別の半導体記憶装置の構成を示すブロック図。
【図8】図7の半導体記憶装置におけるデータ転送時のCPUによる制御を示すフローチャートの図。
【図9】図7の半導体記憶装置におけるデータ転送動作を説明するタイミングチャートの図。
【図10】従来の半導体記憶装置の構成を示すブロック図。
【符号の説明】
2 CPU、 4 第1の半導体記憶素子、 6 第2の半導体記憶素子、 8 半導体記憶素子コントローラ、 10 シーケンサ、 12 割り込み信号
Claims (6)
- 複数の半導体記憶素子と、
前記複数の半導体記憶素子へのデータの書き込みと読み出しを制御するとともに、前記複数の半導体記憶素子の間の直接データ転送を指示する制御装置と、
前記複数の半導体記憶素子および前記制御装置が接続されるシステムバスと
を備え、
前記複数の半導体記憶素子は、前記制御装置から前記直接データ転送の指示を受けて直接データ転送を行うデータ転送元半導体記憶素子を含み、
前記システムバスは、チップイネーブル信号を、前記データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含み、
前記データ転送元半導体記憶素子は、前記直接データ転送を制御する内部制御手段を備え、
前記内部制御手段は、前記制御装置から前記システムバスを介して直接データ転送の開始コマンドを含む前記指示を受け取ると、前記システムバスを介して、直接データ転送中であることを示す信号を前記制御装置に出力し、チップイネーブル信号を、前記システムバスを介して、前記データ転送先半導体記憶素子に送り、前記指示に基づいて、前記データ転送元半導体記憶素子から前記データ転送先半導体記憶素子への直接データ転送を制御することを特徴とする半導体記憶装置。 - 前記内部制御手段は、
直接データ転送の前記指示に含まれる転送開始コマンド、転送元先頭アドレス、転送先先頭アドレスおよびデータ転送量を記憶するレジスタと、
前記レジスタに記憶された転送先先頭アドレスおよびデータ転送量を基に転送先アドレスを生成し、前記システムバスに出力するアドレス生成回路と、
直接データ転送中であるか否かを示す信号、前記データ転送先半導体記憶素子へのチップイネーブル信号、ライトイネーブル信号およびアウトプットイネーブル信号を生成し、前記システムバスに出力する転送制御信号生成回路と、
前記レジスタに記憶された転送元先頭アドレスとデータ転送量を基に生成された転送元アドレスにより前記データ転送元半導体記憶素子から読み出したデータを、前記システムバスに出力する出力制御回路と、
クロック信号に応じて前記アドレス生成回路と前記出力制御回路を制御する転送制御回路と
を備えることを特徴とする請求項1に記載の半導体記憶装置。 - 前記制御装置は、中央演算処理装置またはチップセットを含むことを特徴とする請求項1または請求項2に記載の半導体記憶装置。
- 前記転送制御信号生成回路は、さらに、前記直接データ転送が終了したことを検知すると、その終了を示す信号を生成して、前記システムバスに出力することを特徴とする請求項2または請求項3に記載の半導体記憶装置。
- 前記制御装置は、前記複数の半導体記憶素子の間の直接データ転送の中断を指示する信号を生成でき、前記データ転送元半導体記憶素子は、直接データ転送の中断を指示する前記信号を入力する割り込み端子を備え、前記内部制御手段は、前記制御装置から直接データ転送の中断の前記指示を受け取ると直接データ転送を中断することを特徴とする請求項1から請求項4のいずれかに記載の半導体記憶装置。
- 前記複数の半導体記憶素子は、複数の前記データ転送元半導体記憶素子を含み、
前記システムバスは、前記制御装置と各々のデータ転送元半導体記憶素子との間でチップセレクト信号、割り込み信号および直接データ転送中であることを示す信号を送るバス、および、チップイネーブル信号を当該データ転送元半導体記憶素子からデータ転送先半導体記憶素子のチップイネーブル端子へ送るバスを含むことを特徴とする請求項1から請求項5のいずれかに記載の半導体記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002177329A JP2004021713A (ja) | 2002-06-18 | 2002-06-18 | 半導体記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002177329A JP2004021713A (ja) | 2002-06-18 | 2002-06-18 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004021713A true JP2004021713A (ja) | 2004-01-22 |
Family
ID=31175393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002177329A Pending JP2004021713A (ja) | 2002-06-18 | 2002-06-18 | 半導体記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004021713A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016143009A1 (ja) * | 2015-03-06 | 2016-09-15 | 株式会社 東芝 | メモリデバイスの制御方法、及び、メモリデバイス |
US11567868B2 (en) | 2020-11-13 | 2023-01-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for copying data within memory device, memory device, and electronic device thereof |
-
2002
- 2002-06-18 JP JP2002177329A patent/JP2004021713A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016143009A1 (ja) * | 2015-03-06 | 2016-09-15 | 株式会社 東芝 | メモリデバイスの制御方法、及び、メモリデバイス |
JPWO2016143009A1 (ja) * | 2015-03-06 | 2017-11-30 | 東芝メモリ株式会社 | メモリデバイスの制御方法、及び、メモリデバイス |
CN107430548A (zh) * | 2015-03-06 | 2017-12-01 | 东芝存储器株式会社 | 存储装置的控制方法、及存储装置 |
US10725909B2 (en) | 2015-03-06 | 2020-07-28 | Toshiba Memory Corporation | Memory device controlling including reading from a first memory and writing to a second memory based on timing and control signals |
CN107430548B (zh) * | 2015-03-06 | 2021-02-05 | 东芝存储器株式会社 | 存储装置的控制方法、及存储装置 |
US11500770B2 (en) | 2015-03-06 | 2022-11-15 | Kioxia Corporation | Memory device controlling including reading from a first memory and writing to a second memory based on timing and control signals |
US11567868B2 (en) | 2020-11-13 | 2023-01-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for copying data within memory device, memory device, and electronic device thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3055917B2 (ja) | データ転送制御装置 | |
JP2006338538A (ja) | ストリームプロセッサ | |
US6581119B1 (en) | Interrupt controller and a microcomputer incorporating this controller | |
JP2000047974A (ja) | バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム | |
JP2005057374A (ja) | A/d変換装置およびマイクロコントローラ | |
JP2000020451A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2004078683A (ja) | コンピュータシステムおよび共有メモリ制御方法 | |
US20030181994A1 (en) | Microprocessor performing efficient external bus access | |
JP2004021713A (ja) | 半導体記憶装置 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP2018106583A (ja) | 半導体装置 | |
JP4190969B2 (ja) | バスシステム及びambaにおけるバス調停システム | |
JP2002175265A (ja) | 直接メモリ・アクセス・コントローラを有するディジタル信号プロセッサにおける複数の構成素子間での信号群交換装置および方法 | |
JP2003281077A (ja) | 半導体集積回路装置 | |
JP3201439B2 (ja) | ダイレクト・メモリ・アクセス・制御回路 | |
JP2007087244A (ja) | コプロセッサ及びコンピュータシステム | |
JPH11110342A (ja) | バス接続方法及び装置 | |
JP2002278753A (ja) | データ処理システム | |
JP3324567B2 (ja) | 論理シミュレーション装置 | |
JP3678537B2 (ja) | データ転送方法及び装置 | |
JPH09218859A (ja) | マルチプロセッサ制御システム | |
JP5656589B2 (ja) | データ転送装置、データ転送方法及びデータ転送プログラム | |
JP2006023808A (ja) | データ転送装置及びデータ転送方法 | |
JP2004145593A (ja) | ダイレクトメモリアクセス装置およびバスアービトレーション制御装置、ならびにそれらの制御方法 | |
JPS6121559A (ja) | メモリ間デ−タ直接転送方式 |