JP3804832B2 - メモリ装置及びコンピュータシステム - Google Patents

メモリ装置及びコンピュータシステム Download PDF

Info

Publication number
JP3804832B2
JP3804832B2 JP2002149790A JP2002149790A JP3804832B2 JP 3804832 B2 JP3804832 B2 JP 3804832B2 JP 2002149790 A JP2002149790 A JP 2002149790A JP 2002149790 A JP2002149790 A JP 2002149790A JP 3804832 B2 JP3804832 B2 JP 3804832B2
Authority
JP
Japan
Prior art keywords
memory
command
bus
instruction
dimm
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.)
Expired - Fee Related
Application number
JP2002149790A
Other languages
English (en)
Other versions
JP2003345652A (ja
Inventor
智則 星野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002149790A priority Critical patent/JP3804832B2/ja
Publication of JP2003345652A publication Critical patent/JP2003345652A/ja
Application granted granted Critical
Publication of JP3804832B2 publication Critical patent/JP3804832B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、メモリ装置に関し、特にデータバスと制御信号バスとを使用してメモリアクセスを行うメモリ装置に関する。
【0002】
【従来の技術】
通常、メモリコントローラには複数のデュアルインラインメモリモジュール(DIMM)が接続されている。データバスと制御信号バスは、メモリコントローラと各DIMMとにバス配線されている。また、メモリコントローラからチップセレクト信号線を各DIMMに個別に配線/接続することにより、メモリコントローラは、各DIMMの中から必要とするDIMMを選択し、メモリアクセスを行っている。
【0003】
図10は、従来のメモリ装置の構成を示すブロック図である。従来のメモリ装置は、メモリコントローラ410、複数のDIMM511a〜511d、メモリバス、複数のチップセレクト信号線503a〜503dを具備する。メモリバスは、データバス501、制御信号バス502を含む。DIMM511a〜511dは、基板に実装されている。メモリコントローラ410は、データバス501と制御信号バス502とに接続されている。DIMM511a〜511dは、データバス501と制御信号バス502とに接続されている。
【0004】
データバス501は、メモリコントローラ410とDIMM511a〜511dとがデータの入出力(メモリアクセス)を行うためのバスである。データの入力が行われるとき、そのデータは、メモリチップ412に書き込むための書き込みデータであり、データの出力が行われるとき、そのデータは、メモリチップ412から読み出すための読出しデータである。制御信号バス502は、メモリコントローラ410がDIMM511a〜511dに制御信号を出力するためのバスである。制御信号は、メモリチップ412を制御するための信号である。
【0005】
メモリコントローラ410は、チップセレクト信号線503a〜503dに接続されている。DIMM511a〜511d内のレジスタ413は、チップセレクト信号線503a〜503dに接続されている。即ち、チップセレクト信号線503a〜503dは、メモリコントローラ410からDIMM511a〜511dのレジスタ413に引き回して配線されている(メモリコントローラ410とDIMM511a〜511dのレジスタ413とに1対1で配線されている)。
【0006】
DIMM511a〜511dは、複数のメモリチップ(例示:DRAM)412、レジスタ413、DIMM内制御信号バス504、チップセレクト信号線505を具備する。メモリチップ412、レジスタ413は、DIMM511a〜511dに搭載されている。DIMM511a〜511d内のレジスタ413は、データバス501と制御信号バス502とに接続され、DIMM内制御信号バス504とチップセレクト信号線505とに接続されている。DIMM511a〜511d内のメモリチップ412は、データバス501に接続され、DIMM内制御信号バス504とチップセレクト信号線505とに接続されている。ここで、DIMM511a、511b、511c、511dのDIMM内制御信号バス504を、DIMM511a内制御信号バス504、DIMM511b内制御信号バス504、DIMM511c内制御信号バス504、DIMM511d内制御信号バス504と表記して説明する。
【0007】
また、DIMM511a〜511dには、SPD(Serial Presence Detect)と呼ばれるROM(図示していない)が搭載され、DIMM511a〜511d内のROMは、データバス501に接続されている。DIMM11a〜11dのROMには、DIMM511a〜511d内のメモリチップ412により規定された時間が書き込まれている。メモリチップ412により規定された時間とは、アクティブコマンドを実行する時間とリードコマンド/ライトコマンドを実行する時間との間に挿入しなければならない待ち時間(ウェイト時間)のことである。
【0008】
ここで、リードコマンドは、メモリコントローラ410がメモリチップ412からデータの読出しを実行するための要求/命令である。ライトコマンドは、メモリコントローラ410がメモリチップ412にデータの書き込みを実行するための要求/命令である。アクティブコマンドは、メモリコントローラ410がリードコマンド、ライトコマンドを実行するときの要求/命令である。ウェイト時間は、メモリチップ412の種類毎に異なり、クロック数で規定される。この例では、ウェイト時間を1クロックとする。メモリコントローラ410、DIMM511a〜511dのレジスタ413は、初期化のとき、DIMM511a〜511d内のROMからウェイト時間を読出して認識する。
【0009】
メモリコントローラ410は、予めに、DIMM511a〜511dのメモリチップ412のアドレスを認識している。ここで、メモリコントローラ410に接続された外部機器としてCPUが挙げられる。CPUは、個別のDIMM511a〜511dの容量に関する情報を認識しておらず、DIMM511a〜511dの容量を合計した合計容量に関する情報しか認識していない。一方、メモリコントローラ410は、個別のDIMM511a〜511dの容量に関する情報を認識している。そのため、リードの場合{メモリチップ412からデータ(読出しデータ)を読出す場合}、CPUは、クロック信号に応答して、メモリチップ412が有するアドレスをメモリコントローラ410に出力する。
【0010】
まず、第1時刻において、メモリコントローラ410は、CPUからのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM511aとする)を判断してアクティブコマンドを発行し、アクティブコマンドに、そのアドレスと制御信号とを設定する。この場合、制御信号は、メモリチップ412からデータを読出すための信号である。アクティブコマンドに設定されたアドレスは、DIMM511a〜511dのうちのDIMM511aのメモリチップ412のアドレスである。このため、メモリコントローラ410は、チップセレクト信号線503a〜503dのうちのチップセレクト信号線503aに、チップセレクト信号をアクティブ状態にして出力する。そのチップセレクト信号がアクティブ状態であるとき、メモリコントローラ410は、外部からのクロック信号に応答して、アクティブコマンドを制御信号バス502に出力する。
【0011】
次に、第1時刻から1クロック後の第2時刻において、DIMM511a内のレジスタ413は、メモリコントローラ410からのアクティブコマンドに設定されたアドレスによって、DIMM511a内のチップセレクト信号線505に、チップセレクト信号を1クロック間アクティブ状態にして出力する。このとき、DIMM511a内のレジスタ413は、DIMM511a内のメモリチップ412に、DIMM511a内制御信号バス504を介して、アクティブコマンドに設定された制御信号とアドレスとを出力する。この第2時刻において、メモリコントローラ410は、アクティブコマンドを発行してから、リードコマンドを発行するまでの1クロックの間に、ウェイト時間を挿入する。
【0012】
次に、挿入されたウェイト時間が経過した第3時刻において、メモリコントローラ410は、CPUからのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM511aとする)を判断してリードコマンドを発行し、リードコマンドに、そのアドレスと制御信号とを設定する。この場合、制御信号は、メモリチップ12からデータを読出すための信号である。リードコマンドに設定されたアドレスは、DIMM511a〜511dのうちのDIMM511aのメモリチップ412のアドレスである。このため、メモリコントローラ410は、第1時刻から引き続いて、チップセレクト信号線503a〜503dのうちのチップセレクト信号線503aに、チップセレクト信号をアクティブ状態にして出力している。そのチップセレクト信号がアクティブ状態であるため、メモリコントローラ410は、外部からのクロック信号に応答して、リードコマンドを制御信号バス502に出力する。
【0013】
次に、第3時刻から1クロック後の第4時刻において、DIMM511a内のレジスタ413は、メモリコントローラ410からのリードコマンドに設定されたアドレスによって、DIMM511a内のチップセレクト信号線505に、チップセレクト信号を1クロック間アクティブ状態にして出力する。このとき、DIMM511a内のレジスタ413は、DIMM511a内のメモリチップ412に、DIMM511a内制御信号バス504を介して、リードコマンドに設定された制御信号とアドレスとを出力する。DIMM511a内のメモリチップ412にはリードコマンドに設定された制御信号が入力される。
【0014】
メモリチップ412により規定された時間(第4時刻後の1クロック)が経過した後、第5時刻〜第8時刻において、リードコマンドに設定された制御信号により、DIMM511a内のメモリチップ412から、データ(読出しデータ)が読み出される。DIMM511a内のメモリチップ412から読み出された読出しデータは、外部からのクロック信号に応答して、データ信号としてデータバス501を介してメモリコントローラ410に出力される。メモリコントローラ410は、CPUに読出しデータを出力し、CPUは、その読出しデータを実行する。
【0015】
【発明が解決しようとする課題】
従来のメモリ装置は、アクティブコマンドを発行してから、リードコマンドを発行するまでの1クロックの間に、ウェイト時間を挿入しなければならない。このため、メモリコントローラ410がチップセレクト信号線503aにチップセレクト信号をアクティブ状態にして出力している間、アクティブコマンドを実行する時間とウェイト時間とリードコマンドを実行する時間とが経過するまで、制御信号バス502は、メモリコントローラ410がDIMM511aにメモリアクセスを行うことによって占有されてしまう。従って、これらの時間が経過するまで、メモリコントローラ410は、DIMM511b〜511dに対して制御信号バス502を使用することができない。このように、従来のメモリ装置では、制御信号バス502の使用効率が悪い。
【0016】
また、従来のメモリ装置は、アクティブコマンドを発行してから、リードコマンドを発行するまでの1クロックの間に、ウェイト時間を挿入しなければならないため、メモリアクセスを行う際(DIMM511a〜511dのメモリチップ412からデータを読み出す際/DIMM511a〜511dのメモリチップ412にデータを書き込む際)、挿入されたウェイト時間に相当する時間だけ遅れるため、高速化が実現できない。このため、従来のメモリ装置は、データバス501の使用効率も悪くなってしまい、バスの理論帯域と比較して実効帯域は低いものとなってしまう。
【0017】
また、従来のメモリ装置では、チップセレクト信号線503a〜503dを、メモリコントローラ410からDIMM511a〜511dのレジスタ413の入力側に引き回して配線している。例えば、N個(Nは2以上の正数)のDIMMを基板に実装する場合、そのDIMMの個数に比例してチップセレクト信号線も比例して増加するため、N本のチップセレクト信号線をメモリコントローラ410からN個のDIMMに配線する(引き回す)ことが困難である。このため、従来のメモリ装置では、配線収容性が悪く、基板上でのチップセレクト信号線の引き回しが大きな問題となる。
【0018】
また、上述のように、チップセレクト信号線503a〜503dはメモリコントローラ410とDIMM511a〜511dのレジスタ413とに1対1で配線されているため、従来のメモリ装置では、DIMMの実装枚数を基板上のDIMMスロットの数以上に増やすことが困難である。そのため、DIMMスロットを使い切ってしまったコンピュータにメモリを増設する場合は、今まで使用していたDIMMを取り外す必要があり、DIMMを有効に利用することができない。
【0019】
本発明の目的は、バスの使用効率が向上するメモリ装置を提供することにある。
【0020】
本発明の他の目的は、メモリアクセスの高速化を実現するメモリ装置を提供することにある。
【0021】
本発明の更に他の目的は、配線収容性が向上するメモリ装置を提供することにある。
【0022】
本発明の更に他の目的は、DIMMの実装枚数を容易に増加させることができるメモリ装置を提供することにある。
【0023】
【課題を解決するための手段】
以下に、[発明の実施の形態]で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明の実施の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0024】
本発明のメモリ装置(100)は、メモリバスと、メモリバスに接続された複数のメモリユニット(11a〜11d)と、メモリコントローラ(10)とを具備する。メモリバスは、制御バス(102)とデータバス(101)とを含む。制御バス(102)は、実施の形態で説明される制御信号バスである。複数のメモリユニット(11a〜11d)としては、実施の形態で説明されるデュアルインラインメモリモジュール(DIMM)が例示される。この複数のメモリユニット(11a〜11d)の各々はユニークな識別子を有する。ユニークな識別子は、実施の形態で説明される第1識別番号に対応する。メモリコントローラ(10)は、制御バス(102)を介して複数のメモリユニット(11a〜11d)の各々に命令を出力する。その命令は、識別子を含む。命令に含まれる識別子は、実施の形態で説明される第2識別番号に対応する。複数のメモリユニット(11a〜11d)の各々は、自己の保持する識別子(第1識別番号)と一致する識別子(第2識別番号)を含む命令を実行する。メモリアクセスを行うとき、メモリコントローラ(10)は、アクティブコマンドを発行してからリード/ライト/リフレッシュコマンドを発行するまでの間(例示:1クロックの間)にウェイト時間を挿入することなく、識別子(第2識別番号)を含む命令(アクティブコマンド、リード/ライト/リフレッシュコマンド)を、制御バス(102)を介して複数のメモリユニット(11a〜11d)の各々に出力する。これによって、メモリ装置(100)によれば、メモリコントローラ(10)が複数のメモリユニット(11a〜11d)に対して制御バス(102)を常時使用することができ、制御信号バス102の使用効率が向上する。
【0025】
メモリアクセスを行うときに複数のメモリユニット(11a〜11d)のうちの1つのメモリユニットによって制御バス(102)が占有されないように、メモリコントローラ(10)は、初期化時に複数のメモリユニット(11a〜11d)の各々にユニークな識別子(第1識別番号)を割当てる。複数のメモリユニット(11a〜11d)の各々は、割当てられた識別子(第1識別番号)を保持する。
【0026】
メモリ装置(100)によれば、メモリコントローラ(10)は、第1命令を制御バス(102)に出力した後、第1命令の実行の完了前に第2命令を制御バス(102)に出力することができる。これにより、メモリ装置(100)によれば、メモリコントローラ(10)がメモリアクセスを行うとき、従来のメモリ装置よりも速くアクセスすることができ、高速化が実現できる。このように、メモリ装置(100)によれば、制御信号バス(102)の使用効率の向上に加え、データバス(101)の使用効率も向上する。
【0027】
メモリコントローラ(10)は、外部からの第1要求に応じて第1命令を制御バス(102)に出力し、外部からの第2要求に応じて第2命令を制御バス(102)に出力する。この場合、メモリコントローラ(10)は、例えば、第1要求によってデータバス(101)を占有する第1占有期間と、第2要求によってデータバス(101)を占有する第2占有期間とが重複してしまうと判断する。このとき、メモリコントローラ(10)は、所定時間の経過後に第2命令を制御バス(102)に出力する。これにより、メモリ装置(100)によれば、第1占有期間と第2占有期間との重複を回避することができる。
【0028】
ここで、上述の命令は、リード命令であり、アドレスを更に含む。複数のメモリユニット(11a〜11d)の各々は、自己の保持する識別子(第1識別番号)と一致する識別子(第2識別番号)を含むリード命令により、アドレスから、データを読み出す。
【0029】
また、上述の命令は、ライト命令であり、アドレスを更に含む。複数のメモリユニット(11a〜11d)の各々は、自己の保持する識別子(第1識別番号)と一致する識別子(第2識別番号)を含むライト命令により、アドレスにデータを書込む。
【0030】
また、上述の命令は、リフレッシュ命令であり、アドレスを更に含む。複数のメモリユニット(11a〜11d)の各々は、自己の保持する識別子(第1識別番号)と一致する識別子(第2識別番号)を含むリフレッシュ命令により、アドレスに対するメモリエリアのリフレッシュ動作を行う。
【0031】
複数のメモリユニット(11a〜11d)の各々は、複数のメモリチップ(12)と、メモリコントローラ(10)からの命令を保持するレジスタ(22)とを有する。自己の保持する識別子(第1識別番号)と命令に含まれる識別子(第2識別番号)とが一致したとき、レジスタ(22)は、保持された命令を複数のメモリチップ(12)に出力する。
【0032】
複数のメモリユニット(11a〜11d)の各々は、チップセレクト信号制御回路(25)を更に有する。チップセレクト信号制御回路(25)は、自己の保持する識別子(第1識別番号)と命令に含まれる識別子(第2識別番号)とが一致したときにチップセレクト信号をアクティブ状態にして複数のメモリチップ(12)に出力する。チップセレクト信号がアクティブ状態のとき、レジスタ(22)は、保持された命令を複数のメモリチップ(12)に出力する。
【0033】
メモリコントローラ(10)は、外部から入力される指示に応答して命令を出力する。外部から入力される指示としては、実施の形態で説明されるクロック信号が例示される。
【0034】
本発明のコンピュータシステムは、システムバスと、システムバスに接続されたCPU(1)と、システムバスに接続された、上述のメモリ装置(100)とを具備する。
【0035】
また、本発明のコンピュータシステムは、システムバスに接続されたCPU制御回路(2)を更に具備する。システムバスは、CPU制御バス(91)、メモリ制御バス(93)を含み、CPU制御回路(2)は、CPU制御バス(91)を介してCPU(1)に接続され、メモリ制御バス(93)を介してメモリ装置(100)に接続されている。
【0036】
また、本発明のコンピュータシステムは、システムバスに接続されたI/O制御回路(3)と、複数のPCIバス(5a〜5d)と、各種I/O(6)と、BIOS(7)とを更に具備する。システムバスは、I/O制御バス(92)を更に含む。CPU制御回路(2)は、I/O制御バス(92)を介してI/O制御回路(3)に接続されている。I/O制御回路(3)は、複数のPCIバス(5a〜5d)と、各種I/O(6)と、BIOS(7)とに接続されている。各種I/O(6)としては、磁気ディスク装置と接続するためのインターフェースやRS232Cが例示される。BIOS(7)には、CPU(1)の初期化プログラムが書き込まれている。
【0037】
また、本発明のコンピュータシステムは、リセット回路(4)と、クロック発生回路(8)とを更に具備する。クロック発生回路(8)は、CPU(1)と、CPU制御回路(2)と、I/O制御回路(3)と、リセット回路(4)と、メモリ装置(100)とに接続されている。クロック発生回路(8)は、一定周期のクロック信号を発生して、所定の動作を実行するための指示として、そのクロック信号をCPU(1)、CPU制御回路(2)、I/O制御回路(3)、リセット回路(4)、メモリ装置(100)に出力する。リセット回路(4)は、CPU(1)と、CPU制御回路(2)と、I/O制御回路(3)と、メモリ装置(100)とに接続されている。電源投入時に、リセット回路(4)は、クロック信号に応答してリセット信号(94)をCPU(1)と、CPU制御回路(2)と、I/O制御回路(3)と、メモリ装置(100)とに出力し、CPU(1)とCPU制御回路(2)とI/O制御回路(3)とメモリ装置(100)とを初期化させる。CPU(1)、I/O制御回路(3)は、CPU制御回路(2)を介して、要求(第1要求、第2要求)をメモリ装置(100)に出力する。メモリ装置(100)のメモリコントローラ(10)は、CPU制御回路(2)からの要求(第1要求、第2要求)に応じて命令(第1命令、第2命令)を発行し、クロック信号に応答して、その命令を制御バス(102)に出力する。
【0038】
【発明の実施の形態】
添付図面を参照して、本発明によるメモリ装置の実施の形態を以下に説明する。本発明のメモリ装置100は、図1に示されるようなコンピュータシステムで実施される。コンピュータシステムは、CPU1、CPU制御回路2、I/O制御回路3、リセット回路4、複数のPCIバス5a〜5d、各種I/O6、BIOS7、クロック発生回路8、メモリ装置100、システムバスを具備する。システムバスは、CPU制御バス91、I/O制御バス92、メモリ制御バス93を含む。
【0039】
CPU制御回路2は、CPU制御バス91を介してCPU1に接続され、I/O制御バス92を介してI/O制御回路3に接続され、メモリ制御バス93を介してメモリ装置100に接続されている。I/O制御回路3は、複数のPCIバス5a〜5d、各種I/O6、BIOS7に接続されている。各種I/O6としては、磁気ディスク装置と接続するためのインターフェースやRS232Cが例示される。BIOS7には、CPU1の初期化プログラムが書き込まれている。リセット回路4は、CPU1、CPU制御回路2、I/O制御回路3、メモリ装置100に接続されている。クロック発生回路8は、CPU1、CPU制御回路2、I/O制御回路3、リセット回路4、メモリ装置100に接続されている。クロック発生回路8は、一定周期のクロック信号を発生して、所定の動作を実行するための指示として、そのクロック信号をCPU1、CPU制御回路2、I/O制御回路3、リセット回路4、メモリ装置100に出力する。電源投入時に、リセット回路4は、クロック信号に応答してリセット信号94をCPU1、CPU制御回路2、I/O制御回路3、メモリ装置100に出力し、CPU1、CPU制御回路2、I/O制御回路3、メモリ装置100を初期化させる(システム初期化)。本実施例では、CPU1、CPU制御回路2、I/O制御回路3、リセット回路4、PCIバス5a〜5d、各種I/O6、BIOS7の詳細な説明を省略する。
【0040】
図2は、本発明のメモリ装置100の構成を示すブロック図である。メモリ装置100は、メモリコントローラ10、メモリユニットであるN個(Nは2以上の正数)のデュアルインラインメモリモジュール(DIMM)、電源15、メモリバス、(N+1)本の識別番号信号線を具備する。N個のDIMMは、基板に実装されている。メモリバスは、データバス101、制御信号バス102を含む。本実施例では、Nを4とし、N個のDIMMをDIMM11a〜11d、(N+1)本の識別番号信号線を識別番号信号線103a〜103eとして説明する。
【0041】
メモリコントローラ10は、上述のメモリ制御バス93を介してCPU制御回路2に接続されている。メモリコントローラ10は、リセット回路4に接続され、リセット回路4からのリセット信号94を入力する。メモリコントローラ10は、データバス101と制御信号バス102とに接続されている。DIMM11a〜11dは、データバス101と制御信号バス102とに接続されている。
【0042】
メモリコントローラ10には上述のクロック信号が入力され、メモリコントローラ10は、そのクロック信号をDIMM11a〜11dに制御信号バス102を介して出力する。データバス101は、メモリコントローラ10とDIMM11a〜11dとがデータの入出力(メモリアクセス)を行うためのバスである。データの入力が行われるとき、そのデータは、メモリチップ12に書き込むための書込みデータであり、データの出力が行われるとき、そのデータは、メモリチップ12から読み出すための読出しデータである。制御信号バス102は、メモリコントローラ10がDIMM11a〜11dに制御信号を出力するためのバスである。制御信号は、メモリチップ12を制御するための信号である。
【0043】
DIMM11a〜11dは、アドレスを有する複数のメモリチップ(例示:DRAM)12、DIMMコントローラ13、DIMM内制御信号バス104、チップセレクト信号線105を具備する。メモリチップ12、DIMMコントローラ13は、DIMM11a〜11dに搭載されている。DIMM11a〜11d内のDIMMコントローラ13は、データバス101と制御信号バス102とに接続され、DIMM内制御信号バス104とチップセレクト信号線105とに接続されている。DIMM11a〜11d内のメモリチップ12は、データバス101に接続され、DIMM内制御信号バス104とチップセレクト信号線105とに接続されている。ここで、DIMM11a、11b、11c、11dのDIMM内制御信号バス104を、DIMM11a内制御信号バス104、DIMM11b内制御信号バス104、DIMM11c内制御信号バス104、DIMM11d内制御信号バス104と表記して説明する。DIMM11a〜11d内制御信号バス104は、メモリコントローラ10からの制御信号をDIMMコントローラ13が出力するためのバスである。チップセレクト信号線105は、DIMMコントローラ13がデータの入出力に必要な(アドレスに対応する)メモリチップ12を選択するための信号線である。
【0044】
DIMM11a〜11d内のメモリチップ12に接続されたデータバス101は、8ビット(種類によっては、4ビット、16ビットの場合もある)であり、DIMM11a〜11d内のメモリチップ12に接続されたデータバス101は、72ビットであるため、メモリチップ12は、9個並べて使用される。DIMM11a〜11dのうちの1つのDIMMにメモリアクセスを行う場合、その1つのDIMM内の9個のメモリチップ12が同時にアクセスされる。
【0045】
電源15は、識別番号信号線103aに接続されている。DIMM11a内のDIMMコントローラ13は、識別番号信号線103aと識別番号信号線103bとに接続されている。DIMM11b内のDIMMコントローラ13は、識別番号信号線103bと識別番号信号線103cとに接続されている。DIMM11c内のDIMMコントローラ13は、識別番号信号線103cと識別番号信号線103dとに接続されている。DIMM11d内のDIMMコントローラ13は、識別番号信号線103dと識別番号信号線103eとに接続されている。識別番号信号線103aには、電源15によって識別番号信号が流れる。この電源15は、常時、識別番号信号をアクティブ状態にして識別番号信号線103aを介してDIMM11a内のDIMMコントローラ13に出力している。識別番号信号線103d〜103eには、DIMM11a〜11dによって識別番号信号が流れる。
【0046】
メモリコントローラ10は、初期化のとき、識別番号設定コマンドによって、DIMM11a〜11dに重複しない第1識別番号(ユニークな第1識別番号)をDIMM11a〜11dに制御信号バス102を介して割り振る(割当てる)。DIMM11a〜11dは、識別番号信号線103a、103b、103c、103dに流れる識別番号信号がアクティブ状態であり、識別番号信号線103b、103c、103d、103eに流れる識別番号信号がインアクティブ状態であるときにメモリコントローラ10によって割当てられた第1識別番号を保持する。DIMM11a〜11dは、第1識別番号を保持した後、識別番号信号線103b、103c、103d、103eに流れる識別番号信号をアクティブ状態にする。
【0047】
メモリコントローラ10は、予めに、DIMM11a〜11dのメモリチップ12のアドレスを認識している。また、DIMM11a〜11dには、SPD(Serial Presence Detect)と呼ばれるROM(図示していない)が搭載され、DIMM11a〜11dのROMは、データバス101に接続されている。DIMM11a〜11d内のROMには、DIMM11a〜11d内のメモリチップ12により規定された時間が書き込まれている。メモリチップ12により規定された時間とは、アクティブコマンドを実行する時間とリードコマンド/ライトコマンドを実行する時間との間に挿入しなければならない待ち時間(ウェイト時間)のことである。
【0048】
ここで、リードコマンドは、メモリコントローラ10がメモリチップ12からデータの読出しを実行するための要求/命令である。ライトコマンドは、メモリコントローラ10がメモリチップ12にデータの書き込みを実行するための要求/命令である。アクティブコマンドは、メモリコントローラ10がリードコマンド/ライトコマンドを実行するときの要求/命令である。ウェイト時間は、メモリチップ12の種類毎に異なり、クロック数で規定される。本実施例では、ウェイト時間を1クロックとする。メモリコントローラ10、DIMM11a〜11dのDIMMコントローラ13は、初期化のとき、DIMM11a〜11d内のROMからウェイト時間を読出して認識する。
【0049】
また、CPU1及びI/O制御回路3は、個別のDIMM11a〜11dの容量に関する情報を認識しておらず、DIMM11a〜11dの容量を合計した合計容量に関する情報しか認識していない。一方、メモリコントローラ10は、個別のDIMM11a〜11dの容量に関する情報を認識している。
【0050】
そのため、リードの場合{メモリチップ12からデータ(読出しデータ)を読出す場合}、CPU1(又はI/O制御回路3)は、クロック信号に応答して、メモリチップ12が有するアドレスを含むリード要求を、CPU制御回路2を介してメモリコントローラ10に出力する。この場合、メモリコントローラ10は、CPU1(又はI/O制御回路3)からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11aとする)を判断してアクティブコマンド、リードコマンドを発行し、アクティブコマンド、リードコマンドに、そのアドレスと制御信号とを設定する。制御信号には、メモリチップ12からデータを読出すためのデータ長がメモリコントローラ10によって指定される。メモリコントローラ10は、リード命令(アクティブコマンド、リードコマンド)を出力するときに、アクティブコマンド、リードコマンドに設定された制御信号に第2識別番号を付与する(含める)。メモリコントローラ10は、クロック信号に応答して、リード命令を(アクティブコマンド、リードコマンドを順に)制御信号バス102に出力する。DIMM11aは、自己の保持する第1識別番号と一致する第2識別番号を含むリード命令(アクティブコマンド、リードコマンド)を実行する。このDIMM11aは、そのリード命令により、DIMM11a内のアドレス(メモリチップ12)からデータを読出し、データバス101を介してメモリコントローラ10に出力する。メモリコントローラ10は、CPU制御回路2を介してCPU1に読出しデータ(読み出されたデータ)を出力し、CPU1は、その読出しデータを実行する。
【0051】
また、ライトの場合{メモリチップ12にデータ(書込みデータ)を書き込む場合}、CPU1(又はI/O制御回路3)は、クロック信号に応答して、メモリチップ12が有するアドレスとそのデータとを含むライト要求を、CPU制御回路2を介してメモリコントローラ10に出力する。この場合、メモリコントローラ10は、CPU1(又はI/O制御回路3)からのライト要求に含まれるアドレスにより選択すべきDIMM(DIMM11aとする)を判断してアクティブコマンド、ライトコマンドを発行し、アクティブコマンド、ライトコマンドに、そのアドレスと制御信号とを設定する。制御信号には、メモリチップ12にデータを書き込むためのデータ長がメモリコントローラ10によって指定される。メモリコントローラ10は、ライト命令(アクティブコマンド、ライトコマンド)を出力するときに、アクティブコマンド、ライトコマンドに設定された制御信号に第2識別番号を付与する(含める)。メモリコントローラ10は、クロック信号に応答して、ライト命令を(アクティブコマンド、ライトコマンドを順に)制御信号バス102に出力する。メモリコントローラ10は、メモリチップ12により規定された時間だけ待ってから、クロック信号に応答して、データ(書込みデータ)をデータバス101に出力する。DIMM11aは、自己の保持する第1識別番号と一致する第2識別番号を含むライト命令(アクティブコマンド、ライトコマンド)を実行する。このDIMM11aは、そのライト命令により、そのアドレス(メモリチップ12)に書込みデータを書き込む。メモリコントローラ10は、そのデータをデータバス101に出力することにより、そのアドレス(メモリチップ12)に書込みデータが書き込まれたことを表わす応答信号を、CPU制御回路2を介してCPU1(又はI/O制御回路3)に出力する。
【0052】
図3は、メモリ装置100のDIMM11a〜11d内のDIMMコントローラ13の構成を示すブロック図である。DIMM11a〜11d内のDIMMコントローラ13は、識別番号抽出回路21、レジスタ22、23、比較器24、チップセレクト信号制御回路25を具備する。識別番号抽出回路21は、データバス101、制御信号バス102に接続されている。識別番号抽出回路21は、レジスタ23、比較器24に接続されている。比較器24は、レジスタ23、チップセレクト信号制御回路25に接続されている。レジスタ22は、制御信号バス102に接続され、DIMM11a〜11d内制御信号バス104に接続されている。チップセレクト信号制御回路25は、レジスタ22、チップセレクト信号線105に接続されている。図4は、メモリ装置100のメモリコントローラ10の構成を示すブロック図である。メモリコントローラ10は、タイミング制御回路26、カウンタ27、レジスタ28を具備する。タイミング制御回路26は、カウンタ27、レジスタ28に接続され、メモリ制御バス93、データバス101、制御信号バス102に接続されている。
【0053】
次に、メモリ装置100の動作について説明する。メモリ装置100の動作は、初期化時の動作と、メモリアクセス実行時の動作とに分けられる。
【0054】
図5に示されるように、初期化のとき、時刻T0において、リセット回路4は、クロック信号に応答して(例えばクロック信号の立下りに応答して)、メモリコントローラ10にリセット信号94を出力する。DIMM11a〜11dには、メモリコントローラ10、制御信号バス102を介してリセット信号94が入力される。このとき、DIMM11a〜11d内のDIMMコントローラ13の識別番号抽出回路21は、リセット信号94に応じて、識別番号信号線103b〜103eに流れる識別番号信号をインアクティブにする。
【0055】
時刻T1において、メモリコントローラ10は、クロック信号に応答して、第1識別番号が設定された識別番号設定コマンドを発行して制御信号バス102を介してDIMM11a〜11dに出力する。この時刻T1において、識別番号信号線103aに流れる識別番号信号がアクティブ状態であり、識別番号信号線103bに流れる識別番号信号がインアクティブ状態である。この状態で、DIMM11a内の識別番号抽出回路21は、メモリコントローラ10からの識別番号設定コマンドを入力する。ここで、DIMM11b〜11d内の識別番号抽出回路21は、識別番号信号線103b〜103dに流れる識別番号信号がインアクティブであるため、メモリコントローラ10からの識別番号設定コマンドを無視する。DIMM11a内の識別番号抽出回路21は、識別番号設定コマンドに設定された第1識別番号を抽出し、抽出された第1識別番号をDIMM11a内のレジスタ23に出力する。このとき、DIMM11a内のレジスタ23は、DIMM11a内の識別番号抽出回路21からの第1識別番号を保持/設定する。DIMM11a内のレジスタ23に保持/設定された第1識別番号は、DIMM11aを識別するための識別子である。
【0056】
時刻T2において、DIMM11a内の識別番号抽出回路21は、クロック信号に応答して、データバス101を介してメモリコントローラ10に応答信号を出力し、識別番号信号線103bに流れる識別番号信号をアクティブ状態にする。メモリコントローラ10は、DIMM11a内の識別番号抽出回路21からの応答信号を入力したとき、DIMM11aが第1識別番号を保持/設定したことを認識する。
【0057】
時刻T1と同様に、時刻T3、T5、T7において、メモリコントローラ10は、クロック信号に応答して、第1識別番号が設定された識別番号設定コマンドを発行して制御信号バス102を介してDIMM11a〜11dに出力する。この時刻T3、T5、T7において、識別番号信号線103b、103c、103dに流れる識別番号信号がアクティブ状態であり、識別番号信号線103c、103d、103eに流れる識別番号信号がインアクティブ状態である。この状態で、DIMM11b、11c、11d内の識別番号抽出回路21は、メモリコントローラ10からの識別番号設定コマンドを入力する。DIMM11b、11c、11d内の識別番号抽出回路21は、識別番号設定コマンドに設定された第1識別番号を抽出し、抽出された第1識別番号をDIMM11b、11c、11d内のレジスタ23に出力する。このとき、DIMM11b、11c、11d内のレジスタ23は、DIMM11b、11c、11d内の識別番号抽出回路21からの第1識別番号を保持/設定する。DIMM11b、11c、11d内のレジスタ23に保持/設定された第1識別番号は、DIMM11bを識別するための識別子である。
【0058】
時刻T2と同様に、時刻T4、T6、T8において、DIMM11b、11c、11d内の識別番号抽出回路21は、クロック信号に応答して、データバス101を介してメモリコントローラ10に応答信号を出力し、識別番号信号線103c、103d、103eに流れる識別番号信号をアクティブ状態にする。メモリコントローラ10は、DIMM11b、11c、11d内の識別番号抽出回路21からの応答信号を入力したとき、DIMM11b、11c、11dが第1識別番号を保持/設定したことを認識する。
【0059】
時刻T9において、メモリコントローラ10は、クロック信号に応答して、第1識別番号が設定された識別番号設定コマンドを発行して制御信号バス102を介してDIMM11a〜11dに出力する。DIMM11a〜11d内の識別番号抽出回路21は、識別番号信号線103b〜103eに流れる識別番号信号がアクティブ状態であるため、メモリコントローラ10からの識別番号設定コマンドを無視する。その結果、メモリコントローラ10に応答信号が返らないため、メモリコントローラ10は、それ以上DIMMが実装されていないことを認識する。即ち、メモリコントローラ10は、DIMM11a〜11dの全てが第1識別番号を保持したことを認識する。
【0060】
次に、メモリアクセス実行時の動作について説明する。ここで、メモリコントローラ10は、命令(アクティブコマンド、リード/ライトコマンド)に設定された制御信号にデータ長を4クロックに指定するものとする。
【0061】
図6は、メモリアクセスとして、DIMM11aのメモリチップ12(アドレス)からデータを読み出すためのリード命令(アクティブコマンド、リードコマンド)を実行する動作を示すタイミングチャートである。リードの場合、例えばCPU1は、クロック信号に応答して、アドレスを含むリード要求を、CPU制御回路2を介してメモリコントローラ10に出力する。メモリコントローラ10は、CPU1からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11aとする)を判断してアクティブコマンドを発行し、アクティブコマンドに、そのアドレスと制御信号(第2識別番号を含む)とを設定する。制御信号に含まれる第2識別番号は、DIMM11aに割り振られた第1識別番号に一致する。
【0062】
時刻T10において、メモリコントローラ10は、クロック信号に応答して、アクティブコマンドを制御信号バス102に出力する。DIMM11a〜11d内の識別番号抽出回路21、レジスタ22には、メモリコントローラ10からのアクティブコマンドが入力される。DIMM11a〜11d内のレジスタ22は、メモリコントローラ10からのアクティブコマンドを保持する。DIMM11a〜11d内の識別番号抽出回路21は、アクティブコマンドに設定された制御信号から第2識別番号を抽出して認識し、第2識別番号をDIMM11a〜11d内の比較器24に出力する。このとき、DIMM11a〜11d内の識別番号抽出回路21は、比較イネーブル信号を1クロック間だけアクティブ状態にしてDIMM11a〜11d内の比較器24に出力する。ここで、1クロック間とは、時刻T10から時刻T11までの時間に対応する。
【0063】
DIMM11a〜11d内の比較器24は、比較イネーブル信号に応じて、DIMM11a〜11d内のレジスタ23に保持/設定された第1識別番号と、DIMM11a〜11d内の識別番号抽出回路21からの第2識別番号とを比較する。ここで、DIMM11a内のレジスタ23に保持/設定された第1識別番号と、アクティブコマンドに設定された制御信号に含まれる第2識別番号(DIMM11a内の識別番号抽出回路21からの第2識別番号)とが一致するため、メモリコントローラ10によってDIMM11aが選択される。DIMM11a内の比較器24は、第1識別番号と第2識別番号との一致を示す一致信号を1クロック間だけアクティブ状態にしてDIMM11a内のチップセレクト信号制御回路25に出力する。
【0064】
次に、時刻T11において、DIMM11a内のチップセレクト信号制御回路25は、DIMM11a内の比較器24からの一致信号に応じて、DIMM11a内のレジスタ22に保持されたアクティブコマンドを読取る。DIMM11a内のチップセレクト信号制御回路25は、そのアクティブコマンドに設定されたアドレスによって、DIMM11a内のチップセレクト信号線105に、チップセレクト信号を1クロック間アクティブ状態にして出力する。同時に、DIMM11a内のチップセレクト信号制御回路25は、DIMM11a内のレジスタ22に出力命令信号を出力する。ここで、1クロック間とは、時刻T11から時刻T12までの時間に対応する。DIMM11a内のレジスタ22は、DIMM11a内のチップセレクト信号制御回路25がチップセレクト信号を1クロック間アクティブ状態にしているときに、出力命令信号に応じて、DIMM11a内のメモリチップ12に、DIMM11a内制御信号バス104を介して、アクティブコマンドに設定された制御信号とアドレスとを出力する。
【0065】
この時刻T11において、メモリコントローラ10は、CPU1からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11aとする)を判断してリードコマンドを発行し、リードコマンドに、そのアドレスと制御信号(第2識別番号を含む)とを設定する。制御信号に含まれる第2識別番号は、DIMM11aに割り振られた第1識別番号に一致する。メモリコントローラ10は、クロック信号に応答して、リードコマンドを制御信号バス102に出力する。時刻T10におけるアクティブコマンドと同様に、DIMM11a〜11d内にはメモリコントローラ10からのリードコマンドが入力され、メモリコントローラ10によってDIMM11aが選択される。DIMM11a内の比較器24は、一致信号を1クロック間だけアクティブ状態にしてDIMM11a内のチップセレクト信号制御回路25に出力する。DIMM11a内のチップセレクト信号制御回路25は、DIMM11a内の比較器24からの一致信号に応じて、レジスタ22に保持されたリードコマンドを読取り、ウェイト時間(メモリチップ12により規定された時間)が経過するのを待つ。ここで、ウェイト時間は、例えば、時刻T12から時刻T13までの時間に対応する。
【0066】
時刻T13において、DIMM11a内のチップセレクト信号制御回路25は、メモリチップ12により規定された時間(ウェイト時間:時刻T12〜T13の1クロック)が経過したとき、リードコマンドに設定されたアドレスによって、DIMM11a内のチップセレクト信号線105に、チップセレクト信号を1クロック間アクティブ状態にして出力する。同時に、DIMM11a内のチップセレクト信号制御回路25は、DIMM11a内のレジスタ22に出力命令信号を出力する。ここで、1クロック間とは、時刻T13から時刻T14までの時間に対応する。DIMM11a内のレジスタ22は、DIMM11a内のチップセレクト信号制御回路25がチップセレクト信号を1クロック間アクティブ状態にしているときに、出力命令信号に応じて、DIMM11a内のメモリチップ12に、DIMM11a内制御信号バス104を介して、リードコマンドに設定された制御信号とアドレスとを出力する。DIMM11a内のメモリチップ12にはリードコマンドに設定された制御信号が入力される。
【0067】
メモリチップ12により規定された時間(時刻T14〜T15の1クロック)が経過した後、時刻T15〜T18において、リードコマンドに設定された制御信号により、DIMM11a内のメモリチップ12(アドレス)から、データ(読出しデータ)が順に読み出される。読出しデータは、クロック信号に応答して、データ信号としてデータバス101を介してメモリコントローラ10に順に出力される。メモリコントローラ10は、CPU制御回路2を介してCPU1に読出しデータを出力し、CPU1は、その読出しデータを実行する。
【0068】
例えば、I/O制御回路3は、クロック信号に応答して、アドレスを含むリード要求を、CPU制御回路2を介してメモリコントローラ10に出力し、メモリコントローラ10は、I/O制御回路3からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11bとする)を判断したものとする。そこで、時刻T12、T13において、メモリコントローラ10がDIMM11bのメモリチップ12(アドレス)からデータを読み出すためのリード命令(アクティブコマンド、リードコマンド)を発行して出力してしまうと、DIMM11aのメモリチップ12から読み出されたデータとDIMM11bのメモリチップ12から読み出されたデータとがデータバス101上で衝突してしまう。このように、データバス101を使用するコマンドを発行してしまうと不具合が生じる。
【0069】
このため、時刻T12、T13において、メモリコントローラ10は、リフレッシュ命令(アクティブコマンド、リフレッシュコマンド)を発行し、そのリフレッシュ命令(アクティブコマンド、リフレッシュコマンド)に、そのアドレスと制御信号(第2識別番号を含む)とを設定する。制御信号に含まれる第2識別番号は、DIMM11bに割り振られた第1識別番号に一致する。メモリコントローラ10は、クロック信号に応答して、リフレッシュ命令(アクティブコマンド、リフレッシュコマンド)を制御信号バス102に出力する。リフレッシュコマンドは、DIMM11bがDIMM11b内のメモリチップ12(アドレス)に対するメモリエリアのリフレッシュ動作を行うためのコマンドである。リフレッシュ動作とは、そのメモリチップ12(アドレス)からデータを読出し、読み出されたデータを書き直す動作をいう。
【0070】
時刻T14、T15において、メモリコントローラ10は、リード命令(アクティブコマンド、リードコマンド)を発行し、そのリード命令(アクティブコマンド、リードコマンド)に、そのアドレスと制御信号(第2識別番号を含む)とを設定する。制御信号に含まれる第2識別番号は、DIMM11bに割り振られた第1識別番号に一致する。メモリコントローラ10は、クロック信号に応答して、リード命令(アクティブコマンド、リードコマンド)を制御信号バス102に出力する。
【0071】
この場合、時刻T12〜T15において、DIMM11b内のレジスタ23に保持/設定された第1識別番号と、リフレッシュ命令(アクティブコマンド、リフレッシュコマンド)、リード命令(アクティブコマンド、リードコマンド)に設定された制御信号に含まれる第2識別番号とが一致するため、メモリコントローラ10によってDIMM11bが選択される。
【0072】
また、DIMM11bは、時刻T12〜T14において、メモリコントローラ10からのリフレッシュ命令(アクティブコマンド、リフレッシュコマンド)により、DIMM11b内のメモリチップ12(アドレス)からデータを読出し、読み出されたデータを書き直す処理を行い、時刻T14〜T22において、上述のDIMM11aと同様の動作をする。即ち、時刻T19〜T22において、リードコマンドに設定された制御信号により、DIMM11b内のメモリチップ12(アドレス)から、データ(読出しデータ)が順に読み出される。読出しデータは、クロック信号に応答して、データ信号としてデータバス101を介してメモリコントローラ10に順に出力される。メモリコントローラ10は、CPU制御回路2を介してI/O制御回路3に読出しデータを出力し、I/O制御回路3は、その読出しデータを実行する。
【0073】
メモリ装置100によれば、メモリアクセスを行うときに1つのDIMMによって制御信号バス102が占有されないように、初期化のとき、メモリコントローラ10は、重複しない第1識別番号が設定された識別番号設定コマンドを発行して制御信号バス102に出力することによって、第1識別番号をDIMM11a〜11dに割り振る。メモリアクセスを行うとき(DIMM11a〜11dのメモリチップ12からデータを読み出すとき)、メモリコントローラ10は、アクティブコマンドを発行してからリード/リフレッシュコマンドを発行するまでの1クロックの間にウェイト時間を挿入することなく、第2識別番号を含む制御信号とアドレスとが設定された命令(アクティブコマンド、リード/リフレッシュコマンド)を、制御信号バス102を介してDIMM11a〜11dに出力する。これによって、メモリ装置100によれば、メモリコントローラ10がDIMM11a〜11dに対して制御信号バス102を常時使用することができる。
【0074】
また、メモリコントローラ10は、時刻T10〜T11にて第1命令としてDIMM11aへのリード命令(アクティブコマンド、リードコマンド)を発行して制御信号バス102に出力した後、この第1命令(リード命令)の実行が時刻T15〜T18にて完了する前に、時刻T12〜T13、時刻T14〜T15にて第2命令、第3命令としてDIMM11bへのリフレッシュ命令、リード命令を発行して制御信号バス102に出力することができる。
【0075】
図7は、メモリアクセスとして、DIMM11aのメモリチップ12(アドレス)にデータを書込むためのライト命令(アクティブコマンド、ライトコマンド)を実行する動作を示すタイミングチャートである。この動作は、制御信号バス102からDIMM11aにアクティブコマンドが入力された後に、ライトコマンドが入力された場合の例であり、メモリチップ12(アドレス)からデータを読み出すタイミングとメモリチップ12(アドレス)にデータを書き込むタイミングとが異なること以外は、リードコマンドが入力された場合と同様である。この場合、例えば、I/O制御回路3は、クロック信号に応答して、そのデータとアドレスとを、CPU制御回路2を介してメモリコントローラ10に出力する。メモリコントローラ10は、I/O制御回路3からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11aとする)を判断し、ライト命令(アクティブコマンド、ライトコマンド)を発行し、そのライト命令(アクティブコマンド、ライトコマンド)に、そのアドレスと制御信号(第2識別番号を含む)とを設定する。制御信号に含まれる第2識別番号は、DIMM11aに割り振られた第1識別番号に一致する。
【0076】
時刻T30において、時刻T10で説明されたものと同様に上述のメモリアクセス実行時の動作を実行する。時刻T31において、時刻T11で説明されたものと同様に(但し、リードコマンドをライトコマンドに代えて)上述のメモリアクセス実行時の動作を実行する。時刻T32において、時刻T12で説明されたものと同様に上述のメモリアクセス実行時の動作を実行する。
【0077】
時刻T33において、DIMM11a内のチップセレクト信号制御回路25は、メモリチップ12により規定された時間(ウェイト時間:時刻T32〜T33の1クロック)が経過したとき、ライトコマンドに設定されたアドレスによって、DIMM11a内のチップセレクト信号線105に、チップセレクト信号を1クロック間アクティブ状態にして出力する。同時に、DIMM11a内のチップセレクト信号制御回路25は、DIMM11a内のレジスタ22に出力命令信号を出力する。ここで、1クロック間とは、時刻T32から時刻T33までの時間に対応する。DIMM11a内のレジスタ22は、DIMM11a内のチップセレクト信号制御回路25がチップセレクト信号を1クロック間アクティブ状態にしているときに、出力命令信号に応じて、DIMM11a内のメモリチップ12に、DIMM11a内制御信号バス104を介して、ライトコマンドに設定された制御信号とアドレスとを出力する。DIMM11a内のメモリチップ12にはライトコマンドに設定された制御信号が入力される。
【0078】
また、時刻T33において、メモリチップ12により規定された時間(時刻T32〜T33の1クロック)が経過したとき、時刻T33〜T36において、メモリコントローラ10は、クロック信号に応答して、I/O制御回路3からのデータ(書込みデータ)をデータバス101に順に出力する。この時刻T33〜T36において、ライトコマンドに設定された制御信号により、DIMM11a内のメモリチップ12にメモリコントローラ10からの書込みデータが順に書き込まれる。また、メモリコントローラ10は、そのデータをデータバス101に出力することにより、データが書き込まれたことを表わす応答信号を、CPU制御回路2を介してI/O制御回路3に出力する。
【0079】
例えば、CPU1は、クロック信号に応答して、そのデータとアドレスとを含むライト要求を、CPU制御回路2を介してメモリコントローラ10に出力し、メモリコントローラ10は、CPU1からのライト要求に含まれるアドレスにより選択すべきDIMM(DIMM11bとする)を判断したものとする。この場合、時刻T12、T13で説明されたものと同様に、時刻T32、T33において、メモリコントローラ10は、アクティブコマンド、リフレッシュコマンドを発行し、時刻T14、T15で説明されたものと同様に(但し、リードコマンドをライトコマンドに代えて)、時刻T34、T35において、ライト命令(アクティブコマンド、ライトコマンド)を発行する。これにより、DIMM11aのメモリチップ12に書込むための書込みデータとDIMM11bのメモリチップ12に書込むための書込みデータとがデータバス101上で衝突することを回避することができる。
【0080】
このように、メモリ装置100によれば、メモリアクセスを行うとき(DIMM11a〜11dのメモリチップ12にデータを書き込むとき)、メモリコントローラ10は、アクティブコマンドを発行してからライト/リフレッシュコマンドを発行するまでの1クロックの間にウェイト時間を挿入することなく、第2識別番号を含む制御信号とアドレスとが設定された命令(アクティブコマンド、ライト/リフレッシュコマンド)を、制御信号バス102を介してDIMM11a〜11dに出力する。これによって、メモリ装置100によれば、メモリコントローラ10がDIMM11a〜11dに対して制御信号バス102を常時使用することができる。
【0081】
また、メモリコントローラ10は、時刻T30〜T31にて第1命令としてDIMM11aへのライト命令(アクティブコマンド、ライトコマンド)を発行して制御信号バス102に出力した後、この第1命令(ライト命令)の実行が時刻T33〜T36にて完了する前に、時刻T32〜T33、時刻T34〜T35にて第2命令、第3命令としてDIMM11bへのリフレッシュ命令、ライト命令を発行して制御信号バス102に出力することができる。
【0082】
また、データ(読出しデータ/書込みデータ)がデータバス101上で衝突することを回避するために、メモリコントローラ10は、バス調停を行う。CPU制御回路2からメモリ制御バス93を介してメモリコントローラ10に、第1要求としてリード/ライト要求がなされ、その後、第2要求としてリード/ライト要求がなされた場合、メモリコントローラ10は、第1要求(リード/ライト要求)に応じて第1命令(リード/ライト命令)を制御信号バス102に出力し、第2要求(リード/ライト要求)に応じて第2命令(リード/ライト命令)を制御信号バス102に出力する。この場合、メモリコントローラ10は、例えば、第1要求(リード/ライト要求)によってデータバス101を占有する第1占有期間と、第2要求(リード/ライト要求)によってデータバス101を占有する第2占有期間とが重複してしまうと判断する。このとき、メモリコントローラ10は、所定時間の経過後に第2命令(リード/ライト命令)を制御信号バス102に出力する。これにより、メモリ装置100によれば、第1占有期間と第2占有期間との重複を回避することができる。
【0083】
具体的には、第1要求としてリード/ライト要求がメモリコントローラ10になされ、メモリコントローラ10のカウンタ27の表す値が“0”である場合、メモリコントローラ10のタイミング制御回路26は、第1要求のデータ長(4クロック)をカウンタ27に保持する。タイミング制御回路26は、その第1要求(リード/ライト要求)によりリード/ライト命令(アクティブコマンド、リード/ライトコマンド)を発行して、クロック信号に応答して、そのリード/ライト命令を制御信号バス102に出力する。このとき、カウンタ27は、クロック信号に応答し、“3”から“0”になるまで1づつ減算を行う。カウンタ27が減算を行っている間に第2要求としてリード/ライト要求がメモリコントローラ10になされた場合、タイミング制御回路26は、第2要求のデータ長(4クロック)をカウンタ27に保持し、その第2要求(リード/ライト要求)をレジスタ28に出力し、レジスタ28は、その第2要求(リード/ライト要求)を保持する。即ち、カウンタ27が減算を行っている間に第2要求(リード/ライト要求)がメモリコントローラ10になされた場合、タイミング制御回路26は、第1占有期間と第2占有期間とが重複すると判断し、レジスタ28は、カウンタ27の表す値が“0”以外の場合、リード/ライト要求を保持する。所定時間が経過したとき(カウンタ27の表す値が“0”になったとき)、タイミング制御回路26は、その第2要求(リード/ライト要求)によりリード/ライト命令(アクティブコマンド、リード/ライトコマンド)を発行して、クロック信号に応答して、そのリード/ライト命令を制御信号バス102に出力する。
【0084】
例えば、図5を用いて説明されたDIMM11aとDIMM11bとのメモリチップ12(アドレス)からデータを読み出す場合における、バス調停について図8に示す。図8では、DIMM11a内のチップセレクト信号線105に流れるチップセレクト信号(時刻T11、時刻T13)と、DIMM11b内のチップセレクト信号線105に流れるチップセレクト信号(時刻T15、時刻T17)とを同じタイミングチャート図に記載している。同様に、図8では、DIMM11a内のDIMM11a内制御信号バス104に流れるコマンド(時刻T11、時刻T13)と、DIMM11b内のDIMM11b内制御信号バス104に流れるコマンド(時刻T15、時刻T17)とを同じタイミングチャート図に記載している。この場合、バス調停における動作は上述と同様である。
【0085】
本実施例では、メモリコントローラ10は、命令(アクティブコマンド、リード/ライトコマンド)に設定された制御信号にデータ長を4クロックに指定しているが、データ長を2クロックに指定する場合がある。この場合、メモリコントローラ10は、リフレッシュコマンドを発行する必要がなく、アクティブコマンド、リード/ライトコマンドを発行して制御信号バス102に出力することによって、メモリアクセスを行うことができる(DIMM11a〜11dのメモリチップ12からデータを読み出すことができる/DIMM11a〜11dのメモリチップ12にデータを書き込むことができる)。
【0086】
例えば、メモリコントローラ10は、CPU1からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11a)を判断し、次に、I/O制御回路3からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11bとする)を判断し、次いで、CPU1からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11c)を判断したものとする。
【0087】
この場合、図9に示されるように、時刻T10、T11において、メモリコントローラ10は、クロック信号に応答して、DIMM11aのメモリチップ12(アドレス)からデータを読み出すためのリード命令(アクティブコマンド、リードコマンド)を発行して制御信号バス102に出力する。時刻T12、T13において、メモリコントローラ10は、クロック信号に応答して、DIMM11bのメモリチップ12(アドレス)からデータを読み出すためのリード命令(アクティブコマンド、リードコマンド)を発行して制御信号バス102に出力する。時刻T14、T15において、メモリコントローラ10は、クロック信号に応答して、DIMM11cのメモリチップ12(アドレス)からデータを読み出すためのリード命令(アクティブコマンド、リードコマンド)を発行して制御信号バス102に出力する。
【0088】
その結果、時刻T15、T16において、リードコマンドに設定された制御信号により、DIMM11a内のメモリチップ12(アドレス)から、データ(読出しデータ)が順に読み出され、その読出しデータは、クロック信号に応答して、データ信号としてデータバス101を介してメモリコントローラ10に順に出力される。時刻T17、T18において、DIMM11b内のメモリチップ12(アドレス)から、データ(読出しデータ)が順に読み出され、その読出しデータは、クロック信号に応答して、データ信号としてデータバス101を介してメモリコントローラ10に順に出力される。時刻T19、T20において、リードコマンドに設定された制御信号により、DIMM11c内のメモリチップ12から、データ(読出しデータ)が順に読み出され、その読出しデータは、クロック信号に応答して、データ信号としてデータバス101を介してメモリコントローラ10に順に出力される。
【0089】
このように、メモリコントローラ10は、時刻T10〜T11にて第1命令としてDIMM11aへのリード命令(アクティブコマンド、リードコマンド)を発行して制御信号バス102に出力した後、この第1命令(リード命令)の実行が時刻T15〜T16にて完了する前に、時刻T12〜T13にて第2命令としてDIMM11bへのリード命令を発行して制御信号バス102に出力することができる。
【0090】
一方、図10を用いて説明された従来のメモリ装置(メモリコントローラ410、DIMM511a〜DIMM511d、データバス501、制御信号バス502、…)において、例えば、メモリコントローラ410は、CPU1からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11a)を判断し、次に、I/O制御回路3からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11bとする)を判断し、次いで、CPU1からのリード要求に含まれるアドレスにより選択すべきDIMM(DIMM11c)を判断したものとする。この場合、図11に示されるように、メモリコントローラ410は、時刻T10、T13、T16にてアクティブコマンドを発行し、ウェイト時間(時刻T11〜T12、時刻T14〜T15、時刻T17〜T18)が経過したとき、時刻T12、T15、T18にてリードコマンドを発行する。このように、従来のメモリ装置では、メモリコントローラ410は、アクティブコマンドを発行してから、リードコマンドを発行するまでの1クロックの間に、ウェイト時間を挿入しなければならない。
【0091】
従って、メモリ装置100によれば、メモリコントローラ10が、データ長を2クロックに指定し、DIMM11a〜11dのメモリチップ12からデータを読み出す場合、従来のメモリ装置の場合よりも2クロック分速く読み出すことができ、高速化が実現できる。同様に、メモリ装置100によれば、メモリコントローラ10が、データ長を2クロックに指定し、DIMM11a〜11dのメモリチップ12にデータを書き込む場合、従来のメモリ装置の場合よりも2クロック分速く書き込むことができ、高速化が実現できる。また、従来のメモリ装置では、データバス501の使用効率は66%であるのに対して、メモリ装置100では、高速化が実現できるため、データバス501の使用効率は100%である。このように、メモリ装置100によれば、制御信号バス102の使用効率の向上に加え、データバス101の使用効率も向上し、従来と比較してバスの実効帯域を増やすことができる。
【0092】
【発明の効果】
以上の説明により、メモリ装置100によれば、メモリアクセスを行うときに1つのDIMMによって制御信号バス102が占有されないように、初期化のとき、メモリコントローラ10は、重複しない第1識別番号が設定された識別番号設定コマンドを発行して制御信号バス102に出力することによって、第1識別番号をDIMM11a〜11dに割り振る。メモリアクセスを行うとき(DIMM11a〜11dのメモリチップ12からデータを読み出すとき/DIMM11a〜11dのメモリチップ12にデータを書き込むとき)、メモリコントローラ10は、アクティブコマンドを発行してからリード/ライト/リフレッシュコマンドを発行するまでの1クロックの間にウェイト時間を挿入することなく、第2識別番号を含む制御信号とアドレスとが設定された命令(アクティブコマンド、リード/ライト/リフレッシュコマンド)を、制御信号バス102を介してDIMM11a〜11dに出力する。これによって、メモリ装置100によれば、メモリコントローラ10がDIMM11a〜11dに対して制御信号バス102を常時使用することができ、制御信号バス102の使用効率が向上する。
【0093】
また、メモリ装置100によれば、メモリコントローラ10が、第1命令を発行して制御信号バス102に出力した後、この第1命令の実行の完了前に、第2命令を発行して制御信号バス102に出力することができる。これにより、メモリ装置100によれば、メモリコントローラ10がメモリアクセスを行うとき(DIMM11a〜11dのメモリチップ12からデータを読み出すとき/DIMM11a〜11dのメモリチップ12にデータを書き込むとき)、従来のメモリ装置の場合よりも速くアクセスすることができ(速く読み出すことができ/書き込むことができ)、高速化が実現できる。このように、メモリ装置100によれば、制御信号バス102の使用効率の向上に加え、データバス101の使用効率も向上し、従来と比較してバスの実効帯域を増やすことができる。
【0094】
メモリ装置100によれば、従来のメモリ装置のようにチップセレクト信号線503a〜503dをメモリコントローラ410(DIMM511a〜511d内のレジスタ413)からDIMM511a〜511dに引き回して配線するのではなく、DIMM11a〜11d(DIMM11a〜11d内のDIMMコントローラ13)に、識別番号信号線103a〜103dと識別番号信号線103b〜103eとを配線している。例えば、DIMM11aを基板に搭載した後、DIMM11bを基板に搭載する場合、識別番号信号線103bをDIMM11aとDIMM11bとに配線すればよい。同様に、DIMM11cを基板に搭載する場合、識別番号信号線103cをDIMM11bとDIMM11cとに配線すればよい。このように、メモリ装置100によれば、基板上での識別番号信号線103a〜103eの引き回しが容易であり、配線収容性が向上する。また、メモリ装置100によれば、配線収容性が向上するため、基板の大きさや層数を削減することができる。
【0095】
また、メモリ装置100によれば、配線収容性が向上するため、DIMMの実装枚数を容易に増加させることができる。例えば、基板に搭載されたDIMM11a〜11cに加えて、DIMM11dを更に基板に搭載する場合、DIMM11cに配線された識別番号信号線103dをDIMM11dに配線すればよい。そのため、DIMMスロットを使い切ってしまったコンピュータにメモリを増設する場合は、今まで使用していたDIMMを取り外す必要がなく、DIMMを有効に利用することができる。これにより、例えば、1つのDIMMスロットに2枚のDIMMを実装できるようなDIMMスロット変換モジュールを容易に作成することができる。
【図面の簡単な説明】
【図1】図1は、コンピュータシステムの構成を示すブロック図である。
【図2】図2は、本発明のメモリ装置の構成を示すブロック図である。
【図3】図3は、本発明のメモリ装置のDIMM内のDIMMコントローラの構成を示すブロック図である。
【図4】図4は、本発明のメモリ装置のメモリコントローラの構成を示すブロック図である。
【図5】図5は、本発明のメモリ装置の動作を示すタイミングチャート図である。
【図6】図6は、本発明のメモリ装置の動作を示すタイミングチャート図である。
【図7】図7は、本発明のメモリ装置の動作を示すタイミングチャート図である。
【図8】図8は、本発明のメモリ装置の動作を示すタイミングチャート図である。
【図9】図9は、本発明のメモリ装置の動作を示すタイミングチャート図である。
【図10】図10は、従来のメモリ装置の構成を示すブロック図である。
【図11】図11は、従来のメモリ装置の動作を示すタイミングチャート図である。
【符号の説明】
1 CPU
2 CPU制御回路
3 I/O制御回路
4 リセット回路
5a〜5d PCIバス
6 各種I/O
7 BIOS
8 クロック発生回路
10 メモリコントローラ
11a〜11d DIMM
12 メモリチップ
13 DIMMコントローラ
15 電源
21 識別番号抽出回路
22、23 レジスタ
24 比較器
25 チップセレクト信号制御回路
26 タイミング制御回路
27 カウンタ
28 レジスタ
91 CPU制御バス
92 I/O制御バス
93 メモリ制御バス
94 リセット信号
100 メモリ装置
101 データバス
102 制御信号バス
103a〜103e 識別番号信号線
104 DIMM内制御信号バス
105 チップセレクト信号線
410 メモリコントローラ
411a〜411d DIMM
412 メモリチップ
413 レジスタ
501 データバス
502 制御信号バス
503a〜503d チップセレクト信号線
504 DIMM内制御信号バス
505 チップセレクト信号線

