JP2017027373A - 記憶制御装置、情報処理装置、および制御方法 - Google Patents

記憶制御装置、情報処理装置、および制御方法 Download PDF

Info

Publication number
JP2017027373A
JP2017027373A JP2015145418A JP2015145418A JP2017027373A JP 2017027373 A JP2017027373 A JP 2017027373A JP 2015145418 A JP2015145418 A JP 2015145418A JP 2015145418 A JP2015145418 A JP 2015145418A JP 2017027373 A JP2017027373 A JP 2017027373A
Authority
JP
Japan
Prior art keywords
dimm
request
command
latency
storage
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.)
Granted
Application number
JP2015145418A
Other languages
English (en)
Other versions
JP6459820B2 (ja
Inventor
晃大 森高
Kodai Moritaka
晃大 森高
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015145418A priority Critical patent/JP6459820B2/ja
Priority to US15/180,127 priority patent/US20170024146A1/en
Publication of JP2017027373A publication Critical patent/JP2017027373A/ja
Application granted granted Critical
Publication of JP6459820B2 publication Critical patent/JP6459820B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

【課題】同一の通信経路に異なる種類のメモリを接続した場合に、正常な動作を可能とする。【解決手段】演算処理装置から複数の記憶装置のうち送信先の記憶装置に対して発行されたリクエストを記憶部に記憶し、前記記憶部から前記リクエストを出力し、出力された前記リクエストを、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させ、前記共通の通信経路を介して前記送信先の記憶装置に送信し、前記リクエストを出力してから所定時間経過後、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行う。【選択図】図2

Description

本発明は、記憶制御装置、情報処理装置、および制御方法に関する。
パーソナルコンピュータ(PC)やサーバ等のコンピュータにおいて、メモリモジュールとしてDynamic Random Access Memory(DRAM)等が実装されたDual-Inline Memory Module(DIMM)が使用されている。DIMMの種類として、例えば、U−DIMM(Unbuffered DIMM)、R−DIMM(Registered DIMM)、およびLR−DIMM(Load-Reduced DIMM)がある。また、DRAMの種類として、Monolithic DeviceおよびThree Dimensional Stack(3DS) Deviceがある。
U−DIMMには、Monolithic DeviceのDRAMが搭載され、R−DIMMおよびLR−DIMMには、Monolithic Deviceまたは3DS DeviceのいずれかのDRAMが搭載される。このように、DIMMの種類と搭載されるDRAMの種類の組み合わせにより、複数の種類のメモリが存在する。
メモリの読み出し時にはリードレイテンシ(RL)、書き込み時にはライトレイテンシ(WL)に基づくタイミングでメモリの読み書きの処理は行われる。尚、RLは、メモリコントローラがメモリにコマンドを送信してからメモリがデータを出力するまでの時間であり、WLは、メモリコントローラがメモリにコマンドを送信してからメモリ上のDRAMにデータを書き込み可能になるまでの時間である。上述のようにメモリには複数の種類があり、メモリの種類毎にWLおよびRLは異なる。
また、DIMMの種類に応じて、データの読み出し時又は書き込み時のデータ遅延量を設定するメモリコントローラが知られている(例えば、特許文献1参照)。メモリ回路の命令スケジューリングにおける制約を減少させるインタフェース回路が知られている(例えば、特許文献2参照)。アドレス、コマンド信号の出力タイミングを速める機能と、コントロール信号の出力タイミングを遅くする機能とを備えるメモリモジュールが知られている(例えば、特許文献3参照)。
国際公開第2012/095980号パンフレット 特表2009−526323号公報 特開2011−48682号公報
ここで同一の通信経路としてのメモリチャネルに異なる種類のメモリA,Bが接続される場合を考える。そして、同一のメモリチャネルに接続されたメモリA,Bのうち、メモリAのWLとRLに基づいて、メモリA,Bの読み書きを行うとする。その場合、メモリAに対しては正常の読み書きがされる。しかし、メモリBに対しては、メモリBのWLとRLはメモリAのWLとRLとは異なるため、例えばメモリBが書き込み可能になる前にデータを送信してしまう等により正常な読み書きが行われない。このように、同一のメモリチャネルに異なる種類のメモリを接続すると、正常な動作が行われないという問題がある。
本発明の課題は、同一の通信経路に異なる種類のメモリを接続した場合に、正常な動作を可能とすることである。
実施の形態の記憶制御装置は、複数の記憶装置に共通の通信経路を介して前記複数の記憶装置をそれぞれ制御する。前記記憶装置は、保持部と、記憶部と、出力部と、送信部と、データ送受信部と、を備える。
前記保持部は、前記複数の記憶装置それぞれのレイテンシを示すレイテンシ情報を保持する。
前記記憶部は、演算処理装置から前記複数の記憶装置のうち送信先の記憶装置に対して発行されたリクエストを記憶する。
前記出力部は、前記記憶部から前記リクエストを出力する。
前記送信部は、前記出力部から受信した前記リクエスト、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させる。そして、前記送信部は、前記リクエストを前記共通の通信経路を介して前記送信先の記憶装置に送信する。
前記データ送受信部は、前記出力部が前記リクエストを出力してから所定時間経過後に、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行う。
実施の形態の記憶制御装置によれば、同一の通信経路に異なる種類のメモリを接続しても正常な動作を行うことができる。
実施の形態に係る情報処理装置の構成図である。 実施の形態に係るMACの構成図である。 実施の形態に係るコマンド・アドレス生成回路の構成図である。 レイテンシテーブルの例である。 実施の形態に係るコマンド・アドレス変換部の処理のフローチャートである。 コマンドアドレスレイテンシ取得処理の詳細なフローチャートである。 実施の形態に係るコマンド・アドレス変換部の構成図である。 実施の形態に係る情報処理装置のライト動作を示すタイミングチャートである。 実施の形態に係る情報処理装置のリード動作を示すタイミングチャートである。 別方法のライト動作と実施の形態のライト動作を示すタイミングチャートである。 実施の形態に係る情報処理装置のライト動作を示すタイミングチャートである。 実施の形態に係る情報処理装置のリード動作を示すタイミングチャートである。 実施の形態に係るコマンド・アドレス生成回路の変形例を示す図である。
以下、図面を参照しながら実施の形態について説明する。
図1は、実施の形態に係る情報処理装置の構成図である。
情報処理装置101は、Central Processing Unit(CPU)201、メモリスロット301−i(i=1〜3)、およびDIMM401−iを備える。情報処理装置101は、例えば、PCやサーバ等のコンピュータである。
CPU201は、コア211およびMemory Access Controller(MAC)221を含む。
コア211は、DIMM401−iに対するリクエスト(メモリアクセスリクエスト)を発行し、リクエストをMAC221に送信する。コア211は、DIMM401−iへ書き込むデータ(ライトデータ)をMAC221へ送信し、DIMM401−iから読み出したデータ(リードデータ)をMAC221から受信する。コア211は、演算処理装置の一例である。
MAC221は、コア211から受信したリクエストに基づいて、DIMM401−iへコマンドおよびアドレス(DIMMコマンド・アドレス2)を送信し、DIMM401−iの制御を行う。MAC221は、クロック信号およびライトデータをDIMM401−iに送信し、DIMM401−iからリードデータを受信する。MAC221は、記憶制御装置の一例である。尚、MAC221は、CPU201内部でなく、CPU201の外部にあってもよい。
メモリスロット301−iは、DIMM131−iが取り付けられる差込口である。メモリスロット301−iには、それぞれDIMM401−iが取り付けられている。以下、メモリスロット301−1〜301−3をそれぞれメモリスロットA〜Cと表記する場合がある。
DIMM401−iは、情報処理装置101が使用するデータを記憶する記憶装置である。DIMM401−iは、MAC221から受信したコマンドおよびアドレスに基づいて、データの読み出しまたは書き込みを行う。また、DIMM401−iは、同一の通信経路としてのメモリチャネルに接続されている。すなわち、MAC221とDIMM401−i間の通信は、DIMM401−1〜DIMM401−3に共通のメモリチャネルを介して行われる。よって、MAC221から送信されたコマンド、アドレス、およびデータは、同一のメモリチャネルを介して3つのDIMM401−iに送信され、DIMM401−iから送信されたデータは同一のメモリチャンネルを介してMAC221に送信される。また、DIMM401−iは、それぞれ異なる種類のメモリである。DIMM401−1〜DIMM401−3は、それぞれDIMM A〜DIMM CまたはメモリA〜メモリCと表記する場合がある。以下、MAC221からDIMM301−iへ送信されるライトデータまたはDIMM301−iからMAC221へ送信されるリードデータはDIMMデータと表記する場合がある。
図2は、実施の形態に係るMACの構成図である。
MAC211は、リクエストキュー222、リクエスト選択回路223、ビジー管理部224、コマンド・アドレス生成回路224、片方向Input/Output(I/O)226、DIMM構成情報レジスタ227、パイプライン制御回路228、ライトデータ制御回路229、リードデータ制御回路230、双方向I/O231、およびクロック生成回路232を備える。
リクエストキュー222は、コア211から受信したメモリアクセスリクエストを格納する。リクエストキュー222は、例えば、バッファやレジスタ等である。リクエストキューは、記憶部の一例である。
リクエスト選択回路223は、ビジーチェック完了信号がアサートされると、ビジー管理部224からのビジー情報に基づいて、リクエストキュー222からメモリアクセスリクエストを1つ選択し、選択したメモリアクセスリクエストを取得する。尚、選択されたメモリアクセスリクエストは、リクエストキュー222から削除される。リクエスト選択回路223は、選択したメモリアクセスリクエストからリクエストを生成し、ビジー管理部224、コマンド・アドレス生成回路225、およびパイプライン制御回路228に出力する。リクエストは、Validフラグ、コマンド、アドレスを含む。Validフラグは、リクエストが有効であるか否かを示すフラグである。ここでは、Validフラグは有効(=1)とする。リクエスト選択回路223は、出力部の一例である。
ビジー管理部224は、リクエスト選択回路223からリクエストを受信する。ビジー管理部224は、リクエストに基づいてビジー情報を生成し、リクエスト選択回路223に送信する。ビジー管理部224は、ビジー情報が新たに生成されるとビジーチェック完了信号を1サイクルアサートする。ビジーチェック完了信号は、リクエスト選択回路223がメモリアクセスリクエストを選択可能であることを示し、リクエスト選択回路223に入力される。尚、ビジー情報を生成する処理は、数サイクルかかる。ビジー情報には、例えば、直近の受信したリクエストに含まれるアドレスが含まれる。リクエスト選択回路223は、ビジーチェック完了信号がアサートされると、ビジー情報に含まれるアドレス以外のアドレスを含むメモリアクセスリクエストを1つ選択し、コマンド・アドレス生成回路225に出力する。
コマンド・アドレス生成回路225は、受信したリクエストからDIMM301−iに送信するアドレスとコマンド(DIMMコマンド・アドレス1)を生成し、片方向I/O226に送信する。コマンド・アドレス生成回路225は、送信部の一例である。以下、コマンド・アドレス生成回路225から出力されるコマンドをDIMMコマンド1、コマンド・アドレス生成回路225から出力されるアドレスをDIMMアドレス1と表記する場合がある。
片方向I/O226は、コマンド・アドレス生成回路225からDIMMコマンド・アドレス1を受信し、DIMM401−iにDIMMコマンド・アドレス2を送信する。尚、DIMMコマンド・アドレス1とDIMMコマンド・アドレス2は同一のデータである。また、片方向I/O226がDIMMコマンド・アドレス1を受信して送信するのに1サイクルかかるとする。以下、片方向I/O226から出力されるコマンドをDIMMコマンド2、片方向I/O226から出力されるアドレスをDIMMアドレス2と表記する場合がある。
DIMM構成情報レジスタ227は、DIMM401−iそれぞれのライトレイテンシとリードレイテンシを示す情報(レイテンシ情報)を保持(記憶)する。レイテンシ情報はDIMM401−iに実装されたRead Only Memory(ROM)に格納されており、DIMM構成情報レジスタ227は、当該ROMからレイテンシ情報を取得する。また、各DIMM401−iがどのメモリスロット301−iに取り付けられているかを示すスロット情報を保持(記憶)する。DIMM構成情報レジスタ227は、保持部の一例である。
パイプライン制御回路228は、リクエスト選択回路223からリクエストを受信し、リクエストを受信してから所定の時間経過したら、ライト制御信号をライトデータ制御回路229に、またはリード制御信号をリードデータ制御回路230に出力する。所定の時間は、リクエストがライトコマンドを含む場合にはDIMM401−iのうちの最大のライトレイテンシに基づいて算出される。また、所定の時間は、リクエストがリードコマンドを含む場合にはDIMM401−iのうちの最大のリードレイテンシに基づいて算出される。例えば、所定の時間は、最大のライトレイテンシにjサイクル(例えば、j=1)の時間を加算した時間、または最大のリードレイテンシにkサイクル(例えば、k=3)の時間を加算した時間である。
ライトデータ制御回路229は、コア211から転送されたライトデータを格納し、ライト制御信号に応じて、双方向I/O231に出力する。また、パイプライン制御回路228から出力されたライトデータはDIMMライトデータと表記する。
リードデータ制御回路230は、リード制御信号に応じて、DIMM401−iから読み出されたデータ(DIMMリードデータ)の受信を行い、格納する。リードデータ制御回路230に格納されたDIMMリードデータは、一定期間後、コア221に送信される。また、双方向I/O231から出力されたリードデータはDIMMリードデータ、リードデータ制御回路230からコア221に出力されるデータはリードデータと表記する。パイプライン制御回路228、ライト回路制御回路229、およびリードデータ制御回路230は、データ送受信部の一例である。
双方向I/O231は、ライトデータ制御回路から受信したライトデータ(DIMM ライトデータ)をDIMM401−iに送信する。また、DIMM401−iから受信したリードデータ(DIMM リードデータ)をリードデータ制御回路230に送信する。尚、双方向I/O231とDIMM401−i間で送受信されるDIMM ライトデータおよびDIMM リードデータはDIMMデータと表記する。双方向I/O231がDIMM ライトデータを受信して送信するのに1サイクルかかるとする。また双方向I/O231がDIMM リードデータを受信して送信するのに1サイクルかかるとする。すなわち、データが双方向I/O231を通過するのに1サイクルかかるとする。
クロック生成回路232は、クロック(信号)を生成し、DIMM401−iに送信する。DIMM401−iは受信したクロックと同期して動作する。また、リクエストキュー222、リクエスト選択回路223、ビジー管理部224、コマンド・アドレス生成回路225、片方向I/O226、DIMM構成情報レジスタ227、パイプライン制御回路228、ライトデータ制御回路229、リードデータ制御回路230、および双方向I/O231も生成されたクロックと同期して動作する。
図3は、実施の形態に係るコマンド・アドレス生成回路の構成図である。
コマンド・アドレス生成回路225は、ラッチ241−i、242−i、243−i、244、コマンド・アドレス変換部245−m(m=0〜3)、AND回路246−m、および出力部247を備える。
ラッチ241−i、242−i、243−i、244は、入力されたデータを1サイクル遅延させて出力する。ラッチ241−1〜241−3には、それぞれValidフラグ、コマンド、およびアドレスが入力される。ラッチ241−1〜241−3から出力されたValidフラグ、コマンド、およびアドレスは、それぞれラッチ242−1〜242−3に入力される。また、ラッチ241−1〜241−3から出力されたValidフラグ、コマンド、およびアドレスは、コマンド・アドレス変換部245−1に入力される。ラッチ242−1〜242−3から出力されたValidフラグ、コマンド、およびアドレスは、それぞれラッチ243−1〜243−3に入力される。また、ラッチ242−1〜242−3から出力されたValidフラグ、コマンド、およびアドレスは、コマンド・アドレス変換部245−2に入力される。ラッチ243−1〜243−3から出力されたValidフラグ、コマンド、およびアドレスは、コマンド・アドレス変換部245−3に入力される。
コマンド・アドレス変換部245−mには、mサイクル遅延したValidフラグ、コマンド、およびアドレスが入力される。コマンド・アドレス変換部245−mは、入力されたValidフラグ、コマンド、およびアドレスから、DIMM401−iに対するコマンドとアドレス(DIMMコマンド・アドレス0’)を生成し、AND回路246−mに出力する。また、コマンド・アドレス変換部245−mには、レイテンシ情報およびスロット情報が入力される。コマンド・アドレス変換部245−mは、入力されたレイテンシ情報およびスロット情報から図4示すようなコマンドレイテンシテーブルを生成する。
図4は、レイテンシテーブルの例である。
レイテンシテーブルには、メモリスロット、コマンド、およびコマンドアドレスレイテンシが対応付けられて記載されている。
メモリスロットは、DIMM401−iが搭載されているメモリスロット301−iを示す。メモリスロットには、例えば、A、B、またはCが記載され、それぞれメモリスロット301−1〜301−3を示す。
コマンドは、コマンドの種類を示し、ライトまたはリードが記載される。
コマンドアドレスレイテンシは、コマンド・アドレス生成回路225でDIMMコマンド・アドレス1の出力を何サイクル待たせるかを示す。
コマンドアドレスレイテンシに記載されるLxyは、メモリスロットに搭載されたDIMMおよびコマンドに対応するDIMMコマンド・アドレス1の出力を待たせるサイクル数を示す。xはコマンドの種類を示し、x=W(ライト)またはR(リード)である。yはメモリスロットを示し、y=A、B、またはCである。LWyは、スロット情報に含まれる各DIMM401−iのWLのうちの最大値WLmaxと各DIMM401−iのWLとの差分である。例えば、DIMM401−1のWL(WL_A)=a、DIMM401−2のWL(WL_B)=b、DIMM401−3のWL(WL_C)=cとし、a≧b、a≧cであるとする。この時、LWA=a−a=0、 LWB=a−b、LWC=a−cとなる。また、LRyは、各DIMM401−iのRLのうちの最大値RLmaxと各DIMM401−iのRLとの差分である。このコマンド・アドレス生成回路225内でDIMMコマンド・アドレス1の出力を待たせるサイクルをコマンドアドレスレイテンシと呼ぶ。
図3に戻り説明を続ける。
コマンド・アドレス変換部245−mは、それぞれステージ番号mを有し、入力されたリクエスト対応するコマンドアドレスレイテンシと自身のステージ番号mからCA Validを生成し、AND回路246−mに出力する。CA Validは、DIMMコマンド・アドレス0’が有効であるか否かを示す制御信号(フラグ)である。例えば、DIMMコマンド・アドレス0’が有効の場合、CA Validは1となる。
AND回路246−mは、入力されたCA Validが有効(=1)の場合、入力されたDIMMコマンド・アドレス0’を出力部247に出力する。AND回路246−mは、CA Validが無効の場合、入力されたDIMMコマンド・アドレス0’を出力しない(すなわち、出力は0となる)。
出力部247は、入力されたDIMMコマンド・アドレス0’をラッチ244に出力する。すなわち、出力部247からは、有効なCA Validが入力されたAND回路246−mに入力されたDIMMコマンド・アドレス0’が出力される。尚、出力部247から出力されたDIMMコマンド・アドレス0’は、DIMMコマンド・アドレス0と表記する。
ラッチ244は、入力されたDIMMコマンド・アドレス0を1サイクル遅延させて出力する。尚、ラッチ244から出力されるDIMMコマンド・アドレス0は、DIMMコマンド・アドレス1と表記する。
図5は、実施の形態に係るコマンド・アドレス変換部の処理のフローチャートである。
ステップS501において、コマンド・アドレス変換部245−mは、自身に割り当てられたステージ番号を取得する。ステージ番号は、例えば、コマンド・アドレス変換部245−m内のレジスタ(不図示)等に予め保持(記憶)されている。
ステップS502において、コマンド・アドレス変換部245−mは、入力されたValidフラグが有効か否か判定する。Validフラグが有効な場合、制御はステップS503niに進み、Validフラグが無効な場合、制御はステップS507に進む。
ステップS503において、コマンド・アドレス変換部245−mは、入力されたコマンドおよびアドレスをDIMM401−mに送信するコマンドとアドレスに変換、すなわちDIMMコマンド・アドレス0’生成する。例えば、リクエストに含まれるシステム上のアドレスをDIMM401−mのアドレスに変換することにより、DIMMコマンド・アドレス0’を生成する。
ステップS504において、コマンド・アドレス変換部245−mは、レイテンシテーブルを参照し、入力されたコマンドとアドレス(送信先のDIMM401−i)に対応するコマンドアドレスレイテンシを取得する(コマンドアドレスレイテンシ取得処理)。尚、コマンドアドレスレイテンシ取得処理の詳細な処理については後述する。
ステップS505において、コマンド・アドレス変換部245−mは、取得したコマンドアドレスレイテンシと自身のステージ番号を比較する。コマンドアドレスレイテンシとステージ番号とが一致する場合、制御はステップS506に進み、一致しない場合、制御はステップS507に進む。
ステップS506において、コマンド・アドレス変換部245−mは、CA Validを有効(=1)とし、DIMMコマンド・アドレス0’とCA ValidをAND回路246−mに出力する。
ステップS507において、コマンド・アドレス変換部245−mは、CA Validを無効(=0)とし、DIMMコマンド・アドレス0’とCA ValidをAND回路246−mに出力する。
図6は、コマンドアドレスレイテンシ取得処理の詳細なフローチャートである。
図6は、図5のステップS504に相当する。
ステップS511において、コマンド・アドレス変換部245−mは、入力されたアドレスから、リクエストの送信先のDIMM401−iが搭載されているメモリスロット301−iを算出する。尚、コマンド・アドレス変換部245−mは、どのアドレスがどのメモリスロットに対応するか判っているものとする。
ステップS512において、コマンド・アドレス変換部245−mは、算出されたメモリスロットがどのメモリスロットであるか判定する。算出されたメモリスロットがスロットA、B、およびCの場合、制御はそれぞれステップS513、S516、およびS519に進む。
ステップS513において、コマンド・アドレス変換部245−mは、入力されたコマンドの種類を判定する。入力されたコマンドがライトの場合、制御はステップS514に進み、入力されたコマンドがリードの場合、制御はステップS515に進む。
ステップS514において、コマンド・アドレス変換部245−mは、レイテンシテーブルのメモリスロットAとライトに対応するコマンドアドレスレイテンシLWAを取得する。
ステップS515において、コマンド・アドレス変換部245−mは、レイテンシテーブルのメモリスロットAとリードに対応するコマンドアドレスレイテンシLRAを取得する。
ステップS516において、コマンド・アドレス変換部245−mは、入力されたコマンドの種類を判定する。入力されたコマンドがライトの場合、制御はステップS517に進み、入力されたコマンドがリードの場合、制御はステップS518に進む。
ステップS517において、コマンド・アドレス変換部245−mは、レイテンシテーブルのメモリスロットBとライトに対応するコマンドアドレスレイテンシLWBを取得する。
ステップS518において、コマンド・アドレス変換部245−mは、レイテンシテーブルのメモリスロットBとリードに対応するコマンドアドレスレイテンシLRBを取得する。
ステップS519において、コマンド・アドレス変換部245−mは、入力されたコマンドの種類を判定する。入力されたコマンドがライトの場合、制御はステップS520に進み、入力されたコマンドがリードの場合、制御はステップS521に進む。
ステップS520において、コマンド・アドレス変換部245−mは、レイテンシテーブルのメモリスロットCとライトに対応するコマンドアドレスレイテンシLWCを取得する。
ステップS521において、コマンド・アドレス変換部245−mは、レイテンシテーブルのメモリスロットCとリードに対応するコマンドアドレスレイテンシLRCを取得する。
上述の処理を行うコマンド・アドレス変換部245−mは、例えば、図7に示すような構成により実現できる。
図7は、実施の形態に係るコマンド・アドレス変換部の構成図である。
コマンド・アドレス変換部245−mは、レジスタ251−m、252−m、セレクタ253−m、比較部254−m、AND回路255−m、およびコマンド・アドレス変換回路256−mを備える。
レジスタ251−mは、図4に示すレイテンシテーブルを格納する。レジスタ251は、レイテンシテーブルに記載のコマンドアドレスレイテンシLxy (x=WまたはR, y=A、B、またはC)をセレクタ253に出力する。尚、コマンド・アドレス変換部245−mは、入力されたレイテンシ情報とスロット情報に基づいて、レイテンシテーブルを作成する。
レジスタ252−mは、コマンド・アドレス変換部245−mに割り当てられたステージ番号mを格納する。
セレクタ253−mは、コマンドアドレスレイテンシLxyから、入力されたコマンドとアドレスに対応するコマンドアドレスレイテンシLxyを選択し、選択したコマンドアドレスレイテンシLxyを比較部254−mに出力する。
比較部254−mは、セレクタ253−mから出力されたコマンドアドレスレイテンシLxyとレジスタ252−mに記憶されたステージ番号とを比較し、コマンドアドレスレイテンシLxyとステージ番号とが一致した場合、有効信号(=1)をAND回路255−mに出力する。比較部254−mは、コマンドアドレスレイテンシLxyとステージ番号とが一致しない場合、無効信号(=0)をAND回路255−mに出力する。
AND回路255−mは、比較部254−mの出力信号(1または0)とValidフラグの論理積(CA Valid)をAND回路246−mに出力する。
コマンド・アドレス変換回路256−mは、入力されたコマンドおよびアドレスをDIMM401−mに送信するコマンドとアドレスに変換、すなわちDIMMコマンド・アドレス0’生成し、AND回路246−mに出力する。
次に、異なる種類のDIMMが同一のメモリチャネルに接続された場合における、実施の形態のMACのライト動作を説明する。
図8は、実施の形態に係る情報処理装置のライト動作を示すタイミングチャートである。
ここでは、DIMM401−1(DIMM A)とDIMM401−2(DIMM B)に対するライト動作を示す。図8の上段はDIMM401−1に対するライト動作、下段はDIMM401−2に対するライト動作を示すタイミングチャートである。
ここで、DIMM AのライトレイテンシWL_AとDIMM BのライトレイテンシWL_Bの差DWLは、DWL = WL_B−WL_A=2サイクルである。この時,図4に示されるレイテンシテーブルのLWAは‘2’になる。DIMM A向けのDIMMコマンド1とDIMMアドレス1(DIMMコマンド・アドレス1)は、従来の出力タイミング(リクエスト(REQ)の出力から1サイクル後)に対して、LWA (=2サイクル)遅らせられる。それにより、DIMMコマンド2とDIMMアドレス2(DIMMコマンド・アドレス2)も、従来の出力タイミング(リクエスト(REQ)の出力から2サイクル後)に対して、LWA (=2サイクル)遅らせられ、DIMM401−iへ向かって転送される。
また、DIMM401−iのライトレイテンシのうちの最大値がWL_Bとすると、LWBは‘0’である。よって、DIMM B向けのDIMMコマンド1とDIMMアドレス1(DIMMコマンド・アドレス1)は、従来のDIMMコマンド・アドレス生成回路と同様のタイミング(リクエスト(REQ)の出力から1サイクル後)に出力される。それにより、DIMM B向けのDIMMコマンド2とDIMMアドレス2(DIMMコマンド・アドレス2)も、従来のDIMMコマンド・アドレス生成回路と同様のタイミング(リクエスト(REQ)の出力から2サイクル後)にDIMM401−iへ送信される。
上述のように、DIMM B向けのDIMMコマンド・アドレス2は、コマンド・アドレス生成回路225および片方向I/O226を通過するため、リクエスト選択回路223からのリクエストの出力から2サイクル後に送信される。また、DIMM A向けのDIMMコマンド・アドレス2は、コマンド・アドレス生成回路225で遅延させられることにより、リクエスト選択回路223からのリクエストの出力から4(2+RWA(=2))サイクル後に送信される。すなわち、DIMM A向けのDIMMコマンド・アドレス2は、DIMM B向けのDIMMコマンド・アドレス2に比べて、LWA遅れて出力される。
また、DIMM A、Bに対するライト制御は、両方ともリクエスト選択回路223からのリクエストの出力からWL_B+1サイクル後に出力される。
以上の処理により,リクエスト選択回路223からリクエストが発行されてから、DIMMデータ、ライト制御を出力するまでの時間は,DIMM A、Bで共通となり,かつDIMM A、Bに対するライトレイテンシWL_A,WL_Bどちらも満たされることになる。つまり、異なる種類のDIMMA,Bを同一のメモリチャネル上に実装しても、DIMM A,Bに正常にライトすることが可能になる。
次に、異なる種類のDIMMが同一のメモリチャネル上に実装された場合における、実施の形態のMACのリード動作を説明する。
図9は、実施の形態に係る情報処理装置のリード動作を示すタイミングチャートである。
ここでは、DIMM401−1(DIMM A)とDIMM401−2(DIMM B)に対するリード動作を示す。図9の上段はDIMM401−1に対するリード動作、下段はDIMM401−2に対するリード動作を示すタイミングチャートである。
ここで、DIMM AのリードレイテンシRL_AとDIMM BのリードレイテンシRL_Bの差DRLは、DRL=RL_B−RL_A=3サイクルである。この時,図4に示されるレイテンシテーブルのLRAは‘3’になる。DIMM A向けのDIMMコマンド1とDIMMアドレス1(DIMMコマンド・アドレス1)は、従来の出力タイミング(リクエスト(REQ)の出力から1サイクル後)に対して、LRA (=3サイクル)遅らせられる。それにより、DIMMコマンド2とDIMMアドレス2(DIMMコマンド・アドレス2)も、従来の出力タイミング(リクエスト(REQ)の出力から2サイクル後)に対して、LRA (=3サイクル)遅らせられ、DIMM401−iへ向かって転送される。
また、DIMM401−iのリードレイテンシのうちの最大値がRL_Bとすると、LRBは‘0’である。よって、DIMM B向けのDIMMコマンド1とDIMMアドレス1(DIMMコマンド・アドレス1)は、従来のDIMMコマンド・アドレス生成回路と同様のタイミング(リクエスト(REQ)の出力から1サイクル後)に出力される。それにより、DIMM B向けのDIMMコマンド2とDIMMアドレス2(DIMMコマンド・アドレス2)も、従来のDIMMコマンド・アドレス生成回路と同様のタイミング(リクエスト(REQ)の出力から2サイクル後)にDIMM401−iへ送信される。
上述のように、DIMM B向けのDIMMコマンド・アドレス2は、コマンド・アドレス生成回路225および片方向I/O226を通過するため、リクエスト選択回路223からのリクエストの出力から2サイクル後に送信される。また、DIMM A向けのDIMMコマンド・アドレス2は、コマンド・アドレス生成回路225で遅延させられることにより、リクエスト選択回路223からのリクエストの出力から5(2+LRA(=3))サイクル後に送信される。すなわち、DIMM A向けのDIMMコマンド・アドレス2は、DIMM B向けのDIMMコマンド・アドレス2に比べて、LWA遅れて出力される。
また、DIMM A、Bに対するリード制御は、両方ともリクエスト選択回路223からのリクエストの出力からRL_B+3サイクル後に出力される。
以上の処理により、リクエスト選択回路223からリクエストが発行されてから、DIMMデータを受信するまでの時間は、DIMM A、Bで共通となり、かつRL_A、RL_Bどちらも満たされることになる。つまり、異なる種類のDIMM A,Bを同一のメモリチャネルに接続しても、DIMM A,Bを正常にリードすることが可能になる。
上述のように、実施の形態のMACによれば、異なる種類のDIMMを同一のメモリチャネルに接続しても、正常に読み書きを行うことができる。
一方、実施の形態の制御方法である、DIMMコマンド・アドレス2の出力を遅らせる方法に対して、ライト制御信号またはリード制御信号の通知タイミングを変化させることにより、DIMMデータの出力を遅らせ、DIMMコマンド・アドレス2の出力を遅らせることなく、実装されたDIMM401−iのWLとRLを満たす方法も考えられる。以下、ライト制御信号またはリード制御信号の通知タイミングを変化させる方法を単に別方法と呼ぶ。以下、別方法と実施の形態の制御方法とを比較する。
図10は、別方法のライト動作と実施の形態のライト動作を示すタイミングチャートである。図10の上段は、別方法のライト動作のタイミングチャート、下段は実施の形態のライト動作を示すタイミングチャートである。
ここで、ビジーチェック完了信号の最短アサート間隔は4サイクルであるとする。DIMM A、BのアドレスをそれぞれADRS_A,ADRS_Bと表記する。DIMM A、BのDIMMデータも同様にそれぞれDA、DBと表記する。また、DIMM AのライトレイテンシWL_Aは‘3’、DIMM BのライトレイテンシWL_Bは‘5’とする。
別方法では、図10の上段に示すように、DIMM Aへのライトの場合は,DIMMコマンド・アドレス2の送信から、WL_A−1サイクル後にライト制御信号をライトデータ制御回路に通知し、同様にDIMM Bへのライトの場合は、DIMMコマンド・アドレス2の送信から、WL_B−1サイクル後にライト制御をライトデータ制御回路に通知する。したがって、WL_A、WL_Bどちらも満たすことができるので、実施の形態の制御方法と同様に、異なる種類のDIMMを同一のメモリチャネルに混在させることは可能になる。ところで、データスループットの点で2つの方法を比較する。別方法では、DIMM AとDIMM BのDIMMデータ転送の間に、必ず2サイクルの意味のないデータであるバブルが生まれる。この時、ライト動作をDIMM A,DIMM B,DIMM A,DIMM B,…のパターンで行うと、データスループットは80%になる。DIMM Bに対するDIMMコマンド・アドレス2の出力を2サイクル、すなわちバブル分早めればバブルは発生し得ないが、ビジーチェック完了信号のアサート間隔はこれ以上縮まることは無いため、バブルの発生は防げない。一方、実施の形態の制御方法では,別方法と同じパターンでライト動作を行ったとしても、2サイクルのバブルは発生しない。したがって、データスループットは100%になる。
以上のように、実施の形態の制御方法の方が、別方法よりデータスループットの点で優れている。
さらに、回路規模の点から両者を比較する。パイプライン制御回路228は、コマンド・アドレス生成回路225と比較すると長大なパイプラインから構成される。別方法を実装する場合、長いパイプラインの各段に、追加回路(ステージ番号取得,レイテンシテーブル参照、データに対するレイテンシとステージ番号の比較、データ出力に対するValidフラグの生成)が必要となる。したがって、別方法では、実施の形態のコマンド・アドレス生成回路225より多くの追加回路が必要となり、回路規模から見ても実施の形態の制御方法の方が優れている。
図11は、実施の形態に係る情報処理装置のライト動作を示すタイミングチャートである。
DIMM A,B,Cの異なる種類のDIMMを実装した情報処理装置101におけるライト動作を図11に示す。ここで、DIMM AのライトレイテンシWL_AとDIMM BのライトレイテンシWL_Bは、WL_A=WL_B=12とする。また、DIMM CのライトレイテンシWL_Cは、WL_C=9とする。この時、DIMM A,Bのライトに対するコマンドアドレスレイテンシLWA、LWBは、LWA=LWB=0である。また、DIMM Cのライトに対するコマンドアドレスレイテンシLWCは、LWC=3である。そして、情報処理装置101は、DIMM A、DIMM B、DIMMC、DIMM B、DIMM C、DIMM Aの順に書き込みを行うとする。また、ビジーチェック完了信号は、最短で4サイクルに1回だけアサートされるものとする。
この条件の時、DIMM A、B向けDIMMコマンド2とDIMMアドレス2は、ビジーチェック完了信号がアサートされた2サイクル後にDIMM A、Bへ送信される。また、DIMM C向けDIMMコマンド2とDIMMアドレス2は、コマンド・アドレス生成回路225でLWC(=3)待たされるため、ビジーチェック完了信号がアサートされた5サイクル後にDIMM Cへ送信される。
図12は、実施の形態に係る情報処理装置のリード動作を示すタイミングチャートである。
DIMM A,B,Cの異なる種類のDIMMを実装した情報処理装置101におけるリード動作を図12に示す。ここで、DIMM AのリードレイテンシRL_Aは、RL_A=7、DIMM BのリードレイテンシRL_Bは、RL_B=5、DIMM CのリードレイテンシRL_Cは、RL_C=8とする。この時、DIMM A、B、Cのリードに対するコマンドアドレスレイテンシLRA、LRB、LWCは、LRA=1、LRB=3、LRC=0である。そして、情報処理装置101は、DIMM A、DIMM B、DIMMC、DIMM B、DIMM C、DIMM Aの順に読み出しを行うとする。また、ビジーチェック完了信号は、最短で4サイクルに1回だけアサートされるものとする。
この条件の時、DIMM C向けのDIMMコマンド2とDIMMアドレス2は、ビジーチェック完了信号がアサートされた2サイクル後にDIMM Cへ送信される。DIMM A,B向けDIMMコマンド2とDIMMアドレス2は,コマンド・アドレス生成回路225でそれぞれLRA(=1)、LRB(=3)待たされるため、ビジーチェック完了信号がアサートされた3、5サイクル後にDIMM A,Bへ送信される。
図13は、実施の形態に係るコマンド・アドレス生成回路の変形例を示す図である。
コマンド・アドレス生成回路225は、図13に示すようなコマンド・アドレス生成回路1225のような構成でも良い。
コマンド・アドレス生成回路1225は、ラッチ1241−i、1242−i、1243−i、1244、コマンド・アドレス変換部1245−m(m=0〜3)、AND回路1246−m、出力部1247、およびコマンドアドレスレイテンシ計算部1248を備える。
ラッチ1241−i1、242−i、1243−i、1244は、入力されたデータを1サイクル遅延させて出力する。ラッチ1241−1〜1241−3には、それぞれValidフラグ、コマンド、およびアドレスが入力される。ラッチ1241−1〜1241−3から出力されたValidフラグ、コマンド、およびアドレスは、それぞれラッチ1242−1〜1242−3に入力される。また、ラッチ1241−1〜1241−3から出力されたValidフラグ、コマンド、およびアドレスは、コマンド・アドレス変換部1245−1に入力される。ラッチ1242−1〜1242−3から出力されたValidフラグ、コマンド、およびアドレスは、それぞれラッチ1243−1〜243−3に入力される。また、ラッチ1242−1〜1242−3から出力されたValidフラグ、コマンド、およびアドレスは、コマンド・アドレス変換部1245−2に入力される。ラッチ1243−1〜1243−3から出力されたValidフラグ、コマンド、およびアドレスは、コマンド・アドレス変換部1245−3に入力される。
コマンド・アドレス変換部1245−mには、mサイクル遅延したValidフラグ、コマンド、およびアドレスが入力される。コマンド・アドレス変換部1245−mは、入力されたValidフラグ、コマンド、およびアドレスから、DIMM1401−iに対するコマンドとアドレス(DIMMコマンド・アドレス0’)を生成し、AND回路1246−mに出力する。
コマンドアドレスレイテンシ計算部1248には、レイテンシ情報およびスロット情報が入力される。コマンドアドレスレイテンシ計算部1248は、入力されたレイテンシ情報およびスロット情報から図4示すようなコマンドレイテンシテーブルを生成する。コマンドアドレスレイテンシ計算部1248は、CA Validを算出し、AND回路1246−mに出力する。コマンドアドレスレイテンシ計算部1248が各AND回路1246−mに出力するCA Validは、図3のコマンド・アドレス変換部245−mが出力するCA Validと同様であり、上述のコマンド・アドレス変換部245−mの処理と同様の方法で算出される。
AND回路1246−mは、入力されたCA Validが有効(=1)の場合、入力されたDIMMコマンド・アドレス0’を出力部1247に出力する。AND回路1246−mは、CA Validが無効の場合、入力されたDIMMコマンド・アドレス0’を出力しない(すなわち、出力は0となる)。
出力部1247は、入力されたDIMMコマンド・アドレス0’をラッチ1244に出力する。すなわち、出力部247からは、有効なCA Validが入力されたAND回路1246−mに入力されたDIMMコマンド・アドレス0’が出力される。尚、出力部1247から出力されたDIMMコマンド・アドレス0’は、DIMMコマンド・アドレス0と表記する。
ラッチ1244は、入力されたDIMMコマンド・アドレス0を1サイクル遅延させて出力する。尚、ラッチ1244から出力されるDIMMコマンド・アドレス0は、DIMMコマンド・アドレス1と表記する。
実施の形態の情報処理装置によれば、送信先のDIMMのレイテンシに応じて、コマンドとアドレスを遅延させて送信するので、同一のメモリチャネルに異なる種類のメモリを接続しても正常な動作を行うことができる。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
複数の記憶装置に共通の通信経路を介して前記複数の記憶装置をそれぞれ制御する記憶制御装置であって、
前記複数の記憶装置それぞれのレイテンシを示すレイテンシ情報を保持する保持部と、
演算処理装置から前記複数の記憶装置のうち送信先の記憶装置に対して発行されたリクエストを記憶する記憶部と、
前記記憶部から前記リクエストを出力する出力部と、
前記出力部から受信した前記リクエストを、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させ、前記共通の通信経路を介して前記送信先の記憶装置に送信する送信部と、
前記出力部が前記リクエストを出力してから所定時間経過後、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行うデータ送受信部と、を備えることを特徴とする記憶制御装置。
(付記2)
前記送信部は、前記複数の記憶装置のレイテンシのうちの最大レイテンシと前記送信先の記憶装置のレイテンシとの差分に基づいて、前記遅延時間を算出することを特徴とする付記1記載の記憶制御装置。
(付記3)
前記所定の時間は、前記最大レイテンシに基づいて算出されることを特徴とする付記2記載の記憶制御装置。
(付記4)
共通の通信経路に接続された複数の記憶装置と、
演算処理装置と、
前記共通の通信経路を介して前記複数の記憶装置をそれぞれ制御する記憶制御装置と、
を備え、
前記記憶制御装置は、
前記複数の記憶装置それぞれのレイテンシを示すレイテンシ情報を保持する保持部と、
前記演算処理装置から前記複数の記憶装置のうち送信先の記憶装置に対して発行されたリクエストを記憶する記憶部と、
前記記憶部から前記リクエストを出力する出力部と、
前記出力部から受信した前記リクエスト、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させ、前記共通の通信経路を介して前記送信先の記憶装置に送信する送信部と、
前記出力部が前記リクエストを出力してから所定時間経過後、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行うデータ送受信部と、を備えることを特徴とする情報処理装置。
(付記5)
前記送信部は、前記複数の記憶装置のレイテンシのうちの最大レイテンシと前記送信先の記憶装置のレイテンシとの差分に基づいて、前記遅延時間を算出することを特徴とする付記4記載の情報処理装置。
(付記6)
前記所定の時間は、前記最大レイテンシに基づいて算出されることを特徴とする付記5記載の情報処理装置。
(付記7)
演算処理装置と記憶制御装置と複数の記憶装置とを有する情報処理装置の制御方法であって、
前記演算処理装置から前記複数の記憶装置のうち送信先の記憶装置に対してリクエストを発行し、
前記リクエストを前記記憶制御装置内の記憶部に記憶し、
前記記憶部から前記リクエストを出力し、
出力された前記リクエストを、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させ、前記複数の記憶装置に共通の通信経路を介して前記記憶制御装置から前記送信先の記憶装置に送信し、
前記リクエストを出力してから所定時間経過後、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行う、
ことを特徴とする制御方法。
(付記8)
前記複数の記憶装置のレイテンシのうちの最大レイテンシと前記送信先の記憶装置のレイテンシとの差分に基づいて、前記遅延時間を算出することを特徴とする付記7記載の制御方法。
(付記9)
前記所定の時間は、前記最大レイテンシに基づいて算出されることを特徴とする付記8記載の制御方法。
101 情報処理装置
201 CPU
211 コア
221 MAC
222 リクエストキュー
223 リクエスト選択回路
224 ビジー管理部
224 コマンド・アドレス生成回路
226 片方向I/O
227 DIMM構成情報レジスタ
228 パイプライン制御回路
229 ライトデータ制御回路
230 リードデータ制御回路
231 双方向I/O
232 クロック生成回路
301 メモリスロット
401 DIMM

Claims (5)

  1. 複数の記憶装置に共通の通信経路を介して前記複数の記憶装置をそれぞれ制御する記憶制御装置であって、
    前記複数の記憶装置それぞれのレイテンシを示すレイテンシ情報を保持する保持部と、
    演算処理装置から前記複数の記憶装置のうち送信先の記憶装置に対して発行されたリクエストを記憶する記憶部と、
    前記記憶部から前記リクエストを出力する出力部と、
    前記出力部から受信した前記リクエストを、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させ、前記共通の通信経路を介して前記送信先の記憶装置に送信する送信部と、
    前記出力部が前記リクエストを出力してから所定時間経過後、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行うデータ送受信部と、を備えることを特徴とする記憶制御装置。
  2. 前記送信部は、前記複数の記憶装置のレイテンシのうちの最大レイテンシと前記送信先の記憶装置のレイテンシとの差分に基づいて、前記遅延時間を算出することを特徴とする請求項1記載の記憶制御装置。
  3. 前記所定の時間は、前記最大レイテンシに基づいて算出されることを特徴とする請求項2記載の記憶制御装置。
  4. 共通の通信経路に接続された複数の記憶装置と、
    演算処理装置と、
    前記共通の通信経路を介して前記複数の記憶装置をそれぞれ制御する記憶制御装置と、
    を備え、
    前記記憶制御装置は、
    前記複数の記憶装置それぞれのレイテンシを示すレイテンシ情報を保持する保持部と、
    前記演算処理装置から前記複数の記憶装置のうち送信先の記憶装置に対して発行されたリクエストを記憶する記憶部と、
    前記記憶部から前記リクエストを出力する出力部と、
    前記出力部から受信した前記リクエストを、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させ、前記共通の通信経路を介して前記送信先の記憶装置に送信する送信部と、
    前記出力部が前記リクエストを出力してから所定時間経過後、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行うデータ送受信部と、を備えることを特徴とする情報処理装置。
  5. 演算処理装置と記憶制御装置と複数の記憶装置とを有する情報処理装置の制御方法であって、
    前記演算処理装置から前記複数の記憶装置のうち送信先の記憶装置に対してリクエストを発行し、
    前記リクエストを前記記憶制御装置内の記憶部に記憶し、
    前記記憶部から前記リクエストを出力し、
    出力された前記リクエストを、前記送信先の記憶装置のレイテンシと前記複数の記憶装置のうち他の記憶装置のレイテンシとに基づいた遅延時間だけ遅延させ、前記複数の記憶装置に共通の通信経路を介して前記記憶制御装置から前記送信先の記憶装置に送信し、
    前記リクエストを出力してから所定の時間が経過した後に、前記共通の通信経路を介して前記リクエストに対応するデータの送信または受信を行う、
    ことを特徴とする制御方法。
JP2015145418A 2015-07-23 2015-07-23 記憶制御装置、情報処理装置、および制御方法 Active JP6459820B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015145418A JP6459820B2 (ja) 2015-07-23 2015-07-23 記憶制御装置、情報処理装置、および制御方法
US15/180,127 US20170024146A1 (en) 2015-07-23 2016-06-13 Memory controller, information processing device, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015145418A JP6459820B2 (ja) 2015-07-23 2015-07-23 記憶制御装置、情報処理装置、および制御方法

Publications (2)

Publication Number Publication Date
JP2017027373A true JP2017027373A (ja) 2017-02-02
JP6459820B2 JP6459820B2 (ja) 2019-01-30

Family

ID=57837177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015145418A Active JP6459820B2 (ja) 2015-07-23 2015-07-23 記憶制御装置、情報処理装置、および制御方法

Country Status (2)

Country Link
US (1) US20170024146A1 (ja)
JP (1) JP6459820B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023503026A (ja) * 2019-11-19 2023-01-26 マイクロン テクノロジー,インク. ロードコマンドの存続時間

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10819647B2 (en) * 2017-12-06 2020-10-27 Marvell Israel (M.I.S.L) Ltd. Network device having reduced latency
US10714159B2 (en) * 2018-05-09 2020-07-14 Micron Technology, Inc. Indication in memory system or sub-system of latency associated with performing an access command
US10942854B2 (en) 2018-05-09 2021-03-09 Micron Technology, Inc. Prefetch management for memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516396B1 (en) * 1999-12-22 2003-02-04 Intel Corporation Means to extend tTR range of RDRAMS via the RDRAM memory controller
JP2007272929A (ja) * 2001-03-13 2007-10-18 Micron Technology Inc リードデータ用のシステムレイテンシーレベライゼーション

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173345B1 (en) * 1998-11-03 2001-01-09 Intel Corporation Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem
US6697926B2 (en) * 2001-06-06 2004-02-24 Micron Technology, Inc. Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
US7222224B2 (en) * 2004-05-21 2007-05-22 Rambus Inc. System and method for improving performance in computer memory systems supporting multiple memory access latencies
KR100640629B1 (ko) * 2005-01-12 2006-10-31 삼성전자주식회사 동기식 반도체 메모리 장치의 지연 동기 루프 회로 및동기식 반도체 메모리 장치의 데이터 핀에 연결된 부하의정보를 생성하는 방법
US20070005922A1 (en) * 2005-06-30 2007-01-04 Swaminathan Muthukumar P Fully buffered DIMM variable read latency
KR100671747B1 (ko) * 2006-01-04 2007-01-19 삼성전자주식회사 개선된 애디티브 레이턴시를 가진 메모리 시스템 및제어방법
US20080028135A1 (en) * 2006-07-31 2008-01-31 Metaram, Inc. Multiple-component memory interface system and method
EP2410436A1 (en) * 2007-06-12 2012-01-25 Rambus Inc. In-dram cycle-based levelization
JP5407633B2 (ja) * 2008-07-28 2014-02-05 株式会社リコー 通信装置及びそれを有する通信システム並びに通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516396B1 (en) * 1999-12-22 2003-02-04 Intel Corporation Means to extend tTR range of RDRAMS via the RDRAM memory controller
JP2007272929A (ja) * 2001-03-13 2007-10-18 Micron Technology Inc リードデータ用のシステムレイテンシーレベライゼーション

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023503026A (ja) * 2019-11-19 2023-01-26 マイクロン テクノロジー,インク. ロードコマンドの存続時間

Also Published As

Publication number Publication date
JP6459820B2 (ja) 2019-01-30
US20170024146A1 (en) 2017-01-26

Similar Documents

Publication Publication Date Title
US6691216B2 (en) Shared program memory for use in multicore DSP devices
JP6459820B2 (ja) 記憶制御装置、情報処理装置、および制御方法
US8285903B2 (en) Requests and data handling in a bus architecture
US7698524B2 (en) Apparatus and methods for controlling output of clock signal and systems including the same
JP2002530744A (ja) 多重レベル接続識別を備えた通信のシステムおよび方法
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
JP4527643B2 (ja) メモリ装置及びメモリ装置の動作方法
CN105988968B (zh) 半导体装置
JP4902640B2 (ja) 集積回路、及び集積回路システム
JP6290761B2 (ja) データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム
US9798492B2 (en) Semiconductor device including a plurality of function blocks
JP2011232917A (ja) 半導体集積回路、及びリクエスト制御方法
JP2009217640A (ja) データ転送制御装置
JP2009116702A (ja) 半導体集積回路
KR20120119348A (ko) 지연회로 및 메모리의 레이턴시 제어회로 및 신호 지연 방법
KR20090118610A (ko) 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템
KR102206313B1 (ko) 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법
JP6493044B2 (ja) マルチプロセッサシステム
JP4968340B2 (ja) 記憶回路及び記憶回路の制御方法
JP2006155220A (ja) 半導体集積回路及びそのアクセス制御方法
JP2002236606A (ja) メモリ制御回路
JP2013120587A (ja) シリアル転送装置及びシリアル転送方法
JP5929600B2 (ja) 情報処理システム、情報処理装置、及び電子装置
JP2016218731A (ja) 情報処理装置および情報処理方法
JP2012022567A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181025

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: 20181204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181217

R150 Certificate of patent or registration of utility model

Ref document number: 6459820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150