JP6339331B2 - インタフェースを制御する情報処理装置及びインタフェース制御方法 - Google Patents

インタフェースを制御する情報処理装置及びインタフェース制御方法 Download PDF

Info

Publication number
JP6339331B2
JP6339331B2 JP2013171053A JP2013171053A JP6339331B2 JP 6339331 B2 JP6339331 B2 JP 6339331B2 JP 2013171053 A JP2013171053 A JP 2013171053A JP 2013171053 A JP2013171053 A JP 2013171053A JP 6339331 B2 JP6339331 B2 JP 6339331B2
Authority
JP
Japan
Prior art keywords
access request
request
data
reply
unit
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.)
Active
Application number
JP2013171053A
Other languages
English (en)
Other versions
JP2015041177A (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 Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2013171053A priority Critical patent/JP6339331B2/ja
Publication of JP2015041177A publication Critical patent/JP2015041177A/ja
Application granted granted Critical
Publication of JP6339331B2 publication Critical patent/JP6339331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、インタフェースを制御する技術に関し、特に非同期インタフェースを介して装置間を接続する場合の技術に関する。
コンピュータやサーバなどにおける、メモリ転送性能の向上に対する要求は、年々増大している。そこで、そのメモリ転送性能を満足させるために、様々な関連技術が示されている。
例えば、非特許文献1は、高速信号線を介してメモリを接続するための、FB−DIMM(Fully Buffered Dual Inline Memory Module)の規格を示す。FB−DIMMのインタフェースは、プロセッサ側のメモリコントローラとそのFB−DIMM間を、PCI(Peripheral Components Interconnect bus) Expressに類似したポイント・ツー・ポイント接続のシリアルインタフェース(非同期インタフェース)で接続するインタフェースである。そのFB−DIMM上には、メモリチップとやりとりされるコマンド、アドレス、データのすべてをいったん蓄えるためのAMB(Advanced Memory Buffer)と呼ばれるチップが実装され、FB−DIMMのインタフェースのすべての信号がここを経由する。そのAMBは、単なるバッファではなく、メモリチップ側のメモリコントローラであり、FB−DIMMのインタフェース(プロセッサ側のメモリコントローラとのインタフェース)からのプロトコル変換を行う。
例えば、特許文献1は、ストレージシステムにおける、メモリコントローラの一例を開示する。特許文献1のメモリコントローラは、上述のFB−DIMMからなるメモリモジュールとそのメモリコントローラとの間を、二重化されたシリアルインタフェース(FB−DIMMのインタフェース)で接続する。
特開2006−065697号公報
FBDIMM ARCHITECTURE and PROTOCOL,JESD206,Jan 2007,URL"http://www.jedec.org/standards−documents/results/jESD206"よりダウンロード
しかしながら、上述した先行技術文献に記載された技術においては、様々な被アクセス装置間を、非同期インタフェースを介して接続する場合に、その非同期インタフェースの汎用性が不十分であるという問題点がある。
その理由は、上述のした先行技術文献に記載されたFB−DIMMのインタフェースが、AMDを介してメモリチップをアクセスするFB−DIMMを、被アクセス装置として特化されたインタフェースだからである。
具体的には、FB−DIMMのインタフェースで規定されるメモリアクセスのリクエストは、例えば汎用的なDRAM(Dynamic Random Access Memory)インタフェースとは異なり、ライトコマンドとライトデータを同一タイミングで送出する形式であるからである。
本発明の目的は、上述した問題点を解決できる、汎用性を向上させたデータ転送回路及びデータ転送方法を提供することにある。
本発明の情報処理装置は、非同期インタフェースで相互に接続され、第1のクロックで動作するアクセス要求送信手段と第2のクロックで動作するアクセス要求受信手段とを含み、前記アクセス要求送信手段は、入力された第1のアクセス要求に基づいて、被アクセス装置に対応する第2のアクセス要求を含むリクエストパケットを生成し、前記リクエストパケット間に前記第1のクロックと前記第2のクロックとの間の周波数差分を吸収するためのスキップコードを挿入したアクセス要求データを前記非同期インタフェースに出力し、前記アクセス要求受信手段は、前記非同期インタフェースから入力される前記アクセス要求データを受信し、前記アクセス要求データに含まれる前記スキップコードを利用して、前記周波数差分を吸収し、前記アクセス要求データに含まれる前記第2のアクセス要求を前記被アクセス装置に出力する。
本発明のデータ転送方法は、非同期インタフェースで相互に接続され、第1のクロックで動作する第1のインタフェース制御手段と第2のクロックで動作する第2のインタフェース制御手段とを含む情報処理装置において、前記第1のインタフェース制御手段は、入力された第1のアクセス要求に基づいて、被アクセス装置に対応する第2のアクセス要求を含むリクエストパケットを生成し、前記リクエストパケット間に前記第1のクロックと前記第2のクロックとの間の周波数差分を吸収するためのスキップコードを挿入したアクセス要求データを前記非同期インタフェースに出力し、前記第2のインタフェース制御手段は、前記非同期インタフェースから入力される前記アクセス要求データを受信し、前記アクセス要求データに含まれる前記スキップコードを利用して、前記周波数差分を吸収し、前記アクセス要求データに含まれる前記第2のアクセス要求を前記被アクセス装置に出力する。
本発明は、プロセッサと被アクセス装置とを直接接続する場合の、プロセッサ側と被アクセス装置側とのそれぞれのインタフェース部分を変更することなく、非同期インタフェースを介してそのプロセッサとその被アクセス装置間を接続することが可能になるという効果がある。
図1は、第1の実施形態に係るメモリ制御装置の構成を示すブロック図である。 図2は、第1の実施形態に係るメモリ制御装置を含む情報処理システムの構成を示すブロック図である。 図3は、第1の実施形態におけるアクセス要求部の構成示すブロック図である。 図4は、第1の実施形態におけるアクセス要求受信部の構成示すブロック図である。 図5は、第1の実施形態における第1アクセス要求の一例を示す図である。 図6は、第1の実施形態における第2アクセス要求の一例を示す図である。 図7は、第1の実施形態におけるリクエストパケットの一例を示す図である。 図8は、第1の実施形態における第1アクセス要求の一例を示す図である。 図9は、第1の実施形態における第2アクセス要求の一例を示す図である。 図10は、第1の実施形態におけるリクエストパケットの一例を示す図である。 図11は、第1の実施形態におけるアクセス要求データの一例を示す図である。 図12は、第2の実施形態に係るメモリ制御装置の構成を示すブロック図である。 図13は、第2の実施形態に係るメモリ制御装置を含む情報処理システムの構成を示すブロック図である。 図14は、第2の実施形態におけるリプライ送信部の構成示すブロック図である。 図15は、第2の実施形態におけるリプライ受信部の構成示すブロック図である。 図16は、第2の実施形態におけるリードデータの一例を示す図である。 図17は、第2の実施形態におけるリプライパケットの一例を示す図である。 図18は、第2の実施形態におけるリプライデータの一例を示す図である。 図19は、第2の実施形態におけるリードデータの一例を示す図である。 図20は、第3の実施形態に係るインタフェース制御部の構成を示すブロック図である。 図21は、第3の実施形態に係るインタフェース制御部の構成を示すブロック図である。
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
<<<第1の実施形態>>>
図1は、本発明の第1の実施形態に係るメモリ制御装置210の構成を示すブロック図である。
図1に示すように、本実施形態に係るメモリ制御装置210は、アクセス要求送信部310とアクセス要求受信部520とを含む。
図2は、本発明の第1の実施形態に係るメモリ制御装置210を含む情報処理システムの構成を示すブロック図である。
図2に示すように、その情報処理システムはアクセス要求送信部310、アクセス要求受信部520、プロセッサ部100、メモリ部700及び非同期インタフェース部400から構成される。
まず、図2に示す情報処理システムの全体の動作を説明する。
プロセッサ部100は、アクセス要求送信部310に第1アクセス要求810を出力する。
アクセス要求送信部310は、プロセッサ部100が出力する第1アクセス要求810を受信する。次に、アクセス要求送信部310は、その受信した第1アクセス要求810に基づいて、アクセス要求データ840を非同期インタフェース部400に出力する。
アクセス要求受信部520は、非同期インタフェース部400から入力されるアクセス要求データ840を受信する。次に、アクセス要求受信部520は、その受信したアクセス要求データ840に基づいて、第2アクセス要求820をメモリ部700に出力する。
メモリ部700は、アクセス要求受信部520が出力する第2アクセス要求820を受信する。次に、メモリ部700は、その受信した第2アクセス要求820を実行する。
非同期インタフェース部400は、クロック891(第1のクロック)で動作するプロセッサ部100側(アクセス要求送信部310側)から、クロック892(第2のクロック)で動作するメモリ部700側(アクセス要求受信部520側)へ、クロック891とクロック892との同期をとることなく、データを転送するインタフェースである。
以上が図2に示す情報処理システム全体の動作の説明である。
次に、メモリ制御装置210の各構成要素について説明する。
===アクセス要求送信部310===
アクセス要求送信部310は、入力された第1アクセス要求810に基づいて、被アクセス装置(不図示)に対応する第2のアクセス要求820を含むリクエストパケットを、順次生成する。次に、アクセス要求送信部310は、その生成したリクエストパケット間にスキップコードを挿入したアクセス要求データ840をその非同期インタフェース部400に出力する。
ここで、そのスキップコードは、そのリクエストパケットを1個処理する場合の、クロック891とクロック892との周波数差分を吸収するために挿入される。換言すると、そのスキップコードは、プロセッサ部100側(アクセス要求送信部310側)とメモリ部700側(アクセス要求受信部520側)との間の周波数差分を吸収するために挿入される。
例えば、アクセス要求送信部310側のクロック891の周期が6単位時間、アクセス要求受信部520側のクロック892の周期が9単位時間であるとする。即ち、クロック891の周波数は、クロック892の周波数の1.5倍であるという周波数差分を有するものとする。また、プロセッサ部100及びメモリ部700のそれぞれにおいて、ライトリクエストの実行に要するクロック数が2クロックであるとする。また、プロセッサ部100において、スキップコードの実行に要するクロック数が2クロックであるとする。
この場合、アクセス要求送信部310は、例えば連続する2個のライトリクエストを1個のリクエストパケットに含める。そして、そのリクエストパケットに続いて、1個のスキップコードを挿入する。即ち、アクセス要求送信部310側では、2個のライトリクエストの実行時間(6単位時間×2クロック×2回)に対し、スキップコードの1回分の実行時間(6単位時間×2クロック)が付加され、合計で36単位時間となる。そして、この36単位時間は、アクセス要求受信部520側での2個のライトリクエストの実行時間(9単位時間×2クロック×2回)に対応する。
===アクセス要求受信部520===
アクセス要求受信部520は、その非同期インタフェース部400から入力されるアクセス要求データ840を受信する。次に、アクセス要求受信部520は、アクセス要求データ840に含まれる第2のアクセス要求820をメモリ部700(被アクセス装置)に出力する。その際、アクセス要求受信部520は、そのアクセス要求データ840に含まれるスキップコードを利用して、クロック891とクロック892との周波数差分を吸収する。例えば、アクセス要求受信部520は、そのスキップコードを削除し、そのスキップコードが存在しないものとして動作することにより、その周波数差分を吸収する。
以上が、メモリ制御装置210の各構成要素についての説明である。
次に、アクセス要求送信部310の具体的な構成について説明する。図3は、アクセス要求送信部310の構成の一例を示すブロック図である。
図3に示すように、アクセス要求送信部310は、メモリビジー制御回路311、リクエスト発行制御回路312、パケット生成回路313及びスキップコード挿入回路314を含む。
===メモリビジー制御回路311===
メモリビジー制御回路311は、メモリ部700へのアクセス状況を監視し、第2アクセス要求820の発行可否を管理する。ここで、メモリへのアクセス状況とは、発行許可801の出力状況、及び後述のリクエスト発行抑止指示803の入力の有無である。ここで、発行許可801の出力状況は、第2アクセス要求820の発行状況を示す情報である。
メモリビジー制御回路311は、第1アクセス要求810の入力を受け付け、発行許可801の出力状況が出力可能状況であって、かつパケット生成回路313からリクエスト発行抑止指示803の入力がない場合、第2アクセス要求820の発行が可能であると判断する。次に、メモリビジー制御回路311は、その第1アクセス要求810に対応する第2アクセス要求820の発行許可801を、リクエスト発行制御回路312に出力する。ここで、「発行許可801の出力状況が出力可能状況」とは、更に発行許可801を出力した場合に、第2アクセス要求820が、1個のリクエストパケット830に含めることの可能な量を、超過しない状況である。
また、メモリビジー制御回路311は、発行許可801の出力状況が出力不可状況である場合、またはパケット生成回路313からリクエスト発行抑止指示803を入力された場合、第2アクセス要求820の発行が不可であると判断する。そして、メモリビジー制御回路311は、発行許可801の出力を停止する。リクエスト発行制御回路312は、この発行許可801の出力が停止されたことにより、その第1アクセス要求810に対応する第2アクセス要求820の出力を停止する。
パケット生成回路313からリクエスト発行抑止指示803が入力された場合、更に続けて、メモリビジー制御回路311は、スキップ挿入許可802をパケット生成回路313に出力する。即ち、メモリビジー制御回路311は、実際に第2アクセス要求820の発行が抑止された時点で、スキップ挿入許可802を出力する。
尚、アクセス要求送信部310は、メモリビジー制御回路311が第2アクセス要求820の発行を許可及び抑止していることを示す情報(不図示)を、プロセッサ部100に出力するようにしてよい。そして、プロセッサ部100はそのアクセス要求送信部310から入力された情報に基づいて、メモリ部700のビジー管理を実行してよい。
===リクエスト発行制御回路312===
リクエスト発行制御回路312は、メモリビジー制御回路311から通知されるその発行許可801に基づいて、第2アクセス要求820をパケット生成回路313に出力する。
===パケット生成回路313===
パケット生成回路313は、あるスキップ挿入許可802から次のスキップ挿入許可802までの間にリクエスト発行制御回路312から入力された一連の第2アクセス要求820に対して、スタートデリミタ及びエンドデリミタを付加してリクエストパケット830を生成する。次に、パケット生成回路313は、その生成したリクエストパケット830をスキップコード挿入回路314に出力する。
更に、パケット生成回路313は、スキップコードを挿入するタイミングを監視し、そのタイミングを検出すると、リクエスト発行抑止指示803をメモリビジー制御回路311へ送出する。換言すると、アクセス要求送信部310のパケット生成回路313は、スキップコードを挿入するタイミングに基づいて、そのスキップコードに先行するリクエストパケット830に新たな第2アクセス要求820を含めることを抑止する。
また、パケット生成回路313は、メモリビジー制御回路311からスキップ挿入許可802が入力されると、スキップ挿入指示804をスキップコード挿入回路314に出力する。
例えば、パケット生成回路313は、図3に示すように、カウンタ3131、比較回路3132、デリミタ生成回路3133を含む。
カウンタ3131は、例えば、自走カウンタであり、カウント値を常時出力する。カウンタ3131は、クロック891に基づいて、カウントアップする。また、カウンタ3131は、スキップ挿入許可802が入力されるとカウント値をリセット(0)にする。
比較回路3132は、カウンタ3131から入力されたそのカウント値と、所定の閾値とを比較し、それらが一致した場合(スキップコードの挿入タイミングに到達した場合)、メモリビジー制御回路311へリクエスト発行抑止指示803を出力する。即ち、リクエスト発行抑止指示803は、スキップ挿入のために第2アクセス要求820の発行を一時的に抑止することを指示する情報である。
デリミタ生成回路3133は、第2アクセス要求820にスタートデリミタ及びストップデリミタを付加してリクエストパケット830を生成する。
尚、スキップコードの挿入間隔を決定するその所定の閾値は、クロック891とクロック892との周波数差分を吸収可能な範囲の内の、最大値に設定されることが望ましい。こうすることで、非同期インタフェース部400を介してプロセッサ部100とメモリ部700とを接続した場合のアクセス性能への影響を、最小限に抑えることが可能となる。
===スキップコード挿入回路314===
スキップコード挿入回路314は、パケット生成回路313から入力されたリクエストパケット830とスキップ挿入指示804とに基づいて、リクエストパケット830の間にスキップコードを挿入されたアクセス要求データ840を、非同期インタフェース部400を介して、アクセス要求受信部520へ出力する。
以上が、アクセス要求送信部310の具体的な構成の説明である。尚、アクセス要求送信部310の構成は、上述の例に限らない。例えば、アクセス要求送信部310は、スタートデリミタ及びストップデリミタの付加と、スキップコードの挿入とを並行して実行するような構成であってもよい。換言すると、パケット生成回路313のデリミタ生成回路3133に、スキップコード挿入回路314が含まれるような構成であってもよい。
次に、アクセス要求受信部520の具体的な構成について説明する。図4は、アクセス要求受信部520の構成の一例を示すブロック図である。
図4に示すように、アクセス要求受信部520は、スキップコード処理回路524及びデリミタ除去回路523を含む。
===スキップコード処理回路524===
スキップコード処理回路524は、エラスティックバッファを含む。ここで、そのエラスティックバッファは、周波数差分の吸収のために、アクセス要求データ840を一時的に保持するバッファ回路である。スキップコード処理回路524は、アクセス要求データ840からスキップコードを削除し、リクエストパケット830をデリミタ除去回路523に出力する。
===デリミタ除去回路523===
デリミタ除去回路523は、リクエストパケット830からスタートデリミタ及びストップデリミタを削除し、第2アクセス要求820をメモリ部700に出力する。
以上が、アクセス要求受信部520の具体的な構成の説明である。尚、アクセス要求受信部520の構成は、上述の例に限らない。例えば、アクセス要求受信部520は、スキップコード、スタートデリミタ及びストップデリミタを、検出した順に削除するような構成であってもよい。
次に、アクセス要求の例を示して、本実施形態の動作を説明する。
図5は、プロセッサ部100が出力する第1アクセス要求810の一例を示す図である。図5に示すように、例えば、プロセッサ部100は、ライトリクエスト811、リードリクエスト812及びリードリクエスト813の3個の第1アクセス要求810を出力する。
アクセス要求送信部310は、プロセッサ部100から出力された第1アクセス要求810を、メモリビジー制御回路311と、リクエスト発行制御回路312とで受信する。
図6は、第2アクセス要求820の一例を示す図である。図6に示すように、第2アクセス要求820は、ライトリクエスト811、リードリクエスト812及びリードリクエスト813のそれぞれに対応する、ライトリクエスト821、リードリクエスト822及びリードリクエスト823を含む。例えば、ライトリクエスト821は、ライトデータがWrite Latencyの分だけ遅らされた、メモリ部700の仕様に沿った形式である。換言すると、メモリ部700は、第2アクセス要求820の入力を受け付けることができる。
リクエスト発行制御回路312は、発行許可801により発行を許可された第1アクセス要求810に基づいて、メモリ部700の仕様に沿った形式である第2アクセス要求820を、順次、パケット生成回路313へ出力する。
「メモリ部700が受け付けることができる第2アクセス要求820」を出力するリクエスト発行制御回路312は、換言すると、被アクセス装置を直接接続する場合のプロセッサ側のインタフェース部分である。
図7は、リクエストパケット830の一例を示す図である。図7に示すようにリクエストパケット830は、一連の第2アクセス要求820、及び先頭にスタートデリミタを、最後尾にエンドデリミタを含む。
パケット生成回路313は、リクエスト発行制御回路312から入力された第2アクセス要求820に基づいて、リクエストパケット830を生成する。
パケット生成回路313は、スキップコード挿入回路314へのリクエストパケット830の出力として、スタートデリミタを生成して出力し、そのスタートデリミタに続けて第2アクセス要求820を出力し、最後にエンドデリミタを生成して出力する。また、パケット生成回路313は、エンドデリミタの次のサイクルにはスタートデリミタを生成し、次のリクエストパケット830の出力を即時開始する。
図8は、プロセッサ部100が出力する第1アクセス要求810の、他の一例を示す図である。図8に示すように、例えば、プロセッサ部100は、ライトリクエスト811、リードリクエスト812、リードリクエスト813、リードリクエスト814、リードリクエスト815及びライトリクエスト816の6個の第1アクセス要求810を出力する。
図9は、図8に示す第1アクセス要求810に対応する、第2アクセス要求820の他の一例を示す図である。図9に示すように、第2アクセス要求820は、ライトリクエスト811、リードリクエスト812、リードリクエスト813、リードリクエスト814のそれぞれに対応する、ライトリクエスト821、リードリクエスト822、リードリクエスト823及びリードリクエスト824を含む。
図10は、図9に示す第2アクセス要求820に対応するリクエストパケット830を示す図である。
図10に示すリクエストパケット830は、メモリビジー制御回路311が「発行許可801の出力状況が出力不可状況である」と判定したため、リードリクエスト815及びライトリクエスト816に対応する第2アクセス要求820を含まない。一方、図7に示すリクエストパケット830は、メモリビジー制御回路311が「発行許可801の出力状況が出力可能状況である」と判定していたが、パケット生成回路313からリクエスト発行抑止指示803を入力されて、生成を完了されたリクエストパケット830である。
図11は、アクセス要求データ840の一例を示す図である。図11に示すようにアクセス要求データ840は、リクエストパケット830とリクエストパケット830の間に挿入されたスキップコード841を含む。
アクセス要求送信部310のスキップコード挿入回路314は、パケット生成回路313から入力されたリクエストパケット830間にスキップコード841を挿入してアクセス要求データ840とし、非同期インタフェース部400を介して、そのアクセス要求データ840をアクセス要求受信部520へ出力する。
アクセス要求受信部520のスキップコード処理回路524は、非同期インタフェース部400を介してアクセス要求データ840を受信する。次に、スキップコード処理回路524は、アクセス要求データ840に含まれる、図7或いは図10に示すリクエストパケット830をデリミタ除去回路523に出力する。
デリミタ除去回路523は、リクエストパケット830からスタートデリミタ及びエンドデリミタを除去し、図6または図9に示す第2アクセス要求820をメモリ部700へ出力する。
上述した本実施形態における第1の効果は、プロセッサ部100とメモリ部700(被アクセス装置)とを直接接続する場合の、プロセッサ部100側とメモリ部700側とのそれぞれのインタフェース部分を変更することなく、非同期インタフェース部400を介してプロセッサ部100とメモリ部700間を接続することが可能になる点である。
その理由は、以下のような構成を含むからである。即ち、第1にアクセス要求送信部310が被アクセス装置に対応する第2アクセス要求820を含むリクエストパケット830の間に、スキップコード841を挿入したアクセス要求データ840を送信する。第2に、アクセス要求受信部520が、受信したアクセス要求データ840に含まれるスキップコード841を利用してクロック891とクロック892との間の周波数差分を吸収し、受信したアクセス要求データ840に含まれる第2アクセス要求820をメモリ部700に出力する。
上述した本実施形態における第2の効果は、非同期インタフェース部400を介して接続するためのコストの増大を抑制することが可能になる点である。
その理由は、第1の効果との理由と同様である。具体的には、関連技術で示したFB−DIMMにおいて、そのAMDは、次段のFB−DIMMへのライトデータの送出タイミングを制御するために、複数のライトデータを保持するバッファを含む。従って、FB−DIMMのインタフェースを用いると、被アクセス装置側に回路規模の増大と、それに伴う発熱量の増加が発生する。一方、本実施形態のメモリ制御装置210が含むバッファは、高々1パケット分である。
上述した本実施形態における第3の効果は、プロセッサ部100からメモリ部700へのアクセス性能への影響を、最小限に抑えることを可能にする点である。
その理由は、スキップコードの挿入間隔を決定する所定の閾値を、クロック891とクロック892との周波数差分を吸収可能な範囲の内の、最大値に設定するようにしたからである。
<<<第2の実施形態>>>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図12は、本発明の第2の実施形態に係るメモリ制御装置220の構成を示すブロック図である。
図12に示すように、本実施形態におけるメモリ制御装置220は、アクセス要求送信部310及びリプライ受信部330を含むインタフェース制御部300(第1のインタフェース制御手段)と、アクセス要求受信部520及びリプライ送信部540を含むインタフェース制御部500(第2のインタフェース制御手段)と、を含む。
図13は、本発明の第2の実施形態に係るメモリ制御装置220を含む情報処理システムの構成を示すブロック図である。
図13に示すように、その情報処理システムはインタフェース制御部300、インタフェース制御部500、プロセッサ部100、メモリ部700及び非同期インタフェース部400から構成される。
まず、図13に示す情報処理システムの全体の動作を説明する。
第1アクセス要求810のライトリクエストに係る動作は、上述の第1の実施形態において説明した通りである。また、第1アクセス要求810のリードリクエストに係る動作の内、メモリ部700へ第2アクセス要求820を出力するまでの動作は、上述の第1の実施形態において説明した通りである。
次に、第1アクセス要求810のリードリクエストに係る動作の内、メモリ部700からリードデータ850に係る動作を説明する。
メモリ部700は、インタフェース制御部500のリプライ送信部540にリードデータ850を出力する。
リプライ送信部540は、メモリ部700が出力するリードデータ850を受信する。次に、リプライ送信部540は、その受信したリードデータ850に基づいて、リプライデータ870を非同期インタフェース部400に出力する。
リプライ受信部330は、非同期インタフェース部400から入力されるリプライデータ870を受信する。次に、リプライ受信部330は、その受信したリプライデータ870に基づいて、リードデータ880をプロセッサ部100に出力する。
プロセッサ部100は、リプライ受信部330が出力するリードデータ880を受信する。
以上が図13に示す情報処理システム全体の動作の説明である。
次に、メモリ制御装置220の各構成要素について説明する。
===メモリ部700===
メモリ部700は、インタフェース制御部500のアクセス要求受信部520から入力された第2アクセス要求820のリードリクエストに対応する処理を実行し、リードデータ850をインタフェース制御部500のリプライ送信部540に出力する。
===リプライ送信部540===
リプライ送信部540は、1個のリクエストパケット830に含まれるリードリクエストの第2アクセス要求820に対応するリードデータ850の組を含むリプライパケットを、順次生成する。 次に、リプライ送信部540は、その生成したリプライパケット間にスキップコードを挿入したリプライデータ870をその非同期インタフェース部400に出力する。
===リプライ受信部330===
リプライ受信部330は、その非同期インタフェース部400から入力されるリプライデータ870を受信する。次に、リプライ受信部330は、リプライデータ870に含まれるリードデータ880をプロセッサ部100に出力する。その際、アクセス要求受信部520は、そのアクセス要求データ840に含まれるスキップコードを利用して、クロック891とクロック892との周波数差分を吸収する。
以上が、メモリ制御装置210の各構成要素についての説明である。
次に、リプライ送信部540の具体的な構成について説明する。図14は、リプライ送信部540の構成の一例を示すブロック図である。
図14に示すように、リプライ送信部540は、パケット生成回路543及びスキップコード挿入回路544を含む。
===パケット生成回路543===
パケット生成回路543は、あるリクエストパケット830に含まれるリードリクエストに対応するリードデータ850の組に対して、スタートデリミタ及びエンドデリミタを付加してリプライパケット860を生成する。この際、パケット生成回路543は、各リードデータ850にデータバリッドを付与するようにしてよい。次に、パケット生成回路543は、生成したリプライパケット860をスキップコード挿入回路544に出力する。
===スキップコード挿入回路544===
スキップコード挿入回路544は、パケット生成回路543から入力されたリプライパケット860の間にスキップコードを挿入し、リプライデータ870として非同期インタフェース部400を介して、リプライ受信部330へ出力する。
以上が、リプライ送信部540の具体的な構成の説明である。尚、リプライ送信部540の構成は、上述の例に限らない。例えば、リプライ送信部540は、スタートデリミタ及びストップデリミタの付加と、スキップコードの挿入とを並行して実行するような構成であってもよい。換言すると、パケット生成回路543に、スキップコード挿入回路544が含まれるような構成であってもよい。
次に、リプライ受信部330の具体的な構成について説明する。図15は、リプライ受信部330の構成の一例を示すブロック図である。
図15に示すように、リプライ受信部330は、デリミタ除去回路333及びスキップコード処理回路334を含む。
===スキップコード処理回路334===
スキップコード処理回路334は、図4に示すスキップコード処理回路524と同様に、周波数差分の吸収のために、リプライデータ870を一時的に保持するバッファ回路であるエラスティックバッファを含む。スキップコード処理回路524は、アクセス要求データ840からスキップコードを削除し、リクエストパケット830をデリミタ除去回路523に出力する。 スキップコード処理回路334は、リプライデータ870からスキップコードを削除し、リプライパケット860をデリミタ除去回路333に出力する。
===デリミタ除去回路333===
デリミタ除去回路333は、リプライパケット860からスタートデリミタ及びストップデリミタを削除し、リードデータ880をプロセッサ部100に出力する。
以上が、リプライ受信部330の具体的な構成の説明である。尚、リプライ受信部330の構成は、上述の例に限らない。例えば、リプライ受信部330は、スキップコード、スタートデリミタ及びストップデリミタを、検出した順に削除するような構成であってもよい。
次に、リードデータの例を示して、本実施形態の動作を説明する。
図16は、メモリ部700が出力するリードデータ850の一例を示す図である。図16に示すように、例えば、メモリ部700は、図7に示すリードリクエスト812及びリードリクエスト813に対応するリードデータ851及びリードデータ852の2個のリードデータ850を出力する。
図17は、リプライパケット860の一例を示す図である。図17に示すようにリプライパケット860は、リードデータ881及びリードデータ882、及び先頭にスタートデリミタを、最後尾にエンドデリミタを含む。ここで、リードデータ881及びリードデータ882のそれぞれは、データバリッドを付与されたリードデータ851及びリードデータ852である。
パケット生成回路543は、メモリ部700から入力されたリードデータ850に基づいて、リプライデータ870を生成する。
図18は、リプライデータ870の一例を示す図である。図18に示すようにリプライデータ870は、リプライパケット860とリプライパケット860の間に挿入されたスキップコード871を含む。
リプライ送信部540のスキップコード挿入回路544は、パケット生成回路543から入力されたリプライパケット860間にスキップコード871を挿入してリプライデータ870とし、非同期インタフェース部400を介して、そのリプライデータ870をリプライ受信部330に出力する。
リプライ受信部330のスキップコード処理回路334は、非同期インタフェース部400を介してリプライデータ870を受信する。次に、スキップコード処理回路334は、リプライデータ870に含まれる、図17に示すリプライパケット860をデリミタ除去回路333に出力する。
図19は、リードデータ880の一例を示す図である。図19に示すリードデータ881及びリードデータ882の2個のリードデータ880のそれぞれは、図16に示すリードデータ851及びリードデータ852に対応する。
リプライ受信部330のデリミタ除去回路333は、リプライパケット860からスタートデリミタ及びエンドデリミタを除去し、図19に示すリードデータ880をプロセッサ部100へ出力する。
上述した本実施形態における効果は、第1の実施形態の効果に加えて、リードデータに対して周波数差分の吸収が必要な場合についても、第1の実施形態の効果と同様の効果が得られる点である。
その理由は、以下のような構成を含むからである。即ち、第1にリプライ送信部540がリードデータ880を含むリプライパケット860の間に、スキップコード871を挿入したリプライデータ870を送信する。第2に、リプライ受信部330が、受信したリプライデータ870に含まれるスキップコード871を利用してクロック891とクロック892との間の周波数差分を吸収し、受信したリプライデータ870に含まれるリードデータ880をプロセッサ部100に出力する。
<<<第3の実施形態>>>
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図20は、本発明の第3の実施形態に係るインタフェース制御部303(第1のインタフェース制御手段)の構成を示すブロック図である。
図20に示すように、本実施形態におけるインタフェース制御部303は、第2の実施形態のインタフェース制御部300と比べて、アクセス要求送信部310及びリプライ受信部330に替えて、メモリ制御部350及び非同期インタフェース制御部360を含む。
===メモリ制御部350===
メモリ制御部350は、メモリビジー制御回路311、リクエスト発行制御回路312、パケット生成回路313及びデリミタ除去回路333を含む。ここで、メモリ制御部350に含まれるメモリビジー制御回路311、リクエスト発行制御回路312及びパケット生成回路313は、図12に示すアクセス要求送信部310(図3に詳細を示す)に含まれるメモリビジー制御回路311、リクエスト発行制御回路312及びパケット生成回路313と同じである。また、メモリ制御部350に含まれるデリミタ除去回路333は、図12に示すリプライ受信部330(図15に詳細を示す)に含まれるデリミタ除去回路333と同じである。
===非同期インタフェース制御部360===
非同期インタフェース制御部360は、スキップコード挿入回路314及びスキップコード処理回路334を含む。ここで、非同期インタフェース制御部360に含まれるスキップコード挿入回路314は、図12に示すアクセス要求送信部310(図3に詳細を示す)に含まれるスキップコード挿入回路314と同じものである。また、非同期インタフェース制御部360に含まれるスキップコード処理回路334は、図12に示すリプライ受信部330(図15に詳細を示す)に含まれるスキップコード処理回路334と同じである。
図21は、本実施形態に係るインタフェース制御部503(第2のインタフェース制御手段)の構成を示すブロック図である。
図21に示すように、本実施形態におけるインタフェース制御部503は、第2の実施形態のインタフェース制御部500と比べて、アクセス要求受信部520及びリプライ送信部540に替えて、メモリ制御部550及び非同期インタフェース制御部560を含む。
===メモリ制御部550===
メモリ制御部550は、デリミタ除去回路523及びパケット生成回路543を含む。ここで、メモリ制御部550に含まれるデリミタ除去回路523は、図12に示すアクセス要求受信部520(図4に詳細を示す)に含まれるデリミタ除去回路523と同じである。また、メモリ制御部550に含まれるパケット生成回路543は、図12に示すリプライ送信部540(図14に詳細を示す)に含まれるパケット生成回路543と同じである。
===非同期インタフェース制御部560===
非同期インタフェース制御部560は、スキップコード処理回路524及びスキップコード挿入回路544を含む。ここで、非同期インタフェース制御部560に含まれるスキップコード処理回路524は、図12に示すアクセス要求受信部520(図4に詳細を示す)に含まれるスキップコード処理回路524と同じである。また、非同期インタフェース制御部560に含まれるスキップコード挿入回路544は、図12に示すリプライ送信部540(図14に詳細を示す)に含まれるスキップコード挿入回路544と同じである。
以上説明したように、本実施形態は、第2の実施形態においてリクエスト及びデータの流れに対応して纏めた各構成要素を、処理の段階に対応して纏めた形態である。
上述した本実施形態の構成によっても、第2の実施形態と同様の効果を得ることができる。
上述の各実施形態のメモリ制御装置は、プロセッサ部100側とメモリ部700側とにおける、第2アクセス要求820やリードデータ880を用いた既存のインタフェースを変更することなく、非同期インタフェース部400を介して、プロセッサ部100とメモリ部700とを接続する。尚、上述の各実施形態は、プロセッサとメモリ間のインタフェースに限らず、様々な機器の固有のインタフェースを維持したまま、非同期インタフェースを介してそれらの機器を接続する場合に、適用できる。
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されてよい。また、各構成要素は、1つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
以上、各実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
本発明は、固有のインタフェースで接続される装置間を、非同期インタフェースで接続するような、コンピュータシステム及びネットワークシステムへ適用できる。
100 プロセッサ部
210 メモリ制御装置
220 メモリ制御装置
300 インタフェース制御部
303 インタフェース制御部
310 アクセス要求送信部
311 メモリビジー制御回路
312 リクエスト発行制御回路
313 パケット生成回路
314 スキップコード挿入回路
330 リプライ受信部
333 デリミタ除去回路
334 スキップコード処理回路
350 メモリ制御部
360 非同期インタフェース制御部
400 非同期インタフェース部
500 インタフェース制御部
503 インタフェース制御部
520 アクセス要求受信部
523 デリミタ除去回路
524 スキップコード処理回路
540 リプライ送信部
543 パケット生成回路
544 スキップコード挿入回路
550 メモリ制御部
560 非同期インタフェース制御部
700 メモリ部
801 発行許可
802 スキップ挿入許可
803 リクエスト発行抑止指示
804 スキップ挿入指示
810 第1アクセス要求
811 ライトリクエスト
812 リードリクエスト
813 リードリクエスト
814 リードリクエスト
815 リードリクエスト
816 ライトリクエスト
820 第2アクセス要求
821 ライトリクエスト
822 リードリクエスト
823 リードリクエスト
824 リードリクエスト
830 リクエストパケット
840 アクセス要求データ
841 スキップコード
850 リードデータ
851 リードデータ
852 リードデータ
860 リプライパケット
870 リプライデータ
871 スキップコード
880 リードデータ
881 リードデータ
882 リードデータ
891 第1クロック
892 第2クロック
3131 カウンタ
3132 比較回路
3133 デリミタ生成回路

Claims (5)

  1. 非同期インタフェースで相互に接続され、第1のクロックで動作するアクセス要求送信手段と第2のクロックで動作するアクセス要求受信手段とを含み、
    前記アクセス要求送信手段は、入力された第1のアクセス要求を被アクセス装置の仕様に沿った形式にした第2のアクセス要求を含むリクエストパケットを生成し、前記リクエストパケット間に前記第1のクロックと前記第2のクロックとの間の周波数差分を吸収するためのスキップコードを挿入したアクセス要求データを前記非同期インタフェースに出力し、
    前記アクセス要求受信手段は、前記非同期インタフェースから入力される前記アクセス要求データを受信し、前記アクセス要求データに含まれる前記スキップコードを利用して、前記周波数差分を吸収し、前記アクセス要求データに含まれる前記第2のアクセス要求を前記被アクセス装置に出力し、
    前記アクセス要求送信手段は、前記リクエストパケットに2以上のリクエストを含ませるとともに、前記スキップコードを、前記周波数差分を吸収可能な最大の間隔で、前記リクエストパケット間へ挿入する
    情報処理装置。
  2. 前記第2のクロックで動作し、前記被アクセス装置が出力するリードデータを含むリプライパケットを生成し、前記リプライパケット間に前記スキップコードを挿入したリプライデータを前記非同期インタフェースに出力するリプライ送信手段と、
    前記第1のクロックで動作し、前記非同期インタフェースから入力される前記リプライデータを受信し、前記リプライデータに含まれる前記スキップコードに基づいて、前記周波数差分を吸収し、前記リプライデータに含まれる前記リードデータを出力するリプライ受信手段と、を更に含む
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記アクセス要求送信手段は、前記スキップコードを挿入するタイミングに基づいて、
    前記スキップコードに先行する前記リクエストパケットに新たな前記第2のアクセス要求を含めることを抑止する
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 非同期インタフェースで相互に接続され、第1のクロックで動作する第1のインタフェース制御手段と第2のクロックで動作する第2のインタフェース制御手段とを含む情報処理装置において、
    前記第1のインタフェース制御手段は、入力された第1のアクセス要求を被アクセス装置の仕様に沿った形式にした第2のアクセス要求を含むリクエストパケットを生成し、前記リクエストパケット間に前記第1のクロックと前記第2のクロックとの間の周波数差分を吸収するためのスキップコードを挿入したアクセス要求データを前記非同期インタフェースに出力し、
    前記第2のインタフェース制御手段は、前記非同期インタフェースから入力される前記アクセス要求データを受信し、前記アクセス要求データに含まれる前記スキップコードを利用して、前記周波数差分を吸収し、前記アクセス要求データに含まれる前記第2のアクセス要求を前記被アクセス装置に出力し、
    前記第1のインタフェース制御手段は、前記リクエストパケットに2以上のリクエストを含ませるとともに、前記スキップコードを、前記周波数差分を吸収可能な最大の間隔で、前記リクエストパケット間へ挿入する
    データ転送方法。
  5. 前記第2のインタフェース制御手段は、更に、前記被アクセス装置が出力するリードデータを含むリプライパケットを生成し、前記リプライパケット間に前記スキップコードを挿入したリプライデータを前記非同期インタフェースに出力し、
    前記第1のインタフェース制御手段は、更に、前記非同期インタフェースから入力される前記リプライデータを受信し、前記リプライデータに含まれる前記スキップコードに基づいて、前記周波数差分を吸収し、前記リプライデータに含まれる前記リードデータを出力する
    ことを特徴とする請求項記載のデータ転送方法。
JP2013171053A 2013-08-21 2013-08-21 インタフェースを制御する情報処理装置及びインタフェース制御方法 Active JP6339331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013171053A JP6339331B2 (ja) 2013-08-21 2013-08-21 インタフェースを制御する情報処理装置及びインタフェース制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013171053A JP6339331B2 (ja) 2013-08-21 2013-08-21 インタフェースを制御する情報処理装置及びインタフェース制御方法

Publications (2)

Publication Number Publication Date
JP2015041177A JP2015041177A (ja) 2015-03-02
JP6339331B2 true JP6339331B2 (ja) 2018-06-06

Family

ID=52695321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013171053A Active JP6339331B2 (ja) 2013-08-21 2013-08-21 インタフェースを制御する情報処理装置及びインタフェース制御方法

Country Status (1)

Country Link
JP (1) JP6339331B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738917B2 (en) * 2001-01-03 2004-05-18 Alliance Semiconductor Corporation Low latency synchronization of asynchronous data
JP5545146B2 (ja) * 2010-09-15 2014-07-09 株式会社リコー シリアル通信システム
WO2013001631A1 (ja) * 2011-06-29 2013-01-03 富士通株式会社 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法

Also Published As

Publication number Publication date
JP2015041177A (ja) 2015-03-02

Similar Documents

Publication Publication Date Title
EP3035198B1 (en) Low power entry in a shared memory link
US8572342B2 (en) Data transfer device with confirmation of write completion and method of controlling the same
WO2011089660A1 (ja) バス調停装置
US11403247B2 (en) Methods and apparatus for network interface fabric send/receive operations
US8799532B2 (en) High speed USB hub with full speed to high speed transaction translator
TW201111977A (en) Squelch filtration to limit false wakeups
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
US10459860B2 (en) EMI mitigation on high-speed lanes using false stall
JP2011095978A (ja) バスシステム及びバス制御方法
US8473658B2 (en) Input output bridging
JP6290761B2 (ja) データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム
WO2012081085A1 (ja) 割込み要因管理装置及び割込み処理システム
JP6339331B2 (ja) インタフェースを制御する情報処理装置及びインタフェース制御方法
JP6142783B2 (ja) メモリコントローラ,情報処理装置及びメモリコントローラの制御方法
KR100288036B1 (ko) 정보처리장치용 프로세서
CN113342724A (zh) 一种基于fpga的数据传输方法与装置
JP2013219601A (ja) シリアルデータ送信システム
US10452579B2 (en) Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system
JP4152387B2 (ja) バスシステム
JP5929600B2 (ja) 情報処理システム、情報処理装置、及び電子装置
CN113821470A (zh) 总线设备、嵌入式***和片上***
CN117955583A (zh) 用于互连协议的通道同步的方法、控制器以及存储装置
JP2008186093A (ja) バスインターフェース回路および情報処理装置
JP2007172510A (ja) Dma転送装置
JP2012178637A (ja) 記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170519

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180129

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180510

R150 Certificate of patent or registration of utility model

Ref document number: 6339331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150