(57)【要約】      （修正有）【課題】情報探しのアルゴリズムやそのメタデータを不要にして、ビッグデータのデータ検索を高速に行うデータ検索装置を提供する。【解決手段】情報を探すことが得意な情報検索機能を備えたメモリ１０１と、情報を高速で転送できる高速データ転送メモリ２０１を組み合わせし、システムに微少時間のデータ検索待ち時間を意図的に与えることにより、情報を探すためのメタデータ（インデックス）が不要でビッグデータに対応できる。【選択図】図２
2018169636.tif 000002
【特許請求の範囲】
【請求項１】
レコードとフィールドデータで構成されるデータテーブルを検索機能へデータ転送して、所定の検索条件を前記検索機能に与えることにより前記データテーブルから目的のレコードを検出する検索装置であって、
前記検索機能は前記データテーブル以外のデータを参照することなく前記データテーブルから目的のレコードを検索出力し、（前記検索機能のデータ検索出力時間Ｔｓ）≪（データ転送時間Tt）、であることを特徴とするデータ検索装置。
【請求項２】
前記データテーブルのデータ容量Ｄをｎ分割して前記検索機能へデータ転送する１バッチ当たりのデータ転送時間をＴｔｎとし、前記検索機能はｎ回同一検索条件の前記データの検索出力を行い、１バッチ当たりのデータ検索出力時間をＴｓｎとし、
（データ検索待ち時間Ｓ）＝（ｎ回＊データ転送時間Ｔｔｎ）＋（ｎ回＊データ検索出力時間Ｔｓｎ）、と定義すると、
前記データテーブルから前記検索機能への転送能力をＴとすると前記ｎ回＊データ転送時間Ｔｔｎは概ねＤ／Ｔとなり、更に（前記ｎ回＊データ検索出力時間Ｔｓｎ）≪（前記ｎ回＊データ転送時間Ｔｔｎ）、とすることにより前記データ検索待ち時間Ｓは概ねＤ／Ｔであることを特徴とする請求項１記載のデータ検索装置。
【請求項３】
前記データテーブルは高速データ転送機能を備えたメモリに記憶されたデータテーブルであって、前記検索機能は
情報の読み出し書き込みが可能なメモリであって
（１）このメモリは１ワードｂｉｔ幅がｎでＮワードアドレス、つまりＮ＊ｎ ｂｉｔの記憶セル構造とし
（２）このメモリ全体に１組ｎ ｂｉｔの論理演算器
（３）前記Ｎワードアドレスの中から繰り返し選択指定される前記１ワード ｂｉｔ幅がｎの記憶セル情報を前記1組ｎ ｂｉｔの前記論理演算器に並列に入力（代入）し論理演算する機能
（４）前記論理演算器の内容を出力する機能
以上を具備するデータテーブルの情報検索機能を備えたメモリであることを特徴とする請求項２記載のデータ検索装置。
【請求項４】
前記データテーブルを記憶した前記高速データ転送機能備えたメモリと前記情報検索機能を備えたメモリで構成される前記データ検索装置をＮ組み並列接続し前記データテーブルの検索を行うことを特徴とする請求項３記載のデータ検索装置。
【請求項５】
ＦＰＧＡに実装された前記情報検索機能を備えたメモリを使用したことを特徴とする請求項３記載のデータ検索装置。
【請求項６】
前記データ検索装置は
１．文献検索
２．特許検索
３．ウエブ検索
４．個人情報データベース
５．業務用情報データベース
６．インターネット  オブ  シングス（ＩｏＴ）情報処理システム
７．人工知能情報処理システム
８．以上１から７が組合せされたシステム
以上１から８記載の前記データテーブルを検索することを特徴とする請求項１記載のデータ検索装置。
【請求項７】
前記データ検索装置は
１．蓄積型データベース
２．ストリーム型情報処理
３．以上１と２が組合せされたシステム
以上１から３記載の前記データテーブルを検索することを特徴とする請求項１記載のデータ検索装置。
【請求項８】
前記高速転送機能を備えたメモリと前記情報検索機能を備えたメモリと、の双方を１つの半導体パッケージ内に実装したことを特徴とするデータ検索ＬＳＩ。
【請求項９】
ＣＰＵ等他のＬＳＩの半導体パッケージ内に実装したことを特徴とする請求項８記載のデータ検索ＬＳＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ検索装置、データ検索ＬＳＩに関する。
【背景技術】
【０００２】
我々が日常的に利用するコンピュータ（ノイマン型コンピュータ）は約７０年前、大砲の弾道を計算するなど高度で高速な数値演算を実現するために誕生した、その後数値演算処理以外様々な情報処理に応用出来ることが分かり様々な分野で利用され今日の情報処理社会が築き上げられたことは周知の事である。
【０００３】
このコンピュータアーキテクチャの宿命であるバスボトルネック問題はノイマン型コンピュータの完成当初より指摘されていたものの、半導体微細化技術の恩恵や様々な利用技術の積み重ねで放置されたままになっている。
【０００４】
従ってＣＰＵがメモリ上のデータを逐次読み取り情報処理する方法は７０年来何も変わっていない。バスボトルネックは情報処理の様々な場面で問題を生み出すがＣＰＵ、ＧＰＵなどの従来型プロサッサ（逐次処理プロセッサ）にとってメモリ上の情報を繰り返し探し出す処理つまり検索、照合、認識などの処理に対する影響が最も大きい。
【０００５】
ＣＰＵにとってメモリ上の情報（データ）は裏返しになったトランプのような存在である。従って、情報探しは１対のバスを介し逐次アドレスを照合しながら対象となるメモリ空間全体の情報探しを実行することになるので、極めて大きな時間と負担を伴う処理となる。１回だけの情報探しでも負担が大きいが、繰り返し、繰り返し、情報探しが必要である場合が大半である。
【０００６】
従って効率的に情報探し処理を行うためにはメモリ上の何処（＝アドレス）にどのような情報（値）が存在するかなどを事前に整理加工し、ＣＰＵの情報探しの時間と負担が軽減できるように基データとは別に情報探しのメタデータ（構造化データ）を用意する以外にない。
【０００７】
一般的なデータベースには、ハッシュテーブル、木アルゴリズム、バイナリーサーチ、転置インデックス、などの基本的なテクニックから関係データベース、データマイニング、さらにはリアルタイム処理が必要な画像認識にはＨａａｒ−Ｌｉｋｅ、ＥＯＧなどの様々な情報探しのアルゴリズムとそのメタデータが存在する。
【０００８】
然しながら情報探しにメタデータは、不可欠な存在であるものの情報探しのメタデータには大小様々な課題（副作用）が潜んでいる。
【０００９】
第１に、大量のメモリデータの中から目的の情報を効率的に探し出すためには、様々な知識と経験を積み上げた専門家が複雑難解なアルゴリズムとメタデータを駆使し情報処理せざるを得ない。
【００１０】
第２に、基データをもとにメタデータを事前に用意する必要があること、つまりそのための前処理時間が必要である。
【００１１】
第３に、一般的にメタデータは基データの数倍にも及ぶメモリ空間を必要とする場合も少なくない。
【００１２】
第４に、基データが変更、修正、追加される度にメタデータの修正をする必要がある。
【００１３】
第５に、インデックスなどのメタデータを使い過ぎるとシステムのパフォーマンスが極端に劣化する。
【００１４】
例えば、データの順序を入れ替える場合などはデータ全体を並び替えする必要があり、バックグラウンド処理で四六時中データメンテナンスを繰り返す必要がある。従ってインデックスなどのメタデータの数が多すぎると、バックグラウンド処理の負担が大きくなるのでシステムが重くなりシステム全体のパフォーマンスが著しく悪くなる。
【００１５】
以上のようにメタデータは果てしない副作用を抱えておりシステム毎に専門家が妥協点を見出し解決する以外ない。大量のデータが氾濫するビッグデータ社会のコンピュータの利用技術（ソフトウエア）はますます複雑難解で専門家以外手が出せないものばかりである。
【００１６】
以上のバスボトルネック問題は、ＣＰＵやＧＰＵの性能や並列度がいくら向上しても避けて通ることが出来ない深刻な問題である。従って半導体微細化技術の限界も間近に迫りこれまでの性能や並列度の向上が期待できない今日、検索、照合、認識などをより高速でより精度よく情報処理を単純化できる新しいハードウエアアーキテクチャが期待されている。
【００１７】
このような背景から本願発明者は情報探しのボトルネックを本質的に解決するには、「探し出す情報を記憶したメモリ自らが情報を探さないで見つける以外にない」との仮説を立て（Search-Less Information Detection）、これまで情報処理の概念に捕らわれない新しい発想のハードウエアアーキテクチャ、メモリ型プロセッサを提案し研究開発を行ってきた。
【００１８】
本願発明者による特許第４５８８１１４、情報絞り込み検出機能を備えたメモリ、は画像や音声などストリーム型のデータの検出を超高速で実現するものである。
【００１９】
同じく出願番号２０１３−２６４７６３、情報検索機能を備えたメモリ、はデータベースの中から特定のデータを超高速で実現するものであり、本願発明の元になる発明である。
また、特願２０１５−１１６０８６、メモリ型プロセッサは、以上の情報検索機能を備えたメモリの考え方を更に発展させ数値演算を実現したものである。
【００２０】
これまでの先願調査では本願発明のようにメタデータを用いることなく高速なデータテーブルの検索をすることを目的とした技術は見当たらない、特願２００７−３２１６８９、データ検索装置、データ検索方法、はメタデータとしてハッシュテーブルを用いてデータ検索を高速化するものであり、メタデータを用いて高速化を図る発明の代表例である。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特許第４５８８１１４号
【特許文献２】特願２０１３−２６４７６３
【特許文献３】特願２００７−３２１６８９
【発明の概要】
【発明が解決しようとする課題】
【００２２】
ビッグデータの場合一般的な考え方では、特願２０１３−２６４７６３による情報検索機能を備えたメモリ１０１は大容量でないと利用できない。
少容量の情報処理容量の情報検索機能を備えたメモリ１０１であっても情報探しのアルゴリズムやそのメタデータを不要にして、ビッグデータのデータ検索を高速に行いたい、また小型、省電力のビッグデータのデータ検索装置を実現したい。
【課題を解決するための手段】
【００２３】
請求項１では
レコードとフィールドデータで構成されるデータテーブルを検索機能へデータ転送して、所定の検索条件を前記検索機能に与えることにより前記データテーブルから目的のレコードを検出する検索装置であって、
前記検索機能は前記データテーブル以外のデータを参照することなく前記データテーブルから目的のレコードを検索出力し、（前記検索機能のデータ検索出力時間Ｔｓ）≪（データ転送時間Tt）、であることを特徴とする。
【００２４】
請求項２では
前記データテーブルのデータ容量Ｄをｎ分割して前記検索機能へデータ転送する１バッチ当たりのデータ転送時間をＴｔｎとし、前記検索機能はｎ回同一検索条件の前記データの検索出力を行い、１バッチ当たりのデータ検索出力時間をＴｓｎとし、
（データ検索待ち時間Ｓ）＝（ｎ回＊データ転送時間Ｔｔｎ）＋（ｎ回＊データ検索出力時間Ｔｓｎ）、と定義すると、
前記データテーブルから前記検索機能への転送能力をＴとすると前記ｎ回＊データ転送時間Ｔｔｎは概ねＤ／Ｔとなり、更に（前記ｎ回＊データ検索出力時間Ｔｓｎ）≪（前記ｎ回＊データ転送時間Ｔｔｎ）、とすることにより前記データ検索待ち時間Ｓは概ねＤ／Ｔであることを特徴とする。
【００２５】
請求項３では
前記データテーブルは高速データ転送機能を備えたメモリに記憶されたデータテーブルであって、前記検索機能は
情報の読み出し書き込みが可能なメモリであって
（１）このメモリは１ワードｂｉｔ幅がｎでＮワードアドレス、つまりＮ＊ｎ ｂｉｔの記憶セル構造とし
（２）このメモリ全体に１組ｎ ｂｉｔの論理演算器
（３）前記Ｎワードアドレスの中から繰り返し選択指定される前記１ワード ｂｉｔ幅がｎの記憶セル情報を前記1組ｎ ｂｉｔの前記論理演算器に並列に入力（代入）し論理演算する機能
（４）前記論理演算器の内容を出力する機能
以上を具備するデータテーブルの情報検索機能を備えたメモリであることを特徴とする。
【００２６】
請求項４では
前記データテーブルを記憶した前記高速データ転送機能備えたメモリと前記情報検索機能を備えたメモリで構成される前記データ検索装置をＮ組み並列接続し前記データテーブルの検索を行うことを特徴とする。
【００２７】
請求項５では
ＦＰＧＡに実装された前記情報検索機能を備えたメモリを使用したことを特徴とする。
【００２８】
請求項６では
前記データ検索装置は
１．文献検索
２．特許検索
３．ウエブ検索
４．個人情報データベース
５．業務用情報データベース
６．インターネット  オブ  シングス（ＩｏＴ）情報処理システム
７．人工知能情報処理システム
８．以上１から７が組合せされたシステム
以上１から８記載の前記データテーブルを検索することを特徴とする。
【００２９】
請求項７では
前記データ検索装置は
１．蓄積型データベース
２．ストリーム型情報処理
３．以上１と２が組合せされたシステム
以上１から３記載の前記データテーブルを検索することを特徴とする。
【００３０】
請求項８では
前記高速転送機能を備えたメモリと前記情報検索機能を備えたメモリと、の双方を１つの半導体パッケージ内に実装したことを特徴とする。
【００３１】
請求項９では
ＣＰＵ等他のＬＳＩの半導体パッケージ内に実装したことを特徴とする。
【図面の簡単な説明】
【００３２】
【図１】図１は、情報検索機能を備えたメモリの構成図である。
【図２】図２は、情報検索機能を備えたメモリによる本発明の構成概要である。（実施例１）
【発明を実施するための形態】
【００３３】
図１は情報検索機能を備えたメモリ１０１の概要を示すものである。
本図においてアドレスデコーダやデータバスなどの機能回路は省略されており、このメモリ１０１に自由に情報データが書き込み読み出し可能構成で、１ワードがｎ ｂｉｔの幅１０３で、Ｎのワードアドレス（検索索引アドレス）１０４を持つ、Ｎ×ｎ ｂｉｔセルからなる記憶セル１０２からなり立っており、外部から１からＮまでのワードアドレス（検索索引アドレス）１０４を選択指定１１０可能になっている。
【００３４】
１ワードｎ ｂｉｔの幅１０３はデータベースのレコード数（ｎ）に相当し、１レコードが縦列に配列され、ワードアドレス（検索索引アドレス）１０４のＮは１レコードのフィールドに相当する構造と考えると理解しやすい、つまり、このメモリは、１レコードがＮｂｉｔでｎレコードのデータテーブルとなっている。
【００３５】
このメモリの行方向（本図では横方向）にワードアドレス（検索索引アドレス）１０４で選択指定１１０される、ｎｂｉｔの記憶セル１０２と並列に設けられた論理演算器１０５は、選択指定１１０されるワードアドレス（検索索引アドレス）１０４の記憶セル１０２ｂｉｔ毎に論理記憶１１６が可能な回路と、論理積１１２、論理和１１３、論理否定（ＮＯＴ）１１４、排他論理１１６ならびにその組合せが自由に指定できる構成となっている。
【００３６】
またこの論理演算器１０５の演算結果を出力するためプライオリティアドレスエンコーダ出力回路などの演算結果出力１０６機能が備えられている。
このメモリの大半はメモリセルそのものであり、そのごく一部のみが論理演算器１０５ならびに演算結果出力１０６機能であるので、一般メモリの微小エリアにこれらの機能を組み込みすることによりデータベースに利用可能な大容量のメモリとすることが出来る。
【００３７】
以上が情報検索機能を備えたメモリ１０１の概要であり、このメモリは記憶されたレコードとそのデータフィールドで構成されるデータテーブル２０９をインデックスなどのメタデータを参照することなく超高速でレコード検索することが可能なメモリ１０１である。
【００３８】
通常データベース２０６は最も基本となるデータテーブル２０６と、そのデータテーブル２０６を高速で検索するためのインデックス２０４などのメタデータが一体になったデータ群で構成されるが、このメモリ１０１は、データテーブル２０９だけがあればよい、つまりメタデータ２０３が不要になることが最大の特徴である。
【００３９】
メタデータを不要とする情報の検索に連想メモリ（CAM）があるが、連想メモリの場合、インターネットアドレスなどユニークデータの検索は得意であるものの、このメモリ１０１のように、論理和や論理積、論理否定を組合せデータテーブル２０９のフィールドデータの複雑な検索演算を行い目的とするレコードを検出するようなことは出来ない。
【００４０】
このメモリ１０１の操作方法や文献検索の応用例など詳しくは、特願２０１３−２６４７６３の本文を参照されたい。
【００４１】
通常のデータベース２０６であれば、基になるデータテーブル２０９をもとに様々なメタデータ作成プログラムを用意しインデックス２０４などのメタデータ２０３を作成し十分な検索能力となるまでデバックやチューニング作業を行い、一定の検索性能が確認できるようになるまでデータ検索をすることが出来ない。
この時間はデータベース２０６の容量にもよるが１ＴＢ程度のデータテーブル２０９となると最低でも数時間、場合によっては数日から数週間を費やす必要がある。
【００４２】
また、作成されるメタデータ２０３のデータ容量も基になるデータテーブル２０９の数倍にも及ぶ場合が一般的でメモリ効率が悪化する。
いくらメモリが大容量化してメモリの単価が下がってもビッグデータのメタデータ２０３のメモリコストはシステム全体の大きな比重を占めることになる。
【００４３】
通常は以上のようなメタデータ２０３の準備が完了して、ようやく検索が可能になるのに比較して、この情報検索機能を備えたメモリ１０１は、検索のためのインデックス２０４などのメタデータ２０３が全く不要で、データベース２０６の基になるデータテーブル２０９さえ準備出来ればこのデータテーブル２０９をこのメモリ１０１に記憶するだけで、直ちに知りたい情報を探し出すことが出来るのが特徴である。
【００４４】
また基データが変更、追加、削除される度にメタデータをデータメンテナンス２０５する必要がありメタデータ２０３の種類が多いと多大な処理時間が掛り、システムのパフォーマンスが大幅に劣化することはデータベース業界の常識である。
【００４５】
仮にデータテーブル２０９の容量が１ＴＢの場合この情報検索機能を備えたメモリ１０１のデータテーブル２０９の構成は
レコード数が１Ｋ（１０００）の場合、検索索引アドレス数が８Ｇ（８Gｂｉｔのデータフィールド）
レコード数が１０Ｋ（１万）の場合、検索索引アドレス数が８００Ｍ（８００Ｍｂｉｔのデータフィールド）
レコード数が１００Ｋ（１０万）の場合、検索索引アドレス数が８０Ｍ（８０Ｍｂｉｔのデータフィールド）
レコード数が１Ｍ（１００万）の場合、検索索引アドレス数が８Ｍ（８Ｍｂｉｔのデータフィールド）
レコード数が１０Ｍ（１０００万）の場合、検索索引アドレス数が８００Ｋ（８００Ｋｂｉｔのデータフィールド）
レコード数が１００Ｍ（１億）の場合、検索索引アドレス数が８０Ｋ（８０Kｂｉｔのデータフィールド）
レコード数が１Ｇ（１０億）の場合、検索索引アドレス数が８Ｋ（８Ｋｂｉｔのデータフィールド）
レコード数が１０Ｇ（１００億）の場合、検索索引アドレス数が８００（８００ｂｉｔのデータフィールド）
以上のように様々なレコード数１０３と、検索索引アドレス数１０４のデータテーブル２０９が実現できる。
【００４６】
本願特許では１ＴＢのデータベースを我々に馴染み深い特許検索の例で説明する。
詳しくは後述する。
【００４７】
一方情報検索機能を備えたメモリ１０１はＳＲＡＭ方式の場合比較的安価に開発することが出来るが、データ容量の大きなＤＲＡＭやＦＬＡＳＨメモリの場合開発費が膨大になり製品化が困難である。
【００４８】
ＳＲＡＭの場合、データ記憶容量が小さいのでビックデータを処理するのには大量の情報検索機能を備えたメモリ１０１を必要とする。
例えば、８ＭＢ（６４Ｍｂｉｔ）のＳＲＡＭの場合、１ＴＢのデータベース全部を記憶するとなると、１２５Ｋ（１２万５０００）個もの情報検索機能を備えたメモリ１０１を用意する必要があり現実的ではない。
【００４９】
しかながら以下に説明する本願発明の方式を用いればこのように大量の情報検索機能を備えたメモリ１０１を用意することなく極めて効果的で、高速なデータ検索装置が可能になる。
【実施例１】
【００５０】
図２は情報検索機能を備えたメモリによる本発明の構成概要である。
図に示すように１組のデータ検索装置２０７は高速データ転送メモリ２０１と、データ転送機能２０２と、情報検索機能を備えたメモリ１０１で構成されている。
高速データ転送メモリ２０１のデータはデータ転送機能２０２を通じて情報検索機能を備えたメモリ１０１に転送される。
【００５１】
情報検索機能を備えたメモリ１０１には外部から与えられるアドレス選択指定１１０ならびに演算指定１１１によって、情報検索機能を備えたメモリ１０１に記憶されたデータテーブル２０９を検索し目的とするレコード１０３を検出し、その演算結果が出力１０６から出力される構成となっている。
【００５２】
一例として１つの高速データ転送メモリ２０１の記憶容量（Ｄ）を３２ＧＢとし、データ転送能力（Ｔ）を３２ＧＢ／秒とすると、言うまでもなく高速データ転送メモリ２０１全体のデータを転送する時間（Ｔｔ）は１秒である。
【００５３】
一方情報検索機能を備えたメモリ１０１が８ＭＢ（６４Ｍｂｉｔ）のデータテーブル容量を持つ場合、３２ＧＢのデータテーブル２０９データを５１２回（ｎ回）に分割して、図に示すデータ１からｎまで８ＭＢ（６４Ｍｂｉｔ）毎に順番にバッチ転送する、１バッチのデータ転送時間（Ｔｔｎ）は約２ｍ秒である。
【００５４】
１バッチデータ転送完了後、情報検索機能を備えたメモリ１０１は、外部から与えられたアドレス選択指定１１０ならびに演算指定１１１によって、メモリ１０１内部で検索演算を行い、その結果１０７が演算結果出力１０６から出力される。
【００５５】
この演算条件を与えてから出力を完了させるまでのデータ検索時間（Ｔｓｎ）は情報検索機能を備えたメモリ１０１のクロック速度を比較的低速な１０ｎ秒とした場合でも、検索条件が高度な演算命令であっても１μ秒以内、実際の演算時間も１μあれば十分である、演算結果検出したレコードの出力時間は検出したレコードの数に比例するので変動要因となるもののすべての合計時間（Ｔｓｎ）は最大でも１００μ秒程度である。
このデータ検索時間（Ｔｓｎ）の１００μ秒は先に示したデータ転送時間（Ｔｔｎ）の約２ｍ秒に対して５％程度である。
【００５６】
以上を５１２バッチ繰り返し実行すれば３２ＧＢのデータベース２０６全体の検索が完了する。
【００５７】
以上のように幾つかのデータに分割して送る場合、毎回の転送開始時のオーバヘッドがあるものの８ＭＢの１バッチ当たりのデータ転送時間に比較して転送開始時のオーバヘッドは極めて短時間であるので、この場合のデータ転送時間（Ｔｔｎ）のｎ回の合計はほぼ１秒である。
【００５８】
一方データの検索に関わる時間（Ｔｓｎ）のｎ回の合計は１００μ秒＊５１２≒５０ｍ秒程度となる、従って（ｎ回＊データ検索出力時間Ｔｓｎ）＋（ｎ回＊データ転送時間Ｔｔｎ）＝１．０５秒がデータの検索待ち時間（Ｓ）２１０となる。
【００５９】
この方式のデータ検索待ち時間（Ｓ）２１０はデータの転送時間が支配的で実質的にデータの実際のデータ検索時間は無視される程度であることが最大の特徴である。
【００６０】
つまりこの方式の演算装置２０７の１組の演算装置の構成は、データベースであるデータテーブル２０９のデータ容量（Ｄ）が３２ＧＢで、データテーブル２０９から検索機能へのデータ転送能力（Ｔ）が３２ＧＢ／秒であるので、データ検索待ち時間（Ｓ）＝Ｄ／Ｔが概ね１秒となっている。
【００６１】
本例では以上のデータ検索装置２０７がＮ組並列接続されており、全体がデータ検索装置２０７となっている。
仮にＮが３２組の場合データテーブル２０９全体の容量は１ＴＢとなり、データ検索待ち時間２１０は完全並列であるので上記同様概ね１秒である。
以上のように本方式は並列度に比例したデータベース容量となり、データベース容量が幾ら大きくなってもデータ検索待ち時間２１０は概ね１秒を保証することができる。
【００６２】
通常１秒程度のデータ検索待ち時間２１０は利用者に違和感を与えるものではないが、システムの目的や必要に応じてデータ検索待ち時間２１０を更に短縮することも長くすることも、以上の考え方をもとに自由にシステム構成することができる。
【００６３】
以上説明の大容量で高速データ転送が可能なメモリ２０１は例えば同期式ＤＲＡＭ（ＳＤＲＡＭ）で容易に実現できる。
ＳＤＲＡＭは様々な規格があるが、現在市場に出回っているＤＤＲ４規格のＳＤＲＡＭの最高転送速度は３４．１ＧＢ／秒であり、ＳＤＲＡＭは今後更に高速化され、大容量化される。
これに比例して本願発明のデータ検索装置２０７の性能がアップすることになる。
【００６４】
この発明は、情報検索機能を備えたメモリ１０１は超高速な検索性能を持つので、繰り返し検索を行っても合計データ検索時間は短時間ですむことに注目し、データサイズ（D）とデータ転送能力（T）で定まる微少時間のデータの検索待ち時間２１０を意図的に許容することにより、ビッグデータでもシステムを大型化、高コスト化することなく最効率のシステムを提供することを目的としたものである。
【００６５】
以下にビックデータの一例として特許文献検索などの文献検索の例を示す。
特許庁が一般向けに公開している特許情報プラットホームには、特許・実用新案、意匠、商標の３つがデータ検索可能になっており、その内特許文献は約１２００万件登録されている。
そのキーワド検索の検索待ち時間はおよそ４秒程度である。
【００６６】
一般的な文献（テキスト）の検索のような場合、検索索引（インデックス）は文法のルールにもとづく形態素解析と、機械的に文字列を分断して検索索引とする場のＮ-Ｇｒａｍ方式が代表的である。
２文字ごとに文字列を分断して検索索引とする２−Ｇｒａｍの場合、利用される文字が３０００とすると単純計算の場合その組み合わせは９Ｍの多大な検索索引数になる。
然しながら全ての文字の組み合わせを考慮する必要はなく、通常５００Ｋから６Ｏ０Ｋ程度の検索索引があれば実現可能である。
【００６７】
検索索引数を５１２Kとした場合、１２００万（１２Ｍ）レコード×５１２K＝６，１４４Tｂｉｔ＝０．７６８TBのデータテーブル２０９となる。
【００６８】
仮に８ＭＢの情報検索機能を備えたメモリ１０１を利用し以上の文献検出を行う場合、８ＭＢ＝６４Ｍｂｉｔの情報処理容量を、５１２Ｋの検索索引アドレス１０４*１２８レコード１０３、の行列構成の情報検索機能を備えたメモリ１０１の構成として、１バッチのデータも８ＭＢデータとすればよい。
【００６９】
以上の情報検索機能を備えたメモリ１０１を３２チップ用意し、先に示した方法でデータ検索装置を作れば特許文献検索システムの基幹部分が完成する。
データテーブル２０９の１TBに対する残り０．２３２TBに新規特許文献１４８万件を追加登録可能である。
【００７０】
これまでの説明は特許文献の検索システムなど極めて大きな基幹システムの一番重要な心臓部分を３２ＧＢのＤＤＲ４メモリと３２個と、８ＭＢの情報検索機能を備えたメモリ１０１を３２個と、１個の低消費電力のＣＰＵで実現することが可能である。
このようなメモリが主体の回路構成であれば基板１枚で実現することが可能であることを意味している。
【００７１】
複雑なメタデータ２０６やそのアルゴリズムを用意する必要がないので、システム構成が極めて単純で小型化され、省電力化され、システム開発費用を大幅に抑えることが可能になる。
このシステムの考え方は特許文献に限らずインターネット検索システム等に共通である。
【００７２】
本例では比較的開発費用が低価格なＳＲＡＭ方式のメモリ１０１で説明を行ったが、更にデータテーブル容量の大きなＤＲＡＭ型メモリ１０１やＦＬＡＳＨ型メモリ１０１とすることにより更に効率のよいシステムを構築することができることは言うまでもない。
【００７３】
以上のような文献検索やネット検索データベースを構築する場合、所定の検索待ち時間に対する文献数（レコード数）当たりのシステムコストを判定しシステム評価するとよい。
このような評価尺度で考えるとこの方式は、従来のいずれの方式よりコストパフォマンスが高いシステムとなる。
【００７４】
以上ような文献検索やインタネット検索データベースはアドレス１０４が大きくレコード１０３が少ない縦長のデータベースであるが、情報検索機能を備えたメモリ１０１は原則的に、先の述べたように任意のレコード数１０３と検索索引アドレス１０４の構成とすることができ、どのような行列数のデータテーブル２０９であっても以上の説明の原則が成り立つ。
【００７５】
通常１ＴＢのような大きなデータテーブル２０９を高速検索する場合、経験を積んだ多くのベテラン専門家を集め、インメモリデータベースシステムとして、様々なアルゴリズムやメタデータを駆使し、極めて大掛かりなシステム構成としないと１秒程度の検索時間を保障することは困難である。
【００７６】
通常のデータベース２０６はデータベースの以上のような専門家が様々なアルゴリズムを検討してシステムに最適なメタデータを作成し様々なデバックやチューニングを行い、その結果で最終性能が決まるものである。
物足りない結果となる場合も少なくない。
【００７７】
また、基データの変更、追加、削除が発生する度にメタデータをデータメンテナンス２０５する必要があり、メタデータの種類が多いとデータメンテナンス２０５に大きな負担がかかりシステムが重くなる。
これらのメタデータの問題は、ＣＰＵやＧＰＵの性能がいくら向上しても、メモリとのバスボトルネックがある限り避けて通ることが出来ない深刻な問題である。
【００７８】
この方式の特徴は、特段のデータベースの専門家でなくともデータ検索時間などシステムの性能を完成前に決定できることにある、またデータメンテナンス２０５は基データベース２０６が記憶された高速データ転送メモリ２０１のみのデータを変更、追加、削除するだけでよいので超高速な更新が可能になる。
【００７９】
このような情報処理が出来るのも、情報検索機能を備えたメモリ１０１が超高速な検索演算を実現できること、情報検索機能を備えたメモリ１０１はメタデータ２０３を必要としないのでメタデータ２０３の様々な副作用の影響を受けないこと、さらには高速なデータ転送が出来る大容量のメモリが低コストで入手できるからに他ならない。
【００８０】
１ＴＢのデータテーブル２０９を情報検索機能を備えたメモリ１０１を従来型の利用方法であるインメモリ型（データテーブル２０９は固定する考え方）で利用する場合、１２５Ｋ（１２万５０００）ものメモリ１０１が必要であるのに対し、５１２回のバッチ処理を行うことにより３２個のメモリ１０１と１TＢのデータメモリだけで済むことを考えると、本願発明はシステム構成を大幅に圧縮しシステム効率を挙げていることが理解できる。
【００８１】
繰り返しになるがこの発明は、１秒程度の微少時間データの検索待ち時間２１０をシステムに許容することにより、システムの効率を最大限とすることを意図したものである。
【００８２】
言うまでもなく、この基板を複数並列接続すれば、データベース２０６の容量を拡張することも、検索演算時間を短縮することも自由である。
【００８３】
以下に本システムを利用する上でポイントとなることを示す。
【００８４】
情報検索機能を備えたメモリ１０１の情報処理容量が１ＭＢ以下など極端に小さい場合、演算時間が無視できなくなるので転送速度と演算速度のバランスを考え、演算時間が遅くなる分並列度Ｎを増やすことにより、全体の性能を向上させることができる。
【００８５】
バッチ処理は検索トランザクションが発生した時点で、データ１から順番にバッチ処理開始することが出来る、以上の場合検索がない場合データ転送をする必要がないので、装置の電力を抑制することが出来る。
始終多重（マルチ）検索が発生する場合、バッチ処理をループ状に繰り返しておけばどのバッチで検索を開始した場合にも全てのバッチ処理が１秒程度完了し、データ検索も実現されることになる。
【００８６】
特許検索システムのような大型システムでマルチアクセスが頻発する場合、情報検索機能を備えたメモリ１０１を２個ずつ用意し、交互にデータ転送する構成とすると、２ｍ秒の間に同時に２０回同時アクセスが発生しても、データ検索時間を１秒丁度に保つことが可能になる。
もちろんのこと、並列度Ｎを倍の６４にすれば０．５秒のデータ検索が可能になる。
【００８７】
本願発明は大量のセンサからのデータの更新が連続して発生するＩｏT（Internet of Things）のリアルタイム処理に最適である。
ビックデータの大量のデータの連続的な更新は従来型データベースで最も負担が多くリアルタイム処理が困難な分野である、従って多くの場合処理時間やシステムコストなど妥協点を探し出す以外方法はない。
【００８８】
この発明によればセンサからの情報を基に高速データ転送メモリ２０１のデータテーブルを直接更新するだけで良いのでシステムが極めて単純になり、システムの開発負担を大幅に軽減することができる。
【００８９】
最近のデータベースの潮流として入力される大量のデータを蓄積することなく、リアルタイムで必要な情報を読み取るストリーム型情報処理に注目が集まっている。
本願発明は、文献検索のような蓄積型データベースのみならずＩｏＴなどのストリーム型情報処理の双方で実力を発揮することができる。
【００９０】
以上の情報検索機能を備えたメモリ１０１はＦＰＧＡに実装することも可能である。
また、ＣＰＵなどその他のＬＳＩに情報検索機能を備えたメモリ１０１を組み込むことも、情報検索機能を備えたメモリ１０１と高速データ転送メモリ２０１をＳｏＣやＳｉＰとして同一のＬＳＩに搭載しデータ検索ＬＳＩ２０８とすることも可能である。
【００９１】
本願発明者による特願２０１５−１１６０８６、メモリ型プロセッサは、情報検索機能を備えたメモリの考え方を更に発展させデータの検索や解析のみならず数値演算を実現したものであり、データ検索機能にこのメモリ型プロセサが利用できることは言うまでもない。
【産業上の利用可能性】
【００９２】
この発明は、ビッグデータを低コストでしかも高速に検索、解析することができるので、文献検索、特許検索、ウエブ検索、個人情報データベース、業務用情報データベース、ＩｏＴ情報処理システム、人工知能情報処理システム、以上を組合せしたあらゆる各種データベースやビッグデータのデータマイニング、データ解析に幅広く利用することが可能である。
【００９３】
またこの技術は情報処理の電力を大幅に抑制することが出来るのでＩＣＴ機器の環境問題の解消に大きな意義をもち、この技術は新しい情報処理手法の一つになる。
【符号の説明】
【００９４】
１００．メモリ
１０１．情報検索機能を備えたメモリ
１０２．記憶セル
１０３．ワード幅（レコード数）
１０４．ワードアドレス（検索索引アドレス）
１０５．論理演算器
１０６．演算結果出力
１０７．演算結果
１１０．（ワードアドレス）選択指定
１１１．演算指定
１１２．論理積
１１３．論理和
１１４．論理否定
１１５．排他論理
１１６．論理記憶  
２０１．高速データ転送メモリ
２０２．データ転送機能
２０３．メタデータ
２０４．インデックス
２０５．データメンテナンス
２０６．データベース
２０７．データ検索装置
２０８．データ検索ＬＳＩ
２０９．データテーブル
２１０．データ検索待ち時間
【図１】
2018169636.tif 000003
【図２】
2018169636.tif 000004
【手続補正書】
【提出日】平成27年7月29日(2015.7.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ検索装置、データ検索ＬＳＩに関する。
【背景技術】
【０００２】
我々が日常的に利用するコンピュータ（ノイマン型コンピュータ）は約７０年前、大砲の弾道を計算するなど高度で高速な数値演算を実現するために誕生した、その後数値演算処理以外様々な情報処理に応用出来ることが分かり様々な分野で利用され今日の情報処理社会が築き上げられたことは周知の事である。
【０００３】
このコンピュータアーキテクチャの宿命であるバスボトルネック問題はノイマン型コンピュータの完成当初より指摘されていたものの、半導体微細化技術の恩恵や様々な利用技術の積み重ねで放置されたままになっている。
【０００４】
従ってＣＰＵがメモリ上のデータを逐次読み取り情報処理する方法は７０年来何も変わっていない。バスボトルネックは情報処理の様々な場面で問題を生み出すがＣＰＵ、ＧＰＵなどの従来型プロサッサ（逐次処理プロセッサ）にとってメモリ上の情報を繰り返し探し出す処理つまり検索、照合、認識などの処理に対する影響が最も大きい。
【０００５】
ＣＰＵにとってメモリ上の情報（データ）は裏返しになったトランプのような存在である。従って、情報探しは１対のバスを介し逐次アドレスを照合しながら対象となるメモリ空間全体の情報探しを実行することになるので、極めて大きな時間と負担を伴う処理となる。１回だけの情報探しでも負担が大きいが、繰り返し、繰り返し、情報探しが必要である場合が大半である。
【０００６】
従って効率的に情報探し処理を行うためにはメモリ上の何処（＝アドレス）にどのような情報（値）が存在するかなどを事前に整理加工し、ＣＰＵの情報探しの時間と負担が軽減できるように基データとは別に情報探しのメタデータ（構造化データ）を用意する以外にない。
【０００７】
一般的なデータベースには、ハッシュテーブル、木アルゴリズム、バイナリーサーチ、転置インデックス、などの基本的なテクニックから関係データベース、データマイニング、さらにはリアルタイム処理が必要な画像認識にはＨａａｒ−Ｌｉｋｅ、ＥＯＧなどの様々な情報探しのアルゴリズムとそのメタデータが存在する。
【０００８】
然しながら情報探しにメタデータは、不可欠な存在であるものの情報探しのメタデータには大小様々な課題（副作用）が潜んでいる。
【０００９】
第１に、大量のメモリデータの中から目的の情報を効率的に探し出すためには、様々な知識と経験を積み上げた専門家が複雑難解なアルゴリズムとメタデータを駆使し情報処理せざるを得ない。
【００１０】
第２に、基データをもとにメタデータを事前に用意する必要があること、つまりそのための前処理時間が必要である。
【００１１】
第３に、一般的にメタデータは基データの数倍にも及ぶメモリ空間を必要とする場合も少なくない。
【００１２】
第４に、基データが変更、修正、追加される度にメタデータの修正をする必要がある。
【００１３】
第５に、インデックスなどのメタデータを使い過ぎるとシステムのパフォーマンスが極端に劣化する。
【００１４】
例えば、データの順序を入れ替える場合などはデータ全体を並び替えする必要があり、バックグラウンド処理で四六時中データメンテナンスを繰り返す必要がある。従ってインデックスなどのメタデータの数が多すぎると、バックグラウンド処理の負担が大きくなるのでシステムが重くなりシステム全体のパフォーマンスが著しく悪くなる。
【００１５】
以上のようにメタデータは果てしない副作用を抱えておりシステム毎に専門家が妥協点を見出し解決する以外ない。大量のデータが氾濫するビッグデータ社会のコンピュータの利用技術（ソフトウエア）はますます複雑難解で専門家以外手が出せないものばかりである。
【００１６】
以上のバスボトルネック問題は、ＣＰＵやＧＰＵの性能や並列度がいくら向上しても避けて通ることが出来ない深刻な問題である。従って半導体微細化技術の限界も間近に迫りこれまでの性能や並列度の向上が期待できない今日、検索、照合、認識などをより高速でより精度よく情報処理を単純化できる新しいハードウエアアーキテクチャが期待されている。
【００１７】
このような背景から本願発明者は情報探しのボトルネックを本質的に解決するには、「探し出す情報を記憶したメモリ自らが情報を探さないで見つける以外にない」との仮説を立て（Search-Less Information Detection）、これまで情報処理の概念に捕らわれない新しい発想のハードウエアアーキテクチャ、メモリ型プロセッサを提案し研究開発を行ってきた。
【００１８】
本願発明者による特許第４５８８１１４、情報絞り込み検出機能を備えたメモリ、は画像や音声などストリーム型のデータの検出を超高速で実現するものである。
【００１９】
同じく出願番号２０１３−２６４７６３、情報検索機能を備えたメモリ、はデータベースの中から特定のデータを超高速で実現するものであり、本願発明の元になる発明である。
また、特願２０１５−１１６０８６、メモリ型プロセッサは、以上の情報検索機能を備えたメモリの考え方を更に発展させ数値演算を実現したものである。
【００２０】
これまでの先願調査では本願発明のようにメタデータを用いることなく高速なデータテーブルの検索をすることを目的とした技術は見当たらない、特願２００７−３２１６８９、データ検索装置、データ検索方法、はメタデータとしてハッシュテーブルを用いてデータ検索を高速化するものであり、メタデータを用いて高速化を図る発明の代表例である。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特許第４５８８１１４号
【特許文献２】特願２０１３−２６４７６３
【特許文献３】特願２００７−３２１６８９
【発明の概要】
【発明が解決しようとする課題】
【００２２】
ビッグデータの場合一般的な考え方では、特願２０１３−２６４７６３による情報検索機能を備えたメモリ１０１は大容量でないと利用できない。
少容量の情報処理容量の情報検索機能を備えたメモリ１０１であっても情報探しのアルゴリズムやそのメタデータを不要にして、ビッグデータのデータ検索を高速に行いたい、また小型、省電力のビッグデータのデータ検索装置を実現したい。
【課題を解決するための手段】
【００２３】
請求項１では
レコードとフィールドデータで構成されるデータテーブルを検索機能へデータ転送して、所定の検索条件を前記検索機能に与えることにより前記データテーブルから目的のレコードを検出する検索装置であって、
前記検索機能は前記データテーブル以外のデータを参照することなく前記データテーブルから目的のレコードを検索出力し、（前記検索機能のデータ検索出力時間Ｔｓ）≪（データ転送時間Tt）、であることを特徴とする。
【００２４】
請求項２では
前記データテーブルのデータ容量Ｄをｎ分割して前記検索機能へデータ転送する１バッチ当たりのデータ転送時間をＴｔｎとし、前記検索機能はｎ回同一検索条件の前記データの検索出力を行い、１バッチ当たりのデータ検索出力時間をＴｓｎとし、
（データ検索待ち時間Ｓ）＝（ｎ回＊データ転送時間Ｔｔｎ）＋（ｎ回＊データ検索出力時間Ｔｓｎ）、と定義すると、
前記データテーブルから前記検索機能への転送能力をＴとすると前記ｎ回＊データ転送時間Ｔｔｎは概ねＤ／Ｔとなり、更に（前記ｎ回＊データ検索出力時間Ｔｓｎ）≪（前記ｎ回＊データ転送時間Ｔｔｎ）、とすることにより前記データ検索待ち時間Ｓは概ねＤ／Ｔであることを特徴とする。
【００２５】
請求項３では
前記データテーブルは高速データ転送機能を備えたメモリに記憶されたデータテーブルであって、前記検索機能は
情報の読み出し書き込みが可能なメモリであって
（１）このメモリは１ワードｂｉｔ幅がｎでＮワードアドレス、つまりＮ＊ｎ ｂｉｔの記憶セル構造とし
（２）このメモリ全体に１組ｎ ｂｉｔの論理演算器
（３）前記Ｎワードアドレスの中から繰り返し選択指定される前記１ワード ｂｉｔ幅がｎの記憶セル情報を前記1組ｎ ｂｉｔの前記論理演算器に並列に入力（代入）し論理演算する機能
（４）前記論理演算器の内容を出力する機能
以上を具備するデータテーブルの情報検索機能を備えたメモリであることを特徴とする。
【００２６】
請求項４では
前記データテーブルを記憶した前記高速データ転送機能備えたメモリと前記情報検索機能を備えたメモリで構成される前記データ検索装置をＮ組み並列接続し前記データテーブルの検索を行うことを特徴とする。
【００２７】
請求項５では
ＦＰＧＡに実装された前記情報検索機能を備えたメモリを使用したことを特徴とする。
【００２８】
請求項６では
前記データ検索装置は
１．文献検索
２．特許検索
３．ウエブ検索
４．個人情報データベース
５．業務用情報データベース
６．インターネット  オブ  シングス（ＩｏＴ）情報処理システム
７．人工知能情報処理システム
８．以上１から７が組合せされたシステム
以上１から８記載の前記データテーブルを検索することを特徴とする。
【００２９】
請求項７では
前記データ検索装置は
１．蓄積型データベース
２．ストリーム型情報処理
３．以上１と２が組合せされたシステム
以上１から３記載の前記データテーブルを検索することを特徴とする。
【００３０】
請求項８では
前記高速転送機能を備えたメモリと前記情報検索機能を備えたメモリと、の双方を１つの半導体パッケージ内に実装したことを特徴とする。
【００３１】
請求項９では
ＣＰＵ等他のＬＳＩの半導体パッケージ内に実装したことを特徴とする。
【図面の簡単な説明】
【００３２】
【図１】図１は、情報検索機能を備えたメモリの構成図である。
【図２】図２は、情報検索機能を備えたメモリによる本発明の構成概要である。（実施例１）
【発明を実施するための形態】
【００３３】
図１は情報検索機能を備えたメモリ１０１の概要を示すものである。
本図においてアドレスデコーダやデータバスなどの機能回路は省略されており、このメモリ１０１に自由に情報データが書き込み読み出し可能構成で、１ワードがｎ ｂｉｔの幅１０３で、Ｎのワードアドレス（検索索引アドレス）１０４を持つ、Ｎ×ｎ ｂｉｔセルからなる記憶セル１０２からなり立っており、外部から１からＮまでのワードアドレス（検索索引アドレス）１０４を選択指定１１０可能になっている。
【００３４】
１ワードｎ ｂｉｔの幅１０３はデータベースのレコード数（ｎ）に相当し、１レコードが縦列に配列され、ワードアドレス（検索索引アドレス）１０４のＮは１レコードのフィールドに相当する構造と考えると理解しやすい、つまり、このメモリは、１レコードがＮｂｉｔでｎレコードのデータテーブルとなっている。
【００３５】
このメモリの行方向（本図では横方向）にワードアドレス（検索索引アドレス）１０４で選択指定１１０される、ｎｂｉｔの記憶セル１０２と並列に設けられた論理演算器１０５は、選択指定１１０されるワードアドレス（検索索引アドレス）１０４の記憶セル１０２ｂｉｔ毎に論理記憶１１６が可能な回路と、論理積１１２、論理和１１３、論理否定（ＮＯＴ）１１４、排他論理１１６ならびにその組合せが自由に指定できる構成となっている。
【００３６】
またこの論理演算器１０５の演算結果を出力するためプライオリティアドレスエンコーダ出力回路などの演算結果出力１０６機能が備えられている。
このメモリの大半はメモリセルそのものであり、そのごく一部のみが論理演算器１０５ならびに演算結果出力１０６機能であるので、一般メモリの微小エリアにこれらの機能を組み込みすることによりデータベースに利用可能な大容量のメモリとすることが出来る。
【００３７】
以上が情報検索機能を備えたメモリ１０１の概要であり、このメモリは記憶されたレコードとそのデータフィールドで構成されるデータテーブル２０９をインデックスなどのメタデータを参照することなく超高速でレコード検索することが可能なメモリ１０１である。
【００３８】
通常データベース２０６は最も基本となるデータテーブル２０６と、そのデータテーブル２０６を高速で検索するためのインデックス２０４などのメタデータが一体になったデータ群で構成されるが、このメモリ１０１は、データテーブル２０９だけがあればよい、つまりメタデータ２０３が不要になることが最大の特徴である。
【００３９】
メタデータを不要とする情報の検索に連想メモリ（ＣＡＭ）があるが、連想メモリの場合、インターネットアドレスなどユニークデータの検索は得意であるものの、このメモリ１０１のように、論理和や論理積、論理否定を組合せデータテーブル２０９のフィールドデータの複雑な検索演算を行い目的とするレコードを検出するようなことは出来ない。
【００４０】
このメモリ１０１の操作方法や文献検索の応用例など詳しくは、特願２０１３−２６４７６３の本文を参照されたい。
【００４１】
通常のデータベース２０６であれば、基になるデータテーブル２０９をもとに様々なメタデータ作成プログラムを用意しインデックス２０４などのメタデータ２０３を作成し十分な検索能力となるまでデバックやチューニング作業を行い、一定の検索性能が確認できるようになるまでデータ検索をすることが出来ない。
この時間はデータベース２０６の容量にもよるが１ＴＢｙｔｅ（以下単にＢと記す）程度のデータテーブル２０９となると最低でも数時間、場合によっては数日から数週間を費やす必要がある。
【００４２】
また、作成されるメタデータ２０３のデータ容量も基になるデータテーブル２０９の数倍にも及ぶ場合が一般的でメモリ効率が悪化する。
いくらメモリが大容量化してメモリの単価が下がってもビッグデータのメタデータ２０３のメモリコストはシステム全体の大きな比重を占めることになる。
【００４３】
通常は以上のようなメタデータ２０３の準備が完了して、ようやく検索が可能になるのに比較して、この情報検索機能を備えたメモリ１０１は、検索のためのインデックス２０４などのメタデータ２０３が全く不要で、データベース２０６の基になるデータテーブル２０９さえ準備出来ればこのデータテーブル２０９をこのメモリ１０１に記憶するだけで、直ちに知りたい情報を探し出すことが出来るのが特徴である。
【００４４】
また基データが変更、追加、削除される度にメタデータをデータメンテナンス２０５する必要がありメタデータ２０３の種類が多いと多大な処理時間が掛り、システムのパフォーマンスが大幅に劣化することはデータベース業界の常識である。
【００４５】
仮にデータテーブル２０９の容量が１ＴＢの場合この情報検索機能を備えたメモリ１０１のデータテーブル２０９の構成は
レコード数が１Ｋ（１０００）の場合、検索索引アドレス数が８Ｇ（８Ｇｂｉｔのデータフィールド）
レコード数が１０Ｋ（１万）の場合、検索索引アドレス数が８００Ｍ（８００Ｍｂｉｔのデータフィールド）
レコード数が１００Ｋ（１０万）の場合、検索索引アドレス数が８０Ｍ（８０Ｍｂｉｔのデータフィールド）
レコード数が１Ｍ（１００万）の場合、検索索引アドレス数が８Ｍ（８Ｍｂｉｔのデータフィールド）
レコード数が１０Ｍ（１０００万）の場合、検索索引アドレス数が８００Ｋ（８００Ｋｂｉｔのデータフィールド）
レコード数が１００Ｍ（１億）の場合、検索索引アドレス数が８０Ｋ（８０Ｋｂｉｔのデータフィールド）
レコード数が１Ｇ（１０億）の場合、検索索引アドレス数が８Ｋ（８Ｋｂｉｔのデータフィールド）
レコード数が１０Ｇ（１００億）の場合、検索索引アドレス数が８００（８００ｂｉｔのデータフィールド）
以上のように様々なレコード数１０３と、検索索引アドレス数１０４のデータテーブル２０９が実現できる。
【００４６】
本願特許では１ＴＢのデータベースを我々に馴染み深い特許検索の例で説明する。
詳しくは後述する。
【００４７】
一方情報検索機能を備えたメモリ１０１はＳＲＡＭ方式の場合比較的安価に開発することが出来るが、データ容量の大きなＤＲＡＭやＦＬＡＳＨメモリの場合開発費が膨大になり製品化が困難である。
【００４８】
ＳＲＡＭの場合、データ記憶容量が小さいのでビックデータを処理するのには大量の情報検索機能を備えたメモリ１０１を必要とする。
例えば、８ＭＢ（６４Ｍｂｉｔ）のＳＲＡＭの場合、１ＴＢのデータベース全部を記憶するとなると、１２５Ｋ（１２万５０００）個もの情報検索機能を備えたメモリ１０１を用意する必要があり現実的ではない。
【００４９】
しかながら以下に説明する本願発明の方式を用いればこのように大量の情報検索機能を備えたメモリ１０１を用意することなく極めて効果的で、高速なデータ検索装置が可能になる。
【実施例１】
【００５０】
図２は情報検索機能を備えたメモリによる本発明の構成概要である。
図に示すように１組のデータ検索装置２０７は高速データ転送メモリ２０１と、データ転送機能２０２と、情報検索機能を備えたメモリ１０１で構成されている。
高速データ転送メモリ２０１のデータはデータ転送機能２０２を通じて情報検索機能を備えたメモリ１０１に転送される。
【００５１】
情報検索機能を備えたメモリ１０１には外部から与えられるアドレス選択指定１１０ならびに演算指定１１１によって、情報検索機能を備えたメモリ１０１に記憶されたデータテーブル２０９を検索し目的とするレコード１０３を検出し、その演算結果が出力１０６から出力される構成となっている。
【００５２】
一例として１つの高速データ転送メモリ２０１の記憶容量（Ｄ）を３２ＧＢとし、データ転送の実力値であるデータ転送能力（Ｔ）を３２ＧＢ／秒とすると、言うまでもなく高速データ転送メモリ２０１全体のデータを転送する時間（Ｔｔ）は１秒である。
【００５３】
一方情報検索機能を備えたメモリ１０１が８ＭＢ（６４Ｍｂｉｔ）のデータテーブル容量を持つ場合、３２ＧＢのデータテーブル２０９データを４Ｋ回（ｎ回）に分割して、図に示すデータ１からｎまで８ＭＢ（６４Ｍｂｉｔ）毎に順番にバッチ転送する、１バッチのデータ転送時間（Ｔｔｎ）は約２５０μ秒である。
【００５４】
１バッチデータ転送完了後、情報検索機能を備えたメモリ１０１は、外部から与えられたアドレス選択指定１１０ならびに演算指定１１１によって、メモリ１０１内部で検索演算を行い、その結果１０７が演算結果出力１０６から出力される。
【００５５】
この演算条件を与えてから出力を完了させるまでのデータ検索時間（Ｔｓｎ）は情報検索機能を備えたメモリ１０１のクロック速度を比較的低速な１０ｎ秒とした場合でも、検索条件が高度な演算命令であっても１μ秒以内、実際の演算時間も１μあれば十分である、演算結果検出したレコードの出力時間は検出したレコードの数に比例するので変動要因となるもののすべての合計時間（Ｔｓｎ）は平均１０μ秒程度である。
このデータ検索時間（Ｔｓｎ）の１０μ秒は先に示したデータ転送時間（Ｔｔｎ）の約２５０μ秒に対して４％程度である。
【００５６】
以上を４Ｋバッチ繰り返し実行すれば３２ＧＢのデータベース２０６全体の検索が完了する。
【００５７】
以上のように幾つかのデータに分割して送る場合、毎回の転送開始時のオーバヘッドがあるものの８ＭＢの１バッチ当たりのデータ転送時間に比較して転送開始時のオーバヘッドは極めて短時間であるので、この場合のデータ転送時間（Ｔｔｎ）のｎ回の合計はほぼ１秒である。
【００５８】
一方データの検索に関わる時間（Ｔｓｎ）のｎ回の合計は１０μ秒＊４Ｋ回≒４０ｍ秒程度となる、従って（ｎ回＊データ検索出力時間Ｔｓｎ）＋（ｎ回＊データ転送時間Ｔｔｎ）＝１．０４秒がデータの検索待ち時間（Ｓ）２１０となる。
【００５９】
この方式のデータ検索待ち時間（Ｓ）２１０はデータの転送時間が支配的で実質的にデータの実際のデータ検索時間は無視される程度であることが最大の特徴である。
【００６０】
つまりこの方式の演算装置２０７の１組の演算装置の構成は、データベースであるデータテーブル２０９のデータ容量（Ｄ）が３２ＧＢで、データテーブル２０９から検索機能へのデータ転送能力（Ｔ）が３２ＧＢ／秒であるので、データ検索待ち時間（Ｓ）＝Ｄ／Ｔが概ね１秒となっている。
【００６１】
本例では以上のデータ検索装置２０７がＮ組並列接続されており、全体がデータ検索装置２０７となっている。
仮にＮが３２組の場合データテーブル２０９全体の容量は１ＴＢとなり、データ検索待ち時間２１０は完全並列であるので上記同様概ね１秒である。
以上のように本方式は並列度に比例したデータベース容量となり、データベース容量が幾ら大きくなってもデータ検索待ち時間２１０は概ね１秒を保証することができる。
【００６２】
通常１秒程度のデータ検索待ち時間２１０は利用者に違和感を与えるものではないが、システムの目的や必要に応じてデータ検索待ち時間２１０を更に短縮することも長くすることも、以上の考え方をもとに自由にシステム構成することができる。
【００６３】
以上説明の大容量で高速データ転送が可能なメモリ２０１は例えば同期式ＤＲＡＭ（ＳＤＲＡＭ）で容易に実現できる。
ＳＤＲＡＭは様々な規格があるが、現在市場に出回っているＤＤＲ４規格モジュールの理論最高転送速度は３４．１ＧＢ／秒であり、ＳＤＲＡＭは今後更に高速化され、大容量化される。
これに比例して本願発明のデータ検索装置２０７の性能がアップすることになる。
【００６４】
この発明は、情報検索機能を備えたメモリ１０１は超高速な検索性能を持つので、繰り返し検索を行っても合計データ検索時間は短時間ですむことに注目し、データサイズ（Ｄ）とデータ転送能力（Ｔ）で定まる微少時間のデータの検索待ち時間２１０を意図的に許容することにより、ビッグデータでもシステムを大型化、高コスト化することなく最効率のシステムを提供することを目的としたものである。
【００６５】
以下にビックデータの一例として特許文献検索などの文献検索の例を示す。
特許庁が一般向けに公開している特許情報プラットホームには、特許・実用新案、意匠、商標の３つがデータ検索可能になっており、その内特許文献は約１２００万件登録されている。
そのキーワド検索の検索待ち時間はおよそ４秒程度である。
【００６６】
一般的な文献（テキスト）の検索のような場合、検索索引（インデックス）は文法のルールにもとづく形態素解析と、機械的に文字列を分断して検索索引とする場のＮ-Ｇｒａｍ方式が代表的である。
２文字ごとに文字列を分断して検索索引とする２−Ｇｒａｍの場合、利用される文字が３０００とすると単純計算の場合その組み合わせは９Ｍの多大な検索索引数になる。
然しながら全ての文字の組み合わせを考慮する必要はなく、通常５００Ｋから６Ｏ０Ｋ程度の検索索引があれば実現可能である。
【００６７】
検索索引数を５１２Kとした場合、１２００万（１２Ｍ）レコード×５１２Ｋ＝６，１４４Tｂｉｔ＝０．７６８ＴＢのデータテーブル２０９となる。
【００６８】
仮に８ＭＢの情報検索機能を備えたメモリ１０１を利用し以上の文献検出を行う場合、８ＭＢ＝６４Ｍｂｉｔの情報処理容量を、５１２Ｋの検索索引アドレス１０４*１２８レコード１０３、の行列構成の情報検索機能を備えたメモリ１０１の構成として、１バッチのデータも８ＭＢデータとすればよい。
【００６９】
以上の情報検索機能を備えたメモリ１０１を３２チップ用意し、先に示した方法でデータ検索装置を作れば特許文献検索システムの基幹部分が完成する。
データテーブル２０９の１ＴＢに対する残り０．２３２ＴＢに新規特許文献１４８万件を追加登録可能である。
【００７０】
これまでの説明は特許文献の検索システムなど極めて大きな基幹システムの一番重要な心臓部分を３２ＧＢのＤＤＲ４メモリと３２個と、８ＭＢの情報検索機能を備えたメモリ１０１を３２個と、１個の低消費電力のＣＰＵで実現することが可能である。
このようなメモリが主体の回路構成であれば基板１枚で実現することが可能であることを意味している。
【００７１】
複雑なメタデータ２０６やそのアルゴリズムを用意する必要がないので、システム構成が極めて単純で小型化され、省電力化され、システム開発費用を大幅に抑えることが可能になる。
このシステムの考え方は特許文献に限らずインターネット検索システム等に共通である。
【００７２】
本例では比較的開発費用が低価格なＳＲＡＭ方式のメモリ１０１で説明を行ったが、更にデータテーブル容量の大きなＤＲＡＭ型メモリ１０１やＦＬＡＳＨ型メモリ１０１とすることにより更に効率のよいシステムを構築することができることは言うまでもない。
【００７３】
以上のような文献検索やネット検索データベースを構築する場合、所定の検索待ち時間に対する文献数（レコード数）当たりのシステムコストを判定しシステム評価するとよい。
このような評価尺度で考えるとこの方式は、従来のいずれの方式よりコストパフォマンスが高いシステムとなる。
【００７４】
以上ような文献検索やインタネット検索データベースはアドレス１０４が大きくレコード１０３が少ない縦長のデータベースであるが、情報検索機能を備えたメモリ１０１は原則的に、先の述べたように任意のレコード数１０３と検索索引アドレス１０４の構成とすることができ、どのような行列数のデータテーブル２０９であっても以上の説明の原則が成り立つ。
【００７５】
通常１ＴＢのような大きなデータテーブル２０９を高速検索する場合、経験を積んだ多くのベテラン専門家を集め、インメモリデータベースシステムとして、様々なアルゴリズムやメタデータを駆使し、極めて大掛かりなシステム構成としないと１秒程度の検索時間を保障することは困難である。
【００７６】
通常のデータベース２０６はデータベースの以上のような専門家が様々なアルゴリズムを検討してシステムに最適なメタデータを作成し様々なデバックやチューニングを行い、その結果で最終性能が決まるものである。
物足りない結果となる場合も少なくない。
【００７７】
また、基データの変更、追加、削除が発生する度にメタデータをデータメンテナンス２０５する必要があり、メタデータの種類が多いとデータメンテナンス２０５に大きな負担がかかりシステムが重くなる。
これらのメタデータの問題は、ＣＰＵやＧＰＵの性能がいくら向上しても、メモリとのバスボトルネックがある限り避けて通ることが出来ない深刻な問題である。
【００７８】
この方式の特徴は、特段のデータベースの専門家でなくともデータ検索時間などシステムの性能を完成前に決定できることにある、またデータメンテナンス２０５は基データベース２０６が記憶された高速データ転送メモリ２０１のみのデータを変更、追加、削除するだけでよいので超高速な更新が可能になる。
【００７９】
このような情報処理が出来るのも、情報検索機能を備えたメモリ１０１が超高速な検索演算を実現できること、情報検索機能を備えたメモリ１０１はメタデータ２０３を必要としないのでメタデータ２０３の様々な副作用の影響を受けないこと、さらには高速なデータ転送が出来る大容量のメモリが低コストで入手できるからに他ならない。
【００８０】
１ＴＢのデータテーブル２０９を情報検索機能を備えたメモリ１０１を従来型の利用方法であるインメモリ型（データテーブル２０９は固定する考え方）で利用する場合、１２５Ｋ（１２万５０００）ものメモリ１０１が必要であるのに対し、４Ｋ回のバッチ処理を行うことにより３２個のメモリ１０１と１ＴＢのデータメモリだけで済むことを考えると、本願発明はシステム構成を大幅に圧縮しシステム効率を挙げていることが理解できる。
【００８１】
繰り返しになるがこの発明は、１秒程度の微少時間データの検索待ち時間２１０をシステムに許容することにより、システムの効率を最大限とすることを意図したものである。
【００８２】
言うまでもなく、この基板を複数並列接続すれば、データベース２０６の容量を拡張することも、検索演算時間を短縮することも自由である。
【００８３】
以下に本システムを利用する上でポイントとなることを示す。
【００８４】
情報検索機能を備えたメモリ１０１の情報処理容量が１ＭＢ以下など極端に小さい場合、演算時間が無視できなくなるので転送速度と演算速度のバランスを考え、演算時間が遅くなる分並列度Ｎを増やすことにより、全体の性能を向上させることができる。
【００８５】
バッチ処理は検索トランザクションが発生した時点で、データ１から順番にバッチ処理開始することが出来る、以上の場合検索がない場合データ転送をする必要がないので、装置の電力を抑制することが出来る。
始終多重（マルチ）検索が発生する場合、バッチ処理をループ状に繰り返しておけばどのバッチで検索を開始した場合にも全てのバッチ処理が１秒程度完了し、データ検索も実現されることになる。
【００８６】
特許検索システムのような大型システムでマルチアクセスが頻発する場合、情報検索機能を備えたメモリ１０１を２個ずつ用意し、交互にデータ転送する構成とすると、２５０μ秒の間に同時に２５回同時アクセスが発生しても、データ検索時間を１秒丁度に保つことが可能になる。
もちろんのこと、並列度Ｎを倍の６４にすれば０．５秒のデータ検索が可能になる。
【００８７】
本願発明は大量のセンサからのデータの更新が連続して発生するＩｏＴ（Internet of Things）のリアルタイム処理に最適である。
ビックデータの大量のデータの連続的な更新は従来型データベースで最も負担が多くリアルタイム処理が困難な分野である、従って多くの場合処理時間やシステムコストなど妥協点を探し出す以外方法はない。
【００８８】
この発明によればセンサからの情報を基に高速データ転送メモリ２０１のデータテーブルを直接更新するだけで良いのでシステムが極めて単純になり、システムの開発負担を大幅に軽減することができる。
【００８９】
最近のデータベースの潮流として入力される大量のデータを蓄積することなく、リアルタイムで必要な情報を読み取るストリーム型情報処理に注目が集まっている。
本願発明は、文献検索のような蓄積型データベースのみならずＩｏＴなどのストリーム型情報処理の双方で実力を発揮することができる。
【００９０】
以上の情報検索機能を備えたメモリ１０１はＦＰＧＡに実装することも可能である。
また、ＣＰＵなどその他のＬＳＩに情報検索機能を備えたメモリ１０１を組み込むことも、情報検索機能を備えたメモリ１０１と高速データ転送メモリ２０１をＳｏＣやＳｉＰとして同一のＬＳＩに搭載しデータ検索ＬＳＩ２０８とすることも可能である。
【００９１】
本願発明者による特願２０１５−１１６０８６、メモリ型プロセッサは、情報検索機能を備えたメモリの考え方を更に発展させデータの検索や解析のみならず数値演算を実現したものであり、データ検索機能にこのメモリ型プロセサが利用できることは言うまでもない。
【産業上の利用可能性】
【００９２】
この発明は、ビッグデータを低コストでしかも高速に検索、解析することができるので、文献検索、特許検索、ウエブ検索、個人情報データベース、業務用情報データベース、ＩｏＴ情報処理システム、人工知能情報処理システム、以上を組合せしたあらゆる各種データベースやビッグデータのデータマイニング、データ解析に幅広く利用することが可能である。
【００９３】
またこの技術は情報処理の電力を大幅に抑制することが出来るのでＩＣＴ機器の環境問題の解消に大きな意義をもち、この技術は新しい情報処理手法の一つになる。
【符号の説明】
【００９４】
１００．メモリ
１０１．情報検索機能を備えたメモリ
１０２．記憶セル
１０３．ワード幅（レコード数）
１０４．ワードアドレス（検索索引アドレス）
１０５．論理演算器
１０６．演算結果出力
１０７．演算結果
１１０．（ワードアドレス）選択指定
１１１．演算指定
１１２．論理積
１１３．論理和
１１４．論理否定
１１５．排他論理
１１６．論理記憶  
２０１．高速データ転送メモリ
２０２．データ転送機能
２０３．メタデータ
２０４．インデックス
２０５．データメンテナンス
２０６．データベース
２０７．データ検索装置
２０８．データ検索ＬＳＩ
２０９．データテーブル
２１０．データ検索待ち時間