Claims (6)

  1. 制御バスとデータバスとを含むメモリバスと、
    前記メモリバスに接続され、識別子保持用レジスタを備えた複数のメモリユニットと、
    前記メモリバスに接続され、初期化時に前記複数のメモリユニットの前記識別子保持用レジスタに対してそれぞれ複数のユニークな識別子を格納し、クロック信号に応じて、前記制御バスを介して前記複数のメモリユニットの各々に命令を出力するタイミング制御回路を備えたメモリコントローラとを具備し、
    前記タイミング制御回路は、
    前記複数のメモリユニットのうちの1つのメモリユニットにリード命令、ライト命令、リフレッシュ命令のいずれかを実行させるための要求を外部から受け取り、前記要求を表すアクティブコマンドと、前記リード命令、前記ライト命令、前記リフレッシュ命令のいずれかを表す実行コマンドとを含む命令を発行し、
    前記クロック信号として第1クロック信号に応じて、前記命令の前記アクティブコマンドを前記制御バスに出力し、前記クロック信号として前記第1クロック信号の次の第2クロック信号に応じて、前記命令の前記実行コマンドを前記制御バスに出力し、
    前記アクティブコマンドと前記実行コマンドは、前記1つのメモリユニットに割り当てられた識別子を含み、
    前記複数のメモリユニットの各々は、更に、
    メモリチップと、
    前記メモリチップに規定された時間として、前記アクティブコマンドを実行する時間と前記実行コマンドを実行する時間との間に挿入するためのウェイト時間が記憶されたROMと、
    メモリコントローラからの前記命令を格納する命令保持用レジスタと、
    前記命令の前記アクティブコマンド、前記実行コマンドに含まれる前記識別子と、前記識別子保持用レジスタに格納された前記ユニークな識別子とを比較する比較器と、
    前記命令の前記アクティブコマンド、前記実行コマンドに含まれる前記識別子と、前記識別子保持用レジスタに格納された前記ユニークな識別子とが一致する場合、前記クロック信号に応じて、チップセレクト信号をアクティブ状態にして前記メモリチップに出力する制御回路とを備え、
    前記制御回路は、
    前記命令の前記アクティブコマンドを実行し、
    前記命令の前記アクティブコマンドを実行した後、前記ROMに記憶された前記ウェイト時間の経過を待ち、
    前記ウェイト時間が経過した後、前記チップセレクト信号がアクティブ状態であるときに、前記命令の前記実行コマンドを実行し、前記メモリチップに対するデータの読み出し/書き込みを前記データバスを介して前記メモリコントローラと行ない、
    前記メモリコントローラは、更に、
    前記データバスに対してバス調停を行なうための、カウンタ及び要求保持用レジスタを備え、
    前記タイミング制御回路は、
    第1データ長を含む第1要求を前記要求として受け取った場合、前記第1データ長を表す第1値(前記第1値は2以上の整数)を前記カウンタに格納し、前記第1要求により第1命令を前記命令として発行し、前記クロック信号に応答して前記制御バスに出力し、
    前記クロック信号に応答して、前記カウンタに格納された前記第1値から1を減算し、
    前記カウンタに格納された前記第1値が0ではないときに、第2データ長を含む第2要求を前記要求として受け取った場合、前記第2データ長を表す第2値(前記第2値は2以上の整数)を前記カウンタに更に格納し、前記第1要求によって前記データバスを占有する第1占有期間と、前記第2要求によって前記データバスを占有する第2占有期間とが重複すると判断して、前記第2要求を前記要求保持用レジスタに格納し、
    前記カウンタに格納された前記第1値が0であるとき、前記第2要求を前記要求保持用 レジスタから読み出し、前記第2要求により第2命令を前記命令として発行し、前記クロック信号に応答して前記制御バスに出力する
    メモリ装置。
  2. 請求項に記載のメモリ装置において、
    前記命令が前記リード命令を表す場合、
    前記複数のメモリユニットの各々の前記制御回路は、前記リード命令の前記アクティブコマンドに含まれる前記識別子と、前記識別子保持用レジスタに格納された前記ユニークな識別子とが一致する場合、前記リード命令の前記実行コマンドにより、前記メモリチップから、データを読み出し、前記データバスを介して前記メモリコントローラに出力する
    メモリ装置。
  3. 請求項に記載のメモリ装置において、
    前記命令が前記ライト命令を表す場合、
    前記複数のメモリユニットの各々の前記制御回路は、前記ライト命令の前記アクティブコマンドに含まれる前記識別子と、前記識別子保持用レジスタに格納された前記ユニークな識別子とが一致する場合、前記ライト命令の前記実行コマンドにより、前記メモリコントローラが前記データバスに出力したデータを前記メモリチップに書込む
    メモリ装置。
  4. 請求項に記載のメモリ装置において、
    前記命令が前記リフレッシュ命令を表す場合、
    前記複数のメモリユニットの各々の前記制御回路は、前記リフレッシュ命令の前記アクティブコマンドに含まれる前記識別子と、前記識別子保持用レジスタに格納された前記ユニークな識別子とが一致する場合、前記リフレッシュ命令の前記実行コマンドにより、前記メモリチップのリフレッシュ動作として、前記メモリチップに対するデータの読み出し/書き込みを前記データバスを介して前記メモリコントローラと行なう
    メモリ装置。
  5. 請求項1〜4のいずれか一項に記載のメモリ装置において、
    前記複数のメモリユニットは、デュアルインラインメモリモジュール(DIMM)である
    メモリ装置。
  6. システムバスと
    記システムバスに接続された、前記請求項1〜のいずれか一項に記載のメモリ装置と
    前記システムバスに接続され、前記要求を前記メモリ装置に送信するCPUと
    を具備するコンピュータシステム。
JP2002149790A 2002-05-23 2002-05-23 メモリ装置及びコンピュータシステム Expired - Fee Related JP3804832B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002149790A JP3804832B2 (ja) 2002-05-23 2002-05-23 メモリ装置及びコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002149790A JP3804832B2 (ja) 2002-05-23 2002-05-23 メモリ装置及びコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2003345652A JP2003345652A (ja) 2003-12-05
JP3804832B2 true JP3804832B2 (ja) 2006-08-02

Family

ID=29767843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002149790A Expired - Fee Related JP3804832B2 (ja) 2002-05-23 2002-05-23 メモリ装置及びコンピュータシステム

Country Status (1)

Country Link
JP (1) JP3804832B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346502A (ja) 2004-06-03 2005-12-15 Canon Inc メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム
JP4610235B2 (ja) * 2004-06-07 2011-01-12 ルネサスエレクトロニクス株式会社 階層型モジュール
JP5087886B2 (ja) * 2006-08-18 2012-12-05 富士通株式会社 メモリ制御装置
US8098539B2 (en) * 2009-08-26 2012-01-17 Qualcomm Incorporated Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation
KR101132797B1 (ko) * 2010-03-30 2012-04-02 주식회사 하이닉스반도체 모듈제어회로를 포함하는 반도체모듈 및 반도체모듈의 제어방법
CN111858437B (zh) * 2020-07-31 2022-06-28 上海海得控制系统股份有限公司 基于双总线的热插拔处理方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
JP2003345652A (ja) 2003-12-05

