JP2007219707A - データ記録装置、データ処理装置、およびデータ書き込み読み出し方法 - Google Patents
データ記録装置、データ処理装置、およびデータ書き込み読み出し方法 Download PDFInfo
- Publication number
- JP2007219707A JP2007219707A JP2006037878A JP2006037878A JP2007219707A JP 2007219707 A JP2007219707 A JP 2007219707A JP 2006037878 A JP2006037878 A JP 2006037878A JP 2006037878 A JP2006037878 A JP 2006037878A JP 2007219707 A JP2007219707 A JP 2007219707A
- Authority
- JP
- Japan
- Prior art keywords
- data
- command
- output
- bus
- address
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】より高速に高品質なデータを書き込みまたは読み出すことができるようにする。
【解決手段】ドライバ21の通信チップ72と、記録ボード31の通信チップ51は、アンテナを介して、電磁誘導または静電誘導を利用して通信する。通信チップ51はバスB0,B1,B2,B3,B4を介して、メモリチップ53-0,53-1,53-2,53-3と、データが一方向に順次伝送されるように、ループ状に接続されている。各メモリチップ53-0,53-1,53-2,53-3は、自分宛のコマンドを取得したとき、対応する処理を実行し、その後、自分宛のコマンドを除去し、後段に存在するメモリチップ宛のコマンドのみを後段に出力する。本発明は、データを記録する記録ボードに適用することができる。
【選択図】図4
【解決手段】ドライバ21の通信チップ72と、記録ボード31の通信チップ51は、アンテナを介して、電磁誘導または静電誘導を利用して通信する。通信チップ51はバスB0,B1,B2,B3,B4を介して、メモリチップ53-0,53-1,53-2,53-3と、データが一方向に順次伝送されるように、ループ状に接続されている。各メモリチップ53-0,53-1,53-2,53-3は、自分宛のコマンドを取得したとき、対応する処理を実行し、その後、自分宛のコマンドを除去し、後段に存在するメモリチップ宛のコマンドのみを後段に出力する。本発明は、データを記録する記録ボードに適用することができる。
【選択図】図4
Description
本発明はデータ記録装置、データ処理装置、およびデータ書き込み読み出し方法に関し、特に、より高速にデータを書き込みまたは読み出すことができるようにしたデータ記録装置、データ処理装置、およびデータ書き込み読み出し方法に関する。
図1は、従来のデータの書き込みと読み出しの原理的構成を表している。図1の例では、コントローラ1が4個のメモリデバイス2乃至5に対して、データを書き込みまたは読み出す処理を行う。このため、コントローラ1と4個のメモリデバイス2乃至5は、1対多の関係で接続されている。すなわち、コントローラ1は各メモリデバイス2乃至5に対して直接接続され、それぞれに対してデータ、アドレス、コマンド、チップセレクト信号、およびクロックを直接供給する。
また、本出願人は、メモリを内蔵する複数の演算処理ユニットをカスケードに接続する構成を先に提案した(例えば、特許文献1)。この提案においては、各演算処理ユニットに対して共通のプロセスパケットが供給される。プロセスパケットには所定のアドレスとデータが格納されており、各演算処理ユニットは、プロセスパケットに記述されているアドレスが自分自身が有するメモリのアドレスと一致する場合には、そのデータをそのアドレスに書き込む。プロセスパケットは後段の演算処理ユニットに順次転送される。
特開2004−80295号公報
しかしながら、図1の構成の場合、コントローラとメモリデバイス2乃至5が、1対多に接続されているため、信号の分岐点(スタブ)が形成される。その結果、データの転送レートが増大し、周波数が高くなるにつれ、また、スタブの数が増加するにつれ、信号の品質が劣化する。
また、特許文献1に記載の発明では、各演算処理ユニットに共通のプロセスパケットが転送されるため、書き込み時において転送するデータ量が多くなり、消費電力が大きくなる。
本発明は、このような状況に鑑みてなされたものであり、より高速に高品質なデータを書き込みまたは読み出すことができるようにするものである。また、本発明は、書き込み時、転送するデータ量を少なくし、消費電力を少なくするものである。
本発明の側面は、データを保持する複数の保持手段と、前記保持手段に書き込む書き込みデータを入力する入力手段と、前記保持手段から読み出された読み出しデータを出力する出力手段と、前記入力手段から入力された前記書き込みデータとクロックを先頭の前記保持手段に供給し、前段の前記保持手段から出力された前記クロックと前記書き込みデータまたは前記読み出しデータを後段の前記保持手段に出力し、最後の前記保持手段が出力する前記クロックと前記読み出しデータを前記出力手段に供給するように、前記書き込みデータ、前記読み出しデータ、および前記クロックを同じ方向に、かつループ状に供給する供給手段とを備え、前記保持手段は、書き込み時、前段から入力された前記書き込みデータのうち、自分宛以外の前記書き込みデータは後段に出力するとともに、自分宛の前記書き込みデータは書き込んで、後段に出力せず、読み出し時、前段から入力された前記読み出しデータと、自分が読み出した前記読み出しデータを後段に出力するデータ記録装置である。
前記入力手段と前記出力手段は、それぞれ電磁誘導または静電誘導でデータを入力または出力することができる。
前記供給手段は、前記書き込みデータまたは前記読み出しデータ、書き込みまたは読み出しを命令するコマンド、および書き込む位置または読み出す位置を表すアドレスを供給するバスを備えることができる。
前記保持手段は、前記コマンド用のバスまたは前記アドレス用のバスに、前記コマンドまたは前記アドレスに切り換えて、前記読み出しデータを供給させる切り替え手段をさらに備えることができる。
また本発明の側面は、前記データ記録装置に対してデータを書き込みまたは読み出すデータ処理装置であって、書き込み時、前記入力手段を介して前記クロック、前記書き込みデータ、前記コマンド、および前記アドレスを出力し、読み出し時、前記出力手段を介して前記クロックと前記読み出しデータを入力するように、書き込みと読み出しを制御する制御手段を備えるデータ処理装置とすることができる。
さらに本発明の側面は、データを保持する複数の保持部と、前記保持部に書き込む書き込みデータを入力する入力部と、前記保持部から読み出された読み出しデータを出力する出力部と、前記入力部から入力された前記書き込みデータとクロックを先頭の前記保持部に供給し、前段の前記保持部から出力された前記クロックと前記書き込みデータまたは前記読み出しデータを後段の前記保持部に出力し、最後の前記保持部が出力する前記クロックと前記読み出しデータを前記出力部に供給するように、前記書き込みデータ、前記読み出しデータ、および前記クロックを同じ方向に、かつループ状に供給する供給部とを備えるデータ記録装置のデータ書き込み読み出し方法において、前記保持部は、書き込み時、前段から入力された前記書き込みデータのうち、自分宛以外の前記書き込みデータは後段に出力するとともに、自分宛の前記書き込みデータは書き込んで、後段に出力せず、読み出し時、前段から入力された前記読み出しデータと、自分が読み出した前記読み出しデータを後段に出力するデータ書き込み読み出し方法である。
本発明の側面においては、書き込み時、前段から入力された書き込みデータのうち、自分宛以外の書き込みデータは後段に出力され、自分宛の書き込みデータは書き込まれた後、後段に出力されない。読み出し時、前段から入力された読み出しデータと、自分が読み出した読み出しデータは、後段に出力される。
以上のように、本発明の側面によれば、より高速に高品質なデータを書き込みまたは読み出すことができる。特に、本発明の側面によれば、より確実かつ高速にデータを書き込みまたは読み出すことができる。さらに、本発明の側面によれば、書き込み時、転送するデータ量を少なくし、消費電力を少なくすることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の側面は、データを保持する複数の保持手段(例えば、図4のメモリチップ53-0乃至53-3)と、前記保持手段に書き込む書き込みデータを入力する入力手段(例えば、図4の受信部52R)と、前記保持手段から読み出された読み出しデータを出力する出力手段(例えば、図4の送信部52T)と、前記入力手段から入力された前記書き込みデータとクロックを先頭の前記保持手段(例えば、図4のメモリチップ53-0)に供給し、前段の前記保持手段から出力された前記クロックと前記書き込みデータまたは前記読み出しデータを後段の前記保持手段に出力し、最後の前記保持手段(例えば、図4のメモリチップ53-3)が出力する前記クロックと前記読み出しデータを前記出力手段に供給するように、前記書き込みデータ、前記読み出しデータ、および前記クロックを同じ方向に、かつループ状に供給する供給手段(例えば、図4のバスB0乃至B4)とを備え、前記保持手段は、書き込み時、前段から入力された前記書き込みデータのうち、自分宛以外の前記書き込みデータは後段に出力するとともに、自分宛の前記書き込みデータは書き込んで、後段に出力せず、読み出し時、前段から入力された前記読み出しデータと、自分が読み出した前記読み出しデータを後段に出力するデータ記録装置(例えば、図4の記録ボード31)である。
前記入力手段と前記出力手段は、それぞれ電磁誘導または静電誘導(例えば、図3のアンテナ52)でデータを入力または出力することができる。
前記保持手段は、前記コマンド用のバスまたは前記アドレス用のバスに、前記コマンドまたは前記アドレスに切り換えて、前記読み出しデータを供給させる切り替え手段(例えば、図15のスイッチ151,152)をさらに備えることができる。
また本発明の側面は、前記データ記録装置に対してデータを書き込みまたは読み出すデータ処理装置(例えば、図2のデータ処理装置20)であって、書き込み時、前記入力手段を介して前記クロック、前記書き込みデータ、前記コマンド、および前記アドレスを出力し、読み出し時、前記出力手段を介して前記クロックと前記読み出しデータを入力するように、書き込みと読み出しを制御する制御手段 (例えば、図4のコントローラ81)を備えるデータ処理装置とすることができる。
さらに本発明の側面は、データを保持する複数の保持部(例えば、図4のメモリチップ53-0乃至53-3)と、前記保持部に書き込む書き込みデータを入力する入力部(例えば、図4の受信部52R)と、前記保持部から読み出された読み出しデータを出力する出力部(例えば、図4の送信部52T)と、前記入力部から入力された前記書き込みデータとクロックを先頭の前記保持部(例えば、図4のメモリチップ53-0)に供給し、前段の前記保持部から出力された前記クロックと前記書き込みデータまたは前記読み出しデータを後段の前記保持部に出力し、最後の前記保持部(例えば、図4のメモリチップ53-3)が出力する前記クロックと前記読み出しデータを前記出力部に供給するように、前記書き込みデータ、前記読み出しデータ、および前記クロックを同じ方向に、かつループ状に供給する供給部(例えば、図4のバスB0乃至B4)とを備えるデータ記録装置のデータ書き込み読み出し方法において、前記保持部は、書き込み時、前段から入力された前記書き込みデータのうち、自分宛以外の前記書き込みデータは後段に出力する(例えば、図6のステップS4,S7,S10,S13)とともに、自分宛の前記書き込みデータは書き込んで、後段に出力せず (例えば、図6のステップS3,S6,S9,S12)、読み出し時、前段から入力された前記読み出しデータ(例えば、図8のステップS45,S49,S53,S57、ステップS44,S47,S50,S53)と、自分が読み出した前記読み出しデータを後段に出力する(例えば、図8のステップS43,S46,S49,S52)データ書き込み読み出し方法(例えば、図6の書き込み処理方法と図8の読み出し処理方法)である。
以下、図を参照して本発明の実施の形態について説明する。
図2は、本発明を適用したデータ処理装置の構成を表している。このデータ処理装置20は、ドライバ21と、そのドライバ21のスロット22に着脱自在に装着される記録ボード31により構成されている。ドライバ21は装着された記録ボード31に対してデータを書き込んだり、あるいは記録されているデータを読み出す処理を行う。
図3は、記録ボード31がドライバ21のスロット22に装着された状態における側断面構成を表している。データを記録するデータ記録装置としての記録ボード31は、メモリチップ53と通信チップ51を有しており、それらは配線パターン55により信号を授受することができるように相互に接続されている。また、記録ボード31がドライバ21のスロット22に装着されたとき、ドライバ21から電源電極54を介して、メモリチップ53と通信チップ51に配線パターン55を介して必要な電力が供給される。
通信チップ51はアンテナ52を有しており、このアンテナ52を介して内部ボート71と通信するように構成されている。通信チップ51、アンテナ52、メモリチップ53、配線パターン55などは、樹脂56によりモールドされている。
ドライバ21に内蔵されている内部ボート71は、アンテナ73を有する通信チップ72を備えている。通信チップ72は、配線パターン74を介して図示せぬドライバ21の他の回路に接続されている。通信チップ72、アンテナ73、配線パターン74は、樹脂75によりモールドされている。記録ボード31は、スロット22の所定の位置に装着された時、そのアンテナ52が、内部ボート71のアンテナ73に対向するように配置される。
アンテナ52,73は、コイルあるいは金属平板により構成され、近接配置されることで、電磁誘導あるいは静電誘導により非接触の状態で通信を行う。
図4は、ドライバ21と記録ボード31の内部の電気的接続を表している。ドライバ21は、記録ボード31に対するデータの書き込み及び読み出しを制御するコントローラ81を有している。コントローラ81は、通信チップ72が有する送信用のアンテナ73Tと、受信用のアンテナ73Rに接続されている。
記録ボード31は、メモリチップ53-0乃至53-3を有している。メモリチップ53(以下、メモリチップ53-0乃至53-3を個々に区別する必要がない場合、単にメモリチップ53と記載する)は、データを記憶するメモリコア以外に、バッファとコントローラを内蔵している(その詳細は、図10を参照して後述する)。但し、図示しないが、このバッファとコントローラはメモリチップ(メモリコアを含むチップ)と別のチップで構成し、メモリチップ(メモリコアを含むチップ)と接続した状態で構成することも可能である。メモリチップ53-0乃至53-3のコントローラには、それぞれ自身の接続位置が、実装の際のボンディングオプションや、エレクトリカルヒューズなどによりプログラムされている。
先頭のメモリチップ53-0は、通信チップ51の受信用のアンテナ52Rと、信号バスB0で接続されている。以下、メモリチップ53-0とメモリチップ53-1が信号バスB1により接続され、メモリチップ53-1とメモリチップ53-2が信号バスB2により接続され、メモリチップ53-2とメモリチップ53-3が信号バスB3により接続され、最後のメモリチップ53-3と通信チップ51の送信用のアンテナ52Tが信号バスB4により接続されている。
各メモリチップ53を順次接続する信号バスB0乃至B4は、データ、アドレス、コマンド、コマンドコントロール信号、クロックなどを転送するバスから構成される。
アンテナ52R,52Tとメモリチップ53-0乃至53-4は、ポイント−ポイント接続(1対1接続)とされており、これによりインピーダンスの不整合による信号品質の劣化を回避することができる。また、信号バスB0乃至B4は、コントローラ81に対してループ状に接続され、データ、アドレス、コマンド、コマンドコントロール信号、クロック等は一方向にのみ(常に決まった方向にのみ)転送される。クロックも他の信号と同様にポイント−ポイント接続で転送され、それぞれのメモリチップ53-0乃至53-4の出力信号はそれぞれのクロックと同層のタイミングで出力される。
このように、本発明の実施の形態においては、各メモリチップ53はバスB0乃至B4により、コントローラ81からデータが常に一方向に供給されるように、かつループ状に(コントローラ81から出力されたクロックがまたコントローラ81に戻るように)接続されている。これにより、書き込み時における場合と読み出し時における場合とで、コマンド、データ等の伝送方向を切り換える必要がなくなり、コントローラ81は高速にデータを書き込み、また読み出すことができる。
また、コントローラ81と各メモリチップ53は、通信チップ72,51を介して非接触通信するのであるが、以下においては、図5に示されるように、通信チップ72,51を省略した構成で、データの書き込みと読み出しの動作について説明する。
最初に、図6のフローチャートと図7のタイミングチャートを参照して、書き込み(ライト)処理について説明する。
なお、説明を簡単にするために、ランダムライト時のメモリサイクルは8クロックで、バースト長2の入力データを各メモリチップ53のコントローラでパラレル変換して書き込むものとする。また、各メモリチップ53のコントローラのデータレーテンシは2とする。
ステップS1において、コントローラ81は、クロック(図7B0-A)、コマンド(図7B0-C)、アドレス(図7B0-D)、及びデータ(図7B0-F)を通信バスB0に出力する。このとき、コマンドコントロール信号として、コマンドに対応するコマンドイネーブル信号(図7B0-B)が出力されるとともに、データに対応してデータイネーブル信号(図7B0-E)も出力される。アドレスは、メモリチップ53-0乃至53-3それぞれのアドレス空間用のアドレスに加えて、メモリチップ53-0乃至53-3の位置を指定するアドレスも含む。
具体的には、図7に示されるように、クロック0で、コマンドイネーブル信号(図7B0-B)とともに、ライトコマンド(W)(図7B0-C)とアドレス(A00)(図7B0-D)が出力される。アドレスとしては、メモリチップ53-0内にデータを書き込むための任意のアドレス(A00)が指定されている(以下、このような状態を、W+A00のように記載する)。また、クロック0,1のタイミングで、書き込みデータ(00a,00b)(図7B0-F)がデータイネーブル信号(図7B0-E)とともに出力される。
同様にクロック2でメモリチップ53-1に対するライトコマンドとアドレス(W+A01)(図7B0-C,D)が、コマンドイネーブル信号(図7B0-B)とともに出力され、クロック2,3のタイミングで、書き込みデータ(01a,01b)(図7B0-F)が出力される。クロック4でメモリチップ53-2に対するライトコマンドとアドレス(W+A02)が、コマンドイネーブル信号(図7B0-B)とともに出力され(図7B0-C,D)、クロック4,5のタイミングで、書き込みデータ(02a,02b)(図7B0-F)が出力される。クロック6でメモリチップ53-3に対するライトコマンドとアドレス(W+A03)が、コマンドイネーブル信号(図7B0-B)とともに出力され(図7B0-C,D)、クロック6,7のタイミングで、書き込みデータ(03a,03b)(図7B0-F)が出力される。クロック8で再びメモリチップ53-0に対するライトコマンドとアドレス(W+A10)が、コマンドイネーブル信号(図7B0-B)とともに出力され(図7B0-C,D)、クロック8,9のタイミングで、書き込むデータ(10a,10b)(図7B0-F)が出力される。
次にステップS2において、メモリチップ53-0は、信号バスB0より入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック1で、メモリチップ53-0内で、自身のアドレスと送られてきたアドレスの一致が確認される。データ長(この場合は2)分のデータ(00a,00b)の到着を待って、ステップS3で、メモリチップ53-0は、取り込んだデータを、取り込んだアドレスに書き込む。すなわち、クロック3から、指定されたアドレス(A00)に対して、取り込まれた(指定された)書き込みデータ(00a,00b)の書き込みが開始される。
ステップS2において、コマンドが自分宛のコマンドではないと判定された場合、ステップS4において、メモリチップ53-0は、クロック(図7B1-A)と、自分宛以外のコマンド(W)(図7B1-C)、アドレス(A01,A02,A03)(図7B1-D)、データ(01a,01b,02a,02b,03a,03b)(図7B1-F)を後段に出力する。勿論、コマンドとアドレスに対応して、コマンドイネーブル信号(図7B1-B)とデータイネーブル信号(図7B1-E)も出力される。
信号バスB0から信号バスB1にコマンド及びアドレスが転送される速度は2クロックであるが、信号バスB1のクロック2の時点において、アドレスA00及びライトコマンド(W)、およびデータ(00a,00b)は後段に出力されない。この動作はこのバス構成のひとつの特徴であり、クロックは常に後段に出力されるが、指定されたメモリチップまで到達したコマンド、アドレス及びデータは、消費電力低減のために、それより後段には転送されない。すなわち、メモリチップ53-0は、自分以外のメモリチップ53-1乃至53-3宛のコマンド(W)、アドレス(A01,A02,A03)及びデータ(01a,01b,02a,02b,03a,03b)を後段(信号バスB1)に出力するが、自分宛のコマンド(W)、アドレス(A00)及びデータ(00a,00b)を後段に出力しない。これにより、その分だけ、書き込み時において転送するデータ量を少なくし、消費電力を低減することができる。
ステップS3,S4の処理の後、ステップS5において、メモリチップ53-1は、信号バスB1より入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック5で、メモリチップ53-1は、自身のアドレスと送られてきたアドレスの一致を確認する。コマンドが、自分宛のコマンドである場合、データ長分のデータ(01a,01b)の到着を待って、ステップS6で、メモリチップ53-1は、取り込んだデータを、取り込んだアドレスに書き込む。すなわち、クロック7から、指定されたアドレス(A01)への書き込みデータ(01a,01b)の書き込みが開始される。
ステップS5において、コマンドが自分宛のコマンドではないと判定された場合、ステップS7において、メモリチップ53-1は、クロック(図7B2-A)と、自分宛以外のコマンド(W)(図7B2-C)、アドレス(A02,A03)(図7B2-D)、並びにデータ(02a,02b,03a,03b)(図7B1-F)を後段に出力する。また、コマンドとデータに対応して、コマンドイネーブル信号(図7B2-B)とデータイネーブル信号(図7B2-E)も出力される。信号バスB2のクロック6の時点において、アドレスA01及びライトコマンド(W)、およびデータ(01a,01b)は後段に出力されない。すなわち、メモリチップ53-1は、自分以外のメモリチップ53-2,53-3宛のコマンド(W)、アドレス(A02,A03)及びデータ(02a,02b,03a,03b)を後段(信号バスB2)に出力するが、自分宛のコマンド(W)、アドレス(A01)及びデータ(01a,01b)を後段に出力しない。
ステップS6,S7の処理の後、ステップS8において、メモリチップ53-2は、信号バスB2より入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック9で、メモリチップ53-2は、自身のアドレスと送られてきたアドレスの一致を確認する。コマンドが、自分宛のコマンドである場合、データ長分のデータ(02aと02b)の到着を待って、ステップS9で、メモリチップ53-2は、取り込んだデータを、取り込んだアドレスに書き込む。すなわち、クロック11から指定されたアドレス(A02)への書き込みデータ(02a,02b)の書き込みが開始される。
ステップS8において、コマンドが自分宛のコマンドではないと判定された場合、ステップS10において、メモリチップ53-2は、クロック(図7B3-A)と、自分宛以外のコマンド(W)(図7B3-C)、アドレス(A03)(図7B3-D)、並びにデータ(03a,03b)(図7B2-F)を後段に出力する。コマンドとデータに対応して、コマンドイネーブル信号(図7B3-B)とデータイネーブル信号(図7B3-E)も出力される。信号バスB3のクロック10の時点において、アドレスA02及びライトコマンド(W)、およびデータ(02a,02b)は後段に出力されない。すなわち、メモリチップ53-2は、自分以外のメモリチップ53-3宛のコマンド(W)、アドレス(A03)及びデータ(03a,03b)は後段(信号バスB3)に出力するが、自分宛のコマンド(W)、アドレス(A02)及びデータ(02a,02b)は後段に出力しない。
ステップS9,S10の処理の後、ステップS11において、メモリチップ53-3は、信号バスB3より入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック13で、メモリチップ53-3は、自身のアドレスと送られてきたアドレスの一致を確認する。コマンドが、自分宛のコマンドである場合、データ長分のデータ(03aと03b)の到着を待って、ステップS12で、メモリチップ53-3は、取り込んだデータを、取り込んだアドレスに書き込む。すなわち、クロック15から、指定されたアドレス(A03)への書き込みデータ(03a,03b)の書き込みが開始される。
ステップS11において、コマンドが自分宛のコマンドではないと判定された場合、メモリチップ53-3は、ステップS13において、前段からのクロック(図7B4-A)、コマンド、アドレス及びデータをそのまま後段に出力する。いまの場合、メモリチップ53-3は最後のメモリチップであり、後段にはメモリチップは存在しないので、クロックのみが後段(信号バスB4)に出力される。すなわち、それぞれのメモリチップにデータの書き込みが行われた後は、信号バスB4にはクロック以外の信号は現れない。
次に、図8のフローチャートと図9のタイミングチャートを参照して、データ読み出し(リード)時の処理について説明する。説明を簡単にするために、ランダムリード時のリードレーテンシが7クロック、メモリサイクルが8クロックで、各メモリチップのコントローラでメモリコアの出力データをバースト長(ページ長)2のデータにシリアル変換して出力するものとする。また、各メモリチップのコントローラのデータレーテンシは2とする。さらに、データは、メモリチップ53-0,53-1,53-2,53-3から順次読み出すものとする。
ステップS41で、コントローラ81は、クロック(図9B0-A)、コマンド(図9B0-C)、およびアドレス(図9B0-D)を出力する。このとき、コマンドに対応してコマンドコントロール信号としてのコマンドイネーブル信号(図9B0-B)も出力される。具体的には、図9に示されるように、コントローラ81から信号バスB0に対して、クロック0でリードコマンド(R)(図9B0-C)が、コマンドイネーブル信号(図9B0-B)、並びにメモリチップ53-0内の読み出す位置を表すアドレス(A00)(図9B0-D)とともに出力される(R+A00)。
同様にクロック2でメモリチップ53-1のリードコマンド(R)が、コマンドイネーブル信号(図9B0-B)、並びにアドレス(A01)とともに出力され(R+A01)、クロック4でメモリチップ53-2のリードコマンド(R)が、コマンドイネーブル信号(図9B0-B)、並びにアドレス(A02)とともに出力され(R+A02)、クロック6でメモリチップ53-3のリードコマンド(R)が、コマンドイネーブル信号(図9B0-B)、並びにアドレス(A03)とともに出力される(R+A03)。そして、クロック8で再びメモリチップ53-0のリードコマンド(R)が、コマンドイネーブル信号(図9B0-B)、並びにアドレス(A10)とともに出力される(R+A10)。
ステップS42において、メモリチップ53-0は、信号バスB0から入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック1で、メモリチップ53-0は、自身のアドレスと送られてきたアドレスの一致を確認する。自分宛のコマンドである場合、ステップS43において、メモリチップ53-0は、取り込んだアドレスからデータを読み出し、出力する。具体的には、クロック1のタイミングにおいて、指定されたアドレス(A00)からの読み出しデータの読み出しが開始される。メモリチップ53-0で読み出されたデータ(00a,00b)(図9B1-F)は、クロック9及び10で、信号バスB1に出力される(このデータは、クロック10,11のタイミングで信号バスB1上から他のメモリチップが取り込み可能になる)。またこのとき、データイネーブル信号(図9B1-E)も出力される。
ステップS42において、信号バスB0から入力されたコマンドが、自分宛のコマンドではないと判定された場合、ステップS44において、メモリチップ53-0は、前段からのクロック(図9B1-A)、自分宛以外のコマンド(R)(図9B1-C)、アドレス(A01,A02,A03)(図9B1-D)を、コマンドイネーブル信号(図9B1-B)とともに後段に出力する。しかし、メモリチップ53-0は、自分宛のコマンド(R)とアドレス(A00)を後段に出力しない。すなわち、読み出し時においても、信号バスB0から信号バスB1にコマンド及びアドレスが到達する速度は2クロックであるが、信号バスB1のクロック2のタイミングにおいて、アドレスA00及びリードコマンド(R)は出力されない。これにより消費電力を低減することができる。
なお、メモリチップ53-0は先頭のメモリチップであり、前段からのデータとデータイネーブル信号は、いまの場合、後段には出力されない。
ステップS43,S44の処理の後、ステップS45において、メモリチップ53-1は、信号バスB1から入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック5で、メモリチップ53-1は、自身のアドレスと送られてきたアドレスの一致を確認する。自分宛のコマンドである場合、ステップS46において、メモリチップ53-1は、取り込んだアドレスからデータを読み出し、出力する。具体的には、クロック5のタイミングにおいて、指定されたアドレス(A01)からのデータの読み出しが開始される。メモリチップ53-1で読み出されたデータ(01a,01b)(図9B2-F)は、クロック13及び14で、信号バスB2にデータイネーブル信号(図9B2-E)とともに出力される。読み出しデータ(01a,01b)は、前段からの読み出しデータ(00a,00b)の後に出力される(図9B2-F)。
ステップS45において、信号バスB1から入力されたコマンドが、自分宛のコマンドではないと判定された場合、ステップS47において、メモリチップ53-1は、前段からのクロック(図9B2-A)、自分宛以外のコマンド(R)(図9B2-C)、並びにアドレス(A02,A03)(図9B2-D)を、コマンドイネーブル信号(図9B2-B)とともに後段に出力する。またこのとき、前段より入力されたデータ(00a,00b)(図9B2-F)もデータイネーブル信号(図9B2-E)とともに後段に出力される。しかし、メモリチップ53-1は、自分宛のコマンド(R)とアドレス(A01)を後段に出力しない。すなわち、信号バスB2のクロック6のタイミングにおいて、アドレスA01及びリードコマンド(R)は出力されない。
ステップS46,S47の処理の後、ステップS48において、メモリチップ53-2は、信号バスB2から入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック9で、メモリチップ53-2は、自身のアドレスと送られてきたアドレスの一致を確認する。自分宛のコマンドである場合、ステップS49において、メモリチップ53-2は、取り込んだアドレスからデータを読み出し、出力する。具体的には、クロック9のタイミングにおいて、指定されたアドレス(A02)からのデータの読み出しが開始される。メモリチップ53-2で読み出されたデータ(02a,02b)(図9B3-F)は、クロック17及び18で、信号バスB3にデータイネーブル信号(図9B3-E)とともに出力される。
ステップS48において、信号バスB2から入力されたコマンドが、自分宛のコマンドではないと判定された場合、ステップS50において、メモリチップ53-2は、前段からのクロック(図9B3A)、自分宛以外のコマンド(R)(図9B3-C)、並びにアドレス(A03)(図9B3-D)を、コマンドイネーブル信号(図9B3-B)とともに後段に出力する。またこのとき、前段より入力されたデータ(00a,00b,01a,01b)(図9B3-F)もデータイネーブル信号(図9B3-E)とともに後段に出力される。しかし、メモリチップ53-2は、自分宛のコマンド(R)とアドレス(A02)を後段に出力しない。すなわち、信号バスB2のクロック8のタイミングにおいて、アドレスA02及びリードコマンド(R)は出力されない。
ステップS49,S50の処理の後、ステップS51において、メモリチップ53-3は、信号バスB3から入力されたコマンドが、自分宛のコマンドであるかを判定する。すなわち、クロック13で、メモリチップ53-3は、自身のアドレスと送られてきたアドレスの一致を確認する。自分宛のコマンドである場合、ステップS52において、メモリチップ53-3は、取り込んだアドレスからデータを読み出し、出力する。具体的には、クロック13のタイミングにおいて、指定されたアドレス(A03)からのデータの読み出しが開始される。メモリチップ53-3で読み出されたデータ(03a,03b)(図9B4-F)は、クロック21及び22で、信号バスB4にデータイネーブル信号(図9B4-E)とともに出力される。
ステップS51において、信号バスB3から入力されたコマンドが、自分宛のコマンドではないと判定された場合、ステップS53において、メモリチップ53-3は、前段からのクロック(図9B4-A)、自分宛以外のコマンド(図9B4-C)、並びにアドレス(図9B4-D)を後段に出力する。またこのとき、前段より入力されたデータ(00a,00b,01a,01b,02a,02b)(図9B4-F)もデータイネーブル信号(図9B4-E)とともに後段に出力される。しかし、メモリチップ53-3は、最後のメモリチップであり、それより後段のメモリチップは存在しない。従って、いまの場合、さらに出力されるコマンドとアドレスは存在しない。
図6乃至図9では、メモリチップ53-0からメモリチップ53-3に順にアクセスするようにしたが、この順番はこの通りである必要は無く、各メモリのサイクル時間を満たしている限り、どのような順でアクセスしても良い。
このように、書き込み動作時において、ループ状に接続されたメモリチップのシステムに、コマンド、アドレス、書き込みデータを入力したとき、各メモリチップ53-0乃至53-3は、そのコマンドが自分自身のものかを判断し、そうであれば、自身のアクセスを行い、自身が使用したコマンド、アドレス、並びに書き込みデータを、後段には伝送しない。コマンドが自分宛ではない場合、各メモリチップは、コマンド、アドレス、書き込みデータを後段に伝送する。書き込み動作時にはループ最終段の信号バス(信号バスB4)においてクロック以外の信号振幅は存在しない。また、読み出し動作時には、読み出されたデータが順次、後段に転送され、最終的にループの最終段(信号バスB4)において、全てのデータがそろって、出力される。
各メモリチップ53は、図10に示されるように、データを記憶するメモリコア111、並びにメモリコア111に対するデータの書き込みと読み出しを制御するバッファ&コントローラ112により構成されている。メモリコア111は、SRAM(Static Random Access Memory),DRAM(Dynamic Random Access Memory),EEPROM(Electrically Erasable Programmable Read-Only Memory)などにより構成される。
バッファ&コントローラ112は、メモリコア111に書き込むデータを一時的に保持するとともに、メモリコア111から読み出されたデータを一時的に保持するバッファメモリ122と、メモリコア111に対するデータの書き込みと読み出しを制御するコントローラ121を有している。さらにバッファ&コントローラ112は、バッファ増幅器123,130、ラッチ回路124乃至128,131乃至135、並びにスイッチ129を有している。
信号バスB0乃至B4(以下、これらを個々に区別する必要がない場合、単に信号バスBと記載する)は、クロックを伝送するクロックバスB11、コマンドイネーブル信号を伝送するコマンドイネーブルバスB12、データイネーブル信号を伝送するデータイネーブルバスB13、コマンドを伝送するコマンドバスB14、アドレスを伝送するアドレスバスB15、並びにデータを伝送するデータバスB16により構成されている。
バッファ増幅器123は、クロックバスB11に接続されている端子Clock-inから入力されるクロックを増幅し、メモリコア111、コントローラ121、バッファメモリ122、ラッチ回路124乃至128,131乃至135に出力する。バッファ増幅器130は、バッファ増幅器123からのクロックを増幅し、端子Clock-outから後段のクロックバスB11に出力する。
コマンドイネーブルバスB12に接続されている端子Command enable-inから入力されるコマンドイネーブル信号は、ラッチ回路124によりラッチされた後、コマンドイネーブル信号ce0としてコントローラ121に供給される。ラッチ回路131は、コントローラ121より出力されたコマンドイネーブル信号ce1をラッチした後、端子Command enable-outから後段のコマンドイネーブルバスB12に出力する。
データイネーブルバスB13に接続されている端子Data enable-inから入力されるデータイネーブル信号は、ラッチ回路125によりラッチされた後、データイネーブル信号de0としてコントローラ121に供給される。ラッチ回路132は、コントローラ121より出力されたデータイネーブル信号de1をラッチした後、端子Data enable-outから後段のデータイネーブルバスB13に出力する。
コマンドバスB14に接続されている端子Command-inから入力されるコマンドは、コントローラ121に直接供給されるとともに、ラッチ回路126によりラッチされた後、コマンドバスCO1を介してラッチ回路133に供給されてラッチされ、さらに端子Command-outから後段のコマンドバスB14に出力される。ラッチ回路133はコマンドイネーブル信号ce1がHighのときイネーブル状態とされるので、コマンドイネーブル信号ce1に対応するコマンドのみが後段に出力される。
アドレスバスB15に接続されている端子Address-inから入力されるアドレスは、コントローラ121に直接供給されるとともに、ラッチ回路127によりラッチされた後、アドレスバスAD1を介してラッチ回路134に供給されてラッチされ、さらに端子Address-outから後段のアドレスバスB15に出力される。ラッチ回路134はコマンドイネーブル信号ce1がHighのときイネーブル状態とされるので、コマンドイネーブル信号ce1に対応するアドレスのみが後段に出力される。
アドレスバスB16に接続されている端子Data-inから入力されるデータは、ラッチ回路128によりラッチされた後、バスdiを介してバッファメモリ122に供給されるとともに、スイッチ129の一方の入力に供給される。スイッチ129の他方の入力には、バッファメモリ122が出力するバスdo0のデータが供給されている。スイッチ129はコントローラ121が出力する信号ssがHighのときバスdiを選択し、信号ssがLowのときバスdo0を選択して、バスdo1を介して、ラッチ回路135に出力する。ラッチ回路135よりラッチされたデータは、端子Data-outから後段のデータバスB16に出力される。
次に図11のフローチャートと図12のタイミングチャートを参照して、メモリチップ53の書き込み処理について、メモリチップ53-0,53-1,53-2,53-3の順に、書き込み動作を行った場合における、メモリチップ53-2の動作を代表として説明する。
ステップS81において、前段のクロックバスB11より端子Clock-inに入力されるクロックを取り込む処理が実行される。すなわち、入力されたクロック(図12A)は、バッファ増幅器123により増幅された後、各部に供給される。各部はこのクロック(図12G)に同期して各種の処理を実行する。このクロックは、バッファ増幅器130により増幅され、端子Clock-outから後段のクロックバスB11に出力される(図12W)。従って、クロックは常に順次後段に供給される。
またこのとき、前段のコマンドイネーブルバスB12より端子Command Enable-inを介して入力されるコマンドイネーブル信号(図12B)がラッチ回路124によりラッチされ、コマンドイネーブル信号ce0(図12U)としてコントローラ121に供給される。また前段のデータイネーブルバスB13より端子Data Enable-inを介して入力されるデータイネーブル信号(図12E)がラッチ回路125によりラッチされ、データイネーブル信号de0(図12Q)としてコントローラ121に供給される。
さらに前段のコマンドバスB14より端子Command-inを介して入力されるコマンド(図12C)がラッチ回路126によりラッチされ、コマンドバスCO1に供給されて(図12I)、ラッチ回路133によりラッチされる。また前段のアドレスバスB15より端子Address-inを介して入力されるアドレス(図12D)がコントローラ121に直接供給されるとともに、ラッチ回路127によりラッチされ、アドレスバスAD1を介して出力される(図12K)。さらに、前段のデータバスB16より端子Data-inを介して入力されるデータ(図12F)がラッチ回路128によりラッチされ、バスdiを介してバッファメモリ122に供給される(図12M)。
図12の例では、クロック0でライトコマンド(W)とそのアドレス(A02)が端子Command-in及び端子Address-inから入力される。メモリチップ53-2には、(W+A00)や(W+A01)など、メモリチップ53-2より前段のメモリチップ53-0,53-1のコマンドやアドレスは入力されない。
ステップS82において、コントローラ121は、前段のコマンドバスB14より端子Command-inを介して入力されるライトコマンドは、自分宛かを判定する。この判定は、具体的には、アドレスバスB15より端子Address-inを介して入力されるアドレスが、自分のアドレスと一致するか判定することで行われる。図12の例では、クロック0でコマンド(W)(図12C)とアドレス(A02)(図12D)が入力されたとき、コントローラ121はそのアドレス(A02)が、メモリチップ53-2のアドレスと一致するかを判定する。
ライトコマンドが自分宛である場合、ステップS83において、コントローラ121は、コマンド、アドレス、メモリセレクト信号msをメモリコア111に出力する。具体的には、コントローラ121はライトコマンドを認識し、書き込みデータが到着するのを待つために、所定のデータ長分のクロック(この場合は2)をカウントした後、クロック3でメモリセレクト信号ms(図12H)、及びCOMMANDバス(図12J)及びADDRESSバス(図12L)に信号を出力し、メモリコア111にライトアクセスを行う(図12P)。
コントローラ121は、ステップS84において、バッファメモリ122にデータを取り込むためのコマンド(GW)をバッファコントロールバスBCを介して出力し、ステップS85において、取り込んだデータをメモリコア111に出力させるコマンド(PW)をバッファコントロールバスBCを介して出力する(図12N)。これに応じて、ステップS86において、バッファメモリ122はラッチ回路128からバスdiを介して供給されるデータの中から、自分宛のデータ(02a,02b)を取り込む(図12M)。ステップS87において、バッファメモリ122は取り込んだデータ(02a,02b)をバスMDWを介してメモリコア111に出力する(図12O)。メモリコア111はこのデータ(02(02a,02b))をアドレス(A02)に書き込む。
具体的には、コントローラ121はバッファコントロールバスBCに、バッファメモリ122がデータを取り込むためのコマンド(GW)を(データ長の回数−1)回出力し、その後、バッファメモリ122がデータ長の回数分シリーズに取り込んだデータをパラレルにメモリコア111に出力するコマンド(PW)をクロック1で出力する。バッファメモリ122はコマンド(PW)を受けた後、クロック2で、コントローラ121がメモリコア111にCOMMANDバスを介してコマンドを出力するとともに、ADDRESSバスを介してアドレスを出力するタイミングで、メモリコア111にバスMDWを介してデータ(02a,02b)を出力する。このデータ(02a,02b)はメモリコア111のアドレス(A02)に書き込まれる。
ステップS88において、コントローラ121は、データイネーブル信号de0(図12Q)をデータイネーブル信号de1(図12R)に書き換えて、出力する。すなわち、データイネーブル信号de0の、メモリチップ53-2に書き込まれるべきデータに対応する部分がlowに変更され、データイネーブル信号de1として出力される。その結果、後段のバスB13には、そのデータイネーブル信号が出力される(図12AA)。
ステップS89において、コントローラ121は、バスdo1に必要なデータが出力されるようにスイッチ129を切り換える信号ss(図12S)を出力する。スイッチ129は、信号ssがHighのときバスdiを選択し、信号ssがLowのときバスdo0を選択して、バスdo1に接続する。いまの場合、バスdi(図12M)にはデータ(02a,02b,03a,03b)が存在するが、コントローラ121はバスdo1(図12T)に後段のデータ(03a,03b)のみを残すように信号ssを制御する(図12S)。その結果、後段のバスB16には、データ(03a,03b)が出力される(図12AB)。なお、なおライト動作の場合、信号ssはデータイネーブル信号de1の動作と等しい。
ステップS90において、コントローラ121は、コマンドイネーブル信号ce0(図12U)をコマンドイネーブル信号ce1(図12V)に書き換えて、出力する。すなわち、コマンドイネーブル信号ce0の、メモリチップ53-2で使用されるコマンドに対応する部分がlowに変更され、コマンドイネーブル信号ce1として出力される。その結果、後段のバスB12には、後段のメモリチップ53-3で使用されるコマンドイネーブル信号が出力される(図12X)。そして、後段のメモリチップ53-3で使用されるコマンドバスCO1のコマンド(W)が、後段のバスB14に出力され(図12Y)、後段のメモリチップ53-3で使用されるアドレスバスAD1のアドレス(A03)が、後段のバスB15に出力される(図12Z)。
ステップS82において、ライトコマンドが自分宛ではないと判定された場合、ステップS91において、コントローラ121は前段からのコマンド、アドレス、データを後段に出力する。具体的には、コントローラ121は、コマンドイネーブル信号ce1をコマンドイネーブル信号ce0と実質的に同一とし、データイネーブル信号de1をデータイネーブル信号de0と実質的に同一とする。その結果、いまの場合、後段のメモリチップ53-3のコマンドイネーブル信号(図12X)、コマンド(W)(図12Y)、アドレス(A03)(図12Z)、データイネーブル信号 (図12AA)、データ(03a,03b)(図12AB)が、後段のメモリチップ53-3に出力される。
次に、図13のフローチャートと図14のタイミングチャートを参照して、メモリチップ53の読み出しの動作について、メモリチップ53-0,53-1,53-2,53-3の順にリード動作を行ったときのメモリチップ53-2の動作を代表として説明する。
ステップS121において、前段のクロックバスB11より端子Clock-inに入力されるクロックを取り込む処理が実行される。すなわち、入力されたクロック(図14A)は、バッファ増幅器123により増幅された後、各部に供給される。各部はこのクロック(図14G)に同期して各種の処理を実行する。このクロックは、バッファ増幅器130により増幅され、端子Clock-outから後段のクロックバスB11に出力される(図14X)。従って、クロックは常に順次後段に供給される。
またこのとき、前段のコマンドイネーブルバスB12より端子Command Enable-inを介して入力されるコマンドイネーブル信号(図14B)がラッチ回路124によりラッチされ、コマンドイネーブル信号ce0(図14Q)としてコントローラ121に供給される。また前段のデータイネーブルバスB13より端子Data Enable-inを介して入力されるデータイネーブル信号(図14E)がラッチ回路125によりラッチされ、データイネーブル信号de0(図14S)としてコントローラ121に供給される。
さらに前段のコマンドバスB14より端子Command-inを介して入力されるコマンド(図14C)がコントローラ121に直接供給されるとともに、ラッチ回路126によりラッチされ、コマンドバスCO1に供給されて(図14I)、さらにラッチ回路133によりラッチされる。また前段のアドレスバスB15より端子Address-inを介して入力されるアドレス(図14D)がコントローラ121に直接供給されるとともに、ラッチ回路127によりラッチされ、アドレスバスAD1に出力される(図14K)。さらに、前段のデータバスB16より端子Data-inを介して入力されるデータ(図14F)がラッチ回路128によりラッチされ、バスdi(図14V)を介してバッファメモリ122とスイッチ129に供給される。
図14の例では、クロック0でリードコマンド(R)とそのアドレス(A02)が端子Command-in及び端子Address-inから入力される。メモリチップ53-2の入力には(R+A00)や(R+A01)など、メモリチップ53-2より前段のメモリチップ53-0,53-1のコマンドやアドレスは入力されない。
ステップS122において、コントローラ121は、前段のコマンドバスB14より端子Command-inを介して入力されるコマンドは、自分宛かを判定する。この判定は、具体的には、アドレスバスB15より端子Address-inを介して入力されるアドレスが、自分のアドレスと一致するかを判定することで行われる。図14の例では、クロック0でコマンド(R)とアドレス(A02)が入力されたとき、コントローラ121はそのアドレス(A02)が、メモリチップ53-2のアドレスと一致するかを判定する。
リードコマンドが自分宛である場合、ステップS123において、コントローラ121は、コマンド、アドレス、メモリセレクト信号msをメモリコア111に出力する。具体的には、コントローラ121はリードコマンドを認識し、クロック0でメモリセレクト信号ms(図14H)、並びにCOMMANDバス(図14J)及びADDRESSバス(図14L)にコマンド(R)とアドレス(A02)を出力し、メモリコア111にリードアクセスを行う(図14M)。
ステップ124においてメモリコア111は読み出したデータをバスMDR(図14N)に出力する。すなわち、クロック1でメモリセレクト信号ms、並びにCOMMANDバスのコマンド(R)及びADDRESSバスのアドレス(A02)を読み込んだメモリコア111は、レーテンシ7クロックで、クロック8の時点で読み出したデータをパラレルデータ(02)としてバスMDRに出力する(図14N)。
ステップS125において、コントローラ121は、バッファメモリ122に、データを取り込み、バスdo0に出力させるコマンドを出力する。具体的には、コントローラ121は、クロック0でのアドレス及びコマンドの認識後、メモリコア111のリードレーテンシをカウントし、クロック7においてバスMDRのデータをバッファメモリ122に取り込み、 シリアルデータとしてバスdo0に出力するコマンド(GD)をバッファコントロールバスBCを介してバッファメモリ122に出力し、その後、バッファメモリ122からバスdo0にデータを出力させるコマンド(PD)を、(データ長−1)回分だけ出力する(図14O)。
ステップS126において、バッファメモリ122は、読み出されたデータを取り込み、バスdo0に出力する。すなわち、バッファメモリ122は、バッファコントロールバスBCからのコマンドを受けて、バスMDRのパラレルデータ(02)(図14N)を読み込み、バスdo0にシリアルデータ(02a,02b)(図14P)として出力する。
ステップS127において、バッファメモリ122は、バスdi上のデータに、バスdo0のデータを加えるように、信号ss(図14U)を出力する。すなわち、前段のメモリチップ53-0,53-1から読み出されたバスdi上のデータ(00a,00b,01a,01b)(図14V)に、メモリチップ53-2から読み出されたバスdo0上のデータ(02a,02b)(図14P)が加えられ、データ(00a,00b,01a,01b,02a,02b)(図14W)としてバスdo1に出力されるように、信号ssによりスイッチ129が切り換えられる。これが、ラッチ回路135を介して、後段のバスB16に出力される(図14AC)。
ステップS128において、コントローラ121は、コマンドイネーブル信号ce0(図14Q)をコマンドイネーブル信号ce1(図14R)に書き換えて出力する。すなわち、コマンドイネーブル信号ce0のメモリチップ53-2で使用するコマンドに対応した部分を除くコマンドイネーブル信号ce1が出力される。その結果、メモリチップ53-2で使用する部分を除くコマンドイネーブル信号がラッチ回路131を介して後段のバスB12に出力され(図14Y)、メモリチップ53-2で使用する部分を除くコマンドがラッチ回路133を介して後段のバスB14に出力され(図14Z)、メモリチップ53-2で使用する部分を除くアドレスがラッチ回路134を介して後段のバスB15に出力される(図14AA)。
ステップS129において、コントローラ121は、データイネーブル信号de0(図14S)をデータイネーブル信号de1(図14T)に書き換えて出力する。すなわち、データイネーブル信号de0のうち、メモリチップ53-2で読み出したデータに対応した部分をさらにHighとしたデータイネーブル信号de1が出力される。その結果、メモリチップ53-2で読み出したデータに対応した部分をHighとしたデータイネーブル信号がラッチ回路132を介して後段のバスB13に出力される(図14AB)。
ステップS122において、リードコマンドは自分宛ではないと判定された場合、ステップS130において、前段からのコマンド、アドレス、データを後段に出力する処理が実行される。具体的には、コントローラ121は、コマンドイネーブル信号ce1をコマンドイネーブル信号ce0と実質的に同一とし、データイネーブル信号de1をデータイネーブル信号de0と実質的に同一とする。その結果、いまの場合、後段のメモリチップ53-3のコマンドイネーブル信号(図12Y)、コマンド(R)(図12Z)、アドレス(A03)(図12AA)、データイネーブル信号 (図12AB)、データ(00a,00b,01a,01b) (図12AC)が、後段のメモリチップ53-3に出力される。
以上のように、本実施の形態においては、データが同じ方向に、かつループ状に供給されるようにしたので、分岐点がなくなり、転送レートを高くしても、信号の劣化を抑制することができ、確実に信号を授受することが可能となる。従って、特に電磁誘導または静電誘導により高周波で信号を授受する場合に有利となる。さらに、前段で使用されたデータ(コマンドとアドレスを含む)は、後段には伝送されないので、書き込み時におけるデータの伝送量を減らすことができ、消費電力を少なくすることができる。
このように、本実施の形態においては、前段で使用されたコマンドとアドレスは、後段には伝送されないので、その期間を利用して、データを転送することができる。この場合、メモリチップ53は、図15に示されるように構成される。
図15のメモリチップ53は、図10のメモリチップ53におけるバスdo0に対応するバスdo0cd以外に、バスdo0abが設けられている。バスdo0abはスイッチ151とスイッチ152の一方の入力に接続されている。スイッチ151の他方の入力には、バスCO1が接続されている。スイッチ152の他方の入力には、バスAD1が接続されている。
スイッチ151は、バスdo0abからのデータまたはバスCO1からのコマンドを選択し、バスCO2を介してラッチ回路133に出力する。スイッチ152は、バスdo0abからのデータまたはバスAD1からのアドレスを選択し、バスAD2を介してラッチ回路134に出力する。
コントローラ121は信号ss2を生成し、スイッチ151,152の切り替えを制御する。またコントローラ121は信号caenを生成し、ラッチ回路133,134のイネーブル状態を制御する。その他の構成は、図10における場合と同様である。
次に、メモリチップ53が図15に示されるように構成される場合における動作について説明する。
このメモリチップ53が図5に示されるように接続されている場合における書き込み時の動作は、図6と図7に示される場合と基本的に同様であり、その説明は繰り返しになるので省略する。
読み出し時における動作について、図16のフローチャートと図17のタイミングチャートを参照して説明する。この場合においても、データは、メモリチップ53-0,53-1,53-2,53-3から順次読み出すものとする。
図16を、メモリチップ53が図10に示されるように構成されている場合における読み出し時の動作を表す図8と比較して明らかなように、図16のステップS141乃至S153の処理は、図8のステップS41乃至S53の処理と基本的に同様の処理である。ただ、ステップS43,S46,S49,S52に対応するステップS143,S146,S149,S152におけるデータを出力する先が、ステップS43,S46,S49,S52においてはデータバスB16だけであったものが、データバス16以外に、コマンドバスB14とアドレスバスB15も含まれている点が異なっている。
従って、図17に示されるように、メモリチップ53-0のアドレス(A00)から読み出されたデータ(00a,00b,00c,00d)のうち、データ(00a,00b)は、バスB1のコマンドバス(図17B1-C)とアドレスバス(図17B1-D)に出力され、データ(00c,00d)はデータバス(図17B1-F)に出力される。メモリチップ53-1のアドレス(A01)から読み出されたデータ(01a,01b,01c,01d)のうち、データ(01a,01b)は、バスB2のコマンドバス(図17B2-C)とアドレスバス(図17B2-D)に出力され、データ(01c,01d)はデータバス(図17B2-F)に出力される。
同様に、メモリチップ53-2のアドレス(A02)から読み出されたデータ(02a,02b,02c,02d)のうち、データ(02a,02b)は、バスB3のコマンドバス(図17B3-C)とアドレスバス(図17B3-D)に出力され、データ(02c,02d)はデータバス(図17B3-F)に出力される。メモリチップ53-3のアドレス(A03)から読み出されたデータ(03a,03b,03c,03d)のうち、データ(03a,03b)は、バスB3のコマンドバス(図17B4-C)とアドレスバス(図17B4-D)に出力され、データ(03c,03d)はデータバス(図17B4-F)に出力される。
このようにすることで、バスの利用効率を向上することができる。図17の例では、xxa,xxbのリードデータがアドレスバスとコマンドバスを利用して伝送され、データバスは新たなデータxxc,xxdの伝送に使用されている。仮にxxa,xxbとxxc,xxdの各バスが同一の幅であれば、各メモリの読み出し時のパラレルデータ数は2倍になる。これはライト動作に比べ、リード動作の高速化がより必要なアプリケーションに適する。
メモリチップ53が図15に示されるように構成される場合におけるメモリチップ53における書き込み時の動作は、図11と図12に示される場合と同様となるのでその説明は省略する。
メモリチップ53が図15に示されるように構成される場合におけるメモリチップ53における読み出し時の動作について、図18のフローチャートと図19のタイミングチャートを参照して説明する。この場合においても、メモリチップ53-2の動作を代表の動作として説明する。
ステップS221において、前段のクロックバスB11より端子Clock-inに入力されるクロックを取り込む処理が実行される。すなわち、入力されたクロック(図19A)は、バッファ増幅器123により増幅された後、各部に供給される。各部はこのクロック(図19G)に同期して各種の処理を実行する。このクロックは、バッファ増幅器130により増幅され、端子Clock-outから後段のクロックバスB11に出力される(図19AB)。従って、クロックは常に順次後段に供給される。
またこのとき、前段のコマンドイネーブルバスB12より端子Command Enable-inを介して入力されるコマンドイネーブル信号(図19B)がラッチ回路124によりラッチされ、コマンドイネーブル信号ce0(図19Q)としてコントローラ121に供給される。また前段のデータイネーブルバスB13より端子Data Enable-inを介して入力されるデータイネーブル信号(図19E)がラッチ回路125によりラッチされ、データイネーブル信号de0(図19S)としてコントローラ121に供給される。
さらに前段のコマンドバスB14より端子Command-inを介して入力されるコマンド(図19C)がコントローラ121に直前データに直接供給されるとともに、ラッチ回路126によりラッチされ、コマンドバスCO1に供給される(図19I)。また前段のアドレスバスB15より端子Address-inを介して入力されるアドレス(図19D)がコントローラ121に直接供給されるとともに、ラッチ回路127によりラッチされ、アドレスバスAD1に出力される(図19K)。さらに、前段のデータバスB16より端子Data-inを介して入力されるデータ(図19F)がラッチ回路128によりラッチされ、バスdiを介してバッファメモリ122とスイッチ129に供給される。
図19の例では、クロック0でリードコマンド(R)とそのアドレス(A02)が端子Command-in及び端子Address-inから入力される。メモリチップ53-2の入力には(R+A00)や(R+A01)など、メモリチップ53-2より前段のメモリチップ53-0,53-1のコマンドやアドレスは入力されない。
ステップS222において、コントローラ121は、前段のコマンドバスB14より端子Command-inを介して入力されるコマンドは自分宛かを、アドレスバスB15より端子Address-inを介して入力されるアドレスに基づいて行う。図19の例では、クロック0でコマンド(R)とアドレス(A02)が入力されたとき、コントローラ121はそのアドレス(A02)が、メモリチップ53-2のアドレスと一致するかを判定する。この場合においても、メモリチップ52-2には、それより前段のメモリチップ53-0,53-1宛のコマンド(アドレス)は伝送されてこず、メモリチップ53-2,53-3宛のコマンドとアドレス((R+A02),(R+A03))だけが伝送されてくる。
アドレスが自分宛である場合、ステップS223において、コントローラ121はクロック0で、COMMANDバスを介してコマンド(R)を(図19J)、ADDRESSバスを介してアドレス(A02)を(図19L)、そしてメモリセレクト信号ms(図19H)を、それぞれメモリコア111に出力する。ステップS224において、クロック1でこれらの信号を読み込みリードアクセスされたメモリコア111は、レーテンシ7クロックで、クロック8の時点で読み出したデータ(02)をバスMDRに出力する(図19N)。バスMDRの幅は図10の場合の2倍とされている。
ステップS225において、コントローラ121は、クロック0でのアドレス及びコマンドの認識後、メモリコア111のリードレーテンシをカウントし、クロック7において、バスMDRに読み出されたデータをバッファメモリ122に取り込ませるとともに、シリアルデータとしてバスdo0ab,do0cdに出力させるコマンド(GD)をバスBCに出力し、さらにその後、バッファメモリ122からバスdo0ab,do0cdにデータを出力させるコマンド(PD)を、(データ長−1)回分だけ出力する(図19O)。
ステップS226において、バッファメモリ122は、これらバスBCのコマンドを受けて、バスMDRのパラレルデータを読み込み、バスdo0ab,do0cdにシリアルデータ(それぞれ(02a,02b),(02c,02d))として出力する(図19P)。
ステップS227において、コントローラ121は、コマンドイネーブル信号ce0(図19Q)をコマンドイネーブル信号ce1(図19R)に書き換え、出力する。すなわち、コントローラ121は、コマンドイネーブル信号ce0のうち、自身(メモリチップ53-2)で使用するコマンドに対応する部分のパルスを除いたコマンドイネーブル信号ce1を出力する。このコマンドイネーブル信号が、後段のコマンドイネーブルバスB12に出力される(図19AC)。
ステップS228において、コントローラ121は、データイネーブル信号de0(図19S)をデータイネーブル信号de1(図19T)に書き換え、出力する。すなわち、コントローラ121は、データイネーブル信号de0に、自身(メモリチップ53-2)で読み出したデータに対応する部分のパルスを加えたデータイネーブル信号de1を出力する。このデータイネーブル信号が、後段のデータイネーブルバスB13に出力される(図19AF)。
ステップS229において、コントローラ121は、バスdi(図19Z)上のデータ(00c,00d,01c,01d)に、バスdo0cd(図19P)上のデータ(02c,02d)を加えてバスdo1cd(図19AA)に出力する(00c,00d,01c,01d,02c,02d)ように、スイッチ129を切り換える信号ss(図19V)を出力する。さらに、ステップS230において、コントローラ121は、コマンドバスCO1のデータ(00a,00b,01a,01b)(図19I)とアドレスバスAD1のデータ(00a,00b,01a,01b)(図19K)上に、バスdo0ab(図19P)のデータ(02a,02b)を加えて、バスCO2(図19X)とバスAD2(図19Y)にデータ(00a,00b,01a,01b,02a,02b)として出力するように、スイッチ151,152を切り換える信号ss2(図19W)を出力する。ステップS231において、コントローラ121は、端子Command-out(図19AD)と端子Address-out(図19AE)に、それぞれバスCO1、AD1上にバスdo0abのデータを加えた結果を出力するためにラッチ回路133,134をイネーブル状態にする信号caen(図19U)を発生する。
バスdiのデータにバスdo0cdのデータを加えた結果は、バスdo1cdを介して、後段のデータバスB16に出力される(図19AG)。バスCO1,AD1にバスdo0abのデータを加えた結果は、それぞれバスCO2,AD2を介して、後段のバスB14,15に出力される(図19AD,AE)。
なお、リード動作時において、信号caenは、信号ce1と信号de1の論理和となる。また、ライト動作時には、信号caenは、信号ce1と同じ論理動作をし、信号ss2はLow(スイッチ151,152が、バスCO1,AD1を選択する状態)固定となる。
以上において使用されたアクセスレーテンシ、メモリサイクル時間、データ長などは、コントローラ121の動作(カウント数など)を決定するパラメータであり、使用するメモリコア111の種類などによって変化する。これらのパラメータは、コマンドバスとアドレスバスを通じて、各コントローラ121に内蔵されているレジスタに書き込まれているものであり、適時外部コントローラ81からの書き換えが可能なものである。
さらに、上記実施の形態においては、比較的アクセスレーテンシやサイクル時間の小さいメモリ(SRAMやDRAMなど)を前提とし、4つのメモリチップを接続した形で説明を行ったが、EEPROMなどのように、それらのパラメータが大きなメモリに対しても、バッファメモリ122のサイズを大きくし、コントローラ121内のカウンターのサイズを大きくすることで容易に対応可能であり、そのような低速のメモリを数多く接続する(接続するメモリチップの数に制限が無いことも大きなメリットである)構成とし、データレートを向上することも可能である。
以上のようにして、供給するデータ量を少なくし、消費電力を少なくすることができる。また、パッド数を減らし、コストを低減し、チップの面積を小さくすることができる。
記録ボード31をデータ処理装置20に対して着脱自在とするのではなく、固定させるようにすることもできる。また本発明は、記録ボード以外にも、データをメモリに書き込み、読み出す各種のデータ記録装置に適用することができる。
なお、本明細書において、フローチャートに示されるステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
20 データ処理装置, 21 ドライバ, 22 スロット, 31 記録ボード, 51 通信チップ, 52 アンテナ, 53 メモリチップ, 54 電源電極, 71 内部ボード, 72 通信チップ, 73 アンテナ, 81 コントローラ
Claims (6)
- データを保持する複数の保持手段と、
前記保持手段に書き込む書き込みデータを入力する入力手段と、
前記保持手段から読み出された読み出しデータを出力する出力手段と、
前記入力手段から入力された前記書き込みデータとクロックを先頭の前記保持手段に供給し、前段の前記保持手段から出力された前記クロックと前記書き込みデータまたは前記読み出しデータを後段の前記保持手段に出力し、最後の前記保持手段が出力する前記クロックと前記読み出しデータを前記出力手段に供給するように、前記書き込みデータ、前記読み出しデータ、および前記クロックを同じ方向に、かつループ状に供給する供給手段とを備え、
前記保持手段は、書き込み時、前段から入力された前記書き込みデータのうち、自分宛以外の前記書き込みデータは後段に出力するとともに、自分宛の前記書き込みデータは書き込んで、後段に出力せず、読み出し時、前段から入力された前記読み出しデータと、自分が読み出した前記読み出しデータを後段に出力する
データ記録装置。 - 前記入力手段と前記出力手段は、それぞれ電磁誘導または静電誘導でデータを入力または出力する
請求項1に記載のデータ記録装置。 - 前記供給手段は、前記書き込みデータまたは前記読み出しデータ、書き込みまたは読み出しを命令するコマンド、および書き込む位置または読み出す位置を表すアドレスを供給するバスを備える
請求項1に記載のデータ記録装置。 - 前記保持手段は、前記コマンド用のバスまたは前記アドレス用のバスに、前記コマンドまたは前記アドレスに切り替えて、前記読み出しデータを供給させる切り替え手段をさらに備える
請求項3に記載のデータ記録装置。 - 請求項4のデータ記録装置に対してデータを書き込みまたは読み出すデータ処理装置であって、
書き込み時、前記入力手段を介して前記クロック、前記書き込みデータ、前記コマンド、および前記アドレスを出力し、読み出し時、前記出力手段を介して前記クロックと前記読み出しデータを入力するように、書き込みと読み出しを制御する制御手段を備えるデータ処理装置。 - データを保持する複数の保持部と、
前記保持部に書き込む書き込みデータを入力する入力部と、
前記保持部から読み出された読み出しデータを出力する出力部と、
前記入力部から入力された前記書き込みデータとクロックを先頭の前記保持部に供給し、前段の前記保持部から出力された前記クロックと前記書き込みデータまたは前記読み出しデータを後段の前記保持部に出力し、最後の前記保持部が出力する前記クロックと前記読み出しデータを前記出力部に供給するように、前記書き込みデータ、前記読み出しデータ、および前記クロックを同じ方向に、かつループ状に供給する供給部と
を備えるデータ記録装置のデータ書き込み読み出し方法において、
前記保持部は、書き込み時、前段から入力された前記書き込みデータのうち、自分宛以外の前記書き込みデータは後段に出力するとともに、自分宛の前記書き込みデータは書き込んで、後段に出力せず、読み出し時、前段から入力された前記読み出しデータと、自分が読み出した前記読み出しデータを後段に出力する
データ書き込み読み出し方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037878A JP2007219707A (ja) | 2006-02-15 | 2006-02-15 | データ記録装置、データ処理装置、およびデータ書き込み読み出し方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037878A JP2007219707A (ja) | 2006-02-15 | 2006-02-15 | データ記録装置、データ処理装置、およびデータ書き込み読み出し方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007219707A true JP2007219707A (ja) | 2007-08-30 |
Family
ID=38496961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006037878A Withdrawn JP2007219707A (ja) | 2006-02-15 | 2006-02-15 | データ記録装置、データ処理装置、およびデータ書き込み読み出し方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007219707A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009152998A (ja) * | 2007-12-21 | 2009-07-09 | Toyota Motor Corp | 通信装置及び電力線通信システム |
-
2006
- 2006-02-15 JP JP2006037878A patent/JP2007219707A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009152998A (ja) * | 2007-12-21 | 2009-07-09 | Toyota Motor Corp | 通信装置及び電力線通信システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6252807B1 (en) | Memory device with reduced power consumption when byte-unit accessed | |
US6157983A (en) | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM | |
JP4388772B2 (ja) | 複合型メモリ装置 | |
JPH1031886A (ja) | ランダムアクセスメモリ | |
US7379376B2 (en) | Internal address generator | |
JP2006139897A (ja) | メモリ装置及びメモリ装置の動作方法 | |
US11416153B2 (en) | Memory system and information processing apparatus | |
KR0142033B1 (ko) | 마이크로 컴퓨터 | |
JP2000260181A5 (ja) | ||
JP2007079724A (ja) | 半導体記憶装置、電子機器及びモード設定方法 | |
JP2004095030A (ja) | 半導体記憶装置 | |
JP2006286048A (ja) | 半導体記憶装置 | |
JP2007219707A (ja) | データ記録装置、データ処理装置、およびデータ書き込み読み出し方法 | |
JP3827540B2 (ja) | 不揮発性半導体記憶装置および情報機器 | |
US7251711B2 (en) | Apparatus and methods having a command sequence | |
WO2012008068A1 (ja) | マイクロコントローラ及びその制御方法 | |
MY117042A (en) | Nonvolatile semiconductor memory device | |
JP2987809B2 (ja) | シンクロナスdramのcas信号発生器 | |
JPH10187599A (ja) | デジタル信号処理装置 | |
KR100898665B1 (ko) | 플래시 메모리의 데이터 경로 회로 | |
JP2004192051A (ja) | 共用端子制御装置 | |
JP2014106604A (ja) | 半導体装置およびメモリアクセス方法 | |
JPH05166391A (ja) | メモリ装置 | |
JP2024000824A (ja) | 半導体記憶装置およびメモリシステム | |
KR20220043814A (ko) | 메모리 칩, 메모리 컨트롤러 및 메모리 칩의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090512 |