JP5828256B2 - Data transfer control device, data transfer control method, and data transfer control system - Google Patents

Data transfer control device, data transfer control method, and data transfer control system Download PDF

Info

Publication number
JP5828256B2
JP5828256B2 JP2011210111A JP2011210111A JP5828256B2 JP 5828256 B2 JP5828256 B2 JP 5828256B2 JP 2011210111 A JP2011210111 A JP 2011210111A JP 2011210111 A JP2011210111 A JP 2011210111A JP 5828256 B2 JP5828256 B2 JP 5828256B2
Authority
JP
Japan
Prior art keywords
information
entry
packet
field
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011210111A
Other languages
Japanese (ja)
Other versions
JP2013074354A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011210111A priority Critical patent/JP5828256B2/en
Publication of JP2013074354A publication Critical patent/JP2013074354A/en
Application granted granted Critical
Publication of JP5828256B2 publication Critical patent/JP5828256B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、データ転送制御装置、データ転送制御方法、およびデータ転送制御システムに関する。   The present invention relates to a data transfer control device, a data transfer control method, and a data transfer control system.

コンピュータシステムにおいて、システム内でデータを転送するために用いるパケットは、一般的に、パケットの制御種別を示すパケット種別フィールドと、行き先を示すデスティネーションフィールドと、リクエスト元を示すリクエスタフィールドと、アドレスを示すアドレスフィールドとが含まれている。通常、全てのパケットには、上記の各フィールドの情報がパケットヘッダとして含まれている。例えば、DMA(Direct Memory Access)等、大量のデータを短いパケットの単位で転送する場合でも、全てのパケットに同じようなパケットヘッダが含まれる。すなわち、パケットヘッダの転送が、転送系路のスループットの一部を消費している。そのため、転送経路は、データ転送能力を十分に発揮する事ができないという問題があった。   In a computer system, a packet used for transferring data in a system generally includes a packet type field indicating a packet control type, a destination field indicating a destination, a requester field indicating a request source, and an address. Address field to indicate. Normally, all packets contain information on each field as a packet header. For example, even when a large amount of data is transferred in units of short packets such as DMA (Direct Memory Access), the same packet header is included in all packets. That is, the transfer of the packet header consumes a part of the throughput of the transfer path. For this reason, there is a problem that the transfer path cannot fully exhibit the data transfer capability.

なお、本願において、データとは、文字、記号、数値等の処理対象となる情報と、上記の各フィールドの情報やパケットの転送等を制御するための制御情報とを含むものであるとする。   In the present application, data includes information to be processed such as characters, symbols, and numerical values, and control information for controlling information on each field, packet transfer, and the like.

一方、パケットのパケット長を長くし、ヘッダ転送のオーバヘッド分を軽減するといった方法も考えられる。しかし、同じ転送経路を、複数のデータ転送で共有するコンピュータシステムの場合、特定のパケットが転送経路を占有する時間を長くすることは、他のパケットのレイテンシ性能を悪化させるという問題が有る。そのため、制御情報以外のデータの転送に用いるパケットにおいても、パケット長が比較的短い(例えば64Byteくらいの)パケットとして転送する事が求められる場合が多い。   On the other hand, a method of increasing the packet length of the packet and reducing the overhead of header transfer is also conceivable. However, in the case of a computer system that shares the same transfer path for a plurality of data transfers, increasing the time during which a specific packet occupies the transfer path has a problem of deteriorating the latency performance of other packets. For this reason, it is often required to transfer a packet used for transferring data other than the control information as a packet having a relatively short packet length (for example, about 64 bytes).

また、転送するヘッダやデータの一部を圧縮することも考えられる。圧縮技術の一つの手法として、静的または動的辞書を用いてデータを圧縮する技術がある(例えば特許文献1)。特許文献1に記載されている辞書圧縮方式では、転送しようとする文字列が辞書内に存在する場合、文字列に代えて辞書のポインタ(あるいはインデックス)が送信される。この場合、ポインタの大きさが差し替えられた文字列の大きさよりも小さければ圧縮効果が得られる。また、動的辞書を用いる場合、新しい文字列が転送されるときに、データの圧縮側の辞書と伸張側の辞書とで同一の位置に同一の新しい文字列が追加され、辞書が更新される(例えば段落0013)。また、特許文献1には、他の辞書圧縮の方法としてスライディング・ウィンドウ圧縮を用いる技術が示されている(例えば段落0014)。スライディング・ウィンドウ圧縮では、固定サイズのスライディング・ウィンドウを移動させながら文字列の比較を行い、一致した場合には辞書のポインタ(あるいはリファレンス)への差し替えが行われる。   It is also conceivable to compress a part of the header or data to be transferred. As one compression technique, there is a technique for compressing data using a static or dynamic dictionary (for example, Patent Document 1). In the dictionary compression method described in Patent Document 1, when a character string to be transferred exists in the dictionary, a dictionary pointer (or index) is transmitted instead of the character string. In this case, if the size of the pointer is smaller than the size of the replaced character string, a compression effect can be obtained. When using a dynamic dictionary, when a new character string is transferred, the same new character string is added to the same position in the data compression side dictionary and the expansion side dictionary, and the dictionary is updated. (For example, paragraph 0013). Further, Patent Document 1 discloses a technique using sliding window compression as another dictionary compression method (for example, paragraph 0014). In sliding window compression, character strings are compared while moving a sliding window of a fixed size, and if they match, replacement with a dictionary pointer (or reference) is performed.

特表2004−514366号公報JP-T-2004-514366

ところで、特許文献1に記載されている辞書圧縮技術では、圧縮しようとするデータが、辞書に登録されているデータと完全に一致した場合に、辞書のポインタを用いたデータの差し替えが可能となる。したがって、例えば対象とするデータの種類が多いような場合に、辞書のポインタを用いたデータの差し替えを行うことができる確率を高めようとすると、辞書へのデータ登録数を多くする必要がある。しかしながら、辞書のサイズが大きくなると、圧縮対象となる入力データと、登録されているデータとを逐次に比較する場合には比較に要する時間が長くなってしまう。また、入力データと、登録されているデータとを並列的に比較する場合には比較器等の構成が増えてしまう。   By the way, with the dictionary compression technique described in Patent Document 1, when the data to be compressed completely matches the data registered in the dictionary, the data can be replaced using the dictionary pointer. . Therefore, for example, when there are many types of target data, it is necessary to increase the number of data registrations in the dictionary in order to increase the probability that the data can be replaced using the dictionary pointer. However, when the size of the dictionary increases, the time required for comparison becomes longer when the input data to be compressed and the registered data are sequentially compared. Further, when comparing input data and registered data in parallel, the configuration of a comparator or the like increases.

本発明は、上記課題を解決することができるデータ転送制御装置、データ転送制御方法、およびデータ転送制御システムを提供することを目的とする。   An object of the present invention is to provide a data transfer control device, a data transfer control method, and a data transfer control system that can solve the above-described problems.

この発明は上述した課題を解決するためになされたもので、本発明の一態様によるデータ転送制御装置は、複数の区分毎に圧縮対象の属性を示すエントリ登録情報を、予め決められた複数の前記区分により構成されるエントリ毎に記憶する記憶手段と、前記エントリ毎に、入力情報と前記エントリ登録情報とが一致するか否かを前記区分毎に比較する第1の比較手段と、前記第1の比較手段による比較結果において一致した前記区分のデータ長を前記エントリ毎に加算した結果を、前記エントリ間で比較する第2の比較手段と、前記第2の比較手段による比較結果に基づいて選択された前記エントリを表す第1の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とが一致する少なくとも1つの前記区分を表す第2の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とにおいて一致しない前記区分に対応する前記入力情報を表す第3の情報とを用いて前記入力情報を圧縮する圧縮手段とを備える。 The present invention has been made to solve the above-described problem. A data transfer control device according to an aspect of the present invention provides a plurality of predetermined pieces of entry registration information indicating compression target attributes for a plurality of sections. Storage means for storing each entry configured by the section; first comparing means for comparing, for each entry, whether the input information matches the entry registration information for each entry; Based on the comparison result of the second comparison means and the second comparison means , the result of adding the data lengths of the divisions that match in the comparison result by the first comparison means for each entry is compared between the entries. First information representing the selected entry and second information representing at least one of the classifications in which the entry registration information and the input information of the selected entry match. , And a compression means for compressing the input information by using the third information representing the input information corresponding to the segment that does not match in said entry registration information of the selected entries and the input information.

この発明は上述した課題を解決するためになされたもので、本発明の一態様によるデータ転送制御方法は、複数の区分毎に圧縮対象の属性を示すエントリ登録情報を、予め決められた複数の前記区分により構成されるエントリ毎に記憶する記憶手段を参照して前記エントリ毎に、入力情報と前記エントリ登録情報とが一致するか否かを前記区分毎に比較する第1の比較ステップと、前記第1の比較ステップによる比較結果において一致した前記区分のデータ長を前記エントリ毎に加算した結果を、前記エントリ間で比較する第2の比較ステップと、前記第2の比較ステップによる比較結果に基づいて選択された前記エントリを表す第1の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とが一致する少なくとも1つの前記区分を表す第2の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とにおいて一致しない前記区分に対応する前記入力情報を表す第3の情報とを用いて前記入力情報を圧縮する圧縮ステップとを備える。 The present invention has been made in order to solve the above-described problem, and a data transfer control method according to an aspect of the present invention provides a plurality of predetermined pieces of entry registration information indicating attributes to be compressed for each of a plurality of sections. A first comparison step that compares, for each entry, whether the input information matches the entry registration information for each entry , with reference to storage means for storing each entry configured by the section; The comparison result of the second comparison step and the comparison result of the second comparison step are the results of adding, for each entry, the data lengths of the sections that match in the comparison result of the first comparison step. At least one of the first information representing the entry selected based on the entry registration information and the input information corresponding to the selected entry The input information is compressed using second information representing the classification and third information representing the input information corresponding to the classification that does not match the entry registration information and the input information of the selected entry. A compression step .

この発明は上述した課題を解決するためになされたもので、本発明の一態様によるデータ転送制御システムは、複数の区分毎に圧縮対象の属性を示すエントリ登録情報を、予め決められた複数の前記区分により構成されるエントリ毎に記憶する記憶手段と、前記エントリ毎に、入力情報と前記エントリ登録情報とが一致するか否かを前記区分毎に比較する第1の比較手段と、前記第1の比較手段による比較結果において一致した前記区分のデータ長を前記エントリ毎に加算した結果を、前記エントリ間で比較する第2の比較手段と、前記第2の比較手段による比較結果に基づいて選択された前記エントリを表す第1の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とが一致する少なくとも1つの前記区分を表す第2の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とにおいて一致しない前記区分に対応する前記入力情報を表す第3の情報とを用いて前記入力情報を圧縮する圧縮手段と、前記圧縮手段が前記入力情報を圧縮することにより得られた転送情報を送信する送信手段と、を有するデータ送信部と、前記送信手段が送信した前記転送情報を受信する受信手段と、前記エントリ毎に複数に区分された情報を複数エントリ分記憶する第2の記憶手段と、前記受信手段が受信した前記転送情報に基づいて、前記第2の記憶手段において前記第1の情報に対応する前記エントリでかつ前記第2の情報に対応する区分に記憶されている第1の区分情報と、前記第3の情報が表す第2の区分情報とを用いて、前記圧縮対象の情報を復元する復元手段と、を有するデータ受信部と、を備える。 The present invention has been made to solve the above-described problem, and a data transfer control system according to an aspect of the present invention provides a plurality of predetermined pieces of entry registration information indicating attributes to be compressed for each of a plurality of sections. Storage means for storing each entry configured by the section; first comparing means for comparing, for each entry, whether the input information matches the entry registration information for each entry; Based on the comparison result of the second comparison means and the second comparison means , the result of adding the data lengths of the divisions that match in the comparison result by the first comparison means for each entry is compared between the entries. A first information representing the selected entry and a second information representing at least one of the classifications in which the entry registration information and the input information of the selected entry match. Compression means for compressing the input information using information and third information representing the input information corresponding to the classification that does not match the entry registration information and the input information of the selected entry, and the compression A transmission means for transmitting transfer information obtained by compressing the input information by the means; a reception means for receiving the transfer information transmitted by the transmission means; A second storage means for storing information classified into a plurality of entries, and the entry corresponding to the first information in the second storage means based on the transfer information received by the receiving means; and The information to be compressed is restored using the first partition information stored in the partition corresponding to the second information and the second partition information represented by the third information. And a data receiving unit and a source unit.

本発明によれば、圧縮対象となる入力情報の全部とエントリ毎の登録情報の全部とが一致していなくても、圧縮対象となる情報の一部と記憶手段(すなわち圧縮辞書に対応するもの)内のいずれかのエントリのいずれかの区分とが一致していれば、圧縮手段によって当該エントリを表す第1の情報(すなわちポインタ)を用いて転送情報を生成することが可能となる。したがって、全部の一致を要求する場合と比較して、記憶手段のエントリ数(すなわちデータ登録数)を増やすことなく、ポインタを用いてデータの差し替えを行うことができる確率を高めることができる。   According to the present invention, even if all of the input information to be compressed and all of the registered information for each entry do not match, a part of the information to be compressed and the storage means (that corresponds to the compression dictionary) If any of the entries in () match, it is possible to generate transfer information using the first information (that is, a pointer) representing the entry by the compression means. Therefore, the probability that data can be replaced using a pointer can be increased without increasing the number of entries in the storage means (that is, the number of registered data) as compared with the case where all matches are requested.

本発明の一実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of one embodiment of this invention. 図1の実施形態で用いられる通常パケットと圧縮パケットのパケットヘッダの構成例を示す図である。It is a figure which shows the structural example of the packet header of the normal packet and compression packet which are used by embodiment of FIG. 図1の実施形態における送信側の圧縮辞書テーブル処理部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the compression dictionary table process part by the side of the transmission in embodiment of FIG. 図1のパケット生成論理の動作例を示すフローチャートである。3 is a flowchart illustrating an operation example of the packet generation logic of FIG. 1. 図1の実施形態におけるパケット送信側LSIの動作例を説明するための図表である。6 is a chart for explaining an operation example of a packet transmission side LSI in the embodiment of FIG. 1. 図1の実施形態における受信側の圧縮辞書テーブル処理部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the compression dictionary table process part of the receiving side in embodiment of FIG. 図1の実施形態におけるパケット受信側LSIの動作例を説明するための図表である。3 is a chart for explaining an operation example of a packet receiving side LSI in the embodiment of FIG. 1; 図1の実施の形態の動作例を説明するための模式図である。It is a schematic diagram for demonstrating the operation example of embodiment of FIG. 図1の実施の形態を主要な機能毎にまとめて模式的に示すブロック図である。FIG. 2 is a block diagram schematically showing the embodiment of FIG. 1 collectively for each main function.

以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明によるデータ転送制御装置の一実施形態を説明するためのブロック図であり、図2は、図1の実施形態で用いられる通常のパケットヘッダと圧縮したパケットヘッダの構成例を示す模式図である。まず、図2を参照して、本発明の実施形態で使用する圧縮していない通常のパケットヘッダ(以下、通常パケットヘッダ)、および、圧縮されているパケットのパケットヘッダ(以下、圧縮パケットヘッダ)のフォーマットの一例について説明する。また、本実施形態で転送されるパケットのうち、パケットヘッダが通常パケットヘッダであるパケットを通常パケット、パケットヘッダが圧縮パケットヘッダであるパケットを圧縮パケット、また、通常パケットまたは圧縮パケットから復元されたパケットを復元パケットと呼ぶ。なお、このパケットヘッダの後ろには、パケットの中身であるデータが格納されている。つまり、パケットヘッダは、パケットの中身であるデータの属性を示す属性情報である。   Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram for explaining an embodiment of a data transfer control device according to the present invention, and FIG. 2 is a configuration example of a normal packet header and a compressed packet header used in the embodiment of FIG. It is a schematic diagram shown. First, referring to FIG. 2, an uncompressed normal packet header (hereinafter referred to as a normal packet header) used in the embodiment of the present invention, and a packet header of a compressed packet (hereinafter referred to as a compressed packet header). An example of the format will be described. Of the packets transferred in this embodiment, a packet whose packet header is a normal packet header is a normal packet, a packet whose packet header is a compressed packet header is a compressed packet, and is restored from a normal packet or a compressed packet. The packet is called a restoration packet. Note that data that is the contents of the packet is stored behind the packet header. That is, the packet header is attribute information indicating an attribute of data that is the content of the packet.

図2を参照すると、図2(A)に示した通常パケットヘッダ10000は、パケット識別子フィールド10001、パケット種別フィールド10002、デスティネーションフィールド10003、リクエスタフィールド10004、アドレスフィールド10005、およびその他のフィールド10006から構成されている。また、アドレスフィールド10005は、アドレス上位フィールド10007、アドレス中位フィールド10008、およびアドレス下位フィールド10009から構成されている。   Referring to FIG. 2, the normal packet header 10000 shown in FIG. 2A includes a packet identifier field 10001, a packet type field 10002, a destination field 10003, a requester field 10004, an address field 10005, and other fields 10006. Has been. The address field 10005 includes an address upper field 10007, an address middle field 10008, and an address lower field 10009.

パケット識別子フィールド10001は、圧縮パケットであるか否かを示す識別子を保持する1ビットのフィールドである。本実施形態において、パケット識別子フィールド10001に識別子「1」が格納されている場合、圧縮パケットであることを示す。また、パケット識別子フィールド10001に識別子「0」が格納されている場合、通常パケットであることを示す。
パケット種別フィールド10002は、パケット種別を示すフィールドである。
デスティネーションフィールド10003は、パケットのデスティネーション(リンク先)を示すフィールドである。
リクエスタフィールド10004は、リクエスト元の情報を示すフィールドである。
アドレスフィールド10005は、通常パケットヘッダ10000の転送先に係るアドレスを示すフィールドである。つまり、通常パケットの転送先のアドレスを示す情報を格納する。このアドレスフィールド10005は、アドレス上位フィールド10007、アドレス中位フィールド10008、およびアドレス下位フィールド10009を含む。これらアドレス上位フィールド10007、アドレス中位フィールド10008、およびアドレス下位フィールド10009は、アドレスフィールド10005を所定のビット数で分割したフィールドであり、所定ビット数の上位、中位および下位アドレスを示すフィールドである。
その他のフィールド10006は、その他のフィールド情報を示すフィールドである。
The packet identifier field 10001 is a 1-bit field that holds an identifier indicating whether or not the packet is a compressed packet. In the present embodiment, when the identifier “1” is stored in the packet identifier field 10001, this indicates a compressed packet. Further, when the identifier “0” is stored in the packet identifier field 10001, it indicates that the packet is a normal packet.
The packet type field 10002 is a field indicating the packet type.
The destination field 10003 is a field indicating the packet destination (link destination).
The requester field 10004 is a field indicating request source information.
The address field 10005 is a field indicating an address related to the transfer destination of the normal packet header 10000. That is, information indicating the transfer destination address of the normal packet is stored. The address field 10005 includes an address upper field 10007, an address middle field 10008, and an address lower field 10009. The upper address field 10007, the middle address field 10008, and the lower address field 10009 are fields obtained by dividing the address field 10005 by a predetermined number of bits, and are fields indicating upper, middle, and lower addresses of the predetermined number of bits. .
The other field 10006 is a field indicating other field information.

図2(B)に示した圧縮パケットヘッダ11000は、パケット識別子フィールド11001、エントリ番号フィールド11002、差し替え情報フィールド11003、および不一致フィールド11004から構成される。
パケット識別子フィールド11001は、圧縮パケットであるか否かを示す識別子を保持する1ビットのフィールドである。本実施形態において、パケット識別子フィールド10001に識別子「1」が格納されている場合、圧縮パケットであることを示す。また、パケット識別子フィールド10001に識別子「0」が格納されている場合、通常パケットであることを示す。
エントリ番号フィールド11002は、圧縮辞書テーブル処理部20220内のエントリ処理部31000(i)の位置を示すフィールドである。なお、圧縮辞書テーブル処理部20220は、エントリ毎に割り当てられる複数のエントリ処理部31000(i)として利用可能なハードウエア資源を備える。なお、各エントリ処理部31000(i)は、ハードウエア資源内の各エントリ処理部31000(i)の使用状況等に応じて割り当てる。なお、エントリとは、圧縮辞書テーブル処理部20220において登録されているパケットヘッダの単位を示す。
差し替え情報フィールド11003は、パケットヘッダに含まれるフィールドのうち圧縮されたフィールドを示すフィールドである。
不一致フィールド11004は、パケットヘッダに含まれるフィールドのうち圧縮されなかったフィールドを示すフィールドである。なお、圧縮できなかったフィールドに格納されている情報は、圧縮されない情報のまま、パケットの末尾に付加される。
The compressed packet header 11000 shown in FIG. 2B includes a packet identifier field 11001, an entry number field 11002, a replacement information field 11003, and a mismatch field 11004.
The packet identifier field 11001 is a 1-bit field that holds an identifier indicating whether or not the packet is a compressed packet. In the present embodiment, when the identifier “1” is stored in the packet identifier field 10001, this indicates a compressed packet. Further, when the identifier “0” is stored in the packet identifier field 10001, it indicates that the packet is a normal packet.
The entry number field 11002 is a field indicating the position of the entry processing unit 31000 (i) in the compression dictionary table processing unit 20220. The compression dictionary table processing unit 20220 includes hardware resources that can be used as a plurality of entry processing units 31000 (i) allocated for each entry. Each entry processing unit 31000 (i) is assigned according to the usage status of each entry processing unit 31000 (i) in the hardware resource. The entry indicates a packet header unit registered in the compression dictionary table processing unit 20220.
The replacement information field 11003 is a field indicating a compressed field among the fields included in the packet header.
The mismatch field 11004 is a field that indicates an uncompressed field among the fields included in the packet header. Note that the information stored in the field that could not be compressed is added to the end of the packet as the uncompressed information.

次に、図1を参照して本発明によるデータ転送制御装置の一実施形態の構成について説明する。図1を参照すると、本発明の一実施形態としてのデータ転送制御装置は、パケット送信側LSI(Large Scale Integration)20000内のパケット送信部20200として構成されている。
パケット送信側LSI20000は、LSI間のインタフェースであるSerDes(Serializer/Deserializer)22000を介して、パケット受信側LSI21000と接続されている。パケット送信側LSI20000とパケット受信側LSI21000との間のパケット転送は、このSerDes22000でシリアル転送される。
Next, the configuration of an embodiment of the data transfer control device according to the present invention will be described with reference to FIG. Referring to FIG. 1, the data transfer control device according to an embodiment of the present invention is configured as a packet transmission unit 20200 in a packet transmission side LSI (Large Scale Integration) 20000.
The packet transmission side LSI 20000 is connected to the packet reception side LSI 21000 via a SerDes (Serializer / Deserializer) 22000 which is an interface between LSIs. Packet transfer between the packet transmission side LSI 20000 and the packet reception side LSI 21000 is serially transferred by the SerDes 22000.

パケット送信側LSI20000は、リクエスタ20100、パケット送信部(データ転送制御装置)20200、およびSerDes送信部20300で構成されている。
リクエスタ20100は、通常パケットを生成するパケット生成処理を実行する。本実施形態において、リクエスタ20100は、パケット受信側LSI21000に送信する送信実体データを複数個に分割する。このリクエスタ20100は、分割された各送信実体データを、通常パケットヘッダ10000を備える通常パケットの中身データを格納する部分に書き込む。これにより、リクエスタ20100は、通常パケットを生成する。
The packet transmission side LSI 20000 includes a requester 20100, a packet transmission unit (data transfer control device) 20200, and a SerDes transmission unit 20300.
The requester 20100 executes a packet generation process for generating a normal packet. In the present embodiment, the requester 20100 divides transmission entity data to be transmitted to the packet receiving side LSI 21000 into a plurality of pieces. The requester 20100 writes each of the divided transmission entity data in a portion in which normal packet content data including a normal packet header 10000 is stored. Thereby, the requester 20100 generates a normal packet.

パケット送信部20200は、リクエスタ20100によって生成された通常パケットを受信側LSI21000に送信する送信処理と、必要に応じて通常パケットのパケットヘッダを圧縮するパケット圧縮処理とを実行する。このパケット送信部20200は、パケット圧縮処理を実行した場合に圧縮パケットを、パケット圧縮処理を実行しない場合に通常パケットを、それぞれSerDes送信部20300に出力する。
SerDes送信部20300は、パケット送信部20200から出力された通常パケットあるいは圧縮パケットをシリアルデータに変換して、SerDes22000へ送信する。
The packet transmission unit 20200 executes transmission processing for transmitting the normal packet generated by the requester 20100 to the receiving-side LSI 21000 and packet compression processing for compressing the packet header of the normal packet as necessary. The packet transmission unit 20200 outputs a compressed packet to the SerDes transmission unit 20300 when the packet compression process is executed, and a normal packet when the packet compression process is not executed.
The SerDes transmission unit 20300 converts the normal packet or the compressed packet output from the packet transmission unit 20200 into serial data, and transmits the serial data to the SerDes 22000.

他方、パケット受信側LSI21000は、SerDes受信部21100、パケット受信部21200、およびターゲット21300から構成されている。
SerDes受信部21100は、SerDes22000を介してパケット送信側LSI20000からシリアルデータを受信し、パケット化する。
パケット受信部21200は、SerDes22000を介してパケットを受信し、受信したパケットが圧縮パケットであった場合、圧縮パケットを復元する復元処理を実行するとともに、復元した復元パケットをターゲット21300に出力する。また、パケット受信部21200は、受信したパケットが通常パケットであった場合、パケットを復元する復元処理を実行せずに、そのまま通常パケットをターゲット21300出力する。
ターゲット21300は、パケット受信部21200から出力された復元パケットあるいは通常パケットを受け取り、受け取ったパケットに対して予め決められた処理を実行する。
On the other hand, the packet receiving side LSI 21000 includes a SerDes receiving unit 21100, a packet receiving unit 21200, and a target 21300.
The SerDes reception unit 21100 receives serial data from the packet transmission side LSI 20000 via the SerDes 22000 and packetizes it.
The packet receiving unit 21200 receives a packet via the SerDes 22000. When the received packet is a compressed packet, the packet receiving unit 21200 executes a restoration process for restoring the compressed packet and outputs the restored packet to the target 21300. Further, when the received packet is a normal packet, the packet reception unit 21200 outputs the normal packet as it is without executing the restoration process for restoring the packet.
The target 21300 receives the restoration packet or the normal packet output from the packet receiving unit 21200, and executes a predetermined process on the received packet.

上述したパケット送信側LSI20000内のパケット送信部20200は、通常パケット保持レジスタ20210、圧縮辞書テーブル処理部20220、およびパケット圧縮論理回路20230から構成されている。
通常パケット保持レジスタ20210は、リクエスタ20100から受信した通常パケットをSerDes送信部20300へ出力するタイミングまで一時的に保持する記憶領域である。
この通常パケット保持レジスタ20210は、有効な通常パケットを保持したタイミングで、リクエスタ20100から入力する通常パケットに格納されている情報のうち、通常パケットヘッダ10000の各フィールドに格納されている情報を、圧縮辞書テーブル処理部20220へ信号線20241を介して出力する。
また同様に、通常パケット保持レジスタ20210は、有効な通常パケットを保持したタイミングで、リクエスタ20100から入力する通常パケットに格納されている情報を、パケット圧縮論理回路20230に出力する。つまり、通常パケット保持レジスタ20210は、通常パケットの全てのフィールドに格納されている情報(すなわち通常パケットヘッダ10000の全てのフィールドに格納されている情報と、通常パケットに含まれる通常パケットヘッダ10000以外の全てのフィールドに格納されている情報と)を、パケット圧縮論理回路20230へ信号線20242を介して出力する。
The packet transmission unit 20200 in the packet transmission side LSI 20000 described above includes a normal packet holding register 20210, a compression dictionary table processing unit 20220, and a packet compression logic circuit 20230.
The normal packet holding register 20210 is a storage area that temporarily holds the normal packet received from the requester 20100 until the timing at which the normal packet is output to the SerDes transmission unit 20300.
The normal packet holding register 20210 compresses the information stored in each field of the normal packet header 10000 from the information stored in the normal packet input from the requester 20100 at the timing when a valid normal packet is held. The data is output to the dictionary table processing unit 20220 via the signal line 20241.
Similarly, the normal packet holding register 20210 outputs information stored in the normal packet input from the requester 20100 to the packet compression logic circuit 20230 at the timing when a valid normal packet is held. In other words, the normal packet holding register 20210 stores information stored in all fields of the normal packet (that is, information stored in all fields of the normal packet header 10000 and the normal packet header 10000 included in the normal packet). The information stored in all fields) is output to the packet compression logic circuit 20230 through the signal line 20242.

圧縮辞書テーブル処理部20220は、複数の論理回路やレジスタなどから構成され、通過するパケットヘッダに格納されている情報に基づき、パケット圧縮論理回路20230による圧縮処理に利用される圧縮対象であるフィールドが登録されているいか否かを判定する。この圧縮辞書テーブル処理部20220は、圧縮対象であるフィールドを検索する際に参照する辞書データを内蔵するレジスタに登録している。つまり、圧縮辞書テーブル処理部20220は、圧縮対象であるフィードを検索する辞書として機能するテーブルを有している。この圧縮辞書テーブル処理部20220は、圧縮対象であるフィードを検索により得た場合、当該フィードを圧縮することを判定する。一方、圧縮対象であるフィードを検索により検出できなかった場合、圧縮辞書テーブル処理部20220は、圧縮処理を実行しないことを判定する。   The compression dictionary table processing unit 20220 includes a plurality of logic circuits, registers, and the like. Based on information stored in a packet header that passes, a compression target field used for compression processing by the packet compression logic circuit 20230 is stored. Judge whether it is registered or not. The compression dictionary table processing unit 20220 is registered in a register containing dictionary data to be referred to when a field to be compressed is searched. That is, the compression dictionary table processing unit 20220 has a table that functions as a dictionary for searching for a feed to be compressed. When the compression dictionary table processing unit 20220 obtains a feed to be compressed by a search, the compression dictionary table processing unit 20220 determines to compress the feed. On the other hand, when the feed that is the compression target cannot be detected by the search, the compression dictionary table processing unit 20220 determines not to execute the compression process.

また、圧縮辞書テーブル処理部20220は、圧縮すると判定した場合に使用するエントリを表すエントリ番号と、当該エントリの中のどのフィールドを圧縮時に使用するのかを表す差し替え情報とを出力する機能とを有している。この圧縮辞書テーブル処理部20220が有する圧縮辞書として機能するテーブルは、通常パケットヘッダ10000に格納されることが予想されるデータをフィールド単位で比較および選択ならびに書き換え可能な形態で複数組格納している。テーブル内の各組のデータはそれぞれ1個の通常パケットヘッダ10000に対応している。また、各組のデータの格納位置は、所定の1個のエントリ番号で示されている。本実施形態では、テーブル内の各組のデータが、1個の通常パケットヘッダ10000に対応する1組のデータを記憶する1組のレジスタ(あるいは一定範囲の記憶領域)を有するエントリと称する回路ブロックに記憶される。   The compression dictionary table processing unit 20220 has a function of outputting an entry number indicating an entry to be used when it is determined to compress and replacement information indicating which field in the entry is used during compression. doing. The table functioning as a compression dictionary included in the compression dictionary table processing unit 20220 stores a plurality of sets of data expected to be stored in the normal packet header 10000 in a form that can be compared, selected, and rewritten in units of fields. . Each set of data in the table corresponds to one normal packet header 10000. The storage position of each set of data is indicated by a predetermined one entry number. In the present embodiment, each set of data in the table is a circuit block called an entry having one set of registers (or a certain range of storage areas) for storing one set of data corresponding to one normal packet header 10000. Is remembered.

パケット圧縮論理回路20230は、圧縮辞書テーブル処理部20220から出力されたエントリ番号と差し替え情報とに基づき、圧縮するか否かの判定を行う機能と、圧縮すると判定した場合に圧縮パケットヘッダを生成するとともに、生成した圧縮パケットヘッダを通常パケットにおける通常パケットヘッダ10000と置き換えて、圧縮パケットを合成する機能とを有している。また、パケット圧縮論理回路20230は、圧縮するか否かの判定の結果を表す情報を圧縮情報として信号線20245を用いて圧縮辞書テーブル処理部20220に出力する。また、パケット圧縮論理回路20230は、生成した圧縮パケットまたは圧縮を行わなかった通常パケットをSerDes送信部20300へ出力する機能を有している。   The packet compression logic circuit 20230 has a function for determining whether or not to compress based on the entry number and replacement information output from the compression dictionary table processing unit 20220, and generates a compressed packet header when it is determined to compress. At the same time, it has a function of replacing the generated compressed packet header with the normal packet header 10000 in the normal packet to synthesize the compressed packet. Also, the packet compression logic circuit 20230 outputs information representing the result of determination as to whether or not to compress to the compression dictionary table processing unit 20220 using the signal line 20245 as compression information. The packet compression logic circuit 20230 has a function of outputting the generated compressed packet or the normal packet that has not been compressed to the SerDes transmission unit 20300.

ここで、図3を参照して、パケット送信側LSI20000内の圧縮辞書テーブル処理部20220の詳細構成例について説明する。なお、図3では、通常パケット保持レジスタ20210の記憶領域のうち、通常パケットヘッダ10000を保持する部分の記憶領域のみを示している。図3において通常パケット保持レジスタ20210は、図2(A)に示した通常パケットヘッダ10000を構成するパケット識別子フィールド10001、パケット種別フィールド10002、デスティネーションフィールド10003、リクエスタフィールド10004、アドレス上位フィールド10007、アドレス中位フィールド10008、アドレス下位フィールド10009、およびその他のフィールド10006内に格納されているデータを、一時的に保持する複数のレジスタ(記憶領域)20211〜20214、20217〜20219および20216を有している。   Now, a detailed configuration example of the compression dictionary table processing unit 20220 in the packet transmission side LSI 20000 will be described with reference to FIG. FIG. 3 shows only the storage area of the normal packet holding register 20210 that holds the normal packet header 10000. In FIG. 3, the normal packet holding register 20210 includes a packet identifier field 10001, a packet type field 10002, a destination field 10003, a requester field 10004, an address high-order field 10007, an address that constitute the normal packet header 10000 shown in FIG. It has a plurality of registers (storage areas) 20211 to 20214, 20217 to 20219, and 20216 that temporarily hold data stored in the middle field 10008, the address lower field 10009, and the other fields 10006. .

図3に示した圧縮辞書テーブル処理部20220は、複数のエントリ処理部31000(i)と、ビット幅比較論理回路32000と、一致情報選択回路33000と、カウンタ制御回路34000と、登録先選択回路35000とを有している。各エントリ処理部31000(i)は、同一構成である。また、各エントリ処理部31000(i)には、固有の識別情報(あるいは位置情報)であるエントリ番号(i)がそれぞれ割り当てられている。   The compression dictionary table processing unit 20220 shown in FIG. 3 includes a plurality of entry processing units 31000 (i), a bit width comparison logic circuit 32000, a match information selection circuit 33000, a counter control circuit 34000, and a registration destination selection circuit 35000. And have. Each entry processing unit 31000 (i) has the same configuration. Each entry processing unit 31000 (i) is assigned an entry number (i) which is unique identification information (or position information).

圧縮辞書テーブル処理部20220は、通過する通常パケットヘッダ10000に格納された情報ごとに、エントリ番号(i)を割り当てて、エントリ処理部31000(i)として利用されるコンパレータやレジスタを含むハードウエア資源にエントリ処理部31000(i)の機能構成を割り当てる。つまり、圧縮辞書テーブル処理部20220は、通話パケット保持レジスタ20210から入力する通常パケットヘッダ10000に格納された情報に対応するエントリ処理部31000(i)が割り当てられているか否かを判定する。対応するエントリ処理部31000(i)が割り当てられていない場合、圧縮辞書テーブル処理部20220は、エントリ処理部31000(i)として機能していない状態のハードウエア資源に対して、エントリ処理部31000(i)を割り当てる。この圧縮辞書テーブル処理部20220による処理を、以下、圧縮辞書テーブル処理部登録処理という。   The compression dictionary table processing unit 20220 assigns an entry number (i) to each piece of information stored in the passing normal packet header 10000, and includes hardware resources including a comparator and a register used as the entry processing unit 31000 (i). Is assigned the functional configuration of the entry processing unit 31000 (i). That is, the compression dictionary table processing unit 20220 determines whether or not the entry processing unit 31000 (i) corresponding to the information stored in the normal packet header 10000 input from the call packet holding register 20210 is assigned. When the corresponding entry processing unit 31000 (i) is not assigned, the compression dictionary table processing unit 20220 applies the entry processing unit 31000 (for the hardware resource not functioning as the entry processing unit 31000 (i). i) Assign. The processing performed by the compression dictionary table processing unit 20220 is hereinafter referred to as compression dictionary table processing unit registration processing.

また、圧縮辞書テーブル処理部20220は、通過する通常パケットヘッダ10000に格納された情報に対応するエントリ処理部31000(i)が登録されている場合、このエントリ処理部31000(i)に登録されている情報と通常パケットヘッダ10000に格納された情報との照合結果に基づき、通常パケットヘッダ10000の一部の情報を圧縮する。この圧縮辞書テーブル処理部20220による処理を、以下、圧縮処理という。   If the entry processing unit 31000 (i) corresponding to the information stored in the passing normal packet header 10000 is registered, the compression dictionary table processing unit 20220 is registered in the entry processing unit 31000 (i). On the basis of the collation result between the stored information and the information stored in the normal packet header 10000, a part of the information in the normal packet header 10000 is compressed. Hereinafter, the processing performed by the compression dictionary table processing unit 20220 is referred to as compression processing.

エントリ処理部31000(i)は、Valid(バリッド)レジスタ31100、登録パケット情報レジスタ31200、一致カウンタ31300、7個のコンパレータ31401〜31407、ビット幅加算機31500、および束線化回路31600を有している。このエントリ処理部31000(i)は、上述の圧縮辞書テーブル処理部登録処理によって登録されたエントリ番号(i)毎に、コンパレータやレジスタを含むハードウエア資源に割り当てられる処理部である。   The entry processing unit 31000 (i) includes a Valid register 31100, a registration packet information register 31200, a coincidence counter 31300, seven comparators 31401 to 1407, a bit width adder 31500, and a bundling circuit 31600. Yes. The entry processing unit 31000 (i) is a processing unit that is assigned to hardware resources including a comparator and a register for each entry number (i) registered by the compression dictionary table processing unit registration process.

Validレジスタ31100は、各エントリ処理部31000(i)の有効/無効を示す1ビットのデータが格納される。Validレジスタ31100は、例えば、エントリ処理部31000(i)として利用されるハードウエア資源に登録された情報が初期化した後等で登録されたエントリ処理部31000(i)に対応するデータが格納される前の状態である場合、無効であることを示す情報「0」が格納されている。また、Validレジスタ31100は、通過した通常パケットヘッダ10000に対応するエントリ処理部31000(i)が割り当てられ、当該通常パケットヘッダ10000に格納されている情報が登録パケット情報レジスタ31200に登録(格納)された状態である場合、有効であることを示す情報「1」が格納されている。   The Valid register 31100 stores 1-bit data indicating validity / invalidity of each entry processing unit 31000 (i). The Valid register 31100 stores, for example, data corresponding to the entry processing unit 31000 (i) registered after information registered in the hardware resource used as the entry processing unit 31000 (i) is initialized. In the state before being stored, information “0” indicating invalidity is stored. The valid register 31100 is assigned an entry processing unit 31000 (i) corresponding to the passed normal packet header 10000, and information stored in the normal packet header 10000 is registered (stored) in the registered packet information register 31200. In this state, information “1” indicating that it is valid is stored.

登録パケット情報レジスタ31200は、複数のフィールド(区分)毎に圧縮対象の属性を示すエントリ登録情報を格納する。例えば、登録パケット情報レジスタ31200は、通常パケットヘッダ10000に含まれるフィードのうちパケット識別子フィールド10001を除く各フィールドに格納されているエントリ登録情報を、フィールド単位で読み出しおよび書き込み可能に保持するレジスタ(あるいは記憶領域)31201〜31207を有している。
各レジスタ31201〜31207は、通常パケットヘッダ10000の各フィールド10002〜10004、10007〜10009および10006のデータである、パケット種別を示すパケット種別情報、デスティネーションを示すデスティネーション情報、リクエスト元の情報を示すリクエスタ情報、上位アドレスを示すアドレス上位情報、中位のアドレスを示すアドレス中位情報、下位アドレスを示すアドレス下位情報、およびその他のフィールド情報を示すその他情報をそれぞれ保持する。各レジスタ31201〜31207には、圧縮辞書テーブル処理部登録処理において、通常パケット保持レジスタ20210のレジスタ20211〜20214、20217〜20219および20216に保持されているデータが所定の条件が成立した場合に取り込まれ、保持される。
The registration packet information register 31200 stores entry registration information indicating attributes to be compressed for each of a plurality of fields (sections). For example, the registration packet information register 31200 is a register (or a register) that holds entry registration information stored in each field excluding the packet identifier field 10001 in the feed included in the normal packet header 10000 so that it can be read and written in units of fields. Storage area) 31201 to 1207.
Each register 31201 to 1207 indicates packet type information indicating the packet type, destination information indicating the destination, and request source information, which are data of each field 10002 to 10004, 10007 to 10009 and 10006 of the normal packet header 10000. Requester information, address high-order information indicating a high-order address, address medium-level information indicating a middle-order address, address low-order information indicating a low-order address, and other information indicating other field information are held. In each of the registers 31201 to 3207, the data held in the registers 20211 to 20214, 20217 to 20219, and 20216 of the normal packet holding register 20210 in the compression dictionary table processing unit registration process is fetched when a predetermined condition is satisfied. , Retained.

一致カウンタ31300は、エントリ登録情報を用いてパケット圧縮が行われた回数を保持するカウンタである。
一致カウンタ31300には、初期状態で「0」が格納されている。また、一致カウンタ31300は、エントリ登録情報を用いてパケット圧縮が行われた場合に、1ずつカウントアップされた情報「1」、「2」、・・・を格納する。
The coincidence counter 31300 is a counter that holds the number of times packet compression has been performed using entry registration information.
The match counter 31300 stores “0” in the initial state. The match counter 31300 stores information “1”, “2”,... Incremented by one when packet compression is performed using entry registration information.

コンパレータ31401〜31407は、通常パケット保持レジスタ20210の各レジスタに格納されている情報(以下、入力情報という)と、登録パケット情報レジスタ31200の各レジスタ31201〜31206に格納されている情報(エントリ登録情報)との比較を、それぞれ対応するフィールド毎に行い、通常パケット保持レジスタ20210の入力情報と登録パケット情報レジスタ31200のエントリ登録情報が少なくとも1つのフィールドで一致するか否かの判定を行う比較器である。
コンパレータ31401〜31407は、通常パケット保持レジスタ20210に含まれる対応のフィールドに格納されている入力情報と、登録パケット情報レジスタ31200に含まれる対応のフィールドに格納されているエントリ登録情報とを比較し、フィールドごとに一致の有無を表す1ビットのデータをそれぞれ出力する。例えば、通常パケット保持レジスタ20210の入力情報と、登録パケット情報レジスタ31200のエントリ登録情報とが一致している場合、コンパレータ31401〜31407は「1」を出力する。一方、通常パケット保持レジスタ20210の入力情報と、登録パケット情報レジスタ31200のエントリ登録情報とが一致していない場合、コンパレータ31401〜31407は「0」を出力する。
The comparators 31401 to 1407 are information stored in each register of the normal packet holding register 20210 (hereinafter referred to as input information) and information (entry registration information) stored in each register 31201 to 31206 of the registered packet information register 31200. ) For each corresponding field, and a comparator that determines whether or not the input information of the normal packet holding register 20210 matches the entry registration information of the registered packet information register 31200 in at least one field. is there.
The comparators 31401 to 1407 compare the input information stored in the corresponding field included in the normal packet holding register 20210 with the entry registration information stored in the corresponding field included in the registration packet information register 31200, 1-bit data representing the presence or absence of a match is output for each field. For example, when the input information of the normal packet holding register 20210 matches the entry registration information of the registered packet information register 31200, the comparators 31401 to 1407 output “1”. On the other hand, if the input information of the normal packet holding register 20210 and the entry registration information of the registered packet information register 31200 do not match, the comparators 31401 to 1407 output “0”.

束線化回路31600は、全てのコンパレータ31401〜31407の出力を束ねた結果を、エントリ処理部31000(i)の比較結果として(ここでは一致情報Gとして)、エントリ処理部31000(i)の外に出力する。この場合、束線化回路31600は、7個のコンパレータ31401〜31407の出力を束ねて7ビットの一致情報Gを出力する。各コンパレータ31401〜31407の比較結果を表す出力はビット幅加算機31500へも入力される。 Bundled wire circuit 31600 is a result of bundling the outputs of all comparators 31401-31407, as the comparison result of the entry processing section 31000 (i) (as matching information G i in this case), entry processing unit 31000 of the (i) Output outside. In this case, bundled wire circuit 31600 outputs matching information G i of 7 bits are bundled output of seven comparators 31401-31407. The output representing the comparison result of each of the comparators 31401 to 1407 is also input to the bit width adder 31500.

ビット幅加算機31500は、各コンパレータ31401〜31407の出力に基づいて、一致したフィールドのビット幅の値を加算して、各エントリ処理部31000(i)の一致ビット幅情報Hとして、エントリ処理部31000(i)の外へ出力する。例えば、通常パケットヘッダ10000のパケット種別フィールド10002のビット幅が7ビット、デスティネーションフィールド10003のビット幅が5ビットであるとする。また、パケット種別レジスタ20212に格納されている入力情報とパケット種別レジスタ31201に格納されているエントリ登録情報とが一致し、かつ、デスティネーションレジスタ20213に格納されている入力情報とデスティネーションレジスタ31202に格納されているエントリ登録情報とが一致しているとする。さらに、この他のフィールドのレジスタに格納された入力情報とエントリ登録情報とがそれぞれ不一致であったとする。この場合、ビット幅加算機31500の出力(一致ビット幅情報H)は、パケット種別フィールドのビット幅「7」と、デスティネーションフィールドのビット幅「5」とを加算した一致ビット幅「12」となる。また、ビット幅加算機31500は、各コンパレータ31401〜31407のいずれにおいても一致している状態が検出されなかった場合には、一致ビット幅情報Hとして「0」を出力する。 The bit width adder 31500 adds the bit width values of the matched fields based on the outputs of the respective comparators 31401 to 1407, and performs entry processing as the matching bit width information H i of each entry processing unit 31000 (i). Output outside the unit 31000 (i). For example, it is assumed that the bit width of the packet type field 10002 of the normal packet header 10000 is 7 bits and the bit width of the destination field 10003 is 5 bits. Also, the input information stored in the packet type register 20212 matches the entry registration information stored in the packet type register 31201, and the input information stored in the destination register 20213 matches the destination register 31202. Assume that the stored entry registration information matches. Furthermore, it is assumed that the input information stored in the register of the other field and the entry registration information do not match. In this case, the output (match bit width information H i ) of the bit width adder 31500 is a match bit width “12” obtained by adding the bit width “7” of the packet type field and the bit width “5” of the destination field. It becomes. Further, the bit width adder 31500 is, when the state in which not match in any of the comparators 31401 to 31407 was not detected, and outputs "0" as the matching bit width information H i.

ビット幅比較論理回路32000は、比較器、セレクタ、カウンタなどの種々の論理回路の複合回路である。ビット幅比較論理回路32000は、各エントリ処理部31000(i)から出力された各エントリの一致ビット幅情報Hとを比較し、比較結果に基づいて一致ビット幅が最大のエントリ処理部31000(i)を示すエントリ番号(i)を出力する。
ただし、ビット幅比較論理回路32000は、同一の最大値である一致ビット幅情報Hを有するエントリ処理部31000(i)が複数あった場合には、例えば最も若い番号のエントリ番号(i)を出力する。あるいは、ビット幅比較論理回路32000は、同一の最大値である一致ビット幅情報Hを有する各エントリ処理部31000(i)の中で一致カウンタ31300の値が最も大きいエントリ番号(i)を出力するようにしてもよい。また、ビット幅比較論理回路32000は、少なくとも1つのフィールドのビット幅に対応する値以上のビット幅の値が、いずれのエントリ処理部31000(i)からも入力されなかった場合、すなわち各エントリ処理部31000(i)の各コンパレータ31401〜31407のいずれにおいても一致している状態が検出されなかった場合には、有効なエントリ番号(i)がないことを示す値のエントリ番号(例えば0や負の値;以下、無効なエントリ番号と称する)を出力する。このビット幅比較論理回路32000から出力されたエントリ番号は、通常パケット保持レジスタ20210に保持されているパケットを、圧縮パケットヘッダ11000(図2参照)に変換する場合(すなわち圧縮する場合)に、エントリ番号フィールド11002に格納される値となる。
The bit width comparison logic circuit 32000 is a composite circuit of various logic circuits such as a comparator, a selector, and a counter. The bit width comparison logic circuit 32000 compares the matching bit width information H i of each entry output from each entry processing unit 31000 (i), and based on the comparison result, the entry processing unit 31000 (maximum matching bit width). The entry number (i) indicating i) is output.
However, when there are a plurality of entry processing units 31000 (i) having the matching bit width information H i having the same maximum value, the bit width comparison logic circuit 32000 selects, for example, the entry number (i) having the smallest number. Output. Alternatively, the bit width comparison logic circuit 32000 outputs the entry number (i) having the largest value of the coincidence counter 31300 among the entry processing units 31000 (i) having the coincidence bit width information H i having the same maximum value. You may make it do. Also, the bit width comparison logic circuit 32000, when a value having a bit width equal to or larger than the value corresponding to the bit width of at least one field is not input from any entry processing unit 31000 (i), that is, each entry processing If no matching state is detected in any of the comparators 31401 to 1407 of the section 31000 (i), the entry number (eg, 0 or negative) indicating that there is no valid entry number (i). (Hereinafter referred to as an invalid entry number). The entry number output from the bit width comparison logic circuit 32000 is an entry number when a packet held in the normal packet holding register 20210 is converted into a compressed packet header 11000 (see FIG. 2) (ie, compressed). The value is stored in the number field 11002.

一致情報選択回路33000は、各エントリ処理部31000(i)の束線化回路31600から出力される一致情報Gを入力し、ビット幅比較論理回路32000から出力されたエントリ番号(i)に基づいて、当該エントリ番号(i)で指定されるエントリ処理部31000(i)の束線化回路31600の出力(一致情報G)を選択して、差し替え情報Sとして出力する。この一致情報選択回路33000から出力された差し替え情報Sは、通常パケット保持レジスタ20210に保持されているパケットを、圧縮パケットヘッダ11000(図2参照)に変換する場合(すなわち圧縮する場合)に、差し替え情報フィールド11003に格納される値となる。なお、一致情報選択回路33000は、ビット幅比較論理回路32000から無効なエントリ番号が出力された場合にはすべてのビットを0(すなわち差し替えしないことを示す値)とした差し替え情報Sを出力する。 Matching information selection circuit 33000 is based on the type of the matching information G i output from the beam line circuit 31600, entry number output from the bit width compare logic 32000 (i) for each entry processing unit 31000 (i) Then, the output (match information G i ) of the bundling circuit 31600 of the entry processing unit 31000 (i) designated by the entry number (i) is selected and output as replacement information S i . The replacement information S i output from the match information selection circuit 33000 is used when a packet held in the normal packet holding register 20210 is converted into a compressed packet header 11000 (see FIG. 2) (that is, when compressed). This value is stored in the replacement information field 11003. When the invalid entry number is output from the bit width comparison logic circuit 32000, the coincidence information selection circuit 33000 outputs replacement information S i with all bits set to 0 (that is, a value indicating that no replacement is performed). .

また、カウンタ制御回路34000は、ビット幅比較論理回路32000から出力されたエントリ番号(i)とパケット圧縮論理回路20230から入力された圧縮情報とに基づいて、当該エントリ番号(i)を用いたパケット圧縮が行われた場合に、当該エントリ番号(i)で指定される(すなわち一致ビット幅が最大のエントリとして決定された)エントリ処理部31000(i)の一致カウンタ31300を選択して、選択した一致カウンタ31300の値を1加算する。   Further, the counter control circuit 34000 uses the entry number (i) output from the bit width comparison logic circuit 32000 and the compression information input from the packet compression logic circuit 20230 to use the packet using the entry number (i). When compression is performed, the match counter 31300 of the entry processing unit 31000 (i) designated by the entry number (i) (that is, determined as the entry having the largest match bit width) is selected and selected. The value of the coincidence counter 31300 is incremented by 1.

登録先選択回路35000は、各エントリ処理部31000(i)0の登録パケット情報レジスタ31200内の値の更新を制御する回路である。登録先選択回路35000には、各エントリ処理部31000(i)におけるValidレジスタ31100の値および一致カウンタ31300のカウント値と、パケット圧縮論理回路20230から出力された圧縮情報とが入力される。
この登録先選択回路35000は、まず、パケット圧縮論理回路20230から入力された圧縮情報に基づいて圧縮処理が行われなかったことを検出した場合に、Validレジスタ31100の値と一致カウンタ31300のカウント値とに基づいて1つのエントリ処理部31000(i)を選択する。ここで、パケット圧縮論理回路20230において圧縮処理が行われなかった場合とは、パケット圧縮論理回路20230において圧縮パケットヘッダの生成が行われず、通常パケットが出力されることを意味する。この場合、受信側では通常パケットが受信されると受信側の圧縮辞書テーブル処理部21220のエントリ登録情報の更新処理が実施されるため、送信側の圧縮辞書テーブル処理部20220においてもエントリ登録情報の更新処理を実施する必要がある。
The registration destination selection circuit 35000 is a circuit that controls updating of the value in the registration packet information register 31200 of each entry processing unit 31000 (i) 0. The registration destination selection circuit 35000 receives the value of the Valid register 31100 and the count value of the match counter 31300 in each entry processing unit 31000 (i), and the compression information output from the packet compression logic circuit 20230.
When the registration destination selection circuit 35000 first detects that compression processing has not been performed based on the compression information input from the packet compression logic circuit 20230, the registration destination selection circuit 35000 matches the value of the Valid register 31100 and the count value of the coincidence counter 31300. Based on the above, one entry processing unit 31000 (i) is selected. Here, the case where the compression processing is not performed in the packet compression logic circuit 20230 means that the packet compression logic circuit 20230 does not generate a compressed packet header and outputs a normal packet. In this case, when a normal packet is received on the receiving side, the entry registration information update process of the compression dictionary table processing unit 21220 on the receiving side is performed. Therefore, the compression dictionary table processing unit 20220 on the transmission side also updates the entry registration information. Update process needs to be implemented.

なお、Validレジスタ31100の値が無効であるエントリ処理部31000(i)がある場合には(まだデータが登録されていないエントリ処理部31000(i)がある場合には)、無効であるエントリ処理部31000(i)の1つが登録先選択回路35000によって選択される。
無効であるエントリ処理部31000(i)が複数ある場合には、例えば最も若い番号のエントリ番号(i)のエントリ処理部31000(i)が登録先選択回路35000によって選択される。一方、Validレジスタ31100の値が無効であるエントリ処理部31000(i)がない場合には、一致カウンタ31300のカウント値が最も小さいエントリ処理部31000(i)の1つが登録先選択回路35000によって選択される。
If there is an entry processing unit 31000 (i) in which the value of the Valid register 31100 is invalid (if there is an entry processing unit 31000 (i) for which data is not yet registered), the entry processing is invalid. One of the units 31000 (i) is selected by the registration destination selection circuit 35000.
When there are a plurality of invalid entry processing units 31000 (i), for example, the entry processing unit 31000 (i) having the lowest entry number (i) is selected by the registration destination selection circuit 35000. On the other hand, when there is no entry processing unit 31000 (i) whose value of the Valid register 31100 is invalid, one of the entry processing units 31000 (i) having the smallest count value of the match counter 31300 is selected by the registration destination selection circuit 35000. Is done.

カウント値が最も小さいエントリ処理部31000(i)が複数ある場合には、例えば最も若い番号のエントリ番号(i)のエントリ処理部31000(i)が登録先選択回路35000によって選択される。そして、登録先選択回路35000は、次に、Validレジスタ31100の値および一致カウンタ31300のカウント値に基づいて選択したエントリ処理部31000(i)の登録パケット情報レジスタ31200に、通常パケット保持レジスタ20210に保持されているデータを登録する。つまり、通常パケット保持レジスタ20210の各レジスタ20212〜20214、20217〜20219および20216に保持されているデータを、登録パケット情報レジスタ31200の各レジスタ31201〜31207に格納する。
また、登録先選択回路35000は、Validレジスタ31100の値および一致カウンタ31300のカウント値に基づいて選択したエントリ処理部31000(i)のValidレジスタ31100の値を有効に設定するとともに、一致カウンタ31300のカウント値を0にクリアする。
When there are a plurality of entry processing units 31000 (i) having the smallest count value, for example, the entry processing unit 31000 (i) having the smallest entry number (i) is selected by the registration destination selection circuit 35000. Then, the registration destination selection circuit 35000 then stores in the registration packet information register 31200 of the entry processing unit 31000 (i) selected based on the value of the Valid register 31100 and the count value of the match counter 31300, to the normal packet holding register 20210. Register retained data. That is, the data held in the registers 20212 to 20214, 20217 to 20219, and 20216 of the normal packet holding register 20210 is stored in the registers 31201 to 1207 of the registered packet information register 31200.
Also, the registration destination selection circuit 35000 sets the value of the Valid register 31100 of the entry processing unit 31000 (i) selected based on the value of the Valid register 31100 and the count value of the match counter 31300 to be valid and Clear the count value to zero.

このようにして、パケット圧縮論理回路20230において圧縮処理が行われなかった場合、圧縮辞書テーブル処理部20220内の情報と少なくとも一部が一致しない通常パケットヘッダ10000は、それが通常パケット保持レジスタ20210を通過した場合に、無効なエントリ、もしくは、カウント値が最小である圧縮辞書テーブル処理部のエントリ処理部31000(i)に取り込まれる。つまり、パケット圧縮論理回路20230において圧縮処理が行われなかった場合、通過する通常パケットヘッダ10000の情報が圧縮辞書テーブル処理部20220に登録されていないため、圧縮辞書テーブル処理部20220は、通過する通常パケットヘッダ10000の情報をエントリ登録情報として、それぞれ対応するフィールド毎に、登録パケット情報レジスタ31200に登録する。   In this way, when the packet compression logic circuit 20230 does not perform compression processing, the normal packet header 10000 that does not at least partially match the information in the compression dictionary table processing unit 20220 is stored in the normal packet holding register 20210. When it passes, it is taken into the invalid entry or the entry processing unit 31000 (i) of the compression dictionary table processing unit having the smallest count value. That is, when the compression processing is not performed in the packet compression logic circuit 20230, the information of the normal packet header 10000 to be passed is not registered in the compression dictionary table processing unit 20220, so that the compression dictionary table processing unit 20220 passes the normal Information of the packet header 10000 is registered as entry registration information in the registration packet information register 31200 for each corresponding field.

次に、図4および図5を参照して、図1に示したパケット送信側LSIのパケット圧縮論理回路20230の動作について説明する。図4はパケット圧縮論理回路20230による処理の流れの一例を示すフローチャートである。図5は、動作例を説明するための図表である。図5の図表では、ケース番号1〜7の7種類の動作例に対応する情報を示している。   Next, the operation of the packet compression logic circuit 20230 of the packet transmission side LSI shown in FIG. 1 will be described with reference to FIG. 4 and FIG. FIG. 4 is a flowchart showing an example of the flow of processing by the packet compression logic circuit 20230. FIG. 5 is a chart for explaining an operation example. In the chart of FIG. 5, information corresponding to seven types of operation examples of case numbers 1 to 7 is shown.

なお、図5の例では、通常パケットヘッダ10000のフィールド長を64ビットとしている。パケット識別子フィールド10001のフィールド長を1ビットとしている。パケット種別フィールド10002のフィールド長を7ビットとしている。デスティネーションフィールド10003のフィールド長を5ビットとしている。リクエスタフィールド10004のフィールド長を5ビットとしている。アドレス上位フィールド10007のフィールド長を22ビットとしている。アドレス中位フィールド10008のフィールド長を9ビットとしている。アドレス下位フィールド10009のフィールド長を8ビットとしている。そして、その他のフィールド10006のフィールド長を7ビットとしている。   In the example of FIG. 5, the field length of the normal packet header 10000 is 64 bits. The field length of the packet identifier field 10001 is 1 bit. The field length of the packet type field 10002 is 7 bits. The field length of the destination field 10003 is 5 bits. The field length of the requester field 10004 is 5 bits. The field length of the upper address field 10007 is 22 bits. The field length of the middle address field 10008 is 9 bits. The field length of the address lower field 10009 is 8 bits. The field length of the other field 10006 is 7 bits.

また、エントリ番号(i)のビット長を8ビットとしている。この場合、例えばエントリ番号(0)を無効なエントリ番号とし、i=1〜255を有効なエントリ番号(i)として用いることができる。   The bit length of the entry number (i) is 8 bits. In this case, for example, the entry number (0) can be used as an invalid entry number, and i = 1 to 255 can be used as a valid entry number (i).

また、差し替え情報Sの各ビットは、図3のコンパレータ31401〜31407の比較結果が一致している場合に「1」、不一致の場合に「0」としている。例えば、ケース番号1では、差し替え情報Sの7ビットがすべて「1」となっている。この場合、図3の7個のコンパレータ31401〜31407における比較結果がすべて一致となっていたことを示している。 Each bit of the replacement information S i is set to “1” when the comparison results of the comparators 31401 to 1407 in FIG. 3 match and “0” when they do not match. For example, in case number 1, all 7 bits of the replacement information S i are “1”. In this case, all the comparison results in the seven comparators 31401 to 1407 in FIG. 3 are in agreement.

さて、いまここで、通常パケット保持レジスタ20210が、リクエスタ20100からパケットを受信したとすると、パケット圧縮論理回路20230は、まず、圧縮辞書テーブル処理部20220から信号線20244を用いて受信した差し替え情報Sに差し替えを行うことが可能である旨の設定、すなわち差し替え情報Sのいずれかのビットに差し替えを行うことが可能であることを示す値(上記の例では1)が設定されているか否かを判定する(図4のステップS11)。パケット圧縮論理回路20230は、差し替え情報Sが設定されていると判定した場合(ステップS11で「yes」の場合)、差し替え情報Sの各ビットの値に基づいて圧縮パケットヘッドのビット数を算出する(ステップS12)。 Now, assuming that the normal packet holding register 20210 receives a packet from the requester 20100, the packet compression logic circuit 20230 first receives the replacement information S received from the compression dictionary table processing unit 20220 using the signal line 20244. i set to the effect it is possible to carry out the replacement, ie whether (in the above example 1) a value indicating that it is possible to perform the replacement on one of bit replacement information S i is set Is determined (step S11 in FIG. 4). When the packet compression logic circuit 20230 determines that the replacement information S i is set (in the case of “yes” in step S11), the packet compression logic circuit 20230 calculates the number of bits of the compressed packet head based on the value of each bit of the replacement information S i. Calculate (step S12).

例えば、図5のケース番号1のように、差し替え情報Sを構成する7個のビットがすべて1である場合、すなわち、いずれかのエントリ番号(i)のエントリ処理部31000(i)においてすべてのコンパレータ31401〜31407で一致が検出された場合、当該エントリ処理部31000(i)の登録パケット情報レジスタ31200に保持されている各フィールドのデータと、通常パケット保持レジスタ20210に保持されている対応する各フィールドのデータとがすべて一致したことになる。この場合、一致ビットの合計数は63ビットとなる(すなわち通常パケットヘッダ10000のビット幅64ビットからパケット識別子フィールド10001の1ビットを減じた値となる)。この場合、圧縮パケットヘッダ11000は、不一致フィールド11004が0ビットとなるので、1ビットのパケット識別子フィールド11001と、8ビットのエントリ番号フィールド11002と、7ビットの差し替え情報フィールド11003との合計16ビットから構成されることになる。ちなみに、この場合、パケット受信側LSI21000では、圧縮パケットヘッダ11000内のエントリ番号フィールド11002内に格納されているエントリ番号(i)の情報のみで(すなわち差し替え情報S無しで)圧縮前の通常パケットヘッダ10000と同一のデータを復元することができる。 For example, as in case number 1 in FIG. 5, when all the 7 bits constituting the replacement information S i are 1, that is, in the entry processing unit 31000 (i) of any entry number (i) When a match is detected by the comparators 31401 to 1407, the data of each field held in the registered packet information register 31200 of the entry processing unit 31000 (i) and the corresponding data held in the normal packet holding register 20210 All the data in each field match. In this case, the total number of coincidence bits is 63 bits (that is, a value obtained by subtracting 1 bit of the packet identifier field 10001 from 64 bits of the normal packet header 10000). In this case, since the mismatch field 11004 is 0 bits, the compressed packet header 11000 has a total of 16 bits including a 1-bit packet identifier field 11001, an 8-bit entry number field 11002, and a 7-bit replacement information field 11003. Will be composed. Incidentally, in this case, the packet receiving side LSI 21000 uses only the information of the entry number (i) stored in the entry number field 11002 in the compressed packet header 11000 (that is, without the replacement information S i ) before the normal packet before compression. The same data as the header 10000 can be restored.

また、例えば、図5のケース番号2のように、差し替え情報Sを構成する5個のビットが1で、アドレス下位フィールド10009とその他のフィールド10006とに対応する2個のビットが0であったとする。
この場合、いずれかのエントリ番号(i)のエントリ処理部31000(i)において5個のコンパレータ31401〜31405で一致が、また2個のコンパレータ31406〜31407で不一致が検出されたことになる。すなわち、この場合、当該エントリ処理部31000(i)の登録パケット情報レジスタ31200に保持されている各フィールドのデータは、通常パケット保持レジスタ20210に保持されている対応する各フィールドのデータと比較すると以下のようになる。つまり、下位アドレスを示すアドレス下位情報を保持するレジスタ31206と、その他のフィールド情報を示すその他情報を保持するレジスタ31207とに保持されているデータを除く、レジスタ31201〜31205で保持されているデータが一致したことになる。
Further, for example, as in case number 2 in FIG. 5, the five bits constituting the replacement information S i are 1, and the two bits corresponding to the address lower field 10009 and the other fields 10006 are 0. Suppose.
In this case, in the entry processing unit 31000 (i) of any entry number (i), a match is detected by the five comparators 31401 to 1405, and a mismatch is detected by the two comparators 31406 to 31407. That is, in this case, the data of each field held in the registered packet information register 31200 of the entry processing unit 31000 (i) is compared with the data of each corresponding field held in the normal packet holding register 20210 as follows. become that way. That is, the data held in the registers 31201 to 1205 excluding the data held in the register 31206 that holds the address lower information indicating the lower address and the register 31207 that holds the other information indicating other field information. Matched.

この場合、一致ビットの合計数は48ビットとなる(すなわち通常パケットヘッダ10000のビット幅64ビットからパケット識別子フィールド10001の1ビット、アドレス下位フィールド10009の8ビット、およびその他のフィールド10006の7ビットを減じた値となる)。また、この場合、圧縮パケットヘッダ11000では、不一致フィールド11004に、アドレス下位フィールド10009の8ビットのデータとその他のフィールド10006の7ビットのデータとが格納されることになる。すなわち、不一致フィールド11004のビット数は合計で15ビットとなる。したがって、圧縮パケットヘッダ11000は、1ビットのパケット識別子フィールド11001と、8ビットのエントリ番号フィールド11002と、7ビットの差し替え情報フィールド11003と、15ビットのその他のフィールド10006との合計31ビットから構成されることになる。   In this case, the total number of matching bits is 48 bits (that is, from the bit width of 64 bits of the normal packet header 10000 to 1 bit of the packet identifier field 10001, 8 bits of the address lower field 10009, and 7 bits of the other field 10006). Reduced value). In this case, in the compressed packet header 11000, 8-bit data in the address lower field 10009 and 7-bit data in the other field 10006 are stored in the mismatch field 11004. That is, the total number of bits in the mismatch field 11004 is 15 bits. Therefore, the compressed packet header 11000 is composed of a total of 31 bits including a 1-bit packet identifier field 11001, an 8-bit entry number field 11002, a 7-bit replacement information field 11003, and a 15-bit other field 10006. Will be.

同様に、図5のケース番号3、4、5、6および7の例では、圧縮パケットヘッダ11000の合計ビット数は24、46、51、56および63ビットとなる。
ここで、ケース番号3は、中位アドレスを示すアドレス中位情報を保持するレジスタ31205と、下位アドレスを示すアドレス下位情報を保持するレジスタ31206と、その他のフィールド情報を示すその他情報を保持するレジスタ31207とに保持されているデータが不一致となる例に対応している。
また、ケース番号4は、ケース番号3で不一致としたレジスタ31205〜31207に加え、上位アドレスを示すアドレス上位情報を保持するレジスタ31204に保持されているデータが不一致となる例に対応している。
また、ケース番号5は、ケース番号4で不一致としたレジスタ31204〜31207に加え、リクエスト元の情報を示すリクエスタ情報を保持するレジスタ31203に保持されているデータが不一致となる例に対応している。
また、ケース番号6は、ケース番号5で不一致としたレジスタ31203〜31207に加え、デスティネーションを示すデスティネーション情報を保持するレジスタ31202に保持されているデータが不一致となる例に対応している。
そして、ケース番号7は、ケース番号6で不一致としたレジスタ31202〜31207に加え、パケット種別を示すパケット種別情報を保持するレジスタ31201に保持されているデータが不一致となる例に対応している。
Similarly, in the examples of case numbers 3, 4, 5, 6, and 7 in FIG. 5, the total number of bits of the compressed packet header 11000 is 24, 46, 51, 56, and 63 bits.
Here, the case number 3 is a register 31205 that holds address middle information indicating a middle address, a register 31206 that holds address lower information indicating a lower address, and a register that holds other information indicating other field information. This corresponds to an example in which the data held in 31207 does not match.
Case number 4 corresponds to an example in which the data held in the register 31204 holding the address high-order information indicating the high-order address does not match, in addition to the registers 31205 to 31207 that do not match the case number 3.
Case number 5 corresponds to an example in which the data held in the register 31203 holding the requester information indicating the information of the request source is inconsistent in addition to the registers 31204 to 31207 that are not matched in the case number 4. .
Case number 6 corresponds to an example in which the data held in the register 31202 that holds the destination information indicating the destination is inconsistent in addition to the registers 31203 to 31207 that are not matched in the case number 5.
Case number 7 corresponds to an example in which the data held in the register 31201 holding the packet type information indicating the packet type is inconsistent in addition to the registers 31202 to 31207 that are not matched in the case number 6.

次に、パケット圧縮論理回路20230は、圧縮時のパケットヘッダすなわち圧縮パケットヘッダのビット数と、非圧縮時のパケットヘッダすなわち通常パケットヘッダ10000のビット数とを比較する(ステップS14)。例えば図5に示した例では、パケット圧縮論理回路20230が、ステップS13で求めた圧縮パケットヘッダのビット数と、通常パケットヘッダ10000のビット数64ビットとを比較する。   Next, the packet compression logic circuit 20230 compares the number of bits of the compressed packet header, that is, the compressed packet header, with the number of bits of the non-compressed packet header, that is, the normal packet header 10000 (step S14). For example, in the example shown in FIG. 5, the packet compression logic circuit 20230 compares the number of bits of the compressed packet header obtained in step S13 with the number of bits of the normal packet header 10000 of 64 bits.

ステップS13での比較の結果、圧縮時のパケットヘッダすなわち圧縮パケットヘッダのビット数が、非圧縮時のパケットヘッダすなわち通常パケットヘッダ10000のビット数より少ない場合(ステップS14で「yes」の場合)、パケット圧縮論理回路20230は、エントリ番号(i)および差し替え情報Sと通常パケットヘッダ10000とに基づいて圧縮パケットヘッダ11000を生成する(ステップS15)。また、ステップS15では、パケットヘッダ11000を生成した旨を示す圧縮情報が出力される。 As a result of the comparison in step S13, if the number of bits in the compressed packet header, ie, the compressed packet header, is smaller than the number of bits in the non-compressed packet header, ie, the normal packet header 10000 (in the case of “yes” in step S14), The packet compression logic circuit 20230 generates a compressed packet header 11000 based on the entry number (i), the replacement information S i, and the normal packet header 10000 (step S15). In step S15, compressed information indicating that the packet header 11000 has been generated is output.

上述したように、図5のケース番号1の例では、圧縮パケットヘッダ11000のビット数が16ビットとなるので、ステップS14では圧縮パケットヘッダのビット数が、通常パケットヘッダ10000のビット数64ビットより少ないとパケット圧縮論理回路20230によって判定される(ステップS14で「yes」)。
よって、ステップS15では、パケット圧縮論理回路20230によって圧縮パケットヘッダが生成される。この場合、上述したように、1ビットのパケット識別子フィールド11001と、8ビットのエントリ番号フィールド11002と、7ビットの差し替え情報フィールド11003とからなる合計16ビットの圧縮パケットヘッダ11000がパケット圧縮論理回路20230によって生成される。
As described above, in the example of case number 1 in FIG. 5, the number of bits of the compressed packet header 11000 is 16 bits. Therefore, in step S14, the number of bits of the compressed packet header is greater than the number of bits of 64 bits of the normal packet header 10000. If it is less, it is determined by the packet compression logic 20230 (“yes” in step S14).
Therefore, in step S15, the packet compression logic circuit 20230 generates a compressed packet header. In this case, as described above, the 16-bit compressed packet header 11000 including the 1-bit packet identifier field 11001, the 8-bit entry number field 11002, and the 7-bit replacement information field 11003 is the packet compression logic circuit 20230. Generated by.

また、図5のケース番号2の例では、圧縮パケットヘッダ11000のビット数が31ビットとなるので、ステップS14では圧縮パケットヘッダのビット数が、通常パケットヘッダ10000のビット数64ビットより少ないと判定される(ステップS14で「yes」)。よって、ステップS15ではパケット圧縮論理回路20230によって圧縮パケットヘッダが生成される。
この場合、上述したように、1ビットのパケット識別子フィールド11001と、8ビットのエントリ番号フィールド11002と、7ビットの差し替え情報フィールド11003と、15ビットのその他のフィールド10006からなる合計31ビットの圧縮パケットヘッダ11000がパケット圧縮論理回路20230によって生成される。
In the example of case number 2 in FIG. 5, since the number of bits of the compressed packet header 11000 is 31 bits, it is determined in step S14 that the number of bits of the compressed packet header is less than the number of bits of the normal packet header 10000. (“Yes” in step S14). Therefore, in step S15, the packet compression logic circuit 20230 generates a compressed packet header.
In this case, as described above, a compressed packet of 31 bits in total consisting of a 1-bit packet identifier field 11001, an 8-bit entry number field 11002, a 7-bit replacement information field 11003, and another 15-bit field 10006. A header 11000 is generated by the packet compression logic 20230.

他方、例えば図5のケース番号5の例では、圧縮パケットヘッダ11000のビット数が67ビットとなるので、ステップS14では圧縮パケットヘッダのビット数が、通常パケットヘッダ10000のビット数64ビットより少なくないとパケット圧縮論理回路20230によって判定される(ステップS14で「no」)。
この場合には、パケット圧縮論理回路20230は、通常パケット保持レジスタ20210から受信した通常パケットをSerDes送信部20300に向けて出力する(ステップS17)。また、ステップS11の判定結果がnoとなった場合も同様にステップS17から通常パケットが出力される。
On the other hand, for example, in the case of case number 5 in FIG. 5, the number of bits of the compressed packet header 11000 is 67 bits. Therefore, in step S14, the number of bits of the compressed packet header is not less than 64 bits of the normal packet header 10000. Is determined by the packet compression logic circuit 20230 (“no” in step S14).
In this case, the packet compression logic circuit 20230 outputs the normal packet received from the normal packet holding register 20210 to the SerDes transmission unit 20300 (step S17). Similarly, when the determination result in step S11 is no, a normal packet is output from step S17.

ステップS15でパケット圧縮論理回路20230が圧縮パケットヘッダを生成すると、パット生成論理20230は、通常パケット保持レジスタ20210から受信した通常パケットの通常パケットヘッダ10000をステップS15で生成した圧縮パケットヘッダで差し替えることで、圧縮パケットを生成し、SerDes送信部20300に向けて出力する(ステップS16)。   When the packet compression logic circuit 20230 generates the compressed packet header in step S15, the pad generation logic 20230 replaces the normal packet header 10000 of the normal packet received from the normal packet holding register 20210 with the compressed packet header generated in step S15. The compressed packet is generated and output to the SerDes transmission unit 20300 (step S16).

例えば、図5のケース番号1の例では、64ビットの通常パケットヘッダ10000がパケット圧縮論理回路20230によって16ビットの圧縮パケットヘッダに差し替えられる。
この場合、64ビットから16ビットへの48ビットの削減効果が得られる。また、図5のケース番号2の例では、64ビットの通常パケットヘッダ10000がパケット圧縮論理回路20230によって31ビットの圧縮パケットヘッダに差し替えられる。この場合、64ビットから31ビットへの33ビットの削減効果が得られる。
同様に、図5のケース番号3とケース番号4の例では、それぞれ24ビットと2ビットの削減効果を得ることができる。一方、ケース番号5〜7の例では、削減効果が無く、パケットヘッダは圧縮されない。
For example, in the case of case number 1 in FIG. 5, the 64-bit normal packet header 10000 is replaced by the packet compression logic circuit 20230 with a 16-bit compressed packet header.
In this case, a reduction effect of 48 bits from 64 bits to 16 bits can be obtained. In the example of case number 2 in FIG. 5, the 64-bit normal packet header 10000 is replaced by the packet compression logic circuit 20230 with a 31-bit compressed packet header. In this case, a reduction effect of 33 bits from 64 bits to 31 bits can be obtained.
Similarly, in the case of case number 3 and case number 4 in FIG. 5, a reduction effect of 24 bits and 2 bits can be obtained, respectively. On the other hand, in the examples of case numbers 5 to 7, there is no reduction effect and the packet header is not compressed.

このように、パケット圧縮論理回路20230は、圧縮辞書テーブル処理部20220から受信したエントリ番号(i)と、差し替え情報Sの情報を元に、通常パケット保持レジスタ20210から受信した通常パケットヘッダ10000を圧縮効果がある場合に圧縮パケットヘッダに差し替えることで、圧縮パケットを生成する。
一方、パケット圧縮論理回路20230は、圧縮辞書テーブル処理部20220から受信した差し替え情報Sで、差し替え情報Sで差し替えた場合に通常パケットよりビット幅が大きくなる場合は、差し替えを行わず、通常パケットのまま転送を行う。
As described above, the packet compression logic circuit 20230 receives the normal packet header 10000 received from the normal packet holding register 20210 based on the entry number (i) received from the compression dictionary table processing unit 20220 and the information of the replacement information S i. When there is a compression effect, a compressed packet is generated by replacing the compressed packet header.
On the other hand, the packet compression logic circuit 20230 does not perform replacement if the replacement information S i received from the compression dictionary table processing unit 20220 has a bit width larger than that of a normal packet when replaced by the replacement information S i. The packet is transferred as it is.

なお、図5に示した図表について詳細に説明を行うと次のようになる。すなわち、図5に示した図表は、パケット送信側LSI20000のパケット圧縮論理回路20230の動作の一例を示している。
図5の図表では、パケット圧縮論理回路20230が圧縮辞書テーブル処理部20220から受信する差し替え情報Sのケース(全ケースではない)と、その時に生成する圧縮パケットのビット幅、および、圧縮パケット生成の有無を示している。
なお、各フィールドのビット幅は仮に設定した値であり、コンピュータシステムの制御方式に依存し増減する事が有る。
本実施形態では、パケット識別子フィールドは1ビット幅(0は通常パケット、1は圧縮パケット)、パケット種別フィールドは7ビット、デスティネーションフィールドは5ビット、リクエスタフィールドは5ビット、アドレスフィールドは39ビットとし、アドレスフィールドの一致比較範囲は上位22ビット、中位9ビット、下位8ビットと分割している。
また、これら以外の、その他フィールドは7ビットとして、計算している。圧縮パケットに関しては、パケット識別子フィールド1ビット、エントリ番号情報を8ビット、差し替え情報Sを7bitとし、不一致フィールドは、不一致フィールドの数、幅により可変である。この場合、不一致フィールドが存在しない圧縮パケットでも、16ビットの幅を必要となる。尚、通常パケットのヘッダのビット幅は、64ビットとしている。
The details of the chart shown in FIG. 5 will be described as follows. That is, the chart shown in FIG. 5 shows an example of the operation of the packet compression logic circuit 20230 of the packet transmission side LSI 20000.
In the diagram of FIG. 5, a case of replacement information S i the packet compression logic circuit 20230 receives from the compression dictionary table processing section 20220 (not all cases), the bit width of the compressed packet to be generated at that time, and the compressed packet generation Indicates the presence or absence.
Note that the bit width of each field is a temporarily set value and may increase or decrease depending on the control method of the computer system.
In this embodiment, the packet identifier field is 1 bit wide (0 is a normal packet, 1 is a compressed packet), the packet type field is 7 bits, the destination field is 5 bits, the requester field is 5 bits, and the address field is 39 bits. The match comparison range of the address field is divided into upper 22 bits, middle 9 bits, and lower 8 bits.
In addition, other fields are calculated as 7 bits. Respect compressed packet includes a packet identifier field 1 bit, the entry number information 8 bits, the replacement information S i the 7bit, mismatch field is variable number of mismatches field, by the width. In this case, a 16-bit width is required even for a compressed packet having no mismatch field. The bit width of the normal packet header is 64 bits.

さらに、図5の図表のケース番号1を例に説明する。ケース1では、圧縮辞書テーブル処理部20220から信号線20244で受信する差し替え情報Sは、比較対象の全てのフィールドで一致を検出したことを示す結果なので、一致ビットは63ビットという結果となる。
圧縮パケットを生成した場合、不一致フィールド分が存在しないので、圧縮パケットのビット幅は16ビットのみとなり、48ビットの削減効果が有る。
この場合、パケット圧縮論理回路20230は効果有りと判断し、差し替え動作を行う。ケース2〜4に関しても同様であるが、不一致した情報を不一致フィールドに追加するため、その分効果は低くなるが、通常パケットと比べてビット幅を削減できるため、圧縮パケットへの差し替えは実施する。ケース5〜7に関しては、圧縮パケットを生成した場合、圧縮パケットの方が通常パケットよりも大きくなるため、圧縮パケットへの差し替えは実施されない。
Further, the case number 1 in the diagram of FIG. 5 will be described as an example. In case 1, since the replacement information S i received from the compression dictionary table processing unit 20220 through the signal line 20244 is a result indicating that a match is detected in all the comparison target fields, the match bit is 63 bits.
When a compressed packet is generated, there is no mismatch field, so the bit width of the compressed packet is only 16 bits, and there is a 48-bit reduction effect.
In this case, the packet compression logic circuit 20230 determines that there is an effect and performs a replacement operation. The same applies to cases 2 to 4, but since the mismatched information is added to the mismatch field, the effect is reduced accordingly, but the bit width can be reduced compared to the normal packet, so replacement with a compressed packet is performed. . Regarding cases 5 to 7, when a compressed packet is generated, the compressed packet is larger than the normal packet, so that the replacement with the compressed packet is not performed.

一方、図1に示したパケット受信部21200は、圧縮パケット保持レジスタ21210、圧縮辞書テーブル処理部21220、およびパケット復元論理21230から構成される。圧縮パケット保持レジスタ21210は、SerDes受信部21100から受信した圧縮パケットまたは通常パケットのパケットヘッダをターゲット21300へ出力するタイミングまで一時保持する。圧縮辞書テーブル処理部21220は、復元情報のデータとなる先行パケットのヘッダ情報を保持する。パケット復元論理21230は、パケットヘッダを圧縮前の情報に復元し、またはそのまま用いて通常パケットを生成し、ターゲット21300へ送信する。   On the other hand, the packet receiving unit 21200 shown in FIG. 1 includes a compressed packet holding register 21210, a compressed dictionary table processing unit 21220, and a packet restoration logic 21230. The compressed packet holding register 21210 temporarily holds the compressed packet received from the SerDes receiving unit 21100 or the packet header of the normal packet until the timing at which the packet header is output to the target 21300. The compression dictionary table processing unit 21220 holds header information of a preceding packet that is data of restoration information. The packet restoration logic 21230 restores the packet header to the information before compression, or uses the packet header as it is to generate a normal packet and transmits it to the target 21300.

パケット受信側LSI21000内の圧縮辞書テーブル処理部21220の詳細構成例を図6に示す。なお、図6では、圧縮パケット保持レジスタ21210の中で、圧縮パケットヘッダを保持する部分をレジスタ21210Aとして、また、通常パケットヘッダ10000を保持する部分をレジスタ21210Bとして示している。
すなわち、図6においてレジスタ(あるいは記憶領域)21211B〜21218Bには、図2(A)に示した通常パケットヘッダ10000を構成するパケット識別子フィールド10001、パケット種別フィールド10002、デスティネーションフィールド10003、リクエスタフィールド10004、アドレス上位フィールド10007、アドレス中位フィールド10008、アドレス下位フィールド10009、およびその他のフィールド10006内のデータが保持される。
また、レジスタ(あるいは記憶領域)21211A〜21214Aには、図2(B)に示した圧縮パケットヘッダ11000を構成するパケット識別子フィールド11001、エントリ番号フィールド11002、差し替え情報フィールド11003、および不一致フィールド11004内のデータが保持される。
A detailed configuration example of the compression dictionary table processing unit 21220 in the packet receiving side LSI 21000 is shown in FIG. In FIG. 6, in the compressed packet holding register 21210, a part holding the compressed packet header is shown as a register 21210A, and a part holding the normal packet header 10000 is shown as a register 21210B.
That is, in FIG. 6, registers (or storage areas) 21211B to 21218B have a packet identifier field 10001, a packet type field 10002, a destination field 10003, and a requester field 10004 that constitute the normal packet header 10000 shown in FIG. , Data in the upper address field 10007, middle address field 10008, lower address field 10009, and other fields 10006 are held.
The registers (or storage areas) 21211A to 21214A include a packet identifier field 11001, an entry number field 11002, a replacement information field 11003, and a mismatch field 11004 that constitute the compressed packet header 11000 shown in FIG. Data is retained.

図3に示した圧縮辞書テーブル処理部21220は、複数のエントリ処理部41000(i)と、カウンタ制御回路44000と、登録先選択回路45000と、パケット情報選択回路46000とを有している。各エントリ処理部41000(i)は、同一構成であるが、各エントリ処理部41000(i)には固有の識別情報(あるいは位置情報)である異なるエントリ番号(i)が割り当てられている。   The compression dictionary table processing unit 21220 shown in FIG. 3 has a plurality of entry processing units 41000 (i), a counter control circuit 44000, a registration destination selection circuit 45000, and a packet information selection circuit 46000. Each entry processing unit 41000 (i) has the same configuration, but each entry processing unit 41000 (i) is assigned a different entry number (i) which is unique identification information (or position information).

エントリ処理部41000(i)は、Validレジスタ41100、およびパケット情報レジスタ41200を有している。Validレジスタ41100は、図3に示したValidレジスタ31100に対応する構成であり、そのエントリの有効/無効を示す1ビットのデータが格納される。
Validレジスタ41100は、例えば、初期化した後等でデータが格納される前の状態で無効に、パケット情報レジスタ41200に通常パケットヘッダ10000が格納された状態で有効に設定される。
パケット情報レジスタ41200は、図3に示した登録パケット情報レジスタ31200に対応する構成であり、通常パケットヘッダ10000の各フィールド情報をフィールド単位で読み出しおよび書き込み可能に保持するレジスタである。
一致カウンタ41300は、図3に示した一致カウンタ31300に対応する構成であり、後続パケットと一致した回数(すなわち、パケット情報レジスタ41200が保持するデータがパケットヘッダを復元する際に使用された回数)を保持するカウンタである。
この一致カウンタ41300は、初期状態で0にクリアされ、圧縮パケット保持レジスタ21210内のレジスタ21212Aに保持されたエントリ番号(i)が当該エントリ処理部41000(i)のエントリ番号(i)と一致した場合に1ずつカウントアップするカウンタである。
The entry processing unit 41000 (i) includes a Valid register 41100 and a packet information register 41200. The Valid register 41100 has a configuration corresponding to the Valid register 31100 shown in FIG. 3, and stores 1-bit data indicating validity / invalidity of the entry.
The Valid register 41100 is set to be invalid in a state before data is stored after initialization, for example, and valid in a state where the normal packet header 10000 is stored in the packet information register 41200.
The packet information register 41200 has a configuration corresponding to the registered packet information register 31200 shown in FIG. 3, and is a register that holds each field information of the normal packet header 10000 so that it can be read and written in units of fields.
The coincidence counter 41300 has a configuration corresponding to the coincidence counter 31300 shown in FIG. 3, and the number of coincidence with the subsequent packet (that is, the number of times that the data held in the packet information register 41200 is used when restoring the packet header). Is a counter that holds
The match counter 41300 is cleared to 0 in the initial state, and the entry number (i) held in the register 21212A in the compressed packet holding register 21210 matches the entry number (i) of the entry processing unit 41000 (i). In this case, the counter counts up by one.

パケット情報レジスタ41200は、図3に示した登録パケット情報レジスタ31200に対応する構成であり、レジスタ(あるいは記憶領域)41201〜41207を有している。
各レジスタ41201〜41207は、通常パケットヘッダ10000の各フィールド10002〜10004、10007〜10009および10006のデータである、パケット種別を示すパケット種別情報、デスティネーションを示すデスティネーション情報、リクエスト元の情報を示すリクエスタ情報、上位アドレスを示すアドレス上位情報、中位のアドレスを示すアドレス中位情報、下位アドレスを示すアドレス下位情報、およびその他のフィールド情報を示すその他情報をそれぞれ保持する。
各レジスタ41201〜41207には、圧縮パケット保持レジスタ21210のレジスタ20211B〜20214B、20217B〜20219Bおよび20216Bに保持されているデータが取り込まれ、保持される。つまり、圧縮パケット保持レジスタ21210に(圧縮パケットではなく)通常パケットが通過する際に、複数のエントリ処理部41000(i)中から登録先選択回路45000で1つのエントリ処理部41000(i)が選択され、そして、選択されたエントリ処理部41000(i)にデータの取り込みが行われる。
The packet information register 41200 corresponds to the registered packet information register 31200 shown in FIG. 3, and includes registers (or storage areas) 41201 to 41207.
Each register 41201 to 41207 indicates packet type information indicating the packet type, destination information indicating the destination, and request source information, which is data of each field 10002 to 10004, 10007 to 10009 and 10006 of the normal packet header 10000. Requester information, address high-order information indicating a high-order address, address medium-level information indicating a middle-order address, address low-order information indicating a low-order address, and other information indicating other field information are held.
The data held in the registers 20211B to 20214B, 20217B to 20219B, and 20216B of the compressed packet holding register 21210 are fetched and held in the registers 41201 to 41207, respectively. That is, when a normal packet (not a compressed packet) passes through the compressed packet holding register 21210, one entry processing unit 41000 (i) is selected by the registration destination selection circuit 45000 from among a plurality of entry processing units 41000 (i). Then, data is taken into the selected entry processing unit 41000 (i).

また、カウンタ制御回路44000は、図3に示したカウンタ制御回路34000に対応する構成であり、圧縮パケット保持レジスタ21210内のレジスタ21211Aに保持されているパケット識別子フィールドが圧縮状態であることを示している場合に、レジスタ21212Aに保持されたエントリ番号(i)と一致するエントリ処理部41000(i)を選択し、選択した一致カウンタ41300の値を1加算する。   The counter control circuit 44000 has a configuration corresponding to the counter control circuit 34000 shown in FIG. 3, and indicates that the packet identifier field held in the register 21211A in the compressed packet holding register 21210 is in a compressed state. If there is, the entry processing unit 41000 (i) matching the entry number (i) held in the register 21212A is selected, and the value of the selected match counter 41300 is incremented by one.

また、登録先選択回路45000は、図3に示した登録先選択回路35000に対応する構成であり、各エントリ処理部41000(i)0内のパケット情報レジスタ41200内の値の更新を制御する回路である。
登録先選択回路45000には、圧縮パケット保持レジスタ21210内のレジスタ21211Bおよびレジスタ21211Aに保持されている値(パケット識別子フィールド)と、各エントリ処理部41000(i)におけるValidレジスタ41100の値および一致カウンタ41300のカウント値とが入力される。
Further, the registration destination selection circuit 45000 has a configuration corresponding to the registration destination selection circuit 35000 shown in FIG. 3, and is a circuit that controls updating of the value in the packet information register 41200 in each entry processing unit 41000 (i) 0. It is.
The registration destination selection circuit 45000 includes a value (packet identifier field) held in the registers 21211B and 21211A in the compressed packet holding register 21210, a value of the Valid register 41100 in each entry processing unit 41000 (i), and a match counter. A count value of 41300 is input.

この登録先選択回路45000は、圧縮パケット保持レジスタ21210内のレジスタ21211Bに保持されているパケット識別子フィールドが圧縮状態ではない(すなわち通常パケットヘッダ10000である)ことを示している場合に、Validレジスタ41100の値と一致カウンタ41300のカウント値とに基づいて1つのエントリ処理部41000(i)0を選択する。
この選択で用いられる条件は、図3に示した登録先選択回路35000で使われるものと同一である。つまり、Validレジスタ41100の値が無効であるエントリ処理部41000(i)がある場合には、無効であるエントリ処理部41000(i)の1つが登録先選択回路45000によって選択される。
無効であるエントリ処理部41000(i)が複数ある場合には、例えば最も若い番号のエントリ番号(i)のエントリ処理部41000(i)が登録先選択回路45000によって選択される。
一方、Validレジスタ41100の値が無効であるエントリ処理部41000(i)がない場合には、一致カウンタ41300のカウント値が最も小さいエントリ処理部41000(i)の1つが登録先選択回路45000によって選択される。
カウント値が最も小さいエントリ処理部41000(i)が複数ある場合には、例えば最も若い番号のエントリ番号(i)のエントリ処理部41000(i)が登録先選択回路45000によって選択される。
When the packet identifier field held in the register 21211B in the compressed packet holding register 21210 indicates that the packet identifier field is not in a compressed state (that is, the normal packet header 10000), the registration destination selection circuit 45000 One entry processing unit 41000 (i) 0 is selected on the basis of the value of and the count value of the coincidence counter 41300.
The conditions used in this selection are the same as those used in the registration destination selection circuit 35000 shown in FIG. That is, when there is an entry processing unit 41000 (i) whose value in the Valid register 41100 is invalid, one of the entry processing units 41000 (i) whose value is invalid is selected by the registration destination selection circuit 45000.
If there are a plurality of invalid entry processing units 41000 (i), for example, the entry processing unit 41000 (i) having the lowest entry number (i) is selected by the registration destination selection circuit 45000.
On the other hand, if there is no entry processing unit 41000 (i) whose value of the Valid register 41100 is invalid, one of the entry processing units 41000 (i) having the smallest count value of the match counter 41300 is selected by the registration destination selection circuit 45000. Is done.
When there are a plurality of entry processing units 41000 (i) having the smallest count value, for example, the entry processing unit 41000 (i) having the smallest entry number (i) is selected by the registration destination selection circuit 45000.

そして、登録先選択回路45000は、Validレジスタ41100の値および一致カウンタ41300のカウント値に基づいて選択したエントリ処理部41000(i)のパケット情報レジスタ41200に、圧縮パケット保持レジスタ21210のレジスタ21210Bに保持されているデータを登録する。つまり、圧縮パケット保持レジスタ21210の各レジスタ20212B〜20214B、20217B〜20219Bおよび20216Bに保持されているデータ(つまり通常パケットヘッダの情報)を、パケット情報レジスタ41200の各レジスタ41201〜41207に格納する。
また、登録先選択回路45000は、Validレジスタ41100の値および一致カウンタ41300のカウント値に基づいて選択したエントリ処理部41000(i)のValidレジスタ41100の値を有効に設定するとともに、一致カウンタ41300のカウント値を0にクリアする。
Then, the registration destination selection circuit 45000 holds the packet information register 41200 of the entry processing unit 41000 (i) selected based on the value of the Valid register 41100 and the count value of the match counter 41300, and holds it in the register 21210B of the compressed packet holding register 21210. Registered data. That is, the data held in the respective registers 20212B to 20214B, 20217B to 20219B, and 20216B of the compressed packet holding register 21210 (that is, information of the normal packet header) is stored in the respective registers 41201 to 41207 of the packet information register 41200.
In addition, the registration destination selection circuit 45000 sets the value of the Valid register 41100 of the entry processing unit 41000 (i) selected based on the value of the Valid register 41100 and the count value of the match counter 41300 to be valid, Clear the count value to zero.

このようにして、圧縮辞書テーブル処理部21220内の情報と一致しない通常パケットヘッダは、それが圧縮パケット保持レジスタ21210を通過した場合に、無効なエントリ、もしくは、カウント値が最小である圧縮辞書テーブル処理部のエントリ処理部41000(i)に取り込まれる。   In this way, a normal packet header that does not match the information in the compression dictionary table processing unit 21220 is an invalid entry or a compression dictionary table having a minimum count value when it passes through the compressed packet holding register 21210. The data is taken into the entry processing unit 41000 (i) of the processing unit.

上記のように、登録先選択回路45000によるエントリ処理部41000(i)の選択条件は、図3に示した登録先選択回路35000によるエントリ処理部31000(i)の選択条件と同一となるように設定されている。したがって、圧縮辞書テーブル処理部20220内の各エントリ処理部31000(i)の各レジスタ31100および31200ならびに一致カウンタ31300に格納されているデータと、圧縮辞書テーブル処理部21220内の各エントリ処理部41000(i)の各レジスタ41100および41200ならびに一致カウンタ41300に格納されているデータとは一致することになる。   As described above, the selection conditions of the entry processing unit 41000 (i) by the registration destination selection circuit 45000 are the same as the selection conditions of the entry processing unit 31000 (i) by the registration destination selection circuit 35000 shown in FIG. Is set. Therefore, the data stored in each of the registers 31100 and 31200 and the match counter 31300 of each entry processing unit 31000 (i) in the compression dictionary table processing unit 20220 and each entry processing unit 41000 ( The data stored in the registers 41100 and 41200 and the coincidence counter 41300 in i) coincide with each other.

すなわち、圧縮辞書テーブル処理部20220のパケット情報の保持制御は、パケット送信側LSI20000の圧縮辞書テーブル処理部20220での制御と同じである。このため、時間差は有るものの、パケット受信側LSI21000内の圧縮辞書テーブル処理部21220内の情報は、通常パケットが圧縮パケット保持レジスタ21210を通過するタイミングにおいて、該通常パケットが、パケット送信側LSI20000において通常パケット保持レジスタ20210を通過した時点でのパケット送信側LSI20000の圧縮辞書テーブル処理部20220内の情報と一致する。したがって、パケット送信側LSI20000で、SerDes送信部20300から圧縮パケットを出力したタイミングにおけるパケット送信側LSI20000の圧縮辞書テーブル処理部20220内の該パケットで指定したエントリが保持していた情報は、該パケットがパケット受信側LSI21000の圧縮パケット保持レジスタ21210を通過するタイミングにおけるパケット受信側LSI21000の圧縮辞書テーブル処理部21220内の該パケットで指定したエントリが保持している情報と一致するため、受信側の圧縮辞書テーブル処理部21220の情報を用いてパケットの復元が可能である。   That is, the packet information holding control of the compression dictionary table processing unit 20220 is the same as the control in the compression dictionary table processing unit 20220 of the packet transmission side LSI 20000. For this reason, although there is a time difference, the information in the compression dictionary table processing unit 21220 in the packet receiving side LSI 21000 indicates that the normal packet is normally stored in the packet transmitting side LSI 20000 at the timing when the normal packet passes through the compressed packet holding register 21210. It matches the information in the compression dictionary table processing unit 20220 of the packet transmission side LSI 20000 at the time of passing through the packet holding register 20210. Therefore, the information held by the entry designated by the packet in the compression dictionary table processing unit 20220 of the packet transmission side LSI 20000 at the timing when the packet transmission side LSI 20000 outputs the compressed packet from the SerDes transmission unit 20300 Since the entry specified by the packet in the compression dictionary table processing unit 21220 of the packet receiving side LSI 21000 at the timing of passing through the compressed packet holding register 21210 of the packet receiving side LSI 21000 matches the information held by the packet, the receiving side compression dictionary Packets can be restored using information in the table processing unit 21220.

また、パケット情報選択回路46000は、圧縮パケット保持レジスタ21210内のレジスタ21211Bおよびレジスタ21211Aに保持されている値(すなわちパケット識別子)と、レジスタ21212Aに保持されている値(すなわちエントリ番号(i))と、レジスタ21213Aに保持されている値(すなわち差し替え情報S)とに基づいて、パケット復元論理21230に出力されるパケット情報を生成する。パケット情報は、差し替えが行われるフィールドのデータを有して構成されるものであり、圧縮パケット保持レジスタ21210に圧縮パケットヘッダが保持されている場合にのみ生成される。すなわち、レジスタ21211Bおよびレジスタ21211Aに保持されている値(すなわちパケット識別子)が圧縮パケットであることを示している場合にのみ生成される。圧縮パケットである場合、パケット情報選択回路46000は、レジスタ21212Aに保持されている値(すなわちエントリ番号(i))で指示されるエントリ処理部41000(i)のパケット情報レジスタ41200において、レジスタ21213Aに保持されている値(すなわち差し替え情報S)で指示されたフィールドの値を保持するレジスタ41201〜41207の1または複数に格納されているデータを、パケット情報として出力する。 Further, the packet information selection circuit 46000 has a value (that is, packet identifier) held in the registers 21211B and 21211A in the compressed packet holding register 21210 and a value (that is, entry number (i)) held in the register 21212A. And packet information output to the packet restoration logic 21230 is generated based on the value held in the register 21213A (that is, the replacement information S i ). The packet information is configured to include field data to be replaced, and is generated only when the compressed packet header is held in the compressed packet holding register 21210. That is, it is generated only when the values (that is, packet identifiers) held in the registers 21211B and 21211A indicate that they are compressed packets. When the packet is a compressed packet, the packet information selection circuit 46000 stores the packet information register 41200 of the entry processing unit 41000 (i) indicated by the value held in the register 21212A (that is, the entry number (i)) in the register 21213A. Data stored in one or more of the registers 41201 to 41207 that hold the value of the field indicated by the held value (that is, the replacement information S i ) is output as packet information.

次に図7を参照して、パケット受信側LSI20000のパケット復元論理21230の動作について説明する。図7は、通常パケットヘッダ10000の例と、圧縮パケットヘッダの5つの例に対するパケット復元論理21230の動作例を説明するための図表である。図7では、パケット復元論理21230が圧縮パケット保持レジスタ21210から受信する差し替え情報Sのケース(全ケースではない)と、その時に生成する復元パケットの各フィールドの参照元を示している。これらの例で、パケット識別子フィールドは、0で通常パケット、1で圧縮パケットを表す。なお、Xは値が無効であることを示している。差し替え情報Sは、ビット毎に、1で各フィールドを圧縮辞書テーブル処理部21220内のデータで差し替えること、0で差し替えないことを表す。また、図7の図表の「パケット生成」の欄は、生成されるパケットヘッダの各フィールドが、通常もしくは圧縮パケットヘッダ内のフィールドまたは圧縮辞書テーブル処理部21220内のデータのどれを用いて生成されたかを示している。「そのまま」はパケット受信側LSI20000が受信したパケットヘッダ内の当該フィールドの値をそのまま用いることを示している。「テーブル」は圧縮辞書テーブル処理部21220において対応するエントリ処理部41000(i)内のデータを用いることを示している。また、「不一致フィールド」はパケット受信側LSI20000が受信した圧縮パケットヘッダ内の不一致フィールドの値を用いることを示している。 Next, the operation of the packet restoration logic 21230 of the packet receiving side LSI 20000 will be described with reference to FIG. FIG. 7 is a chart for explaining an operation example of the packet restoration logic 21230 for the example of the normal packet header 10000 and the five examples of the compressed packet header. In Figure 7, the packet recovery logic 21230 is a case of replacement information S i received from compressed packet holding register 21210 (not all cases) shows the fields of a reference source Resilient Packet generating at that time. In these examples, the packet identifier field is 0 for a normal packet and 1 for a compressed packet. Note that X indicates that the value is invalid. The replacement information S i indicates that each field is replaced with data in the compression dictionary table processing unit 21220 by 1 for each bit, and is not replaced by 0. In the “packet generation” column of the chart of FIG. 7, each field of the generated packet header is generated using any of the fields in the normal or compressed packet header or the data in the compression dictionary table processing unit 21220. It shows. “As is” indicates that the value of the field in the packet header received by the packet receiving side LSI 20000 is used as it is. “Table” indicates that the data in the corresponding entry processing unit 41000 (i) is used in the compression dictionary table processing unit 21220. The “mismatch field” indicates that the value of the mismatch field in the compressed packet header received by the packet receiving side LSI 20000 is used.

パケット復元論理21230は、圧縮辞書テーブル処理部21220から信号線21243を用いて受信したパケット情報と、圧縮パケット保持レジスタ21210から信号線21242を用い入力された差し替え情報Sおよび圧縮パケットの不一致フィールドを元に、通常パケットを復元する。 The packet restoration logic 21230 displays the packet information received from the compression dictionary table processing unit 21220 using the signal line 21243, the replacement information S i input from the compressed packet holding register 21210 using the signal line 21242, and the mismatch field of the compressed packet. Originally, the normal packet is restored.

先ず、図7のケース番号1を例に説明する。ケース1では、圧縮パケット保持レジスタ21210のパケット識別子フィールドが0、すなわち通常パケットである事を示している。このため、パケット復元論理21230では、パケットの復元動作は行わない。これに対して、ケース番号2〜6に関しては、圧縮パケット保持レジスタ21210のパケット識別子フィールドが1、すなわち圧縮パケットであるため、パケット復元論理21230は、パケットの復元動作を行う。この時、圧縮パケット保持レジスタ21210から信号線21242を用いて入力された差し替え情報Sが「1」であるビットに対応するフィールドに関しては、圧縮辞書テーブル処理部21220から信号線21243を用いて出力されたパケット情報を参照し、各フィールドの情報を生成する。差し替え情報Sが「0」であるビットに対応するフィールドに関しては、信号線21242を用いて入力した不一致フィールドの情報を参照してフィールドの情報を生成し、各フィールドをマージして元のパケットの情報に復元する。 First, case number 1 in FIG. 7 will be described as an example. Case 1 indicates that the packet identifier field of the compressed packet holding register 21210 is 0, that is, a normal packet. For this reason, the packet restoration logic 21230 does not perform a packet restoration operation. On the other hand, for the case numbers 2 to 6, since the packet identifier field of the compressed packet holding register 21210 is 1, that is, a compressed packet, the packet recovery logic 21230 performs a packet recovery operation. At this time, a field corresponding to a bit whose replacement information S i is “1” input from the compressed packet holding register 21210 using the signal line 21242 is output from the compression dictionary table processing unit 21220 using the signal line 21243. The information of each field is generated with reference to the packet information. For the field corresponding to the bit for which the replacement information S i is “0”, field information is generated by referring to the information of the mismatch field input using the signal line 21242, and the original packet is merged. Restore to information.

以降では、図1および図8を参照し、連続したアドレス空間に対する複数のパケット転送を行うDMA転送を例に、圧縮辞書への登録、および、後続パケットにおけるパケットヘッダの圧縮、復元についての動作を説明する。図8は、以下の動作例で処理される情報の具体例を示している。また、圧縮辞書テーブル処理部20220および21220にはデータがなにも登録されていないこととする。   In the following, referring to FIG. 1 and FIG. 8, DMA transfer that performs a plurality of packet transfers for a continuous address space is taken as an example, and operations for registration in the compression dictionary and compression and decompression of packet headers in subsequent packets are performed. explain. FIG. 8 shows a specific example of information processed in the following operation example. Also, it is assumed that no data is registered in the compression dictionary table processing units 20220 and 21220.

[圧縮辞書への登録]
リクエスタ20100がターゲット21300のメモリに対するDMA転送の最初のパケットの送出を行う。最初のパケットがリクエスタ20100からパケット送信部20200へ出力され、パケット送信部20200内の通常パケット保持レジスタ20210に取り込まれる。通常パケット保持レジスタ20210はパケットヘッダの情報を信号線20241で送信側の圧縮辞書テーブル処理部20220へ出力する。以下では、図8(A)のパケットヘッダP1が圧縮辞書テーブル処理部20220へ出力された場合を例にとり説明する。図8(A)のパケットヘッダP1は、各フィールド10001〜10004、10007〜10009および10006にデータD1〜D8を格納して構成されている。ただし、D1は圧縮されていないパケットヘッドであることを示す0となっている。
[Register to compression dictionary]
The requester 20100 transmits the first packet of the DMA transfer to the memory of the target 21300. The first packet is output from the requester 20100 to the packet transmission unit 20200 and taken into the normal packet holding register 20210 in the packet transmission unit 20200. The normal packet holding register 20210 outputs the packet header information to the compression dictionary table processing unit 20220 on the transmission side through the signal line 20241. Hereinafter, a case where the packet header P1 of FIG. 8A is output to the compression dictionary table processing unit 20220 will be described as an example. The packet header P1 in FIG. 8A is configured by storing data D1 to D8 in the fields 10001 to 10004, 10007 to 10009, and 10006, respectively. However, D1 is 0 indicating that the packet head is not compressed.

送信側の圧縮辞書テーブル処理部20220は、信号線20241を参照し、圧縮対象のパケットヘッダが、送信側の圧縮辞書テーブル処理部20220内の有効なエントリに一致する、もしくは、一部の情報が一致するエントリが存在するか否かを判定する(ここでは、最初のパケットなので一致するエントリは存在しない)。この場合、送信側の圧縮辞書テーブル処理部20220における判定の結果、エントリの一致は無かったため、送信側の圧縮辞書テーブル処理部20220は、差し替え情報S(信号線20244)として、一致なし(差し替え情報S=オール0)という結果をパケット圧縮論理回路20230へ出力する。また、差し替え情報S=オール0なので、パケット圧縮論理回路20230からは圧縮情報(信号線20245)として圧縮処理を行わない旨の情報が出力される。したがって、送信側の圧縮辞書テーブル処理部20220は、テーブル内の各エントリ処理部31000(i)が有する一致カウンタカウンタ値を比較し、一致回数が一番少ないエントリ、もしくは、無効なエントリへ、通常パケット保持レジスタ20210からのパケットヘッダP1の情報を全て取り込み、以降は有効なエントリとして、保持する。ここでは、図8(B)に示すようにエントリ番号「1」のエントリ処理部31000(i)における登録パケット情報レジスタ31200の各レジスタ31201〜31207にパケットヘッダP1のパケット識別子フィールド10001を除く各フィールドのデータD2〜D8が取り込まれる。 The compression dictionary table processing unit 20220 on the transmission side refers to the signal line 20241, and the packet header to be compressed matches a valid entry in the compression dictionary table processing unit 20220 on the transmission side, or some information is It is determined whether or not there is a matching entry (here, there is no matching entry because it is the first packet). In this case, as a result of the determination in the compression dictionary table processing unit 20220 on the transmission side, there is no entry match, so the compression dictionary table processing unit 20220 on the transmission side does not match (replacement) as the replacement information S i (signal line 20244). The result of information S i = all 0) is output to the packet compression logic circuit 20230. Since the replacement information S i = all 0, the packet compression logic circuit 20230 outputs information indicating that compression processing is not performed as the compression information (signal line 20245). Therefore, the compression dictionary table processing unit 20220 on the transmission side compares the match counter counter value of each entry processing unit 31000 (i) in the table, and the entry with the smallest number of matches or the invalid entry is All the information of the packet header P1 from the packet holding register 20210 is fetched and thereafter held as a valid entry. Here, as shown in FIG. 8B, each field except the packet identifier field 10001 of the packet header P1 is stored in each register 31201 to 1207 of the registered packet information register 31200 in the entry processing unit 31000 (i) with the entry number “1”. The data D2 to D8 are fetched.

送信側の圧縮辞書テーブル処理部20220から、差し替え情報S(信号線20244)として、一致なし(オール0)という結果を受信した、パケット圧縮論理回路20230は、圧縮動作は行わず、通常パケット保持レジスタ20210からの信号線20242を用いて受信した通常パケットをそのままの形でSerDes送信部20300へ転送する。ここでSerDes送信部20300へ転送された通常パケットのパケットヘッダは、図8(A)の通常パケットヘッダP1と同一である。 The packet compression logic circuit 20230 that has received a result of no match (all 0) as the replacement information S i (signal line 20244) from the compression dictionary table processing unit 20220 on the transmission side does not perform the compression operation and retains the normal packet. The normal packet received using the signal line 20242 from the register 20210 is transferred to the SerDes transmission unit 20300 as it is. Here, the packet header of the normal packet transferred to the SerDes transmission unit 20300 is the same as the normal packet header P1 of FIG.

SerDes22000を通過して、パケット受信側LSI21000のSerDes受信部21100へ受信されたパケットは、パケット受信部21200の圧縮パケット保持レジスタ21210へ圧縮されていないパケットの形(パケット識別=0)で取り込まれる。圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へ受信したパケットヘッダの情報を信号線21241で出力し、これを受信した受信側の圧縮辞書テーブル処理部21220は、送信側の圧縮辞書テーブル処理部20220と同様に、受信側の圧縮辞書テーブル処理部21220内の有効なエントリに一致する、もしくは、一部の情報が一致するエントリが存在するか否かの判定を行う(ここでは送信側と同様に、一致するエントリは存在しない)。   A packet that has passed through SerDes 22000 and received by the SerDes receiving unit 21100 of the packet receiving side LSI 21000 is taken into the compressed packet holding register 21210 of the packet receiving unit 21200 in the form of an uncompressed packet (packet identification = 0). The compressed packet holding register 21210 outputs the received packet header information to the receiving-side compressed dictionary table processing unit 21220 via a signal line 21241. The receiving-side compressed dictionary table processing unit 21220 receives the received packet header information. Similarly to the table processing unit 20220, it is determined whether or not there is an entry that matches a valid entry in the compression dictionary table processing unit 21220 on the receiving side or a part of the information matches (in this case, transmission). Like the side, there is no matching entry).

受信側の圧縮辞書テーブル処理部21220の判定の結果、エントリの一致は無かったため、受信側の圧縮辞書テーブル処理部21220は、テーブル内の各エントリ処理部41000(i)が有する一致カウンタ41300のカウンタ値を比較し、一致回数が一番少ないエントリ、もしくは、無効なエントリへ圧縮パケット保持レジスタ21210からのパケットヘッダの情報を全て取り込み、以降は有効なエントリとして、保持する。尚、登録エントリを決定する論理も、送信側の圧縮辞書テーブル処理部20220と受信側の圧縮辞書テーブル処理部21220で同じとするため、本例で示した、1つのパケットが二つの圧縮辞書内において登録されるエントリの番号は、同一となる。すなわち、図8(C)に示したように、エントリ番号1のエントリ処理部41000(i)におけるパケット情報レジスタ41200の各レジスタ41201〜41207にパケットヘッダP1のパケット識別子フィールド10001を除く各フィールドのデータD2〜D8が取り込まれる。   As a result of the determination by the compression dictionary table processing unit 21220 on the reception side, there is no match between the entries. Therefore, the compression dictionary table processing unit 21220 on the reception side counts the match counter 41300 included in each entry processing unit 41000 (i) in the table. The values are compared, and all the packet header information from the compressed packet holding register 21210 is fetched into the entry with the smallest number of matches or an invalid entry, and thereafter held as a valid entry. Since the logic for determining the registered entry is the same in the compression dictionary table processing unit 20220 on the transmission side and the compression dictionary table processing unit 21220 on the reception side, one packet shown in this example is stored in two compression dictionaries. The number of the entry registered in is the same. That is, as shown in FIG. 8C, the data of each field excluding the packet identifier field 10001 of the packet header P1 is stored in each register 41201 to 41207 of the packet information register 41200 in the entry processing unit 41000 (i) of the entry number 1. D2 to D8 are taken in.

圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へパケット情報を出力すると同時に、パケット復元論理21230へパケットの情報を信号線21242で出力する。これを受信したパケット復元論理21230はパケットの復元動作は行わず、そのままのパケットの情報を、ターゲット21300へ出力する。ここでターゲット21300へ出力されるパケットのパケットヘッダは、図8(A)の通常パケットヘッダP1と同一である。   The compressed packet holding register 21210 outputs the packet information to the receiving side compression dictionary table processing unit 21220 and simultaneously outputs the packet information to the packet restoration logic 21230 through the signal line 21242. The packet restoration logic 21230 that has received this does not perform the packet restoration operation, and outputs the information of the packet as it is to the target 21300. Here, the packet header of the packet output to the target 21300 is the same as the normal packet header P1 of FIG.

DMA転送の最初のパケットの転送に関しては、圧縮動作が行われていないため、スループットの改善効果は無く、圧縮辞書テーブル処理部の情報を更新したのみの動作となる。   For the transfer of the first packet in the DMA transfer, since the compression operation is not performed, there is no effect of improving the throughput, and the operation is merely updating the information in the compression dictionary table processing unit.

[パケットの圧縮と復元動作]
リクエスタ20100がターゲット21300のメモリに対するDMA転送の2個目のパケットの送出を行う。最初のパケットとのパケットヘッダ差分は、アドレスの下位のみであり、他は全て一致する。図8(D)に2個目のパケットとしての通常パケットヘッダP2を示した。通常パケットヘッダP2では、アドレス下位フィールド10009の値がD7からD7−2に変わっている。
[Packet compression and decompression]
The requester 20100 transmits the second packet of the DMA transfer to the memory of the target 21300. The packet header difference from the first packet is only the lower part of the address, and all others are the same. FIG. 8D shows a normal packet header P2 as the second packet. In the normal packet header P2, the value of the address lower field 10009 is changed from D7 to D7-2.

リクエスタ20100は2個目のDMAパケットをパケット送信部20200へ出力し、パケット送信部20200内の通常パケット保持レジスタ20210に取り込まれる。通常パケット保持レジスタ20210はパケットヘッダの情報を信号線20241で送信側の圧縮辞書テーブル処理部20220へ出力する。送信側の圧縮辞書テーブル処理部20220は、該信号20241を参照し、送信側の圧縮辞書テーブル処理部20220内の有効なエントリに一致する、もしくは、一部の情報が一致するエントリが存在するか否かを判定する。送信側の圧縮辞書テーブル処理部20220は1個目のDMAパケットで登録したエントリの情報とアドレス下位以外の情報が一致している事を検出し、パケット圧縮論理回路20230へ、エントリ番号(信号線20243)および差し替え情報S(信号線20244)を出力する。また、送信側の圧縮辞書テーブル処理部20220は、パケット圧縮論理回路20230から圧縮した旨を示す圧縮情報が入力された場合に、一致したエントリの一致カウンタ31300を1加算し、圧縮転送が行われた回数を記録する。この例では、差し替え情報Sは、2進数で「1111101」となる。ただし、差し替え情報Sの各ビットは、0が差し替えを行わない場合、1が差し替えを行う場合を示している。また、差し替え情報Sの各ビットは、最上位ビットがパケット種別フィールド10002に対応し、順次下位に向けて、デスティネーションフィールド10003、リクエスタフィールド10004、アドレス上位フィールド10007、アドレス中位フィールド10008、アドレス下位フィールド10009、およびその他のフィールド10006に対応している。すなわち、差し替え情報S「1111101」は、アドレス下位フィールド10009の差し替えを行わず、他のフィールドについては差し替えを行うことを示している。 The requester 20100 outputs the second DMA packet to the packet transmission unit 20200 and is taken into the normal packet holding register 20210 in the packet transmission unit 20200. The normal packet holding register 20210 outputs the packet header information to the compression dictionary table processing unit 20220 on the transmission side through the signal line 20241. The transmission-side compression dictionary table processing unit 20220 refers to the signal 20241 to check whether there is an entry that matches a valid entry in the transmission-side compression dictionary table processing unit 20220 or that matches some information. Determine whether or not. The compression dictionary table processing unit 20220 on the transmission side detects that the entry information registered in the first DMA packet matches information other than the lower address, and sends the entry number (signal line) to the packet compression logic circuit 20230. 20243) and replacement information S i (signal line 20244). In addition, when compression information indicating that compression has been performed is input from the packet compression logic circuit 20230, the compression dictionary table processing unit 20220 on the transmission side adds 1 to the match counter 31300 of the matched entry, and compression transfer is performed. Record the number of times In this example, the replacement information S i is “1111101” in binary. However, each bit of the replacement information S i indicates that 0 is not replaced and 1 is replaced. Further, each bit of the replacement information S i has the most significant bit corresponding to the packet type field 10002, and in order of lower order, the destination field 10003, the requester field 10004, the upper address field 10007, the middle address field 10008, the address It corresponds to the lower field 10009 and other fields 10006. That is, the replacement information S i “1111101” indicates that the address lower field 10009 is not replaced and the other fields are replaced.

有効な差し替え情報S(すなわちいずれかのビットが1となっている差し替え情報S)(信号線20244)を受信したパケット圧縮論理回路20230は、パケット識別子を1(圧縮パケット)として、送信側の圧縮辞書テーブル処理部20220から受信したエントリ番号の情報、および、差し替え情報Sを、それぞれエントリ番号フィールド、および、差し替え情報フィールドに、通常パケット保持レジスタ2021から信号線20242で受信したアドレスの下位フィールドを不一致フィールドに適用した、圧縮パケットを生成し、SerDes送信部20300へ転送する。図8(E)にここでSerDes送信部20300へ転送される圧縮パケットの圧縮パケットヘッダP3を示した。圧縮パケットヘッダP3のパケット識別子フィールド11001は「1」、エントリ番号フィールド11002はエントリ番号=「0000001」、差し替え情報フィールド11003は差し替え情報S「1111101」、および不一致フィールド11004は通常パケットヘッダP2のアドレス下位フィールドの値「D7−2」となっている。 Valid replacement information S i packet compression logic receives (i.e. one bit replacement information S i which is a 1) (signal line 20244) 20230 is a packet identifier as 1 (compressed packet), the sender The entry number information received from the compression dictionary table processing unit 20220 and the replacement information S i in the entry number field and the replacement information field are subordinate to the address received from the normal packet holding register 2021 through the signal line 20242, respectively. A compressed packet in which the field is applied to the mismatch field is generated and transferred to the SerDes transmission unit 20300. FIG. 8E shows a compressed packet header P3 of the compressed packet transferred to the SerDes transmission unit 20300 here. The packet identifier field 11001 of the compressed packet header P3 is “1”, the entry number field 11002 is entry number = “0000001”, the replacement information field 11003 is replacement information S i “1111101”, and the mismatch field 11004 is the address of the normal packet header P2 The value of the lower field is “D7-2”.

SerDes22000を通過して、パケット受信側LSI21000のSerDes受信部21100へ受信された圧縮パケットは、パケット受信部21200の圧縮パケット保持レジスタ21210へ圧縮パケットの形(パケット識別=1)で取り込まれる。圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へパケットヘッダの情報を信号線21241で出力する。これを受信した受信側の圧縮辞書テーブル処理部21220は、圧縮パケットヘッダのエントリ番号フィールド11002の情報から、先のDMA転送パケット受信時に該エントリに登録された情報を読み出し、パケット情報として、パケット復元論理21230へ出力する。また、これと同時に、該エントリの一致カウンタ41300を1加算し、送信側の圧縮辞書テーブル処理部20220の情報と一致させる。   The compressed packet received by the SerDes receiving unit 21100 of the packet receiving side LSI 21000 through the SerDes 22000 is taken into the compressed packet holding register 21210 of the packet receiving unit 21200 in the form of a compressed packet (packet identification = 1). The compressed packet holding register 21210 outputs the packet header information to the receiving side compression dictionary table processing unit 21220 via the signal line 21241. Upon receiving this, the compression dictionary table processing unit 21220 on the receiving side reads the information registered in the entry when receiving the previous DMA transfer packet from the information in the entry number field 11002 of the compressed packet header, and restores the packet as packet information. Output to logic 21230. At the same time, the match counter 41300 of the entry is incremented by 1 to match the information in the compression dictionary table processing unit 20220 on the transmission side.

圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へパケットヘッダの情報を出力すると同時に、パケット復元論理21230へパケットの情報を信号線21242で出力する。これを受信したパケット復元論理21230は、差し替え情報Sを元に、パケットの復元を行う。即ち、この例において、差し替え情報Sでは、アドレス下位以外のフィールドは圧縮辞書テーブル処理部21220に一致という情報となるので、アドレス下位以外の情報は、受信側の圧縮辞書テーブル処理部21220から出力されたパケット情報を参照し、アドレス下位のフィールドに関しては、圧縮パケット保持レジスタ21210からの不一致フィールドの情報を参照する事で、パケットの復元を行う。図8(E)および(F)はここで復元された復元パケットのパケットヘッダP3と各フィールドのデータの参照元との関係を示している。アドレス下位フィールド11009のデータD7−2は圧縮パケットヘッダP3の不一致フィールド11004に基づいて復元されている。他のフィールドは、受信側の圧縮辞書テーブル処理部21220のエントリ番号=1のエントリ処理部41000(i)のパケット情報レジスタ41200の対応するフィールドのデータに基づいて復元されている。 The compressed packet holding register 21210 outputs the packet header information to the compression dictionary table processing unit 21220 on the receiving side, and simultaneously outputs the packet information to the packet decompression logic 21230 through the signal line 21242. Receiving this, the packet restoration logic 21230 restores the packet based on the replacement information S i . That is, in this example, in the replacement information S i , the fields other than the lower address are information that matches the compression dictionary table processing unit 21220, so the information other than the lower address is output from the compression dictionary table processing unit 21220 on the receiving side. The packet is restored by referring to the mismatched field information from the compressed packet holding register 21210 for the lower address field. FIGS. 8E and 8F show the relationship between the packet header P3 of the restored packet restored here and the data reference source of each field. The data D7-2 in the address lower field 11009 is restored based on the mismatch field 11004 in the compressed packet header P3. The other fields are restored based on the data in the corresponding fields of the packet information register 41200 of the entry processing unit 41000 (i) with the entry number = 1 of the compression dictionary table processing unit 21220 on the receiving side.

そして、パケットヘッダを復元したパケット復元論理21230は、ターゲット21300へ該復元したパケットヘッダを出力する。   Then, the packet restoration logic 21230 that restored the packet header outputs the restored packet header to the target 21300.

本実施形態によれば、圧縮対象となる入力情報の全部とエントリ毎のエントリ登録情報の全部とが一致していなくても、いずれかのエントリ処理部31000(i)において、圧縮対象となる入力情報の一部と圧縮辞書テーブル処理部内のエントリ登録情報のいずれかのフィールドの情報とが一致していれば、パケット圧縮論理回路20230によって当該エントリを表すエントリ番号(i)を用いて圧縮した情報を生成することが可能となる。すなわち、圧縮辞書のエントリ数(すなわちデータ登録数)を増やすことなく、エントリ番号(すなわち圧縮辞書のポインタ)を用いてデータの差し替えを行うことができる確率を高めることができる。   According to the present embodiment, even if all of the input information to be compressed does not match all of the entry registration information for each entry, any of the entry processing units 31000 (i) can input the input to be compressed. If a part of the information matches the information in any field of the entry registration information in the compression dictionary table processing unit, the information compressed by the packet compression logic circuit 20230 using the entry number (i) representing the entry Can be generated. That is, it is possible to increase the probability that data can be replaced using the entry number (that is, the pointer of the compression dictionary) without increasing the number of entries in the compression dictionary (that is, the number of registered data).

なお、上記の実施形態では、圧縮対象をパケットヘッダの部分としているが、これに限らず、本発明は、パケットヘッダ以外の例えば所定の制御情報などのデータに対して適用することも可能である。   In the above-described embodiment, the compression target is the packet header portion. However, the present invention is not limited to this, and the present invention can also be applied to data such as predetermined control information other than the packet header. .

なお、本発明の特徴は次のようにとらえることができる。本発明は、LSI間のデータ転送および制御情報の転送を、パケットを用いて転送するコンピュータシステムにおいて、出現頻度の高いパケットヘッダ等を、パケットの送出制御部で圧縮して転送する機能と、パケットの受信部において、該圧縮パケットを復元する機能を設けることにより、必要な情報を失うことなく、転送経路のスループットを改善できる事を特徴としている。   The features of the present invention can be understood as follows. The present invention relates to a computer system for transferring data between LSIs and transferring control information by using a packet, a function of transferring a packet header or the like having a high appearance frequency by compressing it by a packet sending control unit, and a packet The receiving section is provided with a function of restoring the compressed packet, whereby the throughput of the transfer path can be improved without losing necessary information.

また、本発明は、複数のエントリを有し、パケットのヘッダ情報等を格納する事ができる圧縮辞書テーブル処理部をパケット送信部、およびパケット受信部に設け、パケット送信部からパケット受信部へ通過するパケットに同期して、それぞれの圧縮辞書内の情報を同じ状態とする様に制御する。パケット送信部においては、パケット受信部へ転送するパケットのアドレス等の情報を、圧縮辞書テーブル処理部で索引し、圧縮可能なパケットであると判断した場合は、パケットのヘッダ情報等をパケット受信部に在る圧縮辞書内のポインタ(ヘッダ情報等より短い情報)に差し替える事で、パケットヘッダ等の情報量を削減し、転送経路に占めるパケットヘッダ等の帯域を小さくする事でスループットを向上する事を可能とする。また、パケット受信部においては、圧縮辞書内のポインタからヘッダ情報を復元することで、情報を失うことなく従来と同様に動作する事を可能とする。   In addition, the present invention provides a compression dictionary table processing unit that has a plurality of entries and can store packet header information and the like in the packet transmission unit and the packet reception unit, and passes from the packet transmission unit to the packet reception unit. The information in each compression dictionary is controlled to be in the same state in synchronization with the packet to be transmitted. In the packet transmission unit, information such as the address of the packet to be transferred to the packet reception unit is indexed by the compression dictionary table processing unit, and when it is determined that the packet is compressible, the header information of the packet is The amount of information such as packet headers can be reduced by replacing the pointers in the compression dictionary in the compression dictionary (information shorter than the header information, etc.), and throughput can be improved by reducing the bandwidth of packet headers etc. in the transfer path. Is possible. Further, the packet receiving unit restores the header information from the pointer in the compression dictionary, so that it can operate as before without losing the information.

なお、本発明の実施の形態に対しては、例えば、パケット送信部20200やパケット受信部21200内のブロックを分割したり、統合したり、多重化したりする等の変更を適宜行うことが可能である。また、上記実施形態では、登録先選択回路35000および登録先選択回路45000についてはValidレジスタの値や一致カウンタのカウント値に基づいて登録先のエントリ番号(i)を選択することとしたが、不揮発性のメモリなどを用いて過去の使用実績を記録してそれに基づいて登録先のエントリを決定する等、他の手法を用いて登録先を決定することもできる。また、本発明のデータ転送制御装置は、パケット送信部20200としてとらえるだけでなく、パケット送信側LSI20000としてとらえるようにしたり、さらにパケット受信側LSI21000とあわせて送受信システムとしてとらえるようにしたりすることもできる。また、パケット送信部20200等は、CPU(中央処理装置)とCPUで実行されるプログラムとを用いて構成することができ、そのプログラムは通信回線やコンピュータ読み取り可能な記録媒体に記録して流通させることが可能である。   For the embodiment of the present invention, for example, it is possible to appropriately make changes such as dividing, integrating, or multiplexing blocks in the packet transmission unit 20200 and the packet reception unit 21200. is there. In the above embodiment, for the registration destination selection circuit 35000 and the registration destination selection circuit 45000, the registration destination entry number (i) is selected based on the value of the Valid register or the count value of the match counter. It is also possible to determine the registration destination using other methods, such as recording past usage records using a memory or the like and determining the entry of the registration destination based thereon. In addition, the data transfer control device of the present invention can be regarded not only as the packet transmission unit 20200 but also as the packet transmission side LSI 20000, or can be combined with the packet reception side LSI 21000 as a transmission / reception system. . The packet transmission unit 20200 and the like can be configured using a CPU (central processing unit) and a program executed by the CPU, and the program is recorded and distributed on a communication line or a computer-readable recording medium. It is possible.

なお、上記実施形態の構成と、特許請求の範囲の記載事項との対応は次のとおりである。特許請求の範囲の「記憶手段」は圧縮辞書テーブル処理部20220および登録パケット情報レジスタ31200に対応している。「圧縮対象の情報」は通常パケットヘッダに対応している。「エントリ」はエントリ処理部31000(i)に、「区分」はフィールド10002〜10009およびレジスタ31201〜31207に対応している。「第1の比較手段」は圧縮辞書テーブル処理部20220およびコンパレータ31401〜31407に対応している。「第2の比較手段」は圧縮辞書テーブル処理部20220およびビット幅比較論理回路32000に対応している。「第1の情報」はエントリ番号フィールド11002に、「第2の情報」は差し替え情報フィールド11003に、「第3の情報」は不一致フィールド11004に、それぞれ対応している。「計数手段」が一致カウンタ31300に対応している。そして、「有効情報記憶手段」がValidレジスタ31100に対応している。   The correspondence between the configuration of the embodiment and the matters described in the claims is as follows. The “storage means” in the claims corresponds to the compression dictionary table processing unit 20220 and the registered packet information register 31200. The “compression target information” usually corresponds to a packet header. “Entry” corresponds to the entry processing unit 31000 (i), and “Partition” corresponds to the fields 10002 to 10009 and the registers 31201 to 1207. The “first comparison unit” corresponds to the compression dictionary table processing unit 20220 and the comparators 31401 to 1407. The “second comparison unit” corresponds to the compression dictionary table processing unit 20220 and the bit width comparison logic circuit 32000. The “first information” corresponds to the entry number field 11002, the “second information” corresponds to the replacement information field 11003, and the “third information” corresponds to the mismatch field 11004. “Counter” corresponds to the coincidence counter 31300. “Valid information storage means” corresponds to the Valid register 31100.

また、「送信手段」は、SerDes送信部20300に対応している。「受信手段」はSerDes受信部21100に対応している。「第1の記憶手段」は圧縮辞書テーブル20220および登録パケット情報レジスタ31200に対応している。「第2の記憶手段」は圧縮辞書テーブル処理部20220およびパケット情報レジスタ41200に対応している。「復元手段」はパケット復元論理21230に対応している。「第1の区分情報」はレジスタ41201〜41200に格納されているデータに対応している。「第2の区分情報」は不一致フィールド11004に格納されているデータに対応している。   The “transmission means” corresponds to the SerDes transmission unit 20300. “Receiving means” corresponds to the SerDes receiving unit 21100. The “first storage unit” corresponds to the compression dictionary table 20220 and the registered packet information register 31200. The “second storage unit” corresponds to the compression dictionary table processing unit 20220 and the packet information register 41200. The “restoring means” corresponds to the packet restoration logic 21230. The “first division information” corresponds to data stored in the registers 41201 to 41200. “Second division information” corresponds to the data stored in the mismatch field 11004.

また、上記実施形態の構成を主要な機能毎にまとめ、模式的に示すと図9に示すように表すことができる。なお、上記実施形態の構成に対応するものには同一の符号を付けている。すなわち、本発明のデータ転送制御装置10は、エントリ毎に複数に区分された情報を複数エントリ分記憶する記憶手段1と、圧縮対象の情報20と記憶手段1に記憶されている情報とをエントリ毎かつ区分毎に比較する第1の比較手段2と、第1の比較手段2による比較結果を複数のエントリ間で比較する第2の比較手段3と、第2の比較手段3による比較結果に基づいて選択された1つのエントリを表す第1の情報と、選択したエントリにおいて圧縮対象の情報20と一致した1個以上の区分を表す第2の情報と、圧縮対象の情報20において選択したエントリに記憶されている情報と一致しなかった0個以上の区分に対応する情報を表す第3の情報とを用いて転送情報を生成する圧縮手段4とを備えることで構成されている。   Moreover, when the structure of the said embodiment is summarized for every main function and shown typically, it can represent as shown in FIG. In addition, the same code | symbol is attached | subjected to the thing corresponding to the structure of the said embodiment. That is, the data transfer control device 10 of the present invention uses the storage means 1 for storing information divided into a plurality of entries for each entry, the information 20 to be compressed, and the information stored in the storage means 1 as entries. The first comparison means 2 for comparing each and every section, the second comparison means 3 for comparing the comparison results by the first comparison means 2 between a plurality of entries, and the comparison results by the second comparison means 3 First information representing one entry selected based on the second information, second information representing one or more sections that match the compression target information 20 in the selected entry, and the entry selected in the compression target information 20 And compression means 4 for generating transfer information using third information representing information corresponding to zero or more sections that did not match the information stored in.

また、本実施の形態に係るパケット送信側LSI20000とパケット受信側LSI21000は、内部にコンピュータシステムを有している。そして、動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいう「コンピュータシステム」とは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
Further, the packet transmission side LSI 20000 and the packet reception side LSI 21000 according to the present embodiment have a computer system therein. The process of operation is stored in a computer-readable recording medium in the form of a program, and the above-described processing is performed by the computer system reading and executing this program. The “computer system” herein includes a CPU, various memories, an OS, and hardware such as peripheral devices.
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.

「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
また、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものであってもよい。
“Computer-readable recording medium” means a flexible disk, a magneto-optical disk, a ROM, a writable non-volatile memory such as a flash memory, a portable medium such as a CD-ROM, and a storage such as a hard disk built in a computer system. Refers to the device.
Further, the “computer-readable recording medium” means a volatile memory (for example, DRAM (for example, DRAM) inside a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. Dynamic Random Access Memory)) may also be included which hold a program for a certain period of time.

さらに、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Further, the program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

20000 パケット送信側LSI
20100 リクエスタ
20200 パケット送信部
20210 通常パケット保持レジスタ
20220 圧縮辞書テーブル処理部
20230 SerDes送信部
20230 パケット生成論理
21000 パケット受信側LSI
21100 SerDes受信部
21200 パケット受信部
21210 圧縮パケット保持レジスタ
21220 圧縮辞書テーブル処理部
21230 パケット復元論理
11001 パケット識別子フィールド
11002 エントリ番号フィールド
11003 差し替え情報フィールド
11004 不一致フィールド
20000 packet transmission side LSI
20100 Requester 20200 Packet transmission unit 20210 Normal packet holding register 20220 Compression dictionary table processing unit 20230 SerDes transmission unit 20230 Packet generation logic 21000 Packet receiving side LSI
21100 SerDes receiving unit 21200 Packet receiving unit 21210 Compressed packet holding register 21220 Compression dictionary table processing unit 21230 Packet recovery logic 11001 Packet identifier field 11002 Entry number field 11003 Replacement information field 11004 Mismatch field

Claims (7)

複数の区分毎に圧縮対象の属性を示すエントリ登録情報を、予め決められた複数の前記区分により構成されるエントリ毎に記憶する記憶手段と、
前記エントリ毎に、入力情報と前記エントリ登録情報とが一致するか否かを前記区分毎に比較する第1の比較手段と、
前記第1の比較手段による比較結果において一致した前記区分のデータ長を前記エントリ毎に加算した結果を、前記エントリ間で比較する第2の比較手段と、
前記第2の比較手段による比較結果に基づいて選択された前記エントリを表す第1の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とが一致する少なくとも1つの前記区分を表す第2の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とにおいて一致しない前記区分に対応する前記入力情報を表す第3の情報とを用いて前記入力情報を圧縮する圧縮手段と
を備えることを特徴とするデータ転送制御装置。
Storage means for storing entry registration information indicating attributes to be compressed for each of a plurality of sections for each entry configured by a plurality of the predetermined sections;
First comparing means for comparing, for each entry, whether the input information matches the entry registration information for each entry;
A second comparing means for comparing the results obtained by adding the data lengths of the sections that match in the comparison result by the first comparing means for each entry;
The first information representing the entry selected based on the comparison result by the second comparing means, and the first information representing at least one section in which the entry registration information and the input information of the selected entry match. Compression means for compressing the input information using the information of 2 and the third information representing the input information corresponding to the classification that does not match the entry registration information and the input information of the selected entry A data transfer control device comprising:
前記記憶手段が、前記第1の比較手段による比較結果又は前記第2の記憶手段による比較結果に応じて計数動作を行う計数手段を前記エントリ毎に複数有し、
前記第1の比較手段による比較の結果、前記入力情報が前記各エントリ登録情報における前記区分ごとの情報のうち少なくとも1つと一致しなかった場合、前記記憶手段が、前記計数手段の計数値に応じて選択された1つの前記エントリに前記入力情報を記憶することを特徴とする請求項1に記載のデータ転送制御装置。
The storage means has a plurality of counting means for each entry for performing a counting operation according to a comparison result by the first comparison means or a comparison result by the second storage means,
As a result of comparison by the first comparison means, if the input information does not match at least one of the pieces of information in each entry registration information, the storage means responds to the count value of the counting means. The data transfer control device according to claim 1 , wherein the input information is stored in one of the entries selected in the above.
前記記憶手段が、前記第1の比較手段による比較結果又は前記第2の記憶手段による比較結果に応じて計数動作を行う計数手段を前記エントリ毎に複数有するとともに、有効又は無効を意味する情報を記憶する有効情報記憶手段を前記エントリ毎に複数有し、
前記第1の比較手段による比較の結果、前記入力情報が前記各エントリ登録情報における前記区分ごとの情報のうち少なくとも1つと一致しなかった場合、前記記憶手段が、前記計数手段の計数値又は前記有効情報記憶手段の記憶内容に応じて選択された1つの前記エントリの前記エントリ登録情報として前記入力情報を記憶する
ことを特徴とする請求項1または2に記載のデータ転送制御装置。
The storage means has a plurality of counting means for each entry according to the comparison result by the first comparison means or the comparison result by the second storage means for each entry, and information indicating valid or invalid A plurality of effective information storage means for storing each entry,
As a result of the comparison by the first comparison means, if the input information does not match at least one of the information for each of the entries in each entry registration information, the storage means valid information data transfer control device according to claim 1 or 2 as the entry registration information of one of the entries selected according to the stored contents and to store the input information in the storage means.
前記複数の区分には、前記入力情報の転送先に係るアドレスを分割した複数の部分に対応する複数の区分が含まれている
ことを特徴とする請求項1からのうちいずれか1項に記載のデータ転送制御装置。
Wherein the plurality of sections, to any one of claims 1 to 3, wherein a plurality of indicator is included corresponding to a plurality of portions obtained by dividing the address of the destination of the input information The data transfer control device described.
前記圧縮手段において、前記転送情報が前記入力情報よりも小さい場合に前記第1から前記第3の情報を用いて前記転送情報が生成される
ことを特徴とする請求項1からのうちいずれか1項に記載のデータ転送制御装置。
In the compression means, any of the four preceding claims 1, wherein the transfer information is the transfer information using the third information from the first is smaller than the input information is generated 2. A data transfer control device according to item 1.
複数の区分毎に圧縮対象の属性を示すエントリ登録情報を、予め決められた複数の前記区分により構成されるエントリ毎に記憶する記憶手段を参照して、前記エントリ毎に、入力情報と前記エントリ登録情報とが一致するか否かを前記区分毎に比較する第1の比較ステップと、
前記第1の比較ステップにより得られた比較結果において一致した前記区分のデータ長を前記エントリ毎に加算した結果を、前記エントリ間で比較する第2の比較ステップと、
前記第2の比較ステップにより得られた比較結果に基づいて1つの前記エントリを選択する選択ステップと、
前記選択ステップにおいて選択された前記エントリを表す第1の情報と、前記選択ステップにおいて選択された前記エントリの前記エントリ登録情報と前記入力情報とが一致する少なくとも1つの前記区分を表す第2の情報と、前記選択ステップにおいて選択された前記エントリの前記エントリ登録情報と前記入力情報とにおいて一致しない前記区分に対応する前記入力情報を表す第3の情報とを用いて前記入力情報を圧縮する圧縮ステップと、
を有することを特徴とするデータ転送制御方法。
Referring to a storage unit that stores entry registration information indicating attributes to be compressed for each of a plurality of sections for each entry configured by a plurality of predetermined sections , input information and the entries for each entry A first comparison step for comparing, for each section, whether registration information matches ,
A second comparison step for comparing the results of adding, for each entry, the data lengths of the sections that match in the comparison result obtained by the first comparison step;
A selection step of selecting one of the entries based on the comparison result obtained by the second comparison step;
First information representing the entry selected in the selection step, and second information representing at least one of the sections in which the entry registration information and the input information of the entry selected in the selection step match. And a compression step of compressing the input information using the entry registration information of the entry selected in the selection step and the third information representing the input information corresponding to the classification that does not match the input information When,
A data transfer control method comprising:
複数の区分毎に圧縮対象の属性を示すエントリ登録情報を、予め決められた複数の前記区分により構成されるエントリ毎に記憶する記憶手段と、
前記エントリ毎に、入力情報と前記エントリ登録情報とが一致するか否かを前記区分毎に比較する第1の比較手段と、
前記第1の比較手段による比較結果において一致した前記区分のデータ長を前記エントリ毎に加算した結果を、前記エントリ間で比較する第2の比較手段と、
前記第2の比較手段による比較結果に基づいて選択された前記エントリを表す第1の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とが一致する少なくとも1つの前記区分を表す第2の情報と、選択した前記エントリの前記エントリ登録情報と前記入力情報とにおいて一致しない前記区分に対応する前記入力情報を表す第3の情報とを用いて前記入力情報を圧縮する圧縮手段と
前記圧縮手段が前記入力情報を圧縮することにより得られた転送情報を送信する送信手段と、
を有するデータ送信部と、
前記送信手段が送信した前記転送情報を受信する受信手段と、
前記エントリ毎に複数に区分された情報を複数エントリ分記憶する第2の記憶手段と、
前記受信手段が受信した前記転送情報に基づいて、前記第2の記憶手段において前記第1の情報に対応する前記エントリでかつ前記第2の情報に対応する区分に記憶されている第1の区分情報と、前記第3の情報が表す第2の区分情報とを用いて、前記圧縮対象の情報を復元する復元手段と、
を有するデータ受信部と、
を備えることを特徴とするデータ転送制御システム。
Storage means for storing entry registration information indicating attributes to be compressed for each of a plurality of sections for each entry configured by a plurality of the predetermined sections;
First comparing means for comparing, for each entry, whether the input information matches the entry registration information for each entry;
A second comparing means for comparing the results obtained by adding the data lengths of the sections that match in the comparison result by the first comparing means for each entry;
The first information representing the entry selected based on the comparison result by the second comparing means, and the first information representing at least one section in which the entry registration information and the input information of the selected entry match. Compression means for compressing the input information using the information of 2 and the third information representing the input information corresponding to the classification that does not match the entry registration information of the selected entry and the input information; Transmitting means for transmitting transfer information obtained by compressing the input information by a compression means;
A data transmission unit having
Receiving means for receiving the transfer information transmitted by the transmitting means;
Second storage means for storing a plurality of entries of information divided into a plurality for each entry;
Based on the transfer information received by the receiving means, the first section stored in the section corresponding to the second information and the entry corresponding to the first information in the second storage means A decompression unit that decompresses the information to be compressed using the information and the second segment information represented by the third information;
A data receiver having
A data transfer control system comprising:
JP2011210111A 2011-09-27 2011-09-27 Data transfer control device, data transfer control method, and data transfer control system Active JP5828256B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011210111A JP5828256B2 (en) 2011-09-27 2011-09-27 Data transfer control device, data transfer control method, and data transfer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011210111A JP5828256B2 (en) 2011-09-27 2011-09-27 Data transfer control device, data transfer control method, and data transfer control system

Publications (2)

Publication Number Publication Date
JP2013074354A JP2013074354A (en) 2013-04-22
JP5828256B2 true JP5828256B2 (en) 2015-12-02

Family

ID=48478525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011210111A Active JP5828256B2 (en) 2011-09-27 2011-09-27 Data transfer control device, data transfer control method, and data transfer control system

Country Status (1)

Country Link
JP (1) JP5828256B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149016A (en) * 1994-11-17 1996-06-07 N T T Ido Tsushinmo Kk Character string coding method
GB0001711D0 (en) * 2000-01-25 2000-03-15 Btg Int Ltd Data compression having improved compression speed
JP2002290383A (en) * 2001-03-27 2002-10-04 Ntt Docomo Inc Packet transmission control method and transmitter
JP2004343459A (en) * 2003-05-15 2004-12-02 Victor Co Of Japan Ltd Data compression system and data decompression system
US7400627B2 (en) * 2003-06-05 2008-07-15 Brooktree Broadband Holding, Inc. ATM header compression using hash tables
JP2011151572A (en) * 2010-01-21 2011-08-04 Renesas Electronics Corp Image data processor and operating method thereof

Also Published As

Publication number Publication date
JP2013074354A (en) 2013-04-22

Similar Documents

Publication Publication Date Title
US9495479B2 (en) Traversal with arc configuration information
KR102578689B1 (en) Method, apparatus and system for hybrid data compression and decompression
US9262312B1 (en) Apparatus and methods to compress data in a network device and perform content addressable memory (CAM) processing
US7814284B1 (en) Redundancy elimination by aggregation of multiple chunks
US5414650A (en) Parsing information onto packets using context-insensitive parsing rules based on packet characteristics
US10817491B2 (en) Efficient and accurate lookups of data by a stream processor using a hash table
CN111190928A (en) Cache processing method and device, computer equipment and storage medium
US20110208947A1 (en) System and Method for Simplifying Transmission in Parallel Computing System
CN110928483B (en) Data storage method, data acquisition method and equipment
CN109075798B (en) Variable size symbol entropy-based data compression
US8601358B2 (en) Buffer transfer check on variable length data
US8788887B2 (en) Data processing apparatus, trace unit and diagnostic apparatus
CN115065725B (en) Data processing method, device, electronic equipment and storage medium
US8868584B2 (en) Compression pattern matching
Liu et al. Succinct filters for sets of unknown sizes
CN115941598A (en) Flow table semi-uninstalling method, device and medium
US10601711B1 (en) Lens table
CN110888918A (en) Similar data detection method and device, computer equipment and storage medium
CN111541617B (en) Data flow table processing method and device for high-speed large-scale concurrent data flow
JP2017028374A (en) Encoding program, encoding device, encoding method, collation program, collation device and collation method
JP5828256B2 (en) Data transfer control device, data transfer control method, and data transfer control system
CN112241336A (en) Method, apparatus and computer program product for backing up data
US10997139B2 (en) Search apparatus and search method
CN111198880A (en) Data storage method and device based on redis and electronic equipment
US10355994B1 (en) Lens distribution

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151007

R150 Certificate of patent or registration of utility model

Ref document number: 5828256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150