JP2018169636A - データ検索装置、データ検索lsi。 - Google Patents

データ検索装置、データ検索lsi。 Download PDF

Info

Publication number
JP2018169636A
JP2018169636A JP2015145826A JP2015145826A JP2018169636A JP 2018169636 A JP2018169636 A JP 2018169636A JP 2015145826 A JP2015145826 A JP 2015145826A JP 2015145826 A JP2015145826 A JP 2015145826A JP 2018169636 A JP2018169636 A JP 2018169636A
Authority
JP
Japan
Prior art keywords
data
search
memory
information
function
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
JP2015145826A
Other languages
English (en)
Inventor
井上 克己
Katsumi Inoue
克己 井上
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2015145826A priority Critical patent/JP2018169636A/ja
Priority to PCT/JP2016/071704 priority patent/WO2017014322A1/ja
Publication of JP2018169636A publication Critical patent/JP2018169636A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

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

Abstract

【課題】情報探しのアルゴリズムやそのメタデータを不要にして、ビッグデータのデータ検索を高速に行うデータ検索装置を提供する。【解決手段】情報を探すことが得意な情報検索機能を備えたメモリ101と、情報を高速で転送できる高速データ転送メモリ201を組み合わせし、システムに微少時間のデータ検索待ち時間を意図的に与えることにより、情報を探すためのメタデータ(インデックス)が不要でビッグデータに対応できる。【選択図】図2

Description

本発明はデータ検索装置、データ検索LSIに関する。
我々が日常的に利用するコンピュータ(ノイマン型コンピュータ)は約70年前、大砲の弾道を計算するなど高度で高速な数値演算を実現するために誕生した、その後数値演算処理以外様々な情報処理に応用出来ることが分かり様々な分野で利用され今日の情報処理社会が築き上げられたことは周知の事である。
このコンピュータアーキテクチャの宿命であるバスボトルネック問題はノイマン型コンピュータの完成当初より指摘されていたものの、半導体微細化技術の恩恵や様々な利用技術の積み重ねで放置されたままになっている。
従ってCPUがメモリ上のデータを逐次読み取り情報処理する方法は70年来何も変わっていない。バスボトルネックは情報処理の様々な場面で問題を生み出すがCPU、GPUなどの従来型プロサッサ(逐次処理プロセッサ)にとってメモリ上の情報を繰り返し探し出す処理つまり検索、照合、認識などの処理に対する影響が最も大きい。
CPUにとってメモリ上の情報(データ)は裏返しになったトランプのような存在である。従って、情報探しは1対のバスを介し逐次アドレスを照合しながら対象となるメモリ空間全体の情報探しを実行することになるので、極めて大きな時間と負担を伴う処理となる。1回だけの情報探しでも負担が大きいが、繰り返し、繰り返し、情報探しが必要である場合が大半である。
従って効率的に情報探し処理を行うためにはメモリ上の何処(=アドレス)にどのような情報(値)が存在するかなどを事前に整理加工し、CPUの情報探しの時間と負担が軽減できるように基データとは別に情報探しのメタデータ(構造化データ)を用意する以外にない。
一般的なデータベースには、ハッシュテーブル、木アルゴリズム、バイナリーサーチ、転置インデックス、などの基本的なテクニックから関係データベース、データマイニング、さらにはリアルタイム処理が必要な画像認識にはHaar−Like、EOGなどの様々な情報探しのアルゴリズムとそのメタデータが存在する。
然しながら情報探しにメタデータは、不可欠な存在であるものの情報探しのメタデータには大小様々な課題(副作用)が潜んでいる。
第1に、大量のメモリデータの中から目的の情報を効率的に探し出すためには、様々な知識と経験を積み上げた専門家が複雑難解なアルゴリズムとメタデータを駆使し情報処理せざるを得ない。
第2に、基データをもとにメタデータを事前に用意する必要があること、つまりそのための前処理時間が必要である。
第3に、一般的にメタデータは基データの数倍にも及ぶメモリ空間を必要とする場合も少なくない。
第4に、基データが変更、修正、追加される度にメタデータの修正をする必要がある。
第5に、インデックスなどのメタデータを使い過ぎるとシステムのパフォーマンスが極端に劣化する。
例えば、データの順序を入れ替える場合などはデータ全体を並び替えする必要があり、バックグラウンド処理で四六時中データメンテナンスを繰り返す必要がある。従ってインデックスなどのメタデータの数が多すぎると、バックグラウンド処理の負担が大きくなるのでシステムが重くなりシステム全体のパフォーマンスが著しく悪くなる。
以上のようにメタデータは果てしない副作用を抱えておりシステム毎に専門家が妥協点を見出し解決する以外ない。大量のデータが氾濫するビッグデータ社会のコンピュータの利用技術(ソフトウエア)はますます複雑難解で専門家以外手が出せないものばかりである。
以上のバスボトルネック問題は、CPUやGPUの性能や並列度がいくら向上しても避けて通ることが出来ない深刻な問題である。従って半導体微細化技術の限界も間近に迫りこれまでの性能や並列度の向上が期待できない今日、検索、照合、認識などをより高速でより精度よく情報処理を単純化できる新しいハードウエアアーキテクチャが期待されている。
このような背景から本願発明者は情報探しのボトルネックを本質的に解決するには、「探し出す情報を記憶したメモリ自らが情報を探さないで見つける以外にない」との仮説を立て(Search-Less Information Detection)、これまで情報処理の概念に捕らわれない新しい発想のハードウエアアーキテクチャ、メモリ型プロセッサを提案し研究開発を行ってきた。
本願発明者による特許第4588114、情報絞り込み検出機能を備えたメモリ、は画像や音声などストリーム型のデータの検出を超高速で実現するものである。
同じく出願番号2013−264763、情報検索機能を備えたメモリ、はデータベースの中から特定のデータを超高速で実現するものであり、本願発明の元になる発明である。
また、特願2015−116086、メモリ型プロセッサは、以上の情報検索機能を備えたメモリの考え方を更に発展させ数値演算を実現したものである。
これまでの先願調査では本願発明のようにメタデータを用いることなく高速なデータテーブルの検索をすることを目的とした技術は見当たらない、特願2007−321689、データ検索装置、データ検索方法、はメタデータとしてハッシュテーブルを用いてデータ検索を高速化するものであり、メタデータを用いて高速化を図る発明の代表例である。
特許第4588114号 特願2013−264763 特願2007−321689
ビッグデータの場合一般的な考え方では、特願2013−264763による情報検索機能を備えたメモリ101は大容量でないと利用できない。
少容量の情報処理容量の情報検索機能を備えたメモリ101であっても情報探しのアルゴリズムやそのメタデータを不要にして、ビッグデータのデータ検索を高速に行いたい、また小型、省電力のビッグデータのデータ検索装置を実現したい。
請求項1では
レコードとフィールドデータで構成されるデータテーブルを検索機能へデータ転送して、所定の検索条件を前記検索機能に与えることにより前記データテーブルから目的のレコードを検出する検索装置であって、
前記検索機能は前記データテーブル以外のデータを参照することなく前記データテーブルから目的のレコードを検索出力し、(前記検索機能のデータ検索出力時間Ts)≪(データ転送時間Tt)、であることを特徴とする。
請求項2では
前記データテーブルのデータ容量Dをn分割して前記検索機能へデータ転送する1バッチ当たりのデータ転送時間をTtnとし、前記検索機能はn回同一検索条件の前記データの検索出力を行い、1バッチ当たりのデータ検索出力時間をTsnとし、
(データ検索待ち時間S)=(n回*データ転送時間Ttn)+(n回*データ検索出力時間Tsn)、と定義すると、
前記データテーブルから前記検索機能への転送能力をTとすると前記n回*データ転送時間Ttnは概ねD/Tとなり、更に(前記n回*データ検索出力時間Tsn)≪(前記n回*データ転送時間Ttn)、とすることにより前記データ検索待ち時間Sは概ねD/Tであることを特徴とする。
請求項3では
前記データテーブルは高速データ転送機能を備えたメモリに記憶されたデータテーブルであって、前記検索機能は
情報の読み出し書き込みが可能なメモリであって
(1)このメモリは1ワードbit幅がnでNワードアドレス、つまりN*n bitの記憶セル構造とし
(2)このメモリ全体に1組n bitの論理演算器
(3)前記Nワードアドレスの中から繰り返し選択指定される前記1ワード bit幅がnの記憶セル情報を前記1組n bitの前記論理演算器に並列に入力(代入)し論理演算する機能
(4)前記論理演算器の内容を出力する機能
以上を具備するデータテーブルの情報検索機能を備えたメモリであることを特徴とする。
請求項4では
前記データテーブルを記憶した前記高速データ転送機能備えたメモリと前記情報検索機能を備えたメモリで構成される前記データ検索装置をN組み並列接続し前記データテーブルの検索を行うことを特徴とする。
請求項5では
FPGAに実装された前記情報検索機能を備えたメモリを使用したことを特徴とする。
請求項6では
前記データ検索装置は
1.文献検索
2.特許検索
3.ウエブ検索
4.個人情報データベース
5.業務用情報データベース
6.インターネット オブ シングス(IoT)情報処理システム
7.人工知能情報処理システム
8.以上1から7が組合せされたシステム
以上1から8記載の前記データテーブルを検索することを特徴とする。
請求項7では
前記データ検索装置は
1.蓄積型データベース
2.ストリーム型情報処理
3.以上1と2が組合せされたシステム
以上1から3記載の前記データテーブルを検索することを特徴とする。
請求項8では
前記高速転送機能を備えたメモリと前記情報検索機能を備えたメモリと、の双方を1つの半導体パッケージ内に実装したことを特徴とする。
請求項9では
CPU等他のLSIの半導体パッケージ内に実装したことを特徴とする。
図1は、情報検索機能を備えたメモリの構成図である。 図2は、情報検索機能を備えたメモリによる本発明の構成概要である。(実施例1)
図1は情報検索機能を備えたメモリ101の概要を示すものである。
本図においてアドレスデコーダやデータバスなどの機能回路は省略されており、このメモリ101に自由に情報データが書き込み読み出し可能構成で、1ワードがn bitの幅103で、Nのワードアドレス(検索索引アドレス)104を持つ、N×n bitセルからなる記憶セル102からなり立っており、外部から1からNまでのワードアドレス(検索索引アドレス)104を選択指定110可能になっている。
1ワードn bitの幅103はデータベースのレコード数(n)に相当し、1レコードが縦列に配列され、ワードアドレス(検索索引アドレス)104のNは1レコードのフィールドに相当する構造と考えると理解しやすい、つまり、このメモリは、1レコードがNbitでnレコードのデータテーブルとなっている。
このメモリの行方向(本図では横方向)にワードアドレス(検索索引アドレス)104で選択指定110される、nbitの記憶セル102と並列に設けられた論理演算器105は、選択指定110されるワードアドレス(検索索引アドレス)104の記憶セル102bit毎に論理記憶116が可能な回路と、論理積112、論理和113、論理否定(NOT)114、排他論理116ならびにその組合せが自由に指定できる構成となっている。
またこの論理演算器105の演算結果を出力するためプライオリティアドレスエンコーダ出力回路などの演算結果出力106機能が備えられている。
このメモリの大半はメモリセルそのものであり、そのごく一部のみが論理演算器105ならびに演算結果出力106機能であるので、一般メモリの微小エリアにこれらの機能を組み込みすることによりデータベースに利用可能な大容量のメモリとすることが出来る。
以上が情報検索機能を備えたメモリ101の概要であり、このメモリは記憶されたレコードとそのデータフィールドで構成されるデータテーブル209をインデックスなどのメタデータを参照することなく超高速でレコード検索することが可能なメモリ101である。
通常データベース206は最も基本となるデータテーブル206と、そのデータテーブル206を高速で検索するためのインデックス204などのメタデータが一体になったデータ群で構成されるが、このメモリ101は、データテーブル209だけがあればよい、つまりメタデータ203が不要になることが最大の特徴である。
メタデータを不要とする情報の検索に連想メモリ(CAM)があるが、連想メモリの場合、インターネットアドレスなどユニークデータの検索は得意であるものの、このメモリ101のように、論理和や論理積、論理否定を組合せデータテーブル209のフィールドデータの複雑な検索演算を行い目的とするレコードを検出するようなことは出来ない。
このメモリ101の操作方法や文献検索の応用例など詳しくは、特願2013−264763の本文を参照されたい。
通常のデータベース206であれば、基になるデータテーブル209をもとに様々なメタデータ作成プログラムを用意しインデックス204などのメタデータ203を作成し十分な検索能力となるまでデバックやチューニング作業を行い、一定の検索性能が確認できるようになるまでデータ検索をすることが出来ない。
この時間はデータベース206の容量にもよるが1TB程度のデータテーブル209となると最低でも数時間、場合によっては数日から数週間を費やす必要がある。
また、作成されるメタデータ203のデータ容量も基になるデータテーブル209の数倍にも及ぶ場合が一般的でメモリ効率が悪化する。
いくらメモリが大容量化してメモリの単価が下がってもビッグデータのメタデータ203のメモリコストはシステム全体の大きな比重を占めることになる。
通常は以上のようなメタデータ203の準備が完了して、ようやく検索が可能になるのに比較して、この情報検索機能を備えたメモリ101は、検索のためのインデックス204などのメタデータ203が全く不要で、データベース206の基になるデータテーブル209さえ準備出来ればこのデータテーブル209をこのメモリ101に記憶するだけで、直ちに知りたい情報を探し出すことが出来るのが特徴である。
また基データが変更、追加、削除される度にメタデータをデータメンテナンス205する必要がありメタデータ203の種類が多いと多大な処理時間が掛り、システムのパフォーマンスが大幅に劣化することはデータベース業界の常識である。
仮にデータテーブル209の容量が1TBの場合この情報検索機能を備えたメモリ101のデータテーブル209の構成は
レコード数が1K(1000)の場合、検索索引アドレス数が8G(8Gbitのデータフィールド)
レコード数が10K(1万)の場合、検索索引アドレス数が800M(800Mbitのデータフィールド)
レコード数が100K(10万)の場合、検索索引アドレス数が80M(80Mbitのデータフィールド)
レコード数が1M(100万)の場合、検索索引アドレス数が8M(8Mbitのデータフィールド)
レコード数が10M(1000万)の場合、検索索引アドレス数が800K(800Kbitのデータフィールド)
レコード数が100M(1億)の場合、検索索引アドレス数が80K(80Kbitのデータフィールド)
レコード数が1G(10億)の場合、検索索引アドレス数が8K(8Kbitのデータフィールド)
レコード数が10G(100億)の場合、検索索引アドレス数が800(800bitのデータフィールド)
以上のように様々なレコード数103と、検索索引アドレス数104のデータテーブル209が実現できる。
本願特許では1TBのデータベースを我々に馴染み深い特許検索の例で説明する。
詳しくは後述する。
一方情報検索機能を備えたメモリ101はSRAM方式の場合比較的安価に開発することが出来るが、データ容量の大きなDRAMやFLASHメモリの場合開発費が膨大になり製品化が困難である。
SRAMの場合、データ記憶容量が小さいのでビックデータを処理するのには大量の情報検索機能を備えたメモリ101を必要とする。
例えば、8MB(64Mbit)のSRAMの場合、1TBのデータベース全部を記憶するとなると、125K(12万5000)個もの情報検索機能を備えたメモリ101を用意する必要があり現実的ではない。
しかながら以下に説明する本願発明の方式を用いればこのように大量の情報検索機能を備えたメモリ101を用意することなく極めて効果的で、高速なデータ検索装置が可能になる。
図2は情報検索機能を備えたメモリによる本発明の構成概要である。
図に示すように1組のデータ検索装置207は高速データ転送メモリ201と、データ転送機能202と、情報検索機能を備えたメモリ101で構成されている。
高速データ転送メモリ201のデータはデータ転送機能202を通じて情報検索機能を備えたメモリ101に転送される。
情報検索機能を備えたメモリ101には外部から与えられるアドレス選択指定110ならびに演算指定111によって、情報検索機能を備えたメモリ101に記憶されたデータテーブル209を検索し目的とするレコード103を検出し、その演算結果が出力106から出力される構成となっている。
一例として1つの高速データ転送メモリ201の記憶容量(D)を32GBとし、データ転送能力(T)を32GB/秒とすると、言うまでもなく高速データ転送メモリ201全体のデータを転送する時間(Tt)は1秒である。
一方情報検索機能を備えたメモリ101が8MB(64Mbit)のデータテーブル容量を持つ場合、32GBのデータテーブル209データを512回(n回)に分割して、図に示すデータ1からnまで8MB(64Mbit)毎に順番にバッチ転送する、1バッチのデータ転送時間(Ttn)は約2m秒である。
1バッチデータ転送完了後、情報検索機能を備えたメモリ101は、外部から与えられたアドレス選択指定110ならびに演算指定111によって、メモリ101内部で検索演算を行い、その結果107が演算結果出力106から出力される。
この演算条件を与えてから出力を完了させるまでのデータ検索時間(Tsn)は情報検索機能を備えたメモリ101のクロック速度を比較的低速な10n秒とした場合でも、検索条件が高度な演算命令であっても1μ秒以内、実際の演算時間も1μあれば十分である、演算結果検出したレコードの出力時間は検出したレコードの数に比例するので変動要因となるもののすべての合計時間(Tsn)は最大でも100μ秒程度である。
このデータ検索時間(Tsn)の100μ秒は先に示したデータ転送時間(Ttn)の約2m秒に対して5%程度である。
以上を512バッチ繰り返し実行すれば32GBのデータベース206全体の検索が完了する。
以上のように幾つかのデータに分割して送る場合、毎回の転送開始時のオーバヘッドがあるものの8MBの1バッチ当たりのデータ転送時間に比較して転送開始時のオーバヘッドは極めて短時間であるので、この場合のデータ転送時間(Ttn)のn回の合計はほぼ1秒である。
一方データの検索に関わる時間(Tsn)のn回の合計は100μ秒*512≒50m秒程度となる、従って(n回*データ検索出力時間Tsn)+(n回*データ転送時間Ttn)=1.05秒がデータの検索待ち時間(S)210となる。
この方式のデータ検索待ち時間(S)210はデータの転送時間が支配的で実質的にデータの実際のデータ検索時間は無視される程度であることが最大の特徴である。
つまりこの方式の演算装置207の1組の演算装置の構成は、データベースであるデータテーブル209のデータ容量(D)が32GBで、データテーブル209から検索機能へのデータ転送能力(T)が32GB/秒であるので、データ検索待ち時間(S)=D/Tが概ね1秒となっている。
本例では以上のデータ検索装置207がN組並列接続されており、全体がデータ検索装置207となっている。
仮にNが32組の場合データテーブル209全体の容量は1TBとなり、データ検索待ち時間210は完全並列であるので上記同様概ね1秒である。
以上のように本方式は並列度に比例したデータベース容量となり、データベース容量が幾ら大きくなってもデータ検索待ち時間210は概ね1秒を保証することができる。
通常1秒程度のデータ検索待ち時間210は利用者に違和感を与えるものではないが、システムの目的や必要に応じてデータ検索待ち時間210を更に短縮することも長くすることも、以上の考え方をもとに自由にシステム構成することができる。
以上説明の大容量で高速データ転送が可能なメモリ201は例えば同期式DRAM(SDRAM)で容易に実現できる。
SDRAMは様々な規格があるが、現在市場に出回っているDDR4規格のSDRAMの最高転送速度は34.1GB/秒であり、SDRAMは今後更に高速化され、大容量化される。
これに比例して本願発明のデータ検索装置207の性能がアップすることになる。
この発明は、情報検索機能を備えたメモリ101は超高速な検索性能を持つので、繰り返し検索を行っても合計データ検索時間は短時間ですむことに注目し、データサイズ(D)とデータ転送能力(T)で定まる微少時間のデータの検索待ち時間210を意図的に許容することにより、ビッグデータでもシステムを大型化、高コスト化することなく最効率のシステムを提供することを目的としたものである。
以下にビックデータの一例として特許文献検索などの文献検索の例を示す。
特許庁が一般向けに公開している特許情報プラットホームには、特許・実用新案、意匠、商標の3つがデータ検索可能になっており、その内特許文献は約1200万件登録されている。
そのキーワド検索の検索待ち時間はおよそ4秒程度である。
一般的な文献(テキスト)の検索のような場合、検索索引(インデックス)は文法のルールにもとづく形態素解析と、機械的に文字列を分断して検索索引とする場のN-Gram方式が代表的である。
2文字ごとに文字列を分断して検索索引とする2−Gramの場合、利用される文字が3000とすると単純計算の場合その組み合わせは9Mの多大な検索索引数になる。
然しながら全ての文字の組み合わせを考慮する必要はなく、通常500Kから6O0K程度の検索索引があれば実現可能である。
検索索引数を512Kとした場合、1200万(12M)レコード×512K=6,144Tbit=0.768TBのデータテーブル209となる。
仮に8MBの情報検索機能を備えたメモリ101を利用し以上の文献検出を行う場合、8MB=64Mbitの情報処理容量を、512Kの検索索引アドレス104*128レコード103、の行列構成の情報検索機能を備えたメモリ101の構成として、1バッチのデータも8MBデータとすればよい。
以上の情報検索機能を備えたメモリ101を32チップ用意し、先に示した方法でデータ検索装置を作れば特許文献検索システムの基幹部分が完成する。
データテーブル209の1TBに対する残り0.232TBに新規特許文献148万件を追加登録可能である。
これまでの説明は特許文献の検索システムなど極めて大きな基幹システムの一番重要な心臓部分を32GBのDDR4メモリと32個と、8MBの情報検索機能を備えたメモリ101を32個と、1個の低消費電力のCPUで実現することが可能である。
このようなメモリが主体の回路構成であれば基板1枚で実現することが可能であることを意味している。
複雑なメタデータ206やそのアルゴリズムを用意する必要がないので、システム構成が極めて単純で小型化され、省電力化され、システム開発費用を大幅に抑えることが可能になる。
このシステムの考え方は特許文献に限らずインターネット検索システム等に共通である。
本例では比較的開発費用が低価格なSRAM方式のメモリ101で説明を行ったが、更にデータテーブル容量の大きなDRAM型メモリ101やFLASH型メモリ101とすることにより更に効率のよいシステムを構築することができることは言うまでもない。
以上のような文献検索やネット検索データベースを構築する場合、所定の検索待ち時間に対する文献数(レコード数)当たりのシステムコストを判定しシステム評価するとよい。
このような評価尺度で考えるとこの方式は、従来のいずれの方式よりコストパフォマンスが高いシステムとなる。
以上ような文献検索やインタネット検索データベースはアドレス104が大きくレコード103が少ない縦長のデータベースであるが、情報検索機能を備えたメモリ101は原則的に、先の述べたように任意のレコード数103と検索索引アドレス104の構成とすることができ、どのような行列数のデータテーブル209であっても以上の説明の原則が成り立つ。
通常1TBのような大きなデータテーブル209を高速検索する場合、経験を積んだ多くのベテラン専門家を集め、インメモリデータベースシステムとして、様々なアルゴリズムやメタデータを駆使し、極めて大掛かりなシステム構成としないと1秒程度の検索時間を保障することは困難である。
通常のデータベース206はデータベースの以上のような専門家が様々なアルゴリズムを検討してシステムに最適なメタデータを作成し様々なデバックやチューニングを行い、その結果で最終性能が決まるものである。
物足りない結果となる場合も少なくない。
また、基データの変更、追加、削除が発生する度にメタデータをデータメンテナンス205する必要があり、メタデータの種類が多いとデータメンテナンス205に大きな負担がかかりシステムが重くなる。
これらのメタデータの問題は、CPUやGPUの性能がいくら向上しても、メモリとのバスボトルネックがある限り避けて通ることが出来ない深刻な問題である。
この方式の特徴は、特段のデータベースの専門家でなくともデータ検索時間などシステムの性能を完成前に決定できることにある、またデータメンテナンス205は基データベース206が記憶された高速データ転送メモリ201のみのデータを変更、追加、削除するだけでよいので超高速な更新が可能になる。
このような情報処理が出来るのも、情報検索機能を備えたメモリ101が超高速な検索演算を実現できること、情報検索機能を備えたメモリ101はメタデータ203を必要としないのでメタデータ203の様々な副作用の影響を受けないこと、さらには高速なデータ転送が出来る大容量のメモリが低コストで入手できるからに他ならない。
1TBのデータテーブル209を情報検索機能を備えたメモリ101を従来型の利用方法であるインメモリ型(データテーブル209は固定する考え方)で利用する場合、125K(12万5000)ものメモリ101が必要であるのに対し、512回のバッチ処理を行うことにより32個のメモリ101と1TBのデータメモリだけで済むことを考えると、本願発明はシステム構成を大幅に圧縮しシステム効率を挙げていることが理解できる。
繰り返しになるがこの発明は、1秒程度の微少時間データの検索待ち時間210をシステムに許容することにより、システムの効率を最大限とすることを意図したものである。
言うまでもなく、この基板を複数並列接続すれば、データベース206の容量を拡張することも、検索演算時間を短縮することも自由である。
以下に本システムを利用する上でポイントとなることを示す。
情報検索機能を備えたメモリ101の情報処理容量が1MB以下など極端に小さい場合、演算時間が無視できなくなるので転送速度と演算速度のバランスを考え、演算時間が遅くなる分並列度Nを増やすことにより、全体の性能を向上させることができる。
バッチ処理は検索トランザクションが発生した時点で、データ1から順番にバッチ処理開始することが出来る、以上の場合検索がない場合データ転送をする必要がないので、装置の電力を抑制することが出来る。
始終多重(マルチ)検索が発生する場合、バッチ処理をループ状に繰り返しておけばどのバッチで検索を開始した場合にも全てのバッチ処理が1秒程度完了し、データ検索も実現されることになる。
特許検索システムのような大型システムでマルチアクセスが頻発する場合、情報検索機能を備えたメモリ101を2個ずつ用意し、交互にデータ転送する構成とすると、2m秒の間に同時に20回同時アクセスが発生しても、データ検索時間を1秒丁度に保つことが可能になる。
もちろんのこと、並列度Nを倍の64にすれば0.5秒のデータ検索が可能になる。
本願発明は大量のセンサからのデータの更新が連続して発生するIoT(Internet of Things)のリアルタイム処理に最適である。
ビックデータの大量のデータの連続的な更新は従来型データベースで最も負担が多くリアルタイム処理が困難な分野である、従って多くの場合処理時間やシステムコストなど妥協点を探し出す以外方法はない。
この発明によればセンサからの情報を基に高速データ転送メモリ201のデータテーブルを直接更新するだけで良いのでシステムが極めて単純になり、システムの開発負担を大幅に軽減することができる。
最近のデータベースの潮流として入力される大量のデータを蓄積することなく、リアルタイムで必要な情報を読み取るストリーム型情報処理に注目が集まっている。
本願発明は、文献検索のような蓄積型データベースのみならずIoTなどのストリーム型情報処理の双方で実力を発揮することができる。
以上の情報検索機能を備えたメモリ101はFPGAに実装することも可能である。
また、CPUなどその他のLSIに情報検索機能を備えたメモリ101を組み込むことも、情報検索機能を備えたメモリ101と高速データ転送メモリ201をSoCやSiPとして同一のLSIに搭載しデータ検索LSI208とすることも可能である。
本願発明者による特願2015−116086、メモリ型プロセッサは、情報検索機能を備えたメモリの考え方を更に発展させデータの検索や解析のみならず数値演算を実現したものであり、データ検索機能にこのメモリ型プロセサが利用できることは言うまでもない。
この発明は、ビッグデータを低コストでしかも高速に検索、解析することができるので、文献検索、特許検索、ウエブ検索、個人情報データベース、業務用情報データベース、IoT情報処理システム、人工知能情報処理システム、以上を組合せしたあらゆる各種データベースやビッグデータのデータマイニング、データ解析に幅広く利用することが可能である。
またこの技術は情報処理の電力を大幅に抑制することが出来るのでICT機器の環境問題の解消に大きな意義をもち、この技術は新しい情報処理手法の一つになる。
100.メモリ
101.情報検索機能を備えたメモリ
102.記憶セル
103.ワード幅(レコード数)
104.ワードアドレス(検索索引アドレス)
105.論理演算器
106.演算結果出力
107.演算結果
110.(ワードアドレス)選択指定
111.演算指定
112.論理積
113.論理和
114.論理否定
115.排他論理
116.論理記憶
201.高速データ転送メモリ
202.データ転送機能
203.メタデータ
204.インデックス
205.データメンテナンス
206.データベース
207.データ検索装置
208.データ検索LSI
209.データテーブル
210.データ検索待ち時間
本発明はデータ検索装置、データ検索LSIに関する。
我々が日常的に利用するコンピュータ(ノイマン型コンピュータ)は約70年前、大砲の弾道を計算するなど高度で高速な数値演算を実現するために誕生した、その後数値演算処理以外様々な情報処理に応用出来ることが分かり様々な分野で利用され今日の情報処理社会が築き上げられたことは周知の事である。
このコンピュータアーキテクチャの宿命であるバスボトルネック問題はノイマン型コンピュータの完成当初より指摘されていたものの、半導体微細化技術の恩恵や様々な利用技術の積み重ねで放置されたままになっている。
従ってCPUがメモリ上のデータを逐次読み取り情報処理する方法は70年来何も変わっていない。バスボトルネックは情報処理の様々な場面で問題を生み出すがCPU、GPUなどの従来型プロサッサ(逐次処理プロセッサ)にとってメモリ上の情報を繰り返し探し出す処理つまり検索、照合、認識などの処理に対する影響が最も大きい。
CPUにとってメモリ上の情報(データ)は裏返しになったトランプのような存在である。従って、情報探しは1対のバスを介し逐次アドレスを照合しながら対象となるメモリ空間全体の情報探しを実行することになるので、極めて大きな時間と負担を伴う処理となる。1回だけの情報探しでも負担が大きいが、繰り返し、繰り返し、情報探しが必要である場合が大半である。
従って効率的に情報探し処理を行うためにはメモリ上の何処(=アドレス)にどのような情報(値)が存在するかなどを事前に整理加工し、CPUの情報探しの時間と負担が軽減できるように基データとは別に情報探しのメタデータ(構造化データ)を用意する以外にない。
一般的なデータベースには、ハッシュテーブル、木アルゴリズム、バイナリーサーチ、転置インデックス、などの基本的なテクニックから関係データベース、データマイニング、さらにはリアルタイム処理が必要な画像認識にはHaar−Like、EOGなどの様々な情報探しのアルゴリズムとそのメタデータが存在する。
然しながら情報探しにメタデータは、不可欠な存在であるものの情報探しのメタデータには大小様々な課題(副作用)が潜んでいる。
第1に、大量のメモリデータの中から目的の情報を効率的に探し出すためには、様々な知識と経験を積み上げた専門家が複雑難解なアルゴリズムとメタデータを駆使し情報処理せざるを得ない。
第2に、基データをもとにメタデータを事前に用意する必要があること、つまりそのための前処理時間が必要である。
第3に、一般的にメタデータは基データの数倍にも及ぶメモリ空間を必要とする場合も少なくない。
第4に、基データが変更、修正、追加される度にメタデータの修正をする必要がある。
第5に、インデックスなどのメタデータを使い過ぎるとシステムのパフォーマンスが極端に劣化する。
例えば、データの順序を入れ替える場合などはデータ全体を並び替えする必要があり、バックグラウンド処理で四六時中データメンテナンスを繰り返す必要がある。従ってインデックスなどのメタデータの数が多すぎると、バックグラウンド処理の負担が大きくなるのでシステムが重くなりシステム全体のパフォーマンスが著しく悪くなる。
以上のようにメタデータは果てしない副作用を抱えておりシステム毎に専門家が妥協点を見出し解決する以外ない。大量のデータが氾濫するビッグデータ社会のコンピュータの利用技術(ソフトウエア)はますます複雑難解で専門家以外手が出せないものばかりである。
以上のバスボトルネック問題は、CPUやGPUの性能や並列度がいくら向上しても避けて通ることが出来ない深刻な問題である。従って半導体微細化技術の限界も間近に迫りこれまでの性能や並列度の向上が期待できない今日、検索、照合、認識などをより高速でより精度よく情報処理を単純化できる新しいハードウエアアーキテクチャが期待されている。
このような背景から本願発明者は情報探しのボトルネックを本質的に解決するには、「探し出す情報を記憶したメモリ自らが情報を探さないで見つける以外にない」との仮説を立て(Search-Less Information Detection)、これまで情報処理の概念に捕らわれない新しい発想のハードウエアアーキテクチャ、メモリ型プロセッサを提案し研究開発を行ってきた。
本願発明者による特許第4588114、情報絞り込み検出機能を備えたメモリ、は画像や音声などストリーム型のデータの検出を超高速で実現するものである。
同じく出願番号2013−264763、情報検索機能を備えたメモリ、はデータベースの中から特定のデータを超高速で実現するものであり、本願発明の元になる発明である。
また、特願2015−116086、メモリ型プロセッサは、以上の情報検索機能を備えたメモリの考え方を更に発展させ数値演算を実現したものである。
これまでの先願調査では本願発明のようにメタデータを用いることなく高速なデータテーブルの検索をすることを目的とした技術は見当たらない、特願2007−321689、データ検索装置、データ検索方法、はメタデータとしてハッシュテーブルを用いてデータ検索を高速化するものであり、メタデータを用いて高速化を図る発明の代表例である。
特許第4588114号 特願2013−264763 特願2007−321689
ビッグデータの場合一般的な考え方では、特願2013−264763による情報検索機能を備えたメモリ101は大容量でないと利用できない。
少容量の情報処理容量の情報検索機能を備えたメモリ101であっても情報探しのアルゴリズムやそのメタデータを不要にして、ビッグデータのデータ検索を高速に行いたい、また小型、省電力のビッグデータのデータ検索装置を実現したい。
請求項1では
レコードとフィールドデータで構成されるデータテーブルを検索機能へデータ転送して、所定の検索条件を前記検索機能に与えることにより前記データテーブルから目的のレコードを検出する検索装置であって、
前記検索機能は前記データテーブル以外のデータを参照することなく前記データテーブルから目的のレコードを検索出力し、(前記検索機能のデータ検索出力時間Ts)≪(データ転送時間Tt)、であることを特徴とする。
請求項2では
前記データテーブルのデータ容量Dをn分割して前記検索機能へデータ転送する1バッチ当たりのデータ転送時間をTtnとし、前記検索機能はn回同一検索条件の前記データの検索出力を行い、1バッチ当たりのデータ検索出力時間をTsnとし、
(データ検索待ち時間S)=(n回*データ転送時間Ttn)+(n回*データ検索出力時間Tsn)、と定義すると、
前記データテーブルから前記検索機能への転送能力をTとすると前記n回*データ転送時間Ttnは概ねD/Tとなり、更に(前記n回*データ検索出力時間Tsn)≪(前記n回*データ転送時間Ttn)、とすることにより前記データ検索待ち時間Sは概ねD/Tであることを特徴とする。
請求項3では
前記データテーブルは高速データ転送機能を備えたメモリに記憶されたデータテーブルであって、前記検索機能は
情報の読み出し書き込みが可能なメモリであって
(1)このメモリは1ワードbit幅がnでNワードアドレス、つまりN*n bitの記憶セル構造とし
(2)このメモリ全体に1組n bitの論理演算器
(3)前記Nワードアドレスの中から繰り返し選択指定される前記1ワード bit幅がnの記憶セル情報を前記1組n bitの前記論理演算器に並列に入力(代入)し論理演算する機能
(4)前記論理演算器の内容を出力する機能
以上を具備するデータテーブルの情報検索機能を備えたメモリであることを特徴とする。
請求項4では
前記データテーブルを記憶した前記高速データ転送機能備えたメモリと前記情報検索機能を備えたメモリで構成される前記データ検索装置をN組み並列接続し前記データテーブルの検索を行うことを特徴とする。
請求項5では
FPGAに実装された前記情報検索機能を備えたメモリを使用したことを特徴とする。
請求項6では
前記データ検索装置は
1.文献検索
2.特許検索
3.ウエブ検索
4.個人情報データベース
5.業務用情報データベース
6.インターネット オブ シングス(IoT)情報処理システム
7.人工知能情報処理システム
8.以上1から7が組合せされたシステム
以上1から8記載の前記データテーブルを検索することを特徴とする。
請求項7では
前記データ検索装置は
1.蓄積型データベース
2.ストリーム型情報処理
3.以上1と2が組合せされたシステム
以上1から3記載の前記データテーブルを検索することを特徴とする。
請求項8では
前記高速転送機能を備えたメモリと前記情報検索機能を備えたメモリと、の双方を1つの半導体パッケージ内に実装したことを特徴とする。
請求項9では
CPU等他のLSIの半導体パッケージ内に実装したことを特徴とする。
図1は、情報検索機能を備えたメモリの構成図である。 図2は、情報検索機能を備えたメモリによる本発明の構成概要である。(実施例1)
図1は情報検索機能を備えたメモリ101の概要を示すものである。
本図においてアドレスデコーダやデータバスなどの機能回路は省略されており、このメモリ101に自由に情報データが書き込み読み出し可能構成で、1ワードがn bitの幅103で、Nのワードアドレス(検索索引アドレス)104を持つ、N×n bitセルからなる記憶セル102からなり立っており、外部から1からNまでのワードアドレス(検索索引アドレス)104を選択指定110可能になっている。
1ワードn bitの幅103はデータベースのレコード数(n)に相当し、1レコードが縦列に配列され、ワードアドレス(検索索引アドレス)104のNは1レコードのフィールドに相当する構造と考えると理解しやすい、つまり、このメモリは、1レコードがNbitでnレコードのデータテーブルとなっている。
このメモリの行方向(本図では横方向)にワードアドレス(検索索引アドレス)104で選択指定110される、nbitの記憶セル102と並列に設けられた論理演算器105は、選択指定110されるワードアドレス(検索索引アドレス)104の記憶セル102bit毎に論理記憶116が可能な回路と、論理積112、論理和113、論理否定(NOT)114、排他論理116ならびにその組合せが自由に指定できる構成となっている。
またこの論理演算器105の演算結果を出力するためプライオリティアドレスエンコーダ出力回路などの演算結果出力106機能が備えられている。
このメモリの大半はメモリセルそのものであり、そのごく一部のみが論理演算器105ならびに演算結果出力106機能であるので、一般メモリの微小エリアにこれらの機能を組み込みすることによりデータベースに利用可能な大容量のメモリとすることが出来る。
以上が情報検索機能を備えたメモリ101の概要であり、このメモリは記憶されたレコードとそのデータフィールドで構成されるデータテーブル209をインデックスなどのメタデータを参照することなく超高速でレコード検索することが可能なメモリ101である。
通常データベース206は最も基本となるデータテーブル206と、そのデータテーブル206を高速で検索するためのインデックス204などのメタデータが一体になったデータ群で構成されるが、このメモリ101は、データテーブル209だけがあればよい、つまりメタデータ203が不要になることが最大の特徴である。
メタデータを不要とする情報の検索に連想メモリ(CAM)があるが、連想メモリの場合、インターネットアドレスなどユニークデータの検索は得意であるものの、このメモリ101のように、論理和や論理積、論理否定を組合せデータテーブル209のフィールドデータの複雑な検索演算を行い目的とするレコードを検出するようなことは出来ない。
このメモリ101の操作方法や文献検索の応用例など詳しくは、特願2013−264763の本文を参照されたい。
通常のデータベース206であれば、基になるデータテーブル209をもとに様々なメタデータ作成プログラムを用意しインデックス204などのメタデータ203を作成し十分な検索能力となるまでデバックやチューニング作業を行い、一定の検索性能が確認できるようになるまでデータ検索をすることが出来ない。
この時間はデータベース206の容量にもよるが1TByte(以下単にBと記す)程度のデータテーブル209となると最低でも数時間、場合によっては数日から数週間を費やす必要がある。
また、作成されるメタデータ203のデータ容量も基になるデータテーブル209の数倍にも及ぶ場合が一般的でメモリ効率が悪化する。
いくらメモリが大容量化してメモリの単価が下がってもビッグデータのメタデータ203のメモリコストはシステム全体の大きな比重を占めることになる。
通常は以上のようなメタデータ203の準備が完了して、ようやく検索が可能になるのに比較して、この情報検索機能を備えたメモリ101は、検索のためのインデックス204などのメタデータ203が全く不要で、データベース206の基になるデータテーブル209さえ準備出来ればこのデータテーブル209をこのメモリ101に記憶するだけで、直ちに知りたい情報を探し出すことが出来るのが特徴である。
また基データが変更、追加、削除される度にメタデータをデータメンテナンス205する必要がありメタデータ203の種類が多いと多大な処理時間が掛り、システムのパフォーマンスが大幅に劣化することはデータベース業界の常識である。
仮にデータテーブル209の容量が1TBの場合この情報検索機能を備えたメモリ101のデータテーブル209の構成は
レコード数が1K(1000)の場合、検索索引アドレス数が8G(8bitのデータフィールド)
レコード数が10K(1万)の場合、検索索引アドレス数が800M(800Mbitのデータフィールド)
レコード数が100K(10万)の場合、検索索引アドレス数が80M(80Mbitのデータフィールド)
レコード数が1M(100万)の場合、検索索引アドレス数が8M(8Mbitのデータフィールド)
レコード数が10M(1000万)の場合、検索索引アドレス数が800K(800Kbitのデータフィールド)
レコード数が100M(1億)の場合、検索索引アドレス数が80K(80bitのデータフィールド)
レコード数が1G(10億)の場合、検索索引アドレス数が8K(8Kbitのデータフィールド)
レコード数が10G(100億)の場合、検索索引アドレス数が800(800bitのデータフィールド)
以上のように様々なレコード数103と、検索索引アドレス数104のデータテーブル209が実現できる。
本願特許では1TBのデータベースを我々に馴染み深い特許検索の例で説明する。
詳しくは後述する。
一方情報検索機能を備えたメモリ101はSRAM方式の場合比較的安価に開発することが出来るが、データ容量の大きなDRAMやFLASHメモリの場合開発費が膨大になり製品化が困難である。
SRAMの場合、データ記憶容量が小さいのでビックデータを処理するのには大量の情報検索機能を備えたメモリ101を必要とする。
例えば、8MB(64Mbit)のSRAMの場合、1TBのデータベース全部を記憶するとなると、125K(12万5000)個もの情報検索機能を備えたメモリ101を用意する必要があり現実的ではない。
しかながら以下に説明する本願発明の方式を用いればこのように大量の情報検索機能を備えたメモリ101を用意することなく極めて効果的で、高速なデータ検索装置が可能になる。
図2は情報検索機能を備えたメモリによる本発明の構成概要である。
図に示すように1組のデータ検索装置207は高速データ転送メモリ201と、データ転送機能202と、情報検索機能を備えたメモリ101で構成されている。
高速データ転送メモリ201のデータはデータ転送機能202を通じて情報検索機能を備えたメモリ101に転送される。
情報検索機能を備えたメモリ101には外部から与えられるアドレス選択指定110ならびに演算指定111によって、情報検索機能を備えたメモリ101に記憶されたデータテーブル209を検索し目的とするレコード103を検出し、その演算結果が出力106から出力される構成となっている。
一例として1つの高速データ転送メモリ201の記憶容量(D)を32GBとし、データ転送の実力値であるデータ転送能力(T)を32GB/秒とすると、言うまでもなく高速データ転送メモリ201全体のデータを転送する時間(Tt)は1秒である。
一方情報検索機能を備えたメモリ101が8MB(64Mbit)のデータテーブル容量を持つ場合、32GBのデータテーブル209データを4K回(n回)に分割して、図に示すデータ1からnまで8MB(64Mbit)毎に順番にバッチ転送する、1バッチのデータ転送時間(Ttn)は約250μ秒である。
1バッチデータ転送完了後、情報検索機能を備えたメモリ101は、外部から与えられたアドレス選択指定110ならびに演算指定111によって、メモリ101内部で検索演算を行い、その結果107が演算結果出力106から出力される。
この演算条件を与えてから出力を完了させるまでのデータ検索時間(Tsn)は情報検索機能を備えたメモリ101のクロック速度を比較的低速な10n秒とした場合でも、検索条件が高度な演算命令であっても1μ秒以内、実際の演算時間も1μあれば十分である、演算結果検出したレコードの出力時間は検出したレコードの数に比例するので変動要因となるもののすべての合計時間(Tsn)は平均10μ秒程度である。
このデータ検索時間(Tsn)の10μ秒は先に示したデータ転送時間(Ttn)の約250μ秒に対して%程度である。
以上を4Kバッチ繰り返し実行すれば32GBのデータベース206全体の検索が完了する。
以上のように幾つかのデータに分割して送る場合、毎回の転送開始時のオーバヘッドがあるものの8MBの1バッチ当たりのデータ転送時間に比較して転送開始時のオーバヘッドは極めて短時間であるので、この場合のデータ転送時間(Ttn)のn回の合計はほぼ1秒である。
一方データの検索に関わる時間(Tsn)のn回の合計は10μ秒*4K回≒40m秒程度となる、従って(n回*データ検索出力時間Tsn)+(n回*データ転送時間Ttn)=1.04秒がデータの検索待ち時間(S)210となる。
この方式のデータ検索待ち時間(S)210はデータの転送時間が支配的で実質的にデータの実際のデータ検索時間は無視される程度であることが最大の特徴である。
つまりこの方式の演算装置207の1組の演算装置の構成は、データベースであるデータテーブル209のデータ容量(D)が32GBで、データテーブル209から検索機能へのデータ転送能力(T)が32GB/秒であるので、データ検索待ち時間(S)=D/Tが概ね1秒となっている。
本例では以上のデータ検索装置207がN組並列接続されており、全体がデータ検索装置207となっている。
仮にNが32組の場合データテーブル209全体の容量は1TBとなり、データ検索待ち時間210は完全並列であるので上記同様概ね1秒である。
以上のように本方式は並列度に比例したデータベース容量となり、データベース容量が幾ら大きくなってもデータ検索待ち時間210は概ね1秒を保証することができる。
通常1秒程度のデータ検索待ち時間210は利用者に違和感を与えるものではないが、システムの目的や必要に応じてデータ検索待ち時間210を更に短縮することも長くすることも、以上の考え方をもとに自由にシステム構成することができる。
以上説明の大容量で高速データ転送が可能なメモリ201は例えば同期式DRAM(SDRAM)で容易に実現できる。
SDRAMは様々な規格があるが、現在市場に出回っているDDR4規格モジュール理論最高転送速度は34.1GB/秒であり、SDRAMは今後更に高速化され、大容量化される。
これに比例して本願発明のデータ検索装置207の性能がアップすることになる。
この発明は、情報検索機能を備えたメモリ101は超高速な検索性能を持つので、繰り返し検索を行っても合計データ検索時間は短時間ですむことに注目し、データサイズ()とデータ転送能力()で定まる微少時間のデータの検索待ち時間210を意図的に許容することにより、ビッグデータでもシステムを大型化、高コスト化することなく最効率のシステムを提供することを目的としたものである。
以下にビックデータの一例として特許文献検索などの文献検索の例を示す。
特許庁が一般向けに公開している特許情報プラットホームには、特許・実用新案、意匠、商標の3つがデータ検索可能になっており、その内特許文献は約1200万件登録されている。
そのキーワド検索の検索待ち時間はおよそ4秒程度である。
一般的な文献(テキスト)の検索のような場合、検索索引(インデックス)は文法のルールにもとづく形態素解析と、機械的に文字列を分断して検索索引とする場のN-Gram方式が代表的である。
2文字ごとに文字列を分断して検索索引とする2−Gramの場合、利用される文字が3000とすると単純計算の場合その組み合わせは9Mの多大な検索索引数になる。
然しながら全ての文字の組み合わせを考慮する必要はなく、通常500Kから6O0K程度の検索索引があれば実現可能である。
検索索引数を512Kとした場合、1200万(12M)レコード×512K=6,144Tbit=0.768TBのデータテーブル209となる。
仮に8MBの情報検索機能を備えたメモリ101を利用し以上の文献検出を行う場合、8MB=64Mbitの情報処理容量を、512Kの検索索引アドレス104*128レコード103、の行列構成の情報検索機能を備えたメモリ101の構成として、1バッチのデータも8MBデータとすればよい。
以上の情報検索機能を備えたメモリ101を32チップ用意し、先に示した方法でデータ検索装置を作れば特許文献検索システムの基幹部分が完成する。
データテーブル209の1TBに対する残り0.232TBに新規特許文献148万件を追加登録可能である。
これまでの説明は特許文献の検索システムなど極めて大きな基幹システムの一番重要な心臓部分を32GBのDDR4メモリと32個と、8MBの情報検索機能を備えたメモリ101を32個と、1個の低消費電力のCPUで実現することが可能である。
このようなメモリが主体の回路構成であれば基板1枚で実現することが可能であることを意味している。
複雑なメタデータ206やそのアルゴリズムを用意する必要がないので、システム構成が極めて単純で小型化され、省電力化され、システム開発費用を大幅に抑えることが可能になる。
このシステムの考え方は特許文献に限らずインターネット検索システム等に共通である。
本例では比較的開発費用が低価格なSRAM方式のメモリ101で説明を行ったが、更にデータテーブル容量の大きなDRAM型メモリ101やFLASH型メモリ101とすることにより更に効率のよいシステムを構築することができることは言うまでもない。
以上のような文献検索やネット検索データベースを構築する場合、所定の検索待ち時間に対する文献数(レコード数)当たりのシステムコストを判定しシステム評価するとよい。
このような評価尺度で考えるとこの方式は、従来のいずれの方式よりコストパフォマンスが高いシステムとなる。
以上ような文献検索やインタネット検索データベースはアドレス104が大きくレコード103が少ない縦長のデータベースであるが、情報検索機能を備えたメモリ101は原則的に、先の述べたように任意のレコード数103と検索索引アドレス104の構成とすることができ、どのような行列数のデータテーブル209であっても以上の説明の原則が成り立つ。
通常1TBのような大きなデータテーブル209を高速検索する場合、経験を積んだ多くのベテラン専門家を集め、インメモリデータベースシステムとして、様々なアルゴリズムやメタデータを駆使し、極めて大掛かりなシステム構成としないと1秒程度の検索時間を保障することは困難である。
通常のデータベース206はデータベースの以上のような専門家が様々なアルゴリズムを検討してシステムに最適なメタデータを作成し様々なデバックやチューニングを行い、その結果で最終性能が決まるものである。
物足りない結果となる場合も少なくない。
また、基データの変更、追加、削除が発生する度にメタデータをデータメンテナンス205する必要があり、メタデータの種類が多いとデータメンテナンス205に大きな負担がかかりシステムが重くなる。
これらのメタデータの問題は、CPUやGPUの性能がいくら向上しても、メモリとのバスボトルネックがある限り避けて通ることが出来ない深刻な問題である。
この方式の特徴は、特段のデータベースの専門家でなくともデータ検索時間などシステムの性能を完成前に決定できることにある、またデータメンテナンス205は基データベース206が記憶された高速データ転送メモリ201のみのデータを変更、追加、削除するだけでよいので超高速な更新が可能になる。
このような情報処理が出来るのも、情報検索機能を備えたメモリ101が超高速な検索演算を実現できること、情報検索機能を備えたメモリ101はメタデータ203を必要としないのでメタデータ203の様々な副作用の影響を受けないこと、さらには高速なデータ転送が出来る大容量のメモリが低コストで入手できるからに他ならない。
1TBのデータテーブル209を情報検索機能を備えたメモリ101を従来型の利用方法であるインメモリ型(データテーブル209は固定する考え方)で利用する場合、125K(12万5000)ものメモリ101が必要であるのに対し、4K回のバッチ処理を行うことにより32個のメモリ101と1TBのデータメモリだけで済むことを考えると、本願発明はシステム構成を大幅に圧縮しシステム効率を挙げていることが理解できる。
繰り返しになるがこの発明は、1秒程度の微少時間データの検索待ち時間210をシステムに許容することにより、システムの効率を最大限とすることを意図したものである。
言うまでもなく、この基板を複数並列接続すれば、データベース206の容量を拡張することも、検索演算時間を短縮することも自由である。
以下に本システムを利用する上でポイントとなることを示す。
情報検索機能を備えたメモリ101の情報処理容量が1MB以下など極端に小さい場合、演算時間が無視できなくなるので転送速度と演算速度のバランスを考え、演算時間が遅くなる分並列度Nを増やすことにより、全体の性能を向上させることができる。
バッチ処理は検索トランザクションが発生した時点で、データ1から順番にバッチ処理開始することが出来る、以上の場合検索がない場合データ転送をする必要がないので、装置の電力を抑制することが出来る。
始終多重(マルチ)検索が発生する場合、バッチ処理をループ状に繰り返しておけばどのバッチで検索を開始した場合にも全てのバッチ処理が1秒程度完了し、データ検索も実現されることになる。
特許検索システムのような大型システムでマルチアクセスが頻発する場合、情報検索機能を備えたメモリ101を2個ずつ用意し、交互にデータ転送する構成とすると、250μ秒の間に同時に25回同時アクセスが発生しても、データ検索時間を1秒丁度に保つことが可能になる。
もちろんのこと、並列度Nを倍の64にすれば0.5秒のデータ検索が可能になる。
本願発明は大量のセンサからのデータの更新が連続して発生するIoT(Internet of Things)のリアルタイム処理に最適である。
ビックデータの大量のデータの連続的な更新は従来型データベースで最も負担が多くリアルタイム処理が困難な分野である、従って多くの場合処理時間やシステムコストなど妥協点を探し出す以外方法はない。
この発明によればセンサからの情報を基に高速データ転送メモリ201のデータテーブルを直接更新するだけで良いのでシステムが極めて単純になり、システムの開発負担を大幅に軽減することができる。
最近のデータベースの潮流として入力される大量のデータを蓄積することなく、リアルタイムで必要な情報を読み取るストリーム型情報処理に注目が集まっている。
本願発明は、文献検索のような蓄積型データベースのみならずIoTなどのストリーム型情報処理の双方で実力を発揮することができる。
以上の情報検索機能を備えたメモリ101はFPGAに実装することも可能である。
また、CPUなどその他のLSIに情報検索機能を備えたメモリ101を組み込むことも、情報検索機能を備えたメモリ101と高速データ転送メモリ201をSoCやSiPとして同一のLSIに搭載しデータ検索LSI208とすることも可能である。
本願発明者による特願2015−116086、メモリ型プロセッサは、情報検索機能を備えたメモリの考え方を更に発展させデータの検索や解析のみならず数値演算を実現したものであり、データ検索機能にこのメモリ型プロセサが利用できることは言うまでもない。
この発明は、ビッグデータを低コストでしかも高速に検索、解析することができるので、文献検索、特許検索、ウエブ検索、個人情報データベース、業務用情報データベース、IoT情報処理システム、人工知能情報処理システム、以上を組合せしたあらゆる各種データベースやビッグデータのデータマイニング、データ解析に幅広く利用することが可能である。
またこの技術は情報処理の電力を大幅に抑制することが出来るのでICT機器の環境問題の解消に大きな意義をもち、この技術は新しい情報処理手法の一つになる。
100.メモリ
101.情報検索機能を備えたメモリ
102.記憶セル
103.ワード幅(レコード数)
104.ワードアドレス(検索索引アドレス)
105.論理演算器
106.演算結果出力
107.演算結果
110.(ワードアドレス)選択指定
111.演算指定
112.論理積
113.論理和
114.論理否定
115.排他論理
116.論理記憶
201.高速データ転送メモリ
202.データ転送機能
203.メタデータ
204.インデックス
205.データメンテナンス
206.データベース
207.データ検索装置
208.データ検索LSI
209.データテーブル
210.データ検索待ち時間

Claims (9)

  1. レコードとフィールドデータで構成されるデータテーブルを検索機能へデータ転送して、所定の検索条件を前記検索機能に与えることにより前記データテーブルから目的のレコードを検出する検索装置であって、
    前記検索機能は前記データテーブル以外のデータを参照することなく前記データテーブルから目的のレコードを検索出力し、(前記検索機能のデータ検索出力時間Ts)≪(データ転送時間Tt)、であることを特徴とするデータ検索装置。
  2. 前記データテーブルのデータ容量Dをn分割して前記検索機能へデータ転送する1バッチ当たりのデータ転送時間をTtnとし、前記検索機能はn回同一検索条件の前記データの検索出力を行い、1バッチ当たりのデータ検索出力時間をTsnとし、
    (データ検索待ち時間S)=(n回*データ転送時間Ttn)+(n回*データ検索出力時間Tsn)、と定義すると、
    前記データテーブルから前記検索機能への転送能力をTとすると前記n回*データ転送時間Ttnは概ねD/Tとなり、更に(前記n回*データ検索出力時間Tsn)≪(前記n回*データ転送時間Ttn)、とすることにより前記データ検索待ち時間Sは概ねD/Tであることを特徴とする請求項1記載のデータ検索装置。
  3. 前記データテーブルは高速データ転送機能を備えたメモリに記憶されたデータテーブルであって、前記検索機能は
    情報の読み出し書き込みが可能なメモリであって
    (1)このメモリは1ワードbit幅がnでNワードアドレス、つまりN*n bitの記憶セル構造とし
    (2)このメモリ全体に1組n bitの論理演算器
    (3)前記Nワードアドレスの中から繰り返し選択指定される前記1ワード bit幅がnの記憶セル情報を前記1組n bitの前記論理演算器に並列に入力(代入)し論理演算する機能
    (4)前記論理演算器の内容を出力する機能
    以上を具備するデータテーブルの情報検索機能を備えたメモリであることを特徴とする請求項2記載のデータ検索装置。
  4. 前記データテーブルを記憶した前記高速データ転送機能備えたメモリと前記情報検索機能を備えたメモリで構成される前記データ検索装置をN組み並列接続し前記データテーブルの検索を行うことを特徴とする請求項3記載のデータ検索装置。
  5. FPGAに実装された前記情報検索機能を備えたメモリを使用したことを特徴とする請求項3記載のデータ検索装置。
  6. 前記データ検索装置は
    1.文献検索
    2.特許検索
    3.ウエブ検索
    4.個人情報データベース
    5.業務用情報データベース
    6.インターネット オブ シングス(IoT)情報処理システム
    7.人工知能情報処理システム
    8.以上1から7が組合せされたシステム
    以上1から8記載の前記データテーブルを検索することを特徴とする請求項1記載のデータ検索装置。
  7. 前記データ検索装置は
    1.蓄積型データベース
    2.ストリーム型情報処理
    3.以上1と2が組合せされたシステム
    以上1から3記載の前記データテーブルを検索することを特徴とする請求項1記載のデータ検索装置。
  8. 前記高速転送機能を備えたメモリと前記情報検索機能を備えたメモリと、の双方を1つの半導体パッケージ内に実装したことを特徴とするデータ検索LSI。
  9. CPU等他のLSIの半導体パッケージ内に実装したことを特徴とする請求項8記載のデータ検索LSI。










JP2015145826A 2015-07-23 2015-07-23 データ検索装置、データ検索lsi。 Pending JP2018169636A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015145826A JP2018169636A (ja) 2015-07-23 2015-07-23 データ検索装置、データ検索lsi。
PCT/JP2016/071704 WO2017014322A1 (ja) 2015-07-23 2016-07-25 情報検出プロセッサ及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015145826A JP2018169636A (ja) 2015-07-23 2015-07-23 データ検索装置、データ検索lsi。

Publications (1)

Publication Number Publication Date
JP2018169636A true JP2018169636A (ja) 2018-11-01

Family

ID=57834885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015145826A Pending JP2018169636A (ja) 2015-07-23 2015-07-23 データ検索装置、データ検索lsi。

Country Status (2)

Country Link
JP (1) JP2018169636A (ja)
WO (1) WO2017014322A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4588114B1 (ja) * 2010-02-18 2010-11-24 克己 井上 情報絞り込み検出機能を備えたメモリ、その使用方法、このメモリを含む装置。
EP3091448A4 (en) * 2013-12-23 2017-12-06 Katsumi Inoue Memory equipped with information retrieval function, method for using same, device, and information processing method

Also Published As

Publication number Publication date
WO2017014322A1 (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
ES2699252T3 (es) Aparato de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de registro legible por ordenador
Lee et al. Application codesign of near-data processing for similarity search
TWI617928B (zh) 用於特徵搜尋之系統,裝置及方法
Kaldewey et al. Parallel search on video cards
Groh et al. Ggnn: Graph-based gpu nearest neighbor search
Ling et al. Design and implementation of a CUDA-compatible GPU-based core for gapped BLAST algorithm
JP6229024B2 (ja) 情報検索機能を備えたメモリ、その利用方法、装置、情報処理方法。
US10474690B2 (en) Disjunctive rule mining with finite automaton hardware
Barrientos et al. GPU-based exhaustive algorithms processing kNN queries
CN108268596B (zh) 搜索存储在存储器中的数据的方法和系统
Imani et al. CAP: Configurable resistive associative processor for near-data computing
US9135984B2 (en) Apparatuses and methods for writing masked data to a buffer
US9570125B1 (en) Apparatuses and methods for shifting data during a masked write to a buffer
US20230385258A1 (en) Dynamic random access memory-based content-addressable memory (dram-cam) architecture for exact pattern matching
Wu et al. DRAM-CAM: General-purpose bit-serial exact pattern matching
WO2016199808A1 (ja) メモリ型プロセッサ、メモリ型プロセッサを含んだ装置、その使用方法。
Walkowiak et al. Exploring utilisation of GPU for database applications
Böhm et al. Index-supported similarity join on graphics processors
JP2018169636A (ja) データ検索装置、データ検索lsi。
Lipovski et al. The dynamic associative access memory chip and its application to simd processing and full-text database retrieval
Peng et al. An energy efficient approach for C4. 5 algorithm using OpenCL design flow
CN113849453A (zh) 用片上高速缓存进行大规模相似性搜索
Lee et al. Application-driven near-data processing for similarity search
Vanderbauwhede et al. A hybrid CPU-FPGA system for high throughput (10Gb/s) streaming document classification
Sophoclis et al. A novel approach for indexing Arabic documents through GPU computing