JP2000330835A - 記憶装置及びデータ記憶構造 - Google Patents
記憶装置及びデータ記憶構造Info
- Publication number
- JP2000330835A JP2000330835A JP11139636A JP13963699A JP2000330835A JP 2000330835 A JP2000330835 A JP 2000330835A JP 11139636 A JP11139636 A JP 11139636A JP 13963699 A JP13963699 A JP 13963699A JP 2000330835 A JP2000330835 A JP 2000330835A
- Authority
- JP
- Japan
- Prior art keywords
- page
- hypercube
- data
- offset
- pages
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/957—Multidimensional
-
- 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/958—Data cubes
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
してアクセス効率の良いオフセット空間を実現する。 【解決手段】二次記憶のオフセット空間30を、超立方
体(ハイパー・キューブ)34のデータ格納構造として
実現する超立方体構成部18と、超立方体34のデータ
構造を利用して、要求されたオフセット空間の領域に高
速にアクセスするアクセス処理部20とを設ける。超立
方体構成部18は、次元、ノード(頂点)及び辺により
超立方体34を定義し、オフセット空間を分割構成する
先頭ページ(トップページ)32−0から最終ページ3
2−nまでの各々を、超立方体34のノードに割り当て
ると共に、先頭ページ32−0のノードから後続ページ
のノードに向けてページ間をリンクする辺を設定する。
Description
ライブ等による二次記憶上のアドレス空間を構築するた
めの記憶装置及び記憶構造に関し、特に、二次記憶上の
オフセット空間を超立方体のデータ格納構造で実現する
記憶装置及びデータ記憶構造に関する。
憶上に実現されるアドレス空間に加え、ディスクドライ
ブ等の外部記憶装置を用いた二次記憶上で実現されるア
ドレス空間を使用している。
と区別するために、二次記憶上のアドレス空間のことを
オフセット空間と呼ぶことにする。また、このオフセッ
ト空間上でのアドレスを単にオフセットと呼ぶことにす
る。
ペレーティングシステム(OS)であるUNIXのファ
イルシステムがあげられる。オフセットは、通常のアド
レス空間やUNIXファイルと同様、バイト単位で0か
ら順に1,2、3,・・・とふられるものとする。
や分子構造など複雑なデータや、画像、文書などのマル
チメディアなどの長大データを格納することが要求され
ている。一方、当然に、従来からの数値や文字データ、
レコードなどの比較的単純なデータや、少量のデータも
扱えることが要求されている。これらの要求は、オフセ
ット空間によって統一的に扱うことができる。このため
オフセット空間は、アクセス効率が良いように実現され
ていることが望ましい。
時に単純で少量のデータを統一的に格納するという要求
を満たす理由をより詳しく説明する。 (1)複雑なデータの格納 最近のデータベースでは、CADデータや分子構造など
の複雑なデータも扱えることが要求されている。複雑な
データは一般に木やネットワーク状の構造をとりうる。
には、主記憶上のデータ構造のように領域にアドレスが
ふられ、アドレスでデータ構造同士をリンクできること
が望ましい。その際、プログラミングの容易さやスペー
ス効率の観点から、アドレスはなるべく簡略なものが望
ましい。オフセット空間はこの要求を満たす。 (2)長大データの格納 最近のデータベースでは、画像、文書などの長大データ
を格納することが要求されている。これらのデータはフ
ァイルとして格納されることが多い。オフセット空間は
上記のように概念的にファイルを含んでおり、長大デー
タを格納することができる。
た時、その長大データをオフセット空間のオフセット0
からn−1までに格納することによって、長大データを
格納することができる。オフセット空間はこの要求を満
たす。 (3)単純データの格納 オフセット空間には、複雑なデータが格納できるので、
当然、従来からの文字列、数値やレコードも格納でき
る。しかし、単純なデータの場合、一般には量も少な
い。データが1ページに収まるような場合、データベー
スでは、当然ながら1ページに格納する。
空間も1ページ単位で実現できることが望ましい。ま
た、従来からデータベースには、オーバフローをどう解
決するかという問題がある。オフセット空間はこれにも
見通しのよい解を与える。 (4)ページを意識させない データベースでは、ページと呼ばれる固定長、例えば4
KBの領域に分けてデータを格納する。ページは二次記
憶と主記憶間の入出力の単位である。OSにおける入出
力の単位も一般にこのページである。
常、ヘッダ部102とデータ部104に分かれる。ユー
ザデータを格納する場合、そのデータとは別にシステム
側の情報が必要である。たとえば、ユーザデータの大き
さとか、空き領域がどれくらいあるかといった情報であ
る。これらの情報を管理情報と呼ぶことにする。
合によっては管理情報が格納される。ヘッダ部102に
は管理情報が格納される。
格納の様子の一例を示すものである。この例ではレコー
ドR1、レコードR2が0ページ100−0に格納され
ている。次にレコードR3を挿入しようとした場合、も
し、0ページ100−0に入らないのであれば、新しい
1ページ100−1が獲得され、レコードR3は1ペー
ジ100−1に格納される。
一般に、このページを意識してプログラミングが行われ
る。例えば、図17のレコードR1が更新されることを
考える。もしレコードR1の長さが増え、しかも0ペー
ジ100−0に入り切らなくなった場合、解決策の1つ
としては、図18のように、新たに2ページ100−2
を確保し、更新後のレコードR1のある部分、あるい
は、レコードR1全体を移すという手段がある。
の部分レコードR11、レコードR12になり、レコー
ドR11は0ページ100−0に、レコードR12は2
ページ104−2に格納された場合を示す。このように
一まとまりのデータが1つのページに収まらなくなる状
態をオーバフローと呼ぶ。
である。オフセット空間を用いた場合、一般には、オー
バフローやページを意識することなく、データを扱うこ
とができる。ただし、実現の仕方にもよるが、領域の連
続性の問題があるので、コピーしなければならないなど
の状況は生じる。図19は、図18のオーバフローした
レコードがオフセット0〜7999のオフセット空間に
格納された様子を示す。
はUNIX等のOSにおけるファイルシステムがある。
UNIXのファイルシステムの特徴は以下の通りであ
る。 (1)オフセット空間 UNIXのファイルはオフセット空間と考えられる。U
NIXファイルのデータには、各バイトに先頭から0、
1、2、・・・とオフセットがふられている。 (2)管理ページを別に管理 UNIXでは、ユーザデータと管理情報を別々のページ
で管理している。この管理情報を格納するページを管理
ページと呼ぶことにする。 (3)管理ページは木構造 管理ページはバランスしていない木構造として実現され
ている。 (4)領域管理の機能がない 主記憶上のアドレス空間では、領域管理の機能が提供さ
れている。具体的には、UNIXでは、malloc(),fr
ee()という関数がサポートされていて、大きさがsize
の領域を確保したい場合、 address = mlloc(area) ; と、この関数を呼ぶことによって、システム側が主記憶
上にある連続領域を確保し、そのアドレスを「address
」として返す。
s 」に対応する領域を開放しない限り、この領域がmall
oc()で再度渡されることはない。しかし、UNIXの
オフセット空間であるファイルには、この主記憶空間の
領域管理機能はない。
nバイトの領域にユーザが指定した主記憶上のnバイト
の連続領域(これを「ユーザバッファ」と呼ぶ)の内容
を書き込む処理や、逆にあるオフセットからnバイトの
内容をユーザが指定したnバイトのユーザバッファに読
み込むといった処理である。ただし、この領域管理はデ
ータベースなどではレコードの領域などに関して行われ
ている。 (5)バッファへのコピー 二次記憶上にあるページは、システムが管理するバッフ
ァへコピーされるが、更にそこから主記憶上のユーザバ
ッファへコピーされる。これは、ページにまたがった領
域の連続性が保証されないためである。
このような従来システムにおいてアクセス効率のよいオ
フセット空間を実現するためには次のような課題が残さ
れている。 (1)データアクセスの効率性 オフセット空間を実現する場合、まず最も単純な方法と
して、オフセット空間を構成するページを線状にリンク
することが考えられる。
ジを線状にリンクする例を示す。この例では、最初の0
ページ100−0にオフセット0〜3999のデータが
格納され、次の1ページ100−1にオフセット400
0〜7999のデータが格納され、最後の2ページ10
0−2にオフセット8000〜11999のデータが格
納されている。
後ろのデータにアクセスするには途中のページを辿らな
ければならず、入出力の回数、即ち入出力のコストがか
かる。例えば、図20において、オフセットが1000
0の領域にアクセスしようとすると、まず0ページ10
0−0にアクセスし、次に1ページ100−1にアクセ
スし、それから2ページ100−2にアクセスしなけれ
ばならない。即ち、3回の入力が必要になる。
ジを木状にリンクする例を示す。この場合、先頭のペー
ジには後ろに存在する全てのベージのリンク情報が入っ
ている。このように木状にリンクすると、オフセット1
0000の領域にアクセスする場合、まず先頭の0ペー
ジ100−0にアクセスした後に、そのリンク情報L0
2によって2ページ100−2にすぐアクセスできるの
で、2回の入力で済む。UNIXのファイルシステム
は、バランスしていない木状のリンクでオフセット空間
を実現している。
ータは別ページに格納されている。このため、あるユー
ザデータにアクセスする場合、まず管理ページにアクセ
スし、そのあとにユーザページにアクセスすることにな
る。即ち、少なくとも2回の入力が必要になる。管理情
報とユーザデータが同じページに格納されていれば、こ
の問題が解決される。
ータを同じページに格納した例になっており、これは一
般にデータベースでとられる方式である。
より大きくなっていくことが多い。即ち、オフセット空
間は拡張できることが望ましい。また、もしオフセット
空間の大きさの最大値が小さいと、それ以上追加や更新
ができなくなってしまう。
やかなことが望ましい。オフセット空間を大きくする方
法としては、例えば図21の場合、木が1段だが、この
構造を複数段にすることにより実現できる。UNIXで
も段数を増加して拡張する方式がとられている。
データを格納することが、アクセス効率の面から望まし
い。管理情報が多いと、ユーザデータが圧迫されて先頭
の0ページに入るべきデータが追い出され、アクセス効
率が悪くなるからである。
回数が問題となるため、逆に先頭の0ページや木構造の
上位のページには、なるべく管理情報を入れておくこと
が望ましい。すなわち、データ量によって、ユーザデー
タと管理情報のバランスを調節できることが望ましい。
データを格納する場合、図21で、0ページ100−0
のオフセット0から2ページ100−2の9999まで
に、このデータを格納すればよい。
の10000バイトのデータにアクセスする場合、オフ
セット0から3999までは同じ0ページ100−0に
格納されているので、連続しているが、オフセット40
00から7999まで、及び8000から9999まで
はそれぞれ1ページ100−1、2ページ100−2と
いう別ページに格納されるため、連続してはアクセスで
きない。
分かれてオフセット空間に格納されている場合、一般に
10000バイトのデータが入るユーザが用意したユー
ザバッファの先頭から順に、オフセット0〜3999、
オフセット4000〜7999、オフセット8000〜
9999のデータを順次コピーすることによって、連続
した情報としてアクセスできるようにする。
に、一般に、ユーザバッファにコピーするこの方法がと
られている。しかし、この場合、コピーするコストがか
かる。
いデータの場合は、1つのページ上に、100バイトの
領域を連続した領域としてとることが可能である。この
場合は、ユーザバッファにコピーする必要はなく、連続
した領域として直接アクセスできる。
するためには、この両者が実現できることが望ましい。
また、連続領域の大きさの最大値も大きい方が望まし
い。
求される各種の条件を満たしてアクセス効率の良いオフ
セット空間を実現するための記憶装置及び記憶構造を提
供することを目的とする。
図である。 (超立方体構造)本発明の記憶装置は、図1(A)のよ
うに、二次記憶のオフセット空間30を、超立方体(ハ
イパー・キューブ)34のデータ格納構造として実現す
る超立方体構成部18と、超立方体34のデータ構造を
利用して、要求されたオフセット空間30の領域に高速
にアクセスするアクセス処理部20とを備えたことを特
徴とする。
に、次元d、ノード(頂点)及び辺により超立方体34
を定義し、オフセット空間を分割構成する先頭ページ
(トップページ)32−0から最終ページ32−nまで
の各々を、超立方体34のノードに割り当てると共に、
先頭ページ32−0のノードから後続ページのノードに
向けてページ間をリンクする辺を設定する。
ットとサイズ(バイト数)に基づき、超立方体34の次
元d、ノード及び辺で決まるルートに従って要求ページ
にアクセスする。
立方体状に構成することにより、効率の良いデータアク
セスを実現する。
辺を全て用いるのではなく、超立方体34のように、ペ
ージを割り当てた状態で木を構成する部分の辺のみを用
いる。これは、データアクセスのために全ての辺が必要
なわけではなく、ノードを含む木の部分があれば、アク
セス効率を損ねることなく、実現できるためである。
フセット空間を16のページから構成した図1(A)の
0ページ32−0〜15ページ32−15に対応する。
超立方体の各ノードにふられた番号がページ番号であ
る。データは番号の小さい方から順に格納される。
6バイト)とすると、オフセット0〜3999が0ペー
ジ32−0に、オフセット4000〜7999が1ペー
ジ32−1に、オフセット8000〜11999が2ペ
ージ32−2に,・・・という具合に格納される。
間は、0ページ32−0のみが存在する。0ページ32
−1にデータ収まらなくなると、超立方体構成部18は
1ページ32−1を確保し、オフセット空間30が拡張
される。以降、同様に、2ページ32−2、3ページ3
2−3,・・・nページ32−nの順に拡張されてい
く。
つのノードから出る辺の数がそれほど増えないという性
質がある。ここで例えばn次元の超立方体の場合、ノー
ドの数は2のn乗になるが、1つのノードから出る辺の
数は高々nであり、全体の辺の数は、木であることを考
慮すると、ノード数より1つ少ない2のn乗マイナス1
(=2n −1)となる。
の距離、即ち辿る辺の数がそれほど大きくならないとい
う好ましい性質がある。
どでも使われている。並列計算機でも一つのノード、即
ちプロセッサからでる通信線の数は増やしたくないが、
通信コストを少なくするため、ノード間の平均距離も短
くしたいという要求があり、超立方体がバランスがとれ
た構造になっている。本発明は、このような超立方体の
性質を用いて距離と辺の数とのバランスをとり、アクセ
ス効率の良いオフセット空間を実現する。 (ユーザデータと管理情報の共存)超立方体構成部18
は、図1(D)のように、各ページをヘッダ部36とデ
ータ部38で構成し、ヘッダ部36に超立方体のノード
に割り当てた後続ページへのリンク情報を格納する。こ
のため、アクセス処理部20は、先頭ページから要求ペ
ージに向けて各ページのリンク情報を参照しながら順次
アクセスする。
ンク情報として、リンク先のページ識別子46、後続す
るページ中の獲得可能な最大領域サイズ48、及び後続
する部分超立方体の最後のオフセット50を設定する。
ージ領域に要求オフセットが含まれる場合は、超立方体
のルート探索を終了して該当する領域のデータをアクセ
スする。また自己のページ領域に要求オフセットが含ま
れない場合は、要求オフセットが含まれる相続ルートの
ページを選択してアクセスする。
タと管理情報を同じページ入れる構造をとっている。こ
れはアクセス効率を考慮してユーザデータと管理情報の
共存を実現するためである。更に本発明は、ユーザデー
タと管理情報の割合をどの程度にするかカスタマイズで
きるようにしている。極端な場合、トップページに関し
ては管理情報だけにすることも可能である。 (次元と辺の長さによるカスタマイズ)超立方体構成部
18は、図1(C)のように、超立方体34のノードを
含む辺上に割り当てるページの数を辺の長さeと定義し
た場合、辺の長さeを3以上に設定し、一辺に存在する
ページ数を3以上とすることができる。尚、図1(B)
は辺の長さが2の場合である。
元d、ノードを含む辺の長さeを調整することにより、
各種の要求に適応したオフセット空間を実現する。
には2つのノードがのるが、本発明では、1つの辺に3
つ以上のノードがのる構成を更に考えている。ここで辺
にe個のノードがのっている場合、その辺の長さはeで
あるということにする。
並ぶ場合、辺の長さeは3である。また、図1(B)の
場合は辺の長さeは2である。本発明では、次元dと辺
の長さeを調節できるようにしている。
に近い方の頂点のノードのページから1回の入力でアク
セスできることを意味している。例えば、図1(B)の
0ページから、1ページ又は2ページにアクセスするに
は、ともに1回の入力で済む。これは0ページに、同じ
辺にある1ページと2ページへのリンク情報を格納する
ためである。
ま図1(B)のように、辺に2つのノードがのっている
場合、例えばノード4とノード6の間の辺に注目する
と、その辺のノードのうち、ノード0に近いノード4か
らその辺の別のノードであるノード6へアクセスするた
めのリンク情報は1つ必要である。ノード6では、ノー
ド0に戻る方向のノード4に関するリンク情報は必要な
く、ノード7に関するリンク情報だけでよい。
えば図1(C)のノード18、19、20がのっている
辺に注目すると、その辺のノード0に近い端のノード1
8にノード19,20の各々に向かうための(e−1)
個、即ち2個のリンク情報が必要になる。逆にノード1
9、20に関してはノード18に戻る方向のリンク情報
は必要ない。
ようにし、次元dと辺の長さeを調節できることによ
り、オフセット空間に対するいろいろな要求に対応する
ことができる。例えば、次のような相異なる要求に対応
できる。
からわかっており、リンクは必要なく、トップページに
なるべくたくさんのユーザデータを入れたい。
そのためのリンクも必要だが、最初少量なので、トップ
ページにもデータを入れたい。
ンク情報ばかりでよいが、とにかく、リンクを辿る手間
を少なくして、アクセス効率を高めたい。
め構成した超立方体34上にページを割り当てたオフセ
ット空間が一杯になった場合、新たな超立方体をリンク
してオフセット空間を拡張することができる。
された超立方体までページを増してオフセット空間を大
きくしていくことがまず可能である。最初からこれらの
ページをとっておく必要はない。例えば、図1(B)の
例では、0ページから始まり15ページまで拡張でき
る。しかし、15ページまでくると満杯の状態になる。
ータ量がどの程度になるかわからないような場合、次元
dや辺の長さeを必要以上に大きく指定しなければなら
ない等の状況が生じ、不便な場合がある。そこで、最初
に構成したオフセット空間が一杯になった場合、新たな
超立方体をリンクしてオフセット空間を拡張できるよう
にする。
ト空間を越える拡張は、アクセス効率が悪くなるので多
用すべきでなく、データの大きさが予想される時は、き
ちんと次元dや辺の長さeを指定すべきである。 (連続領域と不連続領域の実現)超立方体構成部18
は、超立方体34に割り当てるページの大きさを異なら
せてもよい。例えば超立方体34に割り当てるページの
大きさを、最小サイズ及び最小サイズの倍数又はべき乗
の倍数とする。例えば最小サイズを4KBとすると、2
のべき乗の倍数となる8KB,16KB,32KB,・
・・のページサイズとする。
も、二次記憶上ではデータは一般に不連続になる。しか
し、ユーザがバッファ上に連続領域を用意すれば、ペー
ジからバッファにコピーすることによって連続領域とし
てアクセスできる。しかし、コピーするコストはかか
る。
KB,・・・といったページサイズを持つことで、4K
Bで収まらないデータを連続領域としてコピーすること
なく、直接アクセスすることが可能である。
提供するものであり、外部記憶装置により構築された2
次記憶のオフセット空間と、このオフセット空間を、超
立方体のデータ格納構造として実現する超立方体構成部
18とを備える。この超立方体構成部18の詳細は、記
憶装置の場合と同じである。
造 3.次元と辺の長さによるカスタマイズ 4.オフセット空間の拡張と連続領域の実現 1.一辺にページが2個並ぶ超立方体データ格納構造 図2は、本発明の超立方体データ構造が適用される一般
的な計算機を例にとったハードウェア構成のブロック図
である。
処理装置10、主記憶装置12、2次記憶装置として使
用するディスク装置14、更に本発明の超立方体データ
格納構造を実現する超立方体データ構造装置16を備
え、これらをバス22で接続する。ディスク装置14と
しては、ハードディスクドライブ以外に光ディスクドラ
イブ、半導体メモリ装置など適宜の2次記憶装置が使用
できる。
体構成部18とアクセス処理部20が設けられる。超立
方体構成部18は、2次記憶のオフセット空間を超立方
体のデータ格納構造として実現する。また、アクセス処
理部20は、超立方体のデータ構造を利用して、中央処
理装置10から要求されたオフセット空間の領域に高速
にアクセスする。
した本発明の機能構成のブロック図である。
実現される2次記憶上のオフセット空間30は、例えば
0ページ32−0〜15ページ32−15の16ページ
で構成されている。ここで、オフセット空間30は、中
央処理装置10の論理空間を主記憶装置12の主記憶空
間と共に構成している。
置10の論理空間(CPU空間26)の上位アドレス側
に主記憶装置12の主記憶空間28が割り当てられ、主
記憶空間28に続いて2次記憶上のオフセット空間30
が割り当てられている。
方体構成部18は、例えば図5のような超立方体34の
データ格納構造を実現する。この超立方体34は、図3
のようにオフセット空間16を16個のページ32−0
〜32−15で構成する場合に適用される。
立方体の次元dと一辺に存在するページ数で定義される
辺の長さeの指定で構造が決められる。図5の超立方体
34は、次元dが2次元で、辺の長さeが2、すなわち
一つの辺に2個のページが並ぶ場合である。
セット空間30のページに対応しており、各ノードに図
3の0ページ32−0〜15ページ32−15に対応し
たページを示すノード番号0〜15を割り当てている。
構造に適用される図3のオフセット空間30のページの
データ構造であり、0ページとなるトップページ32−
0を例にとっている。このページのデータ構造は、ヘッ
ダ部36とデータ部38で構成される。
示すヘッダ固定領域40、「noNext」で示される
後続ページ数格納領域42、更にnext[0]〜ne
xt[3]の配列で示される1ページリンク情報44−
1,2ページリンク情報44−2,4ページリンク情報
44−3及び8ページリンク情報44−4が格納され
る。尚、「noNext」は、「no. of nex
t」の略である。
アクセス単位に格納され、例えば「area1」のデー
タ領域52−1と「area2」のデータ領域52−2
が使用されている。
明する。まずヘッダ部36のページ毎のリンク情報を説
明する。図6のトップページ32−0の場合、図5の超
立方体34から明らかなように、トップページから辿る
ことのできる隣接するページは1ページ、2ページ、4
ページ、8ページの4つがあることから、図6のヘッダ
部36の配列next[0]〜配列next[3]に
は、それぞれ1ページリンク情報44−1、2ページリ
ンク情報44−2、4ページリンク情報44−3、及び
8ページリンク情報44−4のそれぞれが格納される。
4−4は、図7にリンク情報44−iとして取り出して
示すデータ構造をもつ。即ち、リンク情報44−iは、
「pageId」で示されたページID46、「max
AreaSize」で示されたマックスエリアサイズ4
8、更に「lastOffset」で示されたラストオ
フセット50を格納している。
らアクセスする別のページに関する情報のことである。
このリンク情報のうち、ページID46には、隣接する
ページのページ識別子が格納される。このページ識別子
46によって、隣接する次のページにアクセスすること
ができる。
ような情報を指すことが多いが、本発明にあっては、こ
のページ識別子に加え、更にマックスエリアサイズ48
やラストオフセット50などを含む広い意味で用いてい
る。
するページ、及びその配下にあるページの中で獲得でき
る最大の連続領域の大きさが「配下ページ中の獲得可能
な最大領域サイズ」として格納される。ここで配下と
は、例えば図5の超立方体34において、隣接するペー
ジを4ページとすると、配下のページは5ページ、6ペ
ージ、7ページとなる。また7ページであれば、配下の
ページはない。
連続領域を実現するために必要な情報であり、長大デー
タのようにページ間に分けられた不連続なデータをつな
ぎ合わせてバッファ上にデータを構成するような場合に
は必要無い。
いう用語を導入する。図5の超立方体34における4ペ
ージ、5ページ、6ページ、7ページの部分について別
の見方をすると、これらのページにより同様に超立方体
を構成している。この様に超立方体34の中の部分的な
超立方体を部分超立方体と呼ぶことにする。例えば、4
ページ、5ページ、6ページ、7ページから成る部分超
立方体は4ページをルートとする部分超立方体と呼ぶこ
とにする。
体も考えられる。更に、0ページをルートとする全体的
な超立方体34も特別な部分超立方体と考えられる。こ
の様な部分超立方体についても次元を考えることができ
る。4ページをルートとする部分超立方体は2次元、ペ
ージ7をルートとする部分超立方体の次元は0次元、0
ページをルートとする部分超立方体の次元は4次元であ
る。
番号を付けた各ノードの次元を、以下の説明で使うため
に便宜的に定義しておく。即ち、あるノードの次元をそ
のノードをルートとする部分超立方体の次元に等しいも
のとして定義する。例えば、4ページのノードは2次
元、7ページのノードは0次元である。
マックスサイズエリア48には隣接するページをルート
とする超立方体の中で獲得できる最大の連続領域の大き
さが格納されるということができる。このマックスエリ
アサイズ48の値を見ることで、後続のページにアクセ
スする前に現在のページのアクセスで新たに領域が獲得
できるかどうかを判定することができる。
ページをルートとする部分超立方体の最後のオフセット
が格納される。このラストオフセット50の値によっ
て、あるオフセットをもった領域にアクセスする場合、
どのページにアクセスすれば良いかが分る。
方式としては、長大データのように不連続な領域をつな
げ合わせる場合、ページの大きさを例えば4KBと固定
し、隣接するページのラストオフセット50に、その隣
接するノードをルートとする部分超立方体でとれる最大
のオフセットの値を設定することも考えられる。
「noNext」で示された後続ページ数格納部42に
は、トップページから辿ることのできるページ数、例え
ば図5の超立方体34の場合には、「4」が格納され
る。
0」で示されたヘッダ固定領域40には、それ以外の管
理情報が格納される。この管理情報としては、例えば0
ページでどれだけのスペースが連続領域のために空きで
残っているかというような管理情報を格納する。
38には、ユーザデータを格納するためのデータ領域が
上から順にとられる。この例では、「area1」と
「area2」で示す2つのデータ領域52−1,52
−2がとられている。この場合データ領域52−1のオ
フセットは0、長さは4Bである。またデータ領域52
−2のオフセットは4、長さは8Bである。
ータ構造を例にとるものであったが、残りの1ページ〜
15ページのデータ構造も基本的には図6のトップペー
ジと同様である。トップページと異なる点は、ヘッダ部
36の「noNext」で示された後続ページ数格納領
域42が、そのページから更に辿れるページの数を格納
することとなり、トップページより数が少なくなる点で
ある。
1ページや15ページなどでは「0」が格納され、2ペ
ージや6ページなどでは「1」が格納され、4ページや
12ページでは「2」が格納され、更に8ページでは
「3」が格納される。
タ構造の内容を図5の超立方体34に対応したルートの
リンクで表わして、一部を具体的に示している。即ち図
6に示した0ページ32−0に格納している4つのペー
ジリンク情報に対応して1ページ32−1、2ページ3
2−2、4ページ32−4及び8ページ32−8のそれ
ぞれが配置される。
ージがないことから「header1」のヘッダ固定領
域のみがヘッダ部に設けられ、それ以外はすべてデータ
部となっている。
8ページ32−8のそれぞれについては、後続するペー
ジが存在する事から後続ページ数格納領域42に後続ペ
ージ数「1」「2」「3」がそれぞれ格納され、更に後
続ページ数に対応した数のページリンク情報が配列ne
xt[i]により格納されている。
2−3がリンクし、4ページ32−4には次の5ページ
32−5及び6ページ32−6のそれぞれがリンクし、
6ページ32−6は更に7ページ32−7にリンクして
いる。
0ページ、12ページにリンクしている。尚、説明の都
合上ページのデータ構造は8ページ32−8及び6ペー
ジ32−6までを示している。
ベースを構築する場合、データベースでは入出力はコス
トがかかるので入出力回数を減らすことが重要である。
本発明にあっては、オフセット空間での入出力を考える
にあたって「距離」という用語を導入する。即ち、オフ
セット空間に於いて、各ページにアクセスするために必
要な入力回数を各ページまでの距離、あるいは各ページ
の距離と呼ぶことにする。
構造を用いて0ページから15ページを格納した場合の
各ページまでの距離、即ち各ページにアクセスするため
に要する入出力回数を各ノードに1〜5の数値で示して
表わしている。
めには、1回の入力が必要であるので、距離は図9のよ
うに「1」である。また図5の1ページにアクセスする
ためには、まず0ページにアクセスし、それから1ペー
ジにアクセスするため2回の入力が必要であるので距離
は図9に示すように「2」である。同様に図5の3ペー
ジでは図9のように距離は「3」、図5の15ページで
は図9のように距離は「5」となる。
たのは、入出力回数といっても同じであるが、図9から
分かるように幾何学的にイメージし易くするためであ
る。
ト空間の平均入出力回数は各ページまでの平均距離とし
て求める事ができる。図5の超立方体34の場合、図9
のような距離をもつ事からこの場合の平均距離は次式で
与えられる。 (1×1+2×4+3×6+4×4+5×1)/16=
3 一方、図20の従来構造に示したように各ページを線状
にリンクしてオフセット空間を実現した場合の平均距離
は次式で与えられる。 (1+2+3+P4+・・・+16)/16=8.5 更に図21の従来構造のように各ページを一段の木状に
リンクしてオフセット空間を実現した場合の平均距離は
次式で与えられる。 (1×1+2×15)/16=1.94 この場合トップページに格納されるリンク情報の数は1
5となる。
ページ内に設けるリンク情報の最大数は、トップページ
の4が最大である。このように本発明の超立方体によっ
て、オフセット空間の平均距離とリンク情報の数のバラ
ンスを取ることができる。
16に設けているアクセス処理部20による超立方体デ
ータ格納構造を利用したオフセット空間のアクセス処理
のフローチャートである。
アドレス及びサイズをパラメータに含むアクセスコマン
ド、具体的にはリードコマンドやライトコマンドを受領
すると、次のステップS2で論理アドレスをオフセット
アドレスに変換する。このオフセットアドレスへの変換
は、図4に示したように論理空間26に対する主記憶空
間28が分かっていることから主記憶空間28のサイズ
アドレスを引く事でオフセット空間30のアドレスとな
るオフセットを求めることができる。
タ構造上の0ページから順番に各ページのヘッダ部に設
けているページリンク情報を参照しながら要求ページに
アクセスする。
セットアドレスからサイズ分のデータをアクセスして処
理を終了する。この場合、リードアクセスであれば要求
ページのオフセットアドレスからサイズ分のデータをリ
ードして要求元に転送する。ライトアクセスであれば、
要求ページのオフセットアドレスからサイズ分のデータ
に対する書き込みを行う。
用実施形態としては、1つのオフセット空間で1つのフ
ァイルを実現することが考えられる。この場合は、2次
記憶上に複数のオフセット空間が実現される。
ジを1つのオフセット空間で実現することも考えられ
る。この場合も2次記憶上に複数のオフセット空間が実
現される。 2.1辺にページが3個以上並ぶ超立方体データ格納構
造 図11は、本発明の超立方体データ格納構造の他の実施
形態であり、この実施形態にあっては、図5の1辺に2
個のページが並べる超立方体34を拡張し、超立方体3
4の1辺に3個以上のページを並べるようにしたことを
特徴とする。
次元dは4であるが、1辺に並べるページの数を3個、
即ち辺の長さeを3と指定することで超立方体34を構
成している。この場合、オフセット空間に格納すること
のできるページ数は最大で81ページとなる。
ページを乗せることにより、各ページに設けるリンク情
報は増えてしまうが、ページ間の平均距離を減らすこと
ができる。
格納構造を実現するためのページデータ構造であり、ト
ップページ60−0を例にとっている。この場合もペー
ジのデータ構造はヘッダ部36とデータ部38で構成さ
れる。ヘッダ部36には図6と同様、「header
1」で示されるヘッダ固定領域40、「noNext」
で示される後続ページ数格納領域42が設けられる。
ク情報が格納されるが、この実施形態にあっては1辺に
3個のページを割り当てているため、図6の場合の4つ
のページリンク情報の2倍となる8つのページ情報が格
納されている。
辿れる隣接するページは、1ページ、2ページ、3ペー
ジ、6ページ、9ページ、18ページ、27ページ、5
4ページの8ページである。この内、同一辺上には1ペ
ージと2ページ、3ページと6ページ、9ページと18
ページ、27ページと54ページのそれぞれが存在す
る。
べた場合の超立方体34における各ページまでの入力回
数となる距離を1〜5の数字で表わしている。この場合
の各ページまでの平均距離は次式で与えられる。 (1×1+2×8+3×24+4×32+5×16)/
81=3.66・・・ 即ち、各ページにアクセスするための平均入力回数は、
ページが全体で81ページあるにもかかわらず、約3.
66回となっている。またページに格納されるリンク情
報の数もトップページの8個が最大である。
ページを線状にリンクしてオフセット空間を実現した場
合の平均距離は次式となる。 (1+2+3+4+・・・+81)/81=41 また図21のように、81ページを1段の木状にリンク
してオフセット空間を実現した場合の平均距離は次式で
与えられる。 (1×1+2×80)/81=1.99 ここで図21の場合の平均距離が約1.99回と最小に
なるが、この場合にトップページに格納されるリンク情
報の数は80となり、本発明におけるトップページのリ
ンク情報の数が高々8であるのに比べるとリンク情報の
数が各段に多い。 3.次元と辺の長さによるカスタマイズ 本発明の超立方体データ格納構造にあっては、オフセッ
ト空間のアクセスにおいて要求されるユーザによる各種
の条件に適合したカスタマイズのための調整が可能であ
る。このカスタマイズを説明する前に、オフセット空間
が何バイトの空間からなるかを示すオフセット空間の大
きさを説明する。
いたオフセット空間のスペースサイズは、ページの大き
さが固定であれば、超立方体の次元dと辺の長さeの指
定で決まる。ページの大きさは可変でも構わないが、説
明を簡単にするため、ここではページの大きさは固定で
pバイトとする。また次元をd、辺の長さをe、この場
合のオフセット空間の大きさをS(d,e)で表わすこ
とにする。
ッダ部36におけるヘッダ固定領域40の大きさをhバ
イト、後続ページとなる子供がいる場合に作られる後続
ページ数格納部42をaバイト、同じく子供がいる場合
に作られる配列next[]のページリンク情報の1つ
の大きさをbバイトとする。
d,e)で表わし、この次元iのノードのスペースの大
きさをノードスペースNS(i,e)で表わす。このノ
ードスペースNS(i,e)は、次元dには依存しな
い。このように定義した場合、オフセット空間のスペー
スサイズS(d,e)は次式で与えられる。 S(d,e)=Sum[i=0,d]NS(i,e)*NC(i,d,e) (1) 但し、S(d,e):オフセット空間サイズ p :ページサイズ d :次元 e :辺の長さ h :ヘッダ固定領域のバイト数 a :noNextのバイト数 b :配列nextのバイト数 ここで、(1)式におけるSum[i=0,d]は、その関数をf
(i)とすると Sum[i=0,d]f(i)=f(0)+f(1)+・・・+f(n) を表わしている。また、このスペースサイズS(d,
e)をもつオフセット空間を構築する超立方体の次元i
のノード個数NC(i,d,e)は次式で与えられる。
-1) は、eの(d-i-1) 乗を意味する。
e)は次式で与えられる。
次元dと辺の長さeをユーザが指定できるようにしてお
り、この値をユーザが指定することによって次のような
カスタマイズを行うことができる。 (1)格納するデータ量が多い場合 次元dや辺の長さeを大きくする。 (2)格納するデータ量が比較的少ない場合 この場合はユーザデータをたくさん入れ、管理情報を少
なくしたい。このためには次元dや辺の長さeを少なく
することによって実現できる。 (3)平均距離と管理情報のバランスを取りたい場合 この場合は次元dと辺の長さeとして上記2つの中間的
な値を指定する。 (4)平均距離を短くしたい場合 この場合は辺の数eを多くすることによって実現でき
る。但し、この場合には同じページ内に入るユーザデー
タの量はリンク情報により圧迫され、少なくなる。
くしたい場合について詳細に説明すると次のようにな
る。
入力回数を少なくして高速アクセスしたい場合の最も極
端な構成は、トップページを全て管理情報で一杯にする
ことである。即ち、オフセット空間のスペースサイズS
(d,e)を求める(1)式で示した記号を使用する
と、トップページを管理情報で一杯にした場合の辺の長
さeは次のように表わされる。 e=floor ((p−h−a)/b*d+1) (4) 但し、floor ()は、括弧内の値以下の最大の整数を意
味する。いまページの大きさpを4KB(=4096バ
イト)、ヘッダ部36の固定領域40の長さhを96バ
イト、後続ページを持つ子供がいる場合に作られる後続
ページ数格納領域42の大きさaを4バイト、同じく子
供がいる場合に作られるリンク情報44−iの1つの要
素の大きさbを12バイトに仮定する。 この場合、次
元d、辺の長さe、及びそのとき実現できるオフセット
空間の大きさ、即ちスペースサイズS(d,e)の関係
は、図14の表に示すようになる。この図14の表でオ
フセット空間の大きさ、即ちスペースサイズS(d,
e)の計算は前記(1)式を使用している。また計算し
た辺eの長さは非常に大きい。
およそ0次元のノードのスペースの大きさの合計で決ま
る。即ち、次式でスペースサイズS(d,e)が算出さ
れる。 S(d,e)〜NS(0,d,e) *NC(0,d,e) =(e-1) *e^(d-1) *(p-h) (5) この(5)式で「〜」は、おおよそ等しいことを表わし
ている。図14は(5)式で算出したオフセット空間の
概算結果であるが、実際のオフセット空間の大きさは図
14の表の値よりも若干大きくなる。この図14の結果
から明らかなように、比較的少ない段数即ち次元dで非
常に大きなオフセット空間を構築することができる。 4.オフセット空間の拡張と連続領域の実現 図5及び図11に示した本発明のデータ格納構造を実現
する超立方体34にあっては、次元dと辺の長さeで指
定された超立方体のノード数によりオフセット空間の最
大ページ数が決まっており、使用したページ数が最大ペ
ージ数に達してオフセット空間が一杯になった場合、本
発明にあっては更に、超立方体のデータ格納構造を増加
してオフセット空間の拡張機能を備える。
間の拡張である。超立方体34で決まるオフセット空間
が一杯になった場合、例えば15ページは通常リンクを
持たないが、ここで拡張のために15ページの構造を0
ページと同じものにする。即ち、15ページから0ペー
ジと同じ構造を持つ超立方体62を追加し、16ページ
から31ページまで拡張可能とする。
1ページまで一杯になった場合には、同様に31ページ
から0ページと同じように、0ページからの超立方体を
拡張し、32ページから47ページまで拡張可能とす
る。このようにして本発明の超立方体は、基本的にはデ
ィスク装置等の二次記憶の領域が許す限りいくらでも拡
張できるようにすることが可能である。
構成による拡張方法は、最初に指定した次元dと辺の長
さeで構成した超立方体によるオフセット空間が一杯に
なった場合、例えば次元dを増加させる方法である。但
し、このように次元dを増加させた場合にはページ内の
管理情報を大きくする必要があり、一杯になった際のオ
フセット空間の情報を別の領域に複写した後に次元dを
増加させて、もう一度各ページの管理情報を作り直す必
要がある。
いて、ページの大きさに依存せずに連続領域を実現する
ための実施形態を説明する。連続領域を実現するために
は、より大きなサイズのページを実現すればよい。より
大きなページのサイズを設定する方法としては次のもの
がある。
倍数分のページである8KB,12KB,16KB,・
・・のページを用いる。
倍々となる大きさのページ、即ち最小ページに2のべき
乗の倍数を乗じた例えば4KB,8KB,16KB,・
・・というページを用いる。
合、ページ開始位置を示すポインタはページを連続な領
域として見えるようにしなければならない。そのために
はシステム側でこれらの大きさのページを乗せる連続し
たバッファを用意する必要がある。
二次記憶上では必ずしも連続である必要はない。例えば
全て二次記憶上では4KBの大きさに分けられており、
この場合、システムが準備したバッファにコピーするこ
とで例えば8KB,12KB,16KB,・・・といっ
た連続領域に見せればよい。
いて、データ部におけるデータの格納状態を管理するた
めのページ管理領域の実現方法を説明する。このページ
内のデータ部38におけるデータの格納状態を示すペー
ジ領域管理の情報は、ヘッダ部36の固定格納領域40
に管理情報を格納している。
のページ領域管理の第1の方法としては、主記憶の領域
管理と同様な方法を使用すればよい。
いる例えばデータ領域52−1,52−2とアドレスの
対応関係を示すリストを作成し、このリストに従って各
領域を管理し、領域が開放された場合はその領域の再利
用を可能とする。
管理するページ領域管理の実現方法としては、ヒープに
よる方法がある。このヒープによる方法は、主記憶の領
域管理に比べると、より簡単な方法である。
タ部38に確保しておき、このヒープ領域の先頭位置
に、最初にあるポインタを設けて示しておく。アクセス
により領域が要求された場合には、ポインタから要求さ
れた長さ分だけの領域を介し、ポインタを要求領域分だ
け進めておく。しかしながら、このヒープによる方法
は、使用済みの領域が途中で開放されても、その開放が
わからないことから、再利用はできない。
ず、その目的と利点を損なわない適宜の変形を含む。ま
た本発明は上記の実施形態に示した数値による限定は受
けない。
ば、次の効果が得られる。
をとっているため、アクセス効率の良いオフセット空間
が実現できる。具体的には、従来からのデータ、複雑な
データ、長大データを効率よくアクセスして格納するこ
とができる。
への対応が適切にできる。例えば、超立方体のページま
での入力回数を示す辺の長さを3以上でも可能としたこ
とと、この辺の長さと次元の2つのパラメータによって
管理情報とユーザ情報のバランスをカスタマイズでき、
いろいろなオフセット空間に対する要求に適切に応える
ことができる。
合、あるいは多くなる可能性がある場合、更には長大デ
ータの場合、トップページに管理情報を集めるようにす
ることで全体の平均アクセス効率を高めるという要求に
応えることができる。
ージの管理情報を少なくし、なるべくユーザデータの部
分がトップページの管理情報に圧迫されないようにする
ことで、アクセス回数をトップページに集中させること
で効率を高めることができる。
報とユーザデータをバランスよく共存させることができ
る。また本発明にあっては、予め指定した次元と辺の長
さで決まる超立方体のデータ格納構造を持つオフセット
空間でページ単位に必要な分だけ拡張でき、更にオフセ
ット空間が一杯になった場合には新たな超立方体のデー
タ構造を持つ拡張空間の追加あるいは次元の増加による
再構成で、最初に指定したオフセット空間より大きな空
間に拡張することができる。
にコピーすることなく、オフセット空間上のページサイ
ズを変えることにより空間内に連続領域をとり、この連
続領域のデータをユーザにコピーの手間をかけることな
く提供することができる。
セット空間の説明図
の超立方体のデータ記憶構造の説明図
ット空間の説明図
ット空間アクセス処理のフローチャート
明の超立方体のデータ記憶構造の説明図
にのみ管理情報を格納した場合の次元dと辺の長さeに
対するオフセット空間の大きさの対応関係の説明図
った場合の拡張構造の説明図
な説明図
した場合のベージ拡張の説明図
ト空間の説明図
ト空間の説明図
領域サイズ) 50:lastOffset(そのページをルートとする部分超立方
体の最後のオフセット) 62:拡張超立方体
2)
の部分レコードR11、レコードR12になり、レコー
ドR11は0ページ104−0に、レコードR12は2
ページ104−2に格納された場合を示す。このように
一まとまりのデータが1つのページに収まらなくなる状
態をオーバフローと呼ぶ。
はUNIX等のOSにおけるファイルシステムがある。
UNIXのファイルシステムの特徴は以下の通りであ
る。 (1)オフセット空間 UNIXのファイルはオフセット空間と考えられる。U
NIXファイルのデータには、各バイトに先頭から0、
1、2、・・・とオフセットがふられている。 (2)管理ページを別に管理 UNIXでは、ユーザデータと管理情報を別々のページ
で管理している。この管理情報を格納するページを管理
ページと呼ぶことにする。 (3)管理ページは木構造 管理ページはバランスしていない木構造として実現され
ている。 (4)領域管理の機能がない 主記憶上のアドレス空間では、領域管理の機能が提供さ
れている。具体的には、UNIXでは、malloc(),fr
ee()という関数がサポートされていて、大きさがsize
の領域を確保したい場合、 address = malloc(area) ; と、この関数を呼ぶことによって、システム側が主記憶
上にある連続領域を確保し、そのアドレスを「address
」として返す。
フセット空間16のページから構成した図1(A)の0
ページ32−0〜15ページ32−15に対応する。超
立方体の各ノードにふられた番号がページ番号である。
データは番号の小さい方から順に格納される。
ージ領域に要求オフセットが含まれる場合は、超立方体
のルート探索を終了して該当する領域のデータをアクセ
スする。また自己のページ領域に要求オフセットが含ま
れない場合は、要求オフセットが含まれる後続ルートの
ページを選択してアクセスする。
マックスエリアサイズ48には隣接するページをルート
とする超立方体の中で獲得できる最大の連続領域の大き
さが格納されるということができる。このマックスエリ
アサイズ48の値を見ることで、後続のページにアクセ
スする前に現在のページのアクセスで新たに領域が獲得
できるかどうかを判定することができる。
「noNext」で示された後続ページ数格納領域42
には、トップページから辿ることのできるページ数、例
えば図5の超立方体34の場合には、「4」が格納され
る。
ページを線状にリンクしてオフセット空間を実現した場
合の平均距離は次式となる。 (1+2+3+4+・・・+81)/81=41 また図21のように、81ページを1段の木状にリンク
してオフセット空間を実現した場合の平均距離は次式で
与えられる。 (1×1+2×80)/81=1.99 ここで図21の場合の平均距離が約1.99回と最小に
なるが、この場合にトップページに格納されるリンク情
報の数は80となり、本発明におけるトップページのリ
ンク情報の数が高々8であるのに比べるとリンク情報の
数が格段に多い。 3.次元と辺の長さによるカスタマイズ 本発明の超立方体データ格納構造にあっては、オフセッ
ト空間のアクセスにおいて要求されるユーザによる各種
の条件に適合したカスタマイズのための調整が可能であ
る。このカスタマイズを説明する前に、オフセット空間
が何バイトの空間からなるかを示すオフセット空間の大
きさを説明する。
ッダ部36におけるヘッダ固定領域40の大きさをhバ
イト、後続ページとなる子供がいる場合に作られる後続
ページ数格納領域42をaバイト、同じく子供がいる場
合に作られる配列next[]のページリンク情報の1
つの大きさをbバイトとする。
Claims (18)
- 【請求項1】二次記憶のオフセット空間を、超立方体の
データ格納構造として実現する超立方体構成部と、 前記超立方体のデータ構造を利用して、要求されたオフ
セット空間の領域にアクセスするアクセス処理部と、を
備えたことを特徴とする記憶装置。 - 【請求項2】請求項1記載の記憶装置に於いて、 前記超立方体構成部は、次元、ノード及び辺により超立
方体を定義し、前記オフセット空間を分割構成する先頭
ページから最終ページまでの各々を前記超立方体のノー
ドに割り当てると共に、先頭ページのノードから後続ペ
ージのノードに向けてページ間をリンクする辺を設定
し、 前記アクセス処理部は、要求されたオフセットに基づ
き、前記超立方体の次元、ノード及び辺で決まるルート
に従って前記要求ページにアクセスすることを特徴とす
る記憶装置。 - 【請求項3】請求項2記載の記憶装置に於いて、 前記超立方体構成部は、前記各ページをヘッダ部とデー
タ部で構成し、前記ヘッダ部に前記超立方体のノードに
割り当てた後続するページのリンク情報を格納し、 前記アクセス処理部は、先頭ページから要求ページに向
けて各ページのリンク情報を参照しながら順次アクセス
することを特徴とする記憶装置。 - 【請求項4】請求項3記載の記憶装置に於いて、 前記超立方体構成部は、前記ヘッダ部のリンク情報とし
て、リンク先のページ識別子、後続するページ中の獲得
可能な最大領域サイズ、及び後続する部分超立方体の最
後のオフセットを設定し、 前記アクセス処理部は、自己のページ領域に要求オフセ
ットが含まれる場合は、超立方体構造のルート探索を終
了して該当する領域のデータをアクセスし、自己のペー
ジ領域に要求オフセットが含まれない場合は、要求オフ
セットが含まれる後続ルートのページにアクセスするこ
とを特徴とする記憶装置。 - 【請求項5】請求項1乃至4記載の記憶装置に於いて、
前記超立方体構成部は、前記超立方体のノードを含む辺
上に割り当てるページの数を辺の長さと定義し、該辺の
長さを2以上に設定し、一辺に存在するページ数を2以
上としたことを特徴とする記憶装置。 - 【請求項6】請求項1乃至5記載の記憶装置に於いて、
前記超立方体構成部は、予め構成した前記超立方体上に
ページを割り当てたオフセット空間が一杯になった場
合、新たな超立方体をリンクしてオフセット空間を拡張
することを特徴とする記憶装置。 - 【請求項7】請求項1乃至6記載の記憶装置に於いて、
前記超立方体に割り当てるページの大きさを異ならせた
ことを特徴とする記憶装置。 - 【請求項8】請求項乃至7記載の記憶装置に於いて、前
記超立方体に割り当てるページの大きさを、最小サイズ
及び最小サイズの倍数又はべき乗の倍数としたことを特
徴とする記憶装置。 - 【請求項9】請求項1乃至8記載の記憶装置に於いて、
前記超立方体構成部は、前記超立方体の次元d及びノー
ドを含む辺上に割り当てるページ数で定義される辺の長
さeを調整することにより、各種の要求に適応すること
を特徴とする記憶装置。 - 【請求項10】外部記憶装置により構築された2次記憶
のオフセット空間と、 前記オフセット空間を、超立方体のデータ格納構造とし
て実現する超立方体構成部と、を備えたことを特徴とす
るデータ記憶構造。 - 【請求項11】請求項10記載のデータ記憶構造に於い
て、前記超立方体構成部は、次元、ノード及び辺により
超立方体を定義し、前記オフセット空間を分割構成する
先頭ページから最終ページまでの各々を前記超立方体の
ノードに割り当てると共に、先頭ページのノードから後
続ページのノードに向けてページ間をリンクする辺を設
定したことを特徴とするデータ記憶構造。 - 【請求項12】請求項11記載のデータ記憶構造に於い
て、前記超立方体構成部は、前記各ページをヘッダ部と
データ部で構成し、前記ヘッダ部に前記超立方体のノー
ドに割り当てた後続するページのリンク情報を格納した
ことを特徴とするデータ記憶構造。 - 【請求項13】請求項12記載のデータ格納装置に於い
て、前記超立方体構成部は、前記ヘッダ部のリンク情報
として、リンク先のページ識別子、後続するページ中の
獲得可能な最大領域サイズ、及び後続する部分超立方体
の最後のオフセットを設定したことを特徴とするデータ
記憶構造。 - 【請求項14】請求項10乃至13記載のデータ記憶構
造に於いて、前記超立方体構成部は、前記超立方体のノ
ードを含む辺上に割り当てるページの数を辺の長さと定
義し、該辺の長さを2以上に設定し、一辺に存在するペ
ージ数を2以上としたことを特徴とするデータ記憶構
造。 - 【請求項15】請求項10乃至14記載のデータ記憶構
造に於いて、前記超立方体構成部は、予め構成した前記
超立方体上にページを割り当てたオフセット空間が一杯
になった場合、新たな超立方体をリンクしてオフセット
空間を拡張することを特徴とするデータ記憶構造。 - 【請求項16】請求項10乃至15記載のデータ記憶構
造に於いて、前記超立方体に割り当てるページの大きさ
を異ならせたことを特徴とするデータ記憶構造。 - 【請求項17】請求項10乃至16記載のデータ記憶構
造に於いて、前記超立方体に割り当てるページの大きさ
を、最小サイズ及び最小サイズの倍数又はべき乗の倍数
としたことを特徴とするデータ記憶構造。 - 【請求項18】請求項10乃至17記載のデータ記憶構
造に於いて、前記超立方体構成部は、前記超立方体の次
元d及びノードを含む辺上に割り当てるページ数で定義
される辺の長さeを調整することにより、各種の要求に
適応することを特徴とする超立方体記憶構造。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13963699A JP3859110B2 (ja) | 1999-05-20 | 1999-05-20 | 記憶装置及びデータ記憶構造 |
US09/570,443 US6701319B1 (en) | 1999-05-20 | 2000-05-12 | Storing apparatus and data storing structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13963699A JP3859110B2 (ja) | 1999-05-20 | 1999-05-20 | 記憶装置及びデータ記憶構造 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000330835A true JP2000330835A (ja) | 2000-11-30 |
JP3859110B2 JP3859110B2 (ja) | 2006-12-20 |
Family
ID=15249904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13963699A Expired - Fee Related JP3859110B2 (ja) | 1999-05-20 | 1999-05-20 | 記憶装置及びデータ記憶構造 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6701319B1 (ja) |
JP (1) | JP3859110B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115389A (ko) * | 2018-04-02 | 2019-10-11 | 주식회사 큐브시스템 | 통계 블록을 포함하는 큐브체인 형태의 데이터 관리 엔진 및 데이터 방법 |
KR20190115354A (ko) * | 2018-04-02 | 2019-10-11 | 주식회사 큐브시스템 | 블록 체인 블록들의 연결 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001169067A (ja) * | 1999-12-10 | 2001-06-22 | Ricoh Co Ltd | 画像処理装置、画像情報管理方法およびその方法をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
EP2597811B1 (en) * | 2001-08-15 | 2019-10-09 | Bentley Systems, Incorporated | Method and system for storing large data files |
US7428548B2 (en) * | 2001-08-15 | 2008-09-23 | Bentley Systems, Inc. | Computer readable medium for storing large data files |
US7162479B2 (en) * | 2001-08-15 | 2007-01-09 | Bentley Systens, Incorporated | Method and system for storing large data files |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367692A (en) * | 1991-05-30 | 1994-11-22 | Thinking Machines Corporation | Parallel computer system including efficient arrangement for performing communications among processing node to effect an array transposition operation |
US5355492A (en) * | 1991-11-05 | 1994-10-11 | Thinking Machines Corporation | System for compiling parallel communications instructions including their embedded data transfer information |
US5845331A (en) * | 1994-09-28 | 1998-12-01 | Massachusetts Institute Of Technology | Memory system including guarded pointers |
US6157929A (en) * | 1997-04-15 | 2000-12-05 | Avid Technology, Inc. | System apparatus and method for managing the use and storage of digital information |
US5890151A (en) * | 1997-05-09 | 1999-03-30 | International Business Machines Corporation | Method and system for performing partial-sum queries on a data cube |
US5963936A (en) * | 1997-06-30 | 1999-10-05 | International Business Machines Corporation | Query processing system that computes GROUPING SETS, ROLLUP, and CUBE with a reduced number of GROUP BYs in a query graph model |
US5978796A (en) * | 1997-06-30 | 1999-11-02 | International Business Machines Corporation | Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database |
US5987467A (en) * | 1997-08-15 | 1999-11-16 | At&T Corp. | Method of calculating tuples for data cubes |
US6003036A (en) * | 1998-02-12 | 1999-12-14 | Martin; Michael W. | Interval-partitioning method for multidimensional data |
US6289352B1 (en) * | 1998-05-29 | 2001-09-11 | Crystal Decisions, Inc. | Apparatus and method for compound on-line analytical processing in databases |
-
1999
- 1999-05-20 JP JP13963699A patent/JP3859110B2/ja not_active Expired - Fee Related
-
2000
- 2000-05-12 US US09/570,443 patent/US6701319B1/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115389A (ko) * | 2018-04-02 | 2019-10-11 | 주식회사 큐브시스템 | 통계 블록을 포함하는 큐브체인 형태의 데이터 관리 엔진 및 데이터 방법 |
KR20190115391A (ko) * | 2018-04-02 | 2019-10-11 | 주식회사 큐브시스템 | 에스크로 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 관리 방법 |
KR20190115354A (ko) * | 2018-04-02 | 2019-10-11 | 주식회사 큐브시스템 | 블록 체인 블록들의 연결 방법 |
KR102174801B1 (ko) * | 2018-04-02 | 2020-11-05 | 주식회사 큐브시스템 | 에스크로 블록을 포함하는 큐브 체인 형태의 데이터 관리 엔진 및 데이터 관리 방법 |
KR102194190B1 (ko) * | 2018-04-02 | 2020-12-23 | 주식회사 큐브시스템 | 통계 블록을 포함하는 큐브체인 형태의 데이터 관리 엔진 및 데이터 방법 |
KR102617135B1 (ko) | 2018-04-02 | 2023-12-26 | 주식회사 큐브시스템 | 블록 체인 블록들의 연결 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP3859110B2 (ja) | 2006-12-20 |
US6701319B1 (en) | 2004-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2625385B2 (ja) | マルチプロセッサシステム | |
EP1643393B1 (en) | System and method for managing access to files in a distributed file system | |
US6871245B2 (en) | File system translators and methods for implementing the same | |
CN102929786B (zh) | 非易失性存储设备集合的易失性存储器表示 | |
JP3197815B2 (ja) | 半導体メモリ装置及びその制御方法 | |
JP3836740B2 (ja) | オペレーティング・システム・データをプライベート化する装置、方法、およびコンピュータ・プログラム | |
JPH06318168A (ja) | 階層データ記憶管理装置、方法およびそのネットワーク | |
EP1091295B1 (en) | Data management system using a plurality of data operation modules | |
JP5556025B2 (ja) | ストレージシステム | |
JP2000330835A (ja) | 記憶装置及びデータ記憶構造 | |
JP2024525170A (ja) | データ圧縮方法及び装置 | |
JPH0358249A (ja) | フアイルのアクセス方法 | |
KR20210049703A (ko) | 다수의 키-밸류 저장소들에 적응(적용)하기 위한 방법 및 시스템 | |
US7171425B2 (en) | Structure and method for sharing large databases | |
Bangalore et al. | MPI++: issues and features | |
JP6956043B2 (ja) | 演算装置、および検索方法 | |
CN113448921A (zh) | 一种存储管理方法、装置及存储系统 | |
JP3520527B2 (ja) | データ管理方法 | |
TWI284806B (en) | Method for managing external memory of a processor and chip for managing external memory | |
WO2000070466A1 (fr) | Procede d'acces a un dispositif e/s et une memoire utilisant une adresse virtuelle et support enregistre comportant un programme destine a executer le procede d'acces a un dispositif e/o et une memoire utilisant une adresse virtuelle | |
US11954510B2 (en) | Native-image in-memory cache for containerized ahead-of-time applications | |
JP3304445B2 (ja) | プログラム生成処理装置 | |
Nimako et al. | PEXTA: A Parallel Chunked Extendible Dense Array I/O for Global Array (GA) | |
JP3266914B2 (ja) | データ管理装置 | |
Otoo et al. | Parallel access of out-of-core dense extendible arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060721 |
|
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: 20060822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060914 |
|
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: 20090929 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100929 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110929 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120929 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120929 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130929 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |