JP2008146459A - インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置 - Google Patents

インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置 Download PDF

Info

Publication number
JP2008146459A
JP2008146459A JP2006334525A JP2006334525A JP2008146459A JP 2008146459 A JP2008146459 A JP 2008146459A JP 2006334525 A JP2006334525 A JP 2006334525A JP 2006334525 A JP2006334525 A JP 2006334525A JP 2008146459 A JP2008146459 A JP 2008146459A
Authority
JP
Japan
Prior art keywords
read
read request
interface controller
response
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006334525A
Other languages
English (en)
Inventor
Takuya Sekine
根 卓 也 関
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006334525A priority Critical patent/JP2008146459A/ja
Priority to US11/953,618 priority patent/US7721026B2/en
Publication of JP2008146459A publication Critical patent/JP2008146459A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】リードリクエストの発行者に負荷を与えることなく、かつ、装置としての汎用性を維持するとともに、受信バッファのオーバーフローを回避したメモリリードアクセスを可能とするインタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置を提供することである。
【解決手段】データを記憶した記憶装置110へリードリクエストを行うリードリクエスト装置101、102に接続されたインタフェースコントローラ104であって、前記リードリクエスト装置101、102から送信されたリードリクエストに対する前記記憶装置110のリードレスポンスを保持する保持手段206と、前記保持手段206の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置101、102にリードリクエスト許可を行う制御手段202と、を備える。
【選択図】図2

Description

