JP2008146459A - Interface controller, read access control method, and information processing apparatus including the interface controller - Google Patents
Interface controller, read access control method, and information processing apparatus including the interface controller Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single 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と、を備える。
【選択図】図2An interface controller, a read access control method, and a read access control method that do not give a load to a read request issuer, maintain general versatility as a device, and enable memory read access that avoids overflow of a reception buffer An information processing apparatus including an interface controller is provided.
An interface controller connected to a read request device (101, 102) that makes a read request to a storage device (110) that stores data, the storage device corresponding to a read request transmitted from the read request device (101, 102). 110, a holding unit 206 that holds a read response, and a control unit 202 that grants a read request to the read request devices 101 and 102 based on the capacity, the read request size, and the read response size of the holding unit 206. .
[Selection] Figure 2
Description
本発明は、記憶装置との通信を制御するインタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置に関し、特に、連続でリードリクエストを発行するインタフェースコントローラ、連続でリードリクエストを発行するリードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置に関する。 The present invention relates to an interface controller that controls communication with a storage device, a read access control method, and an information processing apparatus including the interface controller, and in particular, an interface controller that issues read requests continuously, and a read that issues read requests continuously. The present invention relates to an access control method and an information processing apparatus including the interface controller.
2つのデバイスを接続するためのインタフェースとしてPCI Expressが知られている。PCI Expressにおける通信は、メモリを含む相手側のデバイスに対してメモリに記憶されたデータを読み出すメモリリードのためのメモリアクセス(メモリリードアクセス)を行う場合に、メモリリードを要求するパケット(リードリクエスト)を送信し、相手側のデバイスから返信されるリードレスポンスを受信するものである。受信されたリードレスポンスは、受信バッファに保存された後に上位のシステムバスへ送信される。 PCI Express is known as an interface for connecting two devices. The communication in PCI Express is a packet (read request) that requests a memory read when performing memory access (memory read access) for reading the data stored in the memory to the other device including the memory. ) And receive a read response sent back from the other device. The received read response is stored in the reception buffer and then transmitted to the upper system bus.
リードレスポンスを受信バッファに保存するとともに、パフォーマンスを向上させるための方法として、リードリクエストの発行者(例えば、CPU、DMA等)が受信バッファのサイズを考慮して連続発行する方法があった。この場合には、リードレスポンスを受信する受信バッファにオーバーフローが発生しないようにするために、リードリクエストの発行者が受信バッファのサイズや状況を伝えるサイドバンド信号に基づいてメモリリードアクセスにおけるデータ送信量を算出し、データ送信量を制御する必要があった。 As a method for saving the read response in the reception buffer and improving the performance, there has been a method in which the issuer (for example, CPU, DMA, etc.) of the read request continuously issues in consideration of the size of the reception buffer. In this case, in order to prevent an overflow from occurring in the receive buffer that receives the read response, the amount of data transmitted in the memory read access based on the sideband signal that the read request issuer informs the size and status of the receive buffer. It was necessary to calculate the data transmission amount.
しかし、データ送信量を算出する際に、リードリクエストの発行者に負荷が発生していた。さらに、サイドバンド信号を送受信するためのシステムバスが必要となり、装置としての汎用性を低減していた。
本発明の目的は、リードリクエストの発行者に負荷を与えることなく、かつ、装置としての汎用性を維持するとともに、受信バッファのオーバーフローを回避したメモリリードアクセスを可能とするインタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置を提供することである。 An object of the present invention is to provide an interface controller and read access control that do not impose a load on the issuer of a read request, maintain general versatility as a device, and enable memory read access that avoids overflow of a reception buffer. A method and an information processing apparatus including the interface controller are provided.
本発明の第1態様によれば、データを記憶した記憶装置へリードリクエストを行うリードリクエスト装置に接続されたインタフェースコントローラであって、前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行う制御手段と、を備えたことを特徴とするインタフェースコントローラが提供される。 According to a first aspect of the present invention, there is provided an interface controller connected to a read request device that makes a read request to a storage device that stores data, wherein the storage device reads the read request transmitted from the read request device. An interface controller comprising: a holding unit that holds a response; and a control unit that grants a read request to the read request device based on a capacity, a read request size, and a read response size of the holding unit. Provided.
本発明の第2態様によれば、データを記憶した記憶装置に対するリードリクエスト装置のリードリクエストを制御するリードアクセス制御方法であって、前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持手段に保持し、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするリードアクセス制御方法が提供される。 According to a second aspect of the present invention, there is provided a read access control method for controlling a read request of a read request device for a storage device storing data, wherein the storage device reads a read request transmitted from the read request device. A read access control method is provided, wherein a response is held in a holding unit, and a read request is permitted to the read request device based on a capacity, a read request size, and a read response size of the holding unit.
本発明の第3態様によれば、データを記憶する記憶装置と接続可能な情報処理装置であって、リードリクエスト許可に応じて前記記憶装置に対するリードリクエストを行うリードリクエスト装置と、前記リードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置に前記リードリクエスト許可を行う制御手段と、を含むインタフェースコントローラと、を備えたことを特徴とする情報処理装置が提供される。 According to the third aspect of the present invention, there is provided an information processing apparatus connectable to a storage device that stores data, a read request device that makes a read request to the storage device in response to a read request permission, and a read request device An interface controller including: a holding unit that holds a read response of the storage device; and a control unit that grants the read request to the read request device based on a capacity, a read request size, and a read response size of the holding unit; An information processing apparatus characterized by comprising: is provided.
本発明によれば、リードリクエストの発行者に負荷を与えることなく、かつ、装置としての汎用性を維持するとともに、受信バッファのオーバーフローを回避したメモリリードアクセスが可能となる。 According to the present invention, it is possible to perform memory read access without applying a load to the issuer of the read request, maintaining versatility as a device, and avoiding overflow of the reception buffer.
以下、本発明の実施例について図面を参照して説明する。なお、以下の実施例は本発明の実施の一形態であって、本発明の範囲を限定するものではない。 Embodiments of the present invention will be described below with reference to the drawings. The following examples are one embodiment of the present invention and do not limit the scope of the present invention.
図1は、本発明の実施例に係る情報処理システムの構成を示すブロック図である。 FIG. 1 is a block diagram showing a configuration of an information processing system according to an embodiment of the present invention.
本発明の実施例に係る情報処理システムは、情報処理装置100及び記憶装置110を含み、両者が互いに接続されたものである。 An information processing system according to an embodiment of the present invention includes an information processing device 100 and a storage device 110, which are connected to each other.
情報処理装置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からのリクエストに対するレスポンス装置として動作しても良い。
The information processing apparatus 100 includes a
記憶装置110は、記憶装置のインタフェースコントローラ111及び記憶部112を含み、互いにバスb113を介して接続される。記憶装置のインタフェースコントローラ111は、バスb113のプロトコルに従って記憶部112から送信されるレスポンスを情報処理装置100に送信するための通信を制御する。例えば、記憶装置のインタフェースコントローラは、PCI Express用のコントローラである。記憶部112は、情報処理装置100において用いられる様々なデータを記憶可能であって、情報処理装置100のCPU101、DMA102及びCPU103によるメモリアクセスに応じてデータの読み出し及び書き込みを行う。
The storage device 110 includes a storage
図2は、本発明の実施例に係るインタフェースコントローラ104の内部構成を示すブロック図である。なお、図2に含まれる実線矢印(1)〜(14)は、CPU101又はDMA102により「リードリクエスト」が行われた場合の経路を示し、点線矢印(1)′〜(3)′は、CPU103により「ライトリクエスト又はリードレスポンス」が行われた場合の経路を示し、点線矢印(4)′〜(7)′は、記憶装置110により「情報処理装置100に対するリードリクエスト等(リードリクエスト、ライトリクエスト又はリードレスポンス)」が行われた場合のデータ経路を示す。
FIG. 2 is a block diagram showing an internal configuration of the
本発明の実施例に係るインタフェースコントローラ104は、プロトコル解釈手段a201、リード発行制御手段202、プロトコル生成手段b203、Busy信号生成手段204、プロトコル解釈手段b205、受信バッファ(保持手段)206及びプロトコル生成手段a207を含む。プロトコル解釈手段a201及びプロトコル生成手段a207は、バスa106と接続される。プロトコル生成手段b203及びプロトコル解釈手段b205は、記憶装置のインタフェースコントローラ111と接続される。Busy信号生成手段204は、バスa106及び記憶装置のインタフェースコントローラ111と接続される。各手段201〜207は、図示しない電気回路により実現される。
The
はじめに、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に送信する。
First, a case where a “read request” is performed by the
次に、CPU103により「ライトリクエスト又はリードレスポンス」が行われた場合について説明する。(1)′プロトコル解釈手段a201は、バスa106のプロトコルに従って、ライトリクエスト又はリードレスポンスを受信し、プロトコルの内容を解釈する。(2)′プロトコル解釈手段a201は、解釈結果に基づいてライトリクエスト又はリードレスポンスをプロトコル生成手段b203に送信する。(3)′プロトコル生成手段b203は、プロトコル解釈手段a201から送信されたライトリクエスト又はリードレスポンスを受信し、バスb113のプロトコルに変換し、記憶装置のインタフェースコントローラ111に送信する。
Next, a case where “write request or read response” is performed by the
次に、記憶装置110により「情報処理装置100に対するリードリクエスト等」が行われた場合について説明する。(4)′プロトコル解釈手段b205は、バスb113のプロトコルに従って、記憶装置のインタフェースコントローラ111から情報処理装置100に対するリードリクエスト等を受信する。(5)′受信バッファ(保持手段)206は、プロトコル解釈手段b205から送信された情報処理装置100に対するリードリクエスト等を一時的に保持する。(6)′受信バッファ(保持手段)206は、情報処理装置100に対するリードリクエスト等をプロトコル生成手段a207に送信する。(7)′プロトコル生成手段a207は、受信バッファ(保持手段)206から送信された情報処理装置100に対するリードリクエスト等をバスa106のプロトコルに変換し、バスa106に送信する。
Next, a case where “a read request or the like to the information processing apparatus 100” is performed by the storage device 110 will be described. (4) ′ The protocol interpreter b205 receives a read request or the like for the information processing apparatus 100 from the
なお、受信バッファ(保持手段)206の容量は、バスb113のリードリクエストサイズ(一度のリードリクエストで要求できるレスポンスのデータサイズ)より大きな容量が必要である。例えば、受信バッファ(保持手段)206の容量がリードリエクスサイズの8倍である場合は、最大8回のリードリクエストを連続して発行することができる。また、本実施例では、1つの受信バッファ(保持手段)206を設けた構成を説明したが、プロトコル解釈手段b205による解釈結果毎に複数の受信バッファ(保持手段)206を設けても良い。 The capacity of the reception buffer (holding means) 206 needs to be larger than the read request size of the bus b113 (response data size that can be requested by a single read request). For example, when the capacity of the reception buffer (holding means) 206 is 8 times the read reex size, a maximum of 8 read requests can be issued continuously. In this embodiment, the configuration in which one reception buffer (holding unit) 206 is provided has been described. However, a plurality of reception buffers (holding units) 206 may be provided for each interpretation result by the protocol interpretation unit b205.
図3は、本発明の実施例に係るプロトコル解釈手段a201の内部構成を示すブロック図である。 FIG. 3 is a block diagram showing an internal configuration of the protocol interpretation means a201 according to the embodiment of the present invention.
本発明の実施例に係るプロトコル解釈手段a201は、第1バッファ312と接続される第1解釈部311、第2バッファ322と接続される第2解釈部321、及び第3バッファ332と接続される第3解釈部331を含み、各解釈部311〜331はバスa106と接続される。各解釈部311〜331は、図示しない電気回路により実現される。
The protocol interpreter a201 according to the embodiment of the present invention is connected to the
第1解釈部311〜第3解釈部331は、バスa106を介して送信されたリクエスト又はレスポンスの発行元毎に設けられる。本実施例では、第1解釈部311は、CPU101により発行されたリクエストのプロトコルを解釈し、第2解釈部321は、DMA102により発行されたリクエストのプロトコルを解釈し、第3解釈部331は、CPU103により発行されたリクエスト又はレスポンスのプロトコルを解釈する。
The
第1解釈部311は、CPU101により発行されたリードリクエストを、バスa106を介して受信し、第1バッファ312に格納し、プロトコル解釈を行う。また、リード発行制御手段202にリードリクエストを送信するまでは、第1バッファ312に格納したリードリクエストを保持し続ける。第2解釈部321及び第2バッファ322、並びに第3解釈部331及び第3バッファ332については、第1解釈部311及び第1バッファ312と同様であるので、説明を省略する。
The
図4は、本発明の実施例に係るリード発行制御手段202の内部構成を示すブロック図である。
FIG. 4 is a block diagram showing an internal configuration of the read
本発明の実施例に係るリード発行制御手段202は、プロトコル解釈部選択手段401、第1蓄積手段402、第2蓄積手段403、第1算出手段404、第2算出手段405、比較手段406及びリードBusy信号生成手段407を含む。各手段401〜407は、図示しない電気回路により実現される。
The read
プロトコル解釈部選択手段401は、プロトコル解釈手段a201の第1解釈部311〜第3解釈部331から複数のリクエストが並行して送信された場合に、所定の優先順位に基づいて、リード発行制御処理の対象となる解釈部を選択する。この優先順位は、例えば、ラウンドロビン方式(第1解釈部311〜第3解釈部331の優先順位を経時的に変更する方式)又は固定方式(予め定められた優先順位に基づく方式)により定められる。
The protocol interpretation unit selection unit 401 performs read issue control processing based on a predetermined priority when a plurality of requests are transmitted in parallel from the
第1蓄積手段402は、リード発行が完了したリードリクエストについてのリードリクエストサイズの合計値(m2)を蓄積する。第2蓄積手段403は、レスポンス処理が完了したリードレスポンスについてのリードレスポンスサイズの合計値(n1)を蓄積する。
The
第1算出手段404は、プロトコル解釈部選択手段401により選択された解釈部のリードリクエストのリードリクエストサイズ(m1)と、第1蓄積手段402に蓄積されたリードリクエストサイズの合計値(m2)との和(M(=m1+m2))を算出する。第2算出手段405は、第2蓄積手段403に蓄積されたリードレスポンスサイズの合計値(n1)と、受信バッファ(保持手段)206から送信された受信バッファサイズ(n2)との和(N(=n1+n2))を算出する。
The
比較手段406は、第1算出手段402の算出結果(M)と第2算出手段405の算出結果(N)の大小関係を比較する。リードBusy信号生成手段407は、比較手段406の比較結果がM>Nとなる場合に、リードBusy信号を生成し、Busy信号生成手段204に送信する。
The
図5は、本発明の実施例に係るインタフェースコントローラ104のリクエスト処理における処理手順を示すフローチャートである。
FIG. 5 is a flowchart showing a processing procedure in the request processing of the
はじめに、本発明の実施例に係るインタフェースコントローラ104は、バスa106のプロトコルに従ってリクエストを受信する(S501)。続いて、受信されたリクエストのプロトコルの内容を解釈する(S502)。なお、S501及びS502は、各解釈部311〜331により並列的に行われる。
First, the
続いて、所定の優先順位に基づいて処理対象とする解釈部(第1解釈部311〜第3解釈部331のいずれか)を選択する(S503)。続いて、S503において選択された解釈部の解釈結果が「リードリクエスト」であった場合には(S504−Yes)、後述する「リード発行制御処理(図7)」を行う(S505)。続いて、リードBusy信号が生成された場合(S505−Yes)、又は記憶装置のインタフェースコントローラ111からバスbBusy信号が送信された場合(S506−Yes)には、S503に戻る。
Subsequently, an interpretation unit (any one of the
一方、リードBusy信号及びバスbBusy信号がいずれも無かった場合には(S506−No、S507−No)、S505においてリード発行制御処理が行われたリードリクエストのリードリクエストサイズをm2(発行済リードリクエストサイズ)の値に加算し、更新する(S508)。続いて、S503において選択された解釈部のリードリクエストをバスb113のプロトコルに変換する(S509)。続いて、バスb113のプロトコルに従って、記憶装置のインタフェースコントローラ111にリードリクエストを送信する(S510)。
On the other hand, if neither the read Busy signal nor the bus bBusy signal is present (S506-No, S507-No), the read request size of the read request subjected to the read issue control processing in S505 is set to m2 (issued read request). It is added to the value of (size) and updated (S508). Subsequently, the read request of the interpretation unit selected in S503 is converted into the protocol of the bus b113 (S509). Subsequently, a read request is transmitted to the
他方、S503において選択された解釈部の解釈結果が「ライトリクエスト又はリードレスポンス」であった場合には(S504−No)、バスa106からバスb113に対するライトリクエスト処理又はリードレスポンス処理を行う(S511)。ライトリクエスト処理又はリードレスポンス処理については、説明を省略する。続いて、S511において処理されたライトリクエスト又はリードレスポンスをバスb113のプロトコルに変換する(S509)。続いて、バスb113のプロトコルに従って、記憶装置のインタフェースコントローラ111にライトリクエスト又はリードレスポンスを送信する(S510)。
On the other hand, when the interpretation result of the interpretation unit selected in S503 is “write request or read response” (No in S504), write request processing or read response processing from the bus a106 to the bus b113 is performed (S511). . Description of the write request process or the read response process is omitted. Subsequently, the write request or read response processed in S511 is converted into the protocol of the bus b113 (S509). Subsequently, a write request or read response is transmitted to the
図6は、本発明の実施例に係るインタフェースコントローラ114のレスポンス処理における処理手順を示すフローチャートである。なお、レスポンス処理は、CPU101、DMA102又はCPU103により行われたリクエストに対する処理である。
FIG. 6 is a flowchart showing a processing procedure in response processing of the interface controller 114 according to the embodiment of the present invention. The response process is a process for a request made by the
はじめに、本発明の実施例に係るインタフェースコントローラ114は、バスb113のプロトコルに従って、レスポンスを受信する(S601)。続いて、受信されたレスポンスのプロトコルの内容を解釈する(S602)。 First, the interface controller 114 according to the embodiment of the present invention receives a response according to the protocol of the bus b113 (S601). Subsequently, the protocol content of the received response is interpreted (S602).
続いて、S602における解釈結果が「リードレスポンス」であった場合には(S603−Yes)、リードレスポンスを受信バッファ206へ格納する(S604)。続いて、図5のS503において選択された解釈部の解釈部識別情報と、受信バッファ206へ格納されたリードレスポンスとを対応付ける(S605)。続いて、第2蓄積手段302に蓄積されたリードレスポンスサイズの合計値(n2)に、S605においてレスポンス対応付けが行われたリードレスポンスのリードレスポンスサイズを加算し、更新する(S606)。続いて、S604において受信バッファ206へ格納されたリードレスポンスをバスa106のプロトコルに変換する(S607)。続いて、バスa106のプロトコルに従って、バスa106にリードレスポンスを送信する(S608)。
Subsequently, when the interpretation result in S602 is “read response” (S603—Yes), the read response is stored in the reception buffer 206 (S604). Subsequently, the interpretation unit identification information of the interpretation unit selected in S503 of FIG. 5 is associated with the read response stored in the reception buffer 206 (S605). Subsequently, the read response size of the read response for which the response association is performed in S605 is added to the total value (n2) of the read response size stored in the second storage unit 302, and updated (S606). Subsequently, the read response stored in the
一方、S602における解釈結果が「リードリクエスト又はライトリクエスト」であった場合には(S603−No)、バスb113からバスa106に対するリードリクエスト処理又はライトリクエスト処理を行う(S609)。リードリクエスト処理又はライトリクエスト処理については説明を省略する。続いて、S609において処理されたリードリクエスト又はライトリクエストをバスa106のプロトコルに変換する(S607)。続いて、バスa106のプロトコルに従って、バスa106にリードリクエスト又はライトリクエストを送信する(S608)。 On the other hand, when the interpretation result in S602 is “read request or write request” (S603—No), read request processing or write request processing from the bus b113 to the bus a106 is performed (S609). Description of the read request process or the write request process is omitted. Subsequently, the read request or write request processed in S609 is converted into the protocol of the bus a106 (S607). Subsequently, a read request or a write request is transmitted to the bus a106 according to the protocol of the bus a106 (S608).
図7は、本発明の実施例に係るリード発行制御手段202のリード発行制御処理(図5のS505)における処理手順を示すフローチャートである。
FIG. 7 is a flowchart showing a processing procedure in the read issue control process (S505 in FIG. 5) of the read
はじめに、本発明の実施例に係るリード発行制御手段202は、S503において選択された解釈部のリードリクエストサイズ(m1)を取得する(S701)。続いて、第1蓄積手段402に蓄積されたリードリクエストサイズの合計値(m2)を取得する(S702)。続いて、M(=m1+m2)を算出する(S703)。
First, the read
また、第2蓄積手段403に蓄積されたリードレスポンスサイズの合計値(n1)を取得する(S704)。続いて、受信バッファ(保持手段)206の受信バッファサイズ(n2)を取得する(S705)。続いて、N(=n1+n2)を算出する(S706)。
Further, the total value (n1) of the read response sizes stored in the
続いて、MとNの大小関係を比較する(S707)。M>Nの場合は(S708−Yes)、リードBusy信号を生成し、Busy信号生成手段204に送信する(S708)。一方、M<Nの場合は(S708−No)、リード発行を行い、リードリクエストをプロトコル生成手段b203に送信する(S709)。 Subsequently, the magnitude relationship between M and N is compared (S707). When M> N (S708-Yes), a read Busy signal is generated and transmitted to the Busy signal generation means 204 (S708). On the other hand, if M <N (S708-No), a read is issued and a read request is transmitted to the protocol generation unit b203 (S709).
本発明によれば、M≦Nとなる場合に限り、リード発行(S709)を行うので、受信バッファ(保持手段)206にオーバーフローを発生させることがない。従って、CPU101及びDMA102は、受信バッファ(保持手段)206にオーバーフローを発生させることなく、リードリクエストを連続的に発行することができる。
According to the present invention, since read issuance (S709) is performed only when M ≦ N, an overflow does not occur in the reception buffer (holding means) 206. Therefore, the
また、CPU101及びDMA102は、Busy信号生成手段204によりBusy信号が生成されたか否か(すなわち、バスaがBusy状態であるか否か)に基づいて、リードリクエストを発行する。すなわち、CPU101及びDMA102は、バスaがBusy状態でない場合は、リードリクエストサイズを算出することなく、リードリクエストを発行する。従って、CPU101及びDMA102は、リードリクエストサイズを算出するための処理を行う必要がなく、余分な負荷を与えることがない。
Further, the
100 情報処理装置
101、103 CPU
102 DMA
104 インタフェースコントローラ
105 RAM
106 バスa
110 記憶装置
111 記憶装置のインタフェースコントローラ
112 記憶部
113 バスb
100
102 DMA
104
106 Bus a
110
Claims (5)
前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、
前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行う制御手段と、を備えたことを特徴とするインタフェースコントローラ。 An interface controller connected to a read request device that makes a read request to a storage device that stores data,
Holding means for holding a read response of the storage device in response to a read request transmitted from the read request device;
An interface controller comprising: control means for granting a read request to the read request device based on a capacity, a read request size, and a read response size of the holding means.
前記制御手段は、発行済リードリクエストのリードリクエストサイズの合計値を蓄積する第1蓄積手段と、処理済リードレスポンスのリードレスポンスサイズの合計値を蓄積する第2蓄積手段と、を含み、該第1蓄積手段に蓄積された合計値と該第2蓄積手段に蓄積された合計値とに基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするインタフェースコントローラ。 The interface controller according to claim 1,
The control means includes first storage means for storing a total value of read request sizes of issued read requests, and second storage means for storing a total value of read response sizes of processed read responses. An interface controller, wherein a read request is granted to the read request device based on a total value stored in one storage means and a total value stored in the second storage means.
前記制御手段は、さらに、前記リードリクエスト装置から送信されたリードリクエストのリードリクエストサイズと前記第1蓄積手段に蓄積された合計値との和を算出する第1算出手段と、前記保持手段の容量と前記第2蓄積手段に蓄積された合計値との和を算出する第2算出手段と、該第1算出手段の算出結果と該第2算出手段の算出結果とを比較する比較手段と、を含み、該比較手段の比較結果に基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするインタフェースコントローラ。 The interface controller according to claim 2,
The control means further includes a first calculation means for calculating a sum of a read request size of the read request transmitted from the read request device and a total value stored in the first storage means, and a capacity of the holding means. And a second calculating means for calculating the sum of the total value accumulated in the second accumulating means, and a comparing means for comparing the calculation result of the first calculating means with the calculation result of the second calculating means. And an interface controller that performs a read request permission to the read request device based on a comparison result of the comparison means.
前記リードリクエスト装置から送信されたリードリクエストに対する前記記憶装置のリードレスポンスを保持手段に保持し、
前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置にリードリクエスト許可を行うことを特徴とするリードアクセス制御方法。 A read access control method for controlling a read request of a read request device for a storage device storing data,
Holding a read response of the storage device to the read request transmitted from the read request device in a holding unit;
A read access control method, wherein a read request is granted to the read request device based on a capacity, a read request size, and a read response size of the holding unit.
リードリクエスト許可に応じて前記記憶装置に対するリードリクエストを行うリードリクエスト装置と、
前記リードリクエストに対する前記記憶装置のリードレスポンスを保持する保持手段と、前記保持手段の容量、リードリクエストサイズ及びリードレスポンスサイズに基づいて、前記リードリクエスト装置に前記リードリクエスト許可を行う制御手段と、を含むインタフェースコントローラと、を備えたことを特徴とする情報処理装置。 An information processing apparatus connectable to a storage device for storing data,
A read request device that makes a read request to the storage device in response to a read request permission;
Holding means for holding a read response of the storage device with respect to the read request, and control means for granting the read request to the read request apparatus based on a capacity, a read request size, and a read response size of the holding means; And an interface controller including the information processing apparatus.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006334525A JP2008146459A (en) | 2006-12-12 | 2006-12-12 | Interface controller, read access control method, and information processing apparatus including the interface controller |
| 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 (en) | 2006-12-12 | 2006-12-12 | Interface controller, read access control method, and information processing apparatus including the interface controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008146459A true JP2008146459A (en) | 2008-06-26 |
Family
ID=39499639
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006334525A Pending JP2008146459A (en) | 2006-12-12 | 2006-12-12 | Interface controller, read access control method, and information processing apparatus including the interface controller |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7721026B2 (en) |
| JP (1) | JP2008146459A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009015783A (en) * | 2007-07-09 | 2009-01-22 | Toshiba Corp | Interface controller |
| JP2024059122A (en) * | 2022-10-18 | 2024-05-01 | 株式会社デンソー | Input/Output Control Unit |
Family Cites Families (7)
| 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 (en) * | 1998-12-08 | 2008-07-02 | 日本テキサス・インスツルメンツ株式会社 | Data processing device |
| 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 (en) | 2004-05-07 | 2005-11-17 | Sony Corp | Recording / reproducing apparatus and method |
| JP4574408B2 (en) * | 2005-03-24 | 2010-11-04 | 株式会社日立製作所 | Storage system control technology |
-
2006
- 2006-12-12 JP JP2006334525A patent/JP2008146459A/en active Pending
-
2007
- 2007-12-10 US US11/953,618 patent/US7721026B2/en not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009015783A (en) * | 2007-07-09 | 2009-01-22 | Toshiba Corp | Interface controller |
| JP2024059122A (en) * | 2022-10-18 | 2024-05-01 | 株式会社デンソー | Input/Output Control Unit |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080140882A1 (en) | 2008-06-12 |
| US7721026B2 (en) | 2010-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9411753B2 (en) | Systems and methods for dynamically determining a priority for a queue of commands | |
| EP3255553B1 (en) | Transmission control method and device for direct memory access | |
| EP2902914B1 (en) | Data transmission method and device | |
| CN111723030A (en) | Memory system and control method of memory system | |
| CN109408428B (en) | Control method and device for direct memory access and physical layer accelerator card | |
| US20150293721A1 (en) | Semiconductor device including a plurality of function blocks | |
| JP2008234059A (en) | Data transfer apparatus and information processing system | |
| JP2008146459A (en) | Interface controller, read access control method, and information processing apparatus including the interface controller | |
| JPWO2015155850A1 (en) | Input/output device and method | |
| JP6331944B2 (en) | Information processing apparatus, memory control apparatus, and information processing apparatus control method | |
| JP2018106222A5 (en) | ||
| US9910812B2 (en) | Initiating multiple data transactions on a system bus | |
| JP5101195B2 (en) | Interface controller | |
| JP5908416B2 (en) | Interface control device, data storage device, and interface control method | |
| EP2413248A1 (en) | Direct memory access device for multi-core system and operating method of the same | |
| JP2015201104A (en) | Terminal device, information management device, terminal program, information management program, and system | |
| KR20160140038A (en) | Vehicle Terminal System for Freight Transport Safety | |
| EP2503746A1 (en) | Data transfer apparatus, data transfer method, and information processing apparatus | |
| US20090031101A1 (en) | Data processing system | |
| JP3674207B2 (en) | Peripheral device and buffer control method in half-duplex communication system | |
| JP4689257B2 (en) | Bus control device and information processing system | |
| KR102346629B1 (en) | Method and apparatus for controlling access for memory | |
| KR101949123B1 (en) | Apparatus and method for data decoding | |
| JP2011142563A (en) | Data receiving device and method | |
| CN116820340A (en) | Data storage control device and electronic equipment |