JP6340481B2 - データキャッシング方法、装置及び記憶媒体 - Google Patents

データキャッシング方法、装置及び記憶媒体 Download PDF

Info

Publication number
JP6340481B2
JP6340481B2 JP2017520382A JP2017520382A JP6340481B2 JP 6340481 B2 JP6340481 B2 JP 6340481B2 JP 2017520382 A JP2017520382 A JP 2017520382A JP 2017520382 A JP2017520382 A JP 2017520382A JP 6340481 B2 JP6340481 B2 JP 6340481B2
Authority
JP
Japan
Prior art keywords
cell
dequeue
cycle
waiting
dequeued
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
JP2017520382A
Other languages
English (en)
Other versions
JP2017532908A (ja
Inventor
ジャオ チャオ
ジャオ チャオ
ミンリャン レー
ミンリャン レー
ハオシュアン ティエン
ハオシュアン ティエン
ヤンルイ チャン
ヤンルイ チャン
Original Assignee
セインチップス テクノロジー カンパニーリミテッド
セインチップス テクノロジー カンパニーリミテッド
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 セインチップス テクノロジー カンパニーリミテッド, セインチップス テクノロジー カンパニーリミテッド filed Critical セインチップス テクノロジー カンパニーリミテッド
Publication of JP2017532908A publication Critical patent/JP2017532908A/ja
Application granted granted Critical
Publication of JP6340481B2 publication Critical patent/JP6340481B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6245Modifications to standard FIFO or LIFO
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はデータ通信技術領域に関し、特にパケットスイッチングネットワークにおけるデータキャッシング方法、装置及び記憶媒体に関する。
データ通信領域において、パケットスイッチングネットワークの中で、スイッチングネットワーク要素のチップのデータのキャッシュスペースの効率、規模及びデータバスの幅がチップの性能と単位面積当たりの消費電力に対して極めて重要である。内部バスのリソースとキャッシュリソースを省き、スイッチングの効率を向上させるために、通常、データメッセージを複数のセルに分割してから、スイッチングネットワーク要素のチップに伝送し、セルのスイッチングとコピー処理を行い、その後、データメッセージに再構成する。セルが自動アドレシングクエリ、入力端と出力端とのキャッシングを経由して、入力ポートから出力ポートに入り、転送とコピー機能を完成させ、図1が大規模のスイッチングネットワークにおけるデータ処理を示す図である。セルが最も小さい伝送とスイッチングの単位として、固定長と可変長という二つの処理方式があり、可変長セルが固定長セルよりキャッシュリソースとバスリソースの利用率が高く、通常、可変長セル処理方式が採用される。
スイッチングネットワーク要素のチップ内のセルキャッシュは、主に、セルの自動アドレシングの処理結果待ち及び出力のスケジューリングの間で、セルデータの記憶に用いられる。ネットワークにトラヒックの圧力が存在しない場合、キャッシュスペースが必要となる規模が小さいが、ネットワークが混雑している場合、100メートルの光ファイバー上のシリアルデータメッセージをキャッシングする必要がある。ネットワークが混雑である場合のパケット紛失を避けるように、キャッシュスペースがスイッチングネットワーク要素のチップのスイッチング能力に基づいて計算される。現在のセルのキャッシング方式が、通常、リンクの数、光ファイバーの長さ及びデータ伝送レートに基づいて、余分がある記憶スペースを換算するが、スイッチングネットワーク規模の拡大とデータ伝送レートの高速化に伴い、キャッシュスペースのリソースもそれに応じて上げる必要がある。例えばデータ速度が12.5Gから25Gまで上げる場合、紛失せずに転送を行うことを保証するために、キャッシュスペースの容量を倍にしなければならない。また、可変長セルのスイッチングの前提で、キャッシュリソースの利用率が低く、最小のセルを記憶する場合、50%よりも低い。図2が異なる長さのネットワーク要素の記憶スペースの利用率を示す図である。
以上のように、キャッシュリソースとバスリソースとの利用率を向上させるために、パケットスイッチングネットワークに応用するデータキャッシング方法及び装置を提供することは、早急に解決する必要がある問題になっている。
これを鑑み、本発明の実施例の目的は、データキャッシング方法、装置及び記憶媒体を提供して、キャッシュリソースとバスリソースの利用率を有効に向上させることができることにある。
上記の目的を達成するために、本発明の実施例の技術案は下記のように実現している。
本発明の実施例は、データキャッシング方法を提供し、前記方法は、
セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することと、
現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶することと、含み、
ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られ、Kが正の整数である。
上記の技術案において、前記セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶する前に、前記方法はさらに、前記セルに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得することを含む。
上記の技術案において、前記セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することは、
セルの入力ポート番号に基づいて、前記入力ポート番号に対応している先入先出のキューのテールポインタ、エンキューサブポインタ及びフリーアドレスを取得し、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶し、前記セルに占用される有効のキャッシュユニットを読み込み、前記有効のキャッシュユニットがフリーアドレスを占有していない場合、前記先入先出のキューのエンキューサブポインタを更新し、前記フリーアドレスを解放し、前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有している場合、前記先入先出のキューのテールポインタ及びエンキューサブポインタを更新することを含む。
上記の技術案において、前記デキュー待ちのセルをデキューするようスケジューリングした後に、前記方法はさらに、
前記デキュー待ちのセルに占用される接合ユニットの実際の数、及び前記デキュー待ちのセルに占用されるキャッシュユニットの数に基づいて、前記第1背圧カウント値に対して校正を行うことを含む。
前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶することは、
書き込みポインタを探し出し、前記デキュー待ちのセルに占用される接合ユニットの実際の数に基づいて、前記セルを前記書き込みポインタに対応するレジスタに記憶し、前記レジスタに有効のセルが含まれている場合、接合ユニットを単位として前記デキュー待ちのセルを前記有効のセルと接合し、セルの接合情報を記録し、書き込みポインタを更新することを含む。
本発明の実施例はさらに、データキャッシング装置を提供し、前記装置は、
セルの入力ポート番号に基づいて前記セルを対応する先入先出のキューに記憶するように構成されるキャッシングモジュールと、
現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、データの伝送を行うために、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶するように構成される処理モジュールと、含み、
ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られ、Kが正の整数である。
上記の技術案において、前記装置はさらに、前記セルに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得するように構成される取得モジュールを含む。
上記の技術案において、前記装置はさらに、前記デキュー待ちのセルに占用される接合ユニットの実際の数、及び前記デキュー待ちのセルに占用されるキャッシュユニットの数に基づいて、前記第1背圧カウント値に対して校正を行うように構成される校正モジュールを含む。
本発明の実施例はさらに、データキャッシング方法を提供し前記方法は、
セル接合の方式で接合されているデータを別々のセルに還元することと、
セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することと、
現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングすることと、を含み、
ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第2背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第2背圧カウント値によって得られ、Kが正の整数である。
上記の技術案において、セル接合の方式で接合されているデータを別々のセルに還元することは、
前記データに含まれているセルの接合情報に基づいて、セル接合の方式で接合されているデータを別々のセルに還元することを含む。
本発明の実施例はさらに、データキャッシング装置を提供し、前記装置は、
セル接合の方式で接合されているデータを別々のセルに還元するように構成される還元モジュールと、
セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶するように構成される記憶モジュールと、
現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、デキュー待ちのセルをデキューするようスケジューリングするように構成されるスケジューリングモジュールと、を含み、
ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第2背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第2背圧カウント値によって得られ、Kが正の整数である。
本発明の実施例はさらに、コンピュータ記憶媒体を提供し、前記コンピュータ記憶媒体に、本発明の実施例の上記データキャッシング方法を実行するためのコンピュータプログラムを記憶している。
本発明の実施例に提供されているデータキャッシング方法、装置及び記憶媒体によれば、セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキュー(FIFO:First In First Out)に記憶し、現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶し、ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られる。このように、セルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶することによって、バスの利用率を向上させ、また、セルに対するデキュー前の能動的な背圧処理によって、スイッチングネットワーク要素のチップにおけるセルのスイッチングの効率と正確性を保証することができる。
大規模スイッチングネットワークにおけるデータ処理を示す図である。 異なる長さのネットワーク要素の記憶スペースの利用率を示す図である。 本発明の実施例1におけるデータキャッシング方法を示す図である。 本発明におけるセルのキャッシングを示す図である。 本発明におけるセルの接合を示す図である。 本発明の実施例2におけるデータキャッシング方法を示す図である。 本発明の実施例1におけるデータキャッシング装置の構成構造を示す図である。 本発明の実施例2におけるデータキャッシング装置の構成構造を示す図である。
本発明の実施例において、セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶し、現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、データ伝送のために、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶する。ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルでの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られ、Kが正の整数である。
図3は、本発明の実施例1におけるデータキャッシング方法を示す図であり、図3に示すように、セルのキャッシュ入力端において、本実施例のデータキャッシング方法のフローは、下記のステップ301〜ステップ302を含む。
ステップ301において、セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶する。
本ステップの前に、前記方法はさらに、前記セルヘッダに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得することを含む。
ここで、前記キャッシュユニットは、ランダムアクセスメモリ(RAM:Random Access Memory)アドレス毎のN分の1であり、即ち、RAMを固定のN個に分け、1個毎が一つのキャッシュユニットであり、Nが正の整数であり、Nの値がデータの転送レートなどに基づいて設定されることが可能である。
前記セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶すると同時に、前記方法はさらに、前記セルのセル情報を前記対応する先入先出のキューに記憶することを含む。ここで、前記セル情報は、前記セルの長さ、セルバージョン及び前記セルに占用されるキャッシュユニットの数を含む。
一つの実施例において、本ステップは、セルの入力ポート番号に基づいて、前記入力ポート番号に対応している先入先出のキューのテールポインタ、エンキューサブポインタ及びフリーアドレスを取得し、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶し、前記セルに占用される有効のキャッシュユニットを読み込み、前記有効のキャッシュユニットがフリーアドレスを占有していない場合、前記先入先出のキューのエンキューサブポインタを更新し、前記フリーアドレスを解放し、前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有している場合、前記先入先出のキューのテールポインタ及びエンキューサブポインタを更新することをを含み、本発明におけるセルのキャッシングが図4に示されている通りである。
ここで、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶することは、
前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていることを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じビット幅のM個のグループの分割データに分け、また、上位ビットから下位ビットの順序で前記セルをフリーアドレスに書き込むことと、
前記先入先出のキューが空ではないこと、又は前記テールポインタ内のキャッシュユニットが満杯に書き込まれていないことを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じのM個のグループの分割データに分け、また、エンキューサブポインタの位置に基づいて、上位ビットから下位ビットの順序で、前記セルのM個のグループの分割データを書き込み、エンキューサブポインタの位置に、セルの最上位ビットに位置付けられている1つのグループの分割データを書き込み、エンキューサブポインタから1を引いたものである前記フリーアドレスの番号のキャッシュユニットに、前記セルの分割データの最後の1つのグループの分割データを書き込むことと、含む。
ここで、前記Mの値が、一つのアドレスに含まれているキャッシュユニットの数と同じであり、即ちM=Nである。前記Mが正の整数である。
前記セルに占用される有効のキャッシュユニットが、前記セルに実際に占用されるキャッシュユニットである。
前記有効のキャッシュユニットがフリーアドレスを占有していないことは、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きくなく、かつ前記エンキューサブポインタが0ではないことを含む。
前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有していることは、前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていること、又は、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きいことを含む。
前記セルに実際に占用されるキャッシュユニットの数がMより小さい場合、前記セルの最後の1つのグループの分割データが無効である。
ステップ302において、現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶する。
ここで、前記接合ユニットのビット幅が、一つのキャッシュユニットのビット幅のX分の1であり、データの転送レートなどに基づいて設定されることが可能であり、最少のレジスタの条件でデータを紛失しないことを保証する必要があるし、バスリソースが充分に利用され、空きビートを回避することも保証する必要がある。Xが正の整数である。
前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られ、Kが正の整数である。
ここで、前記第1背圧カウント値が、前記キュー内のデキュー待ちのセルを次のサイクルでデキューすることを許可するか否かを判断するための依拠である。
前記K−1番目のサイクルの第1背圧カウント値=K−2番目のサイクルの第1背圧カウント値+前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値−サイクル毎のバスで伝送可能な接合ユニットの数。
前記前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値=前記前回のデキューセルに占用されるキャッシュユニットの数と前記Xの乗積。
Kの値が1である場合、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルをデキューする時に、その前にいずれのその他のセルがデキューされていないため、前記第1背圧カウント値が0のままであり、直接に前記デキュー待ちのセルのデキュー及び後続操作を行うことが可能である。
Kの値が2である時に、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルが既にデキューされ、第1個のデキュー待ちのセルをデキューする前に、その他のセルのデキューが存在しないため、即ち、K−2番目のサイクルの第1背圧カウント値が0であるため、第1個のデキュー待ちのセルに占用される接合ユニットの数の推定値、およびサイクル毎のバスで伝送可能な接合ユニットの数に基づいて、直接に第1個のサイクルの第1背圧カウント値を取得することが可能であり、第1個のサイクルの第1背圧カウント値に基づいて、次のデキュー待ちのセルのデキューを許可するか否かを判断する。
一つの実施例において、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値より大きい場合、前記キュー内のデキュー待ちのセルをK番目のサイクルでデキューすることを許可せず、サイクル毎のバスで伝送可能な接合ユニットの数に基づいて、前記レジスタ内のデータを伝送し、G番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下になってから、G+1番目のサイクルで前記デキュー待ちのセルをデキュー可能であると確定し、ここで、GがKより大きい正の整数である。
一つの実施例において、前記デキュー待ちのセルをデキューするようスケジューリングすることは、デキューポート番号に基づいて、対応する先入先出のキューのヘッダポインタ、従ヘッダポインタ及びデキューサブポインタを取得し、前記キュー内のデキュー待ちのセルに占用されるキャッシュユニットの数及びデキューサブポインタに基づいて、読み込もうとしているキャッシュユニットの番号範囲及び個数を計算し、前記デキュー待ちのセルに占用されるキャッシュユニット内のデータを一つのセルに再構成し、デキューサブポインタを、元デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値に更新し、前記加算後の値がNより大きい場合、前記加算後の値からNを引いた値に更新し、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値がNより大きくない場合、ヘッダポインタを更新する必要がなく、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算結果がNより大きい場合、ヘッダポインタを前記従ヘッダポインタに更新することを含む。ここで、前記デキュー待ちのセルが前記先入先出のキューの先頭のセルである。
ここで、前記デキューポート番号が前記入力ポート番号と同じである。
一つの実施例において、前記デキュー待ちのセルをデキューするようスケジューリングした後に、前記方法はさらに、前記デキュー待ちのセルに占用される接合ユニットの数の実際値に基づいて、第1背圧カウント値に対して校正を行うことを含む。
ここで、前記デキュー待ちのセルに占用される接合ユニットの数の実際値が、通常、前記デキュー待ちのセルに占用される接合ユニットの数の推定値以下であるため、前記実際値が前記推定値と異なる場合、前記校正は、第1背圧カウント値から前記推定値と前記実際値の差分を引くことを含む。校正後の第1背圧カウント値を用いて、前記第1プリセット閾値の値と比較して、キュー内のデキュー待ちのセルを次のサイクルでデキューすることを許可するか否かを判断する。
一つの実施例において、本発明の実施例に、二つ又は二つ以上のレジスタにより構成される一つのレジスタセットを含む。
前記レジスタは、Y個の仮想ユニットを含み、即ち、前記レジスタがY個の仮想ユニットに分けられ、前記仮想ユニットのビット幅が一つの接合ユニットのビット幅と同じである。
前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶することは、
レジスタセット内の書き込みポインタを取得し、前記デキュー待ちのセルに占用される接合ユニットの実際の数に基づいて、前記セルを前記書き込みポインタに対応するレジスタ内に記憶し、前記レジスタに有効のセルを含む場合、接合ユニットを単位として、前記デキュー待ちのセルを前記有効のセルと接合し、セルの接合情報を記録し、書き込みポインタを、前記デキュー待ちのセルに占用される接合ユニットの数と元書き込みポインタの加算後の値に更新し、前記加算後の値がY以上である場合、前記加算後の値からYを引いて、新たな書き込みポインタとすることを含む。ここで、前記書き込みポインタが接合ユニットをステッピング値とする。本発明におけるセルの接合は図5に示されている通りである。
ここで、前記セルの接合情報は、接合位置、セルヘッダ識別子、セルテール識別子およびセル有効識別子を含み、ここで、前記接合位置が二つのセルの境界を識別する。
本発明の実施例において、前記レジスタが最大二つの異なるセルの接合を許可するように設定され、そのため、前記セルの有効識別子が、第1セル有効識別子と第2セル有効識別子を含み、レジスタ内の第2個のセルがまだ入力されず、前記レジスタに含まれる仮想ユニットに満杯に書き込まれていない場合、第2セル有効識別子が無効である。
一つの実施例において、前記レジスタセット内のレジスタに有効のセルが含まれている場合、前記レジスタセット内の読み出しポインタに対応するレジスタ内のすべてのデータをセルのキャッシュ出力端に、前記セルの接合情報をつけて出力する。図5に示すように、読み出しポインタがレジスタを単元として変わり、レジスタ0のデータ出力の後に、読み出しポインタがレジスタ1に指す。
図6は本発明の実施例2におけるデータキャッシング方法を示す図であり、図6に示すように、セルのキャッシュ出力端において、本実施例のデータキャッシング方法フローは、ステップ601〜ステップ603を含む。
ステップ601において、セル接合の方式で接合されているデータを別々のセルに還元する。
ここで、出力レジスタからデータを出力する時に、最初に行う必要があることは、セル接合の方式で接合されているデータを別々のセルに還元することである。
本ステップは、前記データに含まれるセルの接合情報に基づいて、セル接合の方式で接合されているデータを別々のセルに還元することを含む。
ここで、前記セルの接合情報は、接合位置、セルヘッダ識別子、セルテール識別子およびセル有効識別子を含み、ここで、前記接合位置が二つのセルの境界を識別する。
ステップ602において、セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶する。
本ステップの前に、前記方法はさらに、前記セルヘッダに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得することを含む。
ここで、前記キャッシュユニットは、RAMアドレス毎のN分の1であり、即ち、RAMを固定のN個に分け、1個毎が一つのキャッシュユニットであり、Nが正の整数であり、Nの値がデータの転送レートなどに基づいて設定されることが可能である。
前記セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶すると同時に、前記方法はさらに、前記セルのセル情報を前記対応する先入先出のキューに記憶することを含み、ここで、前記セル情報は、前記セルの長さ、セルバージョン及び前記セルに占用されるキャッシュユニットの数を含む。
一つの実施例において、本ステップは、セルの出力ポート番号に基づいて、前記出力ポート番号に対応している先入先出のキューのテールポインタ、エンキューサブポインタ及びフリーアドレスを取得し、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶し、前記セルに占用される有効のキャッシュユニットを読み込み、前記有効のキャッシュユニットがフリーアドレスを占有していない場合、前記先入先出のキューのエンキューサブポインタを更新し、前記フリーアドレスを解放し、前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有している場合、前記先入先出のキューのテールポインタ及びエンキューサブポインタを更新することをを含む。
ここで、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶することは、
前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていることを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じビット幅のM個のグループの分割データに分け、また、上位ビットから下位ビットの順序で前記セルをフリーアドレスに書き込むことと、
前記先入先出のキューが空ではないこと、又は前記テールポインタ内のキャッシュユニットが満杯に書き込まれていないことを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じビット幅のM個のグループの分割データに分け、また、エンキューサブポインタの位置に基づいて、上位ビットから下位ビットの順序で、前記セルのM個のグループの分割データを書き込み、エンキューサブポインタの位置に、セルの最上位ビットに位置付けられている1つのグループの分割データを書き込み、エンキューサブポインタから1を引いたものである前記フリーアドレスの番号のキャッシュユニットに、前記セルの最後の1つのグループの分割データを書き込むことと、含む。
ここで、前記Mの値が、一つのアドレスに含まれているキャッシュユニットの数と同じであり、即ちM=Nである。前記Mが正の整数である。
前記セルに占用される有効のキャッシュユニットが、前記セルに実際に占用されるキャッシュユニットである。
前記有効のキャッシュユニットがフリーアドレスを占有していないことは、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きくなく、かつ前記エンキューサブポインタが0ではないことを含む。
前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有していることは、前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていること、又は、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きいことを含む。
前記セルに実際に占用されるキャッシュユニットの数がMより小さい場合、前記セルの最後の1つのグループの分割データが無効である。
ステップ603において、現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングする。
ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第2背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第2背圧カウント値によって得られ、Kが正の整数である。
ここで、前記接合ユニットのビット幅が、一つのキャッシュユニットのビット幅のX分の1であり、データの転送レートなどに基づいて設定されることが可能であり、最少のレジスタの条件でデータを紛失しないことを保証する必要があるし、バスリソースが充分に利用され、空きビートを回避することも保証する必要がある。Xが正の整数である。
前記第2背圧カウント値が、前記キュー内のデキュー待ちのセルを次のサイクルでデキューすることを許可するか否かを判断するための依拠である。
前記K−1番目のサイクルの第2背圧カウント値=K−2番目のサイクルの第2背圧カウント値+前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値−サイクル毎のバスで伝送可能な接合ユニットの数。
前記前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値=前記前回のデキューセルに占用されるキャッシュユニットの数と前記Xの乗積。
Kの値が1である場合、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルをデキューする時に、その前にいずれのその他のセルがデキューされていないため、前記第2背圧カウント値が0のままであり、直接に前記デキュー待ちのセルのデキュー及び後続操作を行うことが可能である。
Kの値が2である時に、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルが既にデキューされ、第1個のデキュー待ちのセルをデキューする前に、その他のセルのデキューが存在しないため、即ち、K−2番目のサイクルの第2背圧カウント値が0であるため、第1個のデキュー待ちのセルに占用される接合ユニットの数の推定値、およびサイクル毎のバスで伝送可能な接合ユニットの数に基づいて、直接に第1個のサイクルの第2背圧カウント値を取得することが可能であり、第1個のサイクルの第2背圧カウント値に基づいて、次のデキュー待ちのセルのデキューを許可するか否かを判断する。
一つの実施例において、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値より大きい場合、前記キュー内のデキュー待ちのセルをK番目のサイクルでデキューすることを許可せず、サイクル毎のバスで伝送可能な接合ユニットの数に基づいて、前記レジスタ内のデータを伝送し、G番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下になってから、G+1番目のサイクルで前記デキュー待ちのセルをデキュー可能であると確定し、ここで、GがKより大きい正の整数である。
一つの実施例において、前記デキュー待ちのセルをデキューするようスケジューリングすることは、デキューポート番号に基づいて、対応する先入先出のキューのヘッダポインタ、従ヘッダポインタ及びデキューサブポインタを取得し、前記キュー内のデキュー待ちのセルに占用されるキャッシュユニットの数及びデキューサブポインタに基づいて、読み込もうとしているキャッシュユニットの番号範囲及び個数を計算し、前記デキュー待ちのセルに占用されるキャッシュユニット内のデータを一つのセルに再構成してバスに伝送し、デキューサブポインタを、元デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値に更新し、前記加算後の値がNより大きい場合、前記加算後の値からNを引いた値に更新し、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値がNより大きくない場合、ヘッダポインタを更新する必要がなく、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算結果がNより大きい場合、ヘッダポインタを前記従ヘッダポインタに更新することを含む。ここで、前記デキュー待ちのセルが前記先入先出のキューの先頭のセルである。
ここで、前記デキューポート番号が前記出力ポート番号と同じである。
一つの実施例において、前記デキュー待ちのセルをデキューするようスケジューリングした後に、前記方法はさらに、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、前記実際値に基づいて、第2背圧カウント値に対して校正を行うことを含む。
ここで、前記デキュー待ちのセルに占用される接合ユニットの数の実際値が、通常、前記デキュー待ちのセルに占用される接合ユニットの数の推定値以下であるため、前記実際値が前記推定値と異なる場合、前記校正は、第2背圧カウント値から前記推定値と前記実際値の差分を引くことを含む。校正後の第2背圧カウント値を用いて、前記第2プリセット閾値の値と比較し、キュー内のデキュー待ちのセルを次のサイクルでデキューすることを許可するか否かを判断する。
図7は、本発明の実施例1におけるデータキャッシング装置の構成構造を示す図であり、図7に示すように、前記装置は、キャッシングモジュール71及び処理モジュール72を含む。
前記キャッシングモジュール71は、セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶するように構成される。
前記処理モジュール72は、現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、データの伝送を行うために、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶するように構成される。
ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られ、Kが正の整数である。
前記キャッシュユニットは、RAMアドレス毎のN分の1であり、即ち、RAMを固定のN個に分け、1個毎が一つのキャッシュユニットであり、Nが正の整数であり、Nの値がデータの転送レートなどに基づいて設定されることが可能である。
前記接合ユニットのビット幅が、一つのキャッシュユニットのビット幅のX分の1であり、データの転送レートなどに基づいて設定されることが可能であり、最少のレジスタの条件でデータを紛失しないことを保証する必要があるし、バスリソースが充分に利用され、空きビートを回避することも保証する必要がある。Xが正の整数である。
一つの実施例において、前記装置はさらに、取得モジュール73を含む。取得モジュール73は、前記セルヘッダに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得するように構成される。
それに応じて、前記キャッシングモジュール71はさらに、前記セルのセル情報を前記対応する先入先出のキューに記憶するように構成される。ここで、前記セル情報は、前記セルの長さ、セルバージョン及び前記セルに占用されるキャッシュユニットの数を含む
一つの実施例において、前記キャッシングモジュール71は、セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することは、
前記キャッシングモジュール71は、セルの入力ポート番号に基づいて、前記入力ポート番号に対応している先入先出のキューのテールポインタ、エンキューサブポインタ及びフリーアドレスを取得し、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶し、前記セルに占用される有効のキャッシュユニットを読み込み、前記有効のキャッシュユニットがフリーアドレスを占有していない場合、前記先入先出のキューのエンキューサブポインタを更新し、前記フリーアドレスを解放し、前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有している場合、前記先入先出のキューのテールポインタ及びエンキューサブポインタを更新することをを含む。
ここで、前記キャッシングモジュール71は、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶することは、
前記キャッシングモジュール71は、前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていることを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じビット幅のM個のグループの分割データに分け、また、上位ビットから下位ビットの順序で前記セルをフリーアドレスに書き込むことと、
前記先入先出のキューが空ではないこと、又は前記テールポインタ内のキャッシュユニットが満杯に書き込まれていないことを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じビット幅のM個のグループの分割データに分け、また、エンキューサブポインタの位置に基づいて、上位ビットから下位ビットの順序で、前記セルのM個のグループの分割データを書き込み、エンキューサブポインタの位置に、セルの最上位ビットに位置付けられている1つのグループの分割データを書き込み、エンキューサブポインタから1を引いたものである前記フリーアドレスの番号のキャッシュユニットに、前記セルの最後の1つのグループの分割データを書き込むことと、含む。
ここで、前記Mの値が、一つのアドレスに含まれているキャッシュユニットの数と同じであり、即ちM=Nである。前記Mが正の整数である。
前記セルに占用される有効のキャッシュユニットが、前記セルに実際に占用されるキャッシュユニットである。
前記有効のキャッシュユニットがフリーアドレスを占有していないことは、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きくなく、かつ前記エンキューサブポインタが0ではないことを含む。
前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有していることは、前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていること、又は、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きいことを含む。
前記セルに実際に占用されるキャッシュユニットの数がMより小さい場合、前記セルの最後の1つのグループの分割データが無効である。
一つの実施例において、前記K−1番目のサイクルの第1背圧カウント値が、前記キュー内のデキュー待ちのセルをK番目のサイクルでデキューすることを許可するか否かを判断するための依拠である。
前記K−1番目のサイクルの第1背圧カウント値=K−2番目のサイクルの第1背圧カウント値+前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値−サイクル毎のバスで伝送可能な接合ユニットの数。
前記前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値=前記前回のデキューセルに占用されるキャッシュユニットの数と前記Xの乗積。
Kの値が1である場合、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルをデキューする時に、その前にいずれのその他のセルがデキューされていないため、前記第1背圧カウント値が0のままであり、直接に前記デキュー待ちのセルのデキュー及び後続操作を行うことが可能である。
Kの値が2である時に、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルが既にデキューされ、第1個のデキュー待ちのセルをデキューする前に、その他のセルのデキューが存在しないため、即ち、K−2番目のサイクルの第1背圧カウント値が0であるため、第1個のデキュー待ちのセルに占用される接合ユニットの数の推定値、およびサイクル毎のバスで伝送可能な接合ユニットの数に基づいて、直接に第1個のサイクルの第1背圧カウント値を取得することが可能であり、第1個のサイクルの第1背圧カウント値に基づいて、次のデキュー待ちのセルのデキューを許可するか否かを判断する。
一つの実施例において、前記処理モジュール72は、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値より大きい場合、前記キュー内のデキュー待ちのセルをK番目のサイクルでデキューすることを許可せず、サイクル毎のバスで伝送可能な接合ユニットの数に基づいて、前記レジスタ内のデータを伝送し、G番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下になってから、G+1番目のサイクルで前記デキュー待ちのセルをデキュー可能であると確定するように構成される。ここで、GがKより大きい正の整数である。
一つの実施例において、前記処理モジュール72が、前記デキュー待ちのセルをデキューするようスケジューリングすることは、
前記処理モジュール72が、デキューポート番号に基づいて、対応する先入先出のキューのヘッダポインタ、従ヘッダポインタ及びデキューサブポインタを取得し、前記キュー内のデキュー待ちのセルに占用されるキャッシュユニットの数及びデキューサブポインタに基づいて、読み込もうとしているキャッシュユニットの番号範囲及び個数を計算し、前記デキュー待ちのセルに占用されるキャッシュユニット内のデータを一つのセルに再構成し、デキューサブポインタを、元デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値に更新し、前記加算後の値がNより大きい場合、前記加算後の値からNを引いた値に更新し、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値がNより大きくない場合、ヘッダポインタを更新する必要がなく、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算結果がNより大きい場合、ヘッダポインタを前記従ヘッダポインタに更新することを含む。ここで、前記デキュー待ちのセルが前記先入先出のキューの先頭のセルである。
ここで、前記デキューポート番号が前記入力ポート番号と同じである。
一つの実施例において、前記装置はさらに、校正モジュール74を含む。校正モジュール74は、前記デキュー待ちのセルに占用される接合ユニットの実際の数、及び前記デキュー待ちのセルに占用されるキャッシュユニットの数に基づいて、前記第1背圧カウント値に対して校正を行うように構成される。
ここで、前記デキュー待ちのセルに占用される接合ユニットの数の実際値が、通常、前記デキュー待ちのセルに占用される接合ユニットの数の推定値以下であるため、前記実際値が前記推定値と異なる場合、前記校正は、第1背圧カウント値から前記推定値と前記実際値の差分を引くことを含む。校正後の第1背圧カウント値を用いて、前記第1プリセット閾値の値と比較して、キュー内のデキュー待ちのセルを次のサイクルでデキューすることを許可するか否かを判断する。
一つの実施例において、本発明の実施例に、二つ又は二つ以上のレジスタにより構成される一つのレジスタセットを含む。
前記レジスタは、Y個の仮想ユニットを含み、即ち、前記レジスタがY個の仮想ユニットに分けられ、前記仮想ユニットのビット幅が一つの接合ユニットのビット幅と同じである。
前記処理モジュール72が、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶することは、
前記処理モジュール72が、レジスタセット内の書き込みポインタを取得し、前記デキュー待ちのセルに占用される接合ユニットの実際の数に基づいて、前記セルを前記書き込みポインタに対応するレジスタ内に記憶し、前記レジスタに有効のセルを含む場合、接合ユニットを単位として、前記デキュー待ちのセルを前記有効のセルと接合し、セルの接合情報を記録し、書き込みポインタを、前記デキュー待ちのセルに占用される接合ユニットの数と元書き込みポインタの加算後の値に更新し、前記加算後の値がY以上である場合、前記加算後の値からYを引いて、新たな書き込みポインタとすることを含む。ここで、前記書き込みポインタが接合ユニットをステッピング値とする。
ここで、前記セルの接合情報は、接合位置、セルヘッダ識別子、セルテール識別子およびセル有効識別子を含み、ここで、前記接合位置が二つのセルの境界を識別する。
本発明の実施例において、前記レジスタが最大二つの異なるセルの接合を許可するように設定され、そのため、前記セルの有効識別子が、第1セル有効識別子と第2セル有効識別子を含み、レジスタ内の第2個のセルがまだ入力されず、前記レジスタに含まれる仮想ユニットに満杯に書き込まれていない場合、第2セル有効識別子が無効である。
一つの実施例において、前記処理モジュール72はさらに、前記レジスタセット内のレジスタに有効のセルデータが含まれていることを確定した場合、前記レジスタセット内の読み出しポインタに対応するレジスタ内のすべてのデータをセルのキャッシュ出力端に、前記セルの接合情報をつけて出力するように構成される。図5に示すように、読み出しポインタがレジスタを単元として変わり、レジスタ0のデータ出力の後に、読み出しポインタがレジスタ1に指す。
図8は本発明の実施例2におけるデータキャッシング装置の構成構造を示す図であり、図8に示すように、前記装置は、還元モジュール81、記憶モジュール82及びスケジューリングモジュール83を含む。
前記還元モジュール81は、セル接合の方式で接合されているデータを別々のセルに還元するように構成される。
前記記憶モジュール82は、セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶するように構成される。
前記スケジューリングモジュール83は、現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、デキュー待ちのセルをデキューするようスケジューリングするように構成される。
ここで、前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第2背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第2背圧カウント値によって得られ、Kが正の整数である。
一つの実施例において、前記還元モジュール81が、セル接合の方式で接合されているデータを別々のセルに還元することは、
前記還元モジュール81が、前記データに含まれているセルの接合情報に基づいて、セル接合の方式で接合されているデータを別々のセルに還元する。
ここで、前記セルの接合情報は、接合位置、セルヘッダ識別子、セルテール識別子およびセル有効識別子を含み、ここで、前記接合位置が二つのセルの境界を識別する。
一つの実施例において、前記装置はさらに、抽出モジュール84を含み、前記セルヘッダに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得するように構成される。
ここで、前記キャッシュユニットは、RAMアドレス毎のN分の1であり、即ち、RAMを固定のN個に分け、1個毎が一つのキャッシュユニットであり、Nが正の整数であり、Nの値がデータの転送レートなどに基づいて設定されることが可能である。
それに応じて、前記記憶モジュール82はさらに、前記セルのセル情報を前記対応する先入先出のキューに記憶するように構成され、ここで、前記セル情報は、前記セルの長さ、セルバージョン及び前記セルに占用されるキャッシュユニットの数を含む。
一つの実施例において、前記記憶モジュール82が、セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することは、
前記記憶モジュール82は、セルの出力ポート番号に基づいて、前記出力ポート番号に対応している先入先出のキューのテールポインタ、エンキューサブポインタ及びフリーアドレスを取得し、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶し、前記セルに占用される有効のキャッシュユニットを読み込み、前記有効のキャッシュユニットがフリーアドレスを占有していない場合、前記先入先出のキューのエンキューサブポインタを更新し、前記フリーアドレスを解放し、前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有している場合、前記先入先出のキューのテールポインタ及びエンキューサブポインタを更新する。
ここで、前記記憶モジュール82が、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶することは、
前記記憶モジュール82が、前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていることを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じビット幅のM個のグループの分割データに分け、また、上位ビットから下位ビットの順序で前記セルをフリーアドレスに書き込むことと、
前記記憶モジュール82が、前記先入先出のキューが空ではないこと、又は前記テールポインタ内のキャッシュユニットが満杯に書き込まれていないことを確定した場合、前記セルを、上位ビットから下位ビットに、前記キャッシュユニットのビット幅と同じビット幅のM個のグループの分割データに分け、また、エンキューサブポインタの位置に基づいて、上位ビットから下位ビットの順序で、前記セルのM個のグループの分割データを書き込み、エンキューサブポインタの位置に、セルの最上位ビットに位置付けられている1つのグループの分割データを書き込み、エンキューサブポインタから1を引いたものである前記フリーアドレスの番号のキャッシュユニットに、前記セルの最後の1つのグループの分割データを書き込むことと、含む。
ここで、前記Mの値が、一つのアドレスに含まれているキャッシュユニットの数と同じであり、即ちM=Nである。前記Mが正の整数である。
前記セルに占用される有効のキャッシュユニットが、前記セルに実際に占用されるキャッシュユニットである。
前記有効のキャッシュユニットがフリーアドレスを占有していないことは、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きくなく、かつ前記エンキューサブポインタが0ではないことを含む。
前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有していることは、前記先入先出のキューが空であること、又は前記テールポインタ内のキャッシュユニットが既に満杯に書き込まれていること、又は、前記セルに実際に占用されるキャッシュユニットの数とエンキューサブポインタの加算結果がMより大きいことを含む。
前記セルに実際に占用されるキャッシュユニットの数がMより小さい場合、前記セルの最後の1つのグループの分割データが無効である。
一つの実施例において、前記接合ユニットのビット幅が、一つのキャッシュユニットのビット幅のX分の1であり、データの転送レートなどに基づいて設定されることが可能であり、最少のレジスタの条件でデータを紛失しないことを保証する必要があるし、バスリソースが充分に利用され、空きビートを回避することも保証する必要がある。Xが正の整数である。
前記第2背圧カウント値が、前記キュー内のデキュー待ちのセルを次のサイクルでデキューすることを許可するか否かを判断するための依拠である。
前記K−1番目のサイクルの第2背圧カウント値=K−2番目のサイクルの第2背圧カウント値+前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値−サイクル毎のバスで伝送可能な接合ユニットの数。
前記前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値=前記前回のデキューセルに占用されるキャッシュユニットの数と前記Xの乗積。
Kの値が1である場合、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルをデキューする時に、その前にいずれのその他のセルがデキューされていないため、前記第2背圧カウント値が0のままであり、直接に前記デキュー待ちのセルのデキュー及び後続操作を行うことが可能である。
Kの値が2である時に、即ち、前記先入先出のキュー内の第1個のデキュー待ちのセルが既にデキューされていて、第1個のデキュー待ちのセルをデキューする前に、その他のセルのデキューが存在しないため、即ち、K−2番目のサイクルの第2背圧カウント値が0であるため、第1個のデキュー待ちのセルに占用される接合ユニットの数の推定値、およびサイクル毎のバスで伝送可能な接合ユニットの数に基づいて、直接に第1個のサイクルの第2背圧カウント値を取得することが可能であり、第1個のサイクルの第2背圧カウント値に基づいて、次のデキュー待ちのセルのデキューを許可するか否かを判断する。
一つの実施例において、前記スケジューリングモジュール83は、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値より大きい場合、前記キュー内のデキュー待ちのセルをK番目のサイクルでデキューすることを許可せず、サイクル毎のバスで伝送可能な接合ユニットの数に基づいて、前記レジスタ内のデータを伝送し、G番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下になってから、G+1番目のサイクルで前記デキュー待ちのセルをデキュー可能であると確定するように構成される。ここで、GがKより大きい正の整数である。
一つの実施例において、前記スケジューリングモジュール83が、前記デキュー待ちのセルをデキューするようスケジューリングすることは、
前記スケジューリングモジュール83は、デキューポート番号に基づいて、対応する先入先出のキューのヘッダポインタ、従ヘッダポインタ及びデキューサブポインタを取得し、前記キュー内のデキュー待ちのセルに占用されるキャッシュユニットの数及びデキューサブポインタに基づいて、読み込もうとしているキャッシュユニットの番号範囲及び個数を計算し、前記デキュー待ちのセルに占用されるキャッシュユニット内のデータを一つのセルに再構成してバスに伝送し、デキューサブポインタを、元デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値に更新し、前記加算後の値がNより大きい場合、前記加算後の値からNを引いた値に更新し、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算後の値がNより大きくない場合、ヘッダポインタを更新する必要がなく、デキューサブポインタと前記セルに占用されるキャッシュユニットの数の加算結果がNより大きい場合、ヘッダポインタを前記従ヘッダポインタに更新することを含む。ここで、前記デキュー待ちのセルが前記先入先出のキューの先頭のセルである。
ここで、前記デキューポート番号が前記出力ポート番号と同じである。
一つの実施例において、前記装置はさらに、修正モジュール85を含む。修正モジュール85は、前記デキュー待ちのセルをデキューするようスケジューリングした後に、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、前記実際値に基づいて、第2背圧カウント値に対して校正を行うように構成される。
ここで、前記デキュー待ちのセルに占用される接合ユニットの数の実際値が、通常、前記デキュー待ちのセルに占用される接合ユニットの数の推定値以下であるため、前記実際値が前記推定値と異なる場合、前記校正は、第2背圧カウント値から前記推定値と前記実際値の差分を引くことを含む。校正後の第2背圧カウント値を用いて、前記第2プリセット閾値の値と比較し、キュー内のデキュー待ちのセルを次のサイクルでデキューすることを許可するか否かを判断する。
本発明の実施例に提供されているキャッシングモジュール、処理モジュール、取得モジュール、校正モジュール、還元モジュール、記憶モジュール、スケジューリングモジュール、抽出モジュール、修正モジュールが、いずれもプロセッサによって実現されても良く、もちろん、具体的なロジック回路によって実現されても良い。ここで、前記プロセッサは、移動端末又はサーバ上のプロセッサであっても良く、実際応用において、プロセッサが中央処理装置(CPU)、マイクロプロセッサ(MPU)、デジタルシグナルプロセッサ(DSP)又は現場でプログラム可能なゲートアレイ(FPGA)などであっても良い。
本発明の実施例において、ソフトウェア機能モジュールの形で上記データキャッシング方法を実現して、単独の製品として販売または使用する場合、コンピュータ読み取り可能の記憶媒体に記憶しても良い。これによって、本発明の実施例の技術案が事実的に、言い換えれば先行技術に貢献した部分がソフトウェア製品の形で体現でき、該コンピュータソフトウェア製品は記憶媒体に記憶され、コンピュータ装置(パソコン、サーバ、またはネットワーク装置などであっても良い)は、本発明の各実施例の全部または一部の前記方法を実行するための複数の命令を含む。上記の記憶媒体は、USBメモリ、移動ハードディスク、読み取り専用メモリ(ROM:Read Only Memory)、磁気ディスクまたは光ディスクなどの各種のプログラムコードが記憶できる媒体を含む。従って、本発明の実施例はいずれのハードウェアとソフトウェアとの結合を限定しない。
それに応じて、本発明の実施例はさらに、コンピュータ記憶媒体を提供し、該コンピュータ記憶媒体にコンピュータプログラムが記憶され、該コンピュータプログラムが本発明の実施例における上記のデータキャッシング方法を実行することに用いられる。
以上は、本発明の好ましい実施例に過ぎなく、本発明の範囲を限定するものではない。

Claims (13)

  1. データキャッシング方法であって、
    セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することと、
    現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶することと、含み、
    前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られ、Kが正の整数である、
    前記データキャッシング方法。
  2. 前記セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶する前に、前記セルに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得すること、
    をさらに含む、請求項1に記載のデータキャッシング方法。
  3. 前記セルの入力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することは、
    セルの入力ポート番号に基づいて、前記入力ポート番号に対応している先入先出のキューのテールポインタ、エンキューサブポインタ及びフリーアドレスを取得し、前記セルを、長さがアドレス毎に占用されるキャッシュユニットの数であることに基づいて、前記先入先出のキューに記憶し、前記セルに占用される有効のキャッシュユニットを読み込み、前記有効のキャッシュユニットがフリーアドレスを占有していない場合、前記先入先出のキューのエンキューサブポインタを更新し、前記フリーアドレスを解放し、前記セルに占用される有効のキャッシュユニットがフリーアドレスを占有している場合、前記先入先出のキューのテールポインタ及びエンキューサブポインタを更新すること、
    を含む、請求項1又は2に記載のデータキャッシング方法。
  4. 前記デキュー待ちのセルをデキューするようスケジューリングした後に、
    前記デキュー待ちのセルに占用される接合ユニットの実際の数、及び前記デキュー待ちのセルに占用されるキャッシュユニットの数に基づいて、前記第1背圧カウント値に対して校正を行うこと、
    をさらに含む、請求項2に記載のデータキャッシング方法。
  5. 前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶することは、
    書き込みポインタを探し出し、前記デキュー待ちのセルに占用される接合ユニットの実際の数に基づいて、前記セルを前記書き込みポインタに対応するレジスタに記憶し、前記レジスタに有効のセルが含まれている場合、接合ユニットを単位として前記デキュー待ちのセルを前記有効のセルと接合し、セルの接合情報を記録し、書き込みポインタを更新すること、
    を含む、請求項1又は2に記載のデータキャッシング方法。
  6. データキャッシング装置であって、
    セルの入力ポート番号に基づいて前記セルを対応する先入先出のキューに記憶するように構成されるキャッシングモジュールと、
    現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングし、前記デキュー待ちのセルに占用される接合ユニットの数の実際値を取得し、データの伝送を行うために、前記デキュー待ちのセルをセル接合の方式でバスのビット幅と同じビット幅のレジスタに記憶するように構成される処理モジュールと、含み、
    前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第1背圧カウント値が第1プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第1背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第1背圧カウント値によって得られ、Kが正の整数である、
    前記データキャッシング装置。
  7. 前記セルに含まれているセルの長さ情報とセルのバージョン情報を抽出し、前記セルの長さ情報とセルのバージョン情報に基づいて、前記セルに占用されるキャッシュユニットの数を取得するように構成される取得モジュール、
    をさらに含む、請求項6に記載のデータキャッシング装置。
  8. 前記デキュー待ちのセルに占用される接合ユニットの実際の数、及び前記デキュー待ちのセルに占用されるキャッシュユニットの数に基づいて、前記第1背圧カウント値に対して校正を行うように構成される校正モジュール、
    をさらに含む、請求項7に記載のデータキャッシング装置。
  9. データキャッシング方法であって、
    セル接合の方式で接合されているデータを別々のセルに還元することと、
    セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶することと、
    現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、前記デキュー待ちのセルをデキューするようスケジューリングすることと、を含み、
    前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第2背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第2背圧カウント値によって得られ、Kが正の整数である、
    前記データキャッシング方法。
  10. セル接合の方式で接合されているデータを別々のセルに還元することは、
    前記データに含まれているセルの接合情報に基づいて、セル接合の方式で接合されているデータを別々のセルに還元すること、
    を含む、請求項9に記載のデータキャッシング方法。
  11. データキャッシング装置であって、
    セル接合の方式で接合されているデータを別々のセルに還元するように構成される還元モジュールと、
    セルの出力ポート番号に基づいて、前記セルを対応する先入先出のキューに記憶するように構成される記憶モジュールと、
    現在のK番目のサイクルで、デキュー待ちのセルをデキュー可能であると確定し、デキュー待ちのセルをデキューするようスケジューリングするように構成されるスケジューリングモジュールと、を含み、
    前記デキュー待ちのセルをデキュー可能であると確定することは、K−1番目のサイクルの第2背圧カウント値が第2プリセット閾値の値以下であることに基づいて行われ、前記K−1番目のサイクルの第2背圧カウント値が、前回のデキューセルをデキューする時に占用された接合ユニットの数の推定値、サイクル毎のバスで伝送可能な接合ユニットの数、及びK−2番目のサイクルの第2背圧カウント値によって得られ、Kが正の整数である、
    前記データキャッシング装置。
  12. コンピュータ記憶媒体であって、
    請求項1〜5のいずれか1項に記載のデータキャッシング方法を実行するためのコンピュータ実行可能な命令を記憶している、
    前記コンピュータ記憶媒体。
  13. コンピュータ記憶媒体であって、
    請求項9〜10のいずれか1項に記載のデータキャッシング方法を実行するためのコンピュータ実行可能な命令を記憶している、
    前記コンピュータ記憶媒体。
JP2017520382A 2014-10-14 2015-04-28 データキャッシング方法、装置及び記憶媒体 Active JP6340481B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410542710.7A CN105573711B (zh) 2014-10-14 2014-10-14 一种数据缓存方法及装置
CN201410542710.7 2014-10-14
PCT/CN2015/077639 WO2016058355A1 (zh) 2014-10-14 2015-04-28 一种数据缓存方法、装置及存储介质

Publications (2)

Publication Number Publication Date
JP2017532908A JP2017532908A (ja) 2017-11-02
JP6340481B2 true JP6340481B2 (ja) 2018-06-06

Family

ID=55746060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017520382A Active JP6340481B2 (ja) 2014-10-14 2015-04-28 データキャッシング方法、装置及び記憶媒体

Country Status (5)

Country Link
US (1) US10205673B2 (ja)
EP (1) EP3206123B1 (ja)
JP (1) JP6340481B2 (ja)
CN (1) CN105573711B (ja)
WO (1) WO2016058355A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106130930B (zh) * 2016-06-24 2019-04-19 西安电子科技大学 一种数据帧预入队处理的装置及方法
US10785348B2 (en) * 2017-08-29 2020-09-22 Hewlett Packard Enterprise Development Lp Segment size determination
CN110554852B (zh) * 2018-05-31 2021-11-12 赛灵思公司 数据拼接结构、方法及其片上实现
US11237960B2 (en) * 2019-05-21 2022-02-01 Arm Limited Method and apparatus for asynchronous memory write-back in a data processing system
CN111522643A (zh) * 2020-04-22 2020-08-11 杭州迪普科技股份有限公司 基于fpga的多队列调度方法、装置、计算机设备及存储介质
CN114185513B (zh) * 2022-02-17 2022-05-20 沐曦集成电路(上海)有限公司 数据缓存装置和芯片
CN115348218B (zh) * 2022-10-18 2022-12-27 井芯微电子技术(天津)有限公司 一种队列调度方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05183528A (ja) * 1990-08-17 1993-07-23 Toshiba Corp コンカチネーション多重化合成装置
US5602994A (en) * 1992-09-25 1997-02-11 The United States Of America As Represented By The United States Department Of Energy Method and apparatus for high speed data acquisition and processing
JP3144386B2 (ja) * 1998-07-06 2001-03-12 日本電気株式会社 バックプレッシャ制御方法およびその装置
IL133922A (en) 1999-02-01 2005-03-20 Ciba Sc Holding Ag Compositions comprising polyolefins produced by polymerization over a metallocene catalyst and a stabilizer mixture and a method for stabilizing said polyolefins
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
EP1168727B1 (en) 2000-06-19 2006-05-03 Broadcom Corporation Memory management unit architecture for switch fabric
JP3908483B2 (ja) 2001-06-28 2007-04-25 富士通株式会社 通信装置
JP3719222B2 (ja) 2002-02-27 2005-11-24 日本電気株式会社 パケット処理システム
IL155742A0 (en) 2003-05-04 2006-12-31 Teracross Ltd Method and apparatus for fast contention-free, buffer management in a muti-lane communication system
JP2006253790A (ja) 2005-03-08 2006-09-21 Fujitsu Ltd パケット伝送装置及びパケット伝送方法
JP2006324861A (ja) 2005-05-18 2006-11-30 Konica Minolta Photo Imaging Inc プリント情報設定装置、カメラ及びプリンタ
CN100428724C (zh) 2005-07-11 2008-10-22 普天信息技术研究院 动态时分交换装置及方法
CN101222444B (zh) 2008-02-04 2011-11-09 华为技术有限公司 缓存数据处理方法、装置及系统
US8321651B2 (en) 2008-04-02 2012-11-27 Qualcomm Incorporated System and method for memory allocation in embedded or wireless communication systems
CN101770356A (zh) 2008-12-30 2010-07-07 陈海红 一种定长信元交换中的数据位宽的转换装置和方法
CN101605100B (zh) 2009-07-15 2012-04-25 华为技术有限公司 队列存储空间的管理方法和设备
CN101964751B (zh) * 2010-09-30 2013-01-16 华为技术有限公司 数据包的传输方法及装置
CN102065014B (zh) 2010-12-29 2014-12-31 中兴通讯股份有限公司 数据信元处理方法和装置
JP5863076B2 (ja) * 2011-08-17 2016-02-16 ▲ホア▼▲ウェイ▼技術有限公司 パケットを再構築し再順序付けするための方法、装置、およびシステム

Also Published As

Publication number Publication date
US10205673B2 (en) 2019-02-12
EP3206123B1 (en) 2020-04-29
CN105573711B (zh) 2019-07-19
JP2017532908A (ja) 2017-11-02
CN105573711A (zh) 2016-05-11
EP3206123A4 (en) 2017-10-04
EP3206123A1 (en) 2017-08-16
WO2016058355A1 (zh) 2016-04-21
US20170237677A1 (en) 2017-08-17

Similar Documents

Publication Publication Date Title
JP6340481B2 (ja) データキャッシング方法、装置及び記憶媒体
JP5863076B2 (ja) パケットを再構築し再順序付けするための方法、装置、およびシステム
US7751404B2 (en) Method, system, and computer program product for high performance bonding resequencing
CN112084136B (zh) 队列缓存管理方法、系统、存储介质、计算机设备及应用
JP6077125B2 (ja) データ処理方法及び装置
US9258256B2 (en) Inverse PCP flow remapping for PFC pause frame generation
JP7074839B2 (ja) パケット処理
CN108897630B (zh) 一种基于OpenCL的全局内存缓存方法、系统及装置
US8943240B1 (en) Direct memory access and relative addressing
WO2016070668A1 (zh) 一种实现数据格式转换的方法、装置及计算机存储介质
Oveis-Gharan et al. Efficient dynamic virtual channel organization and architecture for NoC systems
EP1508100B1 (en) Inter-chip processor control plane
EP3461085B1 (en) Method and device for queue management
WO2019084789A1 (zh) 直接存储器访问控制器、数据读取方法和数据写入方法
US20160006579A1 (en) Merging pcp flows as they are assigned to a single virtual channel
US9515946B2 (en) High-speed dequeuing of buffer IDS in frame storing system
CN104052831A (zh) 一种基于队列的数据传输方法、装置及通信系统
Contini et al. Enabling Reconfigurable HPC through MPI-based Inter-FPGA Communication
CN116501657A (zh) 缓存数据的处理方法、设备及系统
CN110096456A (zh) 一种高速率大容量缓存方法与装置
JP5360594B2 (ja) Dma転送装置及び方法
JP6060050B2 (ja) 通信装置、及び、パケット処理方法
US20130247071A1 (en) System and method for efficient shared buffer management
CN114422597B (zh) 基于fpga的数据帧定时转发方法、装置、fpga及数据交换设备
CN109413122B (zh) 一种数据处理方法、网络处理器及计算机存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180514

R150 Certificate of patent or registration of utility model

Ref document number: 6340481

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250