本発明は、記憶装置との通信を制御するインタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置に関し、特に、連続でリードリクエストを発行するインタフェースコントローラ、連続でリードリクエストを発行するリードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置に関する。
2つのデバイスを接続するためのインタフェースとしてPCI Expressが知られている。PCI Expressにおける通信は、メモリを含む相手側のデバイスに対してメモリに記憶されたデータを読み出すメモリリードのためのメモリアクセス(メモリリードアクセス)を行う場合に、メモリリードを要求するパケット(リードリクエスト)を送信し、相手側のデバイスから返信されるリードレスポンスを受信するものである。受信されたリードレスポンスは、受信バッファに保存された後に上位のシステムバスへ送信される。
リードレスポンスを受信バッファに保存するとともに、パフォーマンスを向上させるための方法として、リードリクエストの発行者(例えば、CPU、DMA等)が受信バッファのサイズを考慮して連続発行する方法があった。この場合には、リードレスポンスを受信する受信バッファにオーバーフローが発生しないようにするために、リードリクエストの発行者が受信バッファのサイズや状況を伝えるサイドバンド信号に基づいてメモリリードアクセスにおけるデータ送信量を算出し、データ送信量を制御する必要があった。
しかし、データ送信量を算出する際に、リードリクエストの発行者に負荷が発生していた。さらに、サイドバンド信号を送受信するためのシステムバスが必要となり、装置としての汎用性を低減していた。
特開2005−322308号公報
本発明の目的は、リードリクエストの発行者に負荷を与えることなく、かつ、装置としての汎用性を維持するとともに、受信バッファのオーバーフローを回避したメモリリードアクセスを可能とするインタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置を提供することである。
本発明の第1態様によれば、データを記憶した記憶装置へリードリクエストを行うリードリクエスト装置に接続されたインタフェースコントローラであって、前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行う制御手段と、を備えたことを特徴とするインタフェースコントローラが提供される。
本発明の第2態様によれば、データを記憶した記憶装置に対するリードリクエスト装置のリードリクエストを制御するリードアクセス制御方法であって、前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持手段に保持し、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするリードアクセス制御方法が提供される。
本発明の第3態様によれば、データを記憶する記憶装置と接続可能な情報処理装置であって、リードリクエスト許可に応じて前記記憶装置に対するリードリクエストを行うリードリクエスト装置と、前記リードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置に前記リードリクエスト許可を行う制御手段と、を含むインタフェースコントローラと、を備えたことを特徴とする情報処理装置が提供される。
本発明によれば、リードリクエストの発行者に負荷を与えることなく、かつ、装置としての汎用性を維持するとともに、受信バッファのオーバーフローを回避したメモリリードアクセスが可能となる。
以下、本発明の実施例について図面を参照して説明する。なお、以下の実施例は本発明の実施の一形態であって、本発明の範囲を限定するものではない。
図1は、本発明の実施例に係る情報処理システムの構成を示すブロック図である。
本発明の実施例に係る情報処理システムは、情報処理装置100及び記憶装置110を含み、両者が互いに接続されたものである。
情報処理装置100は、CPU101、DMA102、CPU103、インタフェースコントローラ104及びRAM105を含み、互いにバスa106を介して接続される。CPU101、DMA102及びCPU103は、記憶装置110に対するメモリアクセス(リクエスト)を行う装置であり、CPU101及びDMA102は、リードリクエスト装置として動作し、CPU103は、ライトリクエスト・リードレスポンス装置として動作する。インタフェースコントローラ104は、CPU101、DMA102及びCPU103によるメモリアクセスを制御する。RAM105は、記憶装置110から送信されたリードレスポンスを記憶する。バスa106は、汎用的なプロトコル(例えば、OCP(Open Core Protocol))に従って通信を行うものである。なお、CPU103は、記憶装置110に対するリクエスト装置又は記憶装置110からのリクエストに対するレスポンス装置として動作しても良い。
記憶装置110は、記憶装置のインタフェースコントローラ111及び記憶部112を含み、互いにバスb113を介して接続される。記憶装置のインタフェースコントローラ111は、バスb113のプロトコルに従って記憶部112から送信されるレスポンスを情報処理装置100に送信するための通信を制御する。例えば、記憶装置のインタフェースコントローラは、PCI Express用のコントローラである。記憶部112は、情報処理装置100において用いられる様々なデータを記憶可能であって、情報処理装置100のCPU101、DMA102及びCPU103によるメモリアクセスに応じてデータの読み出し及び書き込みを行う。
図2は、本発明の実施例に係るインタフェースコントローラ104の内部構成を示すブロック図である。なお、図2に含まれる実線矢印(1)〜(14)は、CPU101又はDMA102により「リードリクエスト」が行われた場合の経路を示し、点線矢印(1)′〜(3)′は、CPU103により「ライトリクエスト又はリードレスポンス」が行われた場合の経路を示し、点線矢印(4)′〜(7)′は、記憶装置110により「情報処理装置100に対するリードリクエスト等(リードリクエスト、ライトリクエスト又はリードレスポンス)」が行われた場合のデータ経路を示す。
本発明の実施例に係るインタフェースコントローラ104は、プロトコル解釈手段a201、リード発行制御手段202、プロトコル生成手段b203、Busy信号生成手段204、プロトコル解釈手段b205、受信バッファ(保持手段)206及びプロトコル生成手段a207を含む。プロトコル解釈手段a201及びプロトコル生成手段a207は、バスa106と接続される。プロトコル生成手段b203及びプロトコル解釈手段b205は、記憶装置のインタフェースコントローラ111と接続される。Busy信号生成手段204は、バスa106及び記憶装置のインタフェースコントローラ111と接続される。各手段201〜207は、図示しない電気回路により実現される。
はじめに、CPU101又はDMA102により「リードリクエスト」が行われた場合について説明する。(1)プロトコル解釈手段a201は、バスa106のプロトコルに従って、リードリクエストを受信し、プロトコルの内容を解釈する。(2)プロトコル解釈手段a201は、リードリクエストに解釈部識別情報(プロトコル解釈手段a201のどの解釈部(図3を参照)によりリードリクエストが解釈されたかを示す情報)を付加して、リード発行制御手段202に送信する。(3)プロトコル解釈手段a201は、解釈部識別情報をプロトコル生成手段a207に送信する。(4)リード発行制御手段202は、プロトコル解釈手段a201から送信されたリードリクエストに対して後述するリード発行制御処理(図7を参照)を行い、プロトコル生成手段b203に送信する。(5)リード発行制御手段202は、リード発行制御処理においてリードBusy信号が生成された場合は、生成されたリードBusy信号に解釈部識別情報を付加して、Busy信号生成手段204に送信する。(6)プロトコル生成手段b203は、リード発行制御手段202から送信されたリードリクエストを受信し、バスb113のプロトコルに変換し、記憶装置のインタフェースコントローラ111に送信する。(7)Busy信号生成手段204は、記憶装置のインタフェースコントローラ111からバスb113のBusy状態を示すバスbBusy信号を受信する。(8)Busy信号生成手段204は、リードBusy信号又はバスbBusy信号を受信した場合に、バスa106に対するBusy信号を生成し、バスa106に送信する。(9)プロトコル解釈手段b205は、バスb113のプロトコルに従って、記憶装置のインタフェースコントローラ111からリードレスポンスを受信する。(10)受信バッファ(保持手段)206は、プロトコル解釈手段b205から送信されたリードレスポンスを一時的に保持する。(11)受信バッファ(保持手段)206は、受信バッファサイズ(受信バッファの最大容量)をリード発行制御手段202に送信する。(12)受信バッファ(保持手段)206は、リードレスポンスサイズ(リードレスポンスのデータサイズ)をリード発行制御手段202に送信する。(13)受信バッファ(保持手段)206は、リードレスポンスをプロトコル生成手段a207に送信する。(14)プロトコル生成手段a207は、受信バッファ(保持手段)206から送信されたリードレスポンスをバスa106のプロトコルに変換し、プロトコル解釈手段a201から送信された解釈部識別情報と対応付けてバスa106に送信する。
次に、CPU103により「ライトリクエスト又はリードレスポンス」が行われた場合について説明する。(1)′プロトコル解釈手段a201は、バスa106のプロトコルに従って、ライトリクエスト又はリードレスポンスを受信し、プロトコルの内容を解釈する。(2)′プロトコル解釈手段a201は、解釈結果に基づいてライトリクエスト又はリードレスポンスをプロトコル生成手段b203に送信する。(3)′プロトコル生成手段b203は、プロトコル解釈手段a201から送信されたライトリクエスト又はリードレスポンスを受信し、バスb113のプロトコルに変換し、記憶装置のインタフェースコントローラ111に送信する。
次に、記憶装置110により「情報処理装置100に対するリードリクエスト等」が行われた場合について説明する。(4)′プロトコル解釈手段b205は、バスb113のプロトコルに従って、記憶装置のインタフェースコントローラ111から情報処理装置100に対するリードリクエスト等を受信する。(5)′受信バッファ(保持手段)206は、プロトコル解釈手段b205から送信された情報処理装置100に対するリードリクエスト等を一時的に保持する。(6)′受信バッファ(保持手段)206は、情報処理装置100に対するリードリクエスト等をプロトコル生成手段a207に送信する。(7)′プロトコル生成手段a207は、受信バッファ(保持手段)206から送信された情報処理装置100に対するリードリクエスト等をバスa106のプロトコルに変換し、バスa106に送信する。
なお、受信バッファ(保持手段)206の容量は、バスb113のリードリクエストサイズ(一度のリードリクエストで要求できるレスポンスのデータサイズ)より大きな容量が必要である。例えば、受信バッファ(保持手段)206の容量がリードリエクスサイズの8倍である場合は、最大8回のリードリクエストを連続して発行することができる。また、本実施例では、1つの受信バッファ(保持手段)206を設けた構成を説明したが、プロトコル解釈手段b205による解釈結果毎に複数の受信バッファ(保持手段)206を設けても良い。
図3は、本発明の実施例に係るプロトコル解釈手段a201の内部構成を示すブロック図である。
本発明の実施例に係るプロトコル解釈手段a201は、第1バッファ312と接続される第1解釈部311、第2バッファ322と接続される第2解釈部321、及び第3バッファ332と接続される第3解釈部331を含み、各解釈部311〜331はバスa106と接続される。各解釈部311〜331は、図示しない電気回路により実現される。
第1解釈部311〜第3解釈部331は、バスa106を介して送信されたリクエスト又はレスポンスの発行元毎に設けられる。本実施例では、第1解釈部311は、CPU101により発行されたリクエストのプロトコルを解釈し、第2解釈部321は、DMA102により発行されたリクエストのプロトコルを解釈し、第3解釈部331は、CPU103により発行されたリクエスト又はレスポンスのプロトコルを解釈する。
第1解釈部311は、CPU101により発行されたリードリクエストを、バスa106を介して受信し、第1バッファ312に格納し、プロトコル解釈を行う。また、リード発行制御手段202にリードリクエストを送信するまでは、第1バッファ312に格納したリードリクエストを保持し続ける。第2解釈部321及び第2バッファ322、並びに第3解釈部331及び第3バッファ332については、第1解釈部311及び第1バッファ312と同様であるので、説明を省略する。
図4は、本発明の実施例に係るリード発行制御手段202の内部構成を示すブロック図である。
本発明の実施例に係るリード発行制御手段202は、プロトコル解釈部選択手段401、第1蓄積手段402、第2蓄積手段403、第1算出手段404、第2算出手段405、比較手段406及びリードBusy信号生成手段407を含む。各手段401〜407は、図示しない電気回路により実現される。
プロトコル解釈部選択手段401は、プロトコル解釈手段a201の第1解釈部311〜第3解釈部331から複数のリクエストが並行して送信された場合に、所定の優先順位に基づいて、リード発行制御処理の対象となる解釈部を選択する。この優先順位は、例えば、ラウンドロビン方式(第1解釈部311〜第3解釈部331の優先順位を経時的に変更する方式)又は固定方式(予め定められた優先順位に基づく方式)により定められる。
第1蓄積手段402は、リード発行が完了したリードリクエストについてのリードリクエストサイズの合計値(m2)を蓄積する。第2蓄積手段403は、レスポンス処理が完了したリードレスポンスについてのリードレスポンスサイズの合計値(n1)を蓄積する。
第1算出手段404は、プロトコル解釈部選択手段401により選択された解釈部のリードリクエストのリードリクエストサイズ(m1)と、第1蓄積手段402に蓄積されたリードリクエストサイズの合計値(m2)との和(M(=m1+m2))を算出する。第2算出手段405は、第2蓄積手段403に蓄積されたリードレスポンスサイズの合計値(n1)と、受信バッファ(保持手段)206から送信された受信バッファサイズ(n2)との和(N(=n1+n2))を算出する。
比較手段406は、第1算出手段402の算出結果(M)と第2算出手段405の算出結果(N)の大小関係を比較する。リードBusy信号生成手段407は、比較手段406の比較結果がM>Nとなる場合に、リードBusy信号を生成し、Busy信号生成手段204に送信する。
図5は、本発明の実施例に係るインタフェースコントローラ104のリクエスト処理における処理手順を示すフローチャートである。
はじめに、本発明の実施例に係るインタフェースコントローラ104は、バスa106のプロトコルに従ってリクエストを受信する(S501)。続いて、受信されたリクエストのプロトコルの内容を解釈する(S502)。なお、S501及びS502は、各解釈部311〜331により並列的に行われる。
続いて、所定の優先順位に基づいて処理対象とする解釈部(第1解釈部311〜第3解釈部331のいずれか)を選択する(S503)。続いて、S503において選択された解釈部の解釈結果が「リードリクエスト」であった場合には(S504−Yes)、後述する「リード発行制御処理(図7)」を行う(S505)。続いて、リードBusy信号が生成された場合(S505−Yes)、又は記憶装置のインタフェースコントローラ111からバスbBusy信号が送信された場合(S506−Yes)には、S503に戻る。
一方、リードBusy信号及びバスbBusy信号がいずれも無かった場合には(S506−No、S507−No)、S505においてリード発行制御処理が行われたリードリクエストのリードリクエストサイズをm2(発行済リードリクエストサイズ)の値に加算し、更新する(S508)。続いて、S503において選択された解釈部のリードリクエストをバスb113のプロトコルに変換する(S509)。続いて、バスb113のプロトコルに従って、記憶装置のインタフェースコントローラ111にリードリクエストを送信する(S510)。
他方、S503において選択された解釈部の解釈結果が「ライトリクエスト又はリードレスポンス」であった場合には(S504−No)、バスa106からバスb113に対するライトリクエスト処理又はリードレスポンス処理を行う(S511)。ライトリクエスト処理又はリードレスポンス処理については、説明を省略する。続いて、S511において処理されたライトリクエスト又はリードレスポンスをバスb113のプロトコルに変換する(S509)。続いて、バスb113のプロトコルに従って、記憶装置のインタフェースコントローラ111にライトリクエスト又はリードレスポンスを送信する(S510)。
図6は、本発明の実施例に係るインタフェースコントローラ114のレスポンス処理における処理手順を示すフローチャートである。なお、レスポンス処理は、CPU101、DMA102又はCPU103により行われたリクエストに対する処理である。
はじめに、本発明の実施例に係るインタフェースコントローラ114は、バスb113のプロトコルに従って、レスポンスを受信する(S601)。続いて、受信されたレスポンスのプロトコルの内容を解釈する(S602)。
続いて、S602における解釈結果が「リードレスポンス」であった場合には(S603−Yes)、リードレスポンスを受信バッファ206へ格納する(S604)。続いて、図5のS503において選択された解釈部の解釈部識別情報と、受信バッファ206へ格納されたリードレスポンスとを対応付ける(S605)。続いて、第2蓄積手段302に蓄積されたリードレスポンスサイズの合計値(n2)に、S605においてレスポンス対応付けが行われたリードレスポンスのリードレスポンスサイズを加算し、更新する(S606)。続いて、S604において受信バッファ206へ格納されたリードレスポンスをバスa106のプロトコルに変換する(S607)。続いて、バスa106のプロトコルに従って、バスa106にリードレスポンスを送信する(S608)。
一方、S602における解釈結果が「リードリクエスト又はライトリクエスト」であった場合には(S603−No)、バスb113からバスa106に対するリードリクエスト処理又はライトリクエスト処理を行う(S609)。リードリクエスト処理又はライトリクエスト処理については説明を省略する。続いて、S609において処理されたリードリクエスト又はライトリクエストをバスa106のプロトコルに変換する(S607)。続いて、バスa106のプロトコルに従って、バスa106にリードリクエスト又はライトリクエストを送信する(S608)。
図7は、本発明の実施例に係るリード発行制御手段202のリード発行制御処理(図5のS505)における処理手順を示すフローチャートである。
はじめに、本発明の実施例に係るリード発行制御手段202は、S503において選択された解釈部のリードリクエストサイズ(m1)を取得する(S701)。続いて、第1蓄積手段402に蓄積されたリードリクエストサイズの合計値(m2)を取得する(S702)。続いて、M(=m1+m2)を算出する(S703)。
また、第2蓄積手段403に蓄積されたリードレスポンスサイズの合計値(n1)を取得する(S704)。続いて、受信バッファ(保持手段)206の受信バッファサイズ(n2)を取得する(S705)。続いて、N(=n1+n2)を算出する(S706)。
続いて、MとNの大小関係を比較する(S707)。M>Nの場合は(S708−Yes)、リードBusy信号を生成し、Busy信号生成手段204に送信する(S708)。一方、M<Nの場合は(S708−No)、リード発行を行い、リードリクエストをプロトコル生成手段b203に送信する(S709)。
本発明によれば、M≦Nとなる場合に限り、リード発行(S709)を行うので、受信バッファ(保持手段)206にオーバーフローを発生させることがない。従って、CPU101及びDMA102は、受信バッファ(保持手段)206にオーバーフローを発生させることなく、リードリクエストを連続的に発行することができる。
また、CPU101及びDMA102は、Busy信号生成手段204によりBusy信号が生成されたか否か(すなわち、バスaがBusy状態であるか否か)に基づいて、リードリクエストを発行する。すなわち、CPU101及びDMA102は、バスaがBusy状態でない場合は、リードリクエストサイズを算出することなく、リードリクエストを発行する。従って、CPU101及びDMA102は、リードリクエストサイズを算出するための処理を行う必要がなく、余分な負荷を与えることがない。
本発明の実施例に係る情報処理システムの構成を示すブロック図である。 本発明の実施例に係るインタフェースコントローラ104の内部構成を示すブロック図である。 本発明の実施例に係るプロトコル解釈手段a201の内部構成を示すブロック図である。 本発明の実施例に係るリード発行制御手段202の内部構成を示すブロック図である。 本発明の実施例に係るインタフェースコントローラ104のリクエスト処理における処理手順を示すフローチャートである。 本発明の実施例に係るインタフェースコントローラ104のレスポンス処理における処理手順を示すフローチャートである。 本発明の実施例に係るリード発行制御手段202のリード発行制御処理(図5のS505)における処理手順を示すフローチャートである。
符号の説明
100 情報処理装置
101、103 CPU
102 DMA
104 インタフェースコントローラ
105 RAM
106 バスa
110 記憶装置
111 記憶装置のインタフェースコントローラ
112 記憶部
113 バスb

Claims (5)

  1. データを記憶した記憶装置へリードリクエストを行うリードリクエスト装置に接続されたインタフェースコントローラであって、
    前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、
    前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行う制御手段と、を備えたことを特徴とするインタフェースコントローラ。
  2. 請求項1に記載のインタフェースコントローラであって、
    前記制御手段は、発行済リードリクエストのリードリクエストサイズの合計値を蓄積する第1蓄積手段と、処理済リードレスポンスのリードレスポンスサイズの合計値を蓄積する第2蓄積手段と、を含み、該第1蓄積手段に蓄積された合計値と該第2蓄積手段に蓄積された合計値とに基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするインタフェースコントローラ。
  3. 請求項2に記載のインタフェースコントローラであって、
    前記制御手段は、さらに、前記リードリクエスト装置から送信されたリードリクエストのリードリクエストサイズと前記第1蓄積手段に蓄積された合計値との和を算出する第1算出手段と、前記保持手段の容量と前記第2蓄積手段に蓄積された合計値との和を算出する第2算出手段と、該第1算出手段の算出結果と該第2算出手段の算出結果とを比較する比較手段と、を含み、該比較手段の比較結果に基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするインタフェースコントローラ。
  4. データを記憶した記憶装置に対するリードリクエスト装置のリードリクエストを制御するリードアクセス制御方法であって、
    前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持手段に保持し、
    前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするリードアクセス制御方法。
  5. データを記憶する記憶装置と接続可能な情報処理装置であって、
    リードリクエスト許可に応じて前記記憶装置に対するリードリクエストを行うリードリクエスト装置と、
    前記リードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置に前記リードリクエスト許可を行う制御手段と、を含むインタフェースコントローラと、を備えたことを特徴とする情報処理装置。
JP2006334525A 2006-12-12 2006-12-12 インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置 Pending JP2008146459A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006334525A JP2008146459A (ja) 2006-12-12 2006-12-12 インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置
US11/953,618 US7721026B2 (en) 2006-12-12 2007-12-10 Interface controller, method for controlling read access, and information processing apparatus provided with the interface controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006334525A JP2008146459A (ja) 2006-12-12 2006-12-12 インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置

Publications (1)

Publication Number Publication Date
JP2008146459A true JP2008146459A (ja) 2008-06-26

Family

ID=39499639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006334525A Pending JP2008146459A (ja) 2006-12-12 2006-12-12 インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置

Country Status (2)

Country Link
US (1) US7721026B2 (ja)
JP (1) JP2008146459A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015783A (ja) * 2007-07-09 2009-01-22 Toshiba Corp インタフェースコントローラ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US5481738A (en) * 1992-02-20 1996-01-02 International Business Machines Corporation Apparatus and method for communicating a quiesce and unquiesce state between elements of a data processing complex
JP4112716B2 (ja) * 1998-12-08 2008-07-02 日本テキサス・インスツルメンツ株式会社 データ処理装置
US20040230690A1 (en) * 2003-05-17 2004-11-18 Teh Jin Teik Protocol for data hosting servers
US7054987B1 (en) * 2003-12-19 2006-05-30 Nvidia Corporation Apparatus, system, and method for avoiding data writes that stall transactions in a bus interface
JP2005322308A (ja) 2004-05-07 2005-11-17 Sony Corp 記録再生装置及び方法
JP4574408B2 (ja) * 2005-03-24 2010-11-04 株式会社日立製作所 記憶装置システムの制御技術

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015783A (ja) * 2007-07-09 2009-01-22 Toshiba Corp インタフェースコントローラ

Also Published As

Publication number Publication date
US7721026B2 (en) 2010-05-18
US20080140882A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
US9411753B2 (en) Systems and methods for dynamically determining a priority for a queue of commands
WO2017000822A1 (zh) 一种直接内存访问的传输控制方法及装置
JP2008269282A (ja) 情報処理装置および方法、並びにプログラム
CN111723030B (zh) 存储器***及存储器***的控制方法
KR102106541B1 (ko) 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
KR20150001146A (ko) 스토리지 시스템 및 그의 동작 방법
KR100813256B1 (ko) 버스 중재 장치 및 방법
US9798492B2 (en) Semiconductor device including a plurality of function blocks
JP6331944B2 (ja) 情報処理装置、メモリ制御装置及び情報処理装置の制御方法
US9910812B2 (en) Initiating multiple data transactions on a system bus
JP2008146459A (ja) インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置
JP2018106222A5 (ja)
JP5101195B2 (ja) インタフェースコントローラ
EP2413248A1 (en) Direct memory access device for multi-core system and operating method of the same
JP5908416B2 (ja) インターフェース制御装置、データ記憶装置及びインターフェース制御方法
US8239652B2 (en) Data processing system
KR20160140038A (ko) 수송 화물 안전을 위한 차량용 단말 시스템
EP2503746A1 (en) Data transfer apparatus, data transfer method, and information processing apparatus
EP2667308A1 (en) Data writing control device, data writing control method, and information processing device
US20170337015A1 (en) Memory access control method and apparatus
JP6430710B2 (ja) データ転送制御装置及びデータ転送の制御方法
JP6171367B2 (ja) スイッチ装置、画像処理装置、及び排他制御方法
KR20070061240A (ko) 절대 우위의 dma 요청을 처리하는 dma 장치 및 그처리 방법
JP2017157964A (ja) 通信装置、制御方法、および、プログラム
EP3001324B1 (en) Information processing apparatus, controlling method for information processing apparatus, and storage medium