【手続補正書】
【提出日】平成19年8月7日(2007.8.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  スイッチであって、
複数の入力ポートと、
複数の出力ポートと、
複数の入力ポートと複数の出力ポートとによって共有され、複数の入力ポートのいずれかから受取った入力データストリームを記憶し、複数の出力ポートのいずれかに出力データストリームを与えるメモリと、
複数の出力ポートの１つに対するメモリ読出動作をスケジュールし、並行して複数の入力ポートの１つに対するメモリ書込動作をスケジュールするパケットストレージマネージャとを含み、メモリ読出動作およびメモリ書込動作は単一のポートサイクルでメモリの異なった部分に対してスケジュールされ、
パケットストレージマネージャは、
ポートサイクルに依存して、メモリ読出動作のためのメモリにおける第１の場所に対する読出アドレスを選択する読出アドレス論理を含み、読出アドレス論理は、
複数の出力ポートの各々に対するポート待ち行列を含み、ポート待ち行列は入来パケット内のネットワークデスティネーションに依存して、パケットストレージマネージャによってメモリに書込まれたデータの場所のメモリアドレスを記憶し、読出アドレス論理はさらに、
ポートサイクルに依存して、メモリ読出アドレスを取除くべきポート待ち行列を選択するポート待ち行列選択論理を含み、読出すべきメモリ部分は、選択されたポート待ち行列の先頭から取除かれたメモリ読出アドレスに依存し、パケットストレージマネージャはさらに、
読出アドレス論理によって選択された読出アドレスに依存して、メモリ書込動作のためのメモリにおける第２の場所に対する書込アドレスを選択する書込アドレス論理を含む、スイッチ。
【請求項２】  書込アドレス論理は、
アドレスの空きリストと、
空きリストから書込アドレスを取除くことにより、メモリにおける書込アドレスを与える書込選択論理とを含み、
読出アドレス論理は、書込アドレスをパケットセグメントが方向付けられる各ポート待ち行列の最後に記憶し、
パケットストレージマネージャは、書込アドレスによって指定されるメモリの別の部分にパケットセグメントを書込む、請求項１に記載のスイッチ。
【請求項３】  メモリは物理的に複数のバンクに分けられる、請求項２に記載のスイッチ。
【請求項４】  バンクの数は２個である、請求項３に記載のスイッチ。
【請求項５】  バンクの数は４個である、請求項３に記載のスイッチ。
【請求項６】  書込アドレス論理は各バンクに対する空きリストをさらに含み、書込選択論理は書込アドレスを取除くべき空きリストの１つを選択する、請求項３に記載のスイッチ。
【請求項７】  書込アドレス論理は読出アドレスに依存して、空きリストを選択する、請求項６に記載のスイッチ。
【請求項８】  書込アドレス論理は、データパケットの順次セグメントがメモリの交互の奇数バンクおよび偶数バンクに書込まれるよう、空きリストを選択する、請求項６に記載のスイッチ。
【請求項９】  書込アドレス論理は
複数のバンクの各々に対する空きリストカウンタをさらに含み、空きリストカウンタはバンクにおける利用可能な場所のカウントを記憶し、書込選択論理はこのカウントに依存して空きリストの１つを選択する、請求項６に記載のスイッチ。
【請求項１０】  入力ポートの１つおよび出力ポートの１つは、同じポートであるか、または異なるポートである、請求項１に記載のスイッチ。
【請求項１１】  スイッチであって、
複数の入力ポートと、
複数の出力ポートと、
複数の入力ポートと複数の出力ポートとによって共有され、複数の入力ポートのいずれかから受取った入力データストリームを記憶し、複数の出力ポートのいずれかに出力データストリームを与えるメモリと、
複数の出力ポートの１つに対するメモリ読出動作をスケジュールし、並行して複数の入力ポートの１つに対するメモリ書込動作をスケジュールするための手段とを含み、メモリ読出動作およびメモリ書込動作は単一のポートサイクルでメモリの異なった部分に対してスケジュールされ、
スケジュールするための手段は、
ポートサイクルに依存して、メモリ読出動作のためのメモリにおける読出アドレスを選択するための手段を含み、読出アドレスを選択するための手段は、
複数の出力ポートの各々に対するポート待ち行列を含み、ポート待ち行列は入来パケット内のネットワークデスティネーションに依存して、スケジュールするための手段によってメモリに書込まれたデータの場所のメモリアドレスを記憶し、読出アドレスを選択するための手段はさらに、
ポートサイクルに依存して、読出アドレスを取除くべきポート待ち行列を選択するための手段を含み、読出すべきメモリ部分は、選択されたポート待ち行列の先頭から取除かれた読出アドレスに依存し、スケジュールするための手段はさらに、
読出アドレスを選択するための手段によって選択された読出アドレスに依存して、メモリ書込動作のためのメモリにおける書込アドレスを選択するための手段とを含む、スイッチ。
【請求項１２】  書込アドレスを選択するための手段は、
アドレスの空きリストと、
空きリストから書込アドレスを取除くための手段とを含み、
読出アドレスを選択するための手段は、セグメントが方向付けられている各ポート待ち行列の最後に書込アドレスを記憶し、
取除くための手段は、スケジュールするための手段にパケットを書込むための書込アドレスを与え、スケジュールするための手段は、書込アドレスによって指定されたメモリの
別の部分にセグメントを書込む、請求項１１に記載のスイッチ。
【請求項１３】  メモリは物理的に複数のバンクに分けられている、請求項１２に記載のスイッチ。
【請求項１４】  バンクの数は２個である、請求項１３に記載のスイッチ。
【請求項１５】  バンクの数は４個である、請求項１３に記載のスイッチ。
【請求項１６】  書込アドレスを選択するための手段は各バンクに対する空きリストをさらに含み、取除くための手段は書込アドレスを取除くべき空きリストの１つを選択する、請求項１３に記載のスイッチ。
【請求項１７】  書込アドレスを選択するための手段は、読出アドレスに依存して空きリストを選択する、請求項１６に記載のスイッチ。
【請求項１８】  読出アドレスを選択するための手段は、
複数のバンクの各々に対する空きリストカウンタをさらに含み、空きリストカウンタはバンクにおける利用可能な場所のカウントを記憶し、書込アドレスを選択するための手段は空きリストカウンタにおけるカウントに依存して空きリストの１つを選択する、請求項１７に記載のスイッチ。
【請求項１９】  書込アドレスを選択するための手段は、データパケットの順次セグメントがメモリの交互の奇数バンクおよび偶数バンクに書込まれるよう、空きリストを選択する、請求項１６に記載のスイッチ。
【請求項２０】  入力ポートの１つおよび出力ポートの１つは、同じポートであるか、または異なるポートである、請求項１１に記載のスイッチ。
【請求項２１】  スイッチにおける共通メモリのバンド幅を増大させるための方法であって、
複数の入力ポートのいずれか１つからメモリにおける入力データストリームを受取るステップと、
メモリからの出力データストリームを複数の出力ポートのいずれか１つに与えるステップと、
複数の出力ポートの１つに対するメモリ読出動作をスケジュールし、並行して複数の入力ポートの１つに対するメモリ書込動作をスケジュールするステップとを含み、メモリ読出動作およびメモリ書込動作は単一のポートサイクルでメモリの異なった部分に対してスケジュールされ、メモリ読出動作およびメモリ書込動作をスケジュールするステップは、
ポートサイクルに依存して、メモリ読出動作のためのメモリにおける読出アドレスを選択するステップを含み、読出アドレスを選択するステップは、
複数の出力ポートの各々に対するポート待ち行列におけるメモリに書込まれたデータの場所のメモリアドレスを記憶するステップを含み、ポート待ち行列は入来パケット内のネットワークデスティネーションに依存し、読出アドレスを選択するステップはさらに、
ポートサイクルに依存して、読出アドレスを取除くべきポート待ち行列を選択するステップを含み、読出すべきメモリ部分は、選択されたポート待ち行列の先頭から取除かれた読出アドレスに依存し、メモリ読出動作およびメモリ書込動作をスケジュールするステップはさらに、
読出アドレスを選択するステップによって選択された読出アドレスに依存して、メモリ書込動作のためのメモリにおける書込アドレスを選択するステップと、
メモリ読出動作とメモリ書込動作とを、単一のポートサイクルでメモリの異なる部分にスケジューリングするステップとを含む、方法。
【請求項２２】  書込アドレスを選択するステップは、
アドレスの空きリストを与えるステップと、
空きリストから書込アドレスを取除くステップと、
セグメントが方向付けられている各ポート待ち行列の最後に書込アドレスを記憶するステップと、
書込アドレスによって指定されたメモリの別の部分にパケットセグメントを書込むためのアドレスを与えるステップとを含む、請求項２１に記載の方法。
【請求項２３】  メモリは物理的に複数のバンクに分けられている、請求項２２に記載の方法。
【請求項２４】  バンクの数は２個である、請求項２２に記載の方法。
【請求項２５】  バンクの数は４個である、請求項２２に記載の方法。
【請求項２６】  空きリストは読出アドレスに依存して選択される、請求項２５に記載の方法。
【請求項２７】  書込アドレスを選択するステップは、
複数のバンクの各々に対して、利用可能な場所のカウントを空きリストカウンタに記憶するステップと、
空きリストカウンタにおけるカウントに依存して、空きリストのうちの１つを選択するステップとをさらに含む、請求項２６に記載の方法。
【請求項２８】  データパケットの順次セグメントがメモリの交互の奇数バンクおよび偶数バンクに書込まれるよう、バンク空きリストが選択される、請求項２５に記載のスイッチ。
【請求項２９】  書込アドレスを選択するステップは、
複数のバンクの各々に対する空きリストに利用可能な場所のアドレスを記憶するステップと、
複数の空きリストの１つを選択するステップと、
選択された空きリストから書込アドレスを取除くステップとをさらに含む、請求項２２に記載の方法。
【請求項３０】  入力ポートのうちのいずれか１つおよび出力ポートのうちのいずれか１つは、同じポートであるか、または異なるポートである、請求項２１に記載の方法。