JP5085463B2 - Information transfer circuit, information processing apparatus, information transfer circuit control method, control program, and recording medium - Google Patents

Information transfer circuit, information processing apparatus, information transfer circuit control method, control program, and recording medium Download PDF

Info

Publication number
JP5085463B2
JP5085463B2 JP2008207945A JP2008207945A JP5085463B2 JP 5085463 B2 JP5085463 B2 JP 5085463B2 JP 2008207945 A JP2008207945 A JP 2008207945A JP 2008207945 A JP2008207945 A JP 2008207945A JP 5085463 B2 JP5085463 B2 JP 5085463B2
Authority
JP
Japan
Prior art keywords
information transfer
buffer
buffer area
transfer circuit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008207945A
Other languages
Japanese (ja)
Other versions
JP2010044569A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008207945A priority Critical patent/JP5085463B2/en
Publication of JP2010044569A publication Critical patent/JP2010044569A/en
Application granted granted Critical
Publication of JP5085463B2 publication Critical patent/JP5085463B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、情報転送回路、情報処理装置、情報転送回路の制御方法、制御プログラム及び記録媒体に関し、特に一の物理的な通信バスを複数のバッファが共用することにより仮想的に独立した複数の通信バスとして用いる際のバッファの有効利用に関する。   The present invention relates to an information transfer circuit, an information processing apparatus, a control method for an information transfer circuit, a control program, and a recording medium, and more particularly, a plurality of virtually independent multiple physical buffers shared by a plurality of buffers. The present invention relates to effective use of buffers when used as a communication bus.

PCI Express規格等のシリアル通信を用いた情報転送においては、VC(Virtual Channel:仮想通信バス)による情報転送が行なわれる。VCとは、一の物理的な通信バスを複数のバッファが共用することにより、仮想的に独立した複数の情報通信バスを実現するものである(例えば、特許文献1参照)。VCのチャネル数、即ち、仮想的な通信バスの数は、VCを実現するための上記のバッファ(以降、VC用バッファとする)の数によって決まる。
特開2005−332316号公報
In information transfer using serial communication such as the PCI Express standard, information transfer is performed using a VC (Virtual Channel: virtual communication bus). The VC realizes a plurality of virtually independent information communication buses by sharing a single physical communication bus with a plurality of buffers (see, for example, Patent Document 1). The number of VC channels, that is, the number of virtual communication buses, is determined by the number of buffers (hereinafter referred to as VC buffers) for realizing VC.
JP 2005-332316 A

従来のVCによる情報転送において、VCのチャネル数は、情報転送を行なう2つのデバイスに夫々実装されたVC用バッファ数のうち、少ない方の数に合わせられていた。そのため、2つのデバイスに実装されたVC用バッファの数が異なる場合、VC用バッファが多く実装されたデバイスの余分なVC用バッファは利用されていなかった。これにより、装置に含まれるリソースに無駄が生じていた。   In conventional information transfer by VC, the number of VC channels is adjusted to the smaller number of VC buffers mounted in two devices that perform information transfer, respectively. For this reason, when the number of VC buffers mounted on two devices is different, an extra VC buffer of a device on which many VC buffers are mounted has not been used. As a result, resources included in the apparatus are wasted.

本発明は、上記実情を考慮してなされたものであり、一の物理的なシリアル通信バスを複数のバッファが共用することにより仮想通信バスを実現する情報転送において、情報転送バッファを有効利用することを目的とする。   The present invention has been made in consideration of the above circumstances, and effectively uses an information transfer buffer in information transfer that realizes a virtual communication bus by sharing a single physical serial communication bus with a plurality of buffers. For the purpose.

上記課題を解決するために、請求項1に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、前記情報転送回路に含まれる複数の仮想通信用バッファ領域は、前記対向装置に含まれる複数の仮想通信用バッファ領域とのネゴシエーション処理において夫々の仮想通信用バッファ領域毎にネゴシエーション処理が実行され、前記余分バッファ領域割り当て部は、前記情報転送回路に含まれる複数の仮想通信用バッファ領域のうち、最初にネゴシエーション処理が実行される仮想通信用バッファ領域以外の仮想通信用バッファ領域を拡張する領域として、前記余分バッファ領域を割り当てることを特徴とする。
また、請求項2に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部と、前記情報転送回路に含まれる複数の仮想通信用バッファ領域と前記対向装置に含まれる複数の仮想通信用バッファ領域とのネゴシエーション処理を実行するネゴシエーション処理部とを有し、前記ネゴシエーション処理部は、前記情報転送回路に含まれる仮想通信用バッファ領域に関する情報を含むネゴシエーション情報を送信することにより前記ネゴシエーション処理を実行し、前記ネゴシエーション情報は、前記情報転送回路に含まれる仮想通信用バッファ領域の数の情報を含むことを特徴とする。
また、請求項3に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、前記情報転送回路に含まれる複数の仮想通信用バッファ領域は、前記対向装置に含まれる複数の仮想通信用バッファ領域とのネゴシエーション処理において夫々の仮想通信用バッファ領域毎にネゴシエーション処理が実行され、前記情報転送回路に含まれる複数の仮想通信用バッファ領域のうち、最初にネゴシエーション処理が実行される仮想通信用バッファ領域を前記ネゴシエーション処理の後に初期化するバッファ領域初期化部を更に有し、前記余分バッファ領域割り当て部は、前記使用バッファ領域として用いられる前記仮想通信用バッファ領域のうち前記ネゴシエーション処理が最初に実行される仮想通信用バッファ領域を含む仮想通信用バッファ領域を拡張する領域として、前記余分バッファ領域を割り当てることを特徴とする。
また、請求項4に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、前記余分バッファ領域割り当て部は、前記余分バッファ領域と前記情報転送バッファ領域とを関連付ける情報を生成することにより、前記情報転送バッファ領域を拡張するための領域として前記余分バッファ領域を割り当てることを特徴とする。
また、請求項5に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、前記余分バッファ領域割り当て部は、前記情報転送バッファ領域と前記余分バッファ領域との接続を切り換えることにより、前記情報転送バッファ領域を拡張するための領域として前記余分バッファ領域を割り当てることを特徴とする。
また、請求項6に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、前記情報転送回路が前記対向装置との間で情報転送をする際の情報の方式に関する情報を記憶している方式情報記憶部と、前記余分バッファ割り当て部による前記余分バッファ領域の割り当て結果に応じて前記方式情報記憶部に記憶されている情報を更新する方式情報更新部とを更に有することを特徴とする。
また、請求項7に記載の発明は、請求項6に記載の情報転送回路において、前記方式情報が、1つのパケットに含めることができる情報容量に関する容量情報を含み、前記方式情報更新部は、前記容量情報を更新することを特徴とする。
また、請求項8に記載の発明は、請求項7に記載の情報転送回路において、前記余分バッファ領域割り当て部が、前記余分バッファ領域割り当て部は、前記使用バッファ領域若しくは前記情報転送回路が情報転送を実行する際のリトライに用いられるリトライバッファ領域の少なくとも一方を拡張する領域として前記余分バッファ領域を割り当て、前記方式情報更新部が、前記余分バッファ領域割り当て部が前記使用バッファ領域及び前記リトライバッファ領域の両方を拡張する領域として前記余分バッファ領域を割り当てた場合に、前記1つのパケットに含めることができる情報容量を増やすように前記容量情報を更新することを特徴とする。
In order to solve the above problem, the invention described in claim 1 is a plurality of information communication buses virtually independent by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. An information transfer circuit for realizing a virtual communication bus, the counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in a counter device connected via the serial communication bus as the counter buffer number, When the number of recognized counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual buffers for virtual communication as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A used buffer determining unit that determines a buffer area as a used buffer area to be used for the virtual communication bus; and a virtual buffer included in the information transfer circuit. Extra buffer region other than the use buffer area of the credit buffer area, have a and extra buffer space allocation unit for allocating a region for expanding the information transfer buffer area used when the information transfer circuit to perform the information transfer A plurality of virtual communication buffer areas included in the information transfer circuit are subjected to a negotiation process for each virtual communication buffer area in a negotiation process with a plurality of virtual communication buffer areas included in the opposite device, The extra buffer area allocating unit is an area that extends a virtual communication buffer area other than the virtual communication buffer area in which a negotiation process is first executed among a plurality of virtual communication buffer areas included in the information transfer circuit. , and allocating the extra buffer area
The invention according to claim 2 realizes a virtual communication bus which is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. An information transfer circuit, a counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in a counter device connected via the serial communication bus as a counter buffer number, and the number of counter buffers recognized Is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the virtual communication buffer areas equal in number to the counter buffers are included in the virtual communication buffer areas included in the information transfer circuit. A used buffer determining unit for determining a used buffer area for the bus, and a virtual communication buffer area included in the information transfer circuit. An extra buffer area allocation unit that allocates an extra buffer area other than the used buffer area as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer, and the information transfer circuit. A negotiation processing unit that executes negotiation processing between the plurality of virtual communication buffer areas and the plurality of virtual communication buffer areas included in the opposite device, and the negotiation processing unit is included in the information transfer circuit The negotiation processing is executed by transmitting negotiation information including information related to a virtual communication buffer area, and the negotiation information includes information on the number of virtual communication buffer areas included in the information transfer circuit. To do.
The invention according to claim 3 realizes a virtual communication bus which is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. An information transfer circuit, a counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in a counter device connected via the serial communication bus as a counter buffer number, and the number of counter buffers recognized Is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the virtual communication buffer areas equal in number to the counter buffers are included in the virtual communication buffer areas included in the information transfer circuit. A used buffer determining unit for determining a used buffer area for the bus, and a virtual communication buffer area included in the information transfer circuit. An extra buffer area allocating unit that allocates an extra buffer area other than the used buffer area as an area for expanding an information transfer buffer area used when the information transfer circuit executes information transfer. A plurality of virtual communication buffer areas included in the circuit are negotiated with each of the virtual communication buffer areas in the negotiation process with the plurality of virtual communication buffer areas included in the opposite device, and the information transfer circuit A buffer area initialization unit that initializes a virtual communication buffer area that is initially negotiated after the negotiation process among the plurality of virtual communication buffer areas included in Unit is used as the used buffer area As an area where the negotiation process of the credit buffer area extends the first virtual communication buffer area including a virtual communication buffer area is performed, and allocates the extra buffer area.
The invention according to claim 4 realizes a virtual communication bus which is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. An information transfer circuit, a counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in a counter device connected via the serial communication bus as a counter buffer number, and the number of counter buffers recognized Is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the virtual communication buffer areas equal in number to the counter buffers are included in the virtual communication buffer areas included in the information transfer circuit. A used buffer determining unit for determining a used buffer area for the bus, and a virtual communication buffer area included in the information transfer circuit. An extra buffer area allocating unit that allocates an extra buffer area other than the used buffer area as an area for expanding an information transfer buffer area used when the information transfer circuit executes information transfer. The area allocation unit allocates the extra buffer area as an area for expanding the information transfer buffer area by generating information associating the extra buffer area with the information transfer buffer area.
The invention according to claim 5 realizes a virtual communication bus which is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. An information transfer circuit, a counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in a counter device connected via the serial communication bus as a counter buffer number, and the number of counter buffers recognized Is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the virtual communication buffer areas equal in number to the counter buffers are included in the virtual communication buffer areas included in the information transfer circuit. A used buffer determining unit for determining a used buffer area for the bus, and a virtual communication buffer area included in the information transfer circuit. An extra buffer area allocating unit that allocates an extra buffer area other than the used buffer area as an area for expanding an information transfer buffer area used when the information transfer circuit executes information transfer. The area allocation unit allocates the extra buffer area as an area for expanding the information transfer buffer area by switching the connection between the information transfer buffer area and the extra buffer area.
The invention according to claim 6 realizes a virtual communication bus which is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. An information transfer circuit, a counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in a counter device connected via the serial communication bus as a counter buffer number, and the number of counter buffers recognized Is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the virtual communication buffer areas equal in number to the counter buffers are included in the virtual communication buffer areas included in the information transfer circuit. A used buffer determining unit for determining a used buffer area for the bus, and a virtual communication buffer area included in the information transfer circuit. An extra buffer area allocating unit that allocates an extra buffer area other than the used buffer area as an area for expanding an information transfer buffer area used when the information transfer circuit executes information transfer. A method information storage unit that stores information on a method of information when the circuit transfers information to and from the opposite device, and the method information according to the allocation result of the extra buffer area by the extra buffer allocation unit And a method information updating unit for updating information stored in the storage unit.
Further, the invention according to claim 7 is the information transfer circuit according to claim 6, wherein the method information includes capacity information relating to an information capacity that can be included in one packet, and the method information update unit includes: The capacity information is updated.
The invention according to claim 8 is the information transfer circuit according to claim 7, wherein the extra buffer area allocating unit is configured to transfer information to the used buffer area or the information transfer circuit. The extra buffer area is allocated as an area that expands at least one of the retry buffer areas used for retry when executing the process, and the method information update unit is configured to use the extra buffer area and the retry buffer area. When the extra buffer area is allocated as an area for extending both, the capacity information is updated so as to increase the information capacity that can be included in the one packet.

また、請求項に記載の発明は、請求項1乃至8いずれか1項に記載の情報転送回路において、前記余分バッファ領域割り当て部が、前記使用バッファ領域を拡張するための領域として前記余分バッファ領域を割り当てることを特徴とする。 The invention according to claim 9 is the information transfer circuit according to any one of claims 1 to 8 , wherein the extra buffer area allocating unit uses the extra buffer area as an area for expanding the used buffer area. An area is allocated.

また、請求項10に記載の発明は、請求項1乃至いずれか1項に記載の情報転送回路において、前記余分バッファ領域割り当て部が、前記情報転送回路が情報転送を実行する際のリトライに用いられるバッファ領域を拡張する領域として前記余分バッファ領域を割り当てることを特徴とする。 According to a tenth aspect of the present invention, in the information transfer circuit according to any one of the first to ninth aspects, the extra buffer area allocating unit performs a retry when the information transfer circuit executes information transfer. The extra buffer area is allocated as an area for expanding a buffer area to be used.

また、請求項1に記載の発明は、請求項1乃至1いずれか1項に記載の情報転送回路において、前記余分バッファ領域割り当て部が、前記情報転送回路による情報転送の実行に応じて前記余分バッファ領域を動的に割り当てることを特徴とする。 Further, an invention according to claim 1 1, in the information transfer circuit according to any one of claims 1 to 1 0, wherein the additional buffer area allocation unit, depending on the execution of the information transfer according to the information transfer circuit The extra buffer area is dynamically allocated.

また、請求項1に記載の発明は、情報処理装置であって、請求項1乃至1いずれか1項に記載の情報転送回路を含むことを特徴とする。
また、請求項13に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路の制御方法であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識し、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定し、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域と前記情報転送バッファ領域とを関連付ける情報を生成することにより、前記余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てることを特徴とする。
The invention described in Claim 1 2 is an information processing apparatus, characterized in that it comprises a information transfer circuit according to any one of claims 1 to 1 1.
The invention according to claim 13 realizes a virtual communication bus which is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. A method of controlling an information transfer circuit, wherein the number of virtual communication buffer areas included in a counter device connected via the serial communication bus is recognized as a counter buffer number, and the recognized counter buffer number is the information When the number of virtual communication buffer areas included in the transfer circuit is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communication buffer areas as the counter buffer are included in the virtual communication bus. Used as a buffer area to be used for the virtual communication, and the virtual communication buffer area included in the information transfer circuit is an extra buffer area other than the buffer area to be used By generating information associating a buffer area with the information transfer buffer area, the extra buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit executes information transfer. It is characterized by.

また、請求項14に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路の制御方法であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識し、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定し、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当て、前記情報転送回路が前記対向装置との間で情報転送をする際の情報の方式に関する情報を記憶している方式情報記憶部に記憶されている情報を、前記余分バッファ割り当て部による前記余分バッファ領域の割り当て結果に応じて更新することを特徴とする。 The invention according to claim 14 realizes a virtual communication bus which is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas. A method of controlling an information transfer circuit, wherein the number of virtual communication buffer areas included in a counter device connected via the serial communication bus is recognized as a counter buffer number, and the recognized counter buffer number is the information When the number of virtual communication buffer areas included in the transfer circuit is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communication buffer areas as the counter buffer are included in the virtual communication bus. Used as a buffer area to be used for the virtual communication, and the virtual communication buffer area included in the information transfer circuit is an extra buffer area other than the buffer area to be used The Ffa area, said information transfer circuit allocated as an area for expanding the information transfer buffer area used for executing the information transfer, the information when the information transfer circuit to transfer information to and from the opposite device the information stored in the system information storage unit that stores information about the system, characterized that you updated according to the allocation result of the extra buffer area by the extra buffer allocation unit.

また、請求項15に記載の発明は、制御プログラムであって、請求項13または14に記載の情報転送回路の制御方法を情報処理装置に実行させることを特徴とする。 The invention described in claim 15 is a control program, characterized by causing an information processing apparatus to execute the method for controlling an information transfer circuit according to claim 13 or 14.

また、請求項16に記載の発明は、記録媒体であって、請求項15に記載の制御プログラムを情報処理装置が読み取り可能な形式で記録したことを特徴とする。   The invention according to claim 16 is a recording medium, wherein the control program according to claim 15 is recorded in a format readable by the information processing apparatus.

本発明によれば、一の物理的なシリアル通信バスを複数のバッファが共用することにより仮想通信バスを実現する情報転送において、バッファを有効利用することが可能となる。   According to the present invention, a buffer can be effectively used in information transfer for realizing a virtual communication bus by sharing a single physical serial communication bus with a plurality of buffers.

以下、図面を参照して、本発明の実施形態を詳細に説明する。
実施の形態1.
本実施形態においては、仮想通信バスを実現する情報転送回路を含む画像処理装置1を例として説明する。本実施形態に係る画像処理装置1は、スキャナ、プリンタ及び複写機としての機能を有する複合機として構成される。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1 FIG.
In the present embodiment, an image processing apparatus 1 including an information transfer circuit that implements a virtual communication bus will be described as an example. The image processing apparatus 1 according to the present embodiment is configured as a multifunction machine having functions as a scanner, a printer, and a copier.

図1は、本実施形態に係る情報転送回路が用いられる画像処理装置1のハードウェア構成を示すブロック図である。図1に示すように、本実施形態に係る画像処装置1は、一般的なサーバやPC(Personal Computer)等の情報処理端末と同様の構成を含む。即ち、本実施形態に係る情報転送回路は、PC等の一般的な情報処理装置にも適用可能である。   FIG. 1 is a block diagram illustrating a hardware configuration of an image processing apparatus 1 in which the information transfer circuit according to the present embodiment is used. As shown in FIG. 1, the image processing apparatus 1 according to the present embodiment includes the same configuration as an information processing terminal such as a general server or a PC (Personal Computer). That is, the information transfer circuit according to the present embodiment can be applied to a general information processing apparatus such as a PC.

即ち、本実施形態に係る画像処理装置1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、エンジン30、HDD(Hard Disk Drive)40、ROM(Read Only Memory)50、NVRAM(Non―Volatile Random Access Memory)60及びI/F70がバスBを介して接続されている。また、I/F70にはLCD(Liquid Crystal Display)80及び操作部90が接続されている。   That is, the image processing apparatus 1 according to the present embodiment includes a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 20, an engine 30, an HDD (Hard Disk Drive) 40, a ROM (Read Only Memory) 50, and an NVRAM (Non-volatile Memory). Non-Volatile Random Access Memory) 60 and I / F 70 are connected via a bus B. Further, an LCD (Liquid Crystal Display) 80 and an operation unit 90 are connected to the I / F 70.

CPU10は演算手段であり、情報処理装置1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。エンジン30は、スキャナやプリンタ等の画像処理機能を実行する画像処理エンジンである。HDD40は、磁気記録媒体を用いた大容量記憶装置である。ROM50は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。   The CPU 10 is a calculation unit and controls the operation of the information processing apparatus 1 as a whole. The RAM 20 is a volatile storage medium capable of reading and writing information at high speed, and is used as a work area when the CPU 10 processes information. The engine 30 is an image processing engine that executes an image processing function such as a scanner or a printer. The HDD 40 is a mass storage device using a magnetic recording medium. The ROM 50 is a read-only nonvolatile storage medium, and stores programs such as firmware.

NVRAM60は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム及びアプリケーション・プログラムの動作パラメータの情報等が格納される。I/F70は、バスBと各種のハードウェアやネットワーク等を接続し制御する。本実施形態に係る情報転送回路は、I/F70に含まれる。LCD80は、ユーザが画像処理装置1の状態を確認するための視覚的ユーザインタフェースである。操作部90は、キーボードやマウス等、ユーザが画像処理装置1に情報を入力するためのユーザインタフェースである。   The NVRAM 60 is a non-volatile storage medium capable of reading and writing information, and stores an OS (Operating System), various control programs, application programs, information on operation parameters of the application programs, and the like. The I / F 70 connects and controls the bus B and various hardware and networks. The information transfer circuit according to the present embodiment is included in the I / F 70. The LCD 80 is a visual user interface for the user to check the state of the image processing apparatus 1. The operation unit 90 is a user interface such as a keyboard and a mouse for a user to input information to the image processing apparatus 1.

次に、本実施形態に係るI/F70に含まれる情報転送回路について、詳細に説明する。図2は、本実施形態に係るI/F70のうち、LCD80との接続部分を示す図である。図2に示すように、本実施形態に係るI/F70は、情報転送回路100及びVGA(Video Graphics Array)200を有する。本実施形態に係る情報転送回路100とVGA200とは、高速シリアル通信の規格であるPCI Expressに従って情報の送受信を行なう。   Next, the information transfer circuit included in the I / F 70 according to the present embodiment will be described in detail. FIG. 2 is a diagram showing a connection portion with the LCD 80 in the I / F 70 according to the present embodiment. As shown in FIG. 2, the I / F 70 according to the present embodiment includes an information transfer circuit 100 and a VGA (Video Graphics Array) 200. The information transfer circuit 100 and the VGA 200 according to the present embodiment perform transmission / reception of information according to PCI Express, which is a standard for high-speed serial communication.

情報転送回路100は、コントローラ101、トランザクション層制御部102、データリンク層制御部103、物理層制御部104及び接続部105を有する。また、VGA200は、コントローラ201、トランザクション層制御部202、データリンク層制御部203、物理層制御部204及び接続部205を有する。情報転送回路100とVGA200とにおいて、同一の名称を付す構成は同一若しくは対応した機能を担う。従って、以下の説明においては、情報転送回路100についてのみ説明するが、VGA200においても同様である。   The information transfer circuit 100 includes a controller 101, a transaction layer control unit 102, a data link layer control unit 103, a physical layer control unit 104, and a connection unit 105. The VGA 200 includes a controller 201, a transaction layer control unit 202, a data link layer control unit 203, a physical layer control unit 204, and a connection unit 205. In the information transfer circuit 100 and the VGA 200, configurations having the same names bear the same or corresponding functions. Therefore, in the following description, only the information transfer circuit 100 will be described, but the same applies to the VGA 200.

コントローラ101は、情報転送回路100において最も上位の構成であり、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、RAM等に読み出された制御用プログラムが、CPUに従って動作することにより、コントローラ101が構成される。コントローラ101は、情報転送回路101において、バスBを介してCPU10とのやり取りを実行する。接続部105は、情報転送回路100とVGA200とを実際に接続する接続端子を含む。   The controller 101 has the highest configuration in the information transfer circuit 100, and is configured by a combination of software and hardware. Specifically, the controller 101 is configured by a control program read into a RAM or the like operating according to the CPU. The controller 101 executes exchange with the CPU 10 via the bus B in the information transfer circuit 101. Connection unit 105 includes a connection terminal that actually connects information transfer circuit 100 and VGA 200.

本実施形態のようにPCI Express規格のアーキテクチャにおいて中心となるのは、トランザクション層、データリンク層及び物理層である。トランザクション層制御部102、データリンク層制御部103及び物理層制御部104は、夫々トランザクション層、データリンク層及び物理層の動作を制御する。   The core of the PCI Express standard architecture as in this embodiment is the transaction layer, the data link layer, and the physical layer. The transaction layer control unit 102, the data link layer control unit 103, and the physical layer control unit 104 control operations of the transaction layer, the data link layer, and the physical layer, respectively.

トランザクション層制御部102は、TLP(Transaction Layer Packet:トランザクション・レイヤ・パケット)の組み立て及び分解を行なう。TLPとは、PCI Express規格の通信において、情報の送受信やイベントのようなトランザクションの伝達に用いられるパケットである。また、トランザクション層制御部102は、本実施形態の要旨となるVCを制御する構成を含む。   The transaction layer control unit 102 assembles and disassembles a TLP (Transaction Layer Packet). The TLP is a packet used for transmission of information such as information transmission / reception or an event in communication of the PCI Express standard. Further, the transaction layer control unit 102 includes a configuration for controlling the VC that is the gist of the present embodiment.

データリンク層制御部103は、情報転送のエラー検出、エラー訂正若しくはリトライ処理を実行する。これにより、データリンク層制御部103は、TLPの完全性を保証する。また、データリンク層制御部103は、リンク管理を行なう。即ち、データリンク層制御部103は、リンク管理やフロー制御のためのパケットのやり取りを行なう。データリンク制御部103が処理するパケットは、DLLP(Data Link Layer Packet:データ・リンク・レイヤ・パケット)である。   The data link layer control unit 103 executes error detection, error correction, or retry processing for information transfer. As a result, the data link layer control unit 103 ensures the integrity of the TLP. The data link layer control unit 103 performs link management. That is, the data link layer control unit 103 exchanges packets for link management and flow control. A packet processed by the data link control unit 103 is a DLLP (Data Link Layer Packet).

物理層制御部104は、インタフェース動作に必要な回路を含む。物理層制御部104が含む回路は、ドライバ、入力バッファ、パラレル/シリアル変換機、PLL(Phase−Locked Loop:位相同期回路)及びインピーダンス整合回路等である。また、物理層制御部104は、インタフェースの初期化、保守の機能を有する。更に、物理層制御部104は、データリンク層制御部103及びトランザクション層制御部102を実際のリンクで使用される信号技術から独立させる機能を有する。   The physical layer control unit 104 includes a circuit necessary for interface operation. Circuits included in the physical layer control unit 104 include a driver, an input buffer, a parallel / serial converter, a PLL (Phase-Locked Loop), an impedance matching circuit, and the like. The physical layer control unit 104 has interface initialization and maintenance functions. Further, the physical layer control unit 104 has a function of making the data link layer control unit 103 and the transaction layer control unit 102 independent of the signal technology used in the actual link.

このような情報転送回路100において、上述したように、トランザクション層制御部102に含まれるVCを制御する構成及び動作が本実施形態の要旨となる。図3を参照して、トランザクション層制御部102の詳細について説明する。図3は、本実施形態に係るトランザクション層制御部102の構成を示すブロック図である。図3に示すように、トランザクション層制御部02は、VCコントローラ120、VC用バッファ21〜27、信号分配・混合器125を含む。また、VCコントローラ120は、情報転送制御部121、VC確立部122、使用バッファ認識部123VCバッファ管理部124を含む。   In such an information transfer circuit 100, as described above, the configuration and operation of controlling the VC included in the transaction layer control unit 102 is the gist of the present embodiment. Details of the transaction layer control unit 102 will be described with reference to FIG. FIG. 3 is a block diagram showing a configuration of the transaction layer control unit 102 according to the present embodiment. As shown in FIG. 3, the transaction layer control unit 02 includes a VC controller 120, VC buffers 21 to 27, and a signal distributor / mixer 125. Further, the VC controller 120 includes an information transfer control unit 121, a VC establishment unit 122, and a used buffer recognition unit 123 VC buffer management unit 124.

VCコントローラ120は、トランザクション層制御部102において、VCを制御して情報転送を行なう。VCコントローラ120及びVCコントローラ120に含まれる各要素は、ソフトウェアとハードウェアとの組み合わせによって実現される。即ち、具体的には、RAM等に読み出された制御用プログラムが、CPU等の演算手段に従って動作することにより、VCコントローラ120が構成される。情報転送制御部121は、TLPを生成し、VC用バッファ21〜27を介して送出する。また、情報転送制御部121は、VC用バッファ21〜27を介して受信したTLPを分解する。   The VC controller 120 controls the VC in the transaction layer control unit 102 to transfer information. The VC controller 120 and each element included in the VC controller 120 are realized by a combination of software and hardware. Specifically, the VC controller 120 is configured by a control program read to a RAM or the like operating according to a calculation unit such as a CPU. The information transfer control unit 121 generates a TLP and sends it out through the VC buffers 21 to 27. In addition, the information transfer control unit 121 decomposes the TLP received via the VC buffers 21 to 27.

VC確立部122は、接続部105を介して接続された対向デバイス(本実施形態においてはVGA200)との間でVCを確立する。使用バッファ認識部123は、VC確立部122によるVCの確立結果に応じて、VCの数を認識する。VCバッファ管理部124は、使用バッファ認識部123によるVC数の認識結果に応じて、VC用バッファ21〜27を管理する。VCバッファ管理部124の機能が本実施形態の要旨の一つとなる。   The VC establishment unit 122 establishes a VC with the opposite device (VGA 200 in the present embodiment) connected via the connection unit 105. The used buffer recognition unit 123 recognizes the number of VCs according to the VC establishment result by the VC establishment unit 122. The VC buffer management unit 124 manages the VC buffers 21 to 27 according to the recognition result of the number of VCs by the used buffer recognition unit 123. The function of the VC buffer management unit 124 is one of the gist of the present embodiment.

VC用バッファ21〜27は、VCを実現するために設けられた情報転送用のバッファである。VC用バッファ21〜27は、信号分配・混合器125を介して1つのシリアル通信バスに接続されている。VC用バッファ21〜27が、夫々独立して動作することにより、1つのシリアル通信バスで、仮想的に複数の独立した通信バスを実現することができる。   The VC buffers 21 to 27 are information transfer buffers provided for realizing VC. The VC buffers 21 to 27 are connected to one serial communication bus via the signal distributor / mixer 125. Since the VC buffers 21 to 27 operate independently, a plurality of independent communication buses can be virtually realized by one serial communication bus.

VC用バッファ21〜27は、夫々VC0〜VC6までの各チャネルに対応している。信号分配・混合器125は、1つのシリアル通信バスの信号をVC用バッファ21〜27に夫々分配する。また、信号分配・混合器125は、VCバッファ21〜27の信号を混合して1つのシリアル通信バスに入力する。   The VC buffers 21 to 27 correspond to the channels VC0 to VC6, respectively. The signal distributor / mixer 125 distributes the signal of one serial communication bus to the VC buffers 21 to 27, respectively. Further, the signal distributor / mixer 125 mixes the signals of the VC buffers 21 to 27 and inputs them to one serial communication bus.

次に、本実施形態に係る情報転送回路100の初期化処理について説明する。図4は、本実施形態に係る情報転送回路100の初期化動作を示すフローチャートである。図4に示す初期化動作は、情報処理装置1への電源投入後において、I/F70のパワーオンリセット処理の一部として実行される。   Next, an initialization process of the information transfer circuit 100 according to the present embodiment will be described. FIG. 4 is a flowchart showing the initialization operation of the information transfer circuit 100 according to the present embodiment. The initialization operation shown in FIG. 4 is executed as part of the power-on reset process of the I / F 70 after the information processing apparatus 1 is powered on.

図4に示すように、情報転送回路100の初期化処理においては、先ずデータリンク層制御部103が、VC0のネゴシエーション処理を実行する(S401)。即ち、データリンク層制御部103が、ネゴシエーション処理部として機能する。ネゴシエーション処理は、情報転送回路100とVGA200との間でVCの数を相互認識する処理である。   As shown in FIG. 4, in the initialization process of the information transfer circuit 100, first, the data link layer control unit 103 executes the negotiation process of VC0 (S401). That is, the data link layer control unit 103 functions as a negotiation processing unit. The negotiation process is a process for mutually recognizing the number of VCs between the information transfer circuit 100 and the VGA 200.

S401の処理について、図5を参照して説明する。図5は、ネゴシエーション処理の態様を模式的に示す図である。図5に示すように、VC0のネゴシエーション処理は、データリンク制御部103によるリンクアップを受けて実行される。図5に示すように、ネゴシエーション処理においては、InitFC(Initialize Flow Control)というパケットがやり取りされる。即ち、InitFCがネゴシエーション情報として用いられる。本実施形態においては、InitFC1及びInitFC2がやり取りされることにより、ネゴシエーションが完了する。   The process of S401 will be described with reference to FIG. FIG. 5 is a diagram schematically showing an aspect of the negotiation process. As shown in FIG. 5, the VC0 negotiation process is executed upon link-up by the data link control unit 103. As shown in FIG. 5, in the negotiation process, a packet called InitFC (Initialize Flow Control) is exchanged. That is, InitFC is used as negotiation information. In the present embodiment, the negotiation is completed by exchanging InitFC1 and InitFC2.

図5に示すように、InitFC1を受けたVGA200のデータリンク層制御部203は、トランザクション層制御部202に含まれるVC0のVC用バッファを参照する。そして、VC0が有効であれば、データリンク層制御部203は、InitFC1を返す。その後、InitFC2のやり取りにより、VC0のネゴシエーションが完了する。   As shown in FIG. 5, the data link layer control unit 203 of the VGA 200 that has received InitFC1 refers to the VC buffer of VC0 included in the transaction layer control unit 202. If VC0 is valid, the data link layer control unit 203 returns InitFC1. After that, negotiation of VC0 is completed by the exchange of InitFC2.

InitFC1、InitFC2のパケットには、VC用バッファの容量に関する情報が含まれる。これにより、VC確立部122はは、VGA200に含まれるVC用バッファ(ここではVC0のバッファ)の容量を認識する。VC確立部122は、認識したVGA200のVC用バッファの容量に関する情報をVCバッファ管理部124に格納する。これにより、VC0による情報転送が可能となる。   InitFC1 and InitFC2 packets include information on the capacity of the VC buffer. As a result, the VC establishment unit 122 recognizes the capacity of the VC buffer (here, the buffer of VC0) included in the VGA 200. The VC establishment unit 122 stores information regarding the capacity of the recognized VC buffer of the VGA 200 in the VC buffer management unit 124. Thereby, information transfer by VC0 becomes possible.

VC0のネゴシエーションが完了すると、トランザクション層制御部102のVC確立部122が、コントローラ101の制御に基づき、コンフィグリード・ライト処理を実行する(S402)。VC確立部122は、S402において、既にネゴシエーションの完了したVC0を介して、コンフィグ情報をVGA200に送信し、VGA200からコンフィグ情報を読み出す。   When the negotiation of VC0 is completed, the VC establishment unit 122 of the transaction layer control unit 102 executes configuration read / write processing based on the control of the controller 101 (S402). In S <b> 402, the VC establishment unit 122 transmits configuration information to the VGA 200 via the VC <b> 0 that has already been negotiated, and reads the configuration information from the VGA 200.

S402においてやり取りされるコンフィグ情報には、例えば、情報転送回路100、VGA200夫々に含まれるVC用バッファの数の情報(以降、実装VC情報とする)が含まれる。これにより、VC確立部122は、VGA200に含まれるVC用バッファの数を認識することができる。即ち、VC確立部122が対向バッファ数認識部として機能する。また、VGA200は、情報転送回路100からコンフィグ情報を受信することにより、トランザクション層制御部202のVC用バッファを有効にする。   The configuration information exchanged in S402 includes, for example, information on the number of VC buffers included in the information transfer circuit 100 and the VGA 200 (hereinafter referred to as mounting VC information). Thereby, the VC establishment unit 122 can recognize the number of VC buffers included in the VGA 200. That is, the VC establishment unit 122 functions as a counter buffer number recognition unit. Also, the VGA 200 validates the VC buffer of the transaction layer control unit 202 by receiving the configuration information from the information transfer circuit 100.

コンフィグリード・ライト処理が完了すると、使用バッファ認識部123及びVCバッファ管理部124が連動して未使用バッファの割り振り処理を実行する(S403)。図6に、S403の処理の詳細を示す。図6に示すように、先ず、使用バッファ認識部123が、実装VC情報に基づいて実装VC数を認識する(S601)。ここで言う実装VC数とは、情報転送回路100、VGA200夫々に実装されたVC用バッファの数である。   When the configuration read / write processing is completed, the used buffer recognition unit 123 and the VC buffer management unit 124 work together to allocate an unused buffer (S403). FIG. 6 shows details of the processing in S403. As shown in FIG. 6, first, the use buffer recognition unit 123 recognizes the number of mounted VCs based on the mounted VC information (S601). The number of mounted VCs referred to here is the number of VC buffers mounted on the information transfer circuit 100 and the VGA 200, respectively.

次に、使用バッファ認識部123は、VC用バッファ21〜27のうち使用するバッファを決定する(S602)。S602において、使用バッファ認識部123は、VGA200に実装されたVC用バッファの数に基づいて、使用するバッファ(以降、使用バッファとする)を決定する。具体的には、使用バッファ認識部123は、VGA200に実装されたVC用バッファの数と同数の下図のVC用バッファを使用バッファとして決定する。即ち、使用バッファ認識部123が、使用バッファ決定部として機能する。   Next, the used buffer recognition unit 123 determines a buffer to be used among the VC buffers 21 to 27 (S602). In step S <b> 602, the used buffer recognition unit 123 determines a buffer to be used (hereinafter referred to as a used buffer) based on the number of VC buffers mounted on the VGA 200. Specifically, the used buffer recognizing unit 123 determines the same number of VC buffers in the lower diagram as the used buffers as the number of VC buffers mounted on the VGA 200. That is, the use buffer recognition unit 123 functions as a use buffer determination unit.

使用バッファの決定に際しては、VC0、VC1、VC2、・・・というように、番号の若いVC用バッファが優先的に使用バッファとして決定される。使用バッファ認識部123は、使用バッファを決定すると、その情報をVCバッファ管理部124に記憶させる。   In determining the use buffer, a VC buffer having a smaller number, such as VC0, VC1, VC2,. When the use buffer recognition unit 123 determines the use buffer, the use buffer recognition unit 123 stores the information in the VC buffer management unit 124.

VCバッファ管理部124は、使用バッファ数の情報を記憶すると、未使用バッファが有るか否か判断する(S603)。S603の判断の結果、未使用バッファがある場合(S603/Yes)、VCバッファ管理部124は、未使用バッファの記憶領域を使用バッファの記憶領域として割り振り(S604)、処理を終了する。即ち、VCバッファ管理部124が、余分バッファ領域割り当て部として機能する。図3に示すように、本実施形態に係るVC用バッファ21〜27は、夫々別々の記憶媒体として設けられている。S604における未使用バッファの割り振り処理においては、VCバッファ管理部124が、未使用バッファの記憶領域のアドレスを管理する情報(バッファ割り振り情報)を生成する。   After storing the information on the number of used buffers, the VC buffer management unit 124 determines whether there is an unused buffer (S603). If there is an unused buffer as a result of the determination in S603 (S603 / Yes), the VC buffer management unit 124 allocates the storage area of the unused buffer as the storage area of the used buffer (S604), and ends the process. That is, the VC buffer management unit 124 functions as an extra buffer area allocation unit. As shown in FIG. 3, the VC buffers 21 to 27 according to the present embodiment are provided as separate storage media. In the unused buffer allocation process in S604, the VC buffer management unit 124 generates information (buffer allocation information) for managing the address of the storage area of the unused buffer.

図7に、VCバッファ管理部124が生成するバッファ割り振り情報の例を示す。図7の例においては、VC0〜VC2のバッファ、即ちVC用バッファ21〜23が使用バッファであり、VC3以降のバッファ、即ちVC用バッファ24以降が未使用バッファである場合を例とする。図7に示すように、バッファ割り振り情報は、未使用バッファ、未使用バッファの記憶領域を特定するアドレス情報及び記憶領域を割り振る先のバッファの情報を含む。   FIG. 7 shows an example of buffer allocation information generated by the VC buffer management unit 124. In the example of FIG. 7, the VC0 to VC2 buffers, that is, the VC buffers 21 to 23 are used buffers, and the VC3 and later buffers, that is, the VC buffer 24 and later are unused buffers. As shown in FIG. 7, the buffer allocation information includes an unused buffer, address information for specifying a storage area of the unused buffer, and information on a buffer to which the storage area is allocated.

図7の例においては、例えば、“VC3”のバッファ、即ちVC用バッファ24のアドレス“***〜###”の領域が、VC1の記憶領域を拡張する領域として割り振られる。図7に示すバッファ割り振り情報は、VCバッファ管理部124によって生成され、情報転送制御部121に含まれる記憶領域に格納される。尚、図7に示すように、本実施形態においては、VC0が割り当て先バッファになっていない、これについては後に詳述する。   In the example of FIG. 7, for example, the buffer of “VC3”, that is, the area of addresses “*** to ##” of the VC buffer 24 is allocated as an area for expanding the storage area of VC1. The buffer allocation information shown in FIG. 7 is generated by the VC buffer management unit 124 and stored in a storage area included in the information transfer control unit 121. As shown in FIG. 7, in the present embodiment, VC0 is not an allocation destination buffer. This will be described in detail later.

他方、未使用バッファがない場合(S603/NO)、VCコントローラ120は、そのまま初期化処理を終了する。このような処理により、対向装置であるVGA200との関係で使用不可能なVC用バッファを有効利用することが可能となる。   On the other hand, when there is no unused buffer (S603 / NO), the VC controller 120 ends the initialization process as it is. Such processing makes it possible to effectively use a VC buffer that cannot be used in relation to the VGA 200 that is the opposite device.

図4の説明に戻る。未使用バッファ割り振り処理が完了すると、データリンク層制御部103は、変数nに“1”をセットし(S404)、VCnについてネゴシエーションを実行する(S405)。n=1であれば、VC1についてのネゴシエーション処理となる。図5に示すように、VC1についてのネゴシエーション処理も、VC0についてのネゴシエーション処理と同様、InitFC1及びInitFC2をやり取りすることにより完了する。   Returning to the description of FIG. When the unused buffer allocation processing is completed, the data link layer control unit 103 sets “1” in the variable n (S404), and executes negotiation for VCn (S405). If n = 1, the negotiation process for VC1 is performed. As shown in FIG. 5, the negotiation process for VC1 is completed by exchanging InitFC1 and InitFC2 as in the negotiation process for VC0.

S405のInitFCのやり取りにおいて、データリンク層制御部103は、上述したように、対応するVC用バッファの容量の情報をやり取りする。ここで、VC1以降のネゴシエーション処理において、データリンク層制御部103は、VCバッファ管理部124によって未使用バッファが割り振られた後の合計の容量をやり取りする。例えば、図7の例において、VC1のネゴシエーションを実行する場合、データリンク層制御部103は、VC1のVC用バッファ22、VC3のVC用バッファ24及びVC4のVC用バッファ25の合計の容量を、InitFCのパケットに含める。   In the exchange of InitFC in S405, the data link layer control unit 103 exchanges information on the capacity of the corresponding VC buffer as described above. Here, in the negotiation process after VC1, the data link layer control unit 103 exchanges the total capacity after the unused buffers are allocated by the VC buffer management unit 124. For example, in the example of FIG. 7, when performing VC1 negotiation, the data link layer control unit 103 determines the total capacity of the VC1 VC buffer 22, the VC3 VC buffer 24, and the VC4 VC buffer 25 as follows. Include in InitFC packet.

VC1についてのネゴシエーション処理において、VC1が有効であれば(S406/No)、VC1を有効としてネゴシエーション処理を完了する(S408)。ここで、トランザクション層制御部102に含まれる全VC用バッファについてネゴシエーションが完了した場合、即ち、n=全VC用バッファの数である場合(S409/Yes)、データリンク層制御部103は、ネゴシエーションを終了する(S407)。また、ネゴシエーション対象であるVCnが無効である場合(S406/Yes)も、ネゴシエーションを終了する(S407)。   In the negotiation process for VC1, if VC1 is valid (S406 / No), VC1 is validated and the negotiation process is completed (S408). Here, when the negotiation for all the VC buffers included in the transaction layer control unit 102 is completed, that is, when n = the number of all VC buffers (S409 / Yes), the data link layer control unit 103 performs the negotiation. Is finished (S407). Further, when the VCn to be negotiated is invalid (S406 / Yes), the negotiation is also terminated (S407).

他方、未だ全VC用バッファについてネゴシエーションが完了していなければ(S409/No)、データリンク層制御部203は、nをn+1とし(S410)、S405からの処理を繰り返す。本実施形態においては、上述したように、VC0〜VC2が有効と成る。この場合、図5に示すように、VC3についてInitFCを実行すると、VGA200においてVC3が無効であるため、VGA200はInitFCを返さない。これにより、n=3の場合においてVC3が無効(S406/Yes)と判断され、ネゴシエーション処理が終了する(S407)。尚、VC用バッファの数は、コンフィグリード&ライト処理(S402)により判明する。従って、情報転送回路100は、VC3のInitFC1を送信せずに処理を終了しても良い。これにより、不要な信号の送信を省略し、処理効率を向上することができる。   On the other hand, if the negotiation has not been completed for all the VC buffers yet (S409 / No), the data link layer control unit 203 sets n to n + 1 (S410) and repeats the processing from S405. In the present embodiment, as described above, VC0 to VC2 are effective. In this case, as shown in FIG. 5, when InitFC is executed for VC3, VGA200 does not return InitFC because VC3 is invalid in VGA200. Thereby, in the case of n = 3, it is judged that VC3 is invalid (S406 / Yes), and the negotiation process ends (S407). Note that the number of VC buffers is determined by the configuration read & write process (S402). Therefore, the information transfer circuit 100 may end the process without transmitting the VC3 InitFC1. Thereby, unnecessary signal transmission can be omitted and the processing efficiency can be improved.

このような処理により、本実施形態に係るネゴシエーション処理が完了する。図4において説明したように、本実施形態においては、VC0についてネゴシエーションを完了した後、コンフィグリード・ライトを行なう。この際、VC0を介して情報の送受信を行なうため、VC0については先にバッファ領域を確定する必要がある。具体的には、VCバッファ管理部124に、VC0のVC用バッファの記憶容量を登録する必要がある。   By such processing, the negotiation processing according to the present embodiment is completed. As described with reference to FIG. 4, in the present embodiment, configuration read / write is performed after negotiation for VC0 is completed. At this time, since information is transmitted and received through VC0, it is necessary to determine a buffer area for VC0 first. Specifically, it is necessary to register the storage capacity of the VC buffer of VC0 in the VC buffer management unit 124.

このため、VC0以外のVCに対して、VC用バッファの記憶領域を割り振る。これにより、本実施形態に係る未使用バッファの有効利用機能を容易に実装することが可能となる。尚、本実施形態においては、“VC0”と呼称しているが、これは本実施形態に係る呼称である。即ち、“VC0”とは、図6に示すネゴシエーション処理において、最初にネゴシエーションが実行されるチャネルを示す。   For this reason, a VC buffer storage area is allocated to a VC other than VC0. This makes it possible to easily implement the effective use function of the unused buffer according to the present embodiment. In the present embodiment, it is referred to as “VC0”, but this is a name according to the present embodiment. That is, “VC0” indicates a channel on which negotiation is first executed in the negotiation process shown in FIG.

以上説明したように、本実施形態に係る情報転送回路100を用いることにより、一の物理的な通信バスを複数のバッファが共用することにより仮想通信バスを実現する情報転送において、バッファを有効利用することが可能となる。   As described above, by using the information transfer circuit 100 according to the present embodiment, a buffer is effectively used in information transfer for realizing a virtual communication bus by sharing a single physical communication bus with a plurality of buffers. It becomes possible to do.

尚、上述した処理により、使用バッファの記憶領域が仮想的に拡張される。従って、保持可能な情報量が拡大され、転送速度を向上することが可能となる。これは、保持可能なパケット数が増大することによる効果である。しかしながら、パケット数が増大すると、その分オーバーヘッドの容量も拡大し、非効率となる。これに対して、図8に示すように、トランザクション層制御部102が扱うTLPのMax Payload Sizeを拡張することが考えられる。これにより、パケット数を増やすことなく、転送する情報量を増やすことが可能となる。   Note that the storage area of the used buffer is virtually expanded by the processing described above. Therefore, the amount of information that can be held is increased, and the transfer speed can be improved. This is an effect due to an increase in the number of packets that can be held. However, when the number of packets increases, the overhead capacity increases correspondingly and becomes inefficient. On the other hand, as shown in FIG. 8, it is conceivable to extend the Max Payload Size of the TLP handled by the transaction layer control unit 102. As a result, the amount of information to be transferred can be increased without increasing the number of packets.

図8にTLPは、トランザクション層制御部102において生成される情報である。そして、TLPは、トランザクション層制御部102が対向装置との間で情報転送をする際の情報の方式である。このTLPを生成するための情報(以降、方式情報とする)は、VCコントローラ120に設けられた記憶媒体に記憶されている。即ち、VCコントローラ120が、方式情報記憶部として機能する。   In FIG. 8, TLP is information generated in the transaction layer control unit 102. TLP is an information method used when the transaction layer control unit 102 transfers information to and from the opposite device. Information for generating the TLP (hereinafter referred to as method information) is stored in a storage medium provided in the VC controller 120. That is, the VC controller 120 functions as a method information storage unit.

また、図8に示すようにMax Payload Sizeを拡張する場合、上記方式情報を更新する必要がある。この更新処理は、例えば、未使用バッファの割り当て結果に応じて、VCバッファ管理部124により実行される。即ち、VCバッファ管理部124が方式情報更新部として機能する。   In addition, when the Max Payload Size is extended as shown in FIG. 8, it is necessary to update the method information. This update process is executed by the VC buffer management unit 124 in accordance with, for example, an unused buffer allocation result. That is, the VC buffer management unit 124 functions as a method information update unit.

また、上記の説明においては、図5において説明したように、未使用バッファの領域と使用バッファとを固定して対応付ける例を説明した。この他、情報転送制御部121による転送状況に応じて、動的にバッファ領域を割り振るようにしても良い。例えば、VC1を介して情報転送が実行されている間は、未使用バッファをVC1の拡張領域として用いても良い。   In the above description, as described with reference to FIG. 5, the example has been described in which the unused buffer area and the used buffer are fixedly associated with each other. In addition, the buffer area may be dynamically allocated according to the transfer status by the information transfer control unit 121. For example, an unused buffer may be used as an extension area of VC1 while information transfer is being performed via VC1.

このような場合、図4のS405においてやり取りされるInitFCのパケットには、対象のVC用バッファ及び全未使用バッファの合計の容量がバッファ容量の情報として含まれる。これにより、VCバッファ管理部124は、本来のVC用バッファの容量及び全未使用バッファの合計の容量を、対象のVC用バッファの容量として認識する。尚、情報転送の実行時においては、情報転送制御部121が、VC用バッファ21〜27との接続を動的に切り換えて情報転送を実行する。   In such a case, the InitFC packet exchanged in S405 of FIG. 4 includes the total capacity of the target VC buffer and all unused buffers as buffer capacity information. As a result, the VC buffer management unit 124 recognizes the original capacity of the VC buffer and the total capacity of all unused buffers as the capacity of the target VC buffer. When information transfer is executed, the information transfer control unit 121 executes information transfer by dynamically switching the connection with the VC buffers 21 to 27.

また、上記の説明においては、図5に示すように、未使用バッファをVC用バッファのうち使用バッファに割り当てる態様を説明した。しかしながら、未使用バッファを割り当てる先は、VC用バッファに限られない。例えば、リトライバッファに割り当てることも可能である。換言すると、未使用バッファ、即ち余分バッファ領域は、情報転送回路100が情報転送を実行する際に用いるバッファ領域、即ち情報転送バッファ領域を拡張するための領域として用いることが可能である。   Further, in the above description, as shown in FIG. 5, a mode has been described in which unused buffers are allocated to used buffers among VC buffers. However, the destination to which the unused buffer is allocated is not limited to the VC buffer. For example, it can be assigned to a retry buffer. In other words, the unused buffer, that is, the extra buffer area can be used as a buffer area used when the information transfer circuit 100 executes information transfer, that is, an area for expanding the information transfer buffer area.

未使用バッファをリトライバッファの拡張領域として用いることにより、リトライが発生した場合において、リトライバッファが保持可能な情報量が増大する。従って、転送速度の低下を低減して、好適にリトライを実行することが可能となる。尚、リトライバッファとは、本来データリンク層制御部103に設けられている。未使用バッファをリトライバッファとして用いる場合、情報転送制御部121がリトライ処理の制御を実行する。   By using the unused buffer as an extension area of the retry buffer, the amount of information that can be held by the retry buffer increases when a retry occurs. Therefore, it is possible to reduce the transfer speed drop and execute the retry appropriately. The retry buffer is originally provided in the data link layer control unit 103. When an unused buffer is used as a retry buffer, the information transfer control unit 121 executes retry processing control.

尚、図8に示すように、TLPのMax Payload Sizeを拡張する態様は、VC用バッファ及びリトライバッファ両方の領域が未使用バッファにより拡張された場合に行なうことが好ましい。Max Payload Sizeが拡張される場合、必然的に一パケットのサイズが増大する。従って、バッファサイズが拡張されない場合、バッファが保持可能なパケット数が減る。その結果、パフォーマンスが低下する可能性もある。VC用バッファ及びリトライバッファの両方が拡張されていれば、そのような不具合を回避することができる。   As shown in FIG. 8, it is preferable to extend the TLP Max Payload Size when both the VC buffer area and the retry buffer area are expanded by unused buffers. When Max Payload Size is expanded, the size of one packet inevitably increases. Therefore, if the buffer size is not expanded, the number of packets that can be held by the buffer decreases. As a result, performance may be degraded. If both the VC buffer and the retry buffer are expanded, such a problem can be avoided.

また、上記の説明においては、VCコントローラ120がソフトウェアとハードウェアとの組み合わせによって実現される例を説明した。この他、VCコントローラ120は、完全にハードウェアで構成することも可能である。この場合、未使用バッファの割り振りは、図5に示すようなアドレス情報の管理ではなく、VC用バッファ21〜27に含まれる記憶素子と情報転送制御部121との接続をスイッチング素子によって切り換えることにより実行する。   In the above description, the example in which the VC controller 120 is realized by a combination of software and hardware has been described. In addition, the VC controller 120 can be configured entirely by hardware. In this case, the unused buffer is not allocated by managing the address information as shown in FIG. 5, but by switching the connection between the storage element included in the VC buffers 21 to 27 and the information transfer control unit 121 by the switching element. Execute.

また、上記の説明においては、VC確立部122、使用バッファ認識部123及びVCバッファ管理部124がトランザクション制御部102内部のVCコントローラ120に設けられている例を説明した。これらの機能は、コントローラ101に設けることも可能である。若しくは、図1に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより実現することもできる。   In the above description, an example in which the VC establishment unit 122, the used buffer recognition unit 123, and the VC buffer management unit 124 are provided in the VC controller 120 inside the transaction control unit 102 has been described. These functions can also be provided in the controller 101. Alternatively, the program loaded in the RAM 20 shown in FIG. 1 can be realized by operating under the control of the CPU 10.

実施の形態2.
実施の形態1においては、実装の容易化のため、VC0には、未使用バッファを割り当てない態様を説明した。しかしながら、転送速度の向上のためには、VC0にも未使用バッファを割り当てることが好ましい。本実施形態においては、VC0にも未使用バッファを割り当てる例に付いて説明する。尚、実施の形態1と同様の符号を付す構成については、同一または相当部を示し、説明を省略する。
Embodiment 2. FIG.
In the first embodiment, the mode in which an unused buffer is not allocated to VC0 has been described for the sake of easy implementation. However, in order to improve the transfer rate, it is preferable to allocate an unused buffer to VC0. In the present embodiment, an example in which an unused buffer is allocated to VC0 will be described. In addition, about the structure which attaches | subjects the code | symbol similar to Embodiment 1, the same or an equivalent part is shown and description is abbreviate | omitted.

本実施形態に係る情報処理装置1及び情報転送回路100は、図1〜3で説明した実施の形態1の態様と略同様の構成を有する。本実施形態に係る情報転送回路100は、未使用バッファの割り振り処理が実施の形態1とは異なる。上述したように、VC0への未使用バッファの割り当ては、ネゴシエーション処理における制約があるため、困難である。この制約を解消するために、本実施形態に係る情報転送回路100は、実施の形態1とは異なる初期化処理を実行する。   The information processing apparatus 1 and the information transfer circuit 100 according to the present embodiment have substantially the same configuration as the aspect of the first embodiment described with reference to FIGS. The information transfer circuit 100 according to the present embodiment is different from the first embodiment in the unused buffer allocation process. As described above, it is difficult to allocate an unused buffer to VC0 because there are restrictions in the negotiation process. In order to eliminate this restriction, the information transfer circuit 100 according to the present embodiment executes an initialization process different from that of the first embodiment.

図9は、本実施形態に係るネゴシエーション処理の動作を示すフローチャートである。図9に示すように、S901、S902は、図4において説明したS601、S602と同様に処理が実行される。尚、本実施形態に係るコンフィグリード・ライト処理(S902)において、VC確立部122は、取得した実装VC数情報をVCバッファ管理部124に格納する。また、VC確立部122は、コンフィグリード・ライト処理が完了すると、VCバッファ管理部124にコンフィグリード済みフラグをセットする。   FIG. 9 is a flowchart showing the operation of the negotiation process according to the present embodiment. As shown in FIG. 9, the processing in S901 and S902 is executed in the same manner as S601 and S602 described in FIG. In the configuration read / write process (S902) according to the present embodiment, the VC establishment unit 122 stores the acquired mounted VC number information in the VC buffer management unit 124. In addition, when the configuration read / write processing is completed, the VC establishment unit 122 sets a configuration read completed flag in the VC buffer management unit 124.

コンフィグリード・ライト処理を終了すると(S902)、情報転送回路100は、レジスタをリセットする(S903)。S903においては、少なくともVCバッファ管理部124に記憶されているVC用バッファ21、即ちVC0の容量の情報をリセットされる。これらのリセットは、例えば、VCコントローラ120により実行される。即ち、VCコントローラ120がバッファ領域初期化部として機能する。図10に、VC用バッファ管理部124に記憶されている情報の例を示す。図10に示すように、VC用バッファ管理部124に設けられたレジスタは、実装VC数情報、コンフィグリード済みフラグ、使用バッファ情報、バッファ割り振り情報及びVC用バッファ容量情報を記憶している。   When the configuration read / write processing ends (S902), the information transfer circuit 100 resets the register (S903). In step S903, at least information on the capacity of the VC buffer 21, that is, the capacity of VC0, stored in the VC buffer management unit 124 is reset. These resets are executed by the VC controller 120, for example. That is, the VC controller 120 functions as a buffer area initialization unit. FIG. 10 shows an example of information stored in the VC buffer management unit 124. As shown in FIG. 10, the register provided in the VC buffer management unit 124 stores the number of mounted VCs, the config read flag, the used buffer information, the buffer allocation information, and the VC buffer capacity information.

実装VC数情報、コンフィグリード済みフラグとは、上述したように、コンフィグリード・ライト処理(S902)において、VC確立部122が取得し、VCバッファ管理部124に記憶させる情報である。使用バッファ情報とは、実施の形態1において説明したように、使用バッファ認識部123によって決定される情報である。バッファ割り振り情報とは、実施の形態1において説明したように、VCバッファ管理部124によって生成される情報である。VC用バッファ容量情報とは、InitFCのやりとりにより記憶される情報である。   As described above, the mounted VC number information and the config read flag are information acquired by the VC establishing unit 122 and stored in the VC buffer management unit 124 in the configuration read / write process (S902). The used buffer information is information determined by the used buffer recognition unit 123 as described in the first embodiment. The buffer allocation information is information generated by the VC buffer management unit 124 as described in the first embodiment. The VC buffer capacity information is information stored by exchange of InitFC.

情報転送回路100は、S903の処理において、図10に二重線で示す情報、即ち、実装VC数情報、コンフィグリード済みフラグを保持したまま、他の情報を消去するようにリセットを実行する。リセットが完了すると、使用バッファ認識部123及びVCバッファ管理部124が未使用バッファの割り振りを実行する(S904)。VCコントローラ120は、VCバッファ管理部124に記憶されているコンフィグリード済みフラグを確認することにより、リセット処理(S903)の後に割り振り処理(S904)に進む。   In the processing of S903, the information transfer circuit 100 executes a reset so as to erase other information while retaining the information indicated by the double line in FIG. 10, that is, the mounted VC number information and the config read completed flag. When the reset is completed, the used buffer recognition unit 123 and the VC buffer management unit 124 allocate unused buffers (S904). The VC controller 120 checks the config read completion flag stored in the VC buffer management unit 124, and then proceeds to the allocation process (S904) after the reset process (S903).

S904においては、図6において説明した処理と略同様に処理が実行される。ここで、本実施形態においては、図10に示すVC用バッファ容量情報がリセットされている。従って、VC0の容量情報も記憶されていない。これにより、図6のS504において、VC0にも未使用バッファを割り振ることが可能となる。未使用バッファ割り振り処理が完了すると、データリンク層制御部103は、変数nに“0”をセットし(S905)、VC0からネゴシエーション処理を実行する(S906)。その後、図4のS405以降の処理と同様に、S906以降の処理が実行される。   In S904, processing is executed in substantially the same manner as the processing described in FIG. Here, in the present embodiment, the VC buffer capacity information shown in FIG. 10 is reset. Therefore, the capacity information of VC0 is not stored. This makes it possible to allocate an unused buffer to VC0 in S504 of FIG. When the unused buffer allocation process is completed, the data link layer control unit 103 sets “0” to the variable n (S905), and executes the negotiation process from VC0 (S906). Thereafter, the processing after S906 is executed in the same manner as the processing after S405 in FIG.

以上説明したように、本実施形態に係る情報転送回路100においては、コンフィグリード・ライトが完了した後、VC0をリセットする。これにより、VC0に対しても、未使用バッファを割り当てることが可能となる。その結果、無効となったVC用バッファを有効に利用し、転送効率を向上することが可能となる。   As described above, in the information transfer circuit 100 according to the present embodiment, VC0 is reset after the configuration read / write is completed. As a result, an unused buffer can be allocated to VC0. As a result, it becomes possible to effectively use the invalidated VC buffer and improve the transfer efficiency.

実施の形態3.
実施の形態2においては、ネゴシエーション処理が完了した後、図10において説明したようなリセットを実行することにより、VCへの未使用バッファの割り当てを可能とする例を説明した。この場合、上述したようなリセットを実行するための新たな構成が必要となる。従って、実装のためには回路の変更が必要となる。本実施形態においては、VC0への未使用バッファの割り当てをより容易に実現する方法を説明する。尚、実施の形態1、2と同様の符号を付す構成については、同一または相当部を示し説明を省略する。
Embodiment 3 FIG.
In the second embodiment, an example has been described in which an unused buffer can be allocated to a VC by executing a reset as described with reference to FIG. 10 after the negotiation process is completed. In this case, a new configuration for executing the reset as described above is required. Therefore, it is necessary to change the circuit for mounting. In the present embodiment, a method for more easily realizing the allocation of unused buffers to VC0 will be described. In addition, about the structure which attaches | subjects the code | symbol similar to Embodiment 1, 2, the same or an equivalent part is shown and description is abbreviate | omitted.

図11は、本実施形態に係るネゴシエーション処理の動作を示すフローチャートである。図11に示すように、本実施形態においても、まずデータリンク層制御部103が、VC0についてのネゴシエーションを実行する(S1101)。ここで、本実施形態に係るネゴシエーション処理においては、データリンク層制御部103がやりとりするInitFCに含まれる情報が異なる。図12に、本実施形態に係るInitFCのDLLPフォーマットを示す。   FIG. 11 is a flowchart showing the operation of the negotiation process according to the present embodiment. As shown in FIG. 11, also in this embodiment, the data link layer control unit 103 first performs negotiation for VC0 (S1101). Here, in the negotiation process according to the present embodiment, information included in the InitFC exchanged by the data link layer control unit 103 is different. FIG. 12 shows the DLLP format of InitFC according to the present embodiment.

図12に示すように、本実施形態に係るInitFCは、コマンド、VCID(Virtual Channel IDentification)、バッファ領域容量、VC実装数及びCRC(Cyclic Redundancy Check)の情報を含む。本実施形態においては、図12に示すように、InitFCのパケット中にVC実装数の情報を含む点が要旨となる。即ち、従来のInitFCは、図12に示す各情報のうち、VC実装数の情報を含まない。InitFCのパケットは、データリンク制御部103が生成する。従って、データリンク制御部103を改良することにより、図12に示すようなフォーマットを実現することが可能となる。   As illustrated in FIG. 12, the InitFC according to the present embodiment includes information on a command, a VCID (Virtual Channel IDentification), a buffer area capacity, the number of VC implementations, and a CRC (Cyclic Redundancy Check). In the present embodiment, as shown in FIG. 12, the point is that information on the number of mounted VCs is included in the InitFC packet. That is, the conventional InitFC does not include information on the number of mounted VCs among the pieces of information shown in FIG. The data link control unit 103 generates an InitFC packet. Therefore, the format as shown in FIG. 12 can be realized by improving the data link control unit 103.

InitFCのパケット中にVC実装数の情報が含まれることにより、情報転送回路100及びVGA200は、図5に示すInitFCのやり取りによって、対向装置のVC実装数を認識することができる。これにより、情報転送回路100及びVGA200は、コンフィグリード・ライト処理無しでVC用バッファ20有効にすることができる。コンフィグリード・ライト処理が不要であるため、図4に示すネゴシエーション動作中にVC0のバッファ領域を確定する必要がない。従って、図4のS403において、VCバッファ管理部124は、VC0のVC用バッファ21に対しても、他のVC用バッファと同様に未使用バッファを割り当てることが可能となる。   By including information on the number of VC implementations in the InitFC packet, the information transfer circuit 100 and the VGA 200 can recognize the number of VC implementations of the opposite apparatus through the InitFC exchange shown in FIG. As a result, the information transfer circuit 100 and the VGA 200 can enable the VC buffer 20 without the configuration read / write processing. Since the configuration read / write processing is unnecessary, it is not necessary to determine the buffer area of VC0 during the negotiation operation shown in FIG. Therefore, in S403 of FIG. 4, the VC buffer management unit 124 can allocate an unused buffer to the VC buffer 21 of VC0 as well as other VC buffers.

本発明の実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the information processing apparatus which concerns on embodiment of this invention. 本発明の実施形態に係るI/Fの機能構成を示すブロック図である。It is a block diagram which shows the function structure of I / F which concerns on embodiment of this invention. 本発明の実施形態に係るトランザクション層制御部の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the transaction layer control part which concerns on embodiment of this invention. 本発明の実施形態に係る初期化処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the initialization process which concerns on embodiment of this invention. 本発明の実施形態に係るネゴシエーション処理の態様を示す図である。It is a figure which shows the aspect of the negotiation process which concerns on embodiment of this invention. 本発明の実施形態に係る未使用バッファの割り当て動作を示すフローチャートである。It is a flowchart which shows the allocation operation | movement of the unused buffer which concerns on embodiment of this invention. 本発明の実施形態に係るバッファ割り振り情報に含まれる情報の例を示す図である。It is a figure which shows the example of the information contained in the buffer allocation information which concerns on embodiment of this invention. 本発明の実施形態に係るMax Payload Sizeの拡張態様を示す図である。It is a figure which shows the expansion aspect of Max Payload Size which concerns on embodiment of this invention. 本発明の他の実施形態に係る初期化処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the initialization process which concerns on other embodiment of this invention. 本発明の他の実施形態に係るVCバッファ管理部が記憶している情報の例を示す図である。It is a figure which shows the example of the information which the VC buffer management part which concerns on other embodiment of this invention has memorize | stored. 本発明の他の実施形態に係る初期化処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the initialization process which concerns on other embodiment of this invention. 本発明の他の実施形態に係るInitFCのパケットのフォーマットを示す図である。It is a figure which shows the format of the packet of InitFC which concerns on other embodiment of this invention.

符号の説明Explanation of symbols

1 情報処理装置
10 CPU
20 RAM
21〜27 VC用バッファ
30 エンジン
40 HDD
50 ROM
60 NVRAM
70 I/F
80 LCD
90 操作部
100 情報転送回路
101 コントローラ
102 トランザクション層制御部
103 データリンク層制御部
104 物理層制御部
105 接続部
120 VCコントローラ
121 情報転送制御部
122 VC確立部
123 使用バッファ認識部
124 VCバッファ管理部
125 信号分配・混合器
200 VGA
201 コントローラ
202 トランザクション層制御部
203 データリンク層制御部
204 物理層制御部
205 接続部
1 Information processing device 10 CPU
20 RAM
21-27 VC buffer 30 Engine 40 HDD
50 ROM
60 NVRAM
70 I / F
80 LCD
DESCRIPTION OF SYMBOLS 90 Operation part 100 Information transfer circuit 101 Controller 102 Transaction layer control part 103 Data link layer control part 104 Physical layer control part 105 Connection part 120 VC controller 121 Information transfer control part 122 VC establishment part 123 Use buffer recognition part 124 VC buffer management part 125 Signal distributor / mixer 200 VGA
201 Controller 202 Transaction Layer Control Unit 203 Data Link Layer Control Unit 204 Physical Layer Control Unit 205 Connection Unit

Claims (16)

一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、
前記情報転送回路に含まれる複数の仮想通信用バッファ領域は、前記対向装置に含まれる複数の仮想通信用バッファ領域とのネゴシエーション処理において夫々の仮想通信用バッファ領域毎にネゴシエーション処理が実行され、
前記余分バッファ領域割り当て部は、前記情報転送回路に含まれる複数の仮想通信用バッファ領域のうち、最初にネゴシエーション処理が実行される仮想通信用バッファ領域以外の仮想通信用バッファ領域を拡張する領域として、前記余分バッファ領域を割り当てることを特徴とする、情報転送回路。
An information transfer circuit for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
A counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in the counter device connected via the serial communication bus as the counter buffer number;
When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A use buffer determining unit that determines a buffer area as a use buffer area to be used for the virtual communication bus;
Of the virtual communication buffer area included in the information transfer circuit, an extra buffer area other than the used buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer. possess a surplus buffer area allocation unit,
A plurality of virtual communication buffer areas included in the information transfer circuit are subjected to a negotiation process for each virtual communication buffer area in a negotiation process with a plurality of virtual communication buffer areas included in the opposite device,
The extra buffer area allocating unit is an area that extends a virtual communication buffer area other than the virtual communication buffer area in which a negotiation process is first executed among a plurality of virtual communication buffer areas included in the information transfer circuit. An information transfer circuit , wherein the extra buffer area is allocated .
一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部と、
前記情報転送回路に含まれる複数の仮想通信用バッファ領域と前記対向装置に含まれる複数の仮想通信用バッファ領域とのネゴシエーション処理を実行するネゴシエーション処理部とを有し、
前記ネゴシエーション処理部は、前記情報転送回路に含まれる仮想通信用バッファ領域に関する情報を含むネゴシエーション情報を送信することにより前記ネゴシエーション処理を実行し、
前記ネゴシエーション情報は、前記情報転送回路に含まれる仮想通信用バッファ領域の数の情報を含むことを特徴とする、情報転送回路。
An information transfer circuit for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
A counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in the counter device connected via the serial communication bus as the counter buffer number;
When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A use buffer determining unit that determines a buffer area as a use buffer area to be used for the virtual communication bus;
Of the virtual communication buffer area included in the information transfer circuit, an extra buffer area other than the used buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer. An extra buffer area allocation unit;
A negotiation processing unit for performing negotiation processing between a plurality of virtual communication buffer areas included in the information transfer circuit and a plurality of virtual communication buffer areas included in the opposite device;
The negotiation processing unit executes the negotiation processing by transmitting negotiation information including information related to a virtual communication buffer area included in the information transfer circuit,
The negotiation information, characterized in that it comprises a number of information of the virtual communication buffer area included in the information transfer circuit, information transfer circuit.
一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、
前記情報転送回路に含まれる複数の仮想通信用バッファ領域は、前記対向装置に含まれる複数の仮想通信用バッファ領域とのネゴシエーション処理において夫々の仮想通信用バッファ領域毎にネゴシエーション処理が実行され、
前記情報転送回路に含まれる複数の仮想通信用バッファ領域のうち、最初にネゴシエーション処理が実行される仮想通信用バッファ領域を前記ネゴシエーション処理の後に初期化するバッファ領域初期化部を更に有し、
前記余分バッファ領域割り当て部は、前記使用バッファ領域として用いられる前記仮想通信用バッファ領域のうち前記ネゴシエーション処理が最初に実行される仮想通信用バッファ領域を含む仮想通信用バッファ領域を拡張する領域として、前記余分バッファ領域を割り当てることを特徴とする、情報転送回路。
An information transfer circuit for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
A counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in the counter device connected via the serial communication bus as the counter buffer number;
When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A use buffer determining unit that determines a buffer area as a use buffer area to be used for the virtual communication bus;
Of the virtual communication buffer area included in the information transfer circuit, an extra buffer area other than the used buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer. An extra buffer area allocation unit,
A plurality of virtual communication buffer areas included in the information transfer circuit are subjected to a negotiation process for each virtual communication buffer area in a negotiation process with a plurality of virtual communication buffer areas included in the opposite device,
Among the plurality of virtual communication buffer areas included in the information transfer circuit, further includes a buffer area initialization unit that initializes the virtual communication buffer area in which the negotiation process is first executed after the negotiation process,
The extra buffer area allocation unit is an area that extends a virtual communication buffer area including a virtual communication buffer area in which the negotiation process is first executed among the virtual communication buffer areas used as the used buffer area . and allocating the extra buffer region, information transfer circuit.
一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、
前記余分バッファ領域割り当て部は、前記余分バッファ領域と前記情報転送バッファ領域とを関連付ける情報を生成することにより、前記情報転送バッファ領域を拡張するための領域として前記余分バッファ領域を割り当てることを特徴とする、情報転送回路。
An information transfer circuit for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
A counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in the counter device connected via the serial communication bus as the counter buffer number;
When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A use buffer determining unit that determines a buffer area as a use buffer area to be used for the virtual communication bus;
Of the virtual communication buffer area included in the information transfer circuit, an extra buffer area other than the used buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer. An extra buffer area allocation unit,
The extra buffer area allocating unit allocates the extra buffer area as an area for expanding the information transfer buffer area by generating information that associates the extra buffer area with the information transfer buffer area. to, information transfer circuit.
一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、
前記余分バッファ領域割り当て部は、前記情報転送バッファ領域と前記余分バッファ領域との接続を切り換えることにより、前記情報転送バッファ領域を拡張するための領域として前記余分バッファ領域を割り当てることを特徴とする、情報転送回路
An information transfer circuit for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
A counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in the counter device connected via the serial communication bus as the counter buffer number;
When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A use buffer determining unit that determines a buffer area as a use buffer area to be used for the virtual communication bus;
Of the virtual communication buffer area included in the information transfer circuit, an extra buffer area other than the used buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer. An extra buffer area allocation unit,
The extra buffer area allocation unit, by switching the connection between the extra buffer region and the information transfer buffer area, and allocates the extra buffer region as a region for expanding the information transfer buffer region, information transfer circuit
一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路であって、
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識する対向バッファ数認識部と、
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定する使用バッファ決定部と、
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てる余分バッファ領域割り当て部とを有し、
前記情報転送回路が前記対向装置との間で情報転送をする際の情報の方式に関する情報を記憶している方式情報記憶部と、
前記余分バッファ割り当て部による前記余分バッファ領域の割り当て結果に応じて前記方式情報記憶部に記憶されている情報を更新する方式情報更新部とを更に有することを特徴とする、情報転送回路。
An information transfer circuit for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
A counter buffer number recognition unit for recognizing the number of virtual communication buffer areas included in the counter device connected via the serial communication bus as the counter buffer number;
When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A use buffer determining unit that determines a buffer area as a use buffer area to be used for the virtual communication bus;
Of the virtual communication buffer area included in the information transfer circuit, an extra buffer area other than the used buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer. An extra buffer area allocation unit,
A method information storage unit that stores information about a method of information when the information transfer circuit transfers information to and from the opposite device;
And further comprising a system information update unit for updating the information stored in the system information storage unit in accordance with the assignment result of the extra buffer area by the extra buffer allocation unit, information transfer circuit.
前記方式情報は、1つのパケットに含めることができる情報容量に関する容量情報を含み、
前記方式情報更新部は、前記容量情報を更新することを特徴とする請求項に記載の情報転送回路。
The scheme information includes capacity information related to information capacity that can be included in one packet,
The information transfer circuit according to claim 6 , wherein the method information update unit updates the capacity information .
前記余分バッファ領域割り当て部は、前記使用バッファ領域若しくは前記情報転送回路が情報転送を実行する際のリトライに用いられるリトライバッファ領域の少なくとも一方を拡張する領域として前記余分バッファ領域を割り当て、
前記方式情報更新部は、前記余分バッファ領域割り当て部が前記使用バッファ領域及び前記リトライバッファ領域の両方を拡張する領域として前記余分バッファ領域を割り当てた場合に、前記1つのパケットに含めることができる情報容量を増やすように前記容量情報を更新することを特徴とする、請求項に記載の情報転送回路。
The extra buffer area allocation unit allocates the extra buffer area as an area that extends at least one of the used buffer area or a retry buffer area used for retry when the information transfer circuit executes information transfer,
The method information update unit may include information that can be included in the one packet when the extra buffer area allocation unit allocates the extra buffer area as an area that extends both the used buffer area and the retry buffer area. The information transfer circuit according to claim 7 , wherein the capacity information is updated so as to increase a capacity .
前記余分バッファ領域割り当て部は、前記使用バッファ領域を拡張するための領域として前記余分バッファ領域を割り当てることを特徴とする、請求項1乃至8いずれか1項に記載の情報転送回路。 9. The information transfer circuit according to claim 1, wherein the extra buffer area allocation unit allocates the extra buffer area as an area for expanding the used buffer area . 前記余分バッファ領域割り当て部は、前記情報転送回路が情報転送を実行する際のリトライに用いられるバッファ領域を拡張する領域として前記余分バッファ領域を割り当てることを特徴とする、請求項1乃至9いずれか1項に記載の情報転送回路。 10. The extra buffer area allocating section allocates the extra buffer area as an area that extends a buffer area used for retry when the information transfer circuit executes information transfer . 2. The information transfer circuit according to item 1 . 前記余分バッファ領域割り当て部は、前記情報転送回路による情報転送の実行に応じて前記余分バッファ領域を動的に割り当てることを特徴とする、請求項1乃至10いずれか1項に記載の情報転送回路。 The extra buffer area allocation unit is characterized dynamically allocating the extra buffer region in response to the execution of the information transfer by said information transfer circuit, information transfer circuit according to any one of claims 1 to 10 . 請求項1乃至11いずれか1項に記載の情報転送回路を含むことを特徴とする、情報処理装置。An information processing apparatus comprising the information transfer circuit according to claim 1. 一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路の制御方法であって、  An information transfer circuit control method for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識し、  Recognizing the number of virtual communication buffer areas included in the opposite device connected via the serial communication bus as the number of opposite buffers,
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定し、  When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A buffer area for use as a buffer area to be used for the virtual communication bus,
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域と前記情報転送バッファ領域とを関連付ける情報を生成することにより、前記余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てることを特徴とする、情報転送回路の制御方法。  By generating information associating the information transfer buffer area with an extra buffer area other than the used buffer area in the virtual communication buffer area included in the information transfer circuit, the information transfer circuit A method for controlling an information transfer circuit, wherein an information transfer buffer area used for executing information transfer is allocated as an area for expansion.
一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路の制御方法であって、
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識し、
前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定し、
前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当て
前記情報転送回路が前記対向装置との間で情報転送をする際の情報の方式に関する情報を記憶している方式情報記憶部に記憶されている情報を、前記余分バッファ割り当て部による前記余分バッファ領域の割り当て結果に応じて更新することを特徴とする、情報転送回路の制御方法。
An information transfer circuit control method for realizing a virtual communication bus that is a plurality of virtually independent information communication buses by sharing a single physical serial communication bus with a plurality of virtual communication buffer areas,
Recognizing the number of virtual communication buffer areas included in the opposite device connected via the serial communication bus as the number of opposite buffers,
When the recognized number of counter buffers is smaller than the number of virtual communication buffer areas included in the information transfer circuit, the same number of virtual communications as the number of counter buffers in the virtual communication buffer areas included in the information transfer circuit A buffer area for use as a buffer area to be used for the virtual communication bus,
Of the buffer area for virtual communication included in the information transfer circuit, an extra buffer area other than the used buffer area is allocated as an area for expanding the information transfer buffer area used when the information transfer circuit performs information transfer ,
Information stored in a method information storage unit that stores information on a method of information when the information transfer circuit transfers information to and from the opposite device is stored in the extra buffer area by the extra buffer allocation unit. A method for controlling an information transfer circuit, wherein the information transfer circuit is updated according to a result of assignment of the information transfer circuit.
請求項13または14に記載の情報転送回路の制御方法を情報処理装置に実行させることを特徴とする、制御プログラム。 15. A control program for causing an information processing apparatus to execute the information transfer circuit control method according to claim 13 or 14. 請求項15に記載の制御プログラムを情報処理装置が読み取り可能な形式で記憶したことを特徴とする、記憶媒体。   16. A storage medium storing the control program according to claim 15 in a format readable by an information processing apparatus.
JP2008207945A 2008-08-12 2008-08-12 Information transfer circuit, information processing apparatus, information transfer circuit control method, control program, and recording medium Expired - Fee Related JP5085463B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008207945A JP5085463B2 (en) 2008-08-12 2008-08-12 Information transfer circuit, information processing apparatus, information transfer circuit control method, control program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008207945A JP5085463B2 (en) 2008-08-12 2008-08-12 Information transfer circuit, information processing apparatus, information transfer circuit control method, control program, and recording medium

Publications (2)

Publication Number Publication Date
JP2010044569A JP2010044569A (en) 2010-02-25
JP5085463B2 true JP5085463B2 (en) 2012-11-28

Family

ID=42015908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008207945A Expired - Fee Related JP5085463B2 (en) 2008-08-12 2008-08-12 Information transfer circuit, information processing apparatus, information transfer circuit control method, control program, and recording medium

Country Status (1)

Country Link
JP (1) JP5085463B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112014006490T5 (en) * 2014-03-20 2016-12-08 Intel Corporation Method, apparatus and system for controlling power of unused hardware of a link interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202977A (en) * 1993-01-06 1994-07-22 Hitachi Ltd Interface device
JPH09167133A (en) * 1995-12-18 1997-06-24 Canon Inc Communication equipment, electronic equipment and controlling method for them
JP4175185B2 (en) * 2003-06-06 2008-11-05 日本電気株式会社 Network information recording device
JP2006195871A (en) * 2005-01-17 2006-07-27 Ricoh Co Ltd Communication device, electronic equipment and image forming device
US8270295B2 (en) * 2007-05-21 2012-09-18 International Business Machines Corporation Reassigning virtual lane buffer allocation during initialization to maximize IO performance

Also Published As

Publication number Publication date
JP2010044569A (en) 2010-02-25

Similar Documents

Publication Publication Date Title
EP2889780B1 (en) Data processing system and data processing method
CN109983449B (en) Data processing method and storage system
JP6475256B2 (en) Computer, control device and data processing method
JP5280135B2 (en) Data transfer device
US20140189278A1 (en) Method and apparatus for allocating memory space with write-combine attribute
JP2006189937A (en) Reception device, transmission/reception device, reception method, and transmission/reception method
US8001296B2 (en) USB controller and buffer memory control method
CN108701004A (en) A kind of system of data processing, method and corresponding intrument
JP2004157966A (en) End point memory control method and device, usb device, and storage medium
KR20190032527A (en) Method and apparatus for compressing an address
US9015380B2 (en) Exchanging message data in a distributed computer system
US20070168583A1 (en) Endpoint control apparatus and method thereof
CN114201268B (en) Data processing method, device and equipment and readable storage medium
CN104731635A (en) Virtual machine access control method and virtual machine access control system
US11966585B2 (en) Storage device and storage system
CN113498595B (en) PCIe-based data transmission method and device
CN114238184B (en) Multifunctional DMA transmission method, device and storage medium
CN117033275B (en) DMA method and device between acceleration cards, acceleration card, acceleration platform and medium
JP5085463B2 (en) Information transfer circuit, information processing apparatus, information transfer circuit control method, control program, and recording medium
KR101197294B1 (en) Method for communication of interface device in SoC-based system network for QoS and improvement of transfer efficiency
TWI235921B (en) System and method for effectively performing physical direct memory access operations
CN113647058B (en) PCIe-based communication method and device
KR100643815B1 (en) I/o configuration messaging within a link-based computing system
JP2009088622A (en) Packet transfer device having buffer memory and method thereof
US20220326855A1 (en) Peripheral component interconnect express interface device and operating method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110708

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120720

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120905

R151 Written notification of patent or utility model registration

Ref document number: 5085463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees