(57)【要約】  本発明はバッファ処理方法及び装置を提供する。該方法は、第一ユーザの第一データをバッファする必要がある時に、現在記憶初期アドレスを読み込むことと、現在記憶初期アドレスから第一データをバッファスペースに記憶し、前記第一データに占用されるバッファスペースは第一バッファスペースであることと、前記第一データを読み込む必要がある時に、前記初期アドレスとスペース長に応じて前記第一バッファスペースを位置決め、かつ前記第一バッファスペースから前記第一データを読み込むように、前記第一データに対応して、前記第一バッファスペースの初期アドレスとスペース長を含む記憶位置情報を保存することと、次のバッファする必要があるデータを、更新後の現在記憶初期アドレスからバッファするように、前記現在記憶初期アドレスを前記第一バッファスペースの次のアドレスに更新することとを含む。本発明はよりよくバッファスペースを利用して、読み込むために保存されるアドレス情報を減少させる。【選択図】図１
2016504665.tif 000002
【特許請求の範囲】
【請求項１】
バッファ処理方法であって、
第一ユーザの第一データをバッファする必要がある時に、現在記憶初期アドレスを読み込むことと、
前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶し、前記第一データに占用されたバッファスペースは第一バッファスペースであることと、
前記第一データを読み込む必要がある時に、前記初期アドレスとスペース長に応じて前記第一バッファスペースを位置決め、かつ前記第一バッファスペースから前記第一データを読み込むように、前記第一データに対応して、前記第一バッファスペースの初期アドレスとスペース長を含む記憶位置情報を保存することと、
次のバッファする必要があるデータを、更新後の現在記憶初期アドレスからバッファするように、前記現在記憶初期アドレスを前記第一バッファスペースの次のアドレスに更新することとを含む、前記バッファ処理方法。
【請求項２】
前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶した後、前記方法は、
前記第一データのアイドル状態を記憶し、前記アイドル状態に応じて、前記第一データが解放されたか否かを判断することをさらに含むことを特徴とする
請求項１に記載のバッファ処理方法。
【請求項３】
前記方法は、
閾値を設置し、前記閾値は一つの最大データを記憶することに必要なバッファスペースサイズであることと、
現在記憶初期アドレスの後の余剰バッファスペースがプリセット閾値より小さい時、プリセット方法に応じて前記バッファスペースのデータに対して整理を行って、整理した後に各データの初期アドレスを更新し、前記プリセット方法は、前記バッファスペースで最初に記憶された一つの無効データを選択して、選択された無効データの初期アドレスから、すべての有効データがいずれも前記バッファスペースを連続的に占用するまで、改めて前記選択された無効データの後の有効データを連続的に記憶し、前記無効データは解放されたデータであり、前記有効データは、解放されないデータであることと、
整理が完了した後に、前記現在記憶初期アドレスを、前記バッファスペースでの最後の一つの有効データの次のアドレスに更新することとをさらに含むことを特徴とする
請求項２に記載のバッファ処理方法。
【請求項４】
前記プリセット方法は、
前記バッファスペースで一つの最初に記憶された無効データを選択して、選択された無効データの記憶位置情報により、前記バッファスペースでの前記選択された無効データの初期アドレスを取得し、現在記憶初期アドレスを前記選択された無効データの初期アドレスに更新することと、
更新後の現在記憶初期アドレスから前記選択された無効データの後の第一有効データを記憶し、第一有効データの記憶位置情報を更新することと、
既にバッファされた各有効データがいずれも連続的に前記バッファスペースを占用できるまで、第一有効データの後の次の有効データを更新後の現在記憶初期アドレスから改めてバッファするように、前記現在記憶初期アドレスを前記第一有効データのあるバッファスペースの次のアドレスに更新することとを含むことを特徴とする
請求項３に記載のバッファ処理方法。
【請求項５】
前記方法は、
一つの有効データがロッキング過程で読み込まれることと整理されることを同時にできないように、読み込まれている又は整理されている有効データに対してロッキングを行うことをさらに含むことを特徴とする
請求項１〜４のいずれか１項に記載のバッファ処理方法。
【請求項６】
バッファ処理装置であって、
第一ユーザの第一データをバッファする必要がある時に、現在記憶初期アドレスを読み込むように構成される記憶初期アドレス読み込みモジュールと、
前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶し、前記第一データに占用されたバッファスペースは第一バッファスペースであるように構成されるバッファモジュールと、
前記第一データを読み込む必要がある時に、前記初期アドレスとスペース長に応じて前記第一バッファスペースを位置決め、かつ前記第一バッファスペースから前記第一データを読み込むように、前記第一データに対応して、前記第一バッファスペースの初期アドレスとスペース長を含む記憶位置情報を保存するように構成される記憶データ管理モジュールと、
次のバッファする必要があるデータを、更新後の現在記憶初期アドレスからバッファするように、前記現在記憶初期アドレスを前記第一バッファスペースの次のアドレスに更新するように構成される記憶初期アドレス更新モジュールとを含む、前記バッファ処理装置。
【請求項７】
前記記憶データ管理モジュールは、前記第一データアイドル状態を記憶し、かつ前記アイドル状態に応じて、前記第一データが解放されたか否かを判断するようにさらに構成されることを特徴とする
請求項６に記載のバッファ処理装置。
【請求項８】
前記装置は、
閾値を設置し、前記閾値は一つの最大データを記憶することに必要なバッファスペースのサイズであり、現在記憶初期アドレスの後の余剰バッファスペースがプリセット閾値より小さい時、プリセット方法に応じて前記バッファスペースのデータに対して整理を行って、整理した後に各データの初期アドレスを更新し、前記プリセット方法は、前記バッファスペースで一つの最初に記憶された無効データを選択して、選択された無効データの初期アドレスから、すべての有効データがいずれも前記バッファスペースを連続的に占用するまで、前記選択された無効データの後の有効データに対して改めて連続的に記憶し、前記無効データは解放されたデータであり、前記有効データは解放されないデータであり、整理が完了した後に、前記現在記憶初期アドレスを前記バッファスペースでの最後の一つの有効データの次のアドレスに更新するように構成される整理モジュールをさらに含むことを特徴とする
請求項７に記載のバッファ処理装置。
【請求項９】
前記装置は、
一つの有効データがロッキング過程で読み込まれることと整理されることを同時にできないように、読み込まれている又は整理されている有効データに対してロッキングを行うように構成されるロッキングモジュールをさらに含むことを特徴とする
請求項６、７及び８のいずれか１項に記載のバッファ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークメモリ分野に関し、特にバッファ処理方法及び装置に関する。
【背景技術】
【０００２】
システム・オン・チップ（ＳｏＣ、Ｓｙｓｔｅｍ ｏｎ Ｃｈｉｐ）技術は中央処理装置/マイクロプロセッサ（ＣＰＵ/ＭＰＵ、Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ/Ｍｉｃｒｏ Ｐｒｏｃｅｓｓ Ｕｎｉｔ）、デジタルシグナルプロセッサ（ＤＳＰ、Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｏｒ）、ハードウェアアクセラレータ、メモリ、周辺インターフェースなどの各サブシステムを、バスに介して相互に接続し一つのチップに統合される。これらのサブシステムは、その内部データ処理に必要なローカル専用メモリ/バッファ以外に、よく様々な原因で集中されるメモリ/バッファを共有する必要があり、例えば、各サブシステムの相互の間でデータ交換バッファが必要であり、そして、マルチユーザサービスを処理するためにメモリを共有する必要がある。
【０００３】
これらのマルチソース/マルチユーザより共有される集中バッファは物理的に一つ又は複数のメモリユニットでよく、例えば、一つのスタティックメモリ（ＳＲＡＭ、Ｓｔａｔｉｃ Ｒａｎｄｏｍ-Ａｃｃｅｓｓ Ｍｅｍｏｒｙ、）又は一つのダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ、Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ-Ａｃｃｅｓｓ Ｍｅｍｏｒｙ、）又は複数の任意な組み合わせでもよいが、論理上で一つの共有バッファとみなすことができる。以下に説明された共有バッファはいずれも論理上で一つの共有バッファに基づいて説明し、実際に物理上での実現は一つ又は複数のメモリユニットの組み合わせでよい。
【０００４】
任意の共有リソースと同じように、マルチソース/マルチユーザが一つのバッファを共用する場合に、メモリリソースの割り当てと管理を考慮する必要がある。
【０００５】
現在のＳｏＣ設計におけるバッファ共有の使用方法は基本的に共有バッファをＮ個の同じサイズの「シート」に区画し、この「シート」のサイズは各ソース/各ユーザに必要な最小データを格納できることを基準にし、大きなデータはＭ個の「シート」を占用することになる。ここで、Ｍは整数であり、ＭはＮ以下である。
【０００６】
この方法の欠点は、各「シート」の利用状態及び記憶位置情報を記憶するために、非常に大きな記憶スペースが必要である。特にシステムに必要な最小データの長さが非常に小さい時に、各「シート」に対する記憶に用いられるスペースも小さくなり、大きなデータを記憶する時に、多くの「シート」を利用する必要がある。そのほかに、その方法を利用すれば、例えば、あるデータは整数の「シート」より少しだけ大きく、もう一つの「シート」を単独に用いて記憶を行う必要があるなど、共用バッファスペースが無駄になる。
【発明の概要】
【０００７】
本発明の実施例が解決しようとする課題は、よりよく計画管理を行い、且つバッファスペース利用を節約できるバッファ処理方法及び装置を提供することである。
【０００８】
前記課題を解決するために、本発明の実施例はバッファ処理方法を提供し、該方法は、
第一ユーザの第一データをバッファする必要がある時に、現在記憶初期アドレスを読み込むことと、
前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶し、前記第一データに占用されたバッファスペースは第一バッファスペースであることと、
前記第一データを読み込む必要がある時に、前記初期アドレスとスペース長に応じて前記第一バッファスペースを位置決め、かつ前記第一バッファスペースから前記第一データを読み込むように、前記第一データに対応して、前記第一バッファスペースの初期アドレスとスペース長を含む記憶位置情報を保存することと、
次のバッファする必要があるデータを、更新後の現在記憶初期アドレスからバッファするように、前記現在記憶初期アドレスを前記第一バッファスペースの次のアドレスに更新することとを含む。
【０００９】
好ましくは、前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶した後、前記方法は、
前記第一データアイドル状態を記憶し、前記アイドル状態に応じて、前記第一データが解放されたか否かを判断することをさらに含む。
【００１０】
好ましくは、前記方法は、
閾値を設置し、前記閾値は一つの最大データを記憶することに必要なバッファスペースサイズであることと、
現在記憶初期アドレスの後の余剰バッファスペースがプリセット閾値より小さい時、プリセット方法に応じて前記バッファスペースのデータに対して整理を行って、整理した後に各データの初期アドレスを更新し、前記プリセット方法は、前記バッファスペースで最初に記憶された一つの無効データを選択して、選択された無効データの初期アドレスから、すべての有効データがいずれも前記バッファスペースを連続的に占用するまで、改めて前記選択された無効データの後の有効データを連続的に記憶し、前記無効データは解放されたデータであり、前記有効データは、解放されないデータであることと、
整理が完了した後に、前記現在記憶初期アドレスを、前記バッファスペースでの最後の一つの有効データの次のアドレスに更新することをさらに含む。
【００１１】
好ましくは、前記プリセット方法は、具体的に、
前記バッファスペースで一つの最初に記憶された無効データを選択して、選択された無効データの記憶位置情報により、前記バッファスペースでの前記選択された無効データの初期アドレスを取得し、現在記憶初期アドレスを前記選択された無効データの初期アドレスに更新することと、
更新後の現在記憶初期アドレスから前記選択された無効データの後の第一有効データを記憶し、第一有効データの記憶位置情報を更新することと、
既にバッファされた各有効データがいずれも連続的に前記バッファスペースを占用できるまで、第一有効データの後の次の有効データを更新後の現在記憶初期アドレスから改めてバッファするように、前記現在記憶初期アドレスを前記第一有効データのあるバッファスペースの次のアドレスに更新することとを含む。
【００１２】
好ましくは、前記方法は、
一つの有効データがロッキング過程で読み込まれることと整理されることを同時にできないように、読み込まれている又は整理されている有効データに対してロッキングを行うことをさらに含む。
【００１３】
本発明の実施例は、バッファ処理装置をさらに提供し、該装置は、
第一ユーザの第一データをバッファする必要がある時に、現在記憶初期アドレスを読み込むように構成される記憶初期アドレス読み込みモジュールと、
前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶して、前記第一データに占用されたバッファスペースは第一バッファスペースであるように構成されるバッファモジュールと、
前記第一データを読み込む必要がある時に、前記初期アドレスとスペース長に応じて前記第一バッファスペースを位置決め、かつ前記第一バッファスペースから前記第一データを読み込むように、前記第一データに対応して、前記第一バッファスペースの初期アドレスとスペース長を含む記憶位置情報を保存するように構成される記憶データ管理モジュールと、
次のバッファする必要があるデータを、更新後の現在記憶初期アドレスからバッファするように、前記現在記憶初期アドレスを前記第一バッファスペースの次のアドレスに更新するように構成される記憶初期アドレス更新モジュールとを含む。
【００１４】
好ましくは、前記記憶データ管理モジュールは、前記第一データアイドル状態を記憶し、かつ前記アイドル状態に応じて、前記第一データが解放されたか否かを判断するようにさらに構成される。
【００１５】
好ましくは、前記装置は、
閾値を設置し、前記閾値は一つの最大データを記憶することに必要なバッファスペースのサイズであり、現在記憶初期アドレスの後の余剰バッファスペースがプリセット閾値より小さい時、プリセット方法に応じて前記バッファスペースのデータに対して整理を行って、整理した後に各データの初期アドレスを更新し、前記プリセット方法は、前記バッファスペースで一つの最初に記憶された無効データを選択して、選択された無効データの初期アドレスから、すべての有効データがいずれも前記バッファスペースを連続的に占用するまで、前記選択された無効データの後の有効データに対して改めて連続的に記憶し、前記無効データが解放されたデータであり、前記有効データは解放されないデータであり、整理が完了した後に、前記現在記憶初期アドレスを前記バッファスペースでの最後の一つの有効データの次のアドレスに更新するように構成される整理モジュールをさらに含む。
【００１６】
好ましくは、前記装置は、
一つの有効データがロッキング過程で読み込まれることと整理されることを同時にできないように、読み込まれている又は整理されている有効データに対してロッキングを行うように構成されるロッキングモジュールをさらに含む。
【００１７】
本発明の実施例に係る上記技術的解決手段の有益効果は、次のとおりである。
【００１８】
データをバッファスペースに連続的に記憶し、従来の技術でバッファスペースをいくつかの断片に分割することと比べて、バッファスペースをよりよく利用できる。さらに、従来の技術において、データの読み込みを実現するために、これらの断片のバッファアドレスを記録する必要があり、情報記憶量が極めて大きいが、本実施例のバッファスペースはデータを連続的に記憶するため、バッファスペースでの各データの初期アドレス及びスペース長のみ記録すると、読み込みを実現でき、その情報記憶量はパケット数により決定される。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施例一のバッファ処理方法の模式図である。
【図２】本発明の実施例一の具体的なバッファ処理方法のフローチャートである。
【図３】本発明の実施例一のバッファ処理方法に係るバッファスペースに対して整理を行うフローチャートである。
【図４】本発明の実施例二のバッファ処理装置の模式図である。
【発明を実施するための形態】
【００２０】
本発明が解決しようとする課題、技術的解決手段および利点をより明らかになるように、以下で添付の図面と具体実施例を参照して詳細に説明する。
【００２１】
実施例一
図１に示すように、バッファ処理方法であって、以下のステップを含む。
【００２２】
ステップ１において、第一ユーザの第一データをバッファする必要がある時に、現在記憶初期アドレスを読み込む。
【００２３】
ステップ２において、前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶し、前記第一データに占用されたバッファスペースは第一バッファスペースである。
【００２４】
ステップ３において、前記第一データを読み込む必要がある時に、前記初期アドレスとスペース長に応じて前記第一バッファスペースを位置決め、かつ前記第一バッファスペースから前記第一データを読み込むことができるように、前記第一データに対応して、前記第一バッファスペースの初期アドレスとスペース長を含む記憶位置情報を保存する。
【００２５】
ステップ４において、次のバッファする必要があるデータを、この記憶初期アドレスからバッファするように、このようにしてすでにバッファされた各データがいずれも連続的に前記バッファスペースを占用できるように、前記現在記憶初期アドレスを前記第一バッファスペースの次のアドレスに更新する。
【００２６】
本実施例の方法はデータをバッファスペースに連続的に記憶し、従来の技術でバッファスペースをいくつかの断片に分割することと比べて、バッファスペースをよりよく利用できる。さらに、従来の技術において、データの読み込みを実現するために、これらの断片のバッファアドレスを記録する必要があり、情報記憶量が極めて大きいが、本実施例のバッファスペースはデータを連続的に記憶するため、バッファスペースでの各データの初期アドレス及びスペース長のみ記録すると、読み込みを実現でき、その情報記憶量はパケット数により決定される。
【００２７】
以下で図１に示す方法を詳細に説明する。
【００２８】
図２に示すように、第一ユーザの第一データをバッファする必要がある時に、以下のステップを実行する。
【００２９】
ステップＳ２０１において、現在記憶初期アドレスｓｔ_ａｄｄ.１を読み込む。
【００３０】
ステップＳ２０２において、現在記憶初期アドレスｓｔ_ａｄｄ.１から、第一ユーザの第一データをバッファスペースに記憶し、第一データに占用されるバッファスペースは第一バッファスペースである。
【００３１】
ステップＳ２０３において、追加のバッファスペースに第一バッファスペースの初期アドレス（図２に示す「ｓｔ_ａｄｄ.１」）、スペース長（図２に示す「ｌｅｎ.１」）及び第一データのアイドル状態（図２に示す「Ｖ」、Ｖ=１はこのデータが解放されないことを表示し、Ｖ=０はデータが解放されたことを表示する）を保存し、第一データを読み込む必要がある時に、第一バッファスペースの初期アドレスｓｔ_ａｄｄ.１及びスペース長ｌｅｎ.１を検出するだけで、第一バッファスペースを位置決め、かつ第一データを読み込むことができるようにする。
【００３２】
前記第一データのアイドル状態に応じて、前記第一データが解放されたか否かを判断する。
【００３３】
記憶された各データがいずれもバッファスペースを連続的に占用できるように、ステップＳ２０３が完了した後に、ステップＳ２０４を実行し、前記現在記憶初期アドレスを第一バッファスペースの次のアドレスに更新する。
【００３４】
この時の記憶初期アドレスはｓｔ_ａｄｄ.２であり、続いてデータを記憶する必要がある時、例えば、第二データを記憶する必要がある時、以下のステップを実施できる。
【００３５】
ステップＳ２０５において、ｓｔ_ａｄｄ.２から、第二データをバッファスペースに記憶し、第二データに占用されるバッファスペースは第二バッファスペースである（図２に示すとおりである）。
【００３６】
説明すべきなのは、前記第二データは第一ユーザのバッファする必要があるデータに限らず、その他のユーザに属してもよい。
【００３７】
ステップＳ２０６において、追加のバッファスペースで第二バッファスペースの初期アドレス（図２に示す 「ｓｔ_ａｄｄ.２」）、スペース長（図２に示す「ｌｅｎ.２」）及び第二データのアイドル状態（図２に示す「Ｖ」）を保存する。
【００３８】
ステップＳ２０７において、前記現在記憶初期アドレスを第二バッファスペースの次のアドレスに更新する。
【００３９】
既にバッファされた各データがいずれもバッファスペースを連続的に占用できるように、かつ追加のバッファスペースで各データの初期アドレス、スペース長を記録するように、その後の他の記憶すべきデータはいずれも前記方法に応じてバッファスペースに保存すべきである。
【００４０】
バッファスペースは限られているので、あるデータを記憶する時に、記憶初期アドレスを記憶した後の余剰バッファスペースがさらに記憶を行うことに足りない可能性があり、一部バッファされたデータがすでに読み込まれて解放され、それに対応するバッファスペースもクリアされたので、バッファスペース全体に整理を行って、既にクリアされたバッファスペースを現在記憶初期アドレスの後の余剰バッファスペースに整合する必要がある。その方法は、次のとおりである。
【００４１】
閾値を設置し、前記閾値は一つの最大データを記憶できることに必要なバッファスペースサイズであること、および
現在記憶初期アドレスの後の余剰バッファスペースはプリセット閾値より小さいと、プリセット方法に応じて前記バッファスペースのデータに対して整理を行って、整理した後に各データの初期アドレスを更新し、前記プリセット方法は、前記バッファスペースで一つの最初に記憶された無効データを選択して、その初期アドレスで、すべての有効データはいずれも連続的に前記バッファスペースを占用するまで、このデータの後の有効データに対して改めて連続的に記憶し、前記無効データは解放されたデータであり、前記有効データは解放されないデータであることである。
【００４２】
以下、プリセット方法に対して詳細に説明する。
【００４３】
図３に示すように、バッファスペースに既に６個のデータが保存されており、追加のバッファスペースに記録されたアイドル状態に応じてデータ２とデータ５が無効データ（即ち、アイドル状態がＶ=０である）であり、いずれも解放されて、そのバッファスペースもクリアされることを知ることができる。データ１、３、４、６は有効データ（即ち、アイドル状態がＶ=１である）であり、バッファスペースで解放されない。
【００４４】
コマンドを受信してデータ７を記憶する時、一つの閾値をプリセットし、この閾値は一つの最大データを記憶することに必要なスペースサイズであり、余剰のバッファスペースがプリセット閾値より小さいと、現在の使用されないバッファスペースがデータ７を記憶できないことを表示し、バッファスペースに対して整理を行う必要があり、整理ステップは以下のようである。
【００４５】
ステップＳ１において、現在記憶初期アドレスをデータ２の初期アドレスに更新し、データ３をデータ２の初期アドレスから改めて記憶し（即ち、データ３に対応するバッファスペースを上へ一定の距離を移動させ、その距離はデータ２のスペース長と等しい）、そして追加のバッファスペースに記録されたデータ２の初期アドレスを更新する。
【００４６】
ステップＳ２において、現在記憶初期アドレスをバッファスペースでのデータ３の次のアドレスに更新し、この記憶初期アドレスに改めてデータ４を記憶し、追加のバッファスペースでのデータ４の初期アドレスを更新する。
【００４７】
ステップＳ３において、現在記憶初期アドレスをバッファスペースでのデータ４の次のアドレスに更新し、この記憶初期アドレスに改めてデータ６を記憶して、データ２とデータ５に対応するバッファスペースを現在記憶初期アドレスの後の余剰バッファスペースに整合するようにし、その後、追加のバッファスペースでのデータ６の初期アドレスを更新する。
【００４８】
ステップＳ４において、バッファスペースの整理が完成した後に、データ７を記憶する。説明すべきなのは、すべての有効データはいずれもバッファスペースを連続的に占用すべきである。
【００４９】
そのほかに、ターゲットデータに対して読み込みを行う必要がある時に、ターゲットデータが整理されていて、そのバッファスペースでの位置が変化して、読み込みがミスする可能性がある。この問題を解決するために、読み込まれている又は整理されている有効データに対してロッキングを行って、ロッキング過程で一つの有効データが同時に読み込まれると整理されていることをできないようにする。例えば、データ３が整理される際に、それをロッキングでき、整理が完了した後にロッキングを解除し、データ３がロッキングされる時、読み込みリクエストを受信できず、整理過程が読み込み過程を干渉することを回避する。
【００５０】
本実施例に係る方法の有益効果は次のとおりである。
【００５１】
１．各データをバッファスペースに連続的に記憶して、バッファスペースをよりよく利用し、リソースを節約できる。
【００５２】
２．バッファスペースに対して整理を行って、既にクリアされたバッファスペースを現在記憶初期アドレスの後の余剰バッファスペースに整合して、全部すべての有効データがいずれも前記バッファスペースを連続的に占用するように保持し、限られたバッファスペースでより多いデータを記憶して、リソースをさらに節約できる。
【００５３】
３．従来の技術において、バッファスペース全体をいくつかの断片に分割して、ある大きなデータは複数の断片で保存されるので、データの読み込みを実現するために、これらの断片のバッファアドレスを記録する必要があり、情報記憶量は極めて大きいが、本実施例はバッファスペースで連続的にデータを記憶するため、バッファスペースでの各有効データの初期アドレス及びスペース長のみ記録すると、読み込みを実現できる。
【００５４】
実施例二
図４に示すように、バッファ処理装置は、記憶初期アドレス読み込みモジュール４１、バッファモジュール４２、記憶データ管理モジュール４３および記憶初期アドレス更新モジュール４４を含む。
【００５５】
記憶初期アドレス読み込みモジュール４１は、第一ユーザの第一データをバッファする必要がある時に、現在記憶初期アドレスを読み込むように構成される。
【００５６】
バッファモジュール４２は、前記現在記憶初期アドレスから前記第一データをバッファスペースに記憶して、前記第一データに占用されたバッファスペースは第一バッファスペースであるように構成される。
【００５７】
記憶データ管理モジュール４３は、前記第一データを読み込む必要がある時に、前記初期アドレスとスペース長に応じて前記第一バッファスペースを位置決め、かつ前記第一バッファスペースから前記第一データを読み込むことができるように、前記第一データに対応して、前記第一バッファスペースの初期アドレスとスペース長を含む記憶位置情報を保存するように構成される。
【００５８】
記憶初期アドレス更新モジュール４４は、次のバッファする必要があるデータを、この記憶初期アドレスからバッファするように、すでにバッファされた各データがいずれも前記バッファスペースを連続的に占用できるように、前記現在記憶初期アドレスを前記第一バッファスペースの次のアドレスに更新するように構成される。
【００５９】
そのほかに、記憶データ管理モジュール４３は、さらに、前記第一データアイドル状態を記憶でき、かつ前記アイドル状態に応じて、前記第一データが解放されたか否かを判断できるように構成される。
【００６０】
バッファスペースは限られているので、あるデータを記憶する時に、記憶初期アドレスを記憶した後の余剰バッファスペースはさらに記憶を行うことに足りない可能性があり、一部バッファのデータがすでに読み込まれて解放され、それに対応するバッファスペースもクリアされたので、バッファスペース全体に整理を行う必要がある。
【００６１】
そのため、この装置は、整理モジュールをさらに含む。
【００６２】
整理モジュールは、閾値を設置し、前記閾値は一つの最大データを記憶することに必要なバッファスペースのサイズであり、現在記憶初期アドレスの後の余剰バッファスペースはプリセット閾値より小さい時、プリセット方法に応じて前記バッファスペースのデータに対して整理を行って、整理した後に各データの初期アドレスを更新し、前記プリセット方法は、前記バッファスペースで一つの最初に記憶された無効データを選択して、その初期アドレスから、すべての有効データがいずれも前記バッファスペースを連続的に占用するまで、このデータの後の有効データに対して改めて連続的に記憶し、前記無効データは解放されたデータであり、前記有効データは解放されないデータである。整理が完了した後に、記憶初期アドレス更新モジュール４４は、前記現在記憶初期アドレスを前記バッファスペースでの最後の一つの有効データの次のアドレスに更新するように構成される。
【００６３】
前記プリセット方法は、具体的に、前記バッファスペースで一つの最初に記憶された無効データを選択し、その記憶位置情報により、前記バッファスペースでのこの無効データの初期アドレスを取得し、現在記憶初期アドレスをこの無効データの初期アドレスに更新する。この記憶初期アドレスからこの無効データの後の第一有効データを記憶し、第一有効データの記憶位置情報を更新する。前記現在記憶初期アドレスを前記バッファスペースでの第一有効データの次のアドレスに更新して、バッファされた各有効データがいずれも前記バッファスペースを連続的に占用できるまで、その後の次の有効データがこの記憶初期アドレスから改めてバッファするようにする。
【００６４】
整理モジュールが整理プロセスを実行している時に、バッファスペースでのデータの読み込みを干渉することを回避するように、本装置は一つのロッキングモジュールをさらに含み、読み込まれている又は整理されている有効データに対してロッキングを行って、一つの有効データがロッキング過程で同時に読み込まれることと整理されていることをできないようにする。
【００６５】
実際の応用の時、記憶初期アドレス読み込みモジュール、バッファモジュール、記憶データ管理モジュール、記憶初期アドレス更新モジュール、整理モジュール、及びロッキングモジュールはバッファ処理装置における中央処理装置（ＣＰＵ、Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）、デジタル信号処理器（ＤＳＰ、Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｏｒ）又はフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）により実現できる。
【００６６】
本実施例に係る方法の有益効果は次のとおりである。
【００６７】
１．各データがバッファスペースに連続的に記憶され、バッファスペースをよりよく利用して、リソースを節約できる。
【００６８】
２．バッファスペースに対して整理を行って、既にクリアされたバッファスペースを現在記憶初期アドレスの後の余剰バッファスペースに整合して、すべての有効データはいずれも前記バッファスペースを連続的に占用するように保持し、限られたバッファスペースでより多いデータを記憶でき、リソースをさらに節約できる。
【００６９】
３．従来の技術において、バッファスペース全体をいくつかの断片に分割して、ある大きなデータは複数の断片より保存されるので、データの読み込みを実現するために、これらの断片のバッファアドレスを記録する必要があり、情報記憶量は極めて大きいが、本実施例はバッファスペースで連続的にデータを記憶するため、バッファスペースでの各有効データの初期アドレス及びスペース長のみ記録すると、読み込みを実現できる。
【００７０】
以上は本発明の好ましい実施の形態であり、説明すべきなのは、本分野の当業者に対して、本発明の前記原理を離脱しない前提で、いくつかの改修と修正をさらにでき、これらの改修と修正も本発明の請求範囲に含まれるように見える。
【図１】
2016504665.tif 000003
【図２】
2016504665.tif 000004
【図３】
2016504665.tif 000005
【図４】
2016504665.tif 000006
【国際調査報告】
2016504665.tif 000007
2016504665.tif 000008
2016504665.tif 000009
2016504665.tif 000010