专利摘要:
ネットワーク・アダプタ内で部分ワード書き込みを実施するための方法、システム及びコンピュータ・プログラムを提供する。 一般に、ネットワーク・アダプタを設計する際に問題となるのは、通常、バス幅(例えば、8xPCIExpressインタフェースの場合は64ビット)に整列しているパケット・バッファ内の諸パケットに部分ワード(例えば、16ビットのIPチェックサム)を挿入しなければならない場合である。実際、「チェックサム・オフロード」機能を実装するハードウェア論理では、かかる部分ワードの挿入が頻繁に必要となる。多くの従来の設計では、パケット内の指定された任意のオフセットにおいて部分ワードを挿入するためのハードウェア論理が必要となる。パケット・バッファ内のこの挿入位置は、奇数又は偶数位置であり得る。本明細書において広義に意されていることは、本発明の少なくとも1つの推奨実施形態に従って、2バイトのIPチェックサムを8バイト・ワード内の任意の非整列位置に書き込むための簡単なアルゴリズムを実装することである。こうすると、16個の1:8デマルチプレクサを使用する論理集約的な実装の使用を回避するか、又は待ち時間を増大させる「読み取り−修正−書き込み」アプローチを回避することができる。
公开号:JP2011508989A
申请号:JP2010535347
申请日:2008-11-24
公开日:2011-03-17
发明作者:アディガ、ナラシマ、ラマクリシュナ
申请人:インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation;
IPC主号:H04L1-00
专利说明:

[0001] 本発明は、ネットワーク・アダプタ内で部分ワード書き込み(partial word store)を実施するための方法及びシステムに係り、さらに詳細に説明すれば、少ない遅れ及びより高い周波数でかかるタスクを実施することに係る。]
背景技術

[0002] 一般に、ネットワーク・アダプタを設計する際に問題となるのは、通常、バス幅(例えば、8xPCIExpressインタフェースの場合は64ビット。かかるインタフェースの例は、www.pcisig.com, PCI Express Base spec. Rev 1.0aで見出すことができる)に整列しているパケット・バッファ内の諸パケットに部分ワード(例えば、16ビットのIPチェックサム)を挿入しなければならない場合である。実際、「チェックサム・オフロード」機能を実装するハードウェア論理では、かかる部分ワードの挿入が頻繁に必要となる。多くの従来の設計(例えば、米国特許第5898713号明細書に記載の発明では、ホストによって消費されるプロセッサ・サイクルを減少させることを目的として、IPチェックサムの計算を制御ユニットにオフロードすることにより、ホスト・コンピュータ及びネットワークの性能を改良するようにしている)では、パケット内の指定された任意のオフセットにおいて部分ワードを挿入するためのハードウェア論理が必要となる。パケット・バッファ内のこの挿入位置は、奇数又は偶数位置であり得る。]
[0003] かかる部分ワード書き込みを実施するための従来の方法は、16個の1:8デマルチプレクサを具備するシフタを使用することを含み、オフセットの下位3ビット(すなわち、パケットにおける指定されたチェックサム位置の最下位3ビット、例えば、chksum_pos[2:0])は、シフト量を決定する「選択」線として作用する。オフセットの残りの上位ビットは、バイト・イネーブル信号の存在下で書き込まれているパケット・バッファのアドレスとして作用する。この方法に関する1つの問題は、クリチカル・データパス内に複数のデマルチプレクサが挿入されるために、この方法が高度に論理集約的であり、しかも動作周波数を減少させるということである。さらに、パケットバッファ・インタフェースにおいてバイト・イネーブル信号が存在しない場合、この方法は、「読み取り−修正−書き込み」(read-modify-store)アプローチを必要とし、その結果、待ち時間をさらに増大させるであろう。]
[0004] 前記従来のアプローチの他の重要な欠点は、パケット・バッファのワード境界(例えば、チェックサム位置=7)にチェックサムを挿入しなければならない場合、パケット・バッファ内に書き込むべきワードを別々に計算しなければならない(すなわち、下位のチェックサム・バイトが或るワード・アドレスのバイト7に書き込まれ、そして次のサイクルでは、上位チェックサム・バイトが次のワード・アドレスのバイト0に書き込まれる)ということである。従って、この論理は、これらの2つの書き込みサイクル用のデータを選択するために、別個のマルチプレクサを必要とする。]
[0005] 米国特許第5898713号明細書]
先行技術

[0006] www.pcisig.com,PCIExpress Base spec. Rev 1.0a]
発明が解決しようとする課題

[0007] 現存する高性能コンピューティング(HPC)ネットワーク・アダプタは、待ち時間を低くし且つ高周波数における論理セルの消費を小さくするように、ハードウェアが諸動作を実行することを必要とする傾向がある。かかる最適化は、FPGA実装について特に重要である。というのは、FPGA実装では、ギガビットイーサネット・インタフェースの高スループット要件をサポートするために、250メガへルツの動作周波数が普通であるからである。簡述すれば、前述の類型に属する従来の技術は、かかる要請に対処するのに適切ではない。従って、当分野では、従来の技術の性能を改良し且つかかる要請を満たすことができるシステムを実装することに関する必要性が認識されている。]
課題を解決するための手段

[0008] 従って、本発明は、第1の側面において、ネットワーク・アダプタ内で部分ワード書き込みを実施するための方法を提供する。この方法は、
(a)主データ・パケットを受信するステップと、
(b)前記主データ・パケットをパケット・バッファ及びチェックサム加算器に転送するステップと、
(c)前記チェックサム加算器からのチェックサム・パケットを単一のマルチプレクサに転送するステップと、
(d)前記単一のマルチプレクサからのチェックサム・ワードを前記パケット・バッファに向けて転送するステップとを含む。]
[0009] 好ましくは、前記ステップ(d)は、前記単一のマルチプレクサの出力を2回以上複製することを含む。好ましくは、前記ステップ(d)は、前記単一のマルチプレクサの出力を4回複製することを含む。好ましくは、前記方法は、(e)バイト・イネーブル信号を前記パケット・バッファに転送するステップをさらに含む。好ましくは、前記ステップ(e)は、デコーダからのバイト・イネーブル信号を転送することを含む。好ましくは、前記ステップ(d)は、桁上げ出力ビットを累積チェックサム・ワード(accumulating checksum word)に加えることを含む。好ましくは、前記ステップ(d)は、前記チェックサム・ワードを或るオフセットにおいて前記パケット・バッファに挿入することを含む。前記方法は、(f)前記チェックサム加算器からのバイト交換済みチェックサム・パケット(byte-swapped checksum packet)を前記単一のマルチプレクサに転送するステップをさらに含む。]
[0010] 第2の側面において、ネットワーク・アダプタ内で部分ワード書き込みを実施するためのシステムが提供される。このシステムは、
主データ・パケットを受信するためのチェックサム加算器と、
単一のマルチプレクサと、
パケット・バッファとを備え、
前記チェックサム加算器は、チェックサム・パケットを前記単一のマルチプレクサに転送するように動作し、
前記単一のマルチプレクサは、チェックサム・ワードを前記パケット・バッファに向けて転送するように動作する。]
[0011] 好ましくは、前記単一のマルチプレクサは、その出力を2回以上複製するように動作する。好ましくは、前記単一のマルチプレクサは、その出力を4回複製するように動作する。好ましくは、前記システムは、バイト・イネーブル信号を前記パケット・バッファに転送するための手段をさらに備える。好ましくは、前記転送するための手段は、デコーダを含む。好ましくは、前記単一のマルチプレクサは、桁上げ出力ビットを累積チェックサム・ワードに加えるように動作する。好ましくは、前記単一のマルチプレクサは、前記チェックサム・ワードを或るオフセットにおいて前記パケット・バッファに挿入するように動作する。好ましくは、前記チェックサム加算器は、バイト交換済みチェックサム・パケットを前記単一のマルチプレクサに転送するように動作する。]
[0012] 第3の側面において、前記方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラムが提供される。]
[0013] 前記コンピュータ・プログラムは、前記方法を実施するようにコンピュータによって実行可能な命令のプログラムを有形的に記録した、当該コンピュータによって読み取り可能なプログラム・ストレージの形式で具体化することができる。]
[0014] 本明細書において広義に意図されていることは、本発明の少なくとも1つの推奨実施形態に従って、2バイトのIPチェックサムを8バイト・ワード内の任意の非整列位置(unaligned position)に書き込むための簡単なアルゴリズムを実装することである。こうすると、16個の1:8デマルチプレクサを使用する論理集約的な実装の使用を回避するか、又は待ち時間を増大させる「読み取り−修正−書き込み」アプローチを回避することができる。]
発明の効果

[0015] 本発明は、従来技術において必要とされていたシフタ用の16個の1:8デマルチプレクサを設ける必要性を回避するとともに、指定されたチェックサム位置がワード境界上にある場合にパケット・バッファ内の2つの隣接位置に書き込むべきチェックサム・データを選択するための追加の64個の2:1マルチプレクサを設ける必要性を回避することができるという効果を奏する。]
図面の簡単な説明

[0016] 部分ワード書き込みを実施するための従来のシステムを概略的に示す図である。
本発明の推奨実施形態に従ったシステムを概略的に示す図である。]
実施例

[0017] 添付の図面に示され且つ本明細書で説明する本発明のコンポーネントは、種々の異なる構成において配列及び設計可能であることが容易に理解されるであろう。従って、図1及び図2を参照して以下で詳述する本発明の装置、システム及び方法の諸実施形態は、請求項に係る本発明の範囲を制限するものではなく、単に本発明の選択された実施形態を表すものであるに過ぎない。] 図1 図2
[0018] 本明細書において「1つの実施形態」又はそれと同等の用語が現れている場合、これらの用語は、当該実施形態に関連して説明する特定の機能、構造又は特性が本発明の少なくとも1つの実施形態に含まれていることを意味する。従って、本明細書の種々の箇所で「1つの実施形態」又はそれと同等の用語が現れている場合、これらの用語の全ては、必ずしも同じ実施形態を指すとは限らない。]
[0019] 本発明の諸実施形態は、同一の部分に同一の参照番号又はラベルが付されている図面を参照することによって最も良く理解されるであろう。以下の説明は、例示することを意図するものであって、請求項に係る発明と整合するような装置、システム及びプロセスの選択された特定の実施形態を例示するに過ぎない。]
[0020] 図1は、前述のタイプの従来のシステムを示す。このシステムは、チェックサムチェックサム加算器102と、16個の1:8デマルチプレクサを使用するシフタ104とを有する。] 図1
[0021] 周知のように、パケット・バッファ116への入力は、2つのゲート108/112及び後述するデコーダ114から供給される。この例では、(図2に示す本発明のシステムと同様に)、64ビット・パケットである主データ・パケット「pkt_data [63:0]」及びパケットが有効であることを表す単一ビット「pkt_valid」は、それぞれ2つの転送先に供給される。すなわち、前者は、チェックサム加算器102及びゲート110に供給され、後者は、チェックサム加算器102及びゲート108に供給される。ゲート110及び112が、2:1マルチプレクサとして示されているのに対し、ゲート106及び108は、ORゲートとして示されている。主データ・パケットが受け取られる場合、チェックサム加算器102は、第1のチェックサム書き込み信号である「chksum_wr」を生成し、チェックサム位置(chksum_pos)が或るワード境界上にある場合は、第2のチェックサム書き込み信号である「chksum_wr_again」を生成する。「chksum_wr」が、ゲート110及び106に供給されるのに対し、「chksum_wr_again」は、ゲート106及び112に供給される。] 図2
[0022] シフタ104は、チェックサム加算器102から「chksum[15:0]」を受け取るとともに、パケットのチェックサム位置を指示する入力である「chksum_pos [2:0]」を受け取る。シフタ104からの出力は、「chksum_word [63:0]」及び「chksum_word_again [63:0]」を含む。これらの出力は、ゲート110及び112にそれぞれ供給される。ゲート110の全結合出力は、ゲート112に供給され、ゲート112の全結合出力は、パケット・バッファ116に供給される。]
[0023] デコーダ114は、「chksum_pos [2:0]」を受け取り、パケット・バッファ116に入力すべき書き込みバイト・イネーブル信号である「wr_be[7:0]」を生成する。「chksum_wr_again」がアサートされる場合、デコーダ114によって生成される「wr_be[7:0]」が x”01”になることに留意されたい。この場合、チェックサム書き込み位置のアドレスは、「chksum_pos [n-1 : 3] + 1」、すなわちパケット内の次のワードである。また、「chksum_word_again [63:0]」がその最下位バイトとして「chksum [15:8]」を有することに留意されたい。すなわち、次の通りである。
chksum_word_again [7:0] = chksum [15:8]
chksum_word_again [63:8] =ドント・ケア(すなわち、これらのバイトのバイト・イネーブル信号はゼロである。従って、これらのバイトは、パケット・バッファ116に書き込まれず、そのためこれらのバイトの値は、実際的意義を有しない)]
[0024] また、「chksum_word [63:0]」は、「chksum [15:0]」を左シフトすることにより形成されることに留意されたい。従って、例えば、「chksum_pos [2:0]」がゼロであれば、次のようになる。
chksum_word [63:0] = x“000000000000” &chksum[15:0],
…1; chksum_word [63:0] = x”0000000000”& chksum[15:0] & x“00”,

…6; chksum_word [63:0] = chksum[15:0] &x“000000000000”
…7; chksum_word [63:0] = chksum[7:0] &“00000000000000”]
[0025] 対照的に、図2は、本発明の推奨実施形態に従ったシステムを概略的に示す。比較の目的上、主として図1のシステムと異なる側面について説明する。図1に示すコンポーネントと類似する図2のコンポーネントには、前者の100番台の参照番号を200番台に変更した参照番号が付されている。基本的な相違点は、前述のタイプのシフタ104が設けられていないことである。] 図1 図2
[0026] その結果、本発明の推奨実施形態に従った「アダプタ」実装は、ホストの8xPCIExpressバス(そこには「pkt_data [63:0]」が示されている)からパケット・バッファ216に直接に流れ込む、IP/TCP/UDPパケットを含む。このようにして、パケットの8バイトを、サイクルごとに、パケット・バッファ216に書き込むことができる。好ましくは、このハードウェアは、隣接するパケット・データの各2バイトを追加及び累積する際に、「チェックサム・オフロード」を実装するであろう。好ましくは、「循環桁上げ」(end around carry)が使用される。「循環桁上げ」では、チェックサムは、次のアクションによって、パケットの全長にわたって累積される。
checksum[17:0] = checksum[15:0] + checksum[17:16] + pkt_data[15:0] + pkt_data[31:16] + pkt_data[47:32] + pkt_data[63:48]]
[0027] 結果的なチェックサムは、checksum[15:0] から得られる。この checksum[15:0] は、それに加えられる「桁上げ出力」(すなわち、checksum[17:16])を有するであろう。好ましくは、一旦パケットの全体が(「pkt_valid」を伴う「pkt_data[63:0]において)当該アダプタによって受け取られ且つパケット・バッファ216内に格納されると、当該アダプタは、計算された2バイトのIPチェックサムを「chksum_pos[n-1:0]」として指定された或るオフセットにおいてパケット・バッファ216に挿入する。]
[0028] 好ましくは、本発明の少なくとも1つの実施形態に従ったアプローチは、チェックサムを書き込むべきチェックサム位置の最下位ビット(chksum_pos[0])を使用して、計算されたチェックサム又は当該チェックサムの交換された値を選択するであろう。すなわち、このアプローチが実装するマルチプレクサ218は、1つの入力としてチェックサム(例えば、x1234)を有し、他の入力としてバイト交換済みチェックサム(例えば、x3412)を有する。好ましくは、マルチプレクサ218の出力は、8バイト・ワードを得るために4回複製される。従って、書き込むべきチェックサム・ワード(8バイト)は、「x1234123412341234」であるか又は「x3412341234123412」の何れかである。この結果的な8バイト・ワードは、チェックサム位置の上位ビット(すなわち、chksum_pos[n-1:3])として指定されたアドレスにおいて、パケット・バッファ216内に書き込まれる。パケット・バッファ216に供給されるバイト・イネーブル信号「wr_be[7:0]」は、chksum_pos[2:0] から(デコーダ214を介して)デコードされる。例えば、chksum_pos[2:0] = “101”であれば、チェックサムは、当該ワードのバイト5及び6に書き込まれる。すなわち、バイト・イネーブル信号「wr_be[7:0]」は、“01100000”である。]
[0029] 好ましくは、チェックサム加算器202は、パケット全体が受け取られた後に、「chksum_wr」(及びchksum_posが或るワード境界上にある場合は「chksum_wr_again」)を生成する。さらに、「chksum_wr_again」がアサートされる場合、デコーダ214によって生成される「wr_be[7:0]」は、x”01”である。この場合、chksum書き込みのアドレスは、「chksum_pos[n-1:3] + 1」、すなわち、パケット内の次のワードである。]
[0030] 利点について説明する。本発明の少なくとも1つの推奨実施形態に従った実装は、シフタ用の16個の1:8デマルチプレクサを設ける必要性を回避するとともに、指定されたチェックサム位置が或るワード境界上にある場合にパケット・バッファ内の2つの隣接位置に書き込むべきチェックサム・データを選択するための追加の64個の2:1マルチプレクサを設ける必要性を回避するであろう。この論理の減少は、クリチカル・データパス内のタイミング遅れを常に減少させる。指定されたチェックサム位置が2ワードにまたがる場合(すなわちchksum_pos = 7 又はchksum_pos =15 等である場合)、両方の書き込みサイクルのために同じ書き込みデータを使用することができる。]
[0031] 本発明の諸要素は、適切なソフトウェア・プログラムを実行する、少なくとも1つの汎用コンピュータ上で実装できることを理解されたい。また、これらの要素は、少なくとも1つの集積回路又はその一部として実装することができる。従って、本発明は、ハードウェア、ソフトウェア又はそれらの組み合わせにおいて実装できることを理解されたい。]
[0032] 202・・・チェックサム加算器
206・・・ORゲート
208・・・ORゲート
212・・・マルチプレクサ
214・・・デコーダ
216・・・パケット・バッファ
218・・・マルチプレクサ]
权利要求:

請求項1
ネットワーク・アダプタ内で部分ワード書き込みを実施するための方法であって、(a)主データ・パケットを受信するステップと、(b)前記主データ・パケットをパケット・バッファ及びチェックサム加算器に転送するステップと、(c)前記チェックサム加算器からのチェックサム・パケットを単一のマルチプレクサに転送するステップと、(d)前記単一のマルチプレクサからのチェックサム・ワードを前記パケット・バッファに向けて転送するステップとを含む、方法。
請求項2
前記ステップ(d)が、前記単一のマルチプレクサの出力を2回以上複製することを含む、請求項1に記載の方法。
請求項3
(e)バイト・イネーブル信号を前記パケット・バッファに転送するステップをさらに含む、請求項1又は請求項2に記載の方法。
請求項4
前記ステップ(e)が、デコーダからのバイト・イネーブル信号を転送することを含む、請求項3に記載の方法。
請求項5
前記ステップ(d)が、桁上げ出力ビットを累積チェックサム・ワードに加えることを含む、請求項1ないし請求項4の何れか1項に記載の方法。
請求項6
前記ステップ(d)が、前記チェックサム・ワードを或るオフセットにおいて前記パケット・バッファに挿入することを含む、請求項1ないし請求項5の何れか1項に記載の方法。
請求項7
(f)前記チェックサム加算器からのバイト交換済みチェックサム・パケットを前記単一のマルチプレクサに転送するステップをさらに含む、請求項1ないし請求項6の何れか1項に記載の方法。
請求項8
ネットワーク・アダプタ内で部分ワード書き込みを実施するためのシステムであって、主データ・パケットを受信するためのチェックサム加算器と、単一のマルチプレクサと、パケット・バッファとを備え、前記チェックサム加算器が、チェックサム・パケットを前記単一のマルチプレクサに転送するように動作し、前記単一のマルチプレクサが、チェックサム・ワードを前記パケット・バッファに向けて転送するように動作する、システム。
請求項9
前記単一のマルチプレクサが、その出力を2回以上複製するように動作する、請求項8に記載のシステム。
請求項10
バイト・イネーブル信号を前記パケット・バッファに転送するための手段をさらに備える、請求項8又は請求項9に記載のシステム。
請求項11
前記転送するための手段がデコーダを含む、請求項10に記載のシステム。
請求項12
前記単一のマルチプレクサが、桁上げ出力ビットを累積チェックサム・ワードに加えるように動作する、請求項8ないし請求項11の何れか1項に記載のシステム。
請求項13
前記単一のマルチプレクサが、前記チェックサム・ワードを或るオフセットにおいて前記パケット・バッファに挿入するように動作する、請求項8〜ないし請求項12の何れか1項に記載のシステム。
請求項14
前記チェックサム加算器が、バイト交換済みチェックサム・パケットを前記単一のマルチプレクサに転送するように動作する、請求項8ないし請求項13の何れか1項に記載のシステム。
請求項15
請求項1ないし請求項7の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
类似技术:
公开号 | 公开日 | 专利标题
KR101831550B1|2018-02-22|다중슬롯 링크 계층 플릿에서의 제어 메시징
KR101611516B1|2016-04-11|직렬 포트 메모리 통신 레이턴시 및 신뢰성을 향상시키기 위한 방법 및 시스템
US8321385B2|2012-11-27|Hash processing in a network communications processor architecture
US8392590B2|2013-03-05|Deterministic finite automata | processing
US8677081B1|2014-03-18|Transferring and storing data in multicore and multiprocessor architectures
US8688877B1|2014-04-01|Multiport memory architecture
US7421561B2|2008-09-02|Instruction set for efficient bit stream and byte stream I/O
US10073796B2|2018-09-11|Sending packets using optimized PIO write sequences without SFENCES
CA2468797C|2012-07-10|Supercharge message exchanger
Gratz et al.2006|Implementation and evaluation of on-chip network architectures
US5313594A|1994-05-17|Methods and apparatus for data transfer between source and destination modules using a ready signal
US6198751B1|2001-03-06|Multi-protocol packet translator
US7415598B2|2008-08-19|Message synchronization in network processors
JP4445998B2|2010-04-07|調停パケットプロトコルを有するメモリ調停システムおよび方法
US7720670B2|2010-05-18|Saving resources by deducing the total prediction events
US8347047B2|2013-01-01|Memory system and device with serialized data transfer
US8391281B2|2013-03-05|Router design for 3D network-on-chip
US7058735B2|2006-06-06|Method and apparatus for local and distributed data memory access | control
US7209058B2|2007-04-24|Trace receiver data compression
US7945764B2|2011-05-17|Processing unit incorporating multirate execution unit
TW502516B|2002-09-11|Fast and adaptive packet processing device and method using digest information of input packet
JP5833756B2|2015-12-16|二重化共有メモリアクセス方法と二重化共有メモリアクセス方法を用いたストレージ装置
US5961640A|1999-10-05|Virtual contiguous FIFO having the provision of packet-driven automatic endian conversion
US7249202B2|2007-07-24|System and method for DMA transfer of data in scatter/gather mode
KR101467932B1|2014-12-02|상호접속부에서 멀티-쓰레드 오더링된 큐들에 대한 공유 저장기
同族专利:
公开号 | 公开日
TW200943793A|2009-10-16|
WO2009068495A1|2009-06-04|
KR20100089064A|2010-08-11|
US8151177B2|2012-04-03|
US20090138787A1|2009-05-28|
JP5244195B2|2013-07-24|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-09-15| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110914 |
2013-01-31| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130131 |
2013-02-20| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130219 |
2013-02-26| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130225 |
2013-03-15| TRDD| Decision of grant or rejection written|
2013-03-21| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130319 |
2013-04-11| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130405 |
2013-04-12| R150| Certificate of patent or registration of utility model|Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2013-04-12| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
2016-04-12| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]