JP2002507026A - メモリ装置内のデータ値の記憶アドレスを決定するための方法並びにアクセス装置 - Google Patents

メモリ装置内のデータ値の記憶アドレスを決定するための方法並びにアクセス装置

Info

Publication number
JP2002507026A
JP2002507026A JP2000536013A JP2000536013A JP2002507026A JP 2002507026 A JP2002507026 A JP 2002507026A JP 2000536013 A JP2000536013 A JP 2000536013A JP 2000536013 A JP2000536013 A JP 2000536013A JP 2002507026 A JP2002507026 A JP 2002507026A
Authority
JP
Japan
Prior art keywords
address
data value
current
stored
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000536013A
Other languages
English (en)
Other versions
JP4807686B2 (ja
Inventor
ガルド、ベングト、エリク、インゲマル
ヨンソン、ステン、エドバルド
− オルヤン クリング、ラルス
Original Assignee
テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
Publication of JP2002507026A publication Critical patent/JP2002507026A/ja
Application granted granted Critical
Publication of JP4807686B2 publication Critical patent/JP4807686B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 本発明はメモリ装置内の予め定められたデータ値の記憶アドレスを決定するための方法ならびにアクセス装置に関する。このデータ値はバイナリ・ツリーデータ構造に基づいて列方向に昇順に記憶されている。新たなサブツリー・ルート・ノードは検索されるべきデータ値が前回サブツリー内に配置されていない時に、前回リーフ・ノードアドレスから計算される。新たなサブツリー・ルート・ノードは常に前回リーフ・ノードアドレスと検索された値と読み出し値の間の比較結果から計算されているので、行アドレスの変化を最少に保ちながら、高速なサブツリー検索が維持される。この検索方法およびアクセス装置は、ポインタが不要なのでメモリ効率を上げ、検査されるべき次メモリ位置のアドレスが常に前回アドレスと最終比較結果とから計算できるので高速である。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明はメモリ装置内に予め定められたデータ値の記憶アドレスを決定するた
めの方法に係り、ここで前記データ値は予め定められた記憶アドレスに、複数の
ノード(node)、ブランチ(branch)、サブツリー(subtree)およびリーフ(l
eaf)のバイナリ・ツリー・データ構造に基づいて記憶されている。特に、メモ リ装置は2つの部分、すなわち列アドレス部と行アドレス部で構成されたアドレ
スでアドレス指定され、ここでメモリ装置へのエントリーは2次元行列配列の中
に記憶されている。
【0002】 (背景技術) 非常に多数のエントリーを含むメモリ内の特定データ値の高速検索を実行する
必要がしばしば存在する。例えば、人間の個人識別番号がメモリ装置内に記憶さ
れており、個人の年齢、職業または自動車登録に関するある種の情報に関連付け
られている状況を想定する。この識別番号は多数の桁で構成されているはずであ
る、すなわちメモリ内には多数の値が記憶されているはずである。別の例は、電
話番号が記憶されており、各々の電話番号がその電話番号が属する家の住所を示
す特定の情報に関連付けられているCD−ROMがある。
【0003】 その中に個別エントリーの特定位置が記憶されている、すなわちその中に記憶
アドレスが記憶されている第2メモリ装置を使用しなければならないことを回避
するために、複数のデータ値が含まれているメモリ装置が特定データ値に関して
検索され、そのデータ値が発見されるとその関連する情報が読み出される。もち
ろん、そのデータ値(個人識別情報または電話番号)はメモリ装置内にランダム
に記憶されている場合もあり、この場合そのデータ値の場所を探るために全メモ
リが列および行方向に検索されなければならなくなるはずである、何故ならばい
くら何でも対象としているデータ値が何処に配置されているかが分からなければ
どの情報も利用できないからである。
【0004】 メモリ装置の大きさによって不確かな時間が掛かる、1つ1つのエントリーを
メモリ装置を通して検索することを避けるために、そのデータ値(そこに関連す
る情報では無い)はメモリ装置内に予め定められた規則に従って記憶されており
、この規則は後で検索手順の間にそのデータ値を再配置する際に使用できる。
【0005】 図5は2次元メモリの1例を示しており、ここでデータ・エントリーは行アド
レス部Aと列アドレス部B、すなわちアドレス S=<A(x),B(x)> を有するアド レスでアドレス指定される。Xはバイナリ・ツリー内のノードと見なされ、ここ
に特定の行アドレスおよび列アドレスが挿入される。図5に示されるように、個
別のデータ値Dメモリ装置内にランダムに記憶されていて、通常の手順は記憶さ
れたデータ値を表すためにバイナリ・ツリーデータ構造を使用することである。
【0006】 図6に示されるように、バイナリ・ツリーデータ構造の中で各ノード(そこに
データ値が入力されまた読み出される交点X)が2つの別のノードに接続されて
いる。バイナリ・ツリー(またはそこにマッピングされたエントリーを有するメ
モリ装置)を通る検索は以下の通りである。データ値D1がノードX(行アドレ
スA(x)および列アドレスB(X)に配置されている)から読み出され、このデータD
1はその記憶アドレスが決定されるべきデータ値Dと比較される。D<D1の場
合、ツリーの左側ブランチLが採られ、D1<Dの場合、右側ブランチRが採ら
れる。データ構造(またはメモリ装置内のデータ値)は、論理的に、ノードX2
がデータ値D2<D1そしてデータ値D3>D1を持つように構成されている。
しかしながら、個別のデータ値D1,D2,D3は本来的にメモり装置内にラン
ダムに記憶されているので、A(X1),B(X1)でD1を読み出した後、バ
イナリ・ツリー検索を行うためにD2またはD3の位置またはメモリ・アドレス
に関する情報が提供される必要がある。
【0007】 従って従来からの1つの解決方法は、各々のデータ値D1,D2,D3が2つ
のポインタに関連づけられている(記憶されている)、すなわち読み出されたデ
ータ値よりも大きい(R)または小さい(L)データ値の位置を示すアドレスを
含む更に2つの別のメモリ位置に関連づけられている。論理的にはバイナリ・ツ
リー構造が使用されているが、ここで各々の更に次のサブレベルは記憶されてい
るデータ値がそれぞれ、メモリ装置内の先のサブレベル(サブツリー)の中のも
のよりより大きいかまたはより小さいはずであり、それ自身図5に示されるよう
に基本的にデータ値はメモリ装置内にランダムに記憶されているが、アドレスポ
インタを使用する論理マッピングはただ1つのみ存在する。
【0008】 異なるアドレス・ポインタを具備したデータ・エントリーを使用すると、そこ
からデータ値が読み出され検索されるべきデータ値と比較される第1番目のノー
ドである予め定義されたルート・ノードRNが必要となる。この様な検索アルゴ
リズムが「データ構造並びにアルゴリズム(Data Structures and Algorithm) 」、アホ ホップクロフト、ウルマン(Aho Hopcroft,Ullmann)著;ISDNO-201-
00023-7、ページ155ffに記述されている。明らかに欠点が存在し、非常に多種類
のデータ値を記憶するためのメモリ空間が必要であり、各々のそして全てのデー
タ値に対して更に2つのポインタ・エントリがブランチL,Rを示すために必要
となる。
【0009】 図5にはメモリ装置内の論理バイナリ・ツリーの潜在的な表現のみが存在する
が、別の解決策ではバイナリ・ツリーデータ構造をメモリ装置内の固定アドレス
、すなわち行列配列の要素にマッピングが使用されている。この場合、分岐アド
レスがバイナリ・ツリーノードのメモリ装置内の予め定められた位置にマッピン
グすることを通して事前に知られており、従ってここではポインタは必要ではな
く、メモリ空間も占有しない。ポインタが評価される必要が無いので、検索時間
はより早くなるはずである、これは「データ構造並びにアルゴリズム」、アホ
ホップクロフト、ウルマン著;ISDN0-201-00023-7、ページ271 ffに開示され
ている通りである。その様な個別ノードX1,X2,X3のメモリ装置内の特定
位置への明示的マッピングを使用して、1つのサブツリー(!)内のそれぞれの
「子供」ノードX2,X3のアドレスが計算できる。実際、左および右ブランチ
を列アドレスAで表現すると、左ブランチは次のように計算される
【0010】 A(L(X))=2A(X)+0一方右ブランチRは次のように計算される
【0011】 A(R(X))=2A(X)+1
【0012】 しかしながらその様なマッピング手段を使用すると、ツリーを最初にトラバー
スし始めた直後、アドレスの最上位部分がトラバースの全ての後続のステップの
中で変化する。従って、ダイナミック随意アクセスメモリ装置の中に記憶されな
ければならない大きなツリーに対して、それらが大きいために検索時間は未だか
なり長くなる。実際の応用に対してより高速な方法が必要とされ、特にアドレス
の最上位部分の変化を出来るだけ回避することが必要とされる。
【0013】 (発明の要約) 先に説明したように、従来型の方法は記憶集中ポインタ技法を使用するかまた
はサブツリー内の左ブランチまたは右ブランチに接続されている次ノードのアド
レスを決定するために列アドレスAの計算を使用するかのいずれかである。これ
は時間が掛かり、アドレス(行アドレスB)の最上位部分がバイナリ・ツリーを
トラバースする後段のステップ毎に変化する事を必要とする。
【0014】 従って、本発明の目的はメモリ装置内の予め定められたデータ値の記憶アドレ
スを決定するための方法並びにアクセス装置を提供することであり、これはバイ
ナリ・ツリー検索中に記憶場所を決定するためにポインタの使用を必要とせず、
記憶アドレスの1部がポインタを使用する代わりに計算される先に説明した方法
よりも記憶アドレスをより早く決定できるものである。
【0015】 この目的は請求項1記載の方法で解決される。更に、この目的は請求項13記
載のアクセス装置で解決される。
【0016】 本質的に、本発明によればアドレスの最上位部分における頻繁な変化を行う必
要が無く、アドレスの列部のみならずアドレスの行部も比較結果と現在のアドレ
スに基づいて決定されるアルゴリズムが提供されている。本発明において、マッ
ピングの列アドレス部は従来技術に記述されているマッピングに対応し、一方マ
ッピングの行部および2つの部分からのアドレスの重要な組み合わせは、メモリ
内のデータ値の場所が見つかるまでの検索時間を減少させることを可能とする。
【0017】 本発明によれば、サブツリーのリーフに検索中に到達すると、別のサブツリー
の新たなルート・ノードが決定される。このサブツリーの中にデータ値が未だ見
つからない場合、検索手順は先のサブツリー内の次のリーフに行き、別のサブツ
リーの新たなノードを決定する。従って先のサブツリーの複数のリーフが、新た
なサブツリーを決定するために順番に使用される。検索は常にツリーの天辺から
底部へのトラバースを意味するから、検索は結果としてサブツリーの中へのトラ
バースとなる。ステップの最少数が結果としてサブツリーの変化となる。マッピ
ングの結果として、サブツリー内部のトラバース中に列アドレスのみを変化させ
る。それ故、結果として行アドレスを変化させるステップの数が最小化される、
すなわち行アドレス内の変化は最少に保たれる。従って、検索に掛かる時間は著
しく削減される。
【0018】 本発明の更に別の好適な実施例および改善点は添付の特許請求項から得られる
であろう。これ以降、本発明をその実施例を添付図を参照して説明する。
【0019】 図の中で同一または類似の参照番号は同一または類似の部品を指示する。
【0020】 (発明の原理) 本発明の方法ならびにアクセス装置はバイナリ・ツリー内のノードをメモリ装
置、好適にダイナミックランダム・アクセス・メモリ(DRAM)のアドレスに
マッピングすることに基づいている。DRAMは通常、非常に密度の高い記憶装
置を提供するが、これらはランダムに分散されているアクセスに関して比較的遅
い。本発明に基づく特定のアドレス指定モードを使用すれば、更に短いアクセス
時間が実現出来る。これに対して、ある種の制約が連続的なアクセスの順序のア
ドレスに適合しなければならない。本発明に基づくマッピングはツリーの検索が
常に結果として、それらの制約に適合するアクセス順序となることを保証する。
到達可能な性能(時間の減少)は約10倍まで増加する。
【0021】 DRAMのアドレス・ビットは、先に説明されたように一般的に、行アドレス
Bと列アドレスA(図5参照)と呼ばれる2つの部分に分割される。通常、行お
よび列アドレスの大きさは等しい。DRAMの内部的実行形態のため、連続した
アクセスを行アドレスが出来るだけ変化しないように保ちながら列アドレスのみ
を変化させるようにして実施できる場合、アクセス時間は著しく短くなる。それ
故、本発明に基づくマッピングを行うための新奇な方法並びにアクセス装置は、
行アドレスを出来るだけ変化させずに保つという基準に整合するツリー検索アル
ゴリズムを可能とする。
【0022】 (本発明に基づくノード・マッピング) 図1aは本発明に基づくバイナリ・ツリーの複数のサブツリーへの分割を示し
ている。完全なツリーは複数のサブツリー1,2,3,4,5を含む。図1aの
中で、各々のサブツリーはルート・ノードを有し、それは「k=1」で示されて
いる。同様に、サブツリーの各々のリーフ・ノードは「k=K」で示されている
。Kはサブツリーの「深さ」、すなわち複数の別のノードが存在し、それらは各
々のサブツリー内で点線のみで描画されている。従って実際のところ、図1aに
描画されている各々のサブツリーはKレベルを含み、これは全てのサブツリー当
たり2Kに相当する。
【0023】 一度ルート・ノードがその列−および行アドレス経由でアクセスされると、検
索がレベルKの番号を有するサブツリーの中でそれぞれ実行される。各々のサブ
ツリーは(最低)リーフ・ノードを有し、これは次のサブツリーのそれぞれのル
ート・ノードに接続されている。注意されたいのは図1aの中で、サブツリーの
ルート・ノードまたはリーフ・ノードのいずれかのノードのみが完全に描かれて
いる。例えば、サブツリー1のリーフ・ノードLNはサブツリー3のルート・ノ
ードX1に直接接続されている。ルート・ノードX1とそのリーフ・ノードX2
,X3の間には多数の中間ノードが存在する。ルート・ノードはk=1に配置さ
れており、リーフ・ノードはk=Kに配置されている。サブツリー5のリーフ・
ノードLNはまた同時に全バイナリ・ツリーのリーフ・ノードを構成している。
従って、全ツリーのルートとリーフと、サブツリーのルートとリーフの間の区別
をすることが重要である。各サブツリーの中で、変数kはサブツリーの各トラバ
ース毎に1からKへステップ的に変化し、検索されている値が見つかるか全ツリ
ーのリーフ・ノードに到達するまで繰り返される。
【0024】 1つのサブツリー内のリーフの数は、実際のメモリ・ハードウェアに依存する
。本発明によれば、メモリ位置へのマッピングは1つの行が2K−1個のエント リー、すなわち列を含むように実施される。以下に示されるように、各サブツリ
ー内での本発明に基づく検索は1つの個別行内での検索に相当する。行に沿った
(例えばサブツリー1に沿った)メモリ位置は、ルート・ノード、サブツリー・
ノードおよび特定のサブツリーのリーフ・ノードLNに対応する。各読み取りデ
ータ値D1,D2,D3は場所を探されるデータ値Dと比較され、サブツリー内
で左または右ブランチの何れを採るべきかの判断が行われる。
【0025】 データの構造は下記の通りである:サブツリー内のノードのレベルk(k=1
,2,...,K)が深くなればなるほど、データ値はより高くなる。これはデ
ータを昇順に列に沿って並べることと等価である。すなわち、特定のデータ値D
が何処に配置されているかが分からなくても、D1<D2<D3等々は知られて
いなければならない。これは、エントリーがツリーの左から右へ値が昇順となる
ように並べられた完全にバランスしているバイナリ・ツリーのノードに格納され
ていることを意味している(従って、またサブツリーの中では図1a,1b内の
値D1,D2,D3で示されるようにである)。
【0026】 もちろん個別のデータ値をバイナリ・ツリーの中で左から右に昇順に記憶する
こと(メモリ内の列方向に昇順に)は各々のツリー内で使用される検索アルゴリ
ズムに影響を持つ。先に説明されたように、主たる目的は出来る限り行の変化を
少なくすることである、すなわちアドレスS=<A,B>の最上位部の変化が出来る限 り頻繁には生じないようにすることであり、それは列方向の検索のみが非常に高
速だからである。データ値を列方向に昇順に記憶することは、結果として列方向
の最終エントリーが各サブツリーのリーフ・ノードLNを構成しなければならな
いこととなる。いくつのリーフ・ノードLN(図1b内のリーフ・ノード記憶位
置LN)が指定されるかは、サブツリー内のレベルの数に依存する、すなわち列
方向のメモリの大きさに依存する。例えば、レベルK=3を有するサブツリーは
4つのリーフ・ノードLNを列方向で4カ所の右端に含む(図3a,3bの例を
参照)。
【0027】 (第1実施例(検索方策)) 先に概要を示したように、本発明はバイナリ・ツリーを2次元メモリ空間の中
に、各々の行がサブツリーに対応するようにマッピングし、特定の検索方策が各
行またはサブツリー内で使用できるようにすることを提供している。この検索は
各サブツリー内で、読み取り値と検索されているデータ値との間で一致するかリ
ーフ・ノードLNが見つかると中断する。従って検索を各サブツリー内で実行す
る際、検索アルゴリズムはどのレベルに居るかをたえず追跡しなければならない
が、それは行アドレスの変化はリーフ・ノードに達した時にのみ実行されるから
である。本発明の中で、検索アドレスが各サブツリー内で計算出来ることが分か
るだけではなく、次サブツリーの特定の新たなルート・ノードアドレスが比較結
果とリーフ・ノードの現在アドレスからのみ計算出来ることも分かる。すなわち
、本発明に基づけば、次のデータ値が読み出されるべきノードの記憶アドレスを
指定する新たな完全なアドレスS=<A,B>は、現在読み出されるメモリ位置
の現在アドレスから、比較結果に基づいて計算される。これはサブツリー内の次
ノードのアドレスに適用し、また検索が継続されるべき次サブツリーの次ルート
・ノードの記憶アドレスを探すためにも有効である。
【0028】 図2は本発明に基づく検索方法の実施例に基づく流れ図を示す。このアルゴリ
ズムに関して、完全なバイナリ・ツリーが図1bに基づくサブツリーに分割され
、ルートサブツリーの下のレベルの左端のサブツリーは切り離される。
【0029】 説明されたように、サブツリー内のレベルの数は実際のDRAMハードウェア
の列アドレス内のビット数に等しい。従って、ステップS1で検索方法を開始し
た後、第1サブツリー1のレベルがk=1にセットされる、すなわちこの検索は
サブツリー1のルート・ノードRNから開始される(図1a参照)。次に、ステ
ップS3で、検索されるべきデータ値I、サブツリーK毎のレベル数、同様にル
ート・ノードRNの位置またはルート・アドレスA(0),B(0)が入力されなければ ならない。従って第1サブツリー1のルート・ノードRNが検索アルゴリズムの
導入点である。
【0030】 ステップS4で、現在アドレス<A(0),B(0)>のデータ値Dがサブツリー1のル ート・ノードRNから読みとられる。ステップS5で読みとられたデータ値Dが
場所を求めているデータ値Iと比較される。ステップS5でD=Iの一致が確立
されると、見つけられたデータ値Dに関連する情報がステップS7で読みとられ
、その後ステップS11で検索は終了する。
【0031】 ステップS5で読み取りデータ値Dが検索されるべきデータ値Iより大きい場
合、ステップS6はリーフ・ノードLNに到達したか否かの判断が行われる。こ
れはレベルKの与えられた番号と実行番号kを比較して決定される。ステップS
6で、k<Kが確立されるとステップS9,S14が実行される。ステップS9
の中で以下の式を用いて、サブツリー1内の左側ブランチ(I<D)に沿ったノ
ードの新たなアドレスが計算される:
【0032】 B(L(X))=B(X) A(L(X))=2*A(X)+0 (1)
【0033】 ここで、B(L(X))およびA(L(X))はサブツリー1内の次サブ・ノードの新たな行
アドレスおよび列アドレスを表す。従って、深さレベルkの実行番号はステップ
S14で増加更新される。
【0034】 同様に、ステップS5でI<Dと判定されると、ルート・ノードRNから右ブ
ランチが採られ、ステップS8でサブツリーの最深部に未だ達していないと判断
される場合、すなわちk<Kの場合、ステップS12,S16がステップS9,
S14と同様に実行され、ここで式(2)は以下のようにサブツリー1内の次エ
ントリーまたはサブ・ノードの記憶アドレスを定義する:
【0035】 B(R(X))=B(X) A(R(X))=2*A(X)+1 (2)
【0036】 ステップS5,ステップS6,S8およびステップS9,S12から分かるよ
うに、サブツリー内で列アドレス部Aのみが修正される、すなわち左ブランチに
対しては2倍され、または右ブランチに対しては2倍されて列を右側に更に1つ
移動される。重要なことは行アドレス部BはステップS5での判断に関係なく同
じに留まっていることである。もちろん、式(1),(2)で与えられる定義は
列方向に沿ったデータ値が昇順であることの直接の結果である。読み取りデータ
値が大きい場合、列アドレスの2倍にジャンプされ、読み取りデータ値が検索さ
れるIよりも小さい場合、これは現在の列アドレスを2倍して1が加算される。
【0037】 もちろん、ステップS9,S12はk<K(K=最大深さまたは1つのサブツ
リー内のレベル数;Kは予め定められている)に対してのみ実施されるので、新
たなデー値DはステップS4で、ステップS9,S14内で決定される新たなア
ドレスA,Bで読みとられる。参照番号Rはそれぞれ個別のステップS4,S5
,S6,S9,S14およびS4,S5,S8,S12,S16を通るこの再帰
的実行を示す。再帰的処理の間、サブツリーの中で、データ値が見つかると(I
=D)アルゴリズムはステップS11で終了する。
【0038】 しかしながら、k回繰り返した後、ステップS6,またはS8は割り当てられ
たサブツリーの最深部に達したか否かを決定する、すなわちk=K、これはリー
フ・ノード記憶位置LNに達したことを意味する。データ値が列方向に昇順であ
ること、すなわち各行内でデータ値が列方向に増加すること、ここでは常に次行
内の列位置1のデータ値は、次のより小さい行内の最も高い列位置2Kのデータ
値よりも大きい、を使用することによりリーフ・ノードLNは図1b内のメモリ
装置のアドレス空間の中で、列アドレスAの最も右端の最終メモリ位置に対応し
なければならないことが明らかである。
【0039】 サブツリー1内のリーフ・ノードLNに達すると、下記の式(3),(4)が
ステップS10,S13で採用され、それぞれ以降のサブツリーのルート・ノー
ドの新たな行アドレスおよび列アドレスを計算する:
【0040】 B(L(X)) = 2K*B(X) + 2*A(X) + 0 − 2K A(L(X)) = 1 (3)
【0041】 B(R(X)) = 2K*B(X) + 2*A(X) + 1 − 2K A(R(X)) = 1 (4)
【0042】 式(3)、(4)から、リーフ・ノードが発生する場合、列アドレスAは−ス
テップS5での決定とは無関係に−第1列、すなわちA(L(X))=A(R(X))=1にセッ トされることが分かる。しかしながらステップS5での決定に依存して、新たな
行アドレスBは選択される。
【0043】 リーフ・ノードLNからの矢印が式(3)、(4)に基づく計算を示している
図1bから、実際に次サブツリーの次のルート・ノードが列A=1に配置されて
いるが、誰もが予想するように次の隣接したサブツリー2の上に配置されては居
ないことを注意することは興味深い。これに対し、式(3)、(4)は一種の列
/行マッピングを実行し、ここで検索されるべき次サブツリーの次ルート・ノー
ドの新たなアドレスは、式(4)に対しては置換されたリーフ・ノードアドレス
が対応し、式(3)に対しては置換されたアドレス−1が対応している。
【0044】 検索されるべき次サブツリーの次ルート・ノードをステップS13で決定する
と、kはステップS17の中でk=1にリセットされるが、これは明らかに次サ
ブツリー内での検索はレベル1、すなわちルート・ノードアドレスで開始される
からである。次に再びステップS4で、次データ値Dが読み出され、ステップS
5,S6,S9,S14またはステップS5,S8,S12,S16がそれぞれ
DとIの一致が見つかるかまたは新たなサブツリーのリーフ・ノードが再び見つ
かるまで実行される。
【0045】 もちろん、図1b内のサブツリー4またはサブツリー5の中でさえもデータ値
が発見されず、その結果リーフ・ノードLNに達する場合もあるであろう。例え
ば、サブツリー5の中でリーフ・ノードLNに達する場合、もしも行と列の数が
等しいと、式(3)も式(4)もどちらもアドレス空間に含まれるアドレスに結
果として達することは出来ない。行の番号が列の番号より大きい場合は、もちろ
ん新たなサブツリーの更に新たな計算を実行することが可能である。しかしなが
ら、例えばサブツリー4の中でリーフ・ノードに達した場合は、更に次のサブツ
リー・ルート・ノードを決定することが出来ないという問題は残る。第1に、こ
れはサブツリー4を通してバイナリ・サーチの中でデータ値が見つからなかった
ことを示し、そして第2に検索されるべきデータ値IがLNの記憶アドレス以下
の行および列アドレス内に記憶されている全てのデータ値Dよりも明らかに大き
いかまたは小さくなければならない。この場合、アルゴリズムはそこからサブツ
リー4のルート・ノードが計算されたサブツリー1内のリーフ・ノードLNの記
憶アドレスに追尾して戻る(図1bに点線で示されている)。次にサブツリー1
内の右の次リーフ・ノードLNが新たなサブツリー・ルート・ノードを計算する
ための基礎として使用される。すなわち、列アドレスAは1列だけA+1に増や
され、一方Bはそのまま一定に保たれる。もちろん、これは新たなルート・ノー
ド、例えばサブツリー5の計算に導く。
【0046】 注意されたいのは、リーフ・ノードLNに戻った後(点線で示すようにリーフ
・ノードLNの再計算を通して)左側のリーフ・ノード(1つ存在して居る場合
)に行く必要は実際に無いと言うことであり、それはサブツリー1内のリーフ・
ノードへ戻ると言うことは自動的に、全ての読み出しデータ値Dが検索されるべ
きデータ値Iよりも小さかったことを意味するからである。従って、列方向で(
サブツリーの水平方向)、全てのリーフ・ノードは新たなサブツリーのルート・
ノードを決定するために昇順とされている。例えばサブツリー5の最終リーフ・
ノードLNに達する場合、データ値Iは指定されたアドレス空間の範囲でメモり
装置内には含まれていない。
【0047】 注意されたいのは、好適にステップS5の中である種の許容範囲が許されてい
て、例えばDとIとの一致は或る程度の許容値内で成立するようにしているとい
うことであり、すなわち|D−I|<△Dの場合一致が見られるということであ
り、此処で△Dは予め指定された許容範囲を示している。
【0048】 (K=3の例) 図3a,3bは特定の例に関する図1a,1b,2内の一般的アルゴリズムを
図示し、此処では列アドレスAおよび行アドレスBに対してバイナリ表記が使用
されている。K=3は8列および8行が原理的にメモりアドレス空間内に具備さ
れていることを意味する。式(1)、(2)はバイナリ・ツリーの頂上の一番最
初のルート・ノードRNがアドレスA(0),B(0)=(000,000)を持つ場合変化を与え ないので、列アドレスA=000は使用されない。従って、図2のステップS4が最 初に実行される時に対照される第1ノードは、常に図3a内の一番上左端のメモ
リ位置、すなわち第1サブツリーの一番上の第1ルート・ノードに対して、B(0)
=0|A(0)=1である。
【0049】 行および列のアドレス番号に対してバイナリ表現を使用すると、図3bはアド
レス000,001を具備した最初の2行の中に配置されているサブツリー1およびサ ブツリー2を示す。左側ブランチLに対して2を掛け算することは、単に列アド
レス部Aを左にシフトすることを意味する。その列アドレス部A内の結果右側ブ
ランチRは左にシフトされて「1」が加えられる。従って、個別アドレスおよび
k=2での中間ノード、およびk=3でのリーフ・ノードは特定のデータ値Dが
配置されている特定の行及び列に対応する。図3bはデータ値D=3,5,6,
7...をそれぞれの中間ノードおよびリーフ・ノード部に示している。明らか
に図2のアルゴリズムは、4つのノード、0,100または0,101または0,110または0
,111のいずれか1つに達すると常に、次サブツリーの新たなルート・ノードアド
レスを計算する。新たなルート・ノードを計算するために許されていないブラン
チが唯1つ存在し、それはアドレス0,100の場合に読み出しデータ値D=7が検 索されるべきデータ値Iよりも大きい状況である。この場合実際にアドレス0,10
0から左ブランチが採られる、すなわち式(3)が採用されなければならない。 しかしながら、この場合左側ブランチに対する式(3)は、B(L(X))=2K(000)+2(
100)-2K=0000+1000-1000=0000を算出する。従って、第1左ブランチは図1aで 「切断」、または000,100と000,001の間の点線は採用されるべきではなく、それ
は検索がルート・ノードアドレスから再び開始されることになるからである。
【0050】 しかしながら、右側ブランチを採る場合、B(R(X))=001、これはアドレス0,100
を具備した一番左側のリーフ・ノードLNが結果として001,001の次リーフ・ノ ードルートアドレスとなることを意味している。図3bに示されているように、
これは実際の所第2行に配置されているサブツリー2のルート・ノードに対応す
る。図3aから分かるように、サブツリー1の各々のリーフ・ノードは特定行ア
ドレスにおける位置A=1に配置されている新たなサブツリーの新たなルート・
ノードに「マッピング」または「変換」することが出来る。行の数が少なくとも
列の大きさと同じ大きさの場合、サブツリー1の各リーフ・ノードLNが第1列
内の新たなルート・ノードアドレスの中に「写像」または「置き換え」出来るこ
とが保証される。
【0051】 これもまた図3a,3bから分かるように、列方向に昇順にデータ値が並んで
いる場合、式(1)−(4)で記述されている検索アルゴリズムは行アドレス変
化の最少番号が採用されることを保証し、一方検索されるべきデータ値Iとの一
致(許容範囲内で)を見つけるために、全メモリ行列が検索される。
【0052】 好適に列アドレス部Aと行アドレス部Bのバイナリ表現を使用することにより
検索が容易になるが、それは2を乗算することが単にアドレスをシフトレジスタ
内で左にシフトすることを意味するからである。
【0053】 実際、図3aまた一般式(3),(4)から容易に分かるように、新たな行ア
ドレスB(Aからの左側ブランチに対するもの)はリーフ・ノードの列アドレス
部Aの反転、すなわちB(L(X))=010=101の否定を意味する。同様
にリーフ・ノードの右側ブランチに対して、新たなルート・ノードの新たなアド
レス部はリーフ・ノード列アドレスの反転+1、すなわちB(R(X))=10
1の否定+1=011となる。これはもちろん暗黙の内にバイナリ・ツリーの頂
上の第1ルート・ノードRNがB(0)=0,A(0)=1に割り当てられていることを仮定 している。
【0054】 これ以降、図1−3で説明されたこの様な検索方法を用いた本発明の基づくア
クセス装置の実施例をハードウェアで実現することを、図4を参照して説明する
【0055】 (第2の実施例(ハードウェアでの実現)) 図4でDRAMはメモリ装置と読み出しデータ値Dと、検索されるべき前記デ
ータ値Iとを比較して前記読み出しデータ値Dが検索されるべき前記データ値I
よりも大きいかまたは小さいかを決定するための比較装置MCを含むアクセス装
置とを示す。DとEとの間の一致が比較装置で見つかると、一致信号Mが出力さ
れる。比較結果Cは値Dが値Iよりも大きいかまたは小さいかを示している。読
み出し装置R(詳細は図示せず)は予め定められた現行検索アドレスA,Bのデ
ータ値を読み出し、これらのアドレスはツリーをトラバースする間、中間行およ
び列アドレスを保持している2つのレジスタRA,RBから入力される。
【0056】 アクセス装置は更に、判定装置SEQ,SMB,SMAを含み、これらは比較
結果Cおよび前記現行検索アドレスA,Bに基づき、データ値を次に検索すべき
全検索アドレスを決定するためのレジスタRB,RAを含む。
【0057】 決定装置は前記第1および第2レジスタと、検索されるべき次列および行アド
レスA’,B’を比較結果C、現行アドレスB,Aに基づいて計算するための、
第1および第2計算回路SMB,SMAおよび状態機械SEQから出力される制
御信号Sを含む。
【0058】 状態機械SEQはバイナリ・ツリーデータ構造を検索する間の検索状態を決定
し(実際これはKを監視し、従って暗黙の内に図2内のステップS6,S8を実
行する)、比較結果に基づいて制御信号Sを決定する。本質的に、状態機械SE
Qは計数器と状態決定装置STDMを含み、内部STATEtに基づき制御信号Sを生
成する。本質的に、状態機械の内部状態は現行レベル番号kに対応し、これは新
たな比較結果C(D<Iであるか否かを示す)が比較装置MCから出力される毎
に更新される。すなわち、サブツリーのルート・ノードに対して状態は0であり
、非リーフ・ノード(ルート・ノードを除く)に対しては1からK−1,そして
リーフ・ノードに対してはKである。同様に制御信号Sはルート・ノードに対し
ては0、非リーフ・ノード(サブノード)に対しては1そしてリーフ・ノードに
対しては2である。状態0でルート・ノードから開始すると、状態機械SEQは
ツリーを頂上から下にトラバースする際に、サブツリーの区分けに従って進むは
ずである。信号Sはマッピングに基づいてSMBおよびSMA内のアドレス計算
の型式を選択する。
【0059】 特に、アクセス装置の個別の項目は以下の機能を実行する。第1計算回路SM
Bは下記の機能(関数表現で与えられている)を実行し、此処でKはサブツリー
内のレベル番号である。
【0060】 S=0 の場合 B’=0 S=1 の場合 B’=B S=2 の場合 B’=2K*B+2*A+C−2K (6)
【0061】 ここでC(D>Iの時0,D<Iの時1)は比較結果を表し、BおよびB’は現
行および次列アドレスを表し、Sは制御信号を表し、Kはサブツリー内のレベル
の前記予め定められた番号を表し、そしてAは現行行アドレスを表す。
【0062】 第2計算回路SMAは下記の機能(関数表現で与えられている)を実行する:
【0063】 S=0 の場合 A’=1 S=1 の場合 A’=2*A+C S=2 の場合 A’=1 (7)
【0064】 ここでCは比較結果を表し、AおよびA’は現行および次行アドレスを表し、そ
してSは制御信号を表す。
【0065】 状態機械SEQは以下の式(8)および(9)に基づき制御信号を計算する。
【0066】 STATEt=0 の場合 S=0 STATEt=k の場合 S=1 0<STATEt<k の場合 S=2 (8)
【0067】 ここで前記状態機械(SEQ)の状態決定装置(STDM)は、下記の式(9)
に基づき状態機械(SEQ)k内部状態STATEk(すなわち図2の値k)を計算す
る:
【0068】 t=0 の場合 STATEt=0 STATEt=0 の場合 STATEt+1=2 STATEt=k の場合 STATEt+1=1 0<STATEt<k の場合 STATEt+1=STATEt+1 (9 )
【0069】 ここでSTATEtおよびSTATEt+1は、時刻tおよびt+1における状態を表し、tは
比較結果から計数された比較数を表し、ここで0<t<KおよびSTATEt=0は、第
1比較がバイナリ・ツリーデータ構造のルート・ノードRNに対応するメモリ位
置で実行された際の状態を表す。
【0070】 既に図1b,3aの点線から明らかなように、また図4のアクセス装置はそれ
ぞれ、そこからルート・ノードサブツリーアドレスが計算されたリーフ・ノード
アドレスを記憶する。次サブツリー検索の結果一致しなかった場合、すなわち次
サブツリーのリーフ・ノードに到達した場合(そして新たなサブツリー・ノード
の再計算の結果行アドレスBがメモリDRAMの行アドレス空間を超えた場合)
、前回サブツリーの次に高いまたは低いリーフ・ノードアドレスが新たなサブツ
リールート・ノードを計算するための基礎として採用される。従って、図4に示
されるアクセス装置はまた、全メモリの全検索を実行できる。
【0071】 図4において、リーフ・ノード監視装置LN−MONは、そこから次サブツリ
ーが計算されたリーフ・ノードの最終アドレスを記憶している。すなわち、S=
2の場合(サブツリーの全検索が行われたことを示す)新たなルート・ノードが
現行列アドレスAと行アドレスBから式(3),(4)に基づいて計算される。
サブツリーを通して次回の繰り返しの後、再びリーフ・ノードLNが見つかり、
このリーフ・ノードアドレスからの新たなルート・ノードで新たに行われた計算
の結果、メモリのメモリ・アドレス空間内に含まれていない行アドレスが得られ
ると、リーフ・ノード監視装置LN−MONは前回サブツリーから最終リーフ・
ノードアドレスを入力し、列アドレス部Aに値1を加算したり、またはそこから
値1を引き算する。「左」(−1)リーフ・ノードアドレスに基づいて計算され
たルート・ノードアドレスが結果としてデータ項目を見つけられない場合、次の
ステップで旧リーフ・ノード(+1)の右のリーフ・ノードが次ルート・ノード
アドレスを計算するための基礎として採用される。それぞれ前回サブツリーのリ
ーフ・ノードアドレスに基づくルート・ノードアドレスを有する全てのサブツリ
ーが結果としてメモり内に配置されているデータ値に到達しない場合、最終的に
データ値Iはメモリ内に現在存在していないと結論付けられる。
【0072】 説明されたように、これらの環境下で、現在考慮しているリーフ・ノードの左
側および右側の次リーフ・ノードのみが次ルート・ノードアドレスを計算するた
めの基礎として採られれば十分であると思われる。例えば、図3aにおいて、前
回サブツリー・ノードアドレス000,110に基づく2つのルート・ノード100,001が
共に、それらに関連するサブツリーを通して検索した結果一致に至らなかった場
合、左下リーフ・ノード000,101と次に高いリーフ・ノード000,111のみが次サブ
ツリーの新たなルート・ノードアドレスを計算するための基礎として採られれば
十分と思われる。リーフ・ノードアドレス000,100に戻る理由は無く、それはサ ブツリー1内でリーフ・ノード000,101に達するといつも、位置を探す対象のデ ータ値Iがリーフ・ノードアドレス000,100に配置されているデータ値D=7よ りも大きいことが確立されているからである。従って、3つのリーフ・ノードを
順に使用することにより、データ値Iに対して全メモリ配列の検索が終了する。
【0073】 (産業上の利用性) 先に概要を示したように、本発明に基づく方法並びにアクセス装置は、サブツ
リー内の変化が引き起こされる前に最少ステップ数のみを使用する。次の通りマ
ッピングから、サブツリー内部でのトラバース中に列アドレスのみが変化する。
ダイナミック随意アクセスメモリが使用されなければならない場合、データの量
が多いので、本発明はバイナリ・ツリーデータ構造に基づいて記憶されているデ
ータ値に対して高速サーチ・エンジンを提供できる。節約される時間はかなりな
ものとなる。従って、本発明は大規模メモリ内でデータ値の場所を探すための時
間が重要であるような全ての技術領域で使用できる。唯一の制限は、データ値が
列方向に昇順に記憶されることである。
【0074】 注意されたいのは、上記の説明の中で行を列と入れ替えることが可能であり、
それはメモリの構造に依存してどちらの記憶方向がそれぞれ行および列として表
されるかが決まるからである。
【0075】 先に説明されたように、本発明に基づけばメモリを通しての高速検索が、ポイ
ンタを使用することなく実現可能であり、此処で行部および列部で構成される全
記憶アドレスがそれぞれ前回比較結果および前回格納アドレスから決定できる。
【図面の簡単な説明】
【図1a】 図1aは本発明に基づくサブツリーを使用したバイナリ・ツリー構造を示す。
【図1b】 図1bは各々の行が図1aのサブツリー上にマッピングされているメモリ装置
を示す。
【図2】 図2は本発明に基づく検索方法を図示する流れ図である。
【図3a】 図3aは新たなサブツリーの新たなルート・アドレスが、第1行に位置してい
るリーフ・ノードのアドレスからどの様にして決定されるかの例を示す。
【図3b】 図3bは図3aに示されているメモリ装置の第1および第2行内の2つのバイ
ナリ・ツリー検索の例を示す。
【図4】 図4は、本発明に基づきDRAMメモリ内に記憶されているデータ値にアクセ
スするためのアクセス装置の1つの実施例を示す。
【図5】 図5は、従来技術に基づき特定のアドレス位置に、データ値がランダムに記憶
されているメモリ装置を示す。
【図6】 図6は従来技術に基づきバイナリ・ツリー検索を実行するための従来型論理的
バイナリ・ツリー構造を示す。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年5月15日(2000.5.15)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】 異なるアドレス・ポインタを具備したデータ・エントリーを使用すると、そこ
からデータ値が読み出され検索されるべきデータ値と比較される第1番目のノー
ドである予め定義されたルート・ノードRNが必要となる。この様な検索アルゴ
リズムが「データ構造並びにアルゴリズム(Data Strutures and Algorithm)」
、アホ ホップクロフト、ウルマン(Aho Hopcroft Ullamnn)著;ISDN0-201-00
023-7、ページ155ffに記述されている。明らかに欠点が存在し、非常に多種類の
データ値を記憶するためのメモリ空間が必要であり、各々のそして全てのデータ
値に対して更に2つのポインタ・エントリがブランチL,Rを示すために必要と
なる。 D1:バイカス オー(Vikes O)その他著:「高速シーケンシャル・アクセ スによるダイナミック・メモリ内検索(Searching in a dynamic memory with f
ast sequential access)」、Communications of the Association for Computi
ng machinery,第25巻、第7号、1982年7月1日、ページ479−484 、XP000719506,は高速シーケンシャル・アクセスによるダイナミック・メモリ 内の検索処理手順を記述している。いわゆるアホ・ウルマン(Aho-Ullman)メモ
リの様な、多数のメモリ位置で構成されている特殊型式メモリは 、シャッフル およびマイナス・ワンと呼ばれる2つのメモリ変換と一緒に使用される。シャッ
フル変換は記憶位置のデータを、アドレスのバイナリ表現を1ビット左に循環シ
フトさせる演算子で変形される記憶位置に移動させる。マイナス・ワン変換は記
憶位置内のデータを1の補数にmビット整数を加算することで表される演算子で
、別の記憶位置に移動される。検索アルゴリズムは、第1アルゴリズム1:アホ
・ウルマン・ランダムアクセスアルゴリズムと第2アルゴリズム:アホ・ウルマ
ン・メモリ内のバイナリ検索用アルゴリズムで構成されている。アルゴリズム2
の中で、再びシャッフルおよびマイナス・ワン変換が、新たな位置(記憶位置)
を旧記憶位置の変換に基づいて決定するために使用される。従って、行および列
アドレスを区別して考慮する事はなく、データの新たな位置アドレスは常に旧論
理アドレスをシャッフルする事に基づいて常に決定される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0015
【補正方法】変更
【補正内容】
【0015】 この目的は添付の独立形の方法の請求項に記載の方法で解決される。更に、こ
の目的は添付の独立形のアクセス装置の請求項記載のアクセス装置で解決される
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1a】
【図1b】
【図1c】
【図2】
【図3a】
【図3b】
【図4】
【図5】
【図6】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,US,UZ,VN,YU,Z W (72)発明者 クリング、ラルス − オルヤン スウェーデン国 ソデルタルイエ、クメル ベーゲン 17 Fターム(参考) 5B060 AA05 AA13 AB13 AC11 5B075 ND35 QS11 5B082 BA03 CA01

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 メモリ装置(DRAM)内で予め定められたデータ値(D)
    の記憶アドレス(A(X),B(X))を決定するための方法であって、予め定
    められた記憶アドレス(A(X),B(X))に記憶されている前記データ値(
    D)はノード、ブランチ、サブツリーおよびリーフのバイナリ・ツリーデータ構
    造で記憶されており、 a) 予め定められた現行検索アドレス(A(X),B(X))のデータ値(D
    )を前記メモリ装置から読み出すステップと、 b) 前記データ値(D)が検索されるべき前記データ値(I)より大きいかま
    たは小さいかを決定するために、前記データ値(D)を検索されるべき前記デー
    タ値(I)とを比較するステップと、 c) 比較結果(C)と前記現行アドレス(A(X),B(X))に基づいて、
    データ値を検索する完全な次検索アドレス(A’,B’)を決定するステップと
    を含み、 d) 前記読み出しデータ値(D)が検索されるべき前記データ値(I)と予め
    定められた許容範囲(△D)内で一致するまで、ステップa)−c)が再帰的に
    実行される、前記方法。
  2. 【請求項2】 請求項1記載の方法であって、 データ値が予め定められた数のレベル(K)を有するバイナリ・ツリーデータ構
    造の中に記憶され、ここで前記ステップC)の中で前記次アドレスが前記比較結
    果(C)、前記現行検索アドレスそしてまたレベルの前記予め定められた数(K
    )に基づき、前記ステップb)の比較仮数が、レベルの前記予め定められた数(
    K)に等しくなるまで実行された後に決定されることを特徴とする、前記方法。
  3. 【請求項3】 請求項1記載の方法であって、 前記データ値(D)が最少データ値と最大データ値との範囲内にあり、ここで前
    記範囲の中央値に相当する中央データ値が予め定められたルート・アドレス(A
    (0),B(0);「ルート」)に記憶されており、ここでステップa)が最初
    に実施される際に前記ルート・アドレスが前記現行アドレスとして使用されるこ
    とを特徴とする、前記方法。
  4. 【請求項4】 請求項1記載の方法であって、 前記データ値が前記メモリ装置内に行および列の行列配置の中に記憶されており
    、ここで各々のデータ値(D)には行アドレス(A)と列アドレス(B)が割り
    当てられていることを特徴とする、前記方法。
  5. 【請求項5】 請求項1および4記載の方法であって、 ステップb)の前記比較結果(C)が読み出しデータ値が検索されるべき前記デ
    ータ値よりも小さいと示した際に(「左分岐」)、ステップc)における前記次
    アドレスが下記の式(1)で計算され B(L(X))=B(X) A(L(X))=2*A(X)+0 (1) ここでXは現行アドレス(A(X),B(X))で定義される現行メモリ位置を
    表し、A(X)およびB(X)は現行メモリ位置Xの列アドレスおよび行アドレ
    スを表し、L(X)は現行メモリ位置Xに記憶されているデータ値よりも小さい
    データ値が記憶されている次メモリ位置を表し、A(L(X))およびB(L(
    X))は次メモリ位置L(X)の列アドレスおよび行アドレスを表すことを特徴
    とする、前記方法。
  6. 【請求項6】 請求項1および4記載の方法であって、 ステップb)の前記比較結果が読み出しデータ値が検索されるべき前記データ値
    よりも大きいと示した際に(「右分岐」)、ステップc)における前記次アドレ
    スが下記の式(2)で計算され B(R(X))=B(X) A(R(X))=2*A(X)+1 (2) ここでXは現行アドレス(A(X),B(X))で定義される現行メモリ位置を
    表し、A(X)およびB(X)は現行メモリ位置Xの列アドレスおよび行アドレ
    スを表し、R(X)は現行メモリ位置Xに記憶されているデータ値よりも大きい
    データ値が記憶されている次メモリ位置を表し、A(R(X))およびB(R(
    X))は次メモリ位置R(X)の列アドレスおよび行アドレスを表すことを特徴
    とする、前記方法。
  7. 【請求項7】 請求項1,2および4記載の方法であって、 ステップb)の前記比較結果(C)が読み出しデータ値が検索されるべき前記デ
    ータ値よりも小さいと示した際に(「左リーフ」)、ステップc)における前記
    次アドレスが下記の式(3)で計算され B(L(X))=2K*B(X)+2*A(X)+0−2K A(L(X))=1 (3) ここでXは現行アドレス(A(X),B(X))で定義される現行メモリ位置を
    表し、A(X)およびB(X)は現行メモリ位置Xの列アドレスおよび行アドレ
    スを表し、L(X)は現行メモリ位置Xに記憶されているデータ値よりも小さい
    データ値が記憶されている次メモリ位置を表し、A(L(X))およびB(L(
    X))は次メモリ位置L(X)の列アドレスおよび行アドレスを表し、2Kがメ モリ装置内の列の数であることを特徴とする、前記方法。
  8. 【請求項8】 請求項1,2および4記載の方法であって、 ステップb)の前記比較結果(C)が読み出しデータ値が検索されるべき前記デ
    ータ値よりも小さいと示した際に(「右リーフ」)、ステップc)における前記
    次アドレスが下記の式(4)で計算され B(R(X))=2K*B(X)+2*A(X)+1−2K A(R(X))=1 (4) ここでXは現行アドレス(A(X),B(X))で定義される現行メモリ位置を
    表し、A(X)およびB(X)は現行メモリ位置Xの列アドレスおよび行アドレ
    スを表し、R(X)は現行メモリ位置Xに記憶されているデータ値よりも小さい
    データ値が記憶されている次メモリ位置を表し、A(R(X))およびB(R(
    X))は次メモリ位置R(X)の列アドレスおよび行アドレスを表し、2Kがメ モリ装置内の列の数であることを特徴とする、前記方法。
  9. 【請求項9】 請求項5または7の1つに記載の方法であって、 前記次アドレスに記憶されている前記データ値が現行アドレスに記憶されている
    データ値の半分であることを特徴とする、前記方法。
  10. 【請求項10】 請求項6または8の1つに記載の方法であって、 前記次アドレスに記憶されている前記データ値が現行アドレスに記憶されている
    データ値の1.5倍であることを特徴とする、前記方法。
  11. 【請求項11】 請求項1記載の方法であって、 前記ステップd)の後、前記一致データ値に関連して記憶されている情報が、前
    記現行アドレスを有するメモリ位置から読み出されることを特徴とする、前記方
    法。
  12. 【請求項12】 請求項1記載の方法であって、 前記メモリ装置がDRAMまたはキャッシュ・メモリの1つであることを特徴と
    する、前記方法。
  13. 【請求項13】 メモリ装置(DRAM)内で予め定められたデータ値(D
    )の記憶アドレス(A(X),B(X))を決定するためのメモリ装置用のアク
    セス装置であって、予め定められた記憶アドレス(A(X),B(X))に記憶
    されている前記データ値(D)がノード、ブランチ、サブツリーおよびリーフの
    バイナリ・ツリーデータ構造で記憶されており、 a) 前記メモリ装置の予め定められた現行検索アドレス(A(X),B(X)
    )のデータ値(D)を読み出すための読み出し装置(R)と、 b) 前記データ値(D)が検索されるべき前記データ値(I)より大きいかま
    たは小さいかを決定するために、前記データ値(D)を検索されるべき前記デー
    タ値(I)とを比較するための比較装置(MC)と、 c) 比較結果(C)と前記現行検索アドレス(A(X),B(X))に基づい
    て、データ値を検索する完全な次検索アドレス(A,B)を決定するための決定
    装置(SEQ,SMB,SMA,RB,RA)とを含み、 d) 前記読み出し装置、前記比較装置および前記決定装置が、前記読み出し、
    前記比較および前記決定を、前記読み出しデータ値(D)が検索されるべき前記
    データ値(I)と予め定められた許容範囲内で一致するまで再帰的に実行する、
    前記アクセス装置。
  14. 【請求項14】 請求項13記載のアクセス装置であって、 前記データ値が前記メモリ装置(DRAM)内に行および列の行列配置の中に記
    憶されており、ここで各々のデータ値(D)には行アドレス(A)と列アドレス
    (B)が割り当てられていることを特徴とする、前記アクセス装置。
  15. 【請求項15】 請求項14記載のアクセス装置であって、 前記決定装置は、 − 次列および行アドレス(B’,A’)を保持するための第1および第2レジ
    スタ(RB;RA)と、 − 検索されるべき次列および行アドレス(A’,B’)を比較結果(C)、現
    行アドレス(A,B)および制御信号(S)に基づいて計算するための第1およ
    び第2計算回路(SMB,SMA)と、 − バイナリ・ツリーデータ構造を通して検索中に検索状態(STATEt)を決定し
    、また比較結果(C)に基づいて前記制御信号(S)を決定するための状態機械
    (SEQ)とを含むことを特徴とする、前記アクセス装置。
  16. 【請求項16】 請求項14記載のアクセス装置であって、 前記メモリ装置内のデータ値は、予め定められた数のレベル(K)を有するバイ
    ナリ・ツリーデータ構造の中に記憶されており、ここで前記状態機械(SEQ)
    が前記比較装置(MC)で実行された比較(C)の回数を計数する計数器(CN
    T)を含むことを特徴とする、前記アクセス装置。
  17. 【請求項17】 請求項15記載のアクセス装置であって、 前記比較結果(C)が前記比較装置(MC)によって、以下の式(5)に基づい
    て計算され、 I<D の場合 C=0 I≧D の場合 C=1 (5) ここでCは比較結果を表し、Iは検索されるべきデータ値を表しそしてDは読み
    出しデータ値を表すことを特徴とする、前記アクセス装置。
  18. 【請求項18】 請求項17記載のアクセス装置であって、 前記第1計算回路(SMB)が次列アドレス(B’)を下記の式(6)に基づい
    て計算し、 S=0 の時 B’=0 S=1 の時 B’=B S=2 の時 B’=2K*B+2*A+C−2K (6) ここでCは比較結果を表し、BおよびB’は現行および次列アドレスを表し、S
    は制御信号を表し、Kは前記予め定められたバイナリ・ツリーデータ構造内のレ
    ベル(K)の数をあらわし、そしてAは現行行アドレスを表すことを特徴とする
    、前記アクセス装置。
  19. 【請求項19】 請求項17記載のアクセス装置であって、 前記第2計算回路(SMA)が次列アドレス(A’)を下記の式(7)に基づい
    て計算し、 S=0 の時 A’=0 S=1 の時 A’=2*A+C S=2 の時 A’=1 (7) ここでCは比較結果を表し、AおよびA’は現行および次行アドレスを表し、S
    は制御信号を表すことを特徴とする、前記アクセス装置。
  20. 【請求項20】 請求項15記載のアクセス装置であって、 前記状態機械(SEQ)は制御信号(S)を以下の式(8)に基づき計算し、 STATEt=0 の場合 S=0 0<STATEt<k の場合 S=1 STATEt=K の場合 S=2 ここで前記状態機械(SEQ)の状態決定装置(STDM)は、状態機械(SE
    Q)k内部状態STATEkを下記の式(9)に基づき計算し、 t=0 の場合 STATEt=0 STATEt=0 の場合 STATEt+1=2 STATEt=k の場合 STATEt+1=1 0<STATEt<K の場合 STATEt+1= STATEt+1 (9) ここでSTATEtおよびSTATEt+1は、時刻tおよびt+1における状態を表し、tは
    計数器(CNT)で計数された比較回数を表し、ここで0<t<KおよびSTATEt =0 は、第1回目の比較が前記バイナリ・ツリーデータ構造のルート・ノードに対
    応するメモリ位置で実行された際の状態を表すことを特徴する、前記アクセス装
    置。
  21. 【請求項21】 請求項13記載のアクセス装置であって、 前記読み出し装置(R)が前記一致したデータ値に関連して、前記メモリ装置(
    DRAM)内に記憶されている情報を読み出すことを特徴とする、前記アクセス
    装置。
  22. 【請求項22】 請求項13記載のアクセス装置であって、 前記メモリ装置がDRAMまたはキャッシュ・メモリの1つであることを特徴と
    する、前記アクセス装置。
JP2000536013A 1998-03-12 1999-03-11 メモリ装置内のデータ値の記憶アドレスを決定するための方法並びにアクセス装置 Expired - Lifetime JP4807686B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19810843A DE19810843B4 (de) 1998-03-12 1998-03-12 Verfahren und Zugriffseinrichtung zum Bestimmen der Speicheradresse eines Datenwerts in einer Speichereinrichtung
DE19810843.5 1998-03-12
PCT/EP1999/001588 WO1999046696A1 (en) 1998-03-12 1999-03-11 Method and access means for determining the storage address of a data value in a memory device

Publications (2)

Publication Number Publication Date
JP2002507026A true JP2002507026A (ja) 2002-03-05
JP4807686B2 JP4807686B2 (ja) 2011-11-02

Family

ID=7860713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000536013A Expired - Lifetime JP4807686B2 (ja) 1998-03-12 1999-03-11 メモリ装置内のデータ値の記憶アドレスを決定するための方法並びにアクセス装置

Country Status (10)

Country Link
US (1) US6415279B1 (ja)
EP (1) EP1062597B1 (ja)
JP (1) JP4807686B2 (ja)
KR (1) KR20010041803A (ja)
CN (1) CN1292903A (ja)
AU (1) AU2729299A (ja)
BR (1) BR9908733A (ja)
CA (1) CA2323098C (ja)
DE (1) DE19810843B4 (ja)
WO (1) WO1999046696A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4712718B2 (ja) * 2004-10-01 2011-06-29 株式会社ターボデータラボラトリー 配列の生成方法、及び、配列生成プログラム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6444072B1 (en) * 1999-08-11 2002-09-03 Southpac Trust International Process for producing holographic material
AU2001243459A1 (en) * 2000-03-09 2001-09-17 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizinga multitude of search methodologies
US6567815B1 (en) * 2000-08-01 2003-05-20 International Business Machines Corporation Technique of clustering and compaction of binary trees
GB0100331D0 (en) * 2001-01-06 2001-02-14 Secr Defence Method of querying a structure of compressed data
US6757780B2 (en) * 2002-01-09 2004-06-29 Hywire Ltd. Multiple module content addressable memories
KR100484375B1 (ko) * 2002-02-05 2005-04-20 이영섭 데이터마이닝의 분류 의사 결정 나무에서 극단값을 가지는 관심 노드 분류를 통한 자료의 통계적 분류 방법
US6941314B2 (en) * 2002-04-15 2005-09-06 Lsi Logic Corporation User selectable editing protocol for fast flexible search engine
US6901476B2 (en) * 2002-05-06 2005-05-31 Hywire Ltd. Variable key type search engine and method therefor
US8335779B2 (en) 2002-08-16 2012-12-18 Gamroe Applications, Llc Method and apparatus for gathering, categorizing and parameterizing data
US7017005B2 (en) * 2002-08-28 2006-03-21 Hywire Ltd. Implementation of a content addressable memory using a RAM-cell structure
US7653010B2 (en) * 2003-06-03 2010-01-26 Casient Limited System and method for wireless mesh networking
US7627616B2 (en) * 2004-08-30 2009-12-01 Hywire Ltb. Database storage and maintenance using row index ordering
US9171100B2 (en) * 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
JP4507991B2 (ja) * 2005-06-09 2010-07-21 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US20070174309A1 (en) * 2006-01-18 2007-07-26 Pettovello Primo M Mtreeini: intermediate nodes and indexes
WO2009152499A2 (en) * 2008-06-13 2009-12-17 Skribel, Inc. Methods and systems for handling annotations and using calculation of addresses in tree-based structures
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
CN102741841A (zh) * 2009-11-30 2012-10-17 新叶股份有限公司 比特序列检索装置、检索方法以及程序
JP5220057B2 (ja) * 2010-05-27 2013-06-26 株式会社高速屋 ビット列検索装置、検索方法及びプログラム
JP5220047B2 (ja) * 2009-11-30 2013-06-26 株式会社高速屋 ビット列検索装置、検索方法及びプログラム
US9280575B2 (en) * 2012-07-20 2016-03-08 Sap Se Indexing hierarchical data
CN103984636B (zh) * 2013-02-08 2017-09-29 上海芯豪微电子有限公司 存储结构及信息存储、读取、寻址方法
KR101666307B1 (ko) 2015-05-14 2016-10-13 영남대학교 산학협력단 메모리 장치 기반의 힙 정렬 방법 및 장치
CN108391427B (zh) 2016-02-05 2021-07-02 惠普发展公司,有限责任合伙企业 打印头
US10977106B2 (en) * 2018-02-09 2021-04-13 Microsoft Technology Licensing, Llc Tree-based anomaly detection
CN113570176B (zh) * 2020-04-28 2024-03-26 顺丰科技有限公司 货物装箱方案输出方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751684A (en) * 1985-06-19 1988-06-14 International Computers Limited Search apparatus
US5418947A (en) * 1992-12-23 1995-05-23 At&T Corp. Locating information in an unsorted database utilizing a B-tree

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3611435A (en) 1969-03-24 1971-10-05 Itt Satellite communication system
US5204967A (en) 1984-05-29 1993-04-20 Armstrong Philip N Sorting system using cascaded modules with levels of memory cells among which levels data are displaced along ordered path indicated by pointers
US5155837A (en) 1989-03-02 1992-10-13 Bell Communications Research, Inc. Methods and apparatus for software retrofitting
US5495610A (en) 1989-11-30 1996-02-27 Seer Technologies, Inc. Software distribution system to build and distribute a software release
US5442783A (en) 1990-01-22 1995-08-15 Motorola, Inc. Method and apparatus for transferring data base information
US5481721A (en) 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
US5410703A (en) 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5734791A (en) * 1992-12-31 1998-03-31 Apple Computer, Inc. Rapid tree-based method for vector quantization
US5459606A (en) 1993-05-10 1995-10-17 At&T Ipm Corp. In-service upgrade for a telecommunication system
DE4316500C2 (de) 1993-05-17 1995-03-16 Siemens Ag Verfahren zum Wechseln einer Anlagensoftware
JPH09507109A (ja) 1993-11-02 1997-07-15 パラコム コーポレイション コンピュータデータベースに関するトランザクションの処理を促進させるための装置
JP3177117B2 (ja) 1994-05-11 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 複数のノード内の制御コードを更新する方法および装置
DE4429969A1 (de) 1994-08-24 1996-02-29 Sel Alcatel Ag Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
US5487166A (en) * 1994-09-19 1996-01-23 Amdahl Corporation Computer with two-dimensional merge tournament sort using offset-value coding
DE4438697A1 (de) 1994-10-29 1996-05-02 Sel Alcatel Ag Ladeverfahren für ein Mehrrechnersystem sowie Ladesteuereinrichtung und Programm-Modul dafür und Mehrrechnersystem und Vermittlungssystem damit
DE19533961A1 (de) 1995-09-13 1997-03-20 Siemens Ag Verfahren zum Laden von Software in Kommunikationssystemen mit nichtredundanten, dezentralen Einrichtungen
US5991541A (en) 1996-08-12 1999-11-23 Adc Telecommunications, Inc. Dynamically modifiable call processing methods and apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751684A (en) * 1985-06-19 1988-06-14 International Computers Limited Search apparatus
US5418947A (en) * 1992-12-23 1995-05-23 At&T Corp. Locating information in an unsorted database utilizing a B-tree

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN5001008634, VIKAS O, COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, 19820701, V25N7, P479−484 *
JPN5001008635, ANONYMOUS, IBM TECHNICAL DISCLOSURE BULLETIN, 19720101, V14N8, P2493−2495, US *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4712718B2 (ja) * 2004-10-01 2011-06-29 株式会社ターボデータラボラトリー 配列の生成方法、及び、配列生成プログラム

Also Published As

Publication number Publication date
KR20010041803A (ko) 2001-05-25
EP1062597B1 (en) 2002-06-05
DE19810843B4 (de) 2004-11-25
WO1999046696A1 (en) 1999-09-16
CN1292903A (zh) 2001-04-25
JP4807686B2 (ja) 2011-11-02
DE19810843A1 (de) 1999-09-30
CA2323098C (en) 2005-12-27
AU2729299A (en) 1999-09-27
US6415279B1 (en) 2002-07-02
CA2323098A1 (en) 1999-09-16
EP1062597A1 (en) 2000-12-27
BR9908733A (pt) 2000-11-21

Similar Documents

Publication Publication Date Title
JP2002507026A (ja) メモリ装置内のデータ値の記憶アドレスを決定するための方法並びにアクセス装置
KR100748772B1 (ko) 최장의 정합 어드레스 탐색장치 및 방법
US5848416A (en) Method and apparatus for storing and retrieving data and a memory arrangement
US5202986A (en) Prefix search tree partial key branching
US6353873B1 (en) Apparatus and method to determine a longest prefix match in a content addressable memory
KR101467589B1 (ko) 데이터 구조를 가지는 하나 이상의 장치 판독가능 매체, 및장치 실행가능 명령어를 구비한 하나 이상의 장치 판독가능 매체
RU2517238C2 (ru) Выполнение параллельного повторного хэширования хеш-таблицы для многопоточных приложений
US7565482B1 (en) Method and device for scalable multiple match extraction from search data
US6848023B2 (en) Cache directory configuration method and information processing device
EA006562B1 (ru) Способ кодирования ключей в базе данных и база данных
US7478109B1 (en) Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes
CN116401258B (zh) 数据索引方法、数据查询方法及对应装置
EP1107126A2 (en) A fast, efficient, adaptive, hybrid tree
JP2002507023A (ja) データ変換用ハードウェアのサポート
Ouksel et al. Implicit data structures for linear hashing schemes
Werner Database Cracking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090723

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090819

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090826

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090918

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091026

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100401

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100629

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100706

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20100903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110715

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110809

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term