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 PDFInfo
- 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
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用バッファとする)の数によって決まる。
従来の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
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.
また、請求項9に記載の発明は、請求項1乃至8いずれか1項に記載の情報転送回路において、前記余分バッファ領域割り当て部が、前記使用バッファ領域を拡張するための領域として前記余分バッファ領域を割り当てることを特徴とする。
The invention according to claim 9 is the information transfer circuit according to any one of
また、請求項10に記載の発明は、請求項1乃至9いずれか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.
また、請求項11に記載の発明は、請求項1乃至10いずれか1項に記載の情報転送回路において、前記余分バッファ領域割り当て部が、前記情報転送回路による情報転送の実行に応じて前記余分バッファ領域を動的に割り当てることを特徴とする。
Further, an invention according to
また、請求項12に記載の発明は、情報処理装置であって、請求項1乃至11いずれか1項に記載の情報転送回路を含むことを特徴とする。
また、請求項13に記載の発明は、一の物理的なシリアル通信バスを複数の仮想通信用バッファ領域が共用することにより仮想的に独立した複数の情報通信バスである仮想通信バスを実現する情報転送回路の制御方法であって、前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識し、前記認識された対向バッファ数が前記情報転送回路に含まれる仮想通信用バッファ領域の数よりも少ない場合、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記対向バッファ数と同数の仮想通信用バッファ領域を前記仮想通信バスのために使用する使用バッファ領域として決定し、前記情報転送回路に含まれる仮想通信用バッファ領域のうち前記使用バッファ領域以外の余分バッファ領域と前記情報転送バッファ領域とを関連付ける情報を生成することにより、前記余分バッファ領域を、前記情報転送回路が情報転送を実行する際に用いる情報転送バッファ領域を拡張するための領域として割り当てることを特徴とする。
The invention described in
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.
In the present embodiment, an
図1は、本実施形態に係る情報転送回路が用いられる画像処理装置1のハードウェア構成を示すブロック図である。図1に示すように、本実施形態に係る画像処装置1は、一般的なサーバやPC(Personal Computer)等の情報処理端末と同様の構成を含む。即ち、本実施形態に係る情報転送回路は、PC等の一般的な情報処理装置にも適用可能である。
FIG. 1 is a block diagram illustrating a hardware configuration of an
即ち、本実施形態に係る画像処理装置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
CPU10は演算手段であり、情報処理装置1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。エンジン30は、スキャナやプリンタ等の画像処理機能を実行する画像処理エンジンである。HDD40は、磁気記録媒体を用いた大容量記憶装置である。ROM50は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
The
NVRAM60は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム及びアプリケーション・プログラムの動作パラメータの情報等が格納される。I/F70は、バスBと各種のハードウェアやネットワーク等を接続し制御する。本実施形態に係る情報転送回路は、I/F70に含まれる。LCD80は、ユーザが画像処理装置1の状態を確認するための視覚的ユーザインタフェースである。操作部90は、キーボードやマウス等、ユーザが画像処理装置1に情報を入力するためのユーザインタフェースである。
The
次に、本実施形態に係る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 /
情報転送回路100は、コントローラ101、トランザクション層制御部102、データリンク層制御部103、物理層制御部104及び接続部105を有する。また、VGA200は、コントローラ201、トランザクション層制御部202、データリンク層制御部203、物理層制御部204及び接続部205を有する。情報転送回路100とVGA200とにおいて、同一の名称を付す構成は同一若しくは対応した機能を担う。従って、以下の説明においては、情報転送回路100についてのみ説明するが、VGA200においても同様である。
The
コントローラ101は、情報転送回路100において最も上位の構成であり、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、RAM等に読み出された制御用プログラムが、CPUに従って動作することにより、コントローラ101が構成される。コントローラ101は、情報転送回路101において、バスBを介してCPU10とのやり取りを実行する。接続部105は、情報転送回路100とVGA200とを実際に接続する接続端子を含む。
The
本実施形態のように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
トランザクション層制御部102は、TLP(Transaction Layer Packet:トランザクション・レイヤ・パケット)の組み立て及び分解を行なう。TLPとは、PCI Express規格の通信において、情報の送受信やイベントのようなトランザクションの伝達に用いられるパケットである。また、トランザクション層制御部102は、本実施形態の要旨となるVCを制御する構成を含む。
The transaction
データリンク層制御部103は、情報転送のエラー検出、エラー訂正若しくはリトライ処理を実行する。これにより、データリンク層制御部103は、TLPの完全性を保証する。また、データリンク層制御部103は、リンク管理を行なう。即ち、データリンク層制御部103は、リンク管理やフロー制御のためのパケットのやり取りを行なう。データリンク制御部103が処理するパケットは、DLLP(Data Link Layer Packet:データ・リンク・レイヤ・パケット)である。
The data link
物理層制御部104は、インタフェース動作に必要な回路を含む。物理層制御部104が含む回路は、ドライバ、入力バッファ、パラレル/シリアル変換機、PLL(Phase−Locked Loop:位相同期回路)及びインピーダンス整合回路等である。また、物理層制御部104は、インタフェースの初期化、保守の機能を有する。更に、物理層制御部104は、データリンク層制御部103及びトランザクション層制御部102を実際のリンクで使用される信号技術から独立させる機能を有する。
The physical
このような情報転送回路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
VCコントローラ120は、トランザクション層制御部102において、VCを制御して情報転送を行なう。VCコントローラ120及びVCコントローラ120に含まれる各要素は、ソフトウェアとハードウェアとの組み合わせによって実現される。即ち、具体的には、RAM等に読み出された制御用プログラムが、CPU等の演算手段に従って動作することにより、VCコントローラ120が構成される。情報転送制御部121は、TLPを生成し、VC用バッファ21〜27を介して送出する。また、情報転送制御部121は、VC用バッファ21〜27を介して受信したTLPを分解する。
The
VC確立部122は、接続部105を介して接続された対向デバイス(本実施形態においてはVGA200)との間でVCを確立する。使用バッファ認識部123は、VC確立部122によるVCの確立結果に応じて、VCの数を認識する。VCバッファ管理部124は、使用バッファ認識部123によるVC数の認識結果に応じて、VC用バッファ21〜27を管理する。VCバッファ管理部124の機能が本実施形態の要旨の一つとなる。
The
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 /
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 /
次に、本実施形態に係る情報転送回路100の初期化処理について説明する。図4は、本実施形態に係る情報転送回路100の初期化動作を示すフローチャートである。図4に示す初期化動作は、情報処理装置1への電源投入後において、I/F70のパワーオンリセット処理の一部として実行される。
Next, an initialization process of the
図4に示すように、情報転送回路100の初期化処理においては、先ずデータリンク層制御部103が、VC0のネゴシエーション処理を実行する(S401)。即ち、データリンク層制御部103が、ネゴシエーション処理部として機能する。ネゴシエーション処理は、情報転送回路100とVGA200との間でVCの数を相互認識する処理である。
As shown in FIG. 4, in the initialization process of the
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
図5に示すように、InitFC1を受けたVGA200のデータリンク層制御部203は、トランザクション層制御部202に含まれるVC0のVC用バッファを参照する。そして、VC0が有効であれば、データリンク層制御部203は、InitFC1を返す。その後、InitFC2のやり取りにより、VC0のネゴシエーションが完了する。
As shown in FIG. 5, the data link
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
VC0のネゴシエーションが完了すると、トランザクション層制御部102のVC確立部122が、コントローラ101の制御に基づき、コンフィグリード・ライト処理を実行する(S402)。VC確立部122は、S402において、既にネゴシエーションの完了したVC0を介して、コンフィグ情報をVGA200に送信し、VGA200からコンフィグ情報を読み出す。
When the negotiation of VC0 is completed, the
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
コンフィグリード・ライト処理が完了すると、使用バッファ認識部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
次に、使用バッファ認識部123は、VC用バッファ21〜27のうち使用するバッファを決定する(S602)。S602において、使用バッファ認識部123は、VGA200に実装されたVC用バッファの数に基づいて、使用するバッファ(以降、使用バッファとする)を決定する。具体的には、使用バッファ認識部123は、VGA200に実装されたVC用バッファの数と同数の下図のVC用バッファを使用バッファとして決定する。即ち、使用バッファ認識部123が、使用バッファ決定部として機能する。
Next, the used
使用バッファの決定に際しては、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
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
図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
図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
他方、未使用バッファがない場合(S603/NO)、VCコントローラ120は、そのまま初期化処理を終了する。このような処理により、対向装置であるVGA200との関係で使用不可能なVC用バッファを有効利用することが可能となる。
On the other hand, when there is no unused buffer (S603 / NO), the
図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
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
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
他方、未だ全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
このような処理により、本実施形態に係るネゴシエーション処理が完了する。図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
このため、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
尚、上述した処理により、使用バッファの記憶領域が仮想的に拡張される。従って、保持可能な情報量が拡大され、転送速度を向上することが可能となる。これは、保持可能なパケット数が増大することによる効果である。しかしながら、パケット数が増大すると、その分オーバーヘッドの容量も拡大し、非効率となる。これに対して、図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
図8にTLPは、トランザクション層制御部102において生成される情報である。そして、TLPは、トランザクション層制御部102が対向装置との間で情報転送をする際の情報の方式である。このTLPを生成するための情報(以降、方式情報とする)は、VCコントローラ120に設けられた記憶媒体に記憶されている。即ち、VCコントローラ120が、方式情報記憶部として機能する。
In FIG. 8, TLP is information generated in the transaction
また、図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
また、上記の説明においては、図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
このような場合、図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
また、上記の説明においては、図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
未使用バッファをリトライバッファの拡張領域として用いることにより、リトライが発生した場合において、リトライバッファが保持可能な情報量が増大する。従って、転送速度の低下を低減して、好適にリトライを実行することが可能となる。尚、リトライバッファとは、本来データリンク層制御部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
尚、図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確立部122、使用バッファ認識部123及びVCバッファ管理部124がトランザクション制御部102内部のVCコントローラ120に設けられている例を説明した。これらの機能は、コントローラ101に設けることも可能である。若しくは、図1に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより実現することもできる。
In the above description, an example in which the
実施の形態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
本実施形態に係る情報処理装置1及び情報転送回路100は、図1〜3で説明した実施の形態1の態様と略同様の構成を有する。本実施形態に係る情報転送回路100は、未使用バッファの割り振り処理が実施の形態1とは異なる。上述したように、VC0への未使用バッファの割り当ては、ネゴシエーション処理における制約があるため、困難である。この制約を解消するために、本実施形態に係る情報転送回路100は、実施の形態1とは異なる初期化処理を実行する。
The
図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
コンフィグリード・ライト処理を終了すると(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
実装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
情報転送回路100は、S903の処理において、図10に二重線で示す情報、即ち、実装VC数情報、コンフィグリード済みフラグを保持したまま、他の情報を消去するようにリセットを実行する。リセットが完了すると、使用バッファ認識部123及びVCバッファ管理部124が未使用バッファの割り振りを実行する(S904)。VCコントローラ120は、VCバッファ管理部124に記憶されているコンフィグリード済みフラグを確認することにより、リセット処理(S903)の後に割り振り処理(S904)に進む。
In the processing of S903, the
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
以上説明したように、本実施形態に係る情報転送回路100においては、コンフィグリード・ライトが完了した後、VC0をリセットする。これにより、VC0に対しても、未使用バッファを割り当てることが可能となる。その結果、無効となったVC用バッファを有効に利用し、転送効率を向上することが可能となる。
As described above, in the
実施の形態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
図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
図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
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
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
20 RAM
21-27
50 ROM
60 NVRAM
70 I / F
80 LCD
DESCRIPTION OF
201
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.
前記方式情報更新部は、前記容量情報を更新することを特徴とする請求項6に記載の情報転送回路。 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つのパケットに含めることができる情報容量を増やすように前記容量情報を更新することを特徴とする、請求項7に記載の情報転送回路。 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 .
前記シリアル通信バスを介して接続された対向装置に含まれる仮想通信用バッファ領域の数を対向バッファ数として認識し、 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.
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)
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)
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 |
-
2008
- 2008-08-12 JP JP2008207945A patent/JP5085463B2/en not_active Expired - Fee Related
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 |