JP2004240711A - バッファメモリ装置及びバッファメモリ制御方法 - Google Patents
バッファメモリ装置及びバッファメモリ制御方法 Download PDFInfo
- Publication number
- JP2004240711A JP2004240711A JP2003029085A JP2003029085A JP2004240711A JP 2004240711 A JP2004240711 A JP 2004240711A JP 2003029085 A JP2003029085 A JP 2003029085A JP 2003029085 A JP2003029085 A JP 2003029085A JP 2004240711 A JP2004240711 A JP 2004240711A
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- buffer memory
- memory area
- unit
- memory
- 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.)
- Withdrawn
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】複数メモリ領域を有するバッファメモリ装置及びバッファメモリ制御方法に関し、メモリ領域の効率化及び低消費電力化を図る。
【解決手段】バッファメモリ1を複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ装置及びバッファ制御方法であって、ポインタにより指定したメモリ領域にデータの書込みを行う書込部(分割/書込部6)と、ポインタにより指定したメモリ領域からデータを読出して返却ポインタとする読出部(読出/組立部7)と、返却ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として管理すると共に、使用可能ポインタの中の空きポインタを選択して、データを書込む為のポインタとして書込部に入力する空きポインタ管理部2とを含む構成を有する。
【選択図】 図1
【解決手段】バッファメモリ1を複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ装置及びバッファ制御方法であって、ポインタにより指定したメモリ領域にデータの書込みを行う書込部(分割/書込部6)と、ポインタにより指定したメモリ領域からデータを読出して返却ポインタとする読出部(読出/組立部7)と、返却ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として管理すると共に、使用可能ポインタの中の空きポインタを選択して、データを書込む為のポインタとして書込部に入力する空きポインタ管理部2とを含む構成を有する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、バッファメモリを複数のメモリ領域に分割して、ポインタによりメモリ領域を指定して、データの書込み及び読出しを行うバッファメモリ装置及びバッファメモリ制御方法に関する。
【0002】
【従来の技術】
各種のシステムに適用されているバッファメモリ装置は、一般的には、先入れ先出しメモリ(FIFO;First In First Out)構成を有し、先に書込んだデータから順次読出すように制御するものである。又可変長パケットの伝送システムに於けるバッファメモリ装置に於いては、最大長のパケットを書込むメモリ領域に分割し、パケット単位でメモリ領域に書込み、所定のタイミングで読出して送出する構成が一般的である。
【0003】
又サービス品質QoS(Quality of Service)に対応した伝送制御を行うATMセル伝送システムを含むパケット伝送システムに於いては、バッファメモリのメモリ領域をQoS対応の優先度の高いメモリ領域と優先度の低いメモリ領域とに分類し、優先度の高いパケットのデータを優先度の高いメモリ領域に書込み、優先度の低いパケットのデータを優先度の低いメモリ領域に書込み、優先度の高いメモリ領域から先にデータを順次読出して伝送する構成が知られている。
【0004】
又パケット伝送システムに於いて、受信パケットを一時的に蓄積するバッファメモリのメモリ領域が零となると、受信パケットを書込むことができなくなって、その受信パケットを廃棄することになるから、単位時間内の受信パケット数を監視し、その受信パケット数に対応して入力規制値を増加させ、空きメモリ領域が入力規制値以下に減少した時に、送信側にパケットの送信を規制する入力規制信号を送出して、バッファメモリがオーバーフロー状態となることを回避する手段が知られている(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平1−176140号公報
【0006】
【発明が解決しようとする課題】
パケット等のデータの伝送速度や処理速度の高速化に伴って、データの書込み及び読出しを行うバッファメモリは、比較的大容量で且つ高速動作の構成が要望されている。従って、バッファメモリとしての消費電力も無視できなくなっている。又可変長パケット伝送システムに於けるバッファメモリは、最大長のパケットを書込むメモリ領域に分割する構成が一般的であり、その為に、パケット長の短いパケットに対しては無駄なメモリ領域が多く生じる問題がある。
【0007】
又パケット等のデータ伝送システムに於いては、伝送量の少ない場合でも、バッファメモリの全メモリ容量を用いるものであり、従って、バッファメモリとして実際に使用するメモリ領域のみでなく、全メモリ領域を動作状態として動作電力を供給しており、その為に消費電力を低減することは困難であった。
【0008】
本発明は、メモリ領域対応に動的に使用/不使用を制御し、又使用メモリ領域に対してのみ動作電力を供給するように制御し、安定な動作及び低消費電力化を図ることを目的とする。
【0009】
【課題を解決するための手段】
本発明のバッファメモリ装置は、図1を参照して説明すると、バッファメモリ1を複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ装置であって、ポインタにより指定したメモリ領域にデータの書込みを行う書込部(分割/書込部6)と、ポインタにより指定したメモリ領域からデータを読出す読出部(読出/組立部7)と、ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として管理すると共に、使用可能ポインタの中の空きポインタを選択して、データを書込む為のポインタとして書込部に入力する空きポインタ管理部2とを備えている。
【0010】
又空きポインタ管理部2は、使用可能ポインタを保持してバッファメモリ1のメモリ領域にデータを書込む書込部にポインタを割り当てる使用可能ポインタリスト部と、使用禁止ポインタを管理する使用禁止ポインタ管理部と、読出部からの返却ポインタを使用可能ポインタと使用禁止ポインタとの何れかに振り分ける振り分け部とを有するものである。
【0011】
又本発明のバッファメモリ制御方法は、バッファメモリ1を複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ制御方法であって、ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として、使用可能ポインタをバッファメモリ1のメモリ領域にデータを書込む為に割り当て、バッファメモリ1のメモリ領域からデータを読出した時の該メモリ領域対応の返却ポインタを、ポインタ削減ポリシーに従って使用可能ポインタか又は使用禁止ポインタかに振り分ける過程を含むものである。
【0012】
【発明の実施の形態】
図1は本発明の実施の形態の説明図であり、パケット伝送システムに於ける例えばルータに適用した場合を示し、1はSRAM(Static RandomAccess Memory)等のバッファメモリ、2は空きポインタ管理部、3はバッファメモリ管理部、4はQoSスケジューラ、5はQoS管理用コンテンツメモリ、6はバッファメモリにデータを書込む書込部に相当する分割/書込部、7はバッファメモリ1からデータを読出す読出部に相当する読出/組立部を示す。
【0013】
バッファメモリ1は、256ビット等の所定長のデータを書込むメモリ領域に分割し、各メモリ領域をそれぞれアドレスに対応するポインタにより管理し、又各メモリ領域対応又は複数のメモリ領域をブロックとした各ブロック対応に動作電力の供給,停止を可能とする構成を有するものである。
【0014】
又空きポインタ管理部2は、バッファメモリ1にデータを書込む時の空きメモリ領域を示すポインタを管理し、且つこのポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つその属性を相互に変更可能に制御する手段と、バッファメモリ1の使用禁止に設定したメモリ領域又は不良メモリ領域に対する動作電力の供給停止を制御する手段と、メモリダンプやキャプチャ機能を効率化する手段とを含むものである。又バッファメモリ管理部3は、バッファメモリ1のメモリ領域を管理し、QoSスケジューラ4に於けるパケットの優先制御や帯域制御等に従って、メモリ領域の使用可能/使用禁止の制御と、バッファメモリ1からデータを読出したメモリ領域のポインタの属性の制御を含む機能を有するものである。
【0015】
又分割/書込部6は、入力パケットを、バッファメモリ1のメモリ領域の大きさに従ったデータ長に分割し、そのデータを、空きポインタ管理部2から割り当てられたポインタに従ったバッファメモリ1のメモリ領域に書込む制御を行い、その時のポインタをQoSスケジューラ4に転送し、又パケットのヘッダ情報としてのQoS管理のパラメータをQoS管理用コンテンツメモリ5に転送して書込む制御を行う。
【0016】
又読出/組立部7は、QoSスケジューラ4からのスケジューリング結果によるデキューポインタを基に、バッファメモリ1からデータを読出してパケットに組立てて出力パケットとし、又データを読出したメモリ領域を示すポインタをバッファメモリ管理部3へ返却ポインタとして転送する。
【0017】
バッファメモリ1の各メモリ領域を指定するポインタに対して、使用可能と使用禁止との属性に分類し、空きポインタ管理部2から分割/書込部6に転送するポインタは、使用可能ポインタの中から選択する。従って、使用禁止ポインタ数を増加すれば、バッファメモリ1に対するデータの書込みを行うメモリ領域が少なくなる。そして、使用禁止ポインタ対応のメモリ領域に対しては、動作電力の供給を中止して、低消費電力化を図ることかできる。
【0018】
図2はデータの書込み及び読出しの動作説明図であり、バッファメモリ1は、ポインタ0〜n−1によって指定するn個のメモリ領域に分割し場合を示し、分割/書込部6により入力パケットを分割し、空きポインタ管理部2から使用可能ポインタd,b,a,c,eを順次割り当てることにより、分割/書込部6に於いて分割したデータを、それぞれポインタd,b,a,c,eによるメモリ領域に書込むことができる。又読出/組立部7に、QoSスケジューラ4(図1参照)からの指示により、バッファメモリ1のポインタc,e,d,b,aの順序で読出しを行い、読出しが終わる毎に、空きポインタ管理部2に返却ポインタとして転送する。この場合、ポインタd,b,aに書込まれたデータからなる入力パケットと、ポインタc,eに書込まれたデータからなる入力パケットとの順序を反転した出力パケットとした場合を示す。
【0019】
図3は本発明の実施の形態の空きポインタ管理部の説明図であり、10は上位システム、11は残ポインタ数監視部、12は使用禁止ポインタ管理部、13はポインタ生成部、14は廃棄したポインタを格納するゴミ箱、15は使用可能ポインタリスト部、15は振り分け部、16は使用可能ポインタリスト部、21は使用可能ポインタリスト#0〜#n、22は優先度選択部、23は使用可能ポインタ振り分け部、24は使用禁止ポインタ抽出部、25はポインタ削減方式設定部、26はポインタ削減要求処理部、27は電源管理部を示す。
【0020】
使用可能ポインタリスト部16の使用可能ポインタリスト#0〜#nは、振り分け部15の使用可能ポインタ振り分け部23により振り分けられた使用可能ポインタを保存し、優先度選択部22により、分割/書込部6に対してポインタ割り当てを行う。
【0021】
又使用可能ポインタ振り分け部23は、例えば、使用可能ポインタリストが8個の場合、使用可能ポインタのポインタ値の下位3ビットを用いて8個のグループに振り分けることができる。即ち、下位3ビットが000であると、使用可能ポインタリスト#0に、又001であると、使用可能ポインタリスト#1に、又同様にして111であると、使用可能ポインタリスト#7にそれぞれ振り分けることができる。
【0022】
又使用可能ポインタに優先度を表すパラメータを設定可能とし、使用可能ポインタリスト#0〜#nに対しても優先度を与えて、図示のように、使用可能ポインタリスト#0側の優先度を高く、反対に使用可能ポインタリスト#n側の優先度を低くし、使用可能ポインタ振り分け部23に於いては、使用可能ポインタの優先度に応じて振り分けることができる。この場合、優先度選択部22は、優先度の高い使用可能ポインタリストに格納された使用可能ポインタを優先的に分割/書込部6に対する割り当てポインタとして送出する。
【0023】
又優先度は高低の2種類とすることも可能であり、その場合は、2個の使用可能ポインタリスト#0,#1を設けることになる。又優先度が必要でない場合は、1個の使用可能ポインタリストを設け、優先度選択部22及び使用可能ポインタ振り分け部23を省略した構成とすることができる。又使用可能ポインタ振り分け部23に於いて、前述のポインタ値に従って振り分けることにより優先度を固定的に付与することも可能である。又返却ポインタの優先度を順次低くして使用可能ポインタの優先度に再設定し、最低の優先度の返却ポインタに対しては、最高の優先度の使用可能ポインタとして振り分けを行うことも可能である。
【0024】
又優先度選択部22は、優先度の高い使用可能ポインタリストに使用可能ポインタが保存されていれば、それを優先して選択し、分割/書込部6(図1参照)に対して、バッファメモリ1に書込む為のポインタとして割り当てる。従って、優先度の高いパケットデータを、バッファメモリ1の優先度の高いメモリ領域に書込むことにより、そのパケットデータを優先度に従って先に読出して、入力パケットの順序の変更等を行い、優先度の高いパケットを優先して送出することができる。この場合の読出しは、例えば、QoSスケジューラ4によるスケジューリング結果に基づいた制御により行うことができる。
【0025】
又上位システム10のポインタ削減要求処理部26から、ポインタ削減要求がポインタ削減方式設定部25と使用禁止ポインタ管理部12とに転送されると、ポインタ削減方式設定部25は、振り分け部15の使用禁止ポインタ部24にポインタ削減量を指示する。使用禁止ポインタ部24は、バッファメモリ1からデータを読出したポインタを読出/組立部7(図1参照)からの返却ポインタとして受取り、ポインタ削減要求に従って返却ポインタをゴミ箱14に廃棄し、廃棄したポインタを使用禁止ポインタ管理部12に通知する。又ゴミ箱14には、使用可能ポインタリスト単位で廃棄したポインタを保存することができる。又バッファメモリ1に不良メモリ領域が発生した場合、その不良メモリ領域に対するポインタを使用禁止ポインタに変更するように、使用禁止ポインタ抽出部24に通知することができる。
【0026】
又使用禁止ポインタ管理部12は、ゴミ箱14を参照して廃棄ポインタ情報を取得し、電源管理部27にその廃棄ポインタ情報を転送することにより、電源管理部27は、使用禁止ポインタ対応のメモリ領域或いは複数の使用禁止ポインタによる連続したブロックに対して動作電力の供給を停止し、消費電力の削減を図ることができる。
【0027】
又使用禁止ポインタ管理部12は、パケットの伝送量の増加等により、上位システム10からの指示によって使用可能ポインタを増加する場合、ゴミ箱14を参照して廃棄ポインタ情報を取得し、使用禁止ポインタの中から使用可能ポインタに復活させるポインタをポインタ生成部13に指示し、復活させたポインタの優先度に従って使用可能ポインタリストに追加する。従って、データ伝送帯域の増減に伴うバッファメモリの使用領域の増減の要求時、又はメモリダンプやキャプチャ等の要求時、不良メモリ領域発生時等に於いて、バッファメモリ1の使用可能のメモリ領域を増減を、使用可能ポインタと使用禁止ポインタとの設定により動的に変更することができる。
【0028】
図4は振り分け部の説明図であり、図1及び図3と同一符号は同一部分を示し、振り分け部15は、使用可能ポインタ振り分け部23と、使用禁止ポインタ抽出部24とを有し、使用禁止ポインタ抽出部24は、セレクタ31と結果処理部32と使用禁止化ポリシー33とを含み、使用禁止化ポリシー33は、#0〜#nの複数とした場合を示す。そして、読出/組立部7(図1参照)からの返却ポインタに対して、使用禁止対象ポインタか否かを判定し、使用禁止対象ポインタは、使用禁止ポインタ管理部12に転送し、使用禁止対象ポインタでない場合は、使用可能ポインタ振り分け部23に転送する。
【0029】
又使用禁止ポインタ抽出部24は、上位システム10(図1参照)からのポインタ削減ポリシーの設定に従って、セレクタ31に加えられた返却ポインタを、単一又は複数種類の使用禁止化ポリシー33に対して振り分け、その使用禁止化ポリシー33に従って結果処理部32により使用可能ポインタか使用禁止ポインタかに振り分ける。使用禁止化ポリシーとしては、返却ポインタに対して、例えば、設定ポインタ値以下のポインタ値を使用禁止ポインタに変更するポリシーや、或る範囲内のポインタ値のポインタについて使用禁止ポインタに変更するポリシー等とすることができる。そして、結果処理部32による使用禁止ポインタは、使用禁止ポインタ管理部12に転送し、使用可能ポインタは、使用可能ポインタ振り分け部23に転送する。
【0030】
使用可能ポインタ振り分け部23は、使用可能ポインタをポインタ値に従って振り分ける場合を示し、前述のように、例えば、0〜n−1のポインタ値のポインタを使用可能ポインタリスト#0に振り分け、n〜2n−1のポインタ値のポインタを使用可能ポインタリスト#1に振り分け、同様にして、7n〜8n−1のポインタ値のポインタを使用可能ポインタリスト#7に振り分ける。この場合、8個の使用可能ポインタリストを有し、総ポインタ数は8n個となる。なお、ポインタの優先度のパラメータを設定した場合は、使用可能ポインタ振り分け部23に於いて、優先度に従った使用可能ポインタリスト21に振り分けることになる。
【0031】
図5は、本発明の実施の形態の返却ポインタ処理フローチャートを示し、図3を参照して説明する。出力パケットの送出によって生じた返却ポインタ45に対して、上位システム10からのポインタ使用制限41を行うか否かに従って、ポインタ使用制限の有無の判定46を行い、使用制限有りの場合は、上位システム10からのポインタ削減方式の設定42に従って、返却ポインタ値が使用禁止化対象か否かの判定47を行い、使用禁止化対象の場合は、返却ポインタをゴミ箱14に廃棄48、使用禁止ポインタ管理部50(図3に於ける使用禁止ポインタ管理部12に対応)に廃棄したポインタ情報を通知する。
【0032】
又ポインタ使用制限無しの場合、又は返却ポインタ値が使用禁止化対象でない場合、使用可能ポインタリストを複数有する場合に於いては、使用可能ポインタリストの選択49を行う。そして、使用可能ポインタリスト21に追加52を行う。又上位システム10からのポインタ使用制限解除43により、ポインタ生成部51(図3のポインタ生成部13に対応)から復活ポインタ情報を使用禁止ポインタ管理部50に通知し、又使用可能ポインタリスト21の選択49を介して使用可能ポインタリストに追加52を行う。
【0033】
又上位システム10からのポインタ使用制限44に従ったポインタ使用制限の有無の判定53を行い、使用可能ポインタリスト21に対してポインタ使用制限有りの場合は、使用可能ポインタをゴミ箱14に廃棄54を行い、使用禁止ポインタ管理部50に廃棄したポインタ情報を通知する。又ポインタ使用制限無しの場合は、入力パケットに対してポインタ割り当て55を行う。
【0034】
従って、ポインタの使用制限又は使用制限解除に従って、バッファメモリ1に於ける使用可能のメモリ領域を制御し、メモリダンプ時やキャプチャ時に於けるデータ格納のメモリ領域を制限することができるから、処理時間の短縮化を図ることができる。又電源管理部27による動作電力の選択供給により低消費電力化を図ることができる。
【0035】
図6は、本発明の実施の形態の使用禁止ポインタ管理部の機能説明図であり、(A)はポインタの属性表示ビット、(B)はポインタの状態遷移を示す。同図の(A)に於いて、ポインタの属性表示ビットを、可能(0)と禁止(1)とを示す可能/禁止ビットと、変更処理中(1)と変更処理中無し(0)との変更処理中ビットと、プロテクトのオフOFF(0)とオンON(1)とのプロテクトビットとの3ビット構成とした場合を示し、n個のポインタ0〜n−1対応に付加する。このプロテクトビットをオン(1)とした時は、使用可能ポインタと使用禁止ポインタとの相互の変更を禁止し、オフ(0)とした時は、その変更を可能とするものである。
【0036】
又図6の(B)に於いて、使用可能ポインタ(000)の状態の時に、変更を禁止するプロテクト追加を行うと、絶対使用可能(100)の状態に遷移し、又このプロテクトを解除するトランジスタ、使用可能ポインタ(000)の状態に遷移する。この状態から、廃棄要求を行うと、ポインタ削減処理中(011)を介して使用禁止ポインタ(001)の状態に遷移する。
【0037】
この状態の時に、プロテクト追加を行うと、絶対使用禁止(101)の状態に遷移し、又プロテクト解除を行うと、使用禁止ポインタ(001)の状態に遷移する。この状態から、ポインタ復活要求を行うと、ポインタ復活処理中(010)を介して使用可能ポインタ(000)の状態に遷移する。又属性表示ビットとして、ポインタの優先度を表示するビットを付加することも可能である。
【0038】
図7は使用禁止ポインタ設定によるメモリ空間の説明図であり、PTは4n個のメモリ領域に対するポインタを示し、ポインタ0〜4n−1対応のメモリ領域にデータを格納するものであり、(A)に於いては、ポインタ0,2〜n−1,n+1,2n−1のメモリ領域が斜線を施して示すように使用中領域であり、他のポインタのメモリ領域は空白として示すように空き領域となっており、空き領域対応のポインタ21(図3参照)は使用可能ポインタリストに存在しているものとする。
【0039】
そして、時間の経過により、図7の(B)に示すように、ポインタ0〜n−1,n+1,2n−1のメモリ領域が使用中の状態となった時に、使用可能ポインタリスト21には、ポインタn,n+2〜n−2,2n〜4n−1が残っており、これらのポインタを、ポインタ削減ポリシーに従って総て使用禁止ポインタに変更することができる。その変更による使用禁止ポインタに対応するメモリ領域は、使用中のメモリ領域と異なる斜線を施して示す領域となる。
【0040】
そして、時間の経過により、図7の(C)に示す状態、即ち、ポインタ0〜n−1のメモリ領域が使用中の状態となると、使用可能ポインタリストに、ポインタn,2n−1が存在することになるが、これを含めて使用禁止ポインタに変更すると、ポインタn〜4n−1が総て使用禁止ポインタとなり、それに対応するメモリ領域は、使用中のメモリ領域と異なる斜線を施して示す領域となる。
【0041】
この状態に於いては、例えば、ポインタn〜2n−1,2n〜3n−1,3n〜4n−1の3ブロックに対して、動作電力の供給を停止することにより、バッファメモリ1の全メモリ領域に動作電力を供給する場合に比較して、消費電力を1/4とすることができる。又帯域制限等のポインタ削減ポリシーに従って、ポインタ0〜n−1以外のポインタを使用禁止ポインタに変更することにより、前述のように、バッファメモリ1の1ブロック分のメモリ領域を用いてデータの書込み及び読出しを行う状態となる。このように、使用可能ポインタリストに残存させるポインタ数又はポインタ値の範囲をポインタ削減ポリシーにより設定し、この設定内容と異なる返却ポインタを使用禁止ポインタに振り分ける構成とするとも可能である。
【0042】
又ポインタリストに優先度を設定することにより、低消費電力化への移行を効率良く実行することができる。例えば、優先度を、ポインタ0〜n−1>n〜2n−1>2n〜3n−1>3n〜4n−1の関係で優先度を設定することにより、例えば、1/4程度の帯域使用中に於いては、ポインタ0〜n−1のメモリ領域を繰り返し優先的に使用されることになり、従って、ポインタn〜4n−1のメモリ領域は比較的早く未使用状態となる。
【0043】
この状態に於いて、ポインタリストに対して使用禁止化を行うことにより、低優先度のポインタ程、早く使用禁止ポインタへ変更可能となる。従って、その使用禁止ポインタのメモリ領域に対する動作電力の供給を停止して、低消費電力化へ短時間で移行することができる。なお、ポインタリストに優先度を設定しない場合は、全メモリ領域が満遍なく使用されるから、例えば、1/4程度の帯域使用状態となった時、低消費電力化へ移行しようとしても、全メモリ領域について、各ブロックの約1/4のメモリ領域が使用されている為、例えば、図7の(C)の状態になってから低消費電力化へ移行することができ、それまでに要する時間が比較的長くなる。
【0044】
図8は、空きメモリ領域のポインタを、ポインタ値の最大値から降順に連続して使用禁止ポインタに変更し、全体の1/4を使用可能ポインタとする場合のメモリ空間の説明図であり、図7に示す場合と相違して、最大ポインタ値のポインタが空きポインタを示す時に、降順に空きポインタをソートして使用禁止ポインタに変更する。即ち、図8の(A)に示す状態は、ポインタ2,n−1,n+1,2n−1,2n+2,3n−2,4n−1のメモリ領域が斜線を施して示すように使用中であり、且つ最大ポインタ値が4n−1であり、このメモリ領域は使用中の状態である。
【0045】
そして、時間の経過により、図8の(B)に示す状態となると、最大ポインタ値のポインタ4n−1が空きポインタとなり、この最大ポインタ値のポインタ4n−1から点線矢印で示すように降順にソートする。この場合、ポインタ3n+3まで空きポインタであることにより、使用中のメモリ領域と異なる斜線で示すメモリ領域を使用禁止とする。即ち、ポインタ4n−1〜3n+3を使用禁止ポインタに変更する。
【0046】
そして、時間の経過により、図8の(C)に示す状態となると、最大ポインタ値のポインタ4n−1からポインタ2n−1までのポインタを使用禁止ポインタとする。次に、図8の(D)に示す状態となると、最大ポインタ値のポインタ4n−1からポインタnまでのポインタを使用禁止ポインタとし、ポインタ0〜n−1を使用可能ポインタとし、全体の1/4のメモリ領域を用いてバッファリングを行う構成とし、使用禁止ポインタに対応するメモリ領域に対する動作電力の供給を停止して、低消費電力化を図ることができる。この場合、メモリ領域をブロック化して、ブロック単位で動作電力の供給,停止を制御することが容易となる。なお、ポインタ値が最小の空きポインタから昇順にソートして、順次使用禁止ポインタに変更することも可能である。
【0047】
本発明は、前述の各実施の形態のみに限定されるものではなく、各種のシステムに於けるバッファメモリの制御に対して適用可能である。又バッファメモリ1の周辺の機能部は、プロセッサによる処理機能やメモリ等により実現することも可能である。又入力されるデータがバッファメモリ1の各メモリ領域に対応した長さの場合は、分割/書込部6と読出/組立部7とは、それぞれ書込部と読出部とすることができる。
【0048】
(付記1)バッファメモリを複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ装置に於いて、前記ポインタにより指定したメモリ領域にデータの書込みを行う書込部と、前記ポインタにより指定したメモリ領域からデータを読出す読出部と、前記ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として管理すると共に、前記使用可能ポインタの中の空きポインタを選択して前記データを書込む為のポインタとして前記書込部に入力する空きポインタ管理部ととを備えたことを特徴とするバッファメモリ装置。
【0049】
(付記2)前記空きポインタ管理部は、前記使用可能ポインタを保持して前記バッファメモリのメモリ領域にデータを書込む前記書込部にポインタを割り当てる使用可能ポインタリスト部と、前記使用禁止ポインタを管理する使用禁止ポインタ管理部と、前記読出部からの返却ポインタを使用可能ポインタと使用禁止ポインタとの何れかに振り分ける振り分け部とを有することを特徴とする付記1記載のバッファメモリ装置。
(付記3)前記空きポインタ管理部の前記使用可能ポインタリスト部は、優先度に従って振り分けたポインタをそれぞれ保持する複数の使用可能ポインタリストと、優先度に従って使用可能ポインタリストから順に前記書込部に対するポインタを割り当てる優先度選択部とを含む構成を有することを特徴とする付記1又は2記載のバッファメモリ装置。
(付記4)前記空きポインタ管理部の前記使用可能ポインタリスト部は、ポインタ値に従って振り分けたポインタをそれぞれ保持する複数の使用可能ポインタリストと、該複数の使用可能ポインタリストから前記書込部に対するポインタを割り当てる優先度選択部とを含む構成を有することを特徴とする付記1又は2記載のバッファメモリ装置。
【0050】
(付記5)前記空きポインタ管理部の前記振り分け部は、返却ポインタを使用可能ポインタと使用禁止ポインタとに振り分ける使用禁止ポインタ抽出部と、使用可能ポインタを前記使用可能ポインタリスト部の使用可能ポインタリストとして振り分ける使用可能ポインタ振り分け部とを含む構成を有することを特徴とする付記1又は2又は3記載のバッファメモリ装置。
(付記6)前記使用禁止ポインタ抽出部は、前記返却ポインタをポインタ削減ポリシーに従って複数の使用禁止化ポリシーに振り分け、該使用禁止化ポリシーに従って使用可能ポインタを前記使用可能ポインタ振り分け部に転送し、使用禁止ポインタを使用禁止ポインタ管理部に通知する構成を有することを特徴とする付記1乃至5の何れか1に記載のバッファメモリ装置。
(付記7)前記バッファメモリの前記使用禁止ポインタによるメモリ領域又は複数のメモリ領域をブロックとして、メモリ領域単位又はブロック単位で動作電力の供給を停止する制御手段を備えたことを特徴とする付記1記載のバッファメモリ装置。
【0051】
(付記8)バッファメモリを複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ制御方法に於いて、前記ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として、前記使用可能ポインタを前記バッファメモリのメモリ領域にデータを書込む為に割り当て、前記バッファメモリのメモリ領域からデータを読出した時の該メモリ領域対応の返却ポインタを、ポインタ削減ポリシーに従って前記使用可能ポインタか又は使用禁止ポインタかに振り分ける過程を含むことを特徴とするバッファメモリ制御方法。
【0052】
(付記9)前記使用禁止ポインタに対応する前記バッファメモリのメモリ領域単位又は複数のメモリ領域をブロックとしたブロック単位に、動作電力の供給を停止する過程を含むことを特徴とする付記8記載のバッファメモリ制御方法。
(付記10)前記返却ポインタを、ポインタ削減ポリシーに従って使用可能ポインタと使用禁止ポインタとに振り分け、使用可能ポインタ又は使用禁止ポインタの中から復活させたポインタを使用可能ポインタリストに保持し、該使用可能ポインタリストに保持した使用可能ポインタを、前記バッファメモリにデータを書込むメモリ領域の指定の為に割り当てる過程を含むことを特徴とする付記8記載のバッファメモリ制御方法。
【0053】
【発明の効果】
以上説明したように、本発明は、バッファメモリを複数のメモリ領域とし、各メモリ領域をポインタにより指定してデータの書込み及び読出しを行い、そのポインタを、QoS制御,メモリダンプ機能,キャプチャ機能,低消費電力化等に従って、使用可能ポインタと使用禁止ポインタとに振り分け、使用可能ポインタに対応するメモリ領域にデータを書込むので、使用禁止ポインタに対応するメモリ領域はデータ書込みを行わないから、伝送帯域等に対応したメモリ領域のみを使用可能に制御し、且つ使用禁止ポインタに対応するメモリ領域に対して動作電力の供給を停止して、低消費電力化を図ることができる。又メモリダンプやキャプチャ処理に於いては、バッファメモリの使用領域を、使用可能ポインタと使用禁止ポインタとによって決定し、使用メモリ領域を制限することにより、処理の効率化を図ることができる。又バッファメモリの不良メモリ領域が発生した場合、その不良メモリ領域のポインタを使用禁止ポインタに変更し、正常なメモリ領域を用いたデータのバッファリングを行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態の説明図である。
【図2】データの書込み及び読出しの動作説明図である。
【図3】本発明の実施の形態の空きポインタ管理部の説明図である。
【図4】振り分け部の説明図である。
【図5】本発明の実施の形態の返却ポインタ処理フローチャートである。
【図6】本発明の実施の形態の使用禁止ポインタ管理部の機能説明図である。
【図7】使用禁止ポインタ設定によるメモリ空間の説明図である。
【図8】使用禁止ポインタ設定によるメモリ空間の説明図である。
【符号の説明】
1 バッファメモリ
2 空きポインタ管理部
3 バッファメモリ管理部
4 QoSスケジューラ
5 QoS管理用コンテンツメモリ
6 分割/書込部
7 読出/組立部
【発明の属する技術分野】
本発明は、バッファメモリを複数のメモリ領域に分割して、ポインタによりメモリ領域を指定して、データの書込み及び読出しを行うバッファメモリ装置及びバッファメモリ制御方法に関する。
【0002】
【従来の技術】
各種のシステムに適用されているバッファメモリ装置は、一般的には、先入れ先出しメモリ(FIFO;First In First Out)構成を有し、先に書込んだデータから順次読出すように制御するものである。又可変長パケットの伝送システムに於けるバッファメモリ装置に於いては、最大長のパケットを書込むメモリ領域に分割し、パケット単位でメモリ領域に書込み、所定のタイミングで読出して送出する構成が一般的である。
【0003】
又サービス品質QoS(Quality of Service)に対応した伝送制御を行うATMセル伝送システムを含むパケット伝送システムに於いては、バッファメモリのメモリ領域をQoS対応の優先度の高いメモリ領域と優先度の低いメモリ領域とに分類し、優先度の高いパケットのデータを優先度の高いメモリ領域に書込み、優先度の低いパケットのデータを優先度の低いメモリ領域に書込み、優先度の高いメモリ領域から先にデータを順次読出して伝送する構成が知られている。
【0004】
又パケット伝送システムに於いて、受信パケットを一時的に蓄積するバッファメモリのメモリ領域が零となると、受信パケットを書込むことができなくなって、その受信パケットを廃棄することになるから、単位時間内の受信パケット数を監視し、その受信パケット数に対応して入力規制値を増加させ、空きメモリ領域が入力規制値以下に減少した時に、送信側にパケットの送信を規制する入力規制信号を送出して、バッファメモリがオーバーフロー状態となることを回避する手段が知られている(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平1−176140号公報
【0006】
【発明が解決しようとする課題】
パケット等のデータの伝送速度や処理速度の高速化に伴って、データの書込み及び読出しを行うバッファメモリは、比較的大容量で且つ高速動作の構成が要望されている。従って、バッファメモリとしての消費電力も無視できなくなっている。又可変長パケット伝送システムに於けるバッファメモリは、最大長のパケットを書込むメモリ領域に分割する構成が一般的であり、その為に、パケット長の短いパケットに対しては無駄なメモリ領域が多く生じる問題がある。
【0007】
又パケット等のデータ伝送システムに於いては、伝送量の少ない場合でも、バッファメモリの全メモリ容量を用いるものであり、従って、バッファメモリとして実際に使用するメモリ領域のみでなく、全メモリ領域を動作状態として動作電力を供給しており、その為に消費電力を低減することは困難であった。
【0008】
本発明は、メモリ領域対応に動的に使用/不使用を制御し、又使用メモリ領域に対してのみ動作電力を供給するように制御し、安定な動作及び低消費電力化を図ることを目的とする。
【0009】
【課題を解決するための手段】
本発明のバッファメモリ装置は、図1を参照して説明すると、バッファメモリ1を複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ装置であって、ポインタにより指定したメモリ領域にデータの書込みを行う書込部(分割/書込部6)と、ポインタにより指定したメモリ領域からデータを読出す読出部(読出/組立部7)と、ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として管理すると共に、使用可能ポインタの中の空きポインタを選択して、データを書込む為のポインタとして書込部に入力する空きポインタ管理部2とを備えている。
【0010】
又空きポインタ管理部2は、使用可能ポインタを保持してバッファメモリ1のメモリ領域にデータを書込む書込部にポインタを割り当てる使用可能ポインタリスト部と、使用禁止ポインタを管理する使用禁止ポインタ管理部と、読出部からの返却ポインタを使用可能ポインタと使用禁止ポインタとの何れかに振り分ける振り分け部とを有するものである。
【0011】
又本発明のバッファメモリ制御方法は、バッファメモリ1を複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ制御方法であって、ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として、使用可能ポインタをバッファメモリ1のメモリ領域にデータを書込む為に割り当て、バッファメモリ1のメモリ領域からデータを読出した時の該メモリ領域対応の返却ポインタを、ポインタ削減ポリシーに従って使用可能ポインタか又は使用禁止ポインタかに振り分ける過程を含むものである。
【0012】
【発明の実施の形態】
図1は本発明の実施の形態の説明図であり、パケット伝送システムに於ける例えばルータに適用した場合を示し、1はSRAM(Static RandomAccess Memory)等のバッファメモリ、2は空きポインタ管理部、3はバッファメモリ管理部、4はQoSスケジューラ、5はQoS管理用コンテンツメモリ、6はバッファメモリにデータを書込む書込部に相当する分割/書込部、7はバッファメモリ1からデータを読出す読出部に相当する読出/組立部を示す。
【0013】
バッファメモリ1は、256ビット等の所定長のデータを書込むメモリ領域に分割し、各メモリ領域をそれぞれアドレスに対応するポインタにより管理し、又各メモリ領域対応又は複数のメモリ領域をブロックとした各ブロック対応に動作電力の供給,停止を可能とする構成を有するものである。
【0014】
又空きポインタ管理部2は、バッファメモリ1にデータを書込む時の空きメモリ領域を示すポインタを管理し、且つこのポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つその属性を相互に変更可能に制御する手段と、バッファメモリ1の使用禁止に設定したメモリ領域又は不良メモリ領域に対する動作電力の供給停止を制御する手段と、メモリダンプやキャプチャ機能を効率化する手段とを含むものである。又バッファメモリ管理部3は、バッファメモリ1のメモリ領域を管理し、QoSスケジューラ4に於けるパケットの優先制御や帯域制御等に従って、メモリ領域の使用可能/使用禁止の制御と、バッファメモリ1からデータを読出したメモリ領域のポインタの属性の制御を含む機能を有するものである。
【0015】
又分割/書込部6は、入力パケットを、バッファメモリ1のメモリ領域の大きさに従ったデータ長に分割し、そのデータを、空きポインタ管理部2から割り当てられたポインタに従ったバッファメモリ1のメモリ領域に書込む制御を行い、その時のポインタをQoSスケジューラ4に転送し、又パケットのヘッダ情報としてのQoS管理のパラメータをQoS管理用コンテンツメモリ5に転送して書込む制御を行う。
【0016】
又読出/組立部7は、QoSスケジューラ4からのスケジューリング結果によるデキューポインタを基に、バッファメモリ1からデータを読出してパケットに組立てて出力パケットとし、又データを読出したメモリ領域を示すポインタをバッファメモリ管理部3へ返却ポインタとして転送する。
【0017】
バッファメモリ1の各メモリ領域を指定するポインタに対して、使用可能と使用禁止との属性に分類し、空きポインタ管理部2から分割/書込部6に転送するポインタは、使用可能ポインタの中から選択する。従って、使用禁止ポインタ数を増加すれば、バッファメモリ1に対するデータの書込みを行うメモリ領域が少なくなる。そして、使用禁止ポインタ対応のメモリ領域に対しては、動作電力の供給を中止して、低消費電力化を図ることかできる。
【0018】
図2はデータの書込み及び読出しの動作説明図であり、バッファメモリ1は、ポインタ0〜n−1によって指定するn個のメモリ領域に分割し場合を示し、分割/書込部6により入力パケットを分割し、空きポインタ管理部2から使用可能ポインタd,b,a,c,eを順次割り当てることにより、分割/書込部6に於いて分割したデータを、それぞれポインタd,b,a,c,eによるメモリ領域に書込むことができる。又読出/組立部7に、QoSスケジューラ4(図1参照)からの指示により、バッファメモリ1のポインタc,e,d,b,aの順序で読出しを行い、読出しが終わる毎に、空きポインタ管理部2に返却ポインタとして転送する。この場合、ポインタd,b,aに書込まれたデータからなる入力パケットと、ポインタc,eに書込まれたデータからなる入力パケットとの順序を反転した出力パケットとした場合を示す。
【0019】
図3は本発明の実施の形態の空きポインタ管理部の説明図であり、10は上位システム、11は残ポインタ数監視部、12は使用禁止ポインタ管理部、13はポインタ生成部、14は廃棄したポインタを格納するゴミ箱、15は使用可能ポインタリスト部、15は振り分け部、16は使用可能ポインタリスト部、21は使用可能ポインタリスト#0〜#n、22は優先度選択部、23は使用可能ポインタ振り分け部、24は使用禁止ポインタ抽出部、25はポインタ削減方式設定部、26はポインタ削減要求処理部、27は電源管理部を示す。
【0020】
使用可能ポインタリスト部16の使用可能ポインタリスト#0〜#nは、振り分け部15の使用可能ポインタ振り分け部23により振り分けられた使用可能ポインタを保存し、優先度選択部22により、分割/書込部6に対してポインタ割り当てを行う。
【0021】
又使用可能ポインタ振り分け部23は、例えば、使用可能ポインタリストが8個の場合、使用可能ポインタのポインタ値の下位3ビットを用いて8個のグループに振り分けることができる。即ち、下位3ビットが000であると、使用可能ポインタリスト#0に、又001であると、使用可能ポインタリスト#1に、又同様にして111であると、使用可能ポインタリスト#7にそれぞれ振り分けることができる。
【0022】
又使用可能ポインタに優先度を表すパラメータを設定可能とし、使用可能ポインタリスト#0〜#nに対しても優先度を与えて、図示のように、使用可能ポインタリスト#0側の優先度を高く、反対に使用可能ポインタリスト#n側の優先度を低くし、使用可能ポインタ振り分け部23に於いては、使用可能ポインタの優先度に応じて振り分けることができる。この場合、優先度選択部22は、優先度の高い使用可能ポインタリストに格納された使用可能ポインタを優先的に分割/書込部6に対する割り当てポインタとして送出する。
【0023】
又優先度は高低の2種類とすることも可能であり、その場合は、2個の使用可能ポインタリスト#0,#1を設けることになる。又優先度が必要でない場合は、1個の使用可能ポインタリストを設け、優先度選択部22及び使用可能ポインタ振り分け部23を省略した構成とすることができる。又使用可能ポインタ振り分け部23に於いて、前述のポインタ値に従って振り分けることにより優先度を固定的に付与することも可能である。又返却ポインタの優先度を順次低くして使用可能ポインタの優先度に再設定し、最低の優先度の返却ポインタに対しては、最高の優先度の使用可能ポインタとして振り分けを行うことも可能である。
【0024】
又優先度選択部22は、優先度の高い使用可能ポインタリストに使用可能ポインタが保存されていれば、それを優先して選択し、分割/書込部6(図1参照)に対して、バッファメモリ1に書込む為のポインタとして割り当てる。従って、優先度の高いパケットデータを、バッファメモリ1の優先度の高いメモリ領域に書込むことにより、そのパケットデータを優先度に従って先に読出して、入力パケットの順序の変更等を行い、優先度の高いパケットを優先して送出することができる。この場合の読出しは、例えば、QoSスケジューラ4によるスケジューリング結果に基づいた制御により行うことができる。
【0025】
又上位システム10のポインタ削減要求処理部26から、ポインタ削減要求がポインタ削減方式設定部25と使用禁止ポインタ管理部12とに転送されると、ポインタ削減方式設定部25は、振り分け部15の使用禁止ポインタ部24にポインタ削減量を指示する。使用禁止ポインタ部24は、バッファメモリ1からデータを読出したポインタを読出/組立部7(図1参照)からの返却ポインタとして受取り、ポインタ削減要求に従って返却ポインタをゴミ箱14に廃棄し、廃棄したポインタを使用禁止ポインタ管理部12に通知する。又ゴミ箱14には、使用可能ポインタリスト単位で廃棄したポインタを保存することができる。又バッファメモリ1に不良メモリ領域が発生した場合、その不良メモリ領域に対するポインタを使用禁止ポインタに変更するように、使用禁止ポインタ抽出部24に通知することができる。
【0026】
又使用禁止ポインタ管理部12は、ゴミ箱14を参照して廃棄ポインタ情報を取得し、電源管理部27にその廃棄ポインタ情報を転送することにより、電源管理部27は、使用禁止ポインタ対応のメモリ領域或いは複数の使用禁止ポインタによる連続したブロックに対して動作電力の供給を停止し、消費電力の削減を図ることができる。
【0027】
又使用禁止ポインタ管理部12は、パケットの伝送量の増加等により、上位システム10からの指示によって使用可能ポインタを増加する場合、ゴミ箱14を参照して廃棄ポインタ情報を取得し、使用禁止ポインタの中から使用可能ポインタに復活させるポインタをポインタ生成部13に指示し、復活させたポインタの優先度に従って使用可能ポインタリストに追加する。従って、データ伝送帯域の増減に伴うバッファメモリの使用領域の増減の要求時、又はメモリダンプやキャプチャ等の要求時、不良メモリ領域発生時等に於いて、バッファメモリ1の使用可能のメモリ領域を増減を、使用可能ポインタと使用禁止ポインタとの設定により動的に変更することができる。
【0028】
図4は振り分け部の説明図であり、図1及び図3と同一符号は同一部分を示し、振り分け部15は、使用可能ポインタ振り分け部23と、使用禁止ポインタ抽出部24とを有し、使用禁止ポインタ抽出部24は、セレクタ31と結果処理部32と使用禁止化ポリシー33とを含み、使用禁止化ポリシー33は、#0〜#nの複数とした場合を示す。そして、読出/組立部7(図1参照)からの返却ポインタに対して、使用禁止対象ポインタか否かを判定し、使用禁止対象ポインタは、使用禁止ポインタ管理部12に転送し、使用禁止対象ポインタでない場合は、使用可能ポインタ振り分け部23に転送する。
【0029】
又使用禁止ポインタ抽出部24は、上位システム10(図1参照)からのポインタ削減ポリシーの設定に従って、セレクタ31に加えられた返却ポインタを、単一又は複数種類の使用禁止化ポリシー33に対して振り分け、その使用禁止化ポリシー33に従って結果処理部32により使用可能ポインタか使用禁止ポインタかに振り分ける。使用禁止化ポリシーとしては、返却ポインタに対して、例えば、設定ポインタ値以下のポインタ値を使用禁止ポインタに変更するポリシーや、或る範囲内のポインタ値のポインタについて使用禁止ポインタに変更するポリシー等とすることができる。そして、結果処理部32による使用禁止ポインタは、使用禁止ポインタ管理部12に転送し、使用可能ポインタは、使用可能ポインタ振り分け部23に転送する。
【0030】
使用可能ポインタ振り分け部23は、使用可能ポインタをポインタ値に従って振り分ける場合を示し、前述のように、例えば、0〜n−1のポインタ値のポインタを使用可能ポインタリスト#0に振り分け、n〜2n−1のポインタ値のポインタを使用可能ポインタリスト#1に振り分け、同様にして、7n〜8n−1のポインタ値のポインタを使用可能ポインタリスト#7に振り分ける。この場合、8個の使用可能ポインタリストを有し、総ポインタ数は8n個となる。なお、ポインタの優先度のパラメータを設定した場合は、使用可能ポインタ振り分け部23に於いて、優先度に従った使用可能ポインタリスト21に振り分けることになる。
【0031】
図5は、本発明の実施の形態の返却ポインタ処理フローチャートを示し、図3を参照して説明する。出力パケットの送出によって生じた返却ポインタ45に対して、上位システム10からのポインタ使用制限41を行うか否かに従って、ポインタ使用制限の有無の判定46を行い、使用制限有りの場合は、上位システム10からのポインタ削減方式の設定42に従って、返却ポインタ値が使用禁止化対象か否かの判定47を行い、使用禁止化対象の場合は、返却ポインタをゴミ箱14に廃棄48、使用禁止ポインタ管理部50(図3に於ける使用禁止ポインタ管理部12に対応)に廃棄したポインタ情報を通知する。
【0032】
又ポインタ使用制限無しの場合、又は返却ポインタ値が使用禁止化対象でない場合、使用可能ポインタリストを複数有する場合に於いては、使用可能ポインタリストの選択49を行う。そして、使用可能ポインタリスト21に追加52を行う。又上位システム10からのポインタ使用制限解除43により、ポインタ生成部51(図3のポインタ生成部13に対応)から復活ポインタ情報を使用禁止ポインタ管理部50に通知し、又使用可能ポインタリスト21の選択49を介して使用可能ポインタリストに追加52を行う。
【0033】
又上位システム10からのポインタ使用制限44に従ったポインタ使用制限の有無の判定53を行い、使用可能ポインタリスト21に対してポインタ使用制限有りの場合は、使用可能ポインタをゴミ箱14に廃棄54を行い、使用禁止ポインタ管理部50に廃棄したポインタ情報を通知する。又ポインタ使用制限無しの場合は、入力パケットに対してポインタ割り当て55を行う。
【0034】
従って、ポインタの使用制限又は使用制限解除に従って、バッファメモリ1に於ける使用可能のメモリ領域を制御し、メモリダンプ時やキャプチャ時に於けるデータ格納のメモリ領域を制限することができるから、処理時間の短縮化を図ることができる。又電源管理部27による動作電力の選択供給により低消費電力化を図ることができる。
【0035】
図6は、本発明の実施の形態の使用禁止ポインタ管理部の機能説明図であり、(A)はポインタの属性表示ビット、(B)はポインタの状態遷移を示す。同図の(A)に於いて、ポインタの属性表示ビットを、可能(0)と禁止(1)とを示す可能/禁止ビットと、変更処理中(1)と変更処理中無し(0)との変更処理中ビットと、プロテクトのオフOFF(0)とオンON(1)とのプロテクトビットとの3ビット構成とした場合を示し、n個のポインタ0〜n−1対応に付加する。このプロテクトビットをオン(1)とした時は、使用可能ポインタと使用禁止ポインタとの相互の変更を禁止し、オフ(0)とした時は、その変更を可能とするものである。
【0036】
又図6の(B)に於いて、使用可能ポインタ(000)の状態の時に、変更を禁止するプロテクト追加を行うと、絶対使用可能(100)の状態に遷移し、又このプロテクトを解除するトランジスタ、使用可能ポインタ(000)の状態に遷移する。この状態から、廃棄要求を行うと、ポインタ削減処理中(011)を介して使用禁止ポインタ(001)の状態に遷移する。
【0037】
この状態の時に、プロテクト追加を行うと、絶対使用禁止(101)の状態に遷移し、又プロテクト解除を行うと、使用禁止ポインタ(001)の状態に遷移する。この状態から、ポインタ復活要求を行うと、ポインタ復活処理中(010)を介して使用可能ポインタ(000)の状態に遷移する。又属性表示ビットとして、ポインタの優先度を表示するビットを付加することも可能である。
【0038】
図7は使用禁止ポインタ設定によるメモリ空間の説明図であり、PTは4n個のメモリ領域に対するポインタを示し、ポインタ0〜4n−1対応のメモリ領域にデータを格納するものであり、(A)に於いては、ポインタ0,2〜n−1,n+1,2n−1のメモリ領域が斜線を施して示すように使用中領域であり、他のポインタのメモリ領域は空白として示すように空き領域となっており、空き領域対応のポインタ21(図3参照)は使用可能ポインタリストに存在しているものとする。
【0039】
そして、時間の経過により、図7の(B)に示すように、ポインタ0〜n−1,n+1,2n−1のメモリ領域が使用中の状態となった時に、使用可能ポインタリスト21には、ポインタn,n+2〜n−2,2n〜4n−1が残っており、これらのポインタを、ポインタ削減ポリシーに従って総て使用禁止ポインタに変更することができる。その変更による使用禁止ポインタに対応するメモリ領域は、使用中のメモリ領域と異なる斜線を施して示す領域となる。
【0040】
そして、時間の経過により、図7の(C)に示す状態、即ち、ポインタ0〜n−1のメモリ領域が使用中の状態となると、使用可能ポインタリストに、ポインタn,2n−1が存在することになるが、これを含めて使用禁止ポインタに変更すると、ポインタn〜4n−1が総て使用禁止ポインタとなり、それに対応するメモリ領域は、使用中のメモリ領域と異なる斜線を施して示す領域となる。
【0041】
この状態に於いては、例えば、ポインタn〜2n−1,2n〜3n−1,3n〜4n−1の3ブロックに対して、動作電力の供給を停止することにより、バッファメモリ1の全メモリ領域に動作電力を供給する場合に比較して、消費電力を1/4とすることができる。又帯域制限等のポインタ削減ポリシーに従って、ポインタ0〜n−1以外のポインタを使用禁止ポインタに変更することにより、前述のように、バッファメモリ1の1ブロック分のメモリ領域を用いてデータの書込み及び読出しを行う状態となる。このように、使用可能ポインタリストに残存させるポインタ数又はポインタ値の範囲をポインタ削減ポリシーにより設定し、この設定内容と異なる返却ポインタを使用禁止ポインタに振り分ける構成とするとも可能である。
【0042】
又ポインタリストに優先度を設定することにより、低消費電力化への移行を効率良く実行することができる。例えば、優先度を、ポインタ0〜n−1>n〜2n−1>2n〜3n−1>3n〜4n−1の関係で優先度を設定することにより、例えば、1/4程度の帯域使用中に於いては、ポインタ0〜n−1のメモリ領域を繰り返し優先的に使用されることになり、従って、ポインタn〜4n−1のメモリ領域は比較的早く未使用状態となる。
【0043】
この状態に於いて、ポインタリストに対して使用禁止化を行うことにより、低優先度のポインタ程、早く使用禁止ポインタへ変更可能となる。従って、その使用禁止ポインタのメモリ領域に対する動作電力の供給を停止して、低消費電力化へ短時間で移行することができる。なお、ポインタリストに優先度を設定しない場合は、全メモリ領域が満遍なく使用されるから、例えば、1/4程度の帯域使用状態となった時、低消費電力化へ移行しようとしても、全メモリ領域について、各ブロックの約1/4のメモリ領域が使用されている為、例えば、図7の(C)の状態になってから低消費電力化へ移行することができ、それまでに要する時間が比較的長くなる。
【0044】
図8は、空きメモリ領域のポインタを、ポインタ値の最大値から降順に連続して使用禁止ポインタに変更し、全体の1/4を使用可能ポインタとする場合のメモリ空間の説明図であり、図7に示す場合と相違して、最大ポインタ値のポインタが空きポインタを示す時に、降順に空きポインタをソートして使用禁止ポインタに変更する。即ち、図8の(A)に示す状態は、ポインタ2,n−1,n+1,2n−1,2n+2,3n−2,4n−1のメモリ領域が斜線を施して示すように使用中であり、且つ最大ポインタ値が4n−1であり、このメモリ領域は使用中の状態である。
【0045】
そして、時間の経過により、図8の(B)に示す状態となると、最大ポインタ値のポインタ4n−1が空きポインタとなり、この最大ポインタ値のポインタ4n−1から点線矢印で示すように降順にソートする。この場合、ポインタ3n+3まで空きポインタであることにより、使用中のメモリ領域と異なる斜線で示すメモリ領域を使用禁止とする。即ち、ポインタ4n−1〜3n+3を使用禁止ポインタに変更する。
【0046】
そして、時間の経過により、図8の(C)に示す状態となると、最大ポインタ値のポインタ4n−1からポインタ2n−1までのポインタを使用禁止ポインタとする。次に、図8の(D)に示す状態となると、最大ポインタ値のポインタ4n−1からポインタnまでのポインタを使用禁止ポインタとし、ポインタ0〜n−1を使用可能ポインタとし、全体の1/4のメモリ領域を用いてバッファリングを行う構成とし、使用禁止ポインタに対応するメモリ領域に対する動作電力の供給を停止して、低消費電力化を図ることができる。この場合、メモリ領域をブロック化して、ブロック単位で動作電力の供給,停止を制御することが容易となる。なお、ポインタ値が最小の空きポインタから昇順にソートして、順次使用禁止ポインタに変更することも可能である。
【0047】
本発明は、前述の各実施の形態のみに限定されるものではなく、各種のシステムに於けるバッファメモリの制御に対して適用可能である。又バッファメモリ1の周辺の機能部は、プロセッサによる処理機能やメモリ等により実現することも可能である。又入力されるデータがバッファメモリ1の各メモリ領域に対応した長さの場合は、分割/書込部6と読出/組立部7とは、それぞれ書込部と読出部とすることができる。
【0048】
(付記1)バッファメモリを複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ装置に於いて、前記ポインタにより指定したメモリ領域にデータの書込みを行う書込部と、前記ポインタにより指定したメモリ領域からデータを読出す読出部と、前記ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として管理すると共に、前記使用可能ポインタの中の空きポインタを選択して前記データを書込む為のポインタとして前記書込部に入力する空きポインタ管理部ととを備えたことを特徴とするバッファメモリ装置。
【0049】
(付記2)前記空きポインタ管理部は、前記使用可能ポインタを保持して前記バッファメモリのメモリ領域にデータを書込む前記書込部にポインタを割り当てる使用可能ポインタリスト部と、前記使用禁止ポインタを管理する使用禁止ポインタ管理部と、前記読出部からの返却ポインタを使用可能ポインタと使用禁止ポインタとの何れかに振り分ける振り分け部とを有することを特徴とする付記1記載のバッファメモリ装置。
(付記3)前記空きポインタ管理部の前記使用可能ポインタリスト部は、優先度に従って振り分けたポインタをそれぞれ保持する複数の使用可能ポインタリストと、優先度に従って使用可能ポインタリストから順に前記書込部に対するポインタを割り当てる優先度選択部とを含む構成を有することを特徴とする付記1又は2記載のバッファメモリ装置。
(付記4)前記空きポインタ管理部の前記使用可能ポインタリスト部は、ポインタ値に従って振り分けたポインタをそれぞれ保持する複数の使用可能ポインタリストと、該複数の使用可能ポインタリストから前記書込部に対するポインタを割り当てる優先度選択部とを含む構成を有することを特徴とする付記1又は2記載のバッファメモリ装置。
【0050】
(付記5)前記空きポインタ管理部の前記振り分け部は、返却ポインタを使用可能ポインタと使用禁止ポインタとに振り分ける使用禁止ポインタ抽出部と、使用可能ポインタを前記使用可能ポインタリスト部の使用可能ポインタリストとして振り分ける使用可能ポインタ振り分け部とを含む構成を有することを特徴とする付記1又は2又は3記載のバッファメモリ装置。
(付記6)前記使用禁止ポインタ抽出部は、前記返却ポインタをポインタ削減ポリシーに従って複数の使用禁止化ポリシーに振り分け、該使用禁止化ポリシーに従って使用可能ポインタを前記使用可能ポインタ振り分け部に転送し、使用禁止ポインタを使用禁止ポインタ管理部に通知する構成を有することを特徴とする付記1乃至5の何れか1に記載のバッファメモリ装置。
(付記7)前記バッファメモリの前記使用禁止ポインタによるメモリ領域又は複数のメモリ領域をブロックとして、メモリ領域単位又はブロック単位で動作電力の供給を停止する制御手段を備えたことを特徴とする付記1記載のバッファメモリ装置。
【0051】
(付記8)バッファメモリを複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ制御方法に於いて、前記ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として、前記使用可能ポインタを前記バッファメモリのメモリ領域にデータを書込む為に割り当て、前記バッファメモリのメモリ領域からデータを読出した時の該メモリ領域対応の返却ポインタを、ポインタ削減ポリシーに従って前記使用可能ポインタか又は使用禁止ポインタかに振り分ける過程を含むことを特徴とするバッファメモリ制御方法。
【0052】
(付記9)前記使用禁止ポインタに対応する前記バッファメモリのメモリ領域単位又は複数のメモリ領域をブロックとしたブロック単位に、動作電力の供給を停止する過程を含むことを特徴とする付記8記載のバッファメモリ制御方法。
(付記10)前記返却ポインタを、ポインタ削減ポリシーに従って使用可能ポインタと使用禁止ポインタとに振り分け、使用可能ポインタ又は使用禁止ポインタの中から復活させたポインタを使用可能ポインタリストに保持し、該使用可能ポインタリストに保持した使用可能ポインタを、前記バッファメモリにデータを書込むメモリ領域の指定の為に割り当てる過程を含むことを特徴とする付記8記載のバッファメモリ制御方法。
【0053】
【発明の効果】
以上説明したように、本発明は、バッファメモリを複数のメモリ領域とし、各メモリ領域をポインタにより指定してデータの書込み及び読出しを行い、そのポインタを、QoS制御,メモリダンプ機能,キャプチャ機能,低消費電力化等に従って、使用可能ポインタと使用禁止ポインタとに振り分け、使用可能ポインタに対応するメモリ領域にデータを書込むので、使用禁止ポインタに対応するメモリ領域はデータ書込みを行わないから、伝送帯域等に対応したメモリ領域のみを使用可能に制御し、且つ使用禁止ポインタに対応するメモリ領域に対して動作電力の供給を停止して、低消費電力化を図ることができる。又メモリダンプやキャプチャ処理に於いては、バッファメモリの使用領域を、使用可能ポインタと使用禁止ポインタとによって決定し、使用メモリ領域を制限することにより、処理の効率化を図ることができる。又バッファメモリの不良メモリ領域が発生した場合、その不良メモリ領域のポインタを使用禁止ポインタに変更し、正常なメモリ領域を用いたデータのバッファリングを行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態の説明図である。
【図2】データの書込み及び読出しの動作説明図である。
【図3】本発明の実施の形態の空きポインタ管理部の説明図である。
【図4】振り分け部の説明図である。
【図5】本発明の実施の形態の返却ポインタ処理フローチャートである。
【図6】本発明の実施の形態の使用禁止ポインタ管理部の機能説明図である。
【図7】使用禁止ポインタ設定によるメモリ空間の説明図である。
【図8】使用禁止ポインタ設定によるメモリ空間の説明図である。
【符号の説明】
1 バッファメモリ
2 空きポインタ管理部
3 バッファメモリ管理部
4 QoSスケジューラ
5 QoS管理用コンテンツメモリ
6 分割/書込部
7 読出/組立部
Claims (3)
- バッファメモリを複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ装置に於いて、
前記ポインタにより指定したメモリ領域にデータの書込みを行う書込部と、
前記ポインタにより指定したメモリ領域からデータを読出す読出部と、
前記ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として管理すると共に、前記使用可能ポインタの中の空きポインタを選択して前記データを書込む為のポインタとして前記書込部に入力する空きポインタ管理部と
を備えたことを特徴とするバッファメモリ装置。 - 前記空きポインタ管理部は、前記使用可能ポインタを保持して前記バッファメモリのメモリ領域にデータを書込む前記書込部にポインタを割り当てる使用可能ポインタリスト部と、前記使用禁止ポインタを管理する使用禁止ポインタ管理部と、前記読出部からの返却ポインタを使用可能ポインタと使用禁止ポインタとの何れかに振り分ける振り分け部とを有することを特徴とする請求項1記載のバッファメモリ装置。
- バッファメモリを複数のメモリ領域に分割し、ポインタにより指定したメモリ領域にデータの書込み及び読出しを行うバッファメモリ制御方法に於いて、
前記ポインタを使用可能ポインタと使用禁止ポインタとの属性に分類し、且つ該属性を相互に変更可能として、前記使用可能ポインタを前記バッファメモリのメモリ領域にデータを書込む為に割り当て、前記バッファメモリのメモリ領域からデータを読出した時の該メモリ領域対応の返却ポインタを、ポインタ削減ポリシーに従って前記使用可能ポインタか又は使用禁止ポインタかに振り分ける過程を含む
ことを特徴とするバッファメモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029085A JP2004240711A (ja) | 2003-02-06 | 2003-02-06 | バッファメモリ装置及びバッファメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029085A JP2004240711A (ja) | 2003-02-06 | 2003-02-06 | バッファメモリ装置及びバッファメモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004240711A true JP2004240711A (ja) | 2004-08-26 |
Family
ID=32956354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003029085A Withdrawn JP2004240711A (ja) | 2003-02-06 | 2003-02-06 | バッファメモリ装置及びバッファメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004240711A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011061443A (ja) * | 2009-09-09 | 2011-03-24 | Alaxala Networks Corp | ネットワーク中継装置及びメモリ制御方法 |
JP2011259078A (ja) * | 2010-06-07 | 2011-12-22 | Mitsubishi Electric Corp | バッファ制御装置およびバッファ制御方法 |
JP2013109813A (ja) * | 2011-11-24 | 2013-06-06 | Renesas Electronics Corp | 半導体装置 |
JP2015011553A (ja) * | 2013-06-28 | 2015-01-19 | 富士通株式会社 | データ収集装置及びデータ収集プログラム |
CN109478171A (zh) * | 2016-05-31 | 2019-03-15 | 华睿泰科技有限责任公司 | 提高openfabrics环境中的吞吐量 |
JP2021019291A (ja) * | 2019-07-19 | 2021-02-15 | 株式会社リコー | シリアル通信装置、通信制御方法、及びプログラム |
-
2003
- 2003-02-06 JP JP2003029085A patent/JP2004240711A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011061443A (ja) * | 2009-09-09 | 2011-03-24 | Alaxala Networks Corp | ネットワーク中継装置及びメモリ制御方法 |
US8812754B2 (en) | 2009-09-09 | 2014-08-19 | Alaxala Networks Corporation | Network relay device and memory control method |
JP2011259078A (ja) * | 2010-06-07 | 2011-12-22 | Mitsubishi Electric Corp | バッファ制御装置およびバッファ制御方法 |
JP2013109813A (ja) * | 2011-11-24 | 2013-06-06 | Renesas Electronics Corp | 半導体装置 |
JP2015011553A (ja) * | 2013-06-28 | 2015-01-19 | 富士通株式会社 | データ収集装置及びデータ収集プログラム |
CN109478171A (zh) * | 2016-05-31 | 2019-03-15 | 华睿泰科技有限责任公司 | 提高openfabrics环境中的吞吐量 |
JP2019517692A (ja) * | 2016-05-31 | 2019-06-24 | ベリタス テクノロジーズ エルエルシー | OpenFabricsにおけるスループットの改善 |
CN109478171B (zh) * | 2016-05-31 | 2022-11-15 | 华睿泰科技有限责任公司 | 提高openfabrics环境中的吞吐量 |
JP2021019291A (ja) * | 2019-07-19 | 2021-02-15 | 株式会社リコー | シリアル通信装置、通信制御方法、及びプログラム |
JP7334519B2 (ja) | 2019-07-19 | 2023-08-29 | 株式会社リコー | シリアル通信装置、通信制御方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8155134B2 (en) | System-on-chip communication manager | |
US7372857B1 (en) | Methods and apparatus for scheduling tasks | |
US8918595B2 (en) | Enforcing system intentions during memory scheduling | |
US7522605B2 (en) | Data packet handling in computer or communication systems | |
KR100817676B1 (ko) | 동적 클래스-기반 패킷 스케쥴링 방법 및 장치 | |
KR102290540B1 (ko) | 네임스페이스/스트림 관리 | |
US11281572B2 (en) | Information processing apparatus and memory access method | |
CN102193874B (zh) | 用于管理存储器的缓存管理器和方法 | |
US8312243B2 (en) | Memory management in network processors | |
KR20170107886A (ko) | 다중 스트림 솔리드 스테이트 드라이브 서비스 품질 관리 | |
CN101499956B (zh) | 分级缓冲区管理系统及方法 | |
KR20130068685A (ko) | 하이브리드 주메모리 시스템 및 이를 위한 태스크 스케줄링 방법 | |
US11757801B1 (en) | Spatial dispersion buffer | |
US20030191895A1 (en) | Buffer controller and management method thereof | |
CN112799837A (zh) | 一种容器动态平衡调度方法 | |
JP2004240711A (ja) | バッファメモリ装置及びバッファメモリ制御方法 | |
JP2019046238A (ja) | メモリシステム | |
US8315187B1 (en) | Dynamic head of line allocation | |
CN103685062A (zh) | 缓存管理方法及装置 | |
EP2754050B1 (en) | A method and apparatus for storing data | |
CN112352216B (zh) | 数据存储方法及数据存储装置 | |
CN107766262B (zh) | 调节并发写命令数量的方法与装置 | |
US9965211B2 (en) | Dynamic packet buffers with consolidation of low utilized memory banks | |
JP3578953B2 (ja) | セルスケジューリング装置及びセルスケジューリング方法 | |
JPWO2010082604A1 (ja) | データ処理装置、メモリ管理方法およびメモリ管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060509 |