Similar Documents

Publication Publication Date Title
US8310880B2 (en) Virtual channel support in a nonvolatile memory controller
US8463993B2 (en) Translating memory modules for main memory
US9767867B2 (en) Methods of communicating to different types of memory modules in a memory channel
US8051253B2 (en) Systems and apparatus with programmable memory control for heterogeneous main memory
JP4599409B2 (ja) 異なるチップにおける異なる処理を制御するコマンド
KR100726361B1 (ko) 메모리 장치들과의 통신을 위한 시스템 및 방법
US10552047B2 (en) Memory system
US7725609B2 (en) System memory device having a dual port
MX2012005183A (es) Linea de espera de comandos para componente periferico.
US6260081B1 (en) Direct memory access engine for supporting multiple virtual direct memory access channels
US10776042B2 (en) Methods for garbage collection and apparatuses using the same
US11385829B2 (en) Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods
CN109471819B (zh) 为来自主机的读取请求提供短的读取响应时间的存储设备
US9218861B2 (en) Apparatuses and methods including selectively providing a single or separate chip select signals
JP3804832B2 (ja) メモリ装置及びコンピュータシステム
JP2004227049A (ja) データ転送装置、半導体集積回路及びマイクロコンピュータ
US20030236941A1 (en) Data processor
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
TWI446171B (zh) 用於異質性主記憶體具有可程式化記憶體控制的系統,方法及裝置
CN114664336B (zh) 堆叠存储器件、存储芯片及其控制方法
EA038978B1 (ru) Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
CN116391181A (zh) 用于同步多个双倍数据速率存储器列的装置和方法
JP2004507817A (ja) Dram制御回路
JP2001142771A (ja) データ転送装置
KR19990048634A (ko) 마이크로컴퓨터의 시스템버스를 이용한 주변 입출력기기 접속장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060503

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees