JP2003296157A - Data storage device, data processor, data processing method, and data processing program - Google Patents

Data storage device, data processor, data processing method, and data processing program

Info

Publication number
JP2003296157A
JP2003296157A JP2002094372A JP2002094372A JP2003296157A JP 2003296157 A JP2003296157 A JP 2003296157A JP 2002094372 A JP2002094372 A JP 2002094372A JP 2002094372 A JP2002094372 A JP 2002094372A JP 2003296157 A JP2003296157 A JP 2003296157A
Authority
JP
Japan
Prior art keywords
data
predetermined
stored
storage device
search
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.)
Pending
Application number
JP2002094372A
Other languages
Japanese (ja)
Inventor
Takumi Ouchi
拓実 大内
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002094372A priority Critical patent/JP2003296157A/en
Publication of JP2003296157A publication Critical patent/JP2003296157A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data storage device, data processor, data processing method and a data processing program capable of reducing the number of retrieval steps to speed up the retrieval processing. <P>SOLUTION: This data storage device has a 2-n-ary tree data structure and stores a plurality of sets of range data. In this device, the range data are stored in a terminal storage area obtained by tracing branch points having, as an index, each n-bit value obtained by partitioning the start address of the range data from the top by n-bits in order from the top of the 2-n-ary tree. <P>COPYRIGHT: (C)2004,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、登録された所定の
範囲データに対する検索機能、或いは登録機能を有する
データ処理装置、又はそのデータ処理方法、又はデータ
処理プログラム、又は該所定の範囲データを登録したデ
ータ記憶装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device having a search function or registration function for registered predetermined range data, a data processing method therefor, a data processing program, or the predetermined range data. Data storage device.

【0002】[0002]

【従来の技術】現在、コンピュータ間で通信を行うため
の通信用ハードウェアには様々なタイプがあるが、近
年、コンピュータ自体のCPUでの処理をある程度肩代
わりし、コンピュータのCPUの負荷を軽減させること
のできる通信用ハードウェアが広く用いられてきてい
る。その一例として、InfiniBandシステムが挙げられ
る。InfiniBandでは、コンピュータのメモリ上のアドレ
ス範囲をデータの送信元や送信先として指定し、Infini
Bandハードウェアがその範囲のデータに直接アクセスす
る機能がある。この機能を利用するためには、「Infini
Bandハードウェアがアクセスできる」という属性を、通
信する前にメモリの適切なアドレス範囲に付与する必要
がある。
2. Description of the Related Art Currently, there are various types of communication hardware for performing communication between computers, but in recent years, the processing by the CPU of the computer itself has been taken over to some extent to reduce the load on the CPU of the computer. The capable communication hardware has been widely used. An example is the InfiniBand system. InfiniBand specifies the address range on the computer's memory as the source or destination of data,
Band hardware has the ability to directly access that range of data. In order to use this function, "Infini
The attribute "Band hardware can access" must be attached to the appropriate address range in memory before communication.

【0003】このようなInfiniBandを用いたシステムの
処理についての概略を説明する。図13は、当該システ
ムにおける機能の概略を示したものである。図におい
て、メモリ10には、プログラム領域20、アクセス可
能とされたアドレス範囲の記憶領域30、送信データを
格納した領域40が含まれている。更に、図の(1)か
ら(4)で、送信動作の詳細が示されている。
An outline of processing of the system using such InfiniBand will be described. FIG. 13 shows an outline of functions in the system. In the figure, the memory 10 includes a program area 20, a storage area 30 of an accessible address range, and an area 40 storing transmission data. Further, details of the transmission operation are shown in (1) to (4) of the figure.

【0004】(1)の点線枠に示される記憶領域には、
送信対象となるデータ(送信データ40)が格納されて
おり、該格納されたアドレス範囲にInfiniBandハードウ
ェアがアクセス可能となる属性を付与する。 (2)アドレス範囲格納領域30に、(1)で属性付与
されたアドレス範囲を記憶しておく。 (3)では、本システム上で動作しているプログラムが
通信を行う場合、本プログラムが指定する送信元または
送信先のアドレス範囲が、(2)で記憶されたアドレス
範囲に含まれていることを確認する。 (4)指定する送信元または送信先のアドレス範囲が、
(3)で属性付与されたアドレス範囲であると確認され
たならば、InfiniBandハードウェアにこのアドレス範囲
のメモリにアクセスさせ、通信を実行する。
In the storage area indicated by the dotted line frame (1),
Data to be transmitted (transmission data 40) is stored, and an attribute that allows InfiniBand hardware to access is added to the stored address range. (2) The address range assigned in (1) is stored in the address range storage area 30. In (3), when a program running on this system communicates, the source or destination address range specified by this program must be included in the address range stored in (2). To confirm. (4) The specified source or destination address range is
If it is confirmed in (3) that the address range is attributed, the InfiniBand hardware is made to access the memory in this address range and communication is executed.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上記
(3)の検索に際して、従来は、登録された範囲データ
の集合を一つ一つ順番に調べていく手法をとっている。
従って、調べなければならない範囲データの個数は、平
均で全登録数の1/2、最悪の場合で登録されたすべて
の範囲データについて調べなければならない。このた
め、範囲データの登録数が増加すると、それに比例して
検索時間も増加するという問題が発生する。
However, in the search of (3) above, conventionally, a method has been adopted in which a set of registered range data is sequentially examined one by one.
Therefore, the number of range data to be checked is ½ of the total number of registrations on average, and all range data registered in the worst case must be checked. Therefore, when the number of registered range data increases, the search time also increases proportionately.

【0006】この発明は、そのような問題を解決するた
めになされたものであり、検索ステップ数を削減し、検
索時間を短縮することができるデータ記憶装置、データ
処理装置、データ処理方法、データ処理プログラムを提
供することを目的とする。
The present invention has been made in order to solve such a problem, and is capable of reducing the number of search steps and the search time, a data storage device, a data processing device, a data processing method, and a data processing device. The purpose is to provide a processing program.

【0007】[0007]

【課題を解決するための手段】上述した課題を解決する
ため、本発明は、2^n分木型のデータ構造を有し、複
数の第1のデータの集合を記憶するデータ記憶装置であ
って、前記第1のデータは、所定のアドレス範囲とその
属性を示すデータであり、前記第1のデータは、2^n
分木において、前記第1のデータと関連付けられる第2
のデータを上位からnビットずつ区切って得られる各n
ビットの値がインデックスとされる分岐点を、2^n分
木の上位から順に辿ることにより得られる末端の記憶領
域に格納されていることを特徴とするデータ記憶装置を
提供する。
In order to solve the above problems, the present invention is a data storage device having a data structure of 2 ^ n-branch type and storing a plurality of first data sets. The first data is data indicating a predetermined address range and its attribute, and the first data is 2 ^ n.
A second tree associated with the first data in the branch tree
N obtained by separating the data of n from the upper bit by n bits
There is provided a data storage device characterized in that a branch point whose bit value is used as an index is stored in a storage area at an end obtained by sequentially tracing from a higher order of a 2 ^ n branch tree.

【0008】このような構成によれば、該データ記憶装
置から第1のデータを検索する場合に、本発明では、リ
ンクを辿る処理回数やアドレス範囲データの比較処理が
大幅に減少する。従って、従来のデータ構造に比して検
索処理が高速化し、検索時間が短縮する。
With such a configuration, when the first data is retrieved from the data storage device, in the present invention, the number of processings to follow the link and the comparison processing of the address range data are greatly reduced. Therefore, the search processing becomes faster and the search time is shortened as compared with the conventional data structure.

【0009】更に、前記第2のデータは、2進数で表現
されていることもできる。
Further, the second data may be represented by a binary number.

【0010】このような構成によれば、該データ記憶装
置から第1のデータを検索する場合、前記第2のデータ
を用いて2^n分木型のデータ構造内の第1のデータを
容易に検索することができる。
With this configuration, when the first data is retrieved from the data storage device, the second data is used to facilitate the first data in the 2 ^ n-branch data structure. You can search for.

【0011】更に、前記第2のデータは、前記所定のア
ドレス範囲の開始アドレスであることを特徴とすること
もできる。更に、前記属性は、前記所定のアドレス範囲
に対するアクセス権の有無であることを特徴とすること
もできる。
Further, the second data may be a start address of the predetermined address range. Further, the attribute may be presence or absence of an access right to the predetermined address range.

【0012】このような構成によれば、例えば、メモリ
内のアドレス範囲の任意の属性(アクセス権)を参照す
ることにより通信を行うシステムにおいて、アクセス可
能なアドレス範囲を予め登録しておくことにより、参照
可能なアドレス範囲を迅速に検索し、アクセス権を容易
に確認することができる。
According to such a configuration, for example, in a system that performs communication by referring to an arbitrary attribute (access right) of an address range in the memory, the accessible address range is registered in advance. , The address range that can be referred to can be searched quickly, and the access right can be easily confirmed.

【0013】更に、前記第1のデータは、前記開始アド
レスに対応する分岐点の末端に加え、前記アドレス範囲
に含まれる全てのアドレスに対応する分岐点の末端に格
納されていることを特徴とすることもできる。
Further, the first data is stored at the end of the branch point corresponding to all the addresses included in the address range, in addition to the end of the branch point corresponding to the start address. You can also do it.

【0014】このような構成によれば、例えば第1のデ
ータを検索する際、2^n分木型のデータ構造内で、該
アドレス範囲の全てのアドレスに対応する領域のいずれ
かが検索にヒットすれば、該アドレス範囲の登録状況を
確認することができるため、検索処理が効率化する。
With this configuration, for example, when searching the first data, any of the areas corresponding to all the addresses in the address range can be searched in the 2 ^ n-tree type data structure. If there is a hit, the registration status of the address range can be confirmed, so that the search processing becomes efficient.

【0015】更に、ここで、ある分岐点の下位に前記第
1のデータが格納されている記憶領域を有する末端がた
だ1つのみである場合、前記2^n分木において前記あ
る分岐点は省略されることを特徴とすることもできる。
Further, when there is only one terminal having a storage area for storing the first data below a certain branch point, the certain branch point in the 2 ^ n-ary tree is It can also be characterized by being omitted.

【0016】このような構成によれば、例えば第1のデ
ータを2^n分木型のデータ構造内を上位の枝から分岐
しつつ検索する場合、分岐の回数が削減されるため、検
索処理が効率化する。また、省略する分岐点の分だけ、
該データ記憶装置の記憶容量を削減することができる。
According to such a configuration, for example, when the first data is searched while branching from the upper branch in the 2 ^ n-branch data structure, the number of branches is reduced, so the search processing is performed. Will be more efficient. Also, only the omitted branch points,
The storage capacity of the data storage device can be reduced.

【0017】更に、前記省略された分岐点の直下の分岐
点には、該省略された分岐点のインデックス番号が格納
されることを特徴とすることもできる。
Further, an index number of the omitted branch point may be stored in the branch point immediately below the omitted branch point.

【0018】このような構成によれば、分岐点を省略し
た場合でも、省略した分岐点を特定することができるた
め、第1のデータを格納した末端までの経路が該データ
記憶装置内で明瞭となる。
According to such a configuration, even if the branch point is omitted, the omitted branch point can be specified, so that the route to the end storing the first data is clear in the data storage device. Becomes

【0019】更に、複数の前記第1のデータが格納され
ている末端は互いに双方向リンクで結ばれていることを
特徴とすることもできる。更に、前記双方向リンクは、
前記末端の記憶領域に格納された所定のアドレス範囲の
開始アドレスでソートされた末端の前記第1データをD
1、D2...Dkとするとき、D1とD2、D2とD
3...、D(k−1)とDkの第1データを有するぞ
れぞれの末端が互いに双方向リンクで結ばれていること
を特徴とすることもできる。
Further, it is possible that the ends storing a plurality of the first data are connected to each other by a bidirectional link. Furthermore, the bidirectional link is
The first data at the end sorted by the start address of a predetermined address range stored in the storage area at the end is D
1, D2. . . When Dk, D1 and D2, D2 and D
3. . . , D (k−1) and Dk having the first data are connected to each other by a bidirectional link.

【0020】このような構成によれば、例えば第1のデ
ータを検索する際、第1のデータを格納した末端を探索
すれば、その前後の末端に対してはリンクを辿ることに
より、容易に他の第1のデータを格納した末端を確認す
ることができるため、検索処理が飛躍的に効率化する。
また、これにより、2^n分木型のデータ構造内で、ア
ドレス範囲に含まれる全てのアドレスに対応する末端の
領域に第1のデータを格納しなくとも、検索を確実に行
うことができ、該データ記憶装置に格納するデータ量を
飛躍的に削減することができる。
With such a configuration, for example, when searching for the first data, if the end that stores the first data is searched, the links before and after the end can be easily followed. Since it is possible to confirm the end where the other first data is stored, the search processing is dramatically improved in efficiency.
In addition, this makes it possible to reliably perform the search without storing the first data in the end area corresponding to all the addresses included in the address range within the 2 ^ n tree structure. The amount of data stored in the data storage device can be dramatically reduced.

【0021】また、2^n分木型のデータ構造を有し、
複数の第1のデータの集合を記憶するデータ記憶装置で
あって、前記第1のデータは、所定のアドレス範囲とそ
の属性を示すデータであり、前記2^n分木の第m階層
の分岐点の記憶領域のうち、前記第1のデータと関連付
けられる第2のデータを最上位からnビットずつ区切っ
て得られる各nビットの、上位からm番目のnビットの
値に等しいインデックスの領域には、前記第m階層の直
下であって、前記m+α番目のnビットの値に等しいイ
ンデックスを有する第m+α階層の分岐点のアドレスが
格納され、前記第m+α階層が最下層である場合、該最
下層の記憶領域のうち、前記第2のデータの下位nビッ
トの値に等しいインデックスの領域には、前記第1のデ
ータが格納されていることを特徴とするデータ記憶装置
を提供することもできる。
Further, it has a data structure of 2 ^ n-branch type,
A data storage device for storing a set of a plurality of first data, wherein the first data is data indicating a predetermined address range and its attribute, and the branch of the 2 ^ n-branch of the m-th layer. In the storage area of the points, in the area of the index equal to the value of the m-th n-bit from the high-order of each n-bit obtained by dividing the second data associated with the first data by the n-bit from the most significant Stores the address of the branch point of the m + αth layer, which is directly below the mth layer and has an index equal to the value of the m + αth n-bit, and if the m + αth layer is the lowest layer, It is also possible to provide a data storage device characterized in that the first data is stored in an area of the lower storage area having an index equal to the value of the lower n bits of the second data. That.

【0022】更に、前記第2のデータは、2進数で表現
されていることを特徴とすることもできる。更に、前記
第2のデータは、前記所定のアドレス範囲の開始アドレ
スであることを特徴とすることもできる。
Further, the second data may be represented by a binary number. Furthermore, the second data may be a start address of the predetermined address range.

【0023】また、前記属性は、前記所定のアドレス範
囲に対するアクセス権の有無であることを特徴とするこ
ともできる。
Further, the attribute may be presence or absence of an access right to the predetermined address range.

【0024】また、前記αは1であり、前記第1のデー
タは、前記開始アドレスに対応する最下層の記憶領域に
加え、前記アドレス範囲に含まれる全てのアドレスに対
応する最下層の記憶領域に格納されていることを特徴と
することもできる。
Further, α is 1, and the first data is stored in the lowest layer storage area corresponding to all the addresses included in the address range in addition to the lowest layer storage area corresponding to the start address. It can also be characterized by being stored in.

【0025】また、前記第m階層の分岐点の下位に前記
第1のデータが格納された最下層のインデックス領域が
ただ1つのみ存在する場合、前記αは2であることを特
徴とすることもできる。更に、第m+1階層の分岐点の
記憶領域のうち、前記第2のデータの最上位からm+1
番目のnビットの値に等しいインデックスの領域は、非
格納領域とされることを特徴とすることもできる。更
に、第m+2階層の分岐点の記憶領域のうち、前記第2
のデータの最上位からm+2番目のnビットの値に等し
いインデックスの領域に記憶されるデータには、前記第
2のデータの最上位からm+1番目のnビットの値が含
まれることを特徴とすることもできる。
Further, when there is only one index area in the lowest layer in which the first data is stored below the branch point of the m-th layer, the α is 2. You can also Further, in the storage area of the branch point of the (m + 1) th layer, m + 1 from the top of the second data.
The index area equal to the n-th bit value may be a non-storage area. Furthermore, in the storage area of the branch point of the (m + 2) th layer, the second
The data stored in the area of the index equal to the (m + 2) -th n-bit value from the highest-order data includes the (m + 1-th) n-bit value from the highest-order data of the second data. You can also

【0026】また、複数の前記第1のデータが格納され
ている最下層の記憶領域には、更に、該最下層の記憶領
域が互いに双方向リンクで結ばれるよう、互いのアドレ
スが格納されていることを特徴とすることもできる。更
に、前記双方向リンクが、前記末端の記憶領域に格納さ
れた所定のアドレス範囲の開始アドレスでソートされた
末端の前記第1データをD1、D2...Dkとすると
き、前記最下層の記憶領域には、D1とD2、D2とD
3...、D(k−1)とDkの第1データを有するぞ
れぞれの末端が互いにリンクされるよう、互いのアドレ
スが格納されていることを特徴とすることもできる。
Further, in the storage area of the lowermost layer in which the plurality of first data are stored, mutual addresses are further stored so that the storage areas of the lowermost layer are connected to each other by a bidirectional link. It can also be characterized by being. Further, the bidirectional link stores the first data at the end sorted by the start address of the predetermined address range stored in the storage area at the end at D1, D2. . . Assuming that Dk is D1, D2 and D2 are stored in the lowermost storage area.
3. . . , D (k−1) and Dk of the first data may be stored so that their respective ends are linked to each other.

【0027】また、所定のデータに所定の装置がアクセ
スするために上述したデータ記憶装置に対し所定の処理
を行うデータ処理装置であって、前記データ記憶装置の
所定の記憶領域に、前記第1のデータを、該第1のデー
タにおけるアドレス範囲内の所定のアドレスを参照キー
として参照可能に記憶することができるデータ処理装置
を提供することができる。
A data processing device for performing a predetermined process on the above-mentioned data storage device in order for a predetermined device to access predetermined data, wherein the first data is stored in a predetermined storage area of the data storage device. It is possible to provide a data processing device capable of storing the data of 1) so that a predetermined address within the address range of the first data can be referred to as a reference key.

【0028】このような構成によれは、2^n分木のデ
ータ構造を有するデータ記憶装置に対し、容易に検索可
能に範囲データを登録することができる。
With such a configuration, range data can be registered easily and retrievably in the data storage device having the data structure of 2 ^ n-ary tree.

【0029】また、本発明は、所定のデータに所定の装
置がアクセスするために上述したデータ記憶装置に対し
所定の処理を行うデータ処理装置であって、前記所定の
データのアドレス範囲を示すデータである第3のデータ
を、前記データ記憶装置内で検索する検索手段と、前記
検索手段の検索結果に基づいて、所定の処理を行う処理
手段とを備えたことを特徴とするデータ処理装置を提供
する。
The present invention is also a data processing device for performing a predetermined process on the above-mentioned data storage device in order for a predetermined device to access predetermined data, wherein the data indicates an address range of the predetermined data. And a processing unit that performs a predetermined process based on a search result of the search unit, and a data processing device that searches the third data in the data storage device. provide.

【0030】このような構成によれば、前記データ記憶
装置に対するアドレス範囲の検索結果に基づいて、所定
のデータに所定の装置がアクセスするために適切な処理
を実行することができる。なお、本発明の実施の形態に
おいて、検索手段は検索部により構成され、処理手段
は、検索結果取得部と登録部により構成される。
With such a configuration, it is possible to execute an appropriate process for the predetermined device to access the predetermined data based on the search result of the address range with respect to the data storage device. In addition, in the embodiment of the present invention, the search unit is configured by the search unit, and the processing unit is configured by the search result acquisition unit and the registration unit.

【0031】更に、前記検索手段は、前記第3のデータ
に関連する第4のデータを取得する第1取得手段と、前
記第1取得手段により取得された第4のデータを上位ビ
ットからnビットすつ取得する第2取得手段と、前記第
2取得手段により取得されたnビットの各値に基づい
て、前記第1のデータを格納する所定の末端を探索する
探索手段と、前記探索手段の探索結果に基づいて、前記
所定の末端の記憶領域に格納された前記第1のデータを
取得する第3取得手段と、前記第3取得手段により取得
されたデータと前記所定のデータを比較する比較手段と
を備え、前記比較手段による比較結果に基づいて前記第
3のデータが前記データ記憶装置に格納されているか否
かを判断することを特徴とするものである。
Further, the searching means obtains the fourth data related to the third data, the first obtaining means, and the fourth data obtained by the first obtaining means from upper bits to n bits. A second acquisition means for acquiring sooner, a search means for searching for a predetermined end storing the first data based on each value of n bits acquired by the second acquisition means, and A third acquisition means for acquiring the first data stored in the predetermined storage area based on the search result, and a comparison for comparing the data acquired by the third acquisition means with the predetermined data Means for determining whether or not the third data is stored in the data storage device based on the comparison result by the comparison means.

【0032】このような構成によれば、前記データ記憶
装置のデータ構造に適した検索処理を行うことができ、
それにより検索処理にかかる回数のリンクを辿る処理回
数やアドレス範囲データの比較処理が飛躍的に減少す
る。従って、従来に比して検索処理が迅速化され、検索
時間が短縮化する。
With this configuration, it is possible to perform a search process suitable for the data structure of the data storage device,
As a result, the number of processings required to follow links for the number of search processings and the comparison processing of address range data are dramatically reduced. Therefore, the search process is speeded up and the search time is shortened as compared with the conventional case.

【0033】図1は、従来の技術を用いた検索処理と、
本発明における検索処理の相違を示した図である。本図
を用いて、本発明の原理を簡単に説明する。図1の左方
が従来の手法による検索処理を示した図であり、右方が
本発明における検索処理を示した図である。図13のメ
モリ10上のプログラム20から指定された送信データ
40の格納領域を示すアドレス範囲について、その開始
アドレス及び終了アドレスを検索キー(300、40
0)としている。
FIG. 1 shows a retrieval process using a conventional technique,
It is the figure which showed the difference of the search process in this invention. The principle of the present invention will be briefly described with reference to this drawing. The left side of FIG. 1 is a diagram showing a search process by a conventional method, and the right side is a diagram showing a search process according to the present invention. For the address range showing the storage area of the transmission data 40 designated by the program 20 on the memory 10 of FIG.
0).

【0034】検索キー(300、400)を検索する場
合、図から明らかなように、従来の手法では、図13の
メモリ10上のアドレス範囲の記憶領域30には、登録
されたアドレス範囲データが領域の開始から順に格納さ
れており、それらを1つ1つ順次検索キーと比較してい
く。比較処理は、検索キーと合致する登録データが発見
されるまで順次行われる。
When the search keys (300, 400) are searched, as is apparent from the figure, according to the conventional method, the registered address range data is stored in the address range storage area 30 on the memory 10 of FIG. The areas are stored in order from the start, and they are sequentially compared with the search key one by one. The comparison process is sequentially performed until registration data that matches the search key is found.

【0035】本発明の手法では、アドレス範囲の記憶領
域30は、2^n分木のデータ構造を有しており、検索
処理は、該2^n分木の分岐点を、上位の階層から順に
辿っていくことにより、登録データを発見する。なお、
本発明の実施の形態では、アドレス範囲(300、40
0)の開始データ300を2進数で表現したものについ
て、上位ビットから2ビットずつ区切り、区切られた2
ビットをインデックスに持つ分岐点を辿り、辿った先の
記憶領域にデータを格納するようにしている。
According to the method of the present invention, the storage area 30 of the address range has a data structure of a 2 ^ n-branch tree, and the search processing determines the branch point of the 2 ^ n-branch tree from the upper hierarchy. The registration data is discovered by following the sequence. In addition,
In the embodiment of the present invention, the address range (300, 40
0) start data 300 represented by a binary number is divided into 2 bits from the high-order bit and divided into 2 bits.
The branch point having the bit as an index is traced, and the data is stored in the storage area of the traced destination.

【0036】なお、本発明の実施の形態において、第1
取得手段は開始アドレス取得部により構成され、第2取
得手段は開始アドレス取得部及び探索手段により構成さ
れ、探索手段及び第3取得部は第1探索部により構成さ
れ、比較手段は比較部により構成される。
In the embodiment of the present invention, the first
The acquisition unit is composed of the start address acquisition unit, the second acquisition unit is composed of the start address acquisition unit and the search unit, the search unit and the third acquisition unit are composed of the first search unit, and the comparison unit is composed of the comparison unit. To be done.

【0037】更に、前記第4のデータは、前記アクセス
指定されたアドレス範囲の開始アドレスであることを特
徴とすることもできる。
Further, the fourth data may be a start address of the address range designated for access.

【0038】このような構成によれば、例えば、メモリ
内のアドレス範囲にアクセス権を与えることにより通信
を行うシステムにおいて、送信対象である所定のデータ
が格納されたメモリ内のアドレス範囲、すなわちアクセ
ス指定されたアドレス範囲について、開始アドレスをキ
ーとして前記データ記憶装置に予め登録されたアドレス
範囲を検索することで、参照可能なアドレス範囲を迅速
に検索し、アクセス権を容易に確認することができる。
According to such a configuration, for example, in a system for performing communication by giving an access right to an address range in the memory, an address range in the memory in which predetermined data to be transmitted is stored, that is, access By searching the address range registered in advance in the data storage device for the designated address range using the start address as a key, the referenceable address range can be quickly searched and the access right can be easily confirmed. .

【0039】更に、前記第1取得手段は、前記第4のデ
ータが2進数でない場合、2進数に変換する変換手段を
有し、前記変換手段により変換されたデータを取得する
ことを特徴とすることもできる。
Further, the first acquisition means has a conversion means for converting the fourth data into a binary number when the fourth data is not a binary number, and acquires the data converted by the conversion means. You can also

【0040】このような構成によれば、第4のデータが
どのような値であっても、2進数に変換でき、2^n分
木のデータ構造を検索するに適したデータ形式とするこ
とができる。なお、本発明の実施の形態によれば、変換
手段は、開始アドレス取得部により構成される。
According to such a configuration, whatever value the fourth data has, it can be converted into a binary number, and the data format is suitable for searching the data structure of the 2 ^ n-ary tree. You can In addition, according to the embodiment of the present invention, the conversion unit is configured by the start address acquisition unit.

【0041】更に、前記探索手段により探索される所定
の末端は、前記第2取得手段により取得されたnビット
の各値をインデックスとする分岐点を前記2^n分木の
上位から順に辿ることにより得られる末端(M)である
ことを特徴とすることもできる。
Further, the predetermined terminal searched by the searching means is to follow the branch points having the n-bit value acquired by the second acquiring means as an index in order from the higher order of the 2 ^ n branch tree. It can also be characterized in that it is a terminal (M) obtained by.

【0042】このような構成によれば、第4のデータに
対応する2^n分木の末端の探索を行うことにより、該
末端に格納された第1のデータと所定のデータとを容易
に比較することができる。
According to this structure, by searching the end of the 2 ^ n-ary tree corresponding to the fourth data, the first data and the predetermined data stored at the end can be easily obtained. Can be compared.

【0043】更に、前記探索手段は、前記末端(M)の
記憶領域に前記第1のデータが格納されていない場合に
は、前記第1のデータが格納されている末端のうち、前
記2^n分木において前記末端(M)の近傍の末端を探
索し、該近傍の末端を所定の末端とすることを特徴とす
ることもできる。
Further, when the first data is not stored in the storage area of the terminal (M), the searching means selects 2 ^ of the terminals storing the first data. It is also possible to search for an end near the end (M) in the n-ary tree and set the end near the end as a predetermined end.

【0044】このような構成によれば、前記データ記憶
装置の前記末端(M)に第1のデータが格納されていな
い場合、近傍の他の末端のデータと所定のデータ比較す
ることができるため、検索結果を確実に出力することが
できる。
According to this structure, when the first data is not stored in the terminal (M) of the data storage device, the predetermined data can be compared with the data of the other terminal in the vicinity. , The search result can be output reliably.

【0045】更に、前記探索手段は、前記末端(M)の
近傍の末端を探索する場合、前記データ記憶装置内で前
記第1のデータが格納されている末端のうち、第2のデ
ータが第4のデータより小さい値となる第1のデータを
格納した末端であって、更にその中で前記2^n分木に
おいて前記末端(M)から最も近い末端を探索すること
を特徴とすることもできる。
Further, when searching the end near the end (M), the searching means selects the second data from the ends storing the first data in the data storage device. It is also characterized in that the terminal that stores the first data having a value smaller than the data of 4 is searched for the terminal closest to the terminal (M) in the 2 ^ n-ary tree. it can.

【0046】このような構成によれば、第2のデータが
第4のデータより小さい値となる第1のデータを格納し
た末端を所定の末端とすることができるため、前記比較
手段により第4のデータと、該所定の末端に格納された
第1のデータとが比較されることとなり、前記第3のデ
ータに対応する第1のデータが該データ記憶装置に格納
されているか否かを容易に確認することができる。
According to this structure, the end storing the first data whose second data has a smaller value than the fourth data can be set as the predetermined end. And the first data stored at the predetermined end are compared, and it is easy to determine whether or not the first data corresponding to the third data is stored in the data storage device. Can be confirmed.

【0047】更に、前記比較手段は、前記第1のデータ
の所定アドレス範囲の開始アドレス(ai)と、前記第
3のデータのアクセス指定されたアドレス範囲の開始ア
ドレス(a)とを比較する第1比較手段と、前記第1の
データの所定アドレス範囲の終了アドレス(bi)と前
記第3のデータのアクセス指定されたアドレス範囲の終
了アドレス(b)とを比較する第2比較手段を備え、前
記第1比較手段による比較結果がai<=aであり、且
つ前記第2比較手段による比較結果が、b<=biであ
る場合に、前記検索手段は、前記第3のデータが前記デ
ータ記憶装置に格納されていると判断することを特徴と
することもできる。
Further, the comparing means compares the start address (ai) of the predetermined address range of the first data with the start address (a) of the access-designated address range of the third data. 1 comparison means, and 2nd comparison means for comparing the end address (bi) of the predetermined address range of the first data with the end address (b) of the access-designated address range of the third data, When the comparison result by the first comparing means is ai <= a and the comparison result by the second comparing means is b <= bi, the searching means stores the third data in the data storage. It can also be characterized in that it is determined that it is stored in the device.

【0048】このような構成によれば、第3のデータが
前記探索された末端に格納された第1のデータが有する
アドレス範囲に含まれるか否かを容易に判断することが
できるため、前記データ記憶装置内に第3のデータが格
納されているか否かを容易に判断することができる。
According to this structure, it is possible to easily determine whether or not the third data is included in the address range of the first data stored at the searched end. It is possible to easily determine whether or not the third data is stored in the data storage device.

【0049】また、前記検索手段により、前記第3のデ
ータが前記データ記憶装置内に格納されていないと判断
された場合、前記処理手段は、前記第3のデータを前記
データ記憶装置に格納して前記所定の装置による前記所
定のデータへのアクセスを許可する属性を付与すること
を特徴とすることもできる。
Further, when the searching means determines that the third data is not stored in the data storage device, the processing means stores the third data in the data storage device. It is also possible to add an attribute that permits access to the predetermined data by the predetermined device.

【0050】このような構成によれば、第3のデータが
データ記憶装置内に格納されているか否かにより、所定
のデータに所定の装置がアクセスするために必要なアク
セス権の有無を確認することができるため、前記所定の
装置の前記所定のデータへのアクセス処理が容易とな
る。更に前記所定の装置がアクセス権のない所定のデー
タに対しても、前記データ記憶装置に前記第3のデータ
を格納することにより、アクセスを可能とすることがで
きる。
According to this structure, it is confirmed whether or not the third device has the access right necessary for the predetermined device to access the predetermined data, depending on whether or not the third data is stored in the data storage device. Therefore, the access processing to the predetermined data by the predetermined device becomes easy. Further, by storing the third data in the data storage device, it is possible to access predetermined data that the predetermined device does not have an access right to.

【0051】更に、前記処理手段は、前記末端(M)の
記憶領域に第1のデータが格納されているか否かを判断
する第1判断手段と、前記第1判断手段による判断結果
に基づいて、前記第3のデータを前記データ記憶装置に
格納する格納手段とを備えたことを特徴とすることもで
きる。
Further, the processing means is based on a first judging means for judging whether or not the first data is stored in the storage area of the terminal (M), and a judgment result by the first judging means. And a storage unit for storing the third data in the data storage device.

【0052】このような構成によれば、例えば、メモリ
内のアドレス範囲のアクセス権を参照することにより通
信を行うシステムにおいて、送信対象である所定のデー
タが格納されたメモリ内のアドレス範囲について、アク
セス許可が無いアドレス範囲を、該アドレス範囲の開始
アドレスに該当する領域に格納することができるため、
該アドレス範囲に容易にアクセス権を付与することがで
きる。なお、本発明の実施の形態において、第1判断手
段は第1判断部により構成され、格納手段は、範囲デー
タ格納部により構成される。
According to such a configuration, for example, in a system that performs communication by referring to the access right of the address range in the memory, regarding the address range in the memory in which predetermined data to be transmitted is stored, Since an address range without access permission can be stored in the area corresponding to the start address of the address range,
An access right can be easily given to the address range. In addition, in the embodiment of the present invention, the first determination unit is configured by the first determination unit, and the storage unit is configured by the range data storage unit.

【0053】更に、前記格納手段は、前記第1判断手段
により、前記末端(M)の記憶領域に前記第1のデータ
が格納されていないと判断された場合、前記データ記憶
装置内で前記第1のデータが格納されている末端のう
ち、第2のデータが第4のデータより小さい値となる第
1のデータを格納した末端であって、更にその中で前記
2^n分木において前記末端(M)から最も近い末端を
探索する第1探索手段とを備え、前記第1探索手段の探
索結果に基づいて、前記第3のデータを前記データ記憶
装置に格納することを特徴とするものである。更に、前
記格納手段は、前記第1探索手段により、第2のデータ
が第4のデータより小さい値となる第1のデータを格納
した末端が探索されなかった場合、前記末端(M)の記
憶領域に前記第3のデータを格納することを特徴とする
こともできる。
Further, when the storage means determines by the first determination means that the first data is not stored in the storage area at the end (M), the storage means stores the first data in the storage area. Of the end where the data of 1 is stored, the end of the first data in which the second data has a smaller value than the fourth data, and further, in the end of the 2 ^ n-ary tree, First searching means for searching a terminal closest to the terminal (M), and storing the third data in the data storage device based on a search result of the first searching means. Is. Further, the storage means stores the end (M) when the end searching the first data storing the first data having the second data smaller than the fourth data is not found by the first searching means. The third data may be stored in the area.

【0054】このような構成によれば、例えば、メモリ
内のアドレス範囲のアクセス権を参照することにより通
信を行うシステムにおいて、送信対象である所定のデー
タのアドレス範囲がアクセス許可が無い場合であって
も、該アドレス範囲を適切な領域に効率よく格納するこ
とができるため、システムが該アドレス範囲のデータを
アクセスすることが可能となる。なお、本発明の実施の
形態において、第1探索手段は、第2探索部により構成
される。
With such a configuration, for example, in a system in which communication is performed by referring to the access right of the address range in the memory, the address range of the predetermined data to be transmitted does not have access permission. However, since the address range can be efficiently stored in an appropriate area, the system can access the data in the address range. In addition, in the embodiment of the present invention, the first searching unit is configured by the second searching unit.

【0055】更に、前記格納手段は、前記第1探索手段
により、ある末端が探索された場合、該探索された末端
の記憶領域に格納される第1のデータを、該第1のデー
タと前記第3のデータとをマージした第4のデータに置
き換えることを特徴とすることもできる。
Further, the storage means, when a certain end is searched by the first searching means, sets the first data stored in the storage area at the searched end as the first data and the first data. It may be characterized in that the third data is replaced with the merged fourth data.

【0056】このような構成によれば、例えば、アドレ
ス範囲Aの開始アドレスより小さなアドレス値を有する
アドレス範囲Bのデータを格納した領域に、該アドレス
範囲Aを格納する場合、アドレス範囲Aのうちアドレス
範囲Bに含まれない部分をアドレスBに追加する形式
で、データを置き換えることが可能となるため、格納処
理が効率化し、データ格納領域を最小限に抑えることが
できる。
According to such a configuration, for example, when the address range A is stored in the area in which the data of the address range B having an address value smaller than the start address of the address range A is stored, Since it becomes possible to replace the data in a format in which a portion not included in the address range B is added to the address B, the storage processing becomes efficient and the data storage area can be minimized.

【0057】更に、前記格納手段は、前記第1判断手段
により、前記末端(M)の記憶領域に前記第1のデータ
が格納されていると判断された場合、前記末端(M)の
記憶領域に既に格納されている第1のデータを前記第3
のデータに置き換えることを特徴とすることもできる。
Further, the storage means, when the first judging means judges that the first data is stored in the storage area of the end (M), the storage area of the end (M) The first data already stored in the third data
It can also be characterized in that it is replaced with the data of.

【0058】このような構成によれば、第3のデータが
末端(M)に格納されている第1のデータより広い範囲
を有する場合には、該第3のデータのデータ範囲を格納
するだけで、前記所定のデータに対してアクセス許可を
付与することができ、効率がよい。
According to this structure, when the third data has a wider range than the first data stored at the end (M), only the data range of the third data is stored. Thus, access permission can be given to the predetermined data, which is efficient.

【0059】更に、前記データ記憶装置において、前記
第1のデータが該第1のデータの開始アドレスに対応す
る分岐点の末端のみに格納されている場合、前記処理手
段は、更に、前記データ記憶装置内で前記第1のデータ
が格納されている末端のうち、第2のデータが前記格納
手段により格納処理された末端における第2のデータよ
り大きい値となる第1のデータを格納した末端を探索す
る第2探索手段と、前記第2探索手段により探索された
末端の記憶領域に格納された第1のデータと、前記格納
手段により格納されたデータとの包含関係を判断する第
2判断手段と、前記第2判断手段により、前記第2探索
手段により探索された末端の記憶領域に格納された第1
のデータが前記格納手段により格納されたデータに含ま
れると判断された場合、前記第2探索手段により探索さ
れた末端の記憶領域に格納されたデータを削除する削除
手段とを備えたことを特徴とすることもできる。
Further, in the data storage device, when the first data is stored only at the end of the branch point corresponding to the start address of the first data, the processing means further includes the data storage. Of the terminals storing the first data in the apparatus, the terminal storing the first data having the second data having a larger value than the second data stored at the terminal stored by the storage means is stored. Second searching means for searching, second judging means for judging the inclusive relation between the first data stored in the end storage area searched by the second searching means, and the data stored by the storing means And the first judgment stored in the end storage area searched by the second searching means by the second judging means.
When the data stored in the storage unit is determined to be included in the data stored in the storage unit, the deletion unit deletes the data stored in the end storage area searched by the second searching unit. Can also be

【0060】このような構成によれば、第3のデータを
格納することにより、2^n分木において該格納した末
端に続く他の末端の領域に格納されたデータの範囲が、
第3のデータの一部と重複することになる場合、該重複
を削除することができ、データの記憶容量を抑えること
が可能となる。なお、本発明の実施の形態において、第
2探索手段は、第3探索部により構成され、第2判断手
段は、第2判断部により構成され、削除手段は、格納デ
ータ削除部により構成される。
According to such a configuration, by storing the third data, the range of the data stored in the other end region following the stored end in the 2 ^ n-ary tree is
When it overlaps with a part of the third data, the duplication can be deleted and the storage capacity of the data can be suppressed. In addition, in the embodiment of the present invention, the second searching unit is configured by the third searching unit, the second determining unit is configured by the second determining unit, and the deleting unit is configured by the stored data deleting unit. .

【0061】更に、前記データ記憶装置に格納された複
数の第1のデータが互いに双方向リンクで結ばれている
場合、前記検索手段が有する前記探索手段或いは前記処
理手段が有する前記第1探索手段或いは前記第2探索手
段は、前記双方向リンクを用いて探索処理を行うことを
特徴とすることを特徴とすることもできる。
Further, when the plurality of first data stored in the data storage device are connected to each other by a bidirectional link, the searching means included in the searching means or the first searching means included in the processing means. Alternatively, the second searching means may be characterized by performing a searching process using the bidirectional link.

【0062】このような構成によれば、検索及び格納処
理が迅速化する。
With such a structure, the retrieval and storage processing is speeded up.

【0063】更に、前記データ記憶装置に格納された複
数の第1のデータが互いに双方向リンクで結ばれている
場合、前記処理手段は、更に、前記データ記憶装置内で
前記第1のデータが格納されている末端が追加或いは削
除された場合、前記双方向リンクを付け替えるリンク変
更手段を備えることを特徴とすることもできる。
Further, when the plurality of first data stored in the data storage device are connected to each other by a bidirectional link, the processing means further includes the first data in the data storage device. It is also possible to provide a link changing unit for changing the bidirectional link when the stored end is added or deleted.

【0064】このような構成によれば、新規にデータを
格納した後であっても、双方向リンクを正しく付け替え
ることができる。なお、本発明の実施の形態において、
リンク変更手段は、双方向リンク設定部により構成され
る。
According to this structure, the bidirectional link can be replaced correctly even after new data is stored. In the embodiment of the present invention,
The link changing means is composed of a bidirectional link setting unit.

【0065】また、本発明は、所定のデータに所定の装
置がアクセスするために上述したデータ記憶装置に対し
所定の処理を行うデータ処理方法であって、前記所定の
データのアドレス範囲を示すデータである第3のデータ
を、前記データ記憶装置内で検索する第1ステップと、
前記第1ステップによる検索の結果、前記第3のデータ
が前記データ記憶装置内に格納されていると判断された
場合、前記所定の装置の前記所定のデータへのアクセス
を許可する第2ステップと、前記第1ステップによる検
索の結果、前記第3のデータが前記データ記憶装置内に
格納されていないと判断された場合、前記第3のデータ
を前記データ記憶装置に格納して前記所定の装置の前記
所定のデータへのアクセスを許可する第3ステップとを
有することを特徴とするデータ処理方法を提供する。
The present invention is also a data processing method for performing a predetermined process on the above-mentioned data storage device in order for a predetermined device to access predetermined data, the data indicating an address range of the predetermined data. A third step of retrieving the third data in the data storage device,
A second step of permitting the predetermined device to access the predetermined data when it is determined as a result of the search in the first step that the third data is stored in the data storage device; As a result of the search in the first step, if it is determined that the third data is not stored in the data storage device, the third data is stored in the data storage device and the predetermined device is stored. And a third step of permitting access to the predetermined data.

【0066】更に、前記第1ステップは、前記第3のデ
ータに関連する第4のデータを取得する第1取得ステッ
プと、前記第1取得ステップにより取得された第4のデ
ータを上位ビットからnビットすつ取得する第2取得ス
テップと、前記第2取得ステップにより取得されたnビ
ットの各値に基づいて、前記第1のデータを格納する所
定の末端を探索する探索ステップと、前記探索ステップ
の探索結果に基づいて、前記所定の末端の記憶領域に格
納された前記第1のデータを取得する第3取得ステップ
と、前記第3取得ステップにより取得されたデータと前
記所定のデータを比較する比較ステップとを備え、前記
比較ステップによる比較結果に基づいて前記第3のデー
タが前記データ記憶装置に格納されているか否かを判断
することを特徴とすることもできる。
Further, in the first step, the first acquisition step of acquiring the fourth data related to the third data, and the fourth data acquired by the first acquisition step from the upper bit to n A second acquisition step of acquiring bit soot, a search step of searching for a predetermined end storing the first data based on each value of n bits acquired by the second acquisition step, and the search step And a third acquisition step of acquiring the first data stored in the storage area at the predetermined end, and the data acquired by the third acquisition step and the predetermined data based on the search result of A comparing step, and determining whether or not the third data is stored in the data storage device based on a comparison result of the comparing step. Rukoto can also.

【0067】更に、前記第2ステップは、前記第2取得
ステップにより取得されたnビットの各値をインデック
スとする分岐点を前記2^n分木の上位から順に辿るこ
とにより得られる末端の記憶領域に第1のデータが格納
されているか否かを判断する第1判断ステップと、前記
第1判断ステップによる判断結果に基づいて、前記第3
のデータを前記データ記憶装置に格納する格納ステップ
とを備えたことを特徴とすることもできる。
Further, in the second step, the storage of the end obtained by sequentially tracing the branch points having the n-bit value acquired in the second acquisition step as an index from the upper order of the 2 ^ n branch tree. The first determination step of determining whether or not the first data is stored in the area, and the third determination step based on the determination result of the first determination step.
And a storage step of storing the data in the data storage device.

【0068】また、本発明は、コンピュータにより読取
り可能な媒体に記録され、所定のデータに所定の装置が
アクセスするために上述したデータ記憶装置に対し所定
の処理を行うデータ処理プログラムであって、前記所定
のデータのアドレス範囲を示すデータである第3のデー
タを、前記データ記憶装置内で検索する第1ステップ
と、前記第1ステップによる検索の結果、前記第3のデ
ータが前記データ記憶装置内に格納されていると判断さ
れた場合、前記所定の装置の前記所定のデータへのアク
セスを許可する第2ステップと、前記第1ステップによ
る検索の結果、前記第3のデータが前記データ記憶装置
内に格納されていないと判断された場合、前記第3のデ
ータを前記データ記憶装置に格納して前記所定の装置の
前記所定のデータへのアクセスを許可する第3ステップ
とを有することを特徴とするデータ処理プログラムを提
供する。
Further, the present invention is a data processing program recorded on a computer-readable medium and performing a predetermined process on the above-mentioned data storage device for the predetermined device to access predetermined data, A first step of searching in the data storage device for third data, which is data indicating an address range of the predetermined data, and as a result of the search in the first step, the third data is the data storage device. A second step of permitting access to the predetermined data of the predetermined device when it is determined that the third data is stored in the storage device. When it is determined that the third data is not stored in the device, the third data is stored in the data storage device and stored in the predetermined data of the predetermined device. To provide a data processing program, characterized by a third step of granting access.

【0069】更に、前記第1ステップは、前記第3のデ
ータに関連する第4のデータを取得する第1取得ステッ
プと、前記第1取得ステップにより取得された第4のデ
ータを上位ビットからnビットすつ取得する第2取得ス
テップと、前記第2取得ステップにより取得されたnビ
ットの各値に基づいて、前記第1のデータを格納する所
定の末端を探索する探索ステップと、前記探索ステップ
の探索結果に基づいて、前記所定の末端の記憶領域に格
納された前記第1のデータを取得する第3取得ステップ
と、前記第3取得ステップにより取得されたデータと前
記所定のデータを比較する比較ステップとを備え、前記
比較ステップによる比較結果に基づいて前記第3のデー
タが前記データ記憶装置に格納されているか否かを判断
することを特徴とすることもできる。
Further, in the first step, the first acquisition step of acquiring the fourth data related to the third data, and the fourth data acquired by the first acquisition step from the upper bit to n A second acquisition step of acquiring bit soot, a search step of searching for a predetermined end storing the first data based on each value of n bits acquired by the second acquisition step, and the search step And a third acquisition step of acquiring the first data stored in the storage area at the predetermined end, and the data acquired by the third acquisition step and the predetermined data based on the search result of A comparing step, and determining whether or not the third data is stored in the data storage device based on a comparison result of the comparing step. Rukoto can also.

【0070】更に、前記第2ステップは、前記第2取得
ステップにより取得されたnビットの各値をインデック
スとする分岐点を前記2^n分木の上位から順に辿るこ
とにより得られる末端の記憶領域に第1のデータが格納
されているか否かを判断する第1判断ステップと、前記
第1判断ステップによる判断結果に基づいて、前記第3
のデータを前記データ記憶装置に格納する格納ステップ
とを備えたことを特徴とすることもできる。
Further, in the second step, the storage of the end obtained by sequentially tracing the branch points having the n-bit value acquired in the second acquisition step as an index from the upper order of the 2 ^ n branch tree. The first determination step of determining whether or not the first data is stored in the area, and the third determination step based on the determination result of the first determination step.
And a storage step of storing the data in the data storage device.

【0071】なお、本発明において、上記コンピュータ
により読取り可能な媒体は、CD−ROMやフレキシブ
ルディスク、DVDディスク、光磁気ディスク、ICカ
ード等の可搬型記憶媒体や、コンピュータプログラムを
保持するデータベース、或いは、他のコンピュータ並び
にそのデータベースや、更に回線上の伝送媒体をも含む
ものである。
In the present invention, the computer-readable medium is a portable storage medium such as a CD-ROM, a flexible disk, a DVD disk, a magneto-optical disk, an IC card, a database holding a computer program, or , Other computers and their databases, and also transmission media on lines.

【0072】[0072]

【発明の実施の形態】以下、本発明の実施の形態を図を
用いて詳細に説明する。なお、以下に示す全ての実施の
形態では、前述したInfiniBandシステムにおいて用いら
れるアドレス範囲の登録手法或いは検索手法、更にそれ
ら手法で用いられる記憶領域のデータ構造を詳細に説明
する。すなわち、コンピュータ間の通信において、コン
ピュータのメモリ上のアドレス範囲をデータの送信元や
送信先として指定し、InfiniBandハードウェアがその指
定された範囲のデータに直接アクセスするために、「In
finiBandハードウェアがアクセスできる」という属性
を、通信前に該アドレス範囲をメモリ上の所定の領域に
登録することにより付与することを前提とする。以下、
アドレス範囲と上記属性を示すデータを範囲データと呼
称する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the drawings. It should be noted that, in all the embodiments described below, the registration method or the search method of the address range used in the InfiniBand system described above, and the data structure of the storage area used in those methods will be described in detail. That is, in communication between computers, the address range in the computer's memory is designated as the source or destination of data, and InfiniBand hardware directly accesses the data in the designated range.
It is premised that the attribute "finiBand hardware can access" is added by registering the address range in a predetermined area on the memory before communication. Less than,
Data indicating the address range and the above attributes are called range data.

【0073】実施の形態1.本実施の形態では、前述の
図13のメモリ10におけるアドレス範囲の記憶領域3
0が4分木型のデータ構造を有する場合を例にとり、そ
のデータ構造及び登録の手法を詳述する。図2は、4分
木型のデータ構造の一例を示した図である。例えば、ア
ドレスが32ビットで表されるコンピュータにおいて、
4分木型(2^n分木においてn=2)のデータ構造を
採用したとする。
Embodiment 1. In the present embodiment, the storage area 3 of the address range in the memory 10 shown in FIG.
Taking the case where 0 has a quadtree data structure as an example, the data structure and the registration method will be described in detail. FIG. 2 is a diagram showing an example of a quadtree data structure. For example, in a computer whose address is represented by 32 bits,
It is assumed that a quad-tree type (n = 2 in 2 ^ n-branch tree) data structure is adopted.

【0074】各分岐点にはインデックスが00、01、
10、11となる枝が出ており、枝の先に次の階層の分
岐点が存在する。なお、該インデックスは次の分岐点に
付与されたインデックスと考えることもできる。最終的
な末端の記憶領域にアクセス許可されたアドレス範囲が
格納される。
Indexes 00, 01, and
There are branches 10 and 11, and the branch point of the next layer exists at the end of the branch. The index can be considered as an index assigned to the next branch point. The access-permitted address range is stored in the final storage area.

【0075】このようなデータ構造を有する領域に、ア
ドレス範囲0x12480000〜0x1248f00
0(0xは16進数表示)の範囲データ100を登録す
る場合、アドレス範囲の開始アドレス0x124800
00を2進数表記した開始アドレス「00010010
01001000....」を上位から2ビットずつに
分けて(00,01,00,10,01,00,10,
00...)とする。これら2ビットを4分木型構造の
根から順に「0番目の枝(或いは分岐点)」「1番目」
「0番目」「2番目」...と辿り、その末端の記憶領
域に当該範囲データ100を格納する(範囲データ20
0)。
In the area having such a data structure, the address range 0x124800000 to 0x1248f00 is set.
When registering range data 100 of 0 (0x is a hexadecimal number display), the start address of the address range is 0x124800
Start address "00010010" in which 00 is represented in binary notation
01001000. . . . Is divided into 2 bits each from the higher order (00, 01, 00, 10, 01, 00, 10,
00. . . ). These 2 bits are "0th branch (or branch point)" and "1st" in order from the root of the quadtree structure.
"0th""2nd". . . Then, the range data 100 is stored in the storage area at the end (range data 20
0).

【0076】実施の形態2.図3は、4分木型データ構
造において、ある分岐点が省略される例を示した図であ
る。図示されるように、図3(a)は、図2と同様に開
始アドレスをそのまま辿った場合の分岐状態を示してい
る。ここで、図中の分岐点Xにおいて、2番目(インデ
ックス10)以外の枝の先にデータが存在しないとす
る。ここで、図3(b)に示されるように分岐点Xを省
略し、省略された枝番号(インデックス)(10)を次
の分岐点に記録しておく。このようなデータ構造をとる
ことにより、必要なメモリ領域を小さくすることがで
き、検索時には検索ステップ数が減るため、検索時間を
短縮することができる。
Embodiment 2. FIG. 3 is a diagram showing an example in which a branch point is omitted in the quadtree data structure. As shown in FIG. 3, FIG. 3A shows a branch state when the start address is traced as it is as in FIG. Here, at the branch point X in the figure, it is assumed that there is no data at the ends of branches other than the second (index 10). Here, as shown in FIG. 3B, the branch point X is omitted, and the omitted branch number (index) (10) is recorded at the next branch point. By adopting such a data structure, the required memory area can be reduced, and the number of search steps can be reduced during the search, so the search time can be shortened.

【0077】実施の形態3.図4は、4分木型構造をメ
モリ上に配置した一例を示す図である。図4(a)に
は、4分木型構造で示されたデータの格納状況が示され
ている。ここで示された分岐点A、分岐点B、分岐点
C、及び末端に記憶された範囲データ200を実際のメ
モリ10a(アドレス範囲記憶領域30a)上に配置し
たものが図4(b)である。
Embodiment 3. FIG. FIG. 4 is a diagram showing an example in which a quadtree structure is arranged on a memory. FIG. 4A shows the storage status of the data represented by the quadtree structure. In FIG. 4B, the branch point A, the branch point B, the branch point C, and the range data 200 stored at the end shown in FIG. 4B are arranged on the actual memory 10a (address range storage area 30a). is there.

【0078】図4(b)に示されるように、分岐点Aの
データ記憶領域301には、それぞれ00、01、1
0、11のインデックス毎に4分木上の次に続く分岐点
のアドレスが格納されている。ここでインデックス00
を参照すれば、分岐点Bのアドレスが格納されているた
め、4分木上の分岐点Bを辿ることができる。分岐点B
のデータ記憶領域302においても、分岐点Aのデータ
格納領域300と同様に次の分岐点のアドレスが記憶さ
れており、インデックス01を参照することにより、分
岐点Cのアドレスを参照することができる。最終的に末
端の記憶領域300に、末端の範囲データについてのデ
ータが格納されている。図示されるように、範囲データ
200として開始アドレス0x12480000と、終
了アドレス0x1248f000と、本アドレス範囲の
属性データ(すなわち、アクセス可能であるという属性
データ)とが格納される。
As shown in FIG. 4B, the data storage area 301 at the branch point A has 00, 01 and 1 respectively.
The address of the next branch point on the quadtree is stored for each index of 0 and 11. Where index 00
With reference to, since the address of the branch point B is stored, the branch point B on the quadtree can be traced. Fork point B
The address of the next branch point is also stored in the data storage area 302 of the same as the data storage area 300 of the branch point A, and the address of the branch point C can be referred to by referring to the index 01. . Finally, data regarding the end range data is stored in the end storage area 300. As illustrated, as the range data 200, a start address 0x124800000, an end address 0x1248f000, and attribute data of this address range (that is, attribute data that is accessible) are stored.

【0079】なお、本実施の形態は、メモリ領域への格
納手法の一例であり、2^n分木のデータ構造を有する
ようデータが格納されていれば、その格納手法は特に限
定されない。
The present embodiment is an example of the storage method in the memory area, and the storage method is not particularly limited as long as the data is stored so as to have the data structure of 2 ^ n-branch tree.

【0080】実施の形態4.図5は、4分木型のデータ
構造において、範囲データに双方向リンクを付加した一
例を示す図である。図示されるように末端の範囲データ
200a及び200b及び200cが矢印で示される双
方向リンクで連結されている。すなわち、範囲データ2
00aと範囲データ200b、範囲データ200bと範
囲データ200c...というように、隣り合う末端の
範囲データ同士が双方向リンクで結ばれている。検索を
行う場合、このような双方向リンクを用いることにより
検索処理に係る時間が大幅に短縮される。
Fourth Embodiment FIG. 5 is a diagram showing an example in which a bidirectional link is added to range data in a quadtree data structure. As illustrated, the end range data 200a, 200b, and 200c are connected by a bidirectional link indicated by an arrow. That is, range data 2
00a and range data 200b, range data 200b and range data 200c. . . In this way, the range data of adjacent ends are linked by a bidirectional link. When performing a search, the time required for the search process is significantly reduced by using such a bidirectional link.

【0081】実施の形態5.以上、実施の形態1から実
施の形態4では、主としてデータ構造について詳述した
が、本実施の形態及び以下に続く実施の形態6から実施
の形態11では、そのようなデータ構造を有する図13
のアドレス範囲記憶領域30に対して検索や登録等の処
理を行うデータ処理装置について詳述する。なお、ここ
では、前述のInfiniBandハードウェアが直接アクセスす
る、指定されたアドレス範囲(指定アドレス範囲と呼称
する)について、検索及び登録を行うものとする。更
に、実施の形態1から実施の形態4と同様に、アドレス
が32ビットで表されるコンピュータにおいて、アドレ
ス範囲記憶領域30に4分木型のデータ構造を採用した
とする。
Embodiment 5. As described above, the data structure is mainly described in detail in Embodiments 1 to 4, but in the present embodiment and the following Embodiments 6 to 11, the data structure having such a data structure is shown in FIG.
The data processing device that performs processing such as search and registration in the address range storage area 30 will be described in detail. Here, it is assumed that the specified address range (referred to as a specified address range) directly accessed by the InfiniBand hardware described above is searched and registered. Further, as in the first to fourth embodiments, it is assumed that a quadtree data structure is adopted for the address range storage area 30 in a computer whose address is represented by 32 bits.

【0082】図6は、データ処理装置の機能構成を示し
たブロック図の一例である。本機能ブロック図は、実施
の形態5から実施の形態10で共通するものとする。図
示されるように、データ処理装置90は、アドレス範囲
記憶領域30を検索する検索部50と、検索部50の検
索結果を取得して検索結果の伝送先を振り分ける検索結
果取得部60と、検索結果取得部60からの検索結果を
受け、該当のアドレス範囲をアドレス範囲記憶領域30
に登録する登録部70とからなる。
FIG. 6 is an example of a block diagram showing a functional configuration of the data processing device. This functional block diagram is common to the fifth to tenth embodiments. As illustrated, the data processing device 90 includes a search unit 50 that searches the address range storage area 30, a search result acquisition unit 60 that acquires the search result of the search unit 50 and distributes the transmission destination of the search result, and a search. Upon receiving the search result from the result acquisition unit 60, the corresponding address range is set to the address range storage area 30.
And a registration unit 70 for registering with.

【0083】更に、検索部50は、開始アドレス取得部
51と、第1探索部52と、比較部53により構成され
る。開始アドレス取得部51は、指定アドレス範囲から
該範囲の開始アドレスを取得する。第1探索部52は、
開始アドレス取得部51により取得された開始アドレス
に基づいて、範囲データが格納された末端を探索し、該
末端の格納データを取得する。比較部53は、第1探索
部52により取得された範囲データと、指定アドレス範
囲を比較し、比較結果を検索結果取得部60に出力す
る。
Further, the search unit 50 is composed of a start address acquisition unit 51, a first search unit 52, and a comparison unit 53. The start address acquisition unit 51 acquires the start address of the specified address range from the range. The first search unit 52
Based on the start address acquired by the start address acquisition unit 51, the end where the range data is stored is searched, and the storage data of the end is acquired. The comparison unit 53 compares the range data acquired by the first search unit 52 with the designated address range, and outputs the comparison result to the search result acquisition unit 60.

【0084】また、登録部70は、第1判断部71と、
第2探索部72と、範囲データ格納部73と、第3探索
部74と、第2判断部75と、格納データ削除部76
と、双方向リンク設定部77により構成される。第1判
断部71は検索結果取得部60から検索結果を取得し、
開始アドレス取得部51により取得された開始アドレス
をキーとして検索された末端の記憶領域に、何かの範囲
データが格納されているか否かを判断する。第2探索部
72は、第1判断部71により範囲データが何も格納さ
れていないと判断された場合に、その末端の近傍に存在
する末端から、範囲データが格納されている末端を探索
する。範囲データ格納部73は、開始アドレス取得部5
1により取得された開始アドレスをキーとして検索され
た末端の記憶領域、或いは第2探索部72により探索さ
れた末端の記憶領域に、指定アドレス範囲の範囲データ
を格納する。
Further, the registration unit 70 includes a first judgment unit 71,
The second searching unit 72, the range data storing unit 73, the third searching unit 74, the second judging unit 75, and the stored data deleting unit 76.
And the bidirectional link setting unit 77. The first determination unit 71 acquires the search result from the search result acquisition unit 60,
It is determined whether or not some range data is stored in the storage area at the end searched using the start address acquired by the start address acquisition unit 51 as a key. When the first determination unit 71 determines that no range data is stored, the second search unit 72 searches for the end where the range data is stored, from the end existing near the end. . The range data storage unit 73 includes the start address acquisition unit 5
The range data of the designated address range is stored in the terminal storage area searched by using the start address acquired by 1 as a key or the terminal storage area searched by the second searching unit 72.

【0085】第3探索部74は、開始アドレスが、範囲
データ格納部73により格納処理された末端より大きな
値を有する範囲データを格納した末端を探索する。第2
判断部75は、範囲データ格納部73により格納処理さ
れた末端の範囲データと、第3探索部74により探索さ
れた末端の範囲データとを比較して、包含関係を判断す
る。格納データ削除部76は、第2判断部75による判
断結果に基づいて、末端に格納された範囲データを削除
する。双方向リンク設定部77は、範囲データ格納部7
3及び格納データ削除部76により範囲データが格納さ
れた末端が追加或いは削除された場合に、双方向リンク
を付け替える。
The third searching unit 74 searches for an end having stored range data whose start address has a value larger than the end stored by the range data storage 73. Second
The determination unit 75 compares the end range data stored and processed by the range data storage unit 73 with the end range data searched by the third search unit 74 to determine the inclusion relationship. The stored data deletion unit 76 deletes the range data stored at the end based on the judgment result by the second judgment unit 75. The bidirectional link setting unit 77 uses the range data storage unit 7
3 and the stored data deletion unit 76 adds or deletes the end where the range data is stored, the bidirectional link is replaced.

【0086】以上の構成をふまえ、まず、検索処理の一
例を説明する。図7は、本実施の形態における検索処理
の流れを具体的に示した図である。図示された4分木型
構造の末端の記憶領域には、範囲データ200d(0x
12482000〜0x1248f000)が登録され
ており、その他の末端には(0x1248****〜0
x********)で表される範囲データは登録され
ていない。この状態で、指定アドレス範囲100d(0
x12482000〜0x12483000)を検索キ
ーとして検索を行うこととする。
Based on the above configuration, an example of the search process will be described first. FIG. 7 is a diagram specifically showing the flow of the search process in the present embodiment. In the storage area at the end of the illustrated quadtree structure, range data 200d (0x
12482000-0x1248f000) is registered, and (0x1248 ****-0
The range data represented by (x *********) has not been registered. In this state, the specified address range 100d (0
(x12482000-0x12483000) is used as the search key.

【0087】(1)検索部50の開始アドレス取得部5
1により指定アドレス範囲の開始アドレスが取得され
る。図示されるように、開始アドレスは0x12482
000であるが、開始アドレス取得部51ではこれを2
進数に変換する。これにより「00010010010
01000...」が得られる。第1探索部52は、こ
の開始アドレスをインデックスとする枝(分岐点)を辿
る。具体的には、32ビット(深さ16)の末端まで、
0番目,1番目,0番目,2番目,1番目,0番目,2
番目,0番目,0番目,2番目,0番目,0番目,0番
目,0番目,0番目,0番目の枝(分岐点)を順に辿る
こととなる。
(1) Start address acquisition unit 5 of search unit 50
The start address of the designated address range is acquired by 1. As shown, the starting address is 0x12482
000, the start address acquisition unit 51 sets this to 2
Convert to decimal. As a result, "00010010010
01000. . . Is obtained. The first search unit 52 traces a branch (branch point) having this start address as an index. Specifically, up to the end of 32 bits (depth 16),
0th, 1st, 0th, 2nd, 1st, 0th, 2
The 0th, 0th, 0th, 2nd, 0th, 0th, 0th, 0th, 0th, 0th branch (branch point) will be traced in order.

【0088】(2)辿った先の末端には、範囲データ2
00d(0x12482000〜0x1248f00
0)が格納されている。第1探索部52は、該範囲デー
タ200dを取得する。
(2) Range data 2 at the end of the traced destination
00d (0x12482000 to 0x1248f00
0) is stored. The first search unit 52 acquires the range data 200d.

【0089】(3)比較部53は、第1探索部52で取
得された範囲データ200dと、指定アドレス範囲(検
索キー)100dとを比較する。開始アドレスについて
は、0x12482000<=0x12482000な
ので、後は終了アドレスを比較すればよい。この場合は
0x1248f000>0x12483000なので、
格納されている範囲データは指定アドレス範囲を包含し
ている。
(3) The comparing section 53 compares the range data 200d acquired by the first searching section 52 with the designated address range (search key) 100d. Since 0x12482000 <= 0x12482000 for the start address, the end addresses may be compared later. In this case, 0x1248f000> 0x12483000, so
The stored range data includes the specified address range.

【0090】(4)従って、比較部53は、この範囲デ
ータ200dを検索結果取得部60に出力する。検索結
果取得部60は比較部53から受信したデータにより、
検索がヒットしたとして、通信用ハードウェアに指定ア
ドレス範囲が確認された通知として範囲データ200d
を出力する。
(4) Therefore, the comparison unit 53 outputs the range data 200d to the search result acquisition unit 60. Based on the data received from the comparison unit 53, the search result acquisition unit 60
Range data 200d as a notification that the specified address range has been confirmed in the communication hardware as a search hit
Is output.

【0091】実施の形態6.図8は4分木型構造の記憶
領域には範囲データ200e(0x1247f000〜
0x12484000)が登録されており、その他の末
端には(0x1248****〜0x*******
*)で表現される範囲データは登録されていない場合の
検索処理について示した図である。ここで、検索する指
定アドレス範囲(検索キー)100eは実施の形態5と
同様、(0x12482000〜0x1248300
0)とする。
Sixth Embodiment In FIG. 8, range data 200e (0x1247f000-
0x12484000) is registered, and (0x1248 ***** to 0x *********) at the other end.
It is the figure which showed the search process in case the range data represented by *) are not registered. Here, the designated address range (search key) 100e to be searched is (0x12482000 to 0x1248300) as in the fifth embodiment.
0).

【0092】(1)開始アドレス取得までは実施の形態
5と同様であるため、説明を省略する。第1探索部52
は、取得された開始アドレスにより、12ビット(深さ
6)までは、0番目,1番目,0番目,2番目,1番
目,0番目の枝を順に辿る。
(1) Since the process up to the acquisition of the start address is the same as that of the fifth embodiment, its explanation is omitted. First search unit 52
Follows the 0th, 1st, 0th, 2nd, 1st, 0th branch in order up to 12 bits (depth 6) according to the acquired start address.

【0093】(2)分岐点Dでは、1番目(インデック
ス01)の枝の先にある末端に範囲データ200e(0
x1247f000〜0x12484000)が存在す
るが、2番目(インデックス10)の枝の先には範囲デ
ータが存在しない。そこで、本来辿るべき2番目の代わ
りに1番目の枝を辿る。これ以降の分岐点では、範囲デ
ータが存在する枝のうち一番大きい番号のものを辿って
行く。
(2) At the branch point D, the range data 200e (0) is added to the end at the end of the first (index 01) branch.
x1247f000 to 0x12484000) exists, but range data does not exist at the end of the second (index 10) branch. Therefore, instead of the second route that should be originally traced, the first branch is traced. At the branch points thereafter, the branch having the largest number among the branches having the range data is traced.

【0094】(3)枝を辿って、範囲データ200e
(0x1247f000〜0x12484000)のみ
が存在する末端に到達したとする。この範囲データ20
0eは、開始アドレスが検索キーより小さいので、検索
キーを包含する可能性がある。なおかつ、検索キーに最
も近い範囲データである。第1探索部52は、該範囲デ
ータ200eを取得する。
(3) Following the branch, the range data 200e
It is assumed that the end where only (0x1247f000-0x12484000) exists is reached. This range data 20
0e may include the search key because the starting address is smaller than the search key. Moreover, it is the range data closest to the search key. The first search unit 52 acquires the range data 200e.

【0095】(4)比較部53は、取得された範囲デー
タ200eと検索キー100eの終了アドレスを比較す
る。この場合は、0x12484000>0x1248
3000なので、この範囲データ200eは検索キー1
00eを包含している。
(4) The comparison unit 53 compares the acquired range data 200e with the end address of the search key 100e. In this case, 0x12484000> 0x1248
Since it is 3000, this range data 200e has search key 1
00e is included.

【0096】(5)従って、比較部53は、この範囲デ
ータ200eを検索結果取得部60に出力する。後の処
理は実施の形態5と同様であるため、説明を省略する。
(5) Therefore, the comparison unit 53 outputs the range data 200e to the search result acquisition unit 60. Subsequent processing is the same as that of the fifth embodiment, and therefore the description is omitted.

【0097】実施の形態7.図9は4分木型構造の記憶
領域には範囲データ200f(0x12490000〜
0x12491000)が登録されており、その他の末
端には(0x1248****〜0x*******
*)で表現される範囲データは登録されていない場合の
検索処理について示した図である。ここで、検索する指
定アドレス範囲(検索キー)100fは実施の形態5と
同様、(0x12482000〜0x1248300
0)とする。
Seventh Embodiment In FIG. 9, range data 200f (0x12490000-
0x12491000) is registered, and (0x1248 ***** to 0x *********) at the other end.
It is the figure which showed the search process in case the range data represented by *) are not registered. Here, the designated address range (search key) 100f to be searched is (0x12482000 to 0x1248300) as in the fifth embodiment.
0).

【0098】(1)開始アドレス取得までは実施の形態
5と同様であるため、説明を省略する。第1探索部52
は、取得された開始アドレスにより、14ビット(深さ
7)までは、0番目,1番目,0番目,2番目,1番
目,0番目,2番目の枝を順に辿る。
(1) The process up to the acquisition of the start address is the same as that of the fifth embodiment, and therefore its explanation is omitted. First search unit 52
Follows the 0th, 1st, 0th, 2nd, 1st, 0th, 2nd branch in order up to 14 bits (depth 7) according to the acquired start address.

【0099】(2)分岐点Eでは、1番目(インデック
ス01)の枝の先にある末端に範囲データ200f(0
x12490000〜0x12491000)が存在す
るが、0番目(インデックス00)の枝の先には範囲デ
ータが存在しない。そこで、本来辿るべき0番目の代わ
りに1番目の枝を辿る。これ以降の分岐点では、範囲デ
ータの存在する枝のうち一番小さい番号のものを辿って
行く。
(2) At the branch point E, the range data 200f (0 is set at the end at the end of the first (index 01) branch.
However, there is no range data at the end of the 0th (index 00) branch. Therefore, the first branch is traced instead of the 0th branch which should be traced. At the branch points thereafter, the branch having the smallest number among the branches having the range data is traced.

【0100】(3)枝を辿って、範囲データ200f
(0x12490000〜0x12491000)のみ
が存在する末端に到達したとする。この範囲データ20
0fは、開始アドレスが検索キー100fより大きいの
で、検索キー100fを包含することはない。ただし、
検索キー100fに最も近い範囲データである。
(3) The range data 200f is traced along the branch.
It is assumed that the end where only (0x124900000-0x12491000) exists is reached. This range data 20
0f does not include the search key 100f because the start address is larger than the search key 100f. However,
The range data is closest to the search key 100f.

【0101】(4)第1探索部52は、予め末端に設定
されている双方向リンクを用いて、この範囲データ20
0fの一つ前の範囲データ200gを取得する。比較部
53は、取得された範囲データ200gと検索キー10
0fとを比較する。この範囲データ200gが検索キー
を包含していれば、比較部53はこの範囲データ200
gを検索結果取得部60に出力する。後の処理は実施の
形態5と同様であるため、説明を省略する。
(4) The first searching unit 52 uses the bidirectional link which is set at the end in advance, and the range data 20
The range data 200g immediately before 0f is acquired. The comparison unit 53 uses the acquired range data 200g and the search key 10
Compare with 0f. If the range data 200g includes the search key, the comparison unit 53 determines the range data 200g.
The g is output to the search result acquisition unit 60. Subsequent processing is the same as that of the fifth embodiment, and therefore the description is omitted.

【0102】実施の形態8.本実施の形態及び以下に続
く実施の形態9、10では、検索処理により検索がヒッ
トしなかった場合に行われる登録処理について詳述す
る。本実施の形態では、図10に示すように4分木型構
造の記憶領域には範囲データ200h(0x12482
000〜0x12482800)が登録されており、そ
の他の末端には(0x1248****〜0x****
****)で表現される範囲データは登録されていない
場合の登録処理について詳述する。また検索及び登録す
る指定アドレス範囲(検索キー、範囲データ)100h
は、(0x12482000〜0x12483000)
とする。
Eighth Embodiment In the present embodiment and the following ninth and tenth embodiments, the registration processing performed when the search is not hit by the search processing will be described in detail. In the present embodiment, as shown in FIG. 10, range data 200h (0x12482) is stored in the storage area of the quadtree structure.
000 to 0x12482800) is registered, and (0x1248 *** to 0x ****) at the other ends.
The registration process when the range data represented by (***) is not registered will be described in detail. Also, the specified address range (search key, range data) to be searched and registered 100h
Is (0x12482000-0x12483000)
And

【0103】図10(a)から説明する。 (1)開始アドレス取得までは実施の形態5と同様であ
るため、説明を省略する。第1探索部52は、取得され
た開始アドレスにより、32ビット(深さ16)の末端
まで、0番目,1番目,0番目,2番目,1番目,0番
目,2番目,0番目,0番目,2番目,0番目,0番
目,0番目,0番目,0番目,0番目の枝を順に辿る。
It will be described with reference to FIG. (1) The description up to the acquisition of the start address is omitted because it is the same as in the fifth embodiment. The first searching unit 52 uses the acquired start address up to the end of 32 bits (depth 16), 0th, 1st, 0th, 2nd, 1st, 0th, 2nd, 0th, 0. The 2nd, 2nd, 0th, 0th, 0th, 0th, 0th, 0th branch is traced in order.

【0104】(2)辿った先の末端には、範囲データ2
00h(0x12482000〜0x1248280
0)が格納されている。第1探索部52は、該範囲デー
タ200hを取得する。ここまでの手順は実施の形態5
の(1)(2)と同様である。
(2) Range data 2 at the end of the traced destination
00h (0x12482000-0x1248280
0) is stored. The first search unit 52 acquires the range data 200h. The procedure up to this point is the fifth embodiment.
(1) and (2).

【0105】(3)この範囲データ200hと指定アド
レス範囲100hの終了アドレスを比較する。この場
合、0x12482800<0x12483000なの
で、範囲データ100hは既存の範囲データ200hを
包含している。比較部53は、該結果を検索結果取得部
60に出力する。出力された結果により、検索がヒット
しなかったと判断される。
(3) This range data 200h is compared with the end address of the designated address range 100h. In this case, since 0x12482800 <0x12483000, the range data 100h includes the existing range data 200h. The comparison unit 53 outputs the result to the search result acquisition unit 60. From the output result, it is determined that the search did not hit.

【0106】(4)検索結果取得部60は、検索結果を
登録部70の第1判断部71に出力する。第1判断部7
1は、出力された検索結果に基づいて、範囲データ20
0hが指定アドレス範囲100hの開始アドレスにより
辿った先の末端の記憶領域に格納されていることを判断
する。この判断に基づき、範囲データ格納部73は、格
納されていた範囲データ200hを新規の範囲データ1
00hに置き換える。置き換えられた範囲データを20
0iとする。
(4) The search result acquisition unit 60 outputs the search result to the first judgment unit 71 of the registration unit 70. First judging unit 7
1 is range data 20 based on the output search result.
It is determined that 0h is stored in the end storage area traced by the start address of the designated address range 100h. Based on this determination, the range data storage unit 73 replaces the stored range data 200h with the new range data 1
Replace with 00h. Replaced range data is 20
0i.

【0107】続いて図10(b)を説明する。 (5)既存範囲データ200hが持っていた双方向リン
クは、新規範囲データ200iが継承するため、この部
分の双方向リンクの設定は変化しない。
Next, FIG. 10B will be described. (5) Since the new range data 200i inherits the bidirectional link that the existing range data 200h had, the setting of the bidirectional link in this part does not change.

【0108】(6)次に、第3探索部74は、新しく挿
入された範囲データ200iから、双方向リンクを辿っ
て一つ次の範囲データ200jを取得する。第2判断部
は、新規範囲データ200iと取得された範囲データ2
00jを比較する。
(6) Next, the third searching unit 74 follows the bidirectional link from the newly inserted range data 200i to obtain the next range data 200j. The second determination unit determines the new range data 200i and the acquired range data 2
Compare 00j.

【0109】(7)新規範囲データ200iが範囲デー
タ200jを包含しなければ、登録処理を終了し、通信
用ハードウェアに通知する。新規範囲データ200iが
範囲データ200jを包含していれば、格納データ削除
部76が範囲データ200jを4分木型構造の領域から
削除し、双方向リンク設定部77が該削除された範囲デ
ータ200jの双方向リンクを付け替える。以下、第3
探索部74は双方向リンクを用いて次々と既存の範囲デ
ータを取得し、第2判断部75により新規範囲データ2
00iが既存範囲データを包含しないと判断されるま
で、既存範囲データの削除及びリンクの付け替えが繰り
返される。
(7) If the new range data 200i does not include the range data 200j, the registration process is terminated and the communication hardware is notified. If the new range data 200i includes the range data 200j, the stored data deletion unit 76 deletes the range data 200j from the quadtree structure area, and the bidirectional link setting unit 77 deletes the deleted range data 200j. Replace the two-way link. Below, the third
The search unit 74 sequentially acquires existing range data by using the bidirectional link, and the second determination unit 75 acquires the new range data 2
The deletion of the existing range data and the replacement of the link are repeated until it is determined that 00i does not include the existing range data.

【0110】実施の形態9.本実施の形態では、図11
に示すように4分木型構造の記憶領域には範囲データ2
00m(0x1247f000〜0x1248100
0)が登録されており、その他の末端には(0x124
8****〜0x********)で表現される範囲
データは登録されていない場合の登録処理について詳述
する。また検索及び登録する指定アドレス範囲(検索キ
ー、範囲データ)100kは、(0x12482000
〜0x12483000)とする。
[Embodiment 9] In this embodiment mode, FIG.
As shown in, the range data 2 is stored in the storage area of the quadtree structure.
00m (0x1247f000-0x1248100
0) is registered, and (0x124
The registration processing in the case where the range data represented by 8 ***** to 0x ********** is not registered will be described in detail. The specified address range (search key, range data) 100k to be searched and registered is (0x12482000).
0x12483000).

【0111】図11(a)から説明する。 (1)開始アドレス取得までは実施の形態5と同様であ
るため、説明を省略する。第1探索部52は、取得され
た開始アドレスにより、12ビット(深さ6)までは、
0番目,1番目,0番目,2番目,1番目,0番目の枝
を順に辿る。
It will be described with reference to FIG. (1) The description up to the acquisition of the start address is omitted because it is the same as in the fifth embodiment. The first search unit 52 uses the acquired start address up to 12 bits (depth 6).
The 0th, 1st, 0th, 2nd, 1st, 0th branch is traced in order.

【0112】(2)分岐点Fでは、1番目(インデック
ス01)の枝の下に範囲データ200m(0x1247
f000〜0x12481000)が存在するが、取得
された開始アドレスをキーとして辿るべき枝である2番
目(インデックス10)の枝の先には範囲データが存在
しない。第1探索部52は、実施の形態6と同様、他の
枝を辿って、他の範囲データを探索して取得するが、比
較部53の比較結果により検索結果取得部60は、検索
がヒットしなかったとして、該検索結果を登録部70の
第1判断部71に出力する。本実施の形態では検索処理
についての更なる詳細な説明は省略する。
(2) At the branch point F, the range data 200 m (0x1247) is located under the first (index 01) branch.
f000 to 0x12481000) exists, but range data does not exist at the tip of the second (index 10) branch that is the branch to be traced using the acquired start address as a key. Similar to the sixth embodiment, the first searching unit 52 traces another branch to search and acquire other range data, but the search result acquisition unit 60 determines that the search hits based on the comparison result of the comparison unit 53. If not, the search result is output to the first determination unit 71 of the registration unit 70. In the present embodiment, further detailed description of the search process will be omitted.

【0113】(3)第1判断部71により、出力された
検索結果に基づいて、指定アドレス範囲100kの開始
アドレスにより辿った先の末端の記憶領域には何も格納
されていないことが判断される。この判断に基づき、第
2探索部72は、該末端の一つ前となる既存の範囲デー
タ200m(0x1247f000〜0x124810
00)を探索する。該探索結果は、検索部50の第1探
索部52の探索結果から直接取得してもよいし、第1探
索部52と同様の処理により取得してもよい。
(3) Based on the output search result, the first judging section 71 judges that nothing is stored in the end storage area traced by the start address of the designated address range 100k. It Based on this determination, the second searching unit 72 causes the existing range data 200m (0x1247f000 to 0x124810) immediately before the end to exist.
00) is searched. The search result may be directly acquired from the search result of the first search unit 52 of the search unit 50, or may be acquired by the same process as the first search unit 52.

【0114】これにより、探索された範囲データ200
mは、範囲データ100kに含まれるアドレスを何も包
含していないことが判明するため、範囲データ格納部7
3は、2番目(インデックス10)の枝以下を伸ばし
て、範囲データ100kの開始アドレスにより辿った先
の末端までの枝を作成し、この末端に範囲データ100
kをそのまま格納する。格納した範囲データを200k
とする。
As a result, the searched range data 200
Since it is found that m does not include any address included in the range data 100k, the range data storage unit 7
3 extends the second branch (index 10) and the following branches to create a branch to the end that follows the start address of the range data 100k, and the range data 100 at this end.
Store k as is. 200k stored range data
And

【0115】続いて図11(b)を説明する。 (4)第1探索部52或いは第2探索部72の処理によ
り、新規範囲データ200kの一つ前となる既存範囲デ
ータ200mが既に判っているため、双方向リンク設定
部77はこの既存範囲データ200mと、この次の既存
範囲データ(図示せず)との間の双方向リンクをはず
し、新規範囲データ200kと既存範囲データ200m
とが双方向リンクで結ばれるようリンクを付け替える。
同様に、リンクをはずされた新規範囲データ200kの
次の既存範囲データと新規範囲データ200kとを双方
向リンクで結ぶ。
Next, FIG. 11B will be described. (4) Since the existing range data 200m, which is one before the new range data 200k, is already known by the processing of the first search unit 52 or the second search unit 72, the bidirectional link setting unit 77 determines that the existing range data The bidirectional link between 200m and the next existing range data (not shown) is disconnected, and new range data 200k and existing range data 200m
Change the links so that and are connected by a bidirectional link.
Similarly, the existing range data next to the unlinked new range data 200k and the new range data 200k are connected by a bidirectional link.

【0116】(5)続いて、第3探索部74と、第2判
断部と、格納データ削除部と、双方向リンク設定部77
とにより、不要な範囲データを削除しつつ双方向リンク
を付け替えていく。本処理は、実施の形態8の(6)及
び(7)と同様であるため説明を省略する。
(5) Subsequently, the third searching section 74, the second judging section, the stored data deleting section, and the bidirectional link setting section 77.
By doing so, the bidirectional link is replaced while deleting unnecessary range data. This processing is the same as (6) and (7) of the eighth embodiment, and therefore the description is omitted.

【0117】実施の形態10.本実施の形態では、図1
2に示すように4分木型構造の記憶領域には範囲データ
200p(0x12490000〜0x1249100
0)が登録されており、その他の末端には(0x124
8****〜0x********)で表現される範囲
データは登録されていない場合の検索及び登録処理につ
いて詳述する。また検索及び登録する指定アドレス範囲
(検索キー、範囲データ)100nは、(0x1248
2000〜0x12483000)とする。
Embodiment 10. FIG. In the present embodiment, FIG.
As shown in FIG. 2, range data 200p (0x12490000 to 0x1249100) is stored in the storage area of the quadtree structure.
0) is registered, and (0x124
The search and registration processing in the case where the range data represented by 8 ***** to 0x *********** is not registered will be described in detail. The specified address range (search key, range data) 100n to be searched and registered is (0x1248).
2000-0x12483000).

【0118】図12(a)から説明する。 (1)開始アドレス取得までは実施の形態5と同様であ
るため、説明を省略する。第1探索部52は、取得され
た開始アドレスにより、14ビット(深さ7)までは、
0番目,1番目,0番目,2番目,1番目,0番目,2
番目の枝を順に辿る。
It will be described with reference to FIG. (1) The description up to the acquisition of the start address is omitted because it is the same as in the fifth embodiment. The first search unit 52 uses the acquired start address up to 14 bits (depth 7).
0th, 1st, 0th, 2nd, 1st, 0th, 2
Follow the th branch in order.

【0119】(2)分岐点Gでは、1番目(インデック
ス01)の枝の下に範囲データ200p(0x1249
0000〜0x12491000)が存在するが、取得
された開始アドレスをキーとして辿るべき枝である0番
目(インデックス00)の枝の先には範囲データが存在
しない。第1探索部52は、実施の形態6と同様、他の
枝を辿って、他の範囲データを探索して取得するが、比
較部53の比較結果により検索結果取得部60は、検索
がヒットしなかったとして、該検索結果を登録部70の
第1判断部71に出力する。本実施の形態では検索処理
についての更なる詳細な説明は省略する。
(2) At the branch point G, the range data 200p (0x1249) is located under the first (index 01) branch.
0000 to 0x12491000) exists, but range data does not exist at the tip of the 0th (index 00) branch which is a branch to be traced using the acquired start address as a key. Similar to the sixth embodiment, the first searching unit 52 traces another branch to search and acquire other range data, but the search result acquisition unit 60 determines that the search hits based on the comparison result of the comparison unit 53. If not, the search result is output to the first determination unit 71 of the registration unit 70. In the present embodiment, further detailed description of the search process will be omitted.

【0120】(3)第1判断部71により、出力された
検索結果に基づいて、指定アドレス範囲100nの開始
アドレスにより辿った先の末端の記憶領域には何も格納
されていないことが判断される。この判断に基づき、第
2探索部72は、該末端の一つ後となる既存の範囲デー
タ200p(0x12490000〜0x124910
00)を探索する。該探索結果は、検索部50の第1探
索部52の探索結果から直接取得してもよいし、第1探
索部52と同様の処理により取得してもよい。
(3) Based on the output search result, the first judging unit 71 judges that nothing is stored in the end storage area traced by the start address of the designated address range 100n. It Based on this determination, the second searching unit 72 determines that the existing range data 200p (0x12490000 to 0x124910) that is one after the end is present.
00) is searched. The search result may be directly acquired from the search result of the first search unit 52 of the search unit 50, or may be acquired by the same process as the first search unit 52.

【0121】これにより、探索された範囲データ200
pは、範囲データ100nに含まれるアドレスを何も包
含していないことが判明するため、範囲データ格納部7
3は、0番目(インデックス00)の枝以下を伸ばし
て、範囲データ100nの開始アドレスにより辿った先
の末端までの枝を作成し、この末端に範囲データ100
nをそのまま格納する。格納した範囲データを200n
とする。
As a result, the searched range data 200
Since it is found that p does not include any address included in the range data 100n, the range data storage unit 7
3 extends the 0th (index 00) branch and the following branches to create a branch to the end that follows the start address of the range data 100n.
Store n as it is. 200n of stored range data
And

【0122】続いて図12(b)を説明する。 (4)第1探索部52或いは第2探索部72の処理によ
り、新規範囲データ200nの一つ後となる既存範囲デ
ータ200pが既に判っているため、双方向リンク設定
部77はこの既存範囲データ200pと、この前の既存
範囲データ(図示せず)との間の双方向リンクをはず
し、新規範囲データ200nと既存範囲データ200p
とが双方向リンクで結ばれるようリンクを付け替える。
更に、リンクをはずされた新規範囲データ200nの前
の既存範囲データと新規範囲データ200nとを双方向
リンクで結ぶ。
Next, FIG. 12B will be described. (4) Since the existing range data 200p that is one after the new range data 200n is already known by the processing of the first search unit 52 or the second search unit 72, the bidirectional link setting unit 77 determines that the existing range data The bidirectional link between 200p and the existing range data (not shown) before this is removed, and the new range data 200n and the existing range data 200p
Change the links so that and are connected by a bidirectional link.
Further, the existing range data before the unlinked new range data 200n and the new range data 200n are connected by a bidirectional link.

【0123】(5)続いて、第3探索部74と、第2判
断部と、格納データ削除部と、双方向リンク設定部77
とにより、不要な範囲データを削除しつつ双方向リンク
を付け替えていく。本処理は、実施の形態8の(6)及
び(7)と同様であるため説明を省略する。
(5) Subsequently, the third searching unit 74, the second judging unit, the stored data deleting unit, and the bidirectional link setting unit 77.
By doing so, the bidirectional link is replaced while deleting unnecessary range data. This processing is the same as (6) and (7) of the eighth embodiment, and therefore the description is omitted.

【0124】以上、本発明の実施の形態を説明したが、
本発明は上述したInfiniBandシステムに限定されず、様
々な通信用ハードウェアを用いた通信システムに適用可
能である。また、実施の形態においては、データ処理装
置に検索機能と登録機能の双方の機能を持たせている
が、片方の機能のみを有する装置としてもよく、その形
態は特に限定されないことは言うまでもない。
The embodiments of the present invention have been described above.
The present invention is not limited to the InfiniBand system described above, but can be applied to communication systems using various communication hardware. Further, in the embodiment, the data processing device is provided with both the search function and the registration function, but it is needless to say that the device may have only one function, and the form thereof is not particularly limited.

【0125】(付記1)2^n(2のn乗)分木型のデ
ータ構造を有し、複数の第1のデータの集合を記憶する
データ記憶装置であって、前記第1のデータは、所定の
アドレス範囲とその属性を示すデータであり、前記第1
のデータは、2^n分木において、前記第1のデータと
関連付けられる第2のデータを上位からnビットずつ区
切って得られる各nビットの値がインデックスとされる
分岐点を、2^n分木の上位から順に辿ることにより得
られる末端の記憶領域に格納されていることを特徴とす
るデータ記憶装置。 (付記2)付記1に記載のデータ記憶装置において、前
記第2のデータは、2進数で表現されていることを特徴
とするデータ記憶装置。 (付記3)付記1又は付記2に記載のデータ記憶装置に
おいて、前記第2のデータは、前記所定のアドレス範囲
の開始アドレスであることを特徴とするデータ記憶装
置。 (付記4)付記1乃至付記3のいずれかに記載のデータ
記憶装置において、前記属性は、前記所定のアドレス範
囲に対するアクセス権の有無であることを特徴とするデ
ータ記憶装置。 (付記5)付記3又は付記4に記載のデータ記憶装置に
おいて、前記第1のデータは、前記開始アドレスに対応
する分岐点の末端に加え、前記アドレス範囲に含まれる
全てのアドレスに対応する分岐点の末端に格納されてい
ることを特徴とするデータ記憶装置。 (付記6)付記1乃至付記4のいずれかに記載のデータ
記憶装置において、ある分岐点の下位に前記第1のデー
タが格納されている記憶領域を有する末端がただ1つの
みである場合、前記2^n分木において前記ある分岐点
は省略されることを特徴とするデータ記憶装置。 (付記7)付記6に記載のデータ記憶装置において、前
記省略された分岐点の直下の分岐点には、該省略された
分岐点のインデックス番号が格納されることを特徴とす
るデータ記憶装置。 (付記8)付記1乃至付記7のいずれかに記載のデータ
記憶装置において、複数の前記第1のデータが格納され
ている末端は互いに双方向リンクで結ばれていることを
特徴とするデータ記憶装置。 (付記9)付記8に記載のデータ記憶装置において、前
記双方向リンクは、前記末端の記憶領域に格納された所
定のアドレス範囲の開始アドレスでソートされた末端の
前記第1データをD1、D2...Dkとするとき、D
1とD2、D2とD3...、D(k−1)とDkの第
1データを有するぞれぞれの末端が互いに双方向リンク
で結ばれていることを特徴とするデータ記憶装置。 (付記10)2^n分木型のデータ構造を有し、複数の
第1のデータの集合を記憶するデータ記憶装置であっ
て、前記第1のデータは、所定のアドレス範囲とその属
性を示すデータであり、前記2^n分木の第m階層の分
岐点の記憶領域のうち、前記第1のデータと関連付けら
れる第2のデータを最上位からnビットずつ区切って得
られる各nビットの、上位からm番目のnビットの値に
等しいインデックスの領域には、前記第m階層の直下で
あって、前記m+α番目のnビットの値に等しいインデ
ックスを有する第m+α階層の分岐点のアドレスが格納
され、前記第m+α階層が最下層である場合、該最下層
の記憶領域のうち、前記第2のデータの下位nビットの
値に等しいインデックスの領域には、前記第1のデータ
が格納されていることを特徴とするデータ記憶装置。 (付記11)付記10に記載のデータ記憶装置におい
て、前記第2のデータは、2進数で表現されていること
を特徴とするデータ記憶装置。 (付記12)付記10又は付記11に記載のデータ記憶
装置において、前記第2のデータは、前記所定のアドレ
ス範囲の開始アドレスであることを特徴とするデータ記
憶装置。 (付記13)付記10乃至付記12のいずれかに記載の
データ記憶装置において、前記属性は、前記所定のアド
レス範囲に対するアクセス権の有無であることを特徴と
するデータ記憶装置。 (付記14)付記10乃至付記13のいずれかに記載の
データ記憶装置において、前記αは1であり、前記第1
のデータは、前記開始アドレスに対応する最下層の記憶
領域に加え、前記アドレス範囲に含まれる全てのアドレ
スに対応する最下層の記憶領域に格納されていることを
特徴とするデータ記憶装置。 (付記15)付記10乃至付記14のいずれかに記載の
データ記憶装置において、前記第m階層の分岐点の下位
に前記第1のデータが格納された最下層のインデックス
領域がただ1つのみ存在する場合、前記αは2であるこ
とを特徴とするデータ記憶装置。 (付記16)付記15に記載のデータ記憶装置におい
て、第m+1階層の分岐点の記憶領域のうち、前記第2
のデータの最上位からm+1番目のnビットの値に等し
いインデックスの領域は、非格納領域とされることを特
徴とするデータ記憶装置。 (付記17)付記15又は付記16に記載のデータ記憶
装置において、第m+2階層の分岐点の記憶領域のう
ち、前記第2のデータの最上位からm+2番目のnビッ
トの値に等しいインデックスの領域に記憶されるデータ
には、前記第2のデータの最上位からm+1番目のnビ
ットの値が含まれることを特徴とするデータ記憶装置。 (付記18)付記10乃至付記17のいずれかに記載の
データ記憶装置において、複数の前記第1のデータが格
納されている最下層の記憶領域には、更に、該最下層の
記憶領域が互いに双方向リンクで結ばれるよう、互いの
アドレスが格納されていることを特徴とするデータ記憶
装置。 (付記19)付記18に記載のデータ記憶装置におい
て、前記双方向リンクが、前記末端の記憶領域に格納さ
れた所定のアドレス範囲の開始アドレスでソートされた
末端の前記第1データをD1、D2...Dkとすると
き、前記最下層の記憶領域には、D1とD2、D2とD
3...、D(k−1)とDkの第1データを有するぞ
れぞれの末端が互いにリンクされるよう、互いのアドレ
スが格納されていることを特徴とするデータ記憶装置。 (付記20)所定のデータに所定の装置がアクセスする
ために付記1乃至付記19のいずれかに記載のデータ記
憶装置に対し所定の処理を行うデータ処理装置であっ
て、前記データ記憶装置の所定の記憶領域に、前記第1
のデータを、該第1のデータにおけるアドレス範囲内の
所定のアドレスを参照キーとして参照可能に記憶するこ
とができるデータ処理装置。 (付記21)所定のデータに所定の装置がアクセスする
ために付記1乃至付記19のいずれかに記載のデータ記
憶装置に対し所定の処理を行うデータ処理装置であっ
て、前記所定のデータのアドレス範囲及びその属性を示
すデータである第3のデータを、前記データ記憶装置内
で検索する検索手段と、前記検索手段の検索結果に基づ
いて、所定の処理を行う処理手段とを備えたことを特徴
とするデータ処理装置。 (付記22)付記21に記載のデータ処理装置におい
て、前記検索手段は、前記第3のデータに関連する第4
のデータを取得する第1取得手段と、前記第1取得手段
により取得された第4のデータを上位ビットからnビッ
トすつ取得する第2取得手段と、前記第2取得手段によ
り取得されたnビットの各値に基づいて、前記第1のデ
ータを格納する所定の末端を探索する探索手段と、前記
探索手段の探索結果に基づいて、前記所定の末端の記憶
領域に格納された前記第1のデータを取得する第3取得
手段と、前記第3取得手段により取得されたデータと前
記所定のデータを比較する比較手段とを備え、前記比較
手段による比較結果に基づいて前記第3のデータが前記
データ記憶装置に格納されているか否かを判断すること
を特徴とするデータ処理装置。 (付記23)付記22に記載のデータ処理装置におい
て、前記第4のデータは、前記アクセス指定されたアド
レス範囲の開始アドレスであることを特徴とするデータ
処理装置。 (付記24)付記22又は付記23に記載のデータ処理
装置において、前記第1取得手段は、前記第4のデータ
が2進数でない場合、2進数に変換する変換手段を有
し、前記変換手段により変換されたデータを取得するこ
とを特徴とするデータ処理装置。 (付記25)付記22乃至付記24のいずれかに記載の
データ処理装置において、前記探索手段により探索され
る所定の末端は、前記第2取得手段により取得されたn
ビットの各値をインデックスとする分岐点を前記2^n
分木の上位から順に辿ることにより得られる末端(M)
であることを特徴とするデータ処理装置。 (付記26)付記22乃至付記24のいずれかに記載の
データ処理装置において、前記探索手段は、前記末端
(M)の記憶領域に前記第1のデータが格納されていな
い場合には、前記第1のデータが格納されている末端の
うち、前記2^n分木において前記末端(M)の近傍の
末端を探索し、該近傍の末端を所定の末端とすることを
特徴とするデータ処理装置。 (付記27)付記26に記載のデータ処理装置におい
て、前記探索手段は、前記末端(M)の近傍の末端を探
索する場合、前記データ記憶装置内で前記第1のデータ
が格納されている末端のうち、第2のデータが第4のデ
ータより小さい値となる第1のデータを格納した末端で
あって、更にその中で前記2^n分木において前記末端
(M)から最も近い末端を探索することを特徴とするデ
ータ処理装置。 (付記28)付記23乃至付記27のいずれかに記載の
データ処理装置において、前記比較手段は、前記第1の
データの所定アドレス範囲の開始アドレス(ai)と、
前記第3のデータのアクセス指定されたアドレス範囲の
開始アドレス(a)とを比較する第1比較手段と、前記
第1のデータの所定アドレス範囲の終了アドレス(b
i)と前記第3のデータのアクセス指定されたアドレス
範囲の終了アドレス(b)とを比較する第2比較手段を
備え、前記第1比較手段による比較結果がai<=aで
あり、且つ前記第2比較手段による比較結果が、b<=
biである場合に、前記検索手段は、前記第3のデータ
が前記データ記憶装置に格納されていると判断すること
を特徴とするデータ処理装置。 (付記29)付記21乃至付記28のいずれかに記載の
データ処理装置において、前記検索手段により、前記第
3のデータが前記データ記憶装置内に格納されていない
と判断された場合、前記処理手段は、前記第3のデータ
を前記データ記憶装置に格納して前記所定の装置による
前記所定のデータへのアクセスを許可する属性を付与す
ることを特徴とするデータ処理装置。 (付記30)付記29に記載のデータ処理装置におい
て、前記処理手段は、前記末端(M)の記憶領域に第1
のデータが格納されているか否かを判断する第1判断手
段と、前記第1判断手段による判断結果に基づいて、前
記第3のデータを前記データ記憶装置に格納する格納手
段とを備えたことを特徴とするデータ処理装置。 (付記31)付記30に記載のデータ処理装置におい
て、前記格納手段は、前記第1判断手段により、前記末
端(M)の記憶領域に前記第1のデータが格納されてい
ないと判断された場合、前記データ記憶装置内で前記第
1のデータが格納されている末端のうち、第2のデータ
が第4のデータより小さい値となる第1のデータを格納
した末端であって、更にその中で前記2^n分木におい
て前記末端(M)から最も近い末端を探索する第1探索
手段とを備え、前記第1探索手段の探索結果に基づい
て、前記第3のデータを前記データ記憶装置に格納する
ことを特徴とするデータ処理装置。 (付記32)付記31に記載のデータ処理装置におい
て、前記格納手段は、前記第1探索手段により、第2の
データが第4のデータより小さい値となる第1のデータ
を格納した末端が探索されなかった場合、前記末端
(M)の記憶領域に前記第3のデータを格納することを
特徴とするデータ処理装置。 (付記33)付記31に記載のデータ処理装置におい
て、前記格納手段は、前記第1探索手段により、ある末
端が探索された場合、該探索された末端の記憶領域に格
納される第1のデータを、該第1のデータと前記第3の
データとをマージした第4のデータに置き換えることを
特徴とするデータ処理装置。 (付記34)付記31乃至付記33のいずれかに記載の
データ処理装置において、前記格納手段は、前記第1判
断手段により、前記末端(M)の記憶領域に前記第1の
データが格納されていると判断された場合、前記末端
(M)の記憶領域に既に格納されている第1のデータを
前記第3のデータに置き換えることを特徴とするデータ
処理装置。 (付記35)付記30乃至付記34のいずれかに記載の
データ処理装置において、前記データ記憶装置におい
て、前記第1のデータが該第1のデータの開始アドレス
に対応する分岐点の末端のみに格納されている場合、前
記処理手段は、更に、前記データ記憶装置内で前記第1
のデータが格納されている末端のうち、第2のデータが
前記格納手段により格納処理された末端における第2の
データより大きい値となる第1のデータを格納した末端
を探索する第2探索手段と、前記第2探索手段により探
索された末端の記憶領域に格納された第1のデータと、
前記格納手段により格納されたデータとの包含関係を判
断する第2判断手段と、前記第2判断手段により、前記
第2探索手段により探索された末端の記憶領域に格納さ
れた第1のデータが前記格納手段により格納されたデー
タに含まれると判断された場合、前記第2探索手段によ
り探索された末端の記憶領域に格納されたデータを削除
する削除手段とを備えたことを特徴とするデータ処理装
置。 (付記36)付記27乃至付記35のいずれかに記載の
データ処理装置において、前記データ記憶装置に格納さ
れた複数の第1のデータが互いに双方向リンクで結ばれ
ている場合、前記検索手段が有する前記探索手段或いは
前記処理手段が有する前記第1探索手段或いは前記第2
探索手段は、前記双方向リンクを用いて探索処理を行う
ことを特徴とするデータ処理装置。 (付記37)付記30乃至付記36のいずれかに記載の
データ処理装置において、前記データ記憶装置に格納さ
れた複数の第1のデータが互いに双方向リンクで結ばれ
ている場合、前記処理手段は、更に、前記データ記憶装
置内で前記第1のデータが格納されている末端が追加或
いは削除された場合、前記双方向リンクを付け替えるリ
ンク変更手段を備えることを特徴とするデータ処理装
置。 (付記38)所定のデータに所定の装置がアクセスする
ために付記1乃至付記19のいずれかに記載のデータ記
憶装置に対し所定の処理を行うデータ処理方法であっ
て、前記所定のデータのアドレス範囲及びその属性を示
すデータである第3のデータを、前記データ記憶装置内
で検索する第1ステップと、前記第1ステップによる検
索の結果、前記第3のデータが前記データ記憶装置内に
格納されていると判断された場合、前記所定の装置の前
記所定のデータへのアクセスを許可する第2ステップ
と、前記第1ステップによる検索の結果、前記第3のデ
ータが前記データ記憶装置内に格納されていないと判断
された場合、前記第3のデータを前記データ記憶装置に
格納して前記所定の装置の前記所定のデータへのアクセ
スを許可する第3ステップとを有することを特徴とする
データ処理方法。 (付記39)付記38に記載のデータ処理方法におい
て、前記第1ステップは、前記第3のデータに関連する
第4のデータを取得する第1取得ステップと、前記第1
取得ステップにより取得された第4のデータを上位ビッ
トからnビットすつ取得する第2取得ステップと、前記
第2取得ステップにより取得されたnビットの各値に基
づいて、前記第1のデータを格納する所定の末端を探索
する探索ステップと、前記探索ステップの探索結果に基
づいて、前記所定の末端の記憶領域に格納された前記第
1のデータを取得する第3取得ステップと、前記第3取
得ステップにより取得されたデータと前記所定のデータ
を比較する比較ステップとを備え、前記比較ステップに
よる比較結果に基づいて前記第3のデータが前記データ
記憶装置に格納されているか否かを判断することを特徴
とするデータ処理方法。 (付記40)付記38又は付記39に記載のデータ処理
方法において、前記第2ステップは、前記第2取得ステ
ップにより取得されたnビットの各値をインデックスと
する分岐点を前記2^n分木の上位から順に辿ることに
より得られる末端の記憶領域に第1のデータが格納され
ているか否かを判断する第1判断ステップと、前記第1
判断ステップによる判断結果に基づいて、前記第3のデ
ータを前記データ記憶装置に格納する格納ステップとを
備えたことを特徴とするデータ処理方法。 (付記41)コンピュータにより読取り可能な媒体に記
録され、所定のデータに所定の装置がアクセスするため
に付記1乃至付記19のいずれかに記載のデータ記憶装
置に対し所定の処理を行うデータ処理プログラムであっ
て、前記所定のデータのアドレス範囲及びその属性を示
すデータである第3のデータを、前記データ記憶装置内
で検索する第1ステップと、前記第1ステップによる検
索の結果、前記第3のデータが前記データ記憶装置内に
格納されていると判断された場合、前記所定の装置の前
記所定のデータへのアクセスを許可する第2ステップ
と、前記第1ステップによる検索の結果、前記第3のデ
ータが前記データ記憶装置内に格納されていないと判断
された場合、前記第3のデータを前記データ記憶装置に
格納して前記所定の装置の前記所定のデータへのアクセ
スを許可する第3ステップとを有することを特徴とする
データ処理プログラム。 (付記42)付記41に記載のデータ処理プログラムに
おいて、前記第1ステップは、前記第3のデータに関連
する第4のデータを取得する第1取得ステップと、前記
第1取得ステップにより取得された第4のデータを上位
ビットからnビットすつ取得する第2取得ステップと、
前記第2取得ステップにより取得されたnビットの各値
に基づいて、前記第1のデータを格納する所定の末端を
探索する探索ステップと、前記探索ステップの探索結果
に基づいて、前記所定の末端の記憶領域に格納された前
記第1のデータを取得する第3取得ステップと、前記第
3取得ステップにより取得されたデータと前記所定のデ
ータを比較する比較ステップとを備え、前記比較ステッ
プによる比較結果に基づいて前記第3のデータが前記デ
ータ記憶装置に格納されているか否かを判断することを
特徴とするデータ処理プログラム。 (付記43)付記41又は付記42に記載のデータ処理
プログラムにおいて、前記第2ステップは、前記第2取
得ステップにより取得されたnビットの各値をインデッ
クスとする分岐点を前記2^n分木の上位から順に辿る
ことにより得られる末端の記憶領域に第1のデータが格
納されているか否かを判断する第1判断ステップと、前
記第1判断ステップによる判断結果に基づいて、前記第
3のデータを前記データ記憶装置に格納する格納ステッ
プとを備えたことを特徴とするデータ処理プログラム。
(Supplementary Note 1) A data storage device having a 2 ^ n (2 to the n-th power) branch tree type data structure and storing a set of a plurality of first data, wherein the first data is , Data indicating a predetermined address range and its attributes,
Is a branch point where each n-bit value obtained by dividing the second data associated with the first data by n bits from the higher order is an index in the 2 ^ n-ary tree. A data storage device characterized by being stored in a storage area at an end obtained by sequentially tracing from the upper part of a branch tree. (Supplementary note 2) The data storage device according to supplementary note 1, wherein the second data is represented by a binary number. (Supplementary note 3) The data storage device according to supplementary note 1 or 2, wherein the second data is a start address of the predetermined address range. (Supplementary note 4) The data storage device according to any one of supplementary notes 1 to 3, wherein the attribute is presence or absence of an access right to the predetermined address range. (Supplementary note 5) In the data storage device according to Supplementary note 3 or Supplementary note 4, the first data may include branches corresponding to all addresses included in the address range, in addition to an end of a branch point corresponding to the start address. A data storage device characterized by being stored at the end of a point. (Supplementary note 6) In the data storage device according to any one of supplementary notes 1 to 4, when there is only one terminal having a storage area in which the first data is stored under a certain branch point, The data storage device, wherein the certain branch point is omitted in the 2 ^ n-ary tree. (Supplementary note 7) The data storage device according to supplementary note 6, wherein an index number of the omitted branch point is stored at a branch point immediately below the omitted branch point. (Supplementary note 8) The data storage device according to any one of supplementary notes 1 to 7, characterized in that the terminals storing the plurality of first data are connected to each other by a bidirectional link. apparatus. (Supplementary note 9) In the data storage device according to supplementary note 8, the bidirectional link stores the first data at the end sorted by the start address of a predetermined address range stored in the storage area at the end at D1 and D2. . . . When Dk, D
1 and D2, D2 and D3. . . , D (k-1) and Dk having first data respectively connected at their respective ends with a bidirectional link. (Supplementary note 10) A data storage device having a 2 ^ n-branch data structure and storing a set of a plurality of first data, wherein the first data has a predetermined address range and its attributes. N bits obtained by dividing the second data associated with the first data by n bits from the most significant bit in the storage area of the branch point of the mth layer of the 2 ^ n-ary tree. , The address of the branch point of the (m + α) th layer, which is directly below the mth layer and has an index equal to the (m + α) th n-bit value, in the area of the index equal to the mth n-bit value from the upper Is stored and the m + α layer is the bottom layer, the first data is stored in the storage area of the bottom layer having an index equal to the value of the lower n bits of the second data. is being done Data storage device according to claim. (Supplementary note 11) The data storage device according to supplementary note 10, wherein the second data is represented by a binary number. (Supplementary note 12) The data storage device according to supplementary note 10 or supplementary note 11, wherein the second data is a start address of the predetermined address range. (Supplementary note 13) The data storage device according to any one of supplementary notes 10 to 12, wherein the attribute is presence or absence of an access right to the predetermined address range. (Supplementary note 14) In the data storage device according to any one of supplementary notes 10 to 13, the α is 1, and the first
The data storage device is stored in a storage area in the lowermost layer corresponding to the start address and in a storage area in the lowermost layer corresponding to all addresses included in the address range. (Supplementary note 15) In the data storage device according to any one of supplementary notes 10 to 14, there is only one index area in the lowest layer in which the first data is stored below the branch point of the m-th layer. The data storage device according to claim 1, wherein α is 2. (Supplementary note 16) In the data storage device according to supplementary note 15, in the storage area of the branch point of the (m + 1) th layer, the second storage area
An area having an index equal to the (m + 1) th n-bit value from the most significant data is a non-storage area. (Supplementary Note 17) In the data storage device according to Supplementary Note 15 or Supplementary Note 16, in the storage area of the branch point of the (m + 2) th layer, an area having an index equal to the value of the n + th bit from the top of the second data The data storage device according to claim 1, wherein the data stored in includes the m + 1th n-bit value from the most significant bit of the second data. (Supplementary note 18) In the data storage device according to any one of supplementary notes 10 to 17, further, in the storage area of the lowermost layer in which the plurality of first data are stored, the storage areas of the lowermost layer are mutually adjacent. A data storage device, in which addresses of each other are stored so as to be connected by a bidirectional link. (Supplementary note 19) In the data storage device according to supplementary note 18, the bidirectional link may include the first data at the end sorted by the start address of a predetermined address range stored in the storage area at the end at D1 and D2. . . . Assuming that Dk is D1, D2 and D2 are stored in the lowermost storage area.
3. . . , D (k-1) and Dk, the respective addresses having the first data of Dk are stored so that their respective ends are linked to each other. (Supplementary note 20) A data processing device that performs predetermined processing on the data storage device according to any one of supplementary notes 1 to 19 so that a predetermined device can access predetermined data. In the storage area of the first
The data processing device capable of memorizing the above data so that it can be referred to by using a predetermined address within the address range of the first data as a reference key. (Supplementary note 21) A data processing device that performs a predetermined process on the data storage device according to any one of supplementary notes 1 to 19 so that a predetermined device can access predetermined data, the address of the predetermined data. And a search means for searching the data storage device for the third data indicating the range and its attribute, and a processing means for performing a predetermined process based on the search result of the search means. Characteristic data processing device. (Supplementary note 22) In the data processing device according to supplementary note 21, the search unit is a fourth unit related to the third data.
First acquisition means for acquiring the above data, second acquisition means for acquiring n bits of the fourth data acquired by the first acquisition means from the upper bits, and n acquired by the second acquisition means. Search means for searching a predetermined end for storing the first data on the basis of each value of the bit, and the first storage stored in the storage area for the predetermined end on the basis of the search result of the search means. And a comparing means for comparing the data obtained by the third obtaining means with the predetermined data, and the third data is obtained based on the comparison result by the comparing means. A data processing device, which determines whether or not the data is stored in the data storage device. (Supplementary note 23) The data processing apparatus according to supplementary note 22, wherein the fourth data is a start address of the address range designated for access. (Supplementary Note 24) In the data processing device according to Supplementary Note 22 or Supplementary Note 23, the first acquisition unit has a conversion unit that converts the fourth data into a binary number when the fourth data is not a binary number, and A data processing device characterized by acquiring converted data. (Supplementary note 25) In the data processing device according to any one of supplementary notes 22 to 24, the predetermined terminal searched by the searching means is n obtained by the second acquiring means.
The branch point having each bit value as an index is 2n
End (M) obtained by sequentially tracing from the top of the branch tree
A data processing device characterized in that (Supplementary note 26) In the data processing device according to any one of supplementary notes 22 to 24, the search unit may be configured to execute the first operation if the first data is not stored in the storage area of the terminal (M). 1. A data processing device, characterized in that, among the ends storing 1 data, an end in the vicinity of the end (M) is searched in the 2 ^ n-ary tree and the end in the vicinity is made a predetermined end. . (Supplementary note 27) In the data processing device according to supplementary note 26, when the searching means searches for an end near the end (M), the end in which the first data is stored in the data storage device. Of the two, the second data is the end that stores the first data having a smaller value than the fourth data, and further the end that is closest to the end (M) in the 2 ^ n-ary tree is A data processing device characterized by searching. (Supplementary note 28) In the data processing device according to any one of supplementary notes 23 to 27, the comparison unit may include a start address (ai) of a predetermined address range of the first data,
First comparing means for comparing the start address (a) of the access-specified address range of the third data, and the end address (b) of the predetermined address range of the first data.
i) is compared with an end address (b) of the access-specified address range of the third data, and the comparison result by the first comparison means is ai <= a, and The comparison result by the second comparison means is b <=
The data processing device, wherein the search means determines that the third data is stored in the data storage device when the data is bi. (Supplementary note 29) In the data processing device according to any one of supplementary notes 21 to 28, when the search unit determines that the third data is not stored in the data storage device, the processing unit Is a data processing device, wherein the third data is stored in the data storage device, and an attribute that allows the predetermined device to access the predetermined data is added. (Supplementary note 30) In the data processing device according to supplementary note 29, the processing means may be arranged in the first (M) storage area.
First determination means for determining whether or not the data is stored, and storage means for storing the third data in the data storage device based on the determination result by the first determination means. A data processing device characterized by: (Supplementary note 31) In the data processing device according to supplementary note 30, when the storage unit determines by the first determination unit that the first data is not stored in the storage area of the end (M). Of the terminals storing the first data in the data storage device, the terminal storing the first data having a second data value smaller than the fourth data, and And a first searching means for searching a terminal closest to the terminal (M) in the 2 ^ n-ary tree, and the third data is stored in the data storage device based on a search result of the first searching means. A data processing device characterized by storing in a. (Supplementary note 32) In the data processing device according to supplementary note 31, the storage unit searches the end storing the first data by which the second data is smaller than the fourth data by the first search unit. If not, the data processing device stores the third data in the storage area of the terminal (M). (Supplementary note 33) In the data processing device according to supplementary note 31, when the certain searching end is searched for by the first searching means, the storage means stores the first data stored in the searched end storage area. Is replaced with fourth data obtained by merging the first data and the third data. (Supplementary note 34) In the data processing device according to any one of supplementary notes 31 to 33, the storage means stores the first data in the storage area of the terminal (M) by the first determination means. A data processing device, characterized in that, when it is determined that the data is present, the first data already stored in the end (M) storage area is replaced with the third data. (Supplementary note 35) In the data processing device according to any one of supplementary notes 30 to 34, in the data storage device, the first data is stored only at an end of a branch point corresponding to a start address of the first data. If so, the processing means further comprises the first means in the data storage device.
Second searching means for searching the end storing the first data having a value larger than the second data at the end stored by the storage means among the ends storing the data And the first data stored in the storage area at the end searched by the second searching means,
The second judgment means for judging the inclusion relation with the data stored by the storage means, and the first data stored in the terminal storage area searched by the second search means by the second judgment means Data comprising: a deletion unit that deletes the data stored in the end storage area searched by the second searching unit when it is determined that the data is stored in the data stored by the storage unit. Processing equipment. (Supplementary note 36) In the data processing device according to any one of supplementary notes 27 to 35, when the plurality of first data stored in the data storage device are connected to each other by a bidirectional link, the search means is The searching means or the processing means having the first searching means or the second
The data processing device, wherein the search means performs a search process using the bidirectional link. (Supplementary note 37) In the data processing device according to any one of supplementary notes 30 to 36, when the plurality of first data stored in the data storage device are linked to each other by a bidirectional link, the processing means The data processing device further comprises link changing means for changing the bidirectional link when an end of the data storage device storing the first data is added or deleted. (Supplementary note 38) A data processing method for performing a predetermined process on the data storage device according to any one of supplementary notes 1 to 19 in order for a predetermined device to access predetermined data, the address of the predetermined data. A first step of searching in the data storage device for third data, which is data indicating a range and its attributes, and as a result of the search in the first step, the third data is stored in the data storage device. If it is determined that the third data is stored in the data storage device as a result of the second step of permitting access to the predetermined data of the predetermined device and the search by the first step. If it is determined that the third data is not stored, the third data is stored in the data storage device to allow the predetermined device to access the predetermined data. Data processing method characterized by having a flop. (Supplementary note 39) In the data processing method according to supplementary note 38, the first step includes a first acquisition step of acquiring fourth data related to the third data, and the first step.
The first data is acquired based on the second acquisition step of acquiring n bits of the fourth data acquired by the acquisition step from the upper bits and each value of n bits acquired by the second acquisition step. A search step of searching for a predetermined end to be stored, a third acquisition step of acquiring the first data stored in the storage area of the predetermined end based on the search result of the search step, and the third A comparison step of comparing the data acquired in the acquisition step with the predetermined data is provided, and it is determined whether or not the third data is stored in the data storage device based on the comparison result of the comparison step. A data processing method characterized by the above. (Supplementary note 40) In the data processing method according to Supplementary note 38 or Supplementary note 39, in the second step, a branch point having each n-bit value acquired in the second acquisition step as an index is the 2 ^ n-ary tree. A first determination step of determining whether or not the first data is stored in the end storage area obtained by sequentially tracing from the upper order of
A storage step of storing the third data in the data storage device based on a determination result of the determination step. (Supplementary note 41) A data processing program recorded on a computer-readable medium and performing a predetermined process on the data storage device according to any one of supplementary notes 1 to 19 so that a predetermined device can access predetermined data. A first step of searching the data storage device for third data, which is data indicating an address range of the predetermined data and its attribute, and the third step as a result of the search by the first step. If it is determined that the data is stored in the data storage device, the second step of permitting access to the predetermined data of the predetermined device, and the search result by the first step, If it is determined that the data of No. 3 is not stored in the data storage device, the third data is stored in the data storage device and the predetermined data is stored. Data processing program, characterized by a third step of permitting access to said predetermined data location. (Supplementary note 42) In the data processing program according to supplementary note 41, the first step is obtained by a first obtaining step of obtaining fourth data related to the third data, and the first obtaining step. A second acquisition step of acquiring n bits of the fourth data from the upper bits,
Based on each value of n bits acquired by the second acquisition step, a search step of searching for a predetermined end that stores the first data, and the predetermined end based on the search result of the search step. A third acquisition step for acquiring the first data stored in the storage area of the storage device, and a comparison step for comparing the predetermined data with the data acquired by the third acquisition step, and the comparison by the comparison step. A data processing program, which determines whether or not the third data is stored in the data storage device based on a result. (Supplementary note 43) In the data processing program according to Supplementary note 41 or Supplementary note 42, in the second step, a branch point having each value of n bits acquired in the second acquisition step as an index is the 2 ^ n-ary tree. A first determination step of determining whether or not the first data is stored in the storage area at the end obtained by sequentially tracing from the higher order, and the third determination step based on the determination result of the first determination step. And a storage step of storing data in the data storage device.

【0126】[0126]

【発明の効果】以上に詳述したように、本発明によっ
て、検索の際に行われるリンクを辿る処理回数やアドレ
ス範囲データの比較処理が大幅に減少する。例えば、ア
ドレスが32ビットで表されるコンピュータにおいて、
範囲データを1000個登録した場合を考える。この場
合、従来の検索方法では、平均500個の範囲データを
調べることになるが、本発明の検索方法だと、高々32
回(または16回、11回...)のリンクを辿る処理
の後で1個の範囲データを調べるだけでよい。従って、
本発明は、従来のデータ構造に比して検索処理が高速化
し、検索時間が短縮するという効果を奏する
As described above in detail, according to the present invention, the number of processings for following a link and the comparison processing of address range data, which are performed at the time of searching, are significantly reduced. For example, in a computer whose address is represented by 32 bits,
Consider the case where 1000 pieces of range data are registered. In this case, with the conventional search method, an average of 500 pieces of range data will be examined, but with the search method of the present invention, at most 32 pieces of range data will be searched.
It is only necessary to examine one range data after the process of following the link for the number of times (or 16 times, 11 times ...). Therefore,
INDUSTRIAL APPLICABILITY The present invention has an effect that the search processing is faster and the search time is shorter than that of the conventional data structure.

【図面の簡単な説明】[Brief description of drawings]

【図1】従来の技術を用いた検索処理と、本発明におけ
る検索処理の相違を示した図である。
FIG. 1 is a diagram showing a difference between a search process using a conventional technique and a search process according to the present invention.

【図2】実施の形態1における4分木型のデータ構造の
一例を示した図である。
FIG. 2 is a diagram showing an example of a quadtree data structure according to the first embodiment.

【図3】実施の形態2における4分木型データ構造にお
いて、ある分岐点が省略される例を示した図である。
FIG. 3 is a diagram showing an example in which a certain branch point is omitted in the quadtree data structure according to the second embodiment.

【図4】実施の形態3における4分木型構造をメモリ上
に配置した一例を示す図である。
FIG. 4 is a diagram showing an example in which a quadtree structure according to a third embodiment is arranged on a memory.

【図5】実施の形態4において、4分木型のデータ構造
の範囲データに双方向リンクを付加した一例を示す図で
ある。
FIG. 5 is a diagram showing an example in which a bidirectional link is added to range data of a quadtree type data structure in the fourth embodiment.

【図6】データ処理装置の機能構成を示したブロック図
の一例である。
FIG. 6 is an example of a block diagram showing a functional configuration of a data processing device.

【図7】実施の形態5における検索処理の流れを具体的
に示した図である。
FIG. 7 is a diagram specifically showing a flow of search processing in the fifth embodiment.

【図8】実施の形態6における検索処理の流れを具体的
に示した図である。
FIG. 8 is a diagram specifically showing a flow of search processing in the sixth embodiment.

【図9】実施の形態7における検索処理の流れを具体的
に示した図である。
FIG. 9 is a diagram specifically showing a flow of search processing in the seventh embodiment.

【図10】実施の形態8における登録処理の流れを具体
的に示した図である。
FIG. 10 is a diagram specifically showing a flow of registration processing in the eighth embodiment.

【図11】実施の形態9における登録処理の流れを具体
的に示した図である。
FIG. 11 is a diagram specifically showing a flow of registration processing in the ninth embodiment.

【図12】実施の形態10における登録処理の流れを具
体的に示した図である。
FIG. 12 is a diagram specifically showing a flow of registration processing in the tenth embodiment.

【図13】InfiniBandを用いたシステムの機能の概略を
示した図である。
FIG. 13 is a diagram showing an outline of functions of a system using InfiniBand.

【符号の説明】[Explanation of symbols]

10、10a メモリ、30、30a アドレス範囲記
憶領域、50 検索部、51 開始アドレス取得部、5
2 第1探索部、53 比較部、60 検索結果取得
部、70 登録部、71 第1判断部、72 第2探索
部、73 範囲データ格納部、74 第3探索部、75
第2判断部、76 格納データ削除部、77 双方向
リンク設定部、90 データ処理装置。
10, 10a memory, 30, 30a address range storage area, 50 search unit, 51 start address acquisition unit, 5
2 1st search part, 53 comparison part, 60 search result acquisition part, 70 registration part, 71 1st judgment part, 72 2nd search part, 73 range data storage part, 74 3rd search part, 75
Second determination unit, 76 Stored data deletion unit, 77 Bidirectional link setting unit, 90 Data processing device.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 2^n(2のn乗)分木型のデータ構造
を有し、複数の第1のデータの集合を記憶するデータ記
憶装置であって、 前記第1のデータは、所定のアドレス範囲とその属性を
示すデータであり、 前記第1のデータは、2^n分木において、前記第1の
データと関連付けられる第2のデータを上位からnビッ
トずつ区切って得られる各nビットの値がインデックス
とされる分岐点を、2^n分木の上位から順に辿ること
により得られる末端の記憶領域に格納されていることを
特徴とするデータ記憶装置。
1. A data storage device having a 2 ^ n (2 to the nth power) branch tree type data structure and storing a set of a plurality of first data, wherein the first data is a predetermined number. Data indicating the address range and the attribute thereof, the first data is n data obtained by dividing the second data associated with the first data by n bits from the upper order in a 2 ^ n tree. A data storage device characterized in that a branch point whose bit value is used as an index is stored in a storage area at an end obtained by sequentially tracing from a higher order of a 2 ^ n branch tree.
【請求項2】 所定のデータに所定の装置がアクセスす
るために請求項1に記載のデータ記憶装置に対し所定の
処理を行うデータ処理装置であって、 前記所定のデータのアドレス範囲及びその属性を示すデ
ータである第3のデータを、前記データ記憶装置内で検
索する検索手段と、 前記検索手段の検索結果に基づいて、所定の処理を行う
処理手段とを備えたことを特徴とするデータ処理装置。
2. A data processing device for performing a predetermined process on a data storage device according to claim 1 in order for a predetermined device to access predetermined data, wherein an address range of the predetermined data and an attribute thereof. Data including a search unit that searches the data storage device for the third data that is the data indicating the above, and a processing unit that performs a predetermined process based on the search result of the search unit. Processing equipment.
【請求項3】 請求項2に記載のデータ処理装置におい
て、 前記検索手段は、 前記第3のデータに関連する第4のデータを取得する第
1取得手段と、 前記第1取得手段により取得された第4のデータを上位
ビットからnビットすつ取得する第2取得手段と、 前記第2取得手段により取得されたnビットの各値に基
づいて、前記第1のデータを格納する所定の末端を探索
する探索手段と、 前記探索手段の探索結果に基づいて、前記所定の末端の
記憶領域に格納された前記第1のデータを取得する第3
取得手段と、 前記第3取得手段により取得されたデータと前記所定の
データを比較する比較手段とを備え、 前記比較手段による比較結果に基づいて前記第3のデー
タが前記データ記憶装置に格納されているか否かを判断
することを特徴とするデータ処理装置。
3. The data processing apparatus according to claim 2, wherein the search unit is acquired by the first acquisition unit that acquires fourth data related to the third data, and the first acquisition unit. Second acquisition means for acquiring n bits of the fourth data from the upper bits, and a predetermined terminal for storing the first data based on each value of the n bits acquired by the second acquisition means. And a third means for acquiring the first data stored in the predetermined end storage area based on a search result of the searching means.
An acquisition unit and a comparison unit that compares the predetermined data with the data acquired by the third acquisition unit, and the third data is stored in the data storage device based on a comparison result by the comparison unit. A data processing device, characterized in that it determines whether or not it is present.
【請求項4】 所定のデータに所定の装置がアクセスす
るために請求項1に記載のデータ記憶装置に対し所定の
処理を行うデータ処理方法であって、 前記所定のデータのアドレス範囲及びその属性を示すデ
ータである第3のデータを、前記データ記憶装置内で検
索する第1ステップと、 前記第1ステップによる検索の結果、前記第3のデータ
が前記データ記憶装置内に格納されていると判断された
場合、前記所定の装置の前記所定のデータへのアクセス
を許可する第2ステップと、 前記第1ステップによる検索の結果、前記第3のデータ
が前記データ記憶装置内に格納されていないと判断され
た場合、前記第3のデータを前記データ記憶装置に格納
して前記所定の装置の前記所定のデータへのアクセスを
許可する第3ステップとを有することを特徴とするデー
タ処理方法。
4. A data processing method for performing a predetermined process on a data storage device according to claim 1 in order for a predetermined device to access predetermined data, the address range of the predetermined data and an attribute thereof. A third step of searching in the data storage device for third data, which is data indicating that the third data is stored in the data storage device as a result of the search in the first step. If determined, the second step of permitting the predetermined device to access the predetermined data, and the third data is not stored in the data storage device as a result of the search by the first step. And the third step of storing the third data in the data storage device and permitting the predetermined device to access the predetermined data. A data processing method characterized by.
【請求項5】 コンピュータにより読取り可能な媒体に
記録され、所定のデータに所定の装置がアクセスするた
めに請求項1に記載のデータ記憶装置に対し所定の処理
を行うデータ処理プログラムであって、 前記所定のデータのアドレス範囲及びその属性を示すデ
ータである第3のデータを、前記データ記憶装置内で検
索する第1ステップと、 前記第1ステップによる検索の結果、前記第3のデータ
が前記データ記憶装置内に格納されていると判断された
場合、前記所定の装置の前記所定のデータへのアクセス
を許可する第2ステップと、 前記第1ステップによる検索の結果、前記第3のデータ
が前記データ記憶装置内に格納されていないと判断され
た場合、前記第3のデータを前記データ記憶装置に格納
して前記所定の装置の前記所定のデータへのアクセスを
許可する第3ステップとを有することを特徴とするデー
タ処理プログラム。
5. A data processing program recorded on a computer-readable medium and performing a predetermined process on a data storage device according to claim 1, for a predetermined device to access predetermined data. A first step of searching in the data storage device for third data, which is data indicating an address range of the predetermined data and its attribute; and as a result of the search in the first step, the third data is the When it is determined that the third data is stored in the data storage device, the second step of permitting access to the predetermined data of the predetermined device, and the result of the search by the first step, the third data is When it is determined that the third data is not stored in the data storage device, the third data is stored in the data storage device and the predetermined data of the predetermined device is stored. And a third step of permitting access to the data.
JP2002094372A 2002-03-29 2002-03-29 Data storage device, data processor, data processing method, and data processing program Pending JP2003296157A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002094372A JP2003296157A (en) 2002-03-29 2002-03-29 Data storage device, data processor, data processing method, and data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002094372A JP2003296157A (en) 2002-03-29 2002-03-29 Data storage device, data processor, data processing method, and data processing program

Publications (1)

Publication Number Publication Date
JP2003296157A true JP2003296157A (en) 2003-10-17

Family

ID=29386958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002094372A Pending JP2003296157A (en) 2002-03-29 2002-03-29 Data storage device, data processor, data processing method, and data processing program

Country Status (1)

Country Link
JP (1) JP2003296157A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277164A (en) * 2008-05-18 2009-11-26 S Grants Co Ltd Bit sequence search device, search method and program
JP2010176574A (en) * 2009-01-30 2010-08-12 Canon Inc Method and apparatus for managing data
CN102567397A (en) * 2010-12-30 2012-07-11 高德软件有限公司 Method and device for relevance marking of interest points and chain store sub-branch interest points
JP2013156822A (en) * 2012-01-30 2013-08-15 Hitachi Ltd Sequence data retrieval apparatus, sequence data retrieval method and program
CN104516896A (en) * 2013-09-29 2015-04-15 国际商业机器公司 Method and system for processing hot spot region in map
CN112380004A (en) * 2020-11-04 2021-02-19 成都佰维存储科技有限公司 Memory management method and device, computer readable storage medium and electronic equipment

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277164A (en) * 2008-05-18 2009-11-26 S Grants Co Ltd Bit sequence search device, search method and program
WO2009141941A1 (en) * 2008-05-18 2009-11-26 株式会社エスグランツ Bit sequence search device, search method, and program
JP4514810B2 (en) * 2008-05-18 2010-07-28 株式会社エスグランツ Bit string search device, search method and program
US8166043B2 (en) 2008-05-18 2012-04-24 S. Grants Co., Ltd. Bit strings search apparatus, search method, and program
JP2010176574A (en) * 2009-01-30 2010-08-12 Canon Inc Method and apparatus for managing data
CN102567397A (en) * 2010-12-30 2012-07-11 高德软件有限公司 Method and device for relevance marking of interest points and chain store sub-branch interest points
CN102567397B (en) * 2010-12-30 2014-08-06 高德软件有限公司 Method and device for relevance marking of interest points and chain store sub-branch interest points
JP2013156822A (en) * 2012-01-30 2013-08-15 Hitachi Ltd Sequence data retrieval apparatus, sequence data retrieval method and program
CN104516896A (en) * 2013-09-29 2015-04-15 国际商业机器公司 Method and system for processing hot spot region in map
CN104516896B (en) * 2013-09-29 2018-03-09 国际商业机器公司 For handling the method and system in map hot point region
CN112380004A (en) * 2020-11-04 2021-02-19 成都佰维存储科技有限公司 Memory management method and device, computer readable storage medium and electronic equipment
CN112380004B (en) * 2020-11-04 2023-06-13 成都佰维存储科技有限公司 Memory management method, memory management device, computer readable storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
CN1552032B (en) Database
US7558802B2 (en) Information retrieving system
CN104021161B (en) A kind of clustering storage method and device
CN102156751B (en) Method and device for extracting video fingerprint
JP2002501256A (en) Database device
JPH11282876A (en) Document retrieving device
CN106980656B (en) A kind of searching method based on two-value code dictionary tree
CN107357843B (en) Massive network data searching method based on data stream structure
US8086641B1 (en) Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US20080133494A1 (en) Method and apparatus for searching forwarding table
CN107784030B (en) Method and device for processing connection query
US7653619B1 (en) Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
CN109597829B (en) Middleware method for realizing searchable encryption relational database cache
CN112131218A (en) Hash table look-up method, device and equipment for gene comparison and storage medium
JP2003296157A (en) Data storage device, data processor, data processing method, and data processing program
CN114491199A (en) Data retrieval method, device and system
US20040267772A1 (en) Apparatus, system and method for updating a sorted list
US7953721B1 (en) Integrated search engine devices that support database key dumping and methods of operating same
US6397216B1 (en) Ordering keys in a table using an ordering mask
CN110825846B (en) Data processing method and device
CN112269784A (en) Hash table structure based on hardware realization and inserting, inquiring and deleting method
JP2000339332A (en) Medium recording retrieval index, method and device for updating retrieval index and medium recording its program
KR100907827B1 (en) Forwarding Table Search Device and Method
JP2008065716A (en) Device, method and program for data management
JP2001052024A (en) Method and device for retrieving similar feature amount and storage medium storing retrieval program for similar feature amount

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080325