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 PDFInfo
- 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
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
ところで、特許文献1に記載されている辞書圧縮技術では、圧縮しようとするデータが、辞書に登録されているデータと完全に一致した場合に、辞書のポインタを用いたデータの差し替えが可能となる。したがって、例えば対象とするデータの種類が多いような場合に、辞書のポインタを用いたデータの差し替えを行うことができる確率を高めようとすると、辞書へのデータ登録数を多くする必要がある。しかしながら、辞書のサイズが大きくなると、圧縮対象となる入力データと、登録されているデータとを逐次に比較する場合には比較に要する時間が長くなってしまう。また、入力データと、登録されているデータとを並列的に比較する場合には比較器等の構成が増えてしまう。
By the way, with the dictionary compression technique described in
本発明は、上記課題を解決することができるデータ転送制御装置、データ転送制御方法、およびデータ転送制御システムを提供することを目的とする。 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.
以下、図面を参照して本発明の実施の形態について説明する。図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
パケット識別子フィールド10001は、圧縮パケットであるか否かを示す識別子を保持する1ビットのフィールドである。本実施形態において、パケット識別子フィールド10001に識別子「1」が格納されている場合、圧縮パケットであることを示す。また、パケット識別子フィールド10001に識別子「0」が格納されている場合、通常パケットであることを示す。
パケット種別フィールド10002は、パケット種別を示すフィールドである。
デスティネーションフィールド10003は、パケットのデスティネーション(リンク先)を示すフィールドである。
リクエスタフィールド10004は、リクエスト元の情報を示すフィールドである。
アドレスフィールド10005は、通常パケットヘッダ10000の転送先に係るアドレスを示すフィールドである。つまり、通常パケットの転送先のアドレスを示す情報を格納する。このアドレスフィールド10005は、アドレス上位フィールド10007、アドレス中位フィールド10008、およびアドレス下位フィールド10009を含む。これらアドレス上位フィールド10007、アドレス中位フィールド10008、およびアドレス下位フィールド10009は、アドレスフィールド10005を所定のビット数で分割したフィールドであり、所定ビット数の上位、中位および下位アドレスを示すフィールドである。
その他のフィールド10006は、その他のフィールド情報を示すフィールドである。
The
The
The
The
The
The
図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
The
The
The
The
次に、図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
The packet
パケット送信側LSI20000は、リクエスタ20100、パケット送信部(データ転送制御装置)20200、およびSerDes送信部20300で構成されている。
リクエスタ20100は、通常パケットを生成するパケット生成処理を実行する。本実施形態において、リクエスタ20100は、パケット受信側LSI21000に送信する送信実体データを複数個に分割する。このリクエスタ20100は、分割された各送信実体データを、通常パケットヘッダ10000を備える通常パケットの中身データを格納する部分に書き込む。これにより、リクエスタ20100は、通常パケットを生成する。
The packet
The
パケット送信部20200は、リクエスタ20100によって生成された通常パケットを受信側LSI21000に送信する送信処理と、必要に応じて通常パケットのパケットヘッダを圧縮するパケット圧縮処理とを実行する。このパケット送信部20200は、パケット圧縮処理を実行した場合に圧縮パケットを、パケット圧縮処理を実行しない場合に通常パケットを、それぞれSerDes送信部20300に出力する。
SerDes送信部20300は、パケット送信部20200から出力された通常パケットあるいは圧縮パケットをシリアルデータに変換して、SerDes22000へ送信する。
The
The
他方、パケット受信側LSI21000は、SerDes受信部21100、パケット受信部21200、およびターゲット21300から構成されている。
SerDes受信部21100は、SerDes22000を介してパケット送信側LSI20000からシリアルデータを受信し、パケット化する。
パケット受信部21200は、SerDes22000を介してパケットを受信し、受信したパケットが圧縮パケットであった場合、圧縮パケットを復元する復元処理を実行するとともに、復元した復元パケットをターゲット21300に出力する。また、パケット受信部21200は、受信したパケットが通常パケットであった場合、パケットを復元する復元処理を実行せずに、そのまま通常パケットをターゲット21300出力する。
ターゲット21300は、パケット受信部21200から出力された復元パケットあるいは通常パケットを受け取り、受け取ったパケットに対して予め決められた処理を実行する。
On the other hand, the packet receiving
The
The
The
上述したパケット送信側LSI20000内のパケット送信部20200は、通常パケット保持レジスタ20210、圧縮辞書テーブル処理部20220、およびパケット圧縮論理回路20230から構成されている。
通常パケット保持レジスタ20210は、リクエスタ20100から受信した通常パケットをSerDes送信部20300へ出力するタイミングまで一時的に保持する記憶領域である。
この通常パケット保持レジスタ20210は、有効な通常パケットを保持したタイミングで、リクエスタ20100から入力する通常パケットに格納されている情報のうち、通常パケットヘッダ10000の各フィールドに格納されている情報を、圧縮辞書テーブル処理部20220へ信号線20241を介して出力する。
また同様に、通常パケット保持レジスタ20210は、有効な通常パケットを保持したタイミングで、リクエスタ20100から入力する通常パケットに格納されている情報を、パケット圧縮論理回路20230に出力する。つまり、通常パケット保持レジスタ20210は、通常パケットの全てのフィールドに格納されている情報(すなわち通常パケットヘッダ10000の全てのフィールドに格納されている情報と、通常パケットに含まれる通常パケットヘッダ10000以外の全てのフィールドに格納されている情報と)を、パケット圧縮論理回路20230へ信号線20242を介して出力する。
The
The normal
The normal
Similarly, the normal
圧縮辞書テーブル処理部20220は、複数の論理回路やレジスタなどから構成され、通過するパケットヘッダに格納されている情報に基づき、パケット圧縮論理回路20230による圧縮処理に利用される圧縮対象であるフィールドが登録されているいか否かを判定する。この圧縮辞書テーブル処理部20220は、圧縮対象であるフィールドを検索する際に参照する辞書データを内蔵するレジスタに登録している。つまり、圧縮辞書テーブル処理部20220は、圧縮対象であるフィードを検索する辞書として機能するテーブルを有している。この圧縮辞書テーブル処理部20220は、圧縮対象であるフィードを検索により得た場合、当該フィードを圧縮することを判定する。一方、圧縮対象であるフィードを検索により検出できなかった場合、圧縮辞書テーブル処理部20220は、圧縮処理を実行しないことを判定する。
The compression dictionary
また、圧縮辞書テーブル処理部20220は、圧縮すると判定した場合に使用するエントリを表すエントリ番号と、当該エントリの中のどのフィールドを圧縮時に使用するのかを表す差し替え情報とを出力する機能とを有している。この圧縮辞書テーブル処理部20220が有する圧縮辞書として機能するテーブルは、通常パケットヘッダ10000に格納されることが予想されるデータをフィールド単位で比較および選択ならびに書き換え可能な形態で複数組格納している。テーブル内の各組のデータはそれぞれ1個の通常パケットヘッダ10000に対応している。また、各組のデータの格納位置は、所定の1個のエントリ番号で示されている。本実施形態では、テーブル内の各組のデータが、1個の通常パケットヘッダ10000に対応する1組のデータを記憶する1組のレジスタ(あるいは一定範囲の記憶領域)を有するエントリと称する回路ブロックに記憶される。
The compression dictionary
パケット圧縮論理回路20230は、圧縮辞書テーブル処理部20220から出力されたエントリ番号と差し替え情報とに基づき、圧縮するか否かの判定を行う機能と、圧縮すると判定した場合に圧縮パケットヘッダを生成するとともに、生成した圧縮パケットヘッダを通常パケットにおける通常パケットヘッダ10000と置き換えて、圧縮パケットを合成する機能とを有している。また、パケット圧縮論理回路20230は、圧縮するか否かの判定の結果を表す情報を圧縮情報として信号線20245を用いて圧縮辞書テーブル処理部20220に出力する。また、パケット圧縮論理回路20230は、生成した圧縮パケットまたは圧縮を行わなかった通常パケットをSerDes送信部20300へ出力する機能を有している。
The packet
ここで、図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
図3に示した圧縮辞書テーブル処理部20220は、複数のエントリ処理部31000(i)と、ビット幅比較論理回路32000と、一致情報選択回路33000と、カウンタ制御回路34000と、登録先選択回路35000とを有している。各エントリ処理部31000(i)は、同一構成である。また、各エントリ処理部31000(i)には、固有の識別情報(あるいは位置情報)であるエントリ番号(i)がそれぞれ割り当てられている。
The compression dictionary
圧縮辞書テーブル処理部20220は、通過する通常パケットヘッダ10000に格納された情報ごとに、エントリ番号(i)を割り当てて、エントリ処理部31000(i)として利用されるコンパレータやレジスタを含むハードウエア資源にエントリ処理部31000(i)の機能構成を割り当てる。つまり、圧縮辞書テーブル処理部20220は、通話パケット保持レジスタ20210から入力する通常パケットヘッダ10000に格納された情報に対応するエントリ処理部31000(i)が割り当てられているか否かを判定する。対応するエントリ処理部31000(i)が割り当てられていない場合、圧縮辞書テーブル処理部20220は、エントリ処理部31000(i)として機能していない状態のハードウエア資源に対して、エントリ処理部31000(i)を割り当てる。この圧縮辞書テーブル処理部20220による処理を、以下、圧縮辞書テーブル処理部登録処理という。
The compression dictionary
また、圧縮辞書テーブル処理部20220は、通過する通常パケットヘッダ10000に格納された情報に対応するエントリ処理部31000(i)が登録されている場合、このエントリ処理部31000(i)に登録されている情報と通常パケットヘッダ10000に格納された情報との照合結果に基づき、通常パケットヘッダ10000の一部の情報を圧縮する。この圧縮辞書テーブル処理部20220による処理を、以下、圧縮処理という。
If the entry processing unit 31000 (i) corresponding to the information stored in the passing
エントリ処理部31000(i)は、Valid(バリッド)レジスタ31100、登録パケット情報レジスタ31200、一致カウンタ31300、7個のコンパレータ31401〜31407、ビット幅加算機31500、および束線化回路31600を有している。このエントリ処理部31000(i)は、上述の圧縮辞書テーブル処理部登録処理によって登録されたエントリ番号(i)毎に、コンパレータやレジスタを含むハードウエア資源に割り当てられる処理部である。
The entry processing unit 31000 (i) includes a
Validレジスタ31100は、各エントリ処理部31000(i)の有効/無効を示す1ビットのデータが格納される。Validレジスタ31100は、例えば、エントリ処理部31000(i)として利用されるハードウエア資源に登録された情報が初期化した後等で登録されたエントリ処理部31000(i)に対応するデータが格納される前の状態である場合、無効であることを示す情報「0」が格納されている。また、Validレジスタ31100は、通過した通常パケットヘッダ10000に対応するエントリ処理部31000(i)が割り当てられ、当該通常パケットヘッダ10000に格納されている情報が登録パケット情報レジスタ31200に登録(格納)された状態である場合、有効であることを示す情報「1」が格納されている。
The
登録パケット情報レジスタ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
Each
一致カウンタ31300は、エントリ登録情報を用いてパケット圧縮が行われた回数を保持するカウンタである。
一致カウンタ31300には、初期状態で「0」が格納されている。また、一致カウンタ31300は、エントリ登録情報を用いてパケット圧縮が行われた場合に、1ずつカウントアップされた情報「1」、「2」、・・・を格納する。
The
The
コンパレータ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
The
束線化回路31600は、全てのコンパレータ31401〜31407の出力を束ねた結果を、エントリ処理部31000(i)の比較結果として(ここでは一致情報Giとして)、エントリ処理部31000(i)の外に出力する。この場合、束線化回路31600は、7個のコンパレータ31401〜31407の出力を束ねて7ビットの一致情報Giを出力する。各コンパレータ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),
ビット幅加算機31500は、各コンパレータ31401〜31407の出力に基づいて、一致したフィールドのビット幅の値を加算して、各エントリ処理部31000(i)の一致ビット幅情報Hiとして、エントリ処理部31000(i)の外へ出力する。例えば、通常パケットヘッダ10000のパケット種別フィールド10002のビット幅が7ビット、デスティネーションフィールド10003のビット幅が5ビットであるとする。また、パケット種別レジスタ20212に格納されている入力情報とパケット種別レジスタ31201に格納されているエントリ登録情報とが一致し、かつ、デスティネーションレジスタ20213に格納されている入力情報とデスティネーションレジスタ31202に格納されているエントリ登録情報とが一致しているとする。さらに、この他のフィールドのレジスタに格納された入力情報とエントリ登録情報とがそれぞれ不一致であったとする。この場合、ビット幅加算機31500の出力(一致ビット幅情報Hi)は、パケット種別フィールドのビット幅「7」と、デスティネーションフィールドのビット幅「5」とを加算した一致ビット幅「12」となる。また、ビット幅加算機31500は、各コンパレータ31401〜31407のいずれにおいても一致している状態が検出されなかった場合には、一致ビット幅情報Hiとして「0」を出力する。
The
ビット幅比較論理回路32000は、比較器、セレクタ、カウンタなどの種々の論理回路の複合回路である。ビット幅比較論理回路32000は、各エントリ処理部31000(i)から出力された各エントリの一致ビット幅情報Hiとを比較し、比較結果に基づいて一致ビット幅が最大のエントリ処理部31000(i)を示すエントリ番号(i)を出力する。
ただし、ビット幅比較論理回路32000は、同一の最大値である一致ビット幅情報Hiを有するエントリ処理部31000(i)が複数あった場合には、例えば最も若い番号のエントリ番号(i)を出力する。あるいは、ビット幅比較論理回路32000は、同一の最大値である一致ビット幅情報Hiを有する各エントリ処理部31000(i)の中で一致カウンタ31300の値が最も大きいエントリ番号(i)を出力するようにしてもよい。また、ビット幅比較論理回路32000は、少なくとも1つのフィールドのビット幅に対応する値以上のビット幅の値が、いずれのエントリ処理部31000(i)からも入力されなかった場合、すなわち各エントリ処理部31000(i)の各コンパレータ31401〜31407のいずれにおいても一致している状態が検出されなかった場合には、有効なエントリ番号(i)がないことを示す値のエントリ番号(例えば0や負の値;以下、無効なエントリ番号と称する)を出力する。このビット幅比較論理回路32000から出力されたエントリ番号は、通常パケット保持レジスタ20210に保持されているパケットを、圧縮パケットヘッダ11000(図2参照)に変換する場合(すなわち圧縮する場合)に、エントリ番号フィールド11002に格納される値となる。
The bit width
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
一致情報選択回路33000は、各エントリ処理部31000(i)の束線化回路31600から出力される一致情報Giを入力し、ビット幅比較論理回路32000から出力されたエントリ番号(i)に基づいて、当該エントリ番号(i)で指定されるエントリ処理部31000(i)の束線化回路31600の出力(一致情報Gi)を選択して、差し替え情報Siとして出力する。この一致情報選択回路33000から出力された差し替え情報Siは、通常パケット保持レジスタ20210に保持されているパケットを、圧縮パケットヘッダ11000(図2参照)に変換する場合(すなわち圧縮する場合)に、差し替え情報フィールド11003に格納される値となる。なお、一致情報選択回路33000は、ビット幅比較論理回路32000から無効なエントリ番号が出力された場合にはすべてのビットを0(すなわち差し替えしないことを示す値)とした差し替え情報Siを出力する。
Matching
また、カウンタ制御回路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
登録先選択回路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
When the registration
なお、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
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
カウント値が最も小さいエントリ処理部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
Also, the registration
このようにして、パケット圧縮論理回路20230において圧縮処理が行われなかった場合、圧縮辞書テーブル処理部20220内の情報と少なくとも一部が一致しない通常パケットヘッダ10000は、それが通常パケット保持レジスタ20210を通過した場合に、無効なエントリ、もしくは、カウント値が最小である圧縮辞書テーブル処理部のエントリ処理部31000(i)に取り込まれる。つまり、パケット圧縮論理回路20230において圧縮処理が行われなかった場合、通過する通常パケットヘッダ10000の情報が圧縮辞書テーブル処理部20220に登録されていないため、圧縮辞書テーブル処理部20220は、通過する通常パケットヘッダ10000の情報をエントリ登録情報として、それぞれ対応するフィールド毎に、登録パケット情報レジスタ31200に登録する。
In this way, when the packet
次に、図4および図5を参照して、図1に示したパケット送信側LSIのパケット圧縮論理回路20230の動作について説明する。図4はパケット圧縮論理回路20230による処理の流れの一例を示すフローチャートである。図5は、動作例を説明するための図表である。図5の図表では、ケース番号1〜7の7種類の動作例に対応する情報を示している。
Next, the operation of the packet
なお、図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
また、エントリ番号(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).
また、差し替え情報Siの各ビットは、図3のコンパレータ31401〜31407の比較結果が一致している場合に「1」、不一致の場合に「0」としている。例えば、ケース番号1では、差し替え情報Siの7ビットがすべて「1」となっている。この場合、図3の7個のコンパレータ31401〜31407における比較結果がすべて一致となっていたことを示している。
Each bit of the replacement information S i is set to “1” when the comparison results of the
さて、いまここで、通常パケット保持レジスタ20210が、リクエスタ20100からパケットを受信したとすると、パケット圧縮論理回路20230は、まず、圧縮辞書テーブル処理部20220から信号線20244を用いて受信した差し替え情報Siに差し替えを行うことが可能である旨の設定、すなわち差し替え情報Siのいずれかのビットに差し替えを行うことが可能であることを示す値(上記の例では1)が設定されているか否かを判定する(図4のステップS11)。パケット圧縮論理回路20230は、差し替え情報Siが設定されていると判定した場合(ステップS11で「yes」の場合)、差し替え情報Siの各ビットの値に基づいて圧縮パケットヘッドのビット数を算出する(ステップS12)。
Now, assuming that the normal
例えば、図5のケース番号1のように、差し替え情報Siを構成する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)の情報のみで(すなわち差し替え情報Si無しで)圧縮前の通常パケットヘッダ10000と同一のデータを復元することができる。
For example, as in
また、例えば、図5のケース番号2のように、差し替え情報Siを構成する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
In this case, in the entry processing unit 31000 (i) of any entry number (i), a match is detected by the five
この場合、一致ビットの合計数は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
同様に、図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
Here, the
次に、パケット圧縮論理回路20230は、圧縮時のパケットヘッダすなわち圧縮パケットヘッダのビット数と、非圧縮時のパケットヘッダすなわち通常パケットヘッダ10000のビット数とを比較する(ステップS14)。例えば図5に示した例では、パケット圧縮論理回路20230が、ステップS13で求めた圧縮パケットヘッダのビット数と、通常パケットヘッダ10000のビット数64ビットとを比較する。
Next, the packet
ステップS13での比較の結果、圧縮時のパケットヘッダすなわち圧縮パケットヘッダのビット数が、非圧縮時のパケットヘッダすなわち通常パケットヘッダ10000のビット数より少ない場合(ステップS14で「yes」の場合)、パケット圧縮論理回路20230は、エントリ番号(i)および差し替え情報Siと通常パケットヘッダ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
上述したように、図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
Therefore, in step S15, the packet
また、図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
In this case, as described above, a compressed packet of 31 bits in total consisting of a 1-bit
他方、例えば図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
In this case, the packet
ステップS15でパケット圧縮論理回路20230が圧縮パケットヘッダを生成すると、パット生成論理20230は、通常パケット保持レジスタ20210から受信した通常パケットの通常パケットヘッダ10000をステップS15で生成した圧縮パケットヘッダで差し替えることで、圧縮パケットを生成し、SerDes送信部20300に向けて出力する(ステップS16)。
When the packet
例えば、図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
In this case, a reduction effect of 48 bits from 64 bits to 16 bits can be obtained. In the example of
Similarly, in the case of
このように、パケット圧縮論理回路20230は、圧縮辞書テーブル処理部20220から受信したエントリ番号(i)と、差し替え情報Siの情報を元に、通常パケット保持レジスタ20210から受信した通常パケットヘッダ10000を圧縮効果がある場合に圧縮パケットヘッダに差し替えることで、圧縮パケットを生成する。
一方、パケット圧縮論理回路20230は、圧縮辞書テーブル処理部20220から受信した差し替え情報Siで、差し替え情報Siで差し替えた場合に通常パケットよりビット幅が大きくなる場合は、差し替えを行わず、通常パケットのまま転送を行う。
As described above, the packet
On the other hand, the packet
なお、図5に示した図表について詳細に説明を行うと次のようになる。すなわち、図5に示した図表は、パケット送信側LSI20000のパケット圧縮論理回路20230の動作の一例を示している。
図5の図表では、パケット圧縮論理回路20230が圧縮辞書テーブル処理部20220から受信する差し替え情報Siのケース(全ケースではない)と、その時に生成する圧縮パケットのビット幅、および、圧縮パケット生成の有無を示している。
なお、各フィールドのビット幅は仮に設定した値であり、コンピュータシステムの制御方式に依存し増減する事が有る。
本実施形態では、パケット識別子フィールドは1ビット幅(0は通常パケット、1は圧縮パケット)、パケット種別フィールドは7ビット、デスティネーションフィールドは5ビット、リクエスタフィールドは5ビット、アドレスフィールドは39ビットとし、アドレスフィールドの一致比較範囲は上位22ビット、中位9ビット、下位8ビットと分割している。
また、これら以外の、その他フィールドは7ビットとして、計算している。圧縮パケットに関しては、パケット識別子フィールド1ビット、エントリ番号情報を8ビット、差し替え情報Siを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
In the diagram of FIG. 5, a case of replacement information S i the packet
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
さらに、図5の図表のケース番号1を例に説明する。ケース1では、圧縮辞書テーブル処理部20220から信号線20244で受信する差し替え情報Siは、比較対象の全てのフィールドで一致を検出したことを示す結果なので、一致ビットは63ビットという結果となる。
圧縮パケットを生成した場合、不一致フィールド分が存在しないので、圧縮パケットのビット幅は16ビットのみとなり、48ビットの削減効果が有る。
この場合、パケット圧縮論理回路20230は効果有りと判断し、差し替え動作を行う。ケース2〜4に関しても同様であるが、不一致した情報を不一致フィールドに追加するため、その分効果は低くなるが、通常パケットと比べてビット幅を削減できるため、圧縮パケットへの差し替えは実施する。ケース5〜7に関しては、圧縮パケットを生成した場合、圧縮パケットの方が通常パケットよりも大きくなるため、圧縮パケットへの差し替えは実施されない。
Further, the
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
一方、図1に示したパケット受信部21200は、圧縮パケット保持レジスタ21210、圧縮辞書テーブル処理部21220、およびパケット復元論理21230から構成される。圧縮パケット保持レジスタ21210は、SerDes受信部21100から受信した圧縮パケットまたは通常パケットのパケットヘッダをターゲット21300へ出力するタイミングまで一時保持する。圧縮辞書テーブル処理部21220は、復元情報のデータとなる先行パケットのヘッダ情報を保持する。パケット復元論理21230は、パケットヘッダを圧縮前の情報に復元し、またはそのまま用いて通常パケットを生成し、ターゲット21300へ送信する。
On the other hand, the
パケット受信側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
That is, in FIG. 6, registers (or storage areas) 21211B to 21218B have a
The registers (or storage areas) 21211A to 21214A include a
図3に示した圧縮辞書テーブル処理部21220は、複数のエントリ処理部41000(i)と、カウンタ制御回路44000と、登録先選択回路45000と、パケット情報選択回路46000とを有している。各エントリ処理部41000(i)は、同一構成であるが、各エントリ処理部41000(i)には固有の識別情報(あるいは位置情報)である異なるエントリ番号(i)が割り当てられている。
The compression dictionary
エントリ処理部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
The
The
The
The
パケット情報レジスタ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
Each
The data held in the registers 20211B to 20214B, 20217B to 20219B, and 20216B of the compressed
また、カウンタ制御回路44000は、図3に示したカウンタ制御回路34000に対応する構成であり、圧縮パケット保持レジスタ21210内のレジスタ21211Aに保持されているパケット識別子フィールドが圧縮状態であることを示している場合に、レジスタ21212Aに保持されたエントリ番号(i)と一致するエントリ処理部41000(i)を選択し、選択した一致カウンタ41300の値を1加算する。
The
また、登録先選択回路45000は、図3に示した登録先選択回路35000に対応する構成であり、各エントリ処理部41000(i)0内のパケット情報レジスタ41200内の値の更新を制御する回路である。
登録先選択回路45000には、圧縮パケット保持レジスタ21210内のレジスタ21211Bおよびレジスタ21211Aに保持されている値(パケット識別子フィールド)と、各エントリ処理部41000(i)におけるValidレジスタ41100の値および一致カウンタ41300のカウント値とが入力される。
Further, the registration
The registration
この登録先選択回路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
The conditions used in this selection are the same as those used in the registration
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
On the other hand, if there is no entry processing unit 41000 (i) whose value of the
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
そして、登録先選択回路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
In addition, the registration
このようにして、圧縮辞書テーブル処理部21220内の情報と一致しない通常パケットヘッダは、それが圧縮パケット保持レジスタ21210を通過した場合に、無効なエントリ、もしくは、カウント値が最小である圧縮辞書テーブル処理部のエントリ処理部41000(i)に取り込まれる。
In this way, a normal packet header that does not match the information in the compression dictionary
上記のように、登録先選択回路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
すなわち、圧縮辞書テーブル処理部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
また、パケット情報選択回路46000は、圧縮パケット保持レジスタ21210内のレジスタ21211Bおよびレジスタ21211Aに保持されている値(すなわちパケット識別子)と、レジスタ21212Aに保持されている値(すなわちエントリ番号(i))と、レジスタ21213Aに保持されている値(すなわち差し替え情報Si)とに基づいて、パケット復元論理21230に出力されるパケット情報を生成する。パケット情報は、差し替えが行われるフィールドのデータを有して構成されるものであり、圧縮パケット保持レジスタ21210に圧縮パケットヘッダが保持されている場合にのみ生成される。すなわち、レジスタ21211Bおよびレジスタ21211Aに保持されている値(すなわちパケット識別子)が圧縮パケットであることを示している場合にのみ生成される。圧縮パケットである場合、パケット情報選択回路46000は、レジスタ21212Aに保持されている値(すなわちエントリ番号(i))で指示されるエントリ処理部41000(i)のパケット情報レジスタ41200において、レジスタ21213Aに保持されている値(すなわち差し替え情報Si)で指示されたフィールドの値を保持するレジスタ41201〜41207の1または複数に格納されているデータを、パケット情報として出力する。
Further, the packet
次に図7を参照して、パケット受信側LSI20000のパケット復元論理21230の動作について説明する。図7は、通常パケットヘッダ10000の例と、圧縮パケットヘッダの5つの例に対するパケット復元論理21230の動作例を説明するための図表である。図7では、パケット復元論理21230が圧縮パケット保持レジスタ21210から受信する差し替え情報Siのケース(全ケースではない)と、その時に生成する復元パケットの各フィールドの参照元を示している。これらの例で、パケット識別子フィールドは、0で通常パケット、1で圧縮パケットを表す。なお、Xは値が無効であることを示している。差し替え情報Siは、ビット毎に、1で各フィールドを圧縮辞書テーブル処理部21220内のデータで差し替えること、0で差し替えないことを表す。また、図7の図表の「パケット生成」の欄は、生成されるパケットヘッダの各フィールドが、通常もしくは圧縮パケットヘッダ内のフィールドまたは圧縮辞書テーブル処理部21220内のデータのどれを用いて生成されたかを示している。「そのまま」はパケット受信側LSI20000が受信したパケットヘッダ内の当該フィールドの値をそのまま用いることを示している。「テーブル」は圧縮辞書テーブル処理部21220において対応するエントリ処理部41000(i)内のデータを用いることを示している。また、「不一致フィールド」はパケット受信側LSI20000が受信した圧縮パケットヘッダ内の不一致フィールドの値を用いることを示している。
Next, the operation of the
パケット復元論理21230は、圧縮辞書テーブル処理部21220から信号線21243を用いて受信したパケット情報と、圧縮パケット保持レジスタ21210から信号線21242を用い入力された差し替え情報Siおよび圧縮パケットの不一致フィールドを元に、通常パケットを復元する。
The
先ず、図7のケース番号1を例に説明する。ケース1では、圧縮パケット保持レジスタ21210のパケット識別子フィールドが0、すなわち通常パケットである事を示している。このため、パケット復元論理21230では、パケットの復元動作は行わない。これに対して、ケース番号2〜6に関しては、圧縮パケット保持レジスタ21210のパケット識別子フィールドが1、すなわち圧縮パケットであるため、パケット復元論理21230は、パケットの復元動作を行う。この時、圧縮パケット保持レジスタ21210から信号線21242を用いて入力された差し替え情報Siが「1」であるビットに対応するフィールドに関しては、圧縮辞書テーブル処理部21220から信号線21243を用いて出力されたパケット情報を参照し、各フィールドの情報を生成する。差し替え情報Siが「0」であるビットに対応するフィールドに関しては、信号線21242を用いて入力した不一致フィールドの情報を参照してフィールドの情報を生成し、各フィールドをマージして元のパケットの情報に復元する。
First,
以降では、図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
[圧縮辞書への登録]
リクエスタ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
送信側の圧縮辞書テーブル処理部20220は、信号線20241を参照し、圧縮対象のパケットヘッダが、送信側の圧縮辞書テーブル処理部20220内の有効なエントリに一致する、もしくは、一部の情報が一致するエントリが存在するか否かを判定する(ここでは、最初のパケットなので一致するエントリは存在しない)。この場合、送信側の圧縮辞書テーブル処理部20220における判定の結果、エントリの一致は無かったため、送信側の圧縮辞書テーブル処理部20220は、差し替え情報Si(信号線20244)として、一致なし(差し替え情報Si=オール0)という結果をパケット圧縮論理回路20230へ出力する。また、差し替え情報Si=オール0なので、パケット圧縮論理回路20230からは圧縮情報(信号線20245)として圧縮処理を行わない旨の情報が出力される。したがって、送信側の圧縮辞書テーブル処理部20220は、テーブル内の各エントリ処理部31000(i)が有する一致カウンタカウンタ値を比較し、一致回数が一番少ないエントリ、もしくは、無効なエントリへ、通常パケット保持レジスタ20210からのパケットヘッダP1の情報を全て取り込み、以降は有効なエントリとして、保持する。ここでは、図8(B)に示すようにエントリ番号「1」のエントリ処理部31000(i)における登録パケット情報レジスタ31200の各レジスタ31201〜31207にパケットヘッダP1のパケット識別子フィールド10001を除く各フィールドのデータD2〜D8が取り込まれる。
The compression dictionary
送信側の圧縮辞書テーブル処理部20220から、差し替え情報Si(信号線20244)として、一致なし(オール0)という結果を受信した、パケット圧縮論理回路20230は、圧縮動作は行わず、通常パケット保持レジスタ20210からの信号線20242を用いて受信した通常パケットをそのままの形でSerDes送信部20300へ転送する。ここでSerDes送信部20300へ転送された通常パケットのパケットヘッダは、図8(A)の通常パケットヘッダP1と同一である。
The packet
SerDes22000を通過して、パケット受信側LSI21000のSerDes受信部21100へ受信されたパケットは、パケット受信部21200の圧縮パケット保持レジスタ21210へ圧縮されていないパケットの形(パケット識別=0)で取り込まれる。圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へ受信したパケットヘッダの情報を信号線21241で出力し、これを受信した受信側の圧縮辞書テーブル処理部21220は、送信側の圧縮辞書テーブル処理部20220と同様に、受信側の圧縮辞書テーブル処理部21220内の有効なエントリに一致する、もしくは、一部の情報が一致するエントリが存在するか否かの判定を行う(ここでは送信側と同様に、一致するエントリは存在しない)。
A packet that has passed through
受信側の圧縮辞書テーブル処理部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
圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へパケット情報を出力すると同時に、パケット復元論理21230へパケットの情報を信号線21242で出力する。これを受信したパケット復元論理21230はパケットの復元動作は行わず、そのままのパケットの情報を、ターゲット21300へ出力する。ここでターゲット21300へ出力されるパケットのパケットヘッダは、図8(A)の通常パケットヘッダP1と同一である。
The compressed
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
リクエスタ20100は2個目のDMAパケットをパケット送信部20200へ出力し、パケット送信部20200内の通常パケット保持レジスタ20210に取り込まれる。通常パケット保持レジスタ20210はパケットヘッダの情報を信号線20241で送信側の圧縮辞書テーブル処理部20220へ出力する。送信側の圧縮辞書テーブル処理部20220は、該信号20241を参照し、送信側の圧縮辞書テーブル処理部20220内の有効なエントリに一致する、もしくは、一部の情報が一致するエントリが存在するか否かを判定する。送信側の圧縮辞書テーブル処理部20220は1個目のDMAパケットで登録したエントリの情報とアドレス下位以外の情報が一致している事を検出し、パケット圧縮論理回路20230へ、エントリ番号(信号線20243)および差し替え情報Si(信号線20244)を出力する。また、送信側の圧縮辞書テーブル処理部20220は、パケット圧縮論理回路20230から圧縮した旨を示す圧縮情報が入力された場合に、一致したエントリの一致カウンタ31300を1加算し、圧縮転送が行われた回数を記録する。この例では、差し替え情報Siは、2進数で「1111101」となる。ただし、差し替え情報Siの各ビットは、0が差し替えを行わない場合、1が差し替えを行う場合を示している。また、差し替え情報Siの各ビットは、最上位ビットがパケット種別フィールド10002に対応し、順次下位に向けて、デスティネーションフィールド10003、リクエスタフィールド10004、アドレス上位フィールド10007、アドレス中位フィールド10008、アドレス下位フィールド10009、およびその他のフィールド10006に対応している。すなわち、差し替え情報Si「1111101」は、アドレス下位フィールド10009の差し替えを行わず、他のフィールドについては差し替えを行うことを示している。
The
有効な差し替え情報Si(すなわちいずれかのビットが1となっている差し替え情報Si)(信号線20244)を受信したパケット圧縮論理回路20230は、パケット識別子を1(圧縮パケット)として、送信側の圧縮辞書テーブル処理部20220から受信したエントリ番号の情報、および、差し替え情報Siを、それぞれエントリ番号フィールド、および、差し替え情報フィールドに、通常パケット保持レジスタ2021から信号線20242で受信したアドレスの下位フィールドを不一致フィールドに適用した、圧縮パケットを生成し、SerDes送信部20300へ転送する。図8(E)にここでSerDes送信部20300へ転送される圧縮パケットの圧縮パケットヘッダP3を示した。圧縮パケットヘッダP3のパケット識別子フィールド11001は「1」、エントリ番号フィールド11002はエントリ番号=「0000001」、差し替え情報フィールド11003は差し替え情報Si「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
SerDes22000を通過して、パケット受信側LSI21000のSerDes受信部21100へ受信された圧縮パケットは、パケット受信部21200の圧縮パケット保持レジスタ21210へ圧縮パケットの形(パケット識別=1)で取り込まれる。圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へパケットヘッダの情報を信号線21241で出力する。これを受信した受信側の圧縮辞書テーブル処理部21220は、圧縮パケットヘッダのエントリ番号フィールド11002の情報から、先のDMA転送パケット受信時に該エントリに登録された情報を読み出し、パケット情報として、パケット復元論理21230へ出力する。また、これと同時に、該エントリの一致カウンタ41300を1加算し、送信側の圧縮辞書テーブル処理部20220の情報と一致させる。
The compressed packet received by the
圧縮パケット保持レジスタ21210は受信側の圧縮辞書テーブル処理部21220へパケットヘッダの情報を出力すると同時に、パケット復元論理21230へパケットの情報を信号線21242で出力する。これを受信したパケット復元論理21230は、差し替え情報Siを元に、パケットの復元を行う。即ち、この例において、差し替え情報Siでは、アドレス下位以外のフィールドは圧縮辞書テーブル処理部21220に一致という情報となるので、アドレス下位以外の情報は、受信側の圧縮辞書テーブル処理部21220から出力されたパケット情報を参照し、アドレス下位のフィールドに関しては、圧縮パケット保持レジスタ21210からの不一致フィールドの情報を参照する事で、パケットの復元を行う。図8(E)および(F)はここで復元された復元パケットのパケットヘッダP3と各フィールドのデータの参照元との関係を示している。アドレス下位フィールド11009のデータD7−2は圧縮パケットヘッダP3の不一致フィールド11004に基づいて復元されている。他のフィールドは、受信側の圧縮辞書テーブル処理部21220のエントリ番号=1のエントリ処理部41000(i)のパケット情報レジスタ41200の対応するフィールドのデータに基づいて復元されている。
The compressed
そして、パケットヘッダを復元したパケット復元論理21230は、ターゲット21300へ該復元したパケットヘッダを出力する。
Then, the
本実施形態によれば、圧縮対象となる入力情報の全部とエントリ毎のエントリ登録情報の全部とが一致していなくても、いずれかのエントリ処理部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
なお、上記の実施形態では、圧縮対象をパケットヘッダの部分としているが、これに限らず、本発明は、パケットヘッダ以外の例えば所定の制御情報などのデータに対して適用することも可能である。 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
なお、上記実施形態の構成と、特許請求の範囲の記載事項との対応は次のとおりである。特許請求の範囲の「記憶手段」は圧縮辞書テーブル処理部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
また、「送信手段」は、SerDes送信部20300に対応している。「受信手段」はSerDes受信部21100に対応している。「第1の記憶手段」は圧縮辞書テーブル20220および登録パケット情報レジスタ31200に対応している。「第2の記憶手段」は圧縮辞書テーブル処理部20220およびパケット情報レジスタ41200に対応している。「復元手段」はパケット復元論理21230に対応している。「第1の区分情報」はレジスタ41201〜41200に格納されているデータに対応している。「第2の区分情報」は不一致フィールド11004に格納されているデータに対応している。
The “transmission means” corresponds to the
また、上記実施形態の構成を主要な機能毎にまとめ、模式的に示すと図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
また、本実施の形態に係るパケット送信側LSI20000とパケット受信側LSI21000は、内部にコンピュータシステムを有している。そして、動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいう「コンピュータシステム」とは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
Further, the packet
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
21100
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の比較手段による比較の結果、前記入力情報が前記各エントリ登録情報における前記区分ごとの情報のうち少なくとも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の比較手段による比較の結果、前記入力情報が前記各エントリ登録情報における前記区分ごとの情報のうち少なくとも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から3のうちいずれか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から4のうちいずれか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の比較ステップにより得られた比較結果において一致した前記区分のデータ長を前記エントリ毎に加算した結果を、前記エントリ間で比較する第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:
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)
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 |
-
2011
- 2011-09-27 JP JP2011210111A patent/JP5828256B2/en active Active
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 |