JP4204405B2 - メモリ管理方式 - Google Patents

メモリ管理方式 Download PDF

Info

Publication number
JP4204405B2
JP4204405B2 JP2003204267A JP2003204267A JP4204405B2 JP 4204405 B2 JP4204405 B2 JP 4204405B2 JP 2003204267 A JP2003204267 A JP 2003204267A JP 2003204267 A JP2003204267 A JP 2003204267A JP 4204405 B2 JP4204405 B2 JP 4204405B2
Authority
JP
Japan
Prior art keywords
fixed
memory
length
data
size
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.)
Expired - Fee Related
Application number
JP2003204267A
Other languages
English (en)
Other versions
JP2005050010A (ja
Inventor
忠 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
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 Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2003204267A priority Critical patent/JP4204405B2/ja
Publication of JP2005050010A publication Critical patent/JP2005050010A/ja
Application granted granted Critical
Publication of JP4204405B2 publication Critical patent/JP4204405B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置や画像処理装置などのメモリを使用する装置におけるメモリ管理方式に関する。
【0002】
【従来の技術】
従来からメモリを管理する方式として様々な方式が提案・実施されているが、それらの方式は、可変長メモリ管理と固定長メモリ管理とに大別される。この2つ管理方式の概要を、図9を参照して説明する。
【0003】
図9は、可変長メモリ管理方式によるデータ領域の割り付けと開放の手順を示す概略フローチャートである。図9のS100(ステップ100)で、データサイズαの割り付け要求が、例えば図示しないCPUから出されると、CPUが管理しているメモリ上で、S101に示すように前処理が行われる。この前処理の例として、メモリの先頭アドレスから探査されて、データサイズα以上の空き領域があるか否かがチェックされる。
【0004】
S102で、要求を満たす空き領域があると判断されると、S103で、その空き領域に割り付けを行う。S104で、割り付けに伴う後処理が行われる。後処理の例として、当初の空き領域を、割り付け領域と残りの空き領域に分割し、それらを図示しないメモリ管理部で管理テーブルを更新して管理させることなどがある。その後、その割り付けた領域にデータが書き込まれる。S102でデータサイズαが割り付けできない場合は、S105で割り付け不可能に係わるエラー処理が行われる。尚、データが割り付けられた領域が開放される場合も、前処理と後処理が行われる。
【0005】
このように、可変長メモリ管理方式は、空き領域さえあれば、任意のサイズのメモリ割り付けが、要求されたサイズどおりに行えるため、メモリの使用に無駄が生じにくく、効率よくメモリ領域を使用できる方式である。反面、上記したように、割り付け時に、空き領域の探査や割り付け領域と空き領域の分割、開放時には開放する領域に対して前後するメモリ領域の使用状態の確認と併合、割り付け領域のアドレスの記憶、その状態の更新など様々な前処理と後処理とが付随することになる。そのため、メモリ処理の速度が遅くなる。特に、メモリの後ろ部分ほど前記した空き領域の探査に時間がかかり、処理速度が極端に落ちる傾向がある。
【0006】
一方、図示して説明しないが、固定長メモリ管理方式は、メモリ空間を所定のサイズのブロックに区切って、そのブロック単位に管理するため、メモリ領域の割り付けや開放が高速に行えるという利点がある。ブロックのサイズを大きくするほど、管理されるブロック数が減って処理速度は上がるが、要求サイズとの端数が大きくなって、無駄が生じ、メモリの使用効率が悪くなる。
【0007】
そこで、特許文献1は、従来のメモリを所定のサイズからなる複数の固定長のメモリセルに分割して、固定長によるメモリ管理の利点を生かしつつ、可変長のメモリ要求に対して、各メモリセルが使用中か否かを“0”か“1”の1ビットの状態で管理するビットマップ部と、可変長データに対して割り付けられた開始セル番号とセルの個数を管理する可変長タグ部とを使用することによって前処理と後処理の高速化を図り、従来の可変長メモリ管理方式の問題を低減させる方式を提案している。
【0008】
【特許文献1】
特開平8−221317号公報
【0009】
【発明が解決しようとする課題】
しかし、特許文献1が提案する方式は、固定長の複数のメモリセルを使用して可変長データに対応するため、以下の問題があった。
(1)1つの可変長データに対して、連続するセルを割り付ける必要がある。そのため、セルの割り付けと開放が繰り返されると、未使用のセルが動的メモリ領域内に分散して、連続した未使用セルが減少することになってメモリの使用効率が低下する。
(2)固定長のメモリセルを使用するため、可変長データに対しては従来技術と同様に、セルのサイズ以下の割り付け要求が発生した場合、或いは、割り付けられた複数のセルの最後のセルに、不要な割り付け端数が発生するため、メモリの使用効率が低下する。
(3)メモリセルに対して、前記したビットマップ部や可変長タグ部などの実データ部以外のメモリ管理領域が占める割合が大幅に増加し、相対的に実データ部の領域が減少する。
【0010】
本発明は、斯かる実状に対してなされたものであり、メモリ上で全てのデータ領域を可変長メモリ管理方式で管理するとともに、所定の可変長領域内で特定の固定データサイズにのみ固定長メモリ管理方式を適用して、処理速度とメモリ使用効率の向上を図るメモリ管理方式を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、本発明では、CPUから要求されたデータに対してメモリ上で可変長の領域のメモリの割り付けと開放を行うメモリ管理方式において、そのデータのサイズが、予め設定されている固定データサイズと同一である場合は、そのデータに対して、固定データサイズからなる複数の固定長メモリブロックにより構成される可変長の領域内の前記固定長メモリブロックの割り付けと開放を行い、前記メモリは管理領域と実データ領域とを有し、前記可変長の領域は前記実データ領域に設けられ、前記固定データサイズは前記管理領域内に設けられた管理テーブル上で設定されて記憶され、前記管理テーブルは、前記設定された固定データサイズが記憶される固定データサイズ欄とともに、その固定データサイズに対して前記可変長の領域内に作成可能な前記固定長メモリブロックの総数が設定されて記憶される総数欄と、前記CPUから要求されたデータが割り付けられていない空き固定長メモリブロックの個数が記憶される空き個数欄と、前記CPUから要求された前記データに対して1番目に割り付け可能な空き固定長メモリブロックを指すアドレスが記憶される先頭アドレス欄とを有する
【0012】
前記管理テーブルで複数の異なる固定データサイズが設定可能である。
【0013】
前記1番目に割り付け可能な空き固定長メモリブロックには、2番目に割り付け可能な空き固定長メモリブロックを指すアドレスが記憶され、n番目に割り付け可能な空き固定長メモリブロックには、n+1番目に割り付け可能な空き固定長メモリブロックを指すアドレスが記憶される。
【0014】
前記CPUから要求された前記データのサイズが、前記管理テーブルの前記固定データサイズ欄に記憶されているサイズと同一の場合、前記CPUから要求された前記データに対して、前記先頭アドレス欄に記憶されているアドレスが指す固定長メモリブロックが割り付けられる。
【0015】
既に割り付けられている固定長メモリブロックのいずれかが開放されると、それまで前記管理テーブルの前記先頭アドレス欄に記憶されていたアドレスが、その開放された固定長メモリブロックに書き込まれるとともに、その開放された固定長メモリブロックのアドレスが前記管理テーブルの前記先頭アドレス欄に書き込まれる
【0021】
【発明の実施の形態】
以下、本発明の詳細を添付図に基づいて説明する。まず、図1を使用して、本実施形態に係わるメモリ管理方式を具体的に説明する。図1は、本発明の構成図である。CPU1によって制御が行われるOS2上でプログラム3が稼働している例である。プログラム3やOS2によってメモリを必要とするジョブが発生すると、その要求はCPU1に送られて、CPU1からメモリ管理手段4にメモリ要求として送出される。メモリ管理手段4は、このメモリ要求を受けてメモリ5の実データ領域7内に要求されたメモリサイズを割り付けて確保する。その場合、前処理としてメモリ管理手段4は、実データ領域7内で空き領域を探索するため、メモリ5内に設けられた管理領域6で管理されている実データ領域7のメモリ使用状況に関する管理情報を参照する。
【0022】
本実施形態では、メモリ5の管理を、可変長メモリ管理方式に基づいて行っているため、メモリ要求がCPU1から発行された場合は、従来の可変長メモリ方式によって管理領域6に管理用のデータを作成し、実データ領域7のメモリ使用状況を管理する。従って、その可変長メモリ管理を行うためのメモリ管理手段4と管理領域6の動作と構成については従来の技術を使用して実現可能であり、その説明は省略する。
【0023】
その可変長メモリ管理を行う中で、本発明に特異な点を図2と図3を参照して説明する。図2は、管理領域6内に作成され、本発明に係わる固定長ブロックの管理テーブルの内容を示す図である。特に、情報処理装置や入出力装置、或いは画像処理装置などでデータ処理が行われる場合、ある特定の固定データサイズのデータが頻繁に処理される。例えば、固定データサイズの入出力バッファを介して転送されて処理されるデータは256バイトや1024バイトなどのように固定長である。また、画像処理の場合は、1ラインごとに固定長のデータを処理することも行われている。
【0024】
このように、頻繁に処理される固定データサイズは、装置の種類によって決まっている場合が多いため、そのサイズのデータを、固定長データ用可変長データ領域内で固定長として処理して、可変長メモリ管理方式に伴う従来の問題点を改善するとともに、可変長メモリ管理方式に適したデータは可変長で処理して、固定長メモリ管理方式に伴う従来の問題点を改善することが、本発明の目的である。
【0025】
上記した目的に沿って、本発明のメモリ管理方式が利用される装置において、1024バイトと256バイトの固定長データが頻繁に処理される場合を想定して説明する。図2に示される固定長ブロックの管理テーブル10は、管理領域6内に設けられ、固定長としてメモリ管理が行われるデータの「固定データサイズ」と、可変長データ領域として作成された領域内に存在する該固定長のメモリブロックの「総数」と、そのメモリブロックの中で、未使用・未割り付けになっている空きメモリブロックの「空き個数」と、最初の空きメモリブロックのアドレスを指す「先頭アドレス」を管理している。以下の例では、1024バイトと256バイトそれぞれの固定長データに対して管理が行われる。
【0026】
図2に示す例では、総数が32なので、1024バイトのメモリブロック32個からなる領域が、実データ領域7(図1)内に作成可能であるが、空き個数と先頭アドレスはそれぞれ、10進数で表すと“0”であるため、まだ作成はされていない。256バイトの固定長メモリブロックについても同様であるが、64個のメモリブロックからなる領域が作成可能である。尚、詳細は後述するが、空き個数と先頭アドレスがともに“0”でない場合は、固定長データが割り付けられる固定長データ用可変長データ領域は既に作成されていることを意味する。
【0027】
次に、図3と図4を使用して、可変長メモリ管理方式を使用しながら特定の固定データサイズのデータに対して固定長メモリ管理を行う手順の概要を説明する。図3は、図1の実データ領域7に、データが順次割り付けられていく様子を示す模式図である。(a)は、実データ領域7全てが空き領域Aとなっている。(b)では、可変長データの割り付け要求があり、その要求に基づいて、空き領域Aの中に、つまり空き領域Aを分割して、可変長データ領域AAの割り付けと空き領域Bを確保している。
【0028】
(c)は、その後、予め管理テーブル10に登録されている1024バイトの固定長データの割り付けの要求を受け、それを割り付ける領域が作成されていない場合、空き領域Bを二分して、1024バイト×32個の領域を固定長データ用可変長データ領域BBとして作成し、残りを空き領域Cとして確保した例である。(d)は、その後、予め管理テーブル10に登録されている256バイトの固定長データのメモリ割り付け要求を受け、それを割り付ける領域が作成されていない場合、空き領域Cを二分して、256バイト×64個の領域を固定長データ用可変長データ領域CCとして割り付け、残りを空き領域Dとして確保した例である。尚、固定長データ用可変長データ領域BBとCCは、それぞれ領域としては可変長メモリ管理方式によって管理されている。
【0029】
図4は、図3で示した可変長データ領域AAや固定長データ用可変長データ領域BB或いはCCが割り付けられる概略手順を示すフローチャートである。いま、S1(ステップ1)で、CPU1(図1)から、あるサイズのメモリの割り付け要求がメモリ管理手段4(図1)に出されると、S2で、メモリ管理手段4は管理テーブル10(図2)を検索し、そのサイズが本発明によるメモリ管理を行う固定データサイズとして登録されているか否かを検索する。S3で判断が行われ、登録されていない場合は、S8に分岐して通常の可変長メモリ管理方式に基づいて、可変長データ領域(例えば可変長データ領域AA)が実データ領域7内に確保される{図3(b)参照}。
【0030】
S3で、そのサイズが本発明によるメモリ管理を行う固定データサイズとして登録されている場合は(例えば1024バイト)、S4に移行する。S4では、既にそのサイズの固定長データ用可変長データ領域BB{図3(c)参照}が作成されているか否かが判断される。この判断は、前記したように、管理テーブル10内の空き個数と先頭アドレスの値に基づいて行われる。既に作成されている場合は、S6に移行する。まだ作成されていない場合は、S5に分岐して固定長データ用可変長データ領域BBの作成を行う。
【0031】
その後、S6で、固定長データ用可変長データ領域BBにおいて、管理テーブル10に記憶されている先頭アドレスから始まるメモリブロックを、要求されたサイズのメモリとして割り付ける。このメモリブロックの割り付けによって、固定長データ用可変長データ領域BB内の空きブロックの空き個数と先頭アドレスが変動する。そのため、S7で、後述するチェーンの張り替えを行って、空き個数と先頭アドレスと同時に、空きメモリブロックの状態情報を最新状態に更新する。また、フローチャートに図示しないが、割り付け要求が処理されてメモリブロックが割り付けられると、割り付けられたアドレスがメモリ管理手段4から要求元のCPU1に戻されて割り付け処理が完了する。
【0032】
次に、図4のS5による手順、すなわち、管理テーブル10に登録されている固定データサイズの固定長データ用可変長データ領域BBが、まだ作成されていない場合の作成手順についての詳細を、図5を参照して説明する。図5は、固定長データ用可変長データ領域BBを作成する手順を示す模式図であり、(a)は管理テーブル10の内容で、(b)は図3(c)で示した固定長データ用可変長データ領域BBとその内容の詳細である。
【0033】
図5(a)は、図2で示した管理テーブル10の一部で、固定データサイズが1024バイトの固定長データが32個作成可能であることを示しており、固定長データ用可変長データ領域BBが作成されるまでは、空き個数は“0”で、先頭アドレスも“0”である。図4のフローチャートに基づいて説明したように、1024バイトのメモリ割り付け要求をメモリ管理手段4(図1)が受けると、管理テーブル10に登録されていて、且つその固定データサイズに対応する固定長データ用可変長データ領域BBが存在しない場合、メモリ管理手段4は、図3(b)の空き領域B内に、32個の1024バイトのメモリブロック11を確保して固定長データ用可変長データ領域BBを作成する。確保された各メモリブロック11のアドレスは、10進数で表現すると、例えば先頭の611番地から始まり最後のメモリブロック11は642番地で終わる。尚、ここでいう番地(611番地〜642番地)は、本実施形態を容易に説明するための番地であり、1024バイトごとに付与した番地で、実際のメモリアドレスとは異なる。実際のアドレスとしては、メモリ5の物理アドレスや論理アドレス空間を絶対アドレス或いは相対アドレスで表したものなどが使用される。
【0034】
そして、それぞれのメモリブロック11は空き状態なので、その空いている最初のメモリブロック11のアドレス611番地を、管理テーブル10の先頭アドレスの欄に書き込む。つまり、管理テーブル10の先頭アドレスの欄は、最初の空きメモリブロック11を指している。611番地のその最初のメモリブロック11は未使用なので、その中に、次の空いているメモリブロック11のアドレス、すなわち、612番地を書き込む、同様にして、612番地のメモリブロック11内に613番地と書き込む。つまり、n番目の空きメモリブロック11内にはn+1番目の空きメモリブロック11を指すアドレスが書き込まれることになる。そして、最後の642番地のメモリブロック11は次に指し示す空きメモリブロックがないため、“0”が書き込まれる。こうして、管理テーブル10の先頭アドレスの欄に書き込まれた次の番地を示すアドレス(ポインタ)を順番にたどっていけば、全ての空きメモリブロック11が順番に繋がるチェーンが完成し、そのチェーンの終端は、ポインタとして“0”を持つメモリブロック11である。
【0035】
その後、管理テーブル10の空き個数欄に、空きメモリブロック11の個数が、この例では32個になるはずであるが、空きメモリブロック11が割り付けられて、31個と書き込まれる。そして、メモリ管理手段4(図1)は、CPU1(図1)からの要求を受け付けて、611番地にデータを書き込ませる。
【0036】
既に、固定長データ用可変長データ領域BBが作成されている場合、すなわち図4のS6で示した手順について、図6と図7を参照して具体的に説明する。図6は、固定長データ用可変長データ領域BB内のメモリブロック11を割り付ける手順を説明する模式図であり、(a)は管理テーブル10の内容で、(b)は図3(c)で示した固定長データ用可変長データ領域BBの詳細である。
【0037】
図6(a)の管理テーブル10には、固定データサイズが1024バイトの固定長データのメモリブロック11が32個作成されており、そのうち10個が空いており、先頭の空きメモリブロック11を示す先頭アドレスは611番地であることが示されている。図4のフローチャートに基づいて説明したように、1024バイトのメモリ割り付け要求をメモリ管理手段4(図1)が受けると、常に、管理テーブル10の先頭アドレス欄に書き込まれているアドレスが指す最初の空きメモリブロック11、つまりこの例では611番地のメモリブロック11が割り付けられる。
【0038】
図7は、611番地のメモリブロック11を割り付けた後の、後処理を説明するための模式図である。図6で示されている611番地のメモリブロック11が割り付けられると、図7では、その611番地のメモリブロック11内にそれまで書き込まれていたポインタ(613番地)が、図7(a)に示される管理テーブル10の先頭アドレス欄に移されて、先頭アドレス欄が示すポインタは611番地から613番地になる。図6と図7を比較すると分かるように、613番地以降の空きメモリブロック11内に書き込まれているポインタは変更されない。アドレス611番地のメモリブロック11内にそれまで書き込まれていたポインタは、書き込まれるデータによって消失するが、そのポインタはデータによって消失する前に管理テーブル10の先頭アドレス欄に転記される。また、管理テーブル10の空き個数が1つ減って10個から9個になる。
【0039】
次に、それまで使用中であったメモリブロック11が開放された場合のポインタとチェーンについて説明する。図8は、図7に示す612番のメモリブロック11が開放された場合の新たなポインタとチェーンを示す図である。メモリ管理手段4によって612番地のメモリブロック11が開放されると、それまで図8(a)に示す管理テーブル10の先頭アドレス欄に書き込まれていたポインタが、613番地から612番地に書き換えられる。つまり。管理テーブル10の先頭アドレス欄のポインタとして、開放されたメモリブロック11(612番地)のアドレスが書き込まれる。そして、それまでの先頭アドレス欄に記憶されていた613番地が、開放された612番地のメモリブロック11にポインタとして書き込まれる。
【0040】
以上説明したように、CPUからメモリ割り付け要求を受けると、管理テーブル10の先頭アドレス欄に書き込まれているアドレス(ポインタ)を通知するだけで、メモリ割り付けの前処理が完了し、メモリ管理の高速化が図れる。
【0041】
また、メモリブロック11が割り付けられると、その後処理としては、管理テーブル10の先頭アドレス欄に、割り付けられたメモリブロック11が有していたポインタを転記するだけの1つの動作ですむ。また、メモリブロック11が開放されると、後処理として、開放されたメモリブロック11のアドレスを、管理テーブル10の先頭アドレス欄にポインタとして書き込むことと、開放されたメモリブロック11に、それまで管理テーブル10の先頭アドレス欄が有していたポインタを転記することの2つの動作ですむ。つまり、チェーンの最初のポインタ、或いは最初と2番目のポインタを変更するのみで、空きメモリブロック11を繋いで示すチェーンの張り替えが完了することになり、更にメモリ管理の高速化が図れる。
【0042】
図示して説明しないが、図3(d)で示した256バイトの固定長データ用可変長データ領域CCも、これまで説明した固定長データ用可変長データ領域BBと同様な手順で管理される。このような、固定長データ用可変長データ領域BBやCCは、それらの管理テーブル10の総数欄に書き込まれている総数と、空き個数欄に書き込まれる個数が一致するとメモリ管理手段4(図1)によって判断されるとき、固定長データ用可変長データ領域BBやCCが開放される。
【0043】
これまで、可変長メモリ管理方式によって1024バイトや256バイトの固定長データ用可変長データ領域BBやCCが管理され、更に、その固定長データ用可変長データ領域BB内やCC内では、空きメモリブロックをポインタでチェーン管理することを具体的な例をあげて説明したが、本発明はこうした例や数値に限定されないことは言うまでもない。
【0044】
また、1024バイトや256バイトの固定長は、本発明が実施される装置によって変わるものであり、例えば2048バイトや512バイト、或いはその他の固定データサイズであってもよい。更に、これらの固定データサイズは、本発明が実施される装置で頻繁にメモリ割り付け要求が出されるサイズに設定するとよい。そうすると、従来の固定長メモリ管理方式のように、要求されるサイズとの間に端数が発生してメモリの使用効率が低下することもない。
【0045】
以上の実施例を分かり易く説明するために、メモリ5、及び管理領域6と実データ領域を物理メモリとし、実際のアドレスを具体的な番地で示したが、本発明は、物理メモリとともに論理メモリにも適用できることは勿論のこと、メモリに限らず、ハードディスク、CD−RW、DVD−RW,DVD−RAM、MO、MDなどの書き換え可能な記録媒体にも適用可能である。
【0046】
【発明の効果】
以上の説明から明らかなように、本発明によれば、メモリ内の全ての割り付け領域が可変長メモリ管理方式で管理されるため、データサイズと割り付け領域のサイズとの間に端数が発生しにくく、メモリの使用効率を向上させることが可能になる。
【0047】
また、頻繁に処理される特定の固定データサイズに対しては、可変長メモリ領域内に固定長のメモリブロックを設けて、そのメモリブロックごとに固定長メモリ管理を行うため、その特定の固定データサイズを処理する場合、可変長メモリ管理方式に比べて高速に処理することが可能になる。
【0048】
固定長のメモリブロックを割り付ける或いは開放する場合、前処理と後処理に伴う手順数が少なく、特定の固定データサイズを処理する場合、更に処理の高速化を図ることが可能である。
【0049】
更に、固定長のメモリブロックを管理する際、管理テーブルに先頭の空きメモリブロックを示すポインタを置き、その次以降のポインタは空きメモリブロックの中に書き込んでいるため、メモリの管理領域を大幅に節約でき、相対的に実データ領域を増大させることができる。
【図面の簡単な説明】
【図1】 本発明の構成図である。
【図2】 管理領域6内に作成され、本発明に係わる固定長ブロックの管理テーブルの内容を示す図である。
【図3】 図1の実データ領域7に、データが順次割り付けられていく様子を示す模式図である。
【図4】 図3で示した可変長データや固定長データが割り付けられる概略手順を示すフローチャートである。
【図5】 固定長データ用可変長データ領域BBを作成する手順を示す模式図であり、(a)は管理テーブル10の内容で、(b)は図3(c)で示した固定長データ用可変長データ領域BBとその内容の詳細である。
【図6】 固定長データ用可変長データ領域BB内のメモリブロックを割り付ける手順を説明する模式図であり、(a)は管理テーブル10の内容で、(b)は図3(c)で示した固定長データ用可変長データ領域BBの詳細である。
【図7】 611番地のメモリブロック11を割り付けた後の、後処理を説明するための模式図である。
【図8】 図7に示す612番のメモリブロック11が開放された場合の新たなポインタとチェーンを示す図である。
【図9】 可変長メモリ管理方式によるデータ領域の割り付けと開放の手順を示す概略フローチャートである。
【符号の説明】
1 CPU
2 OS
3 プログラム
4 メモリ管理手段
5 メモリ
6 管理領域
7 実データ領域
10 管理テーブル
11 メモリブロック
A、B、C、D 空き領域
AA 可変長データ領域
BB、CC 固定長データ用可変長データ領域

Claims (6)

  1. CPUから要求されたデータに対してメモリ上で可変長の領域のメモリの割り付けと開放を行うメモリ管理方式において、
    前記データのサイズが、予め設定されている固定データサイズと同一である場合は、前記データに対して、前記固定データサイズからなる複数の固定長メモリブロックにより構成される可変長の領域内の前記固定長メモリブロックの割り付けと開放を行い、
    前記メモリは管理領域と実データ領域とを有し、前記可変長の領域は前記実データ領域に設けられ、前記固定データサイズは前記管理領域内に設けられた管理テーブル上で設定されて記憶され、
    前記管理テーブルは、前記設定された固定データサイズが記憶される固定データサイズ欄とともに、その固定データサイズに対して前記可変長の領域内に作成可能な前記固定長メモリブロックの総数が設定されて記憶される総数欄と、前記CPUから要求されたデータが割り付けられていない空き固定長メモリブロックの個数が記憶される空き個数欄と、前記CPUから要求された前記データに対して1番目に割り付け可能な空き固定長メモリブロックを指すアドレスが記憶される先頭アドレス欄とを有することを特徴とするメモリ管理方式。
  2. 前記管理テーブルで複数の異なる固定データサイズが設定可能であることを特徴とする請求項1に記載のメモリ管理方式。
  3. 前記1番目に割り付け可能な空き固定長メモリブロックには、2番目に割り付け可能な空き固定長メモリブロックを指すアドレスが記憶され、n番目に割り付け可能な空き固定長メモリブロックには、n+1番目に割り付け可能な空き固定長メモリブロックを指すアドレスが記憶されることを特徴とする請求項1または請求項2に記載のメモリ管理方式。
  4. 前記CPUから要求された前記データのサイズが、前記管理テーブルの前記固定データサイズ欄に記憶されているサイズと同一の場合、前記CPUから要求された前記データに対して、前記先頭アドレス欄に記憶されているアドレスが指す固定長メモリブロックが割り付けられることを特徴とする請求項1乃至請求項3のいずれかに記載のメモリ管理方式。
  5. 前記CPUから要求された前記データに対して、前記1番目に割り付け可能な空き固定長メモリブロックが割り付けられると、その空き固定長メモリブロックに記憶されていたアドレスが、前記管理テーブルの前記先頭アドレス欄に書き込まれることを特徴とする請求項4に記載のメモリ管理方式。
  6. 既に割り付けられている固定長メモリブロックのいずれかが開放されると、それまで前記管理テーブルの前記先頭アドレス欄に記憶されていたアドレスが、その開放された固定長メモリブロックに書き込まれるとともに、その開放された固定長メモリブロックのアドレスが前記管理テーブルの前記先頭アドレス欄に書き込まれることを特徴とする請求項乃至請求項5のいずれかに記載のメモリ管理方式。
JP2003204267A 2003-07-31 2003-07-31 メモリ管理方式 Expired - Fee Related JP4204405B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003204267A JP4204405B2 (ja) 2003-07-31 2003-07-31 メモリ管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003204267A JP4204405B2 (ja) 2003-07-31 2003-07-31 メモリ管理方式

Publications (2)

Publication Number Publication Date
JP2005050010A JP2005050010A (ja) 2005-02-24
JP4204405B2 true JP4204405B2 (ja) 2009-01-07

Family

ID=34263321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003204267A Expired - Fee Related JP4204405B2 (ja) 2003-07-31 2003-07-31 メモリ管理方式

Country Status (1)

Country Link
JP (1) JP4204405B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100382048C (zh) * 2005-11-08 2008-04-16 中兴通讯股份有限公司 一种内存管理方法
KR100859651B1 (ko) 2007-06-04 2008-09-23 삼성에스디에스 주식회사 가변크기 데이터 저장을 위한 데이터구조를 기록한기록매체, 가변크기 데이터 저장방법, 및 가변크기 데이터저장방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한컴퓨터로 읽을 수 있는 기록매체
JP2009181213A (ja) 2008-01-29 2009-08-13 Toshiba Corp メモリ管理装置

Also Published As

Publication number Publication date
JP2005050010A (ja) 2005-02-24

Similar Documents

Publication Publication Date Title
US9251058B2 (en) Servicing non-block storage requests
US11030156B2 (en) Key-value store with partial data access
JP4738038B2 (ja) メモリカード
JP3371044B2 (ja) ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
JP2019020788A (ja) メモリシステムおよび制御方法
TWI668626B (zh) 自主空間壓縮之儲存裝置以及方法
JP2858795B2 (ja) 実記憶割り当て方法
JPH08234921A (ja) アドレス・スペースを管理するための方法及び記憶サブシステム
CN107728935B (zh) 对分布式计算系统中的数据重新分区
US8209513B2 (en) Data processing system with application-controlled allocation of file storage space
JP6443571B1 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
CN111190537B (zh) 一种追加写场景下顺序存储磁盘管理的方法及系统
JP2020135134A (ja) ストレージシステム及び圧縮方法
JP4204405B2 (ja) メモリ管理方式
EP3819771B1 (en) Data processing method and device, apparatus, and system
US11875051B2 (en) Contiguous data storage using group identifiers
JP2006079463A (ja) 時系列データ記録用バッファ管理方法、装置、システムおよびプログラム
JP6243884B2 (ja) 情報処理装置、プロセッサ、および情報処理方法
US9146859B2 (en) Information processing apparatus, method, and program for improving use efficiency of a storage apparatus
JP4176682B2 (ja) メモリ管理方式
JP2006039942A (ja) 階層記憶システムにおけるファイル管理装置及びそのファイル管理方法
WO2018165957A1 (en) Log-appended-structured storage management with byte-level accessibility
JP5697403B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN113553008A (zh) 映射表更新方法、装置、计算机设备及存储介质
JP2014137749A (ja) ストレージ装置、書込制御方法、および書込制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080917

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees