JP2006526227A - Fpgaデバイスを使用するインテリジェントデータ記憶および処理 - Google Patents

Fpgaデバイスを使用するインテリジェントデータ記憶および処理 Download PDF

Info

Publication number
JP2006526227A
JP2006526227A JP2006514919A JP2006514919A JP2006526227A JP 2006526227 A JP2006526227 A JP 2006526227A JP 2006514919 A JP2006514919 A JP 2006514919A JP 2006514919 A JP2006514919 A JP 2006514919A JP 2006526227 A JP2006526227 A JP 2006526227A
Authority
JP
Japan
Prior art keywords
data
logic device
programmable logic
storage medium
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006514919A
Other languages
English (en)
Other versions
JP2006526227A5 (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 JP2006526227A publication Critical patent/JP2006526227A/ja
Publication of JP2006526227A5 publication Critical patent/JP2006526227A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

データの記憶および検索のデバイスおよび装置を開示する。このデバイスは、目標データを保管するように構成された少なくとも1つの磁気記憶媒体と、少なくとも1つの再構成可能論理デバイスとを含み、この再構成可能論理デバイスは、少なくとも1つの磁気記憶媒体に結合されたFPGAを含み、そこから目標データの連続ストリームを読み取るように構成され、テンプレートを用いてまたは検索のタイプおよび検索されるデータに合うように望みに合わせて構成される。再構成可能論理デバイスは、データキーの形の少なくとも1つの検索照会を受け取り、目標データが少なくとも1つの磁気記憶媒体から読み取られる際に、目標データとデータキーの間の一致を判定するように構成されている。このデバイスおよび方法は、正確一致検索、近似一致検索、シーケンス一致検索、イメージ一致検索、およびデータ削減検索を含むがこれらに制限されない、目標データに対するさまざまな検索を実行することができる。このデバイスおよび方法は、独立型コンピュータシステムの一部として提供するか、ネットワークに取り付けられた記憶デバイスで実施するか、コンピュータLANまたはWANの一部として提供することができる。検索動作およびデータ削減動作の実行のほかに、このデバイスは、暗号化、暗号解読、圧縮、伸張、およびこれらの組合せを含むさまざまな他の処理動作を実行するのにも使用することができる。

Description

本願は、その開示全体が参照によって本明細書に組み込まれる、2003年5月23日出願の米国特許仮出願第60/473077号、名称「Intelligent Data Storage and Processing」の恩恵を主張する。
本願は、その両方の開示全体が参照によって本明細書に組み込まれる、2002年5月21日出願の米国特許出願第10/153151号、名称「Associative Database Scanning and Information Retrieval Using FPGA Devices」、および現在、米国特許第6711558号である、2000年4月7日出願の米国特許出願第09/545472号、名称「Associative Database Scanning and Information Retrieval」の一部継続出願でもある。
指摘は、平均データベースサイズおよび関連ソフトウェアサポートシステムが、プロセッサ性能の向上より高い割合で(すなわち、約18ヵ月に2倍を超えて)増加していることである。これは、より詳細な情報を保管すること、より長い期間にわたり情報を保管すること、異なる組織からのデータベースをマージすること、および新生の重要なアプリケーションから生じた大きい新しいデータベースを扱うことの望みを制限なしに含む、複数の要因に起因する。たとえば、大きく急速に成長するデータベースを有する2つの新生のアプリケーションが、遺伝学の革命に関連するものと、インターネット上の情報のカタログ作成およびアクセスに関連するものである。インターネットの場合に、現在の産業界の見積は、150万を超えるページが毎日インターネットに追加されているというものである。物理的レベルで、これは、磁気記憶密度が、過去5年間に毎年2倍程度になってきたディスク記憶性能の著しい向上によって可能にされてきた。
検索機能および取出機能は、インデクシングされている時に、情報に対してより簡単に実行される。たとえば、金融情報に関して、この情報を、会社名、株式銘柄、および価格によってインデクシングすることができる。しかし、しばしば、検索される情報は、分類またはインデクシングが困難であるタイプ、または複数のカテゴリに含まれるタイプのいずれかである。その結果、情報検索の精度は、それに関して作成されたインデックスの精度および総合性と同程度にすぎない。しかし、インターネットの場合に、情報はインデクシングされていない。インデクシングのボトルネックは、適度な時間でウェブページにアクセスするのに必要な逆インデックスを開発するのに要する時間である。たとえば、サーチエンジンが使用可能であるが、扱いやすい結果を作る検索を構成することは、検索命令のより少ない非常に詳細なセットによって生成される多数の「ヒット」に起因して、ますます困難になりつつある。このため、複数の「インテリジェント」サーチエンジンが、Googleなど、ウェブ上で提供されてきたが、これらは、当然と思われている望ましくない「ヒット」を除去する論理を使用して、検索結果を減らすことを目的とするものである。
次世代インターネット、さらに高速のネットワーク、およびインターネットコンテンツの拡張があるので、このボトルネックは、重大な関心事になりつつある。さらに、タイムリーな基礎で情報にインデクシングすることが、対応してきわめて困難である。インターネットの場合に、現在の産業界の見積は、150万を超えるページが、毎日インターネットに追加されているというものである。その結果、逆インデックスの維持および更新は、膨大な連続的な仕事になり、それが引き起こすボトルネックが、既存の検索システムおよび取出スステムの速度および精度に対する主要な障害になりつつある。しかし、使用可能な情報のますます増加する量を仮定すれば、所望の情報を素早く正確に検索し、取り出す能力が、重大になってきた。
大きいデータベースを扱う連想記憶デバイスが、従来技術で知られている。一般に、これらの連想記憶デバイスには、コンピュータ、コンピュータネットワーク、および類似物のための周辺メモリが含まれ、この周辺メモリは、コンピュータ、ネットワークなどに対して非同期に動作し、特殊化された検索に関する高い効率を提供する。さらに、これらのメモリデバイスに、周辺メモリにアクセスする際の主CPUに対する援助として、ある限られた意思決定ロジックを含めることができることも、従来技術で知られている。高速ディスクまたは高速ドラムなどの回転式メモリと共に使用されるように特に適合された、そのような連想記憶デバイスの例を、その開示が参照によって本明細書に組み込まれている米国特許第3906455号に見出されることができる。この特定のデバイスは、回転式メモリと共に使用される方式を提供し、任意の論理操作を実行する前に、メモリをプリソートし、その後にソートするために、メモリセクタに対する2パスが必要であることを教示している。したがって、このデバイスは、磁気テープまたは類似物などの線形メモリまたはシリアルメモリと共に使用することに適さないものとして教示されている。
従来技術のデバイスの他の例を、その開示が参照によって本明細書に組み込まれている、米国特許第3729712号、米国特許第4464718号、米国特許第5050075号、米国特許第5140692号、および米国特許第5721898号にも見出されることができる。
例として、米国特許第4464718号で、Dixonは、固定された個数のバイトに対する固定された比較を実行している。それらは、データを任意にスキャンし、相関させる能力を有しない。それらは、所与のディスクシリンダ内のトラックに沿ってシリアルに検索するが、ディスクを横切る並列検索に関する備えがない。Dixonの比較は、固定され変わらない個数の標準論理動作タイプによって制限されている。さらに、提示された回路は、これらの単一論理動作だけをサポートする。近似マッチングまたはファジイマッチングのサポートはない。
これらの従来技術の連想記憶デバイスは、多くの場合に、大容量記憶装置である周辺メモリとの間の情報の入出力を高速化する試みを呈するが、すべてが、メモリ位置のディジタルアドレスまたはディジタル内容のいずれかを読み取り、解釈することによるディジタル形式で保管されたデータへの古典的アクセスに頼る。言い換えると、そのようなデバイスのほとんどは、そのアドレスによってデータにアクセスするが、当技術分野でよく知られている内容アドレッシングの威力を利用するいくつかのデバイスがある。それにもかかわらず、本発明人が知っている従来技術のすべてで、データを識別しかつ処理のためにデータを選択するために、アドレスまたはアドレッシングされた位置に含まれるデータのディジタル値を、そのディジタルの形態で読み取りかつ解釈しなければならない。これは、アドレスまたは内容によって表されるディジタルデータを読み取り、かつ解釈するのに処理時間を要するだけではなく、アクセス回路が、保管されたデータの構造に従ってメモリを処理することを必然的に必要とする。言い換えると、データがオクテット単位で保管されている場合に、アクセスする回路は、オクテット単位でデータにアクセスし、増分的な形でこれを処理しなければならない。この「スタートアンドストップ」処理は、データにアクセスするのに必要な入出力時間を増やすように働く。当技術分野でよく知られているように、この入出力時間は、通常、任意のコンピュータまたはコンピュータネットワークの処理能力のボトルネックおよび実際の限度を表す。
さらに、検索に使用可能な膨大な量の情報を仮定すれば、データ削減動作およびデータ分類動作(たとえば、ある集約形式でデータを要約する能力)が、重要になってきた。しばしば、データ削減機能を素早く実行する能力が、会社にかなりの競争上の利益をもたらすことができる。
同様に、ディジタルイメージング技術の改良によって、イメージに対するものなどの2次元マッチングを実行する能力が必要になってきた。たとえば、顔もしくは網膜などの個人の特定のイメージまたは指紋に対してマッチングを実行する能力は、2001年9月11日のテロリスト攻撃に鑑みて、セキュリティに対する労力を向上させるので、法施行に重要になりつつある。イメージマッチングは、自動目標認識の分野で軍にも重要である。
最後に、既存の検索デバイスは、現在、変化する適用の要求に応答して素早く簡単に構成されることができない。
したがって、従来技術の上記および他の問題を克服する、改良された情報検索取出のシステムおよび方法の必要がある。
親出願である米国特許出願第10/153151号に記載されているように、従来技術の上記および他の問題を解決するために、本発明人は、複数の実施形態で、これらの従来技術の制限に対する洗練された単純な解決方法を提供すると同時に、大容量記憶メモリに保管されたデータに関するアクセス時間を劇的に減らす、フィールドプログラマブルゲートアレイ(FPGA)を使用する連想記憶の方法および装置の構成および開発に成功した。本明細書に記載されているように、米国特許出願第10/153151号の発明は、それぞれが独自の利点を有する複数の実施形態を有する。該米国特許出願第10/153155号の親出願である米国出願特許第09/545472号、現在の米国特許第6711558号は、本発明のこの部分に使用可能なさまざまな種類のデバイス間の選択に関して特定することなく、プログラマブルロジックおよびプログラマブル回路全般の使用を、開示しかつ主張する。米国特許出願第10/153151号では、本発明人は、より具体的に、最良の態様として、さまざまな理由から回路の一部としてのFPGAの使用をより具体的に開示した。とりわけ重要な理由が、速度である。さらに、速度が関わる動作の2つの異なる態様がある。第1の態様は、再構成の速度である。FPGAを現場で素早くプログラムして、テンプレートを使用する検索方法を最適化することができ、このテンプレートが、前もって準備され、接続するバスを介してFPGAに単に通信されることが、当技術分野で知られている。異なる方法を使用して検索することが望まれた場合に、FPGAを、最小のクロックサイクル数で、別の準備されたテンプレートを用いて素早く好都合に再プログラムし、第2の検索を即座に開始することができる。したがって、再構成可能ロジックとしてのFPGAを用いると、他のタイプの再プログラム可能論理デバイスに対して、ある検索から別の検索へのシフトが、非常に簡単で素早くなる。
速度の第2の態様は、プログラムされた後に、検索が必要とする時間の長さである。FPGAは、ハードウェアデバイスなので、検索は、ハードウェア処理速度で行われ、これは、たとえばマイクロプロセッサで経験されるソフトウェア処理速度より数桁速い。したがって、FPGAは、しばしばそうであるように速度が考慮事項である場合に、他のソフトウェア実装より望ましい。
テンプレートの使用を考慮すると、米国特許出願第10/153151号に、少なくとも複数の「包括的」テンプレートを、事前に準備し、絶対検索、近似検索、またはブール代数論理機能を組み込まれた上位のもしくは高度な検索モードのいずれかでのテキスト検索の実行、あるいはグラフィックス検索モードでの使用に利用可能にすることができることが開示されている。これらを、CPUメモリに保管し、コマンドの際に使用可能にするか、これらの検索の1つを示すソフトウェアキューに応答して自動的にロードすることができる。
考慮すべきもう1つの要因が、コストであり、FPGAの最近の価格低下によって、FPGAが、特にPC市場を目標とするハードディスクドライブアクセラレータ(accelerator)の一部として、本願の好ましい実施形態としての実装により適したものになった。さらなるコスト低下が、この実施形態ならびに下で詳細に説明する他の実施形態に関する、FPGAの望ましさを増やす。
一般に、米国特許出願第10/153151号の発明は、すべてをハードウェアで、本質的に回線速度で、検索のテンプレートを含め、比較を行うのにFPGAを使用する、大容量記憶媒体に保管されたデータの連続的読取とのデータキーの近似マッチングを介する、データ取出の技術として説明することができる。FPGAを使用することによって、一般に知られている多数の利点および特徴が使用可能にされる。これには、FPGAを「パイプライン」オリエンテーション(pipeline orientation)で、「並列」オリエンテーション(parallel orientation)で、または複雑な検索アルゴリズムを可能にするデータ経路を相互接続する複雑なウェブオーバーレイを組み込んだアレイに配置する能力が含まれる。最も広義の、多分最も強力な実施形態で、データキーを、アナログ信号とすることができ、このデータキーは、大容量記憶媒体を横切って進む時に、通常の読取/書込デバイスによって生成されるアナログ信号とマッチングされる。言い換えると、従来技術で必要なものとして教示された、大容量記憶媒体に保管されたディジタルデータのアナログ表現を読み取るステップだけではなく、比較の前にその信号をディジタルフォーマットに変換するステップが、除去される。さらに、データが編成されかつ保管された構造またはフォーマットを使用して、データを「フレーミング」または比較するという要件はない。アナログ信号について、指定される必要があるものは、「読取」信号の対応する連続して変化する選択された時間期間との比較に使用される、信号の経過時間だけである。従来技術で知られている多数の標準的な相関技術のいずれかを使用することによって、データ「キー」を、データ信号のスライディング「ウィンドウ」と近似的にマッチングして、一致を判定することができる。重要なことに、同一の量のデータを、はるかに素早く走査することができ、検索要求と一致するデータを、はるかに素早く判定することもできる。たとえば、本発明人は、200メガバイトのDNA配列のCPUベース近似検索が、データベースにインデクシングするオフライン処理が既に完了していると仮定して、現在の「ハイエンド」システムで10秒を要する可能性があることを見出した。同一の10秒間で、本発明人は、本発明を使用する近似マッチについて、10ギガバイトのディスクを検索できることを見出した。これは、性能での50:1の改善を表す。さらに、通常のハードディスクドライブにおいて、4つの表面および対応する読取/書込ヘッドがあり、各ヘッドが本発明を備えるならば、これらのすべてを並列に検索することができる。これらの検索は、並列に進行することができるので、総合的な速度向上または改善は、200:1の利点を表す。さらに、追加のハードディスクドライブに、並列にアクセスすることができ、これらをスケーリングして、従来のシステムに対する速度の利点をさらに増やすことができる。
適切な相関またはマッチング技術を選択することと、および適切な閾値を設定することによって、検索を、所望の信号と正確に一致するように行うことができ、あるいは、より重要で多分より強力なことに、閾値を下げて、近似一致検索をもたらすことができる。これは、一般に、データベースを走査して、データが探されているものの近似でしかない可能性がある場合でも有効である可能性がある「ヒット」を見つけることができるという点で、より強力な検索モードと考えられる。これによって、改ざんされたデータ、不正確に入力されたデータ、一般にあるカテゴリにのみ対応するデータを見つける検索、ならびに多くの応用例で非常に望ましい他の種類のデータ検索が可能になる。たとえば、DNA配列のライブラリを検索し、残基の所望の配列への近似一致を表すヒットを見つけることが望まれる場合がある。これは、所望の配列に近い配列が見つかり、許せる個数の残基不一致の相違だけでは破棄されないことを保証する。検索を望まれる情報のさらに増える量およびタイプを仮定すると、より複雑な検索技術が必要である。これは、分子生物学の領域で特にそうであり、「遺伝子(またはそれを符号化するタンパク)の生物学的機能を推論する最も強力な方法の1つは、タンパクおよびDNA配列データベースに対する配列類似性検索によるものである」(Garfield、「The Importance of(Sub)sequence Comparison in Molecular Biology」、212〜217ページ。その開示は、参照によって本明細書に組み込まれている)。配列マッチングに関する現在の解決方法は、ソフトウェアまたは再構成可能でないハードウェアでのみ使用可能である。
もう1つの応用例では、インターネット検索エンジンによって提供されるインターネット検索が用いられる。そのような検索で、近似マッチングは、検索を失敗させず、または組み合わされた数の特殊化された検索を必要とせずに、綴りの誤った単語、異なる綴りを有する単語、および他の変形に対処することを可能にする。この技術は、検索エンジンが、所与の検索に関するより多数のヒットを提供することを可能にし、検索でより多数の関連するウェブページが見つかり、カタログ化されることを保証する。しかしながら、上で述べたように、この近似マッチングは、それ自体がそれ自体の問題を作るより多数の「ヒット」を作るより大きい網を投げる。
本発明の技術のもう1つの可能な応用例は、サイズが膨大であるかアナログ表現として保管されている可能性があるデータベースのアクセスに関するものである。たとえば、我々の社会では、司法手続きを含む多数の裁判所での記録デバイスの実装およびその使用が見られる。最近の歴史で、大統領執務室で行われたテープ録音が、弾劾公聴会で重要性を増した。理解されるように、大統領の任期中に行われるテープ録音は、膨大なデータベースに蓄積される可能性があり、これは、重要である可能性がある特定の単語が話された瞬間を見つけるために、複数の人がそれを聞くことを必要とする可能性がある。本発明の技術を使用すると、データベースが連続的な形で高速で走査される間に、話された単語のアナログ表現をキーとして使用し、一致を探すことができる。したがって、本発明および親発明は、大量のアナログデータベースならびに大量のディジタルデータベースに関する強力な検索ツールを提供する。
テキストベース検索は、上で説明したように本発明および親発明によって対処されているが、イメージ、サウンド、および他の表現を含む記憶媒体は、伝統的に、テキストよりも検索が困難であった。本発明および親発明は、そのような内容またはその断片の存在に関する大きいデータベースの検索を可能にする。たとえば、この場合のキーは、探されるイメージを表す画素の行またはクォドラントである。キーの信号の近似マッチングは、キーへの一致または近い一致の識別を可能にすることができる。もう1つのイメージ応用例では、画素または画素のグループの差を検索し、結果として注記することができ、これは、同一の地理的位置のイメージ間の比較が、装置または部隊の移動を示すものとして重要である衛星イメージングに重要である可能性がある。 本発明および親発明は、下でより具体的に注記するように、複数の構成のいずれかで実施することができる。しかし、1つの重要な実施形態は、多分、ハードディスクドライブとシステムバスとの間のインターフェースとして、どのPCにもたやすくインストールされるディスクドライブアクセラレータの形である。このディスクドライブアクセラレータは、標準化されたテンプレートの組を備え、CPUがドライブからデータにアクセスする速度を劇的に高める「プラグアンドプレイ」ソリューションを提供する。これは、PCの大きいインストールベースに販売されるアフターマーケットデバイスまたは改装デバイスになる。また、これは、ドライブケースのエンベロープ内または外部ドライブのエンクロージャ内に、パッケージ化されて新しいディスクドライブの一部として提供されるか、内蔵ドライブ用アダプタとしての追加プラグインPCカードとして提供される。さまざまな種類のデータベースに対するさまざまな種類の検索の追加テンプレートを、望み通りに、CDに符号化することによるなど、アクセラレータの購入と共に、またはダウンロード用にインターネットを介してのいずれかで入手可能にすることができる。
本発明は、親出願である米国特許出願第09/545472号および米国特許出願第10/153151号に開示された新規の革新的な技術を拡張し、FPGAなどのプログラマブル論理デバイス(PLD)が、暗号化、暗号解読、圧縮、および伸張などの動作を含むがこれらに制限されない、さまざまな追加の処理動作のどれでも実行する。したがって、本願の技術は、PLDがデータ操作動作を実行するように拡張される。本明細書で使用する用語「操作する」または「操作」は、データに対して実行される圧縮動作、伸張動作、暗号化動作、および暗号解読動作のいずれかまたはすべてと組み合わされた、データに対する検索動作、削減動作、または分類動作の実行、あるいは、同様にデータに対して実行される検索動作、削減動作、分類動作、暗号化動作、および暗号解読動作のいずれかまたはすべてと組み合わされた、または単独でのデータに対する圧縮動作または伸張動作の実行を指す。これらの操作動作を、本明細書で開示される発明的技術に起因して非常に高速で実行できるだけではなく、これらの動作は、本明細書で開示されるFPGAなどのPLDで実施される時に、コンピュータシステムのソフトウェアで動作している可能性があるウィルスまたはマルウェア(malware)による、アクセスまたは読取から暗号解読されたおよび/または伸張されたデータを保護することと、保管されたデータの処理に再構成可能ロジックを使用することとによって、データセキュリティも強化する。本発明のより強力な応用例の中に、クリプトサーチ(crypto−searching)と呼ばれることができる、暗号化されたデータ内の高速検索の実行がある。クリプトサーチを用いると、暗号化されたデータのストリームが処理されて、まず、データストリームが暗号解読され、次に、暗号解読されたデータ内で検索動作が実行される。
データ所有者にとってのデータセキュリティの価値は、過小評価することができず、ますます重要性が高まっており、誰がいつどのデータにアクセスできるかを制御する能力は、データセキュリティの中心に位置する。その多数の独自の応用例の中で、本発明は、誰がデータにアクセスするかを制御する際の柔軟性と、許可されたユーザにそのデータへのアクセス(または走査機能を介するそのデータの一部への目標を絞られたアクセス)を与える際の速度を、データ所有者に与える。
さらに、本明細書に記載の圧縮および/または伸張を使用することによって、高速でデータを検索する能力を保ちながら、大容量記憶媒体内でより少ない空間を占める形でデータを保管できるようになる。
これらの操作動作は、複数のステージを用いて実施される時に、パイプライン化された形で実施されることが好ましい。具体的に言うと、暗号化/暗号解読または圧縮/伸張に専用の1つまたは複数のステージと、データ検索またはデータ削減に専用の1つまたは複数のステージとの組合せは、データ記憶および取出の知的で、柔軟で、高速で、安全な構成技術を相乗的に作る。
さらに、本明細書では、コンピュータハードディスクなどの磁気媒体にデータを保管し、その結果、ディスク記憶システムの「シーク」時間によって大きい損害を与えられずに、ハードディスクから大量のデータを読み取れる、新規の独自の技術を開示する。本発明のこの特徴によれば、データは、磁気媒体に位置する複数の不連続の円弧として、好ましくは螺旋状のパターンで磁気媒体に保管される。本明細書に記載のように検索処理および/または追加処理にPLDを使用するシステムが、本明細書に記載されているように区分的螺旋の形で保管されたデータを使用する大容量記憶媒体と組み合わせて使用される時に、この組合せは、相乗的に、さらに高い処理速度をもたらす。
さらに、データファイルが、2のべきの合計技術を使用して保管される、メモリにデータファイルを保管する新規の技術を本明細書で開示する。この2のべきの合計技術を使用するデータファイル記憶と、本明細書に記載の再構成可能ロジックプラットフォームのデータ処理機能との組合せも、相乗的に、高められた処理速度をもたらす。
本発明の主要な利点および特徴を、上で短く説明したが、本発明のより完全な理解は、図面および次下の好ましい実施形態の説明を参照することによって得ることができる。
図1からわかるように、本発明は、独立型のコンピュータまたはコンピュータシステムでたやすく実施される。広義の意味で、本発明は、少なくとも1つの磁気大容量記憶媒体26に結合された少なくとも1つの再構成可能論理デバイス21からなり、その再構成可能論理デバイスは、FPGAである。図1からわかるように、再構成可能論理デバイス21自体に、データシフトレジスタおよび多分マイクロプロセッサを含む複数の機能論理要素が含まれ、あるいは、これらを別々のチップに置くことができ、あるいは、個々の論理要素を、本明細書の他の図の一部に示されているように、パイプラインオリエンテーション(指向)または並列オリエンテーションで構成することができる。どの場合でも、再構成可能ロジックは、その形態および機能を、製造後に現場で大きく変更(すなわち再構成)することができる、すべての論理技術を指す。再構成可能論理デバイスの例に、制限なしにプログラマブル論理デバイス(PLD)が含まれる。PLDは、プログラム可能であるさまざまなチップに関する包括的な用語である。一般に、PLDには3つの物理構造がある。第1は、アルミニウムトレースまたは絶縁体を電気的に溶かすことによって、信号線を分離するか融合する永久ヒューズ(permanent fuse)タイプである。これは、最初のタイプのPLDであり、「プログラマブルアレイロジック」またはPALとして知られている。第2のタイプのPLDは、EEPROMまたはフラッシュメモリを使用し、それに関連するメモリセルの内容に応じてトランジスタを開閉させる。第3のタイプのPLDは、RAMベース(動的で揮発性になる)であり、その内容は、そのPLDがスタートアップするたびにロードされる。FPGAは、任意の形で相互接続できる論理ユニットのアレイを含む集積回路(IC)である。これらの論理ユニットを、1ベンダ(Xilinx社)は、CLBまたは構成可能論理ブロックと呼ぶ。各論理ユニットの特定の機能および論理ユニット間の相互接続の両方を、ICの製造後に現場でプログラムすることができる。FPGAは、最も一般的なPLDチップの1つである。FPGAは、3つの構造のすべてで入手可能である。再構成可能論理デバイス21について図1でラベルを付けられた箱は、再構成可能論理デバイス20によって実行されるタスクを、再構成可能ハードウェア論理で実施できるだけではなく、データシフトレジスタ24および/または制御マイクロプロセッサ22のタスクも、任意選択として、再構成可能論理デバイス21の再構成可能ハードウェア論理で実施できることを伝えることを意味する。本発明の好ましい実施形態で、再構成可能論理デバイス21は、Xilinx社のFPGA技術を使用して構成され、その構成は、Mentor社の合成ツール、またはSynplicity社の合成ツールとXilinx社の配置配線(place−and−route)ツールを使用して開発され、これらのツールのすべてが、当業者に知られているように、現在は市販されている。
再構成可能論理デバイス21は、システムバスまたは入出力バス34とインターフェースし、一構成では、存在し得るすべてのディスクキャッシュ30ともインターフェースする。再構成可能論理デバイス21は、CPU32またはネットワークインターフェース36から、検索要求または検索照会を受け取りかつ処理する。さらに、このデバイスは、ディスクキャッシュ30および/またはCPU32のいずれかまたは両方に(バス34によって)、照会の結果を渡すのを助けることができる。
大容量記憶媒体26は、以下では目標データと呼称する大量の情報を保管する媒体を提供する。用語「大容量記憶媒体」は、大量のデータを保管するのに使用され、通常はコンピュータまたはコンピュータネットワークでの使用のために構成される、すべてのデバイスを意味するものと理解されなければならない。例には、ハードディスクドライブ、光学記憶媒体、または単一のディスク表面などのサブユニットが制限なしに含まれ、これらのシステムは、回転式、線形、直列、並列、またはそのそれぞれのさまざまな組合せとすることができる。たとえば、ハードディスクドライブユニットのラックを、並列に接続することができ、この並列出力を、変換器レベルで1つまたは複数の再構成可能論理デバイス21に供給することができる。同様に、磁気テープドライブのバンクを使用することができ、その直列出力それぞれを、1つまたは複数の再構成可能論理デバイス21に並列に供給することができる。媒体に保管されるデータは、アナログ形式またはディジタル形式とすることができる。たとえば、データを、音声録音とすることができる。したがって、本発明は、スケーラブルであり、並列大容量記憶媒体の数を増やすことによって、保管されるデータの量の増加を可能にすると同時に、並列再構成可能論理デバイスの数を増やすか、再構成可能論理デバイスを複製することによって、性能が維持される。
従来技術では、図1の上側に示されているように、通常、ディスクコントローラ28および/またはディスクキャッシュ30を、そのシステムバスまたは入出力バス34を介する、CPU32によるアクセスに伝統的な意味で使用することができる。再構成可能論理デバイス21は、システムバス34を介して大容量記憶媒体26からCPU32の作業メモリ33に、保管およびアクセスのためにメモリの大きいブロックを移動することなく、大容量記憶媒体26内の目標データに、1つまたは複数のデータシフトレジスタ24を介してアクセスし、これを使用のためにシステムバス34に提示する。言い換えると、下で詳細に説明するように、CPU32は、検索要求または検索照会を再構成可能論理デバイス21に送ることができ、この再構成可能論理デバイス21は、大容量記憶媒体26内の目標データに非同期にアクセスし、かつこれをソートし、従来技術で知られているようにディスクキャッシュ30内で、またはシステムバス34に直接にのいずれかで、CPU32によって要求されるさらなる処理またはその作業メモリ33の使用なしで、使用のために提示する。したがって、CPU32は、検索およびマッチングのアクティビティが、本発明によって実行されている間に、他のタスクを自由に実行することができる。代替案では、制御マイクロプロセッサが、検索照会およびテンプレートまたはプログラミング命令をFPGA21に供給し、その後、検索を実行し、CPU32によるアクセスおよび使用のためにシステムバス34でデータを提示することができる。
上で説明したように、本発明を使用して、目標データに対してさまざまな異なるタイプのマッチング動作またはデータ削減動作を実行することができる。これらの動作それぞれを、下で詳細に説明する。しかし、すべての動作について、目標データが、十分なフォーマッティング情報を付加されて磁気大容量記憶媒体26に書き込まれ、その結果、目標データの論理構造を抽出できるようになっていると仮定する。正確ストリングマッチングおよび近似ストリングマッチングを、図2〜図5を参照して説明する。しかし、本発明が、単一のストリングマッチに制限されず、複合照会マッチング(たとえば、その間にある論理関係を有する複数のテキストストリングを用いる照会、またはブール代数論理を使用する照会)に同等に適することを理解されたい。図2の点Aに示されているように、再構成可能論理デバイス21を用いてアナログ領域で正確一致を実行し、マッチングが、アナログ比較器および相関技術を使用して行われる時に、正確一致は、データキーと、大容量記憶媒体26上のアナログ目標データのマッチングに関して十分に高い閾値をセットすることに対応する。アナログ領域での近似マッチングは、適当な(より低い)閾値をセットすることに対応する。近似マッチの成功は、再構成可能論理デバイス21でセットされる相関値によって、または走査された目標データの対応するビットと等しいデータキー内のビット数などの、再構成可能論理デバイス21に保管された複数のマッチング性能メトリックスの1つを使用することによって、判定することができる。
具体的に言うと、普通の固定ディスクドライブが、複数の回転するディスクを、各ディスクにアクセスする複数の変換器と共に有する場合がある。これらの変換器それぞれは、通常、増幅器などのアナログ信号回路18に供給する出力を有する。これが、点Aで表されている。図2にさらに示されているように、通常、アナログ回路の出力は、1つのそのような出力を処理する単一のディジタルデコーダ23に選択的に供給される。これが、点Bで表されている。このディジタル出力は、通常、誤り訂正回路(ECC)25を介して送られ、その出力Cで、バス34またはディスクキャッシュ30に渡される。本発明の目的のために、複数のディジタルデコーダおよびECCを設けることによって、目標データの複数の並列経路を設けることが望ましい場合がある。ディジタル領域での正確マッチングは、点Bまたは点Cで実行することができ、これは、それぞれ、誤り訂正前のディジタル信号および誤り訂正後のディジタル信号に対応する。
結果を、FPGAの一部として構成しても構成しなくてもよい制御マイクロプロセッサ22に送って、複合検索照会または複雑な検索照会に関連する論理を実行することができる。最も一般的な場合に、複合検索照会40は、図3に示された変換プロセスを受ける。具体的に言うと、CPU32に常駐するソフトウェアシステム(図示せず)が、検索照会40を生成する。この照会は、やはりCPU32に置かれたコンパイラ42を通って進み、このコンパイラ42は、検索照会を分析する責任を負う。この分析からの3つの主な結果すなわち、(1)再構成可能論理デバイス21内の比較レジスタに常駐するデータキーの決定、(2)制御マイクロプロセッサ22で実施しなければならない組合せ論理の決定、および(3)再構成可能論理デバイス21に対する合成コマンド46の生成に使用される、標準的なハードウェア記述言語(HDL)フォーマットでのハードウェア記述44の作成(あるいは、可能な場合にライブラリからの取出)がある。任意の市販のHDLと、関連するコンパイラおよび合成ツールとを使用することができる。結果の論理機能は、正確一致、不正確一致、またはワイルドカード動作と、「and」および「or」などの単純な単語レベルの論理動作に対応するものとすることができる。この合成情報が、制御マイクロプロセッサ22に送られ、制御マイクロプロセッサ22は、再構成可能論理デバイス21またはFPGAをセットアップするように働く。複雑な論理動作の場合に、CまたはC++などの高水準言語48が、コンパイラ50と共に使用されて、制御マイクロプロセッサ22に対する適当な合成コマンドが生成される。
図3に示された経路は、広範囲の潜在的な検索照会を扱うことができるが、検索プロセスに導入される待ち時間が長すぎる可能性があるという短所を有する。検索照会が図3に表された変換を通って流れるのに必要な時間が、検索を実行するのに必要な時間と同程度の場合に、検索自体ではなく、コンパイル処理が性能ボトルネックになる可能性がある。この問題には、広範囲のありそうな検索照会について、ほとんどの一般的な事例を扱う事前コンパイルされたハードウェアテンプレートの組を維持することによって対処することができる。これらのテンプレートは、CPU32メモリ内で提供され、かつ維持されるか、CDなどのオフライン記憶媒体を介して入手可能にされるか、大容量記憶媒体26自体に保存されることができる。さらに、そのようなテンプレートを、ネットワークまたはインターネットを介するなど、CPU32に通信することができる。
そのようなハードウェアテンプレート29の一実施形態を、図4に示す。具体的に言うと、データシフトレジスタ27に、1つまたは複数のディスク19のヘッド(図示せず)からの目標データストリーミングが含まれる。比較レジスタに、ユーザがマッチングを望むデータキーが保管される。図示の例では、データキーは「Bagdad」である。細粒度比較(fine−grained comparison)論理デバイス31が、データシフトレジスタ27の要素と比較レジスタ35の要素の間の要素ごとの比較を実行する。細粒度比較論理デバイス31は、大文字小文字を区別するまたはこれを区別しないのいずれかになるように構成することができる。単語レベル比較論理37が、単語レベルの一致が発生したか否かを判定する責任を負う。複合検索照会の場合に、単語レベル一致信号が、その評価のために制御マイクロプロセッサ22に送られる。複合検索照会に対する一致が、その後、さらなる処理のためにCPU32に報告される。
近似マッチングを実行するハードウェアテンプレートの一実施形態を、図5に示す。具体的に言うと、データシフトレジスタ27’に、1つまたは複数のディスク19’のヘッド(図示せず)からの目標データストリーミングが含まれる。比較レジスタ35’に、ユーザがマッチングを望むデータキーが保管される。図示の例では、データキーはやはり「Bagdad」である。細粒度比較論理31’が、データシフトレジスタ27’の要素と比較レジスタ21’の要素の間の要素ごとの比較を実行する。やはり、細粒度比較論理デバイス31’は、大文字小文字を区別するまたはこれを区別しないのいずれかになるように構成することができる。テンプレート29’が、データシフトレジスタ27’内の要素の、細粒度比較論理デバイス21’の個々のセルへの代替ルーティングを提供する。具体的に言うと、細粒度比較論理デバイス31’の各セルは、データシフトレジスタ27’内の複数の位置とマッチングすることができ、比較レジスタ21’は、一般に使用される綴り「Baghdad」ならびに代替の「Bagdad」の両方に、共用ハードウェアでマッチングすることができる。単語レベル比較論理37’が、単語レベルで一致が発生したか否かを判定する責任を負う。複合検索照会の場合に、単語レベル一致信号が、その評価のために制御マイクロプロセッサ22に送られる。複合検索照会に対する一致が、その後、さらなる処理のためにCPU32に報告される。
ハードウェアテンプレートの実際の構成は、もちろん、検索照会タイプに伴って変化する。ハードウェアテンプレートで少量の柔軟性(たとえば、比較レジスタに保管された目標データ、データシフトレジスタ要素および比較レジスタ要素から細粒度比較論理デバイスのセルへの信号のルーティング、および単語レベル比較論理の幅)を提供することによって、そのようなテンプレートが、広範囲の単語マッチングをサポートすることができる。その結果、これによって、図3で表される検索照会変換全体を行わなければならない頻度が減り、これによって、検索の速度が向上する。
「近似」一致検索で識別されるデータ項目に、「正確」検索から生じる「正確」ヒットが含まれることに留意されたい。わかりやすくするために、単語「一致」または「マッチ」を使用する時に、近似検索または正確検索のいずれかを介して見つかった検索結果またはデータ結果が含まれることを理解されたい。句「近似一致」または「近似」だけが使用される時に、これが、上で近似検索として説明した2つの検索あるいは、検索照会または具体的にはデータキーに疎に関係する目標データを収集するの十分に大きい網を有する、それに関する限りではすべての他の種類の「ファジイ」検索のいずれかである可能性があることを理解されたい。もちろん、正確一致は、まさにそのとおりのものであり、高い度合の相関を有する検索照会の正確一致以外の結果を含まない。
図1には、本発明をネットワーク38に相互接続するネットワークインターフェース36も示されており、このネットワーク38は、LAN、WAN、インターネットなどとすることができ、このネットワークに、他のコンピュータシステム40を接続することができる。この構成を用いると、他のコンピュータシステム40が、本発明21を介して大容量記憶媒体26に保管されたデータにも便利にアクセスすることができる。より具体的な例を、下で示す。さらに、図1には、要素20〜24自体が、一緒にパッケージ化され、ディスクドライブアクセラレータを形成することも示されており、このディスクドライブアクセラレータを、それ自体のディスクドライブを有する既存PCを、本発明の利益に適合させる改装デバイスとして別々に提供することができる。その代わりに、ディスクドライブアクセラレータを、ハードドライブに対するオプションとして提供し、外部ドライブと同一のエンクロージャにパッケージ化するか、内蔵ドライブ用のコネクタインターフェースを有する別々のPC基板として提供することもできる。さらに、その代わりに、ディスクドライブアクセラレータを、消費者、会社、または他のエンドユーザが注文するPCの一部として、PC供給業者がオプションとして提供することができる。もう1つの実施形態は、より大きい磁気大容量記憶媒体の一部として、または高められたデータ処理能力を有利に使用できるアプリケーションまたは既存設備用のアップグレードまたは改装キットとして提供することとすることができる。
図6〜図8からわかるように、本発明を、さまざまなコンピュータ構成およびネットワーク構成で使用することができる。図6からわかるように、本発明を、本明細書に開示された本発明を有する大容量記憶媒体47にアクセスする、システムバス45に接続されたCPU43を含む独立型コンピュータシステム41の一部として提供することができる。
図7からわかるように、本発明に結合された大容量記憶媒体51自体を、ネットワーク52に直接に接続することができ、このネットワーク52を介して、複数の独立のコンピュータまたはCPU54が、大容量記憶媒体51にアクセスすることができる。大容量記憶媒体51自体は、RAIDを含むハードディスクドライブのバンク、ディスクファーム、または他の超並列メモリデバイス構成からなるものとして、膨大な量のデータに対するアクセスおよび近似マッチング機能を、大幅に減らされたアクセス時間で提供することができる。
図8からわかるように、本発明に結合された大容量記憶媒体56を、NASD(network attached storage device)としてネットワーク58に接続することができ、このネットワーク58を介して、複数の独立型コンピュータ60が、これにアクセスすることができる。そのような構成では、例示のみのためにディスク57として表された各大容量記憶媒体が、ネットワークに接続されたすべてのプロセッサからアクセス可能であることが企図されている。そのような構成の1つに、一意のIPアドレスまたは他のネットワークアドレスを、各大容量記憶媒体に割り当てることが含まれる。
図1および図6〜図8に示された構成によって例示される構成は、本発明が互換であり、非常に有用であるさまざまなコンピュータ構成およびネットワーク構成の例を表すにすぎない。他の構成が、当業者に明白であり、本発明は、本明細書に示された例を介して制限されることを意図されておらず、これらの例は、そうではなく、本発明の多用途性を例示することを意図されたものである。
図9からわかるように、正確マッチングまたは近似マッチングで使用される本発明の方法を、その代わりに、アナログデータ領域とディジタルデータ領域のどちらが検索されているかに関して説明する。しかし、この方法の開始から始めて、CPUは、ある機能を実行し、その間に、CPUは、大容量記憶媒体に保管された目標データにアクセスすることを選択することができる。通常、CPUは、検索照会アプリケーション62を実行し、この検索照会アプリケーション62は、DNA検索、インターネット検索、アナログ音声検索、指紋検索、イメージ検索、または、その間に目標データとの正確マッチまたは近似マッチが望まれる他のそのような検索を表すものとすることができる。検索照会に、ディスク制御ユニット28および再構成可能論理デバイス20が大容量記憶媒体26からデータキーを正しく得るために有しなければならない、さまざまなパラメータを指定するディレクティブ(directive)が含まれる。パラメータの例に、記憶装置を走査する開始位置、その後に(一致がない場合に)走査を停止する最終位置、走査に使用されるデータキー、マッチングの近似性質の指定、および一致が発生した時に返さなければならない情報が含まれるが、これらに制限はされない。返されることのできる情報の種類に、一致が見つかった情報の位置、またはマッチした情報を含むセクタ、レコード、レコードの部分、もしくは他のデータ集合が含まれる。データ集合は、マッチの際に返されるデータを、境界データ指定子の間になるように指定し、マッチしたデータが境界フィールド内に含まれるようにすることができるという点で、動的に指定することもできる。図5の例で示したように、テキストのストリング内で単語「bagdad」を探すことによって、単語「Baghdad」の、誤綴りに起因する近似一致を見つけ、囲む文によって画定されたデータフィールドを返すことができる。もう1つの照会パラメータは、返される情報を、システム、入出力バス34、またはディスクキャッシュ30のどれに送らなければならないかを示す。
図9に戻って、検索照会は、通常、1つまたは複数のオペレーティングシステムユーティリティの実行をもたらす。高水準ユーティリティコマンドの例として、UNIX(登録商標)オペレーティングシステムについて、これを、glimpse、find、grep、aproposなどの変更されたバージョンとすることができる。これらの機能は、CPUに、検索、近似検索などのコマンド66を再構成可能論理デバイス21に送らせ、これらのコマンドの関連部分は、たとえば大容量記憶媒体から目標データを正しく読み取るのに後に必要になる大容量記憶媒体位置決めアクティビティ69を開始するために、ディスクコントローラ28にも送られる。
この時点で、本発明の特定の実施形態で実施されることが望まれる特定の方法に応じて、アナログまたはディジタルのデータキーを決定する必要がある。このデータキーは、テキスト検索について正確または近似のいずれかとすることができるが、検索されるデータに対応する。アナログデータキーについて、これは、大容量記憶媒体などに事前に保管されるか、専用回路を使用して開発されるか、生成される必要があるかのいずれかとすることができる。アナログデータキーを事前に保管しなければならない場合に、事前に保管されたデータキー送信ステップ68は、マイクロプロセッサ22(図1参照)によって実行され、このマイクロプロセッサ22は、ステップ70に示されているように、データキーを、ディジタルのサンプリングされたフォーマットで再構成可能論理デバイス20に送る。その代わりに、アナログデータキーを事前に保管しない場合に、これを、複数の機構の1つを使用して開発することができ、これらの機構のうちの2つを図9に示す。1つの機構では、マイクロプロセッサ22が、ステップ72でデータキーを磁気大容量記憶媒体に書き込み、次に、ステップ74で、データキーのアナログ信号表現を生成するためにデータキーを読み取る。もう1つの機構では、ステップ71で、CPUから受け取ったデータキーのディジタルバーションを、適切なディジタル−アナログ回路を使用してアナログ信号表現に変換することができ、このアナログ信号表現が、適切にサンプリングされる。データキーは、次に、ステップ70で、そのディジタルサンプルとして保管される。ディジタルデータキーが使用される場合に、マイクロプロセッサ22が、ステップ76で、再構成可能論理デバイスの比較レジスタに、そのディジタルデータキーを保管することだけが必要である。再構成可能論理デバイスごとに含まれることが望まれる特定の構造に応じて、データキーが、これらの構成要素のいずれかまたはすべてに存在することができ、データキーの適切なディジタルフォーマットを、比較および相関のために再構成可能論理デバイス21に最終的に与えることが、単に好ましいことを理解されたい。
次に、大容量記憶媒体26が、79でその開始位置に達した後に、その大容量記憶媒体に保管された目標データが、ステップ78で継続的に読み取られて、目標データを表す継続的ストリーム信号が生成される。アナログデータキーが使用された場合には、このアナログデータキーを、ステップ80で、大容量記憶媒体26からの目標データのアナログ読みと相関させることができる。
本発明では、多数の従来技術の比較器および相関回路のどれであっても使用できることが企図されているが、目的について、本発明人は、アナログ信号およびデータキーのディジタルサンプリングが、下で説明するように、そのような比較の実行および相関係数の計算の実行に非常に有用である可能性があることを提案する。大容量記憶媒体26から目標データを読み取ることから生成されるこのアナログ信号は、従来技術のデバイスによって、アナログデータまたはディジタルデータのいずれかの読み取りから便利に生成することができ、ディジタルデータキーを、大容量記憶媒体26に保管されたディジタル目標データとのマッチングに使用する必要がないことに留意されたい。その代わりに、相関ステップ82を、ディジタルデータキーを、大容量記憶媒体26から読み取られたディジタル目標データのストリームとマッチングすることによって実行することができる。データキーが、近似情報を含めることを反映することができ、あるいは、再構成可能論理デバイス21を、これを可能にするためにプログラムできることに留意されたい。したがって、大容量記憶媒体から読み取られた目標データとの相関によって、近似マッチング機能が可能になる。
図9を参照すると、判断論理84は、次に、目標データの一部が、データキーに近時一致するか否かに関する知的判断を行う。一致が見つかった場合に、目標データをステップ86で処理し、検索照会によって要求されたキーデータを、ディスクキャッシュ30に送るか、システムバス34に直接に送るか、他の形でバッファリングするか、CPU32、ネットワークインターフェース36、または図1および図6〜図8に示された他で使用可能にする。「do」ループに似たものを示す論理ステップ88が、大容量記憶媒体26からの目標データの継続的読み取りに戻るために含まれることが好ましい。しかし、これが、継続的処理であり、目標データが、個別化されたチャンク、フレーム、バイト、またはデータの他の所定部分ではなく、ストリームとして大容量記憶媒体26から処理されることを理解されたい。これは除外されてはいないが、本発明は、大容量記憶媒体26からの目標データの読み取りにためらいがなくなるように、連続的に変化する目標データ読み取り信号に対して、本質的にデータキーを「スライド」させることができるようになることが好ましい。読み取りを、マルチビットデータ構造の先頭または末尾に同期化するという要件はなく、目標データが大容量記憶媒体26から読み取られる際に、目標データを「オンザフライで」継続的に比較する時に、他の中間ステップを実行する必要もない。最終的に、データアクセスは、ステップ90で完了し、この処理が完了する。
本発明人は、アナログ領域で本発明を予備的にテストし、生成された予備データに、その実施可能性および有効性を実証させた。具体的に言うと、図10は、読取/書込ヘッドが、10ビットディジタルデータキーを保管された磁気媒体を読み取る時に、読取/書込ヘッドからの測定されたアナログ信号出力のグラフ表現である。このグラフに示されているように、アナログ信号に、当技術分野で知られているように、目標データがハードディスクなどの磁気媒体から読み取られる時に、読取/書込ヘッドによって生成される真のアナログ信号を表すピークがある。図10に示されたスケールは、縦軸ではボルト、横軸では10分の1マイクロ秒である。図11からわかるように、目標データが、磁気媒体のテスト部分に保管された擬似ランダムバイナリシーケンスから読み取られる時に、やはり読み取り/書込ヘッドによってアナログ信号が生成される。この読み取り信号は、このレベルで検査される時に、理想的な方形波出力を提供しない。
図12は、8ビットデータキーの約2ビットと、ディスクまたは磁気媒体の異なる位置で符号化された擬似ランダムバイナリシーケンスに見られる目標データの対応する2ビットとの間のオーバーラップをより具体的に示すために、水平スケールを広げられたグラフ表現である。
図13は、ハードディスクからの目標データの継続的な読み取りとデータキーとの間で比較が行われる時に、継続的に計算される相関係数のグラフ表現である。この相関係数は、高い速度でアナログ信号をサンプリングし、従来技術の信号処理相関技術を使用することによって計算された。そのような例の1つが、その開示が参照によって本明細書に組み込まれている、Hoinville、Indeck、およびMuller著、「Spatial Noise Phenomena of Longitudinal Magnetic Recording Media」、IEEE Transactions on Magnetics、Volume 28、no.6、1992年11月に見られる。読み取り、比較、および係数計算の方法および装置の従来の例が、その開示が参照によって本明細書に組み込まれる、米国特許第5740244号など、共同発明人の以前の特許の1つのうちの1つまたは複数にある。前述は、本発明を実施するのに使用できるデバイスおよび方法の例を表すが、本明細書の他所で述べるように、他の類似するデバイスおよび方法を、同様に使用することができ、本発明の目的を実現することができる。
図13からわかるように、325のラベルを付けられた点の近くで、1ボルトに達する明確なピークが、約200マイクロ秒で注目され、データキーと目標データとの間の非常に近い一致を示している。図10は、本発明の強力な態様と思われる近似マッチングの可能性も示すものである。図13をよく調べると、相関係数に現れる他のより低いピークがあることが注目される。したがって、0.4ボルトの閾値が、判断点として確立された場合に、1に達する発生するピークだけが、一致または「ヒット」を示すのではなく、別の5つのピークも、「ヒット」を示す。この形で、所望の係数値を、望み通りに調整するか事前に決定して、特定の検索パラメータに合わせることができる。たとえば、テキストの長い本体で特定の単語を検索する時に、より低い相関値は、その単語が存在するが綴りが誤っていることを示すことができる。
図14に、同一の8ビットデータキーの間であるが、異なる目標データをセットされた状態の相関係数の継続的計算を示す。やはり、単一の一致が、約200マイクロ秒で見つかり、このピークは1ボルトに達する。より低い閾値が確立されたならば、目標データ内で追加のヒットが見つかることにも留意されたい。
前に述べたように、本発明は、シーケンスマッチング検索を実行することもできる。図15に関して、テーブル38は、そのような検索を実行するために再構成可能論理デバイス20によって生成されたものである。具体的に言うと、pは、データキー、p、または検索される所望のシーケンスを表す。図15のデータキーは、4つの文字だけを示すが、これは、例示のためのみであり、シーケンス検索の通常のデータキーサイズが、500〜1000個程度またはそれより多いことを理解されたい。記号t、t、t…tは、大容量記憶媒体26からストリーミングされる目標データ、tを表す。やはり、そのようなデータのうちの9文字だけが示されているが、大容量記憶媒体26の通常のサイズ、したがってそれからの目標データストリーミングの通常のサイズが、通常は、数十億文字の範囲になる可能性があることを理解されたい。記号di,jは、データキー内の位置iおよび目標データ内の位置jでの編集距離(edit distance)を表す。そうである必要はないが、データキーが、目標データに対してより短いと仮定する。図15に示されていない追加の行(d0,j)および列(di,0)の知られている(定数)値の組がある場合がある。
di,jの値は、di,jが、(1)pi、(2)tj、(3)di−1,j−1、(4)di−1,j、および(5)di,j−1の関数にすぎないという事実を使用して、再構成可能論理デバイス20によって計算される。これは、図15で、位置d3,6に関して、d2,5、d2,6、およびd3,5、ならびにp3およびt6の値に対する依存性を示すことによって示されている。一実施形態で、di,jの値は、次のように計算される。
di,j=max[di,j−1+A;di−1,j+A;di−1,j−1+Bi,j]
ここで、Aは定数であり、Bi,jは、piおよびtjのタブラ関数(tabular function)である。しかし、この関数の形は、非常に任意とすることができる。生物学の文献では、Bを評価関数(scoring function)と呼ぶ。人気のあるデータベース検索プログラムBLASTでは、スコアが、pi=tjであるか否かの関数にすぎない。アミノ酸配列に関するものなど、他の文脈では、Bの値が、pおよびtの特定の文字に応じる。
図16に、図15のテーブル38の値を計算するために、本発明が使用するシストリックアレイアーキテクチャの一実施形態を示す。データキーの文字は、データレジスタ53の列に保管され、大容量記憶媒体26からの目標データストリーミングの文字は、データシフトレジスタ55に保管される。di,jの値は、好ましくはそれ自体がFPGAであるシストリックセル59に保管される。
図16のアレイの動作を、これから、図17および図18を使用して説明する。図17からわかるように、システムのクロックサイクルの最初(すなわち組合せ)部分で、4つの下線付きの値が計算される。たとえば、新しい値d3,6は、前に図15で示したものと同一の5つの値に応じることが示されている。図18からわかるように、クロックサイクルの第2の(すなわちラッチ)部分で、di,jおよびtjのすべての文字が、右に1位置だけシフトされる。比較器61が、dアレイの各対角線セルに位置し、閾値を超えた時を判定する。
シーケンスマッチング動作を、これから、図19〜図22を参照して、次の例に関して説明する。
キー=axbacs
目標データ=pqraxabcstvq
A=1
i=jの場合にB=2
i=jの場合にB=−2
これらの変数から、図19のテーブルが、再構成可能論理デバイス20によって生成される。事前に決定された閾値「8」を仮定すると、再構成可能論理デバイス20は、d6,9で一致を認識する。
この例の図16〜図18に存在する値を表す合成アレイの部分を、それぞれ図20〜図22に示す。一致は、ある行の値が所定の閾値を超える時に、再構成可能論理デバイス20によって識別される。閾値は、データキーと大容量記憶媒体26に保管された目標データとの間で望まれる類似性の所望の度合に基づいてセットされる。たとえば、正確一致検索の場合に、データキーと目標キーが同一でなければならない。一致は、CPU32によって、図19のテーブルを用いるトレースバック動作を介して検査される。具体的に言うと、テーブルの「スナップショット」が、所定の時間間隔にCPU32に送られて、一致が識別された後のトレースバック動作が支援される。間隔は、CPU32に重荷を与えないようにあまり頻繁でないが、テーブルの再作成に長い時間と大量の処理を必要としない程度に頻繁であることが好ましい。CPU32がトレースバック動作を実行できるようにするために、テーブル内の閾値を超えた項目を囲む区域でdアレイを再作成できなければならない。この要件をサポートするために、シストリックアレイが、dの完全な列の値(「スナップショット」)を周期的にCPU32に出力することができる。これによって、CPU32が、スナップショットのインデックスjより大きいdの必要な部分を再作成できるようになる。
多くのマッチングアプリケーションが、イメージなど、2次元エンティティを表すデータを操作する。図23に、2次元データに対するマッチングを可能にする、再構成可能論理デバイス20、好ましくはFPGAのシストリックアレイ120を示す。個々のセル122それぞれが、ユーザがマッチングを望むイメージの1画素(イメージキー)と、検索されるイメージの1画素(目標イメージ)を保持する。十分に大きいサイズのイメージについて、それが1つの再構成可能論理チップ124におさまらない可能性が高い。その場合に、チップへのセルの候補区分が、破線によって示されており、セルの長方形サブアレイが、各チップ124に置かれる。チップ対チップ接続の個数は、正方形のサブアレイ(すなわち、縦次元と横次元で同一個数のセル)を使用することによって、最小にすることができる。他のより複雑な構成を、下で示す。
アレイ120への目標イメージのローディングを、図24を使用して説明する。各セルを接続する水平リンク134を介してアレイの最上行130への、全般的に点Aとして示されている、大容量記憶媒体26からストリーミングされる各目標イメージの個々の行。そのような構成を用いると、最上行130が、データシフトレジスタとして動作する。行130全体がロードされた時に、その行が、各列に示された垂直リンク136を介して、次の行132にシフトダウンされる。イメージ全体がアレイにロードされたならば、比較動作が実行され、これは、離接セル間の任意の通信を必要とする可能性がある。これは、図23に示された水平両方向リンク126と垂直両方向リンク128の両方によってサポートされる。
図を単純にするために、個々の両方向リンク126および128が、図23および図24で単純に図示されているが、図28に、両方向リンクのはるかに複雑な組を実施する柔軟性を示す。図28からわかるように、データを、大容量記憶媒体180から通信し、複数のセル182の第1行に入力することができ、第1行の各セルは、その下のセルの第2行の対応するセル184への単純なリンク186による直接リンクを有し、セルのアレイ188全体でそうなっている。セルのアレイ188の上にあるのが、コネクタウェブ190であり、このコネクタウェブ190は、中間にあるセルを介する伝送を必要とせずに、アレイ内の任意の2つのセルの間の直接接続性をもたらす。アレイ188の出力は、アレイ188の下端の出口リンク192の合計によって表されている。アレイ内の各セルを、FPGAからなるものとすることができ、そのそれぞれが、好ましくは図1の要素20に対応する再構成可能論理要素を有し、あるいは、そのいずれかが、再構成可能論理デバイス20ならびにデータシフトレジスタ24を有することができ、あるいは、そのいずれかが、再構成可能論理デバイス21の全体を有することができることを理解されたい。
アレイ120の個々のセルの一実施形態を、図25に示す。セル140に、画素レジスタ142、LOADTi,jが含まれ、この画素レジスタ142に、アレイに現在ロードされている目標イメージの画素が含まれる。レジスタ144、CMPTi,jには、完全な目標イメージがロードされた後に、画素レジスタ142のコピーが含まれる。この構成は、ロードされた最後の目標イメージを、次にロードされる目標イメージと並列に比較することを可能にし、本質的に、ロード、比較、ロード、比較などのパイプライン化されたシーケンスを確立する。レジスタ146、CMPPi,jには、比較に使用されるイメージキーの画素が含まれ、比較論理148が、レジスタ144とレジスタ146との間のマッチング動作を実行する。比較論理148に、それぞれ全般的に150、152、154、および156として示された、左右上下の隣接セルと通信して、複雑なマッチング機能を可能にする能力を含めることができる。
図23のアレイ120の個々のセルのもう1つの実施形態を、図26に示す。図25のセル140が、イメージキーと目標イメージの同時ロードをサポートするように増補されている。具体的に言うと、セル160には、セル140と同一の構成要素が含まれるが、新しいレジスタ162、LOADPi,jが追加され、このレジスタ162は、イメージキーのロードに使用され、レジスタ142と同一の形で動作する。そのような構成を用いると、大容量記憶媒体26の1つのディスク読取ヘッドが、イメージキーの上に位置決めされ、第2のディスク読取ヘッドが、目標イメージの上に位置決めされている場合に、これらの両方が、ディスクから並列に流し、アレイ160に同時にロードされることができる。
比較論理ブロック内で実行される動作は、目標イメージとイメージキーとの間に大きい相違があるか否かに関する判断を提供する任意の機能とすることができる。例に、参照によって本明細書に組み込まれる、John C.Russ著「The Image Processing Handbook」、3rd edition、CRC Press、1999年に記載の、イメージ全体またはイメージのサブ領域にまたがる相互相関が含まれる。
本発明は、データ削減検索を実行することもできる。そのような検索では、本明細書で前に説明したマッチングが用いられるが、ある集約形式でマッチングされたデータを要約することが含まれる。たとえば、金融産業で、株の最低価格、最高価格、および最新価格を識別するために、金融情報を検索したい場合がある。そのような集約データ削減を計算する再構成可能論理デバイスを、図27に100として示す。この図では、データシフトレジスタ102が、株価情報を含む大容量記憶媒体から目標データを読み取る。図示の例では、3つのデータ削減検索、すなわち、最低価格、最高価格、および最新価格の計算が示されている。目標データが、データシフトレジスタ102に供給された時に、判断論理が、所望のデータ削減動作を計算する。具体的に言うと、株価が、最低価格比較器110および最高価格比較器112に供給され、それらに保管される。株価が比較器110に供給されるたびに、比較器110は、最後に保管された株価を現在供給されている株価と比較し、低い方がデータレジスタ104に保管される。同様に、株価が比較器112に供給されるたびに、比較器112は、最後に保管された株価を現在供給されている株価と比較し、高い方がデータレジスタ106に保管される。最新価格を計算するために、株価が、データレジスタ108に供給され、現在時刻が、比較器114に供給される。時刻値が比較器114に供給されるたびに、比較器114は、最後に保管された時刻を現在時刻と比較し、新しい方がデータレジスタ116に保管される。その後、計算が行われている所望の時間間隔の終りに、最新価格が判定される。
データ削減検索を、図27に示された非常に単純な金融の例に関して説明したが、本発明が、そのような機能性を必要とするさまざまな複雑さのさまざまな異なる応用例のデータ削減検索を実行できることを理解されたい。再構成可能論理デバイスは、単に、必要な機能を実行するハードウェアおよび/またはソフトウェアを用いて構成される必要がある。
ディスク回転速度でデータ削減検索を実行する能力は、過小評価することができない。情報の最も貴重な態様の1つが、その適時性である。人々は、物事がインターネット速度であることを期待するようになりつつある。集約データ削減を素早く計算できる会社は、明らかに、それができない会社に対する競争上の強みを有する。
さらに、検索および削減以外のデータ処理動作も、再構成可能論理デバイス21で実施することができる。上で述べたように、これらの動作を、本明細書ではデータ操作動作と称する。PLD20で実行できるデータ操作動作またはそのサブ動作の例に、暗号化動作、暗号解読動作、圧縮動作、および伸張動作が含まれる。好ましいPLD20は、FPGAであり、より好ましくはXilinx社のFPGAである。さらに、これらの追加動作のどれであっても、事実上すべての形で検索動作および/または削減動作と組み合わせて、追加の速度、柔軟性、およびセキュリティを提供するマルチステージデータ処理パイプラインを形成することができる。各動作の複雑さは、事実上無制限であり、再構成可能論理デバイス21のリソースおよび本発明を実践する人の性能要件のみによって制限される。各処理動作を、必要に応じて、単一のステージまたは複数のステージで実施することができる。
図29に、図1に示されたシステムの再構成可能論理デバイス21内で実施されたマルチステージ処理パイプライン200を示す。パイプライン200内の少なくとも1つのステージが、PLD上で実施される。パイプライン200の各ステージ202は、それが受け取るデータを、その所期の機能性(たとえば、圧縮、伸張、暗号化、暗号解読)に従って処理し、その後、処理されたデータを、パイプラインの次のステージ、前のステージ、または制御プロセッサ204のいずれかに渡すように構成されている。たとえば、パイプライン200の第1のステージ202は、大容量記憶媒体26からのデータストリーミングを操作し、その機能性に従ってそのデータを処理する。ステージ1によって処理されたデータは、その後、さらなる処理のためにステージ2に渡され、以下同様にしてステージNに達する。データが、すべての適切なステージ202を通過した後に、その処理の結果を、システムバス34を介して、制御プロセッサ204および/またはコンピュータに転送することができる。
図29のこの例示的なパイプライン200を複製し、その結果、別々のパイプライン200が、大容量記憶媒体26のディスクシステムの各ヘッドに関連するようにすることができる。そのような構成によって、複数のデータストリームがディスクから読み出される時に、これら複数のデータストリームに対する並列処理動作の実行に関連する性能が改善される。システム内に他の性能ボトルネックがない場合に、スループットが、使用されるパイプライン200の数に伴って線形に向上すると期待される。
各ステージを、必ずしも再構成可能論理デバイス21内のPLD20で実施する必要がないことに留意されたい。たとえば、一部のステージを、PLD20からアクセス可能なプロセッサ上のソフトウェア(図示せず)または専用ハードウェア(図示せず)で実施することができる。各ステージの正確な構成、およびPLD20上、ソフトウェア、またはASICなどの専用ハードウェアでの各ステージの実施の判断は、各実践する人の計画に適用可能な、関連するコスト制約、性能制約、およびリソース制約に応じる。しかし、完全にFPGAなどのPLD20内でのパイプライン化を使用することによって、処理スループットを大きく高めることができる。したがって、フィードバック経路を有しない平衡のとれたパイプライン(すなわち、各ステージが同一の実行時間を有するパイプライン)について、データスループットの向上は、ステージ数に正比例する。上で述べたように、他のボトルネックがないと仮定すると、Nステージがある場合に、N倍のスループット向上を期待することができる。しかし、マルチステージパイプラインが、ステージの間のフィードバックを使用することもでき、これは、実装コストを減らすか効率を高めるために、ある動作(たとえば、一部の暗号化動作)に望ましい可能性があることに留意されたい。
図30に、最初の4つのステージ202に暗号解読エンジン210が含まれる、例示的なマルチステージパイプライン200を示す。この例の暗号解読エンジン210は、大容量記憶媒体26から暗号化され圧縮されたデータストリーミングを受け取るように動作する。第5のステージ202は、伸張エンジンとして働いて、暗号解読エンジン210を出た暗号解読された圧縮データを伸張する。したがって、伸張エンジンの出力は、ステージ6の検索エンジンによって処理される準備のできた、暗号解読され伸張されたデータのストリームである。制御プロセッサ204は、各ステージを制御して、それらを通る正しいフローを保証する。制御プロセッサ204は、各パイプラインステージに関連するパラメータ(適切な場合に、ソフトウェアで実施されるステージのパラメータを含む)をセットアップすることが好ましい。
図31に、PLDが、システムバス34から大容量記憶媒体26に流れるデータ、または大容量記憶媒体26からシステムバス34に流れるデータのいずれかの暗号化エンジンとして使用される例を示す。図32に、パイプライン200が複数の処理エンジン(それぞれが1つまたは複数のステージからなる)からなり、この処理エンジンのそれぞれが、エンジンが受け取ったデータに対して列挙されたタスクを実行するように制御プロセッサ204によってアクティブ化されるか、受け取ったデータに関して「パススルー」として働くように制御プロセッサ204によって非アクティブ化されるかのいずれかになることができる、もう1つの例示的パイプラインを示す。異なるエンジンのアクティブ化/非アクティブ化は、パイプラインに望まれる機能性に応じる。たとえば、大容量記憶媒体26に保管された暗号化され圧縮されたデータに対する検索動作の実行が望まれる場合に、暗号解読エンジン210、伸張エンジン214、および検索エンジン218のそれぞれをアクティブ化すると同時に、暗号化エンジン212および圧縮エンジン216のそれぞれを非アクティブ化することができ、同様に、暗号化されていないデータを、大容量記憶媒体に圧縮され暗号化されたフォーマットで保管することが望まれる場合に、圧縮エンジン216および暗号化エンジン212をアクティブ化すると同時に、暗号解読エンジン210、伸張エンジン214、および検索エンジン218のそれぞれを非アクティブ化することができる。本明細書の教示を読んだ時に当業者が理解するように、他のアクティブ化/非アクティブ化の組合せを、パイプライン200に望まれる機能性に応じて使用することができる。
高度な暗号化/暗号解読アルゴリズムは、計算の複雑な組を必要とする。使用される特定のアルゴリズムに応じて、ディスク速度での暗号化/暗号解読の実行は、暗号化/暗号解読エンジンに到着するストリーミングデータに追い付くために、高度な技術を使用することを必要とする。本発明のPLDベースアーキテクチャは、比較的単純な暗号化/暗号解読アルゴリズムの実装だけではなく、複雑な暗号化/暗号解読アルゴリズムの実装もサポートする。DES、Triple DES、AESなどを含むがこれに制限されない、事実上すべての知られている暗号化/暗号解読技術を、本発明の実践で使用することができる。それらのすべての開示全体が参照によって本明細書に組み込まれる、Chodowiec他著、「Fast Implementations of Secret−Key Block Ciphers Using Mixed Inter−and Outer−Round Pipelining」、Proceedings of International Symposium on FPGAs、94〜102ページ(2001年2月)、FIPS 46−2、「Data Encryption Standard」revised version issued as FIPS 46−3、National Institute of Standards and Technology(1999年)、ANSI x9.52−1998、「Triple Data Encryption Algorithm Modes of Operation」、American National Standards Institute(1998年)、FIPS 197、「Advanced Encryption Standard」、National Institute of Standards and Technology(2001年)を参照されたい。
図33に、本発明を用いて実施できる単一ステージ暗号化の例を示す。データフローの向きは、上から下である。テキストのブロック(通常は64ビットまたは128ビット)が、入力レジスタ220にロードされる(制御プロセッサ204またはCPU32のいずれかによって)。組合せ論理(CL)224が、暗号ラウンドを計算し、そのラウンドの結果が出力レジスタ226に保管される。中間ラウンド中に、出力レジスタ226の内容が、フィードバック経路225を介し、MUX222を介してCL224にフィードバックされて、後続ラウンドが計算される。最終ラウンドの完了時に、出力レジスタ内のデータが、暗号化されたブロックであり、大容量記憶媒体に保管される準備ができている。この構成は、単一ステージ暗号解読エンジンとしても使用することができ、この場合に、暗号を計算するCLが、暗号化論理ではなく暗号解読論理になる。 図33に示された暗号化エンジンのスループットは、パイプライン化技術の使用を介して改善することができる。図34に、ラウンド自体の組合せ論理内にパイプライン化がある、パイプライン化された暗号化エンジンの例を示す。各CL224に、複数のラウンド内パイプラインレジスタ228が含まれる。使用されるラウンド内パイプラインレジスタ228の数は、可変とすることができ、CLあたり2個に制限する必要はない。さらに、フィードバック経路225によって表されるループを、それぞれがその間にラウンド間パイプラインレジスタ230を有する、ラウンドCLの複数のコピー224a、224b、…を用いてアンロールすることができる。各CL224のラウンド内パイプラインレジスタ228の数と同様に、アンロールの度合(すなわち、ラウンドCL224の数)も柔軟である。図33の暗号化エンジンに対して、図34のエンジンが、PLD20上のより多くのリソースを消費するが、より高いデータスループットを提供することに留意されたい。
図35に、ラウンドが完全にアンロールされている、暗号化エンジンの例を示す。図33および図34のフィードバック経路225は、もはや不要であり、データは、入力レジスタ220からCL224のパイプライン(それぞれが、複数のラウンド内パイプラインレジスタ228を含み、ラウンド間パイプラインレジスタ230によって分離されている)を介して、出力レジスタ226に継続的に流れることができる。図33および図34の暗号化エンジンに対して、この構成は、最高のデータスループットを実現するが、再構成可能論理内で最大の量のリソースを必要とする。
多くの情況で、データは、図36に示されているように、データウェアハウスに保存される。データウェアハウス(データが常駐する実際のハードウェアおよび関連データベーステクノロジ)を所有する人または実体は、しばしば、そこに保管された実際のデータを所有する人または実体と同一でない。たとえば、当事者A(データウェアハウザ)が、データウェアハウスを所有し、データウェアハウジングサービスを当事者B(当事者Aのデータウェアハウスを使用して、物理的にデータを保管するデータ所有者)に提供する場合に、データ所有者は、このデータウェアハウザのウェアハウスに保管されたデータにアクセスできる第三者に関する正当な懸念を有する。すなわち、図36に示されているように、データウェアハウザは、データへの物理的アクセスを制御するが、誰がアクセスゲートウェイを介してデータに物理的にアクセスできるかを制御することを望むのは、データ所有者である。その場合に、データ所有者のデータを、暗号化されたフォーマットでデータウェアハウスに保管することが便利であり、データ所有者は、保管されたデータの暗号解読アルゴリズムおよび/または暗号解読キーの配信に対する制御を保つ。この形で、許可されない第三者が、データ所有者の暗号化されていないフォーマットのデータへのアクセスを得る危険性が減らされる。そのような構成では、データウェアハウザは、データ所有者の保管されたデータの暗号化されてないバージョンへのアクセスを与えられない。
データ所有者が、データウェアハウスからインターネットなどのネットワークを介して当事者Cに、保管された暗号化されたデータのすべてまたは一部を通信することを望む場合に、そのデータを、別の形の暗号化(たとえば、異なるアルゴリズムおよび/または異なる暗号解読キー)を介して、ネットワークを介する配信中に保護することができる。データ所有者は、データの暗号解読に適当なアルゴリズムおよび/またはキーを当事者Cに与えることができる。この形で、データ所有者および許可された第三者が、暗号解読された(平文の)データへのアクセスを有する2つだけの当事者になる。しかし、許可された第三者は、まだデータウェアハウスに保管されているデータ所有者のデータを暗号解読することができない。というのは、そのデータが、受信されたデータと異なるモードの暗号化を所有するからである。
普通は、データウェアハウジングシナリオで暗号化/暗号解読を実行するのに必要な計算は、データウェアハウザが所有し、かつその直接の制御の下にあるコンピュータ上のソフトウェアで実行される。そのような情況では、図37に示されているように、暗号解読動作の出力である平文が、暗号化/暗号解読動作の実行に使用されるプロセッサのメインメモリに保管される。このソフトウェア(またはそのプロセッサで動作する他のソフトウェア)が、ウィルスまたは他のマルウェアによって危険にさらされている場合に、データ所有者は、未知の当事者に対する平文テキストデータの制御を失う可能性がある。したがって、従来の方法を用いると、データウェアハウザおよび未知のマルウェア関連当事者のうちの一方または両方が、プロセッサメインメモリへのアクセスを有し、したがって、データ所有者の平文形式のデータへのアクセスを有する。
このセキュリティの短所を改善するために、本発明を使用して、図38に示されているように、データ所有者だけが制御を有する再構成可能論理デバイス21(好ましくはPLD20内)で暗号化および暗号解読を実施することができる。図38では、キー1を使用する暗号解読エンジン3800およびキー2を使用する暗号化エンジン3802が、PLD20で実施されている。再構成可能論理デバイス21は、データ所有者の制御の下にあり、好ましくは(そうである必要がない場合もあるが)インターネットなどのネットワークを介してデータウェアハウザのデータストアと通信して、データ所有者の暗号化されたデータのストリーム3806を受信する(保管されたデータは、前にキー1を使用して暗号化されたものである)。したがって、暗号解読エンジン3800は、キー1を使用して、データストリーム3806を暗号解読するように動作する。暗号解読エンジン3800の出力3804は、暗号解読された(または平文)フォーマットの、データ所有者のデータである。このデータは、PLDのセキュアメモリまたはセキュアオンボードメモリ内にある。このセキュアメモリは、その上にマルウェアを有する可能性があるソフトウェアに不可視であり、かつアクセス不能なので、「ハッカー」に対する平文データの制御を失う危険性が、事実上除去される。その後、平文データ3804が、暗号化エンジン3802に供給され、この暗号化エンジン3802は、キー2を使用して、データ3806を暗号化する。暗号化エンジン3802の出力は、新たに暗号化されたデータ3808であり、許可された第三者のデータ要求元に配信されることができる。したがって、インターネットなどのネットワークを介するデータ3808のセキュア配信を維持することができる。許可された第三者の要求元がデータ3808を解釈するために、データ所有者は、その第三者にキー2を与えることができる。
図39aおよび図39bに、本発明のこの特徴に関する実施形態を示す。図39aに、コンピュータサーバにインストールすることができる回路基板3900を示す。PCI−Xコネクタ3916が、基板3900をサーバのシステムバス34(図示せず)にインターフェースするように働く。FPGAなどのPLD20が、基板3900上に実装されている。FPGA内に、3つの機能すなわち、外部環境との接続を提供するファームウェアソケット3908、暗号解読エンジン3904、および暗号化エンジン3902が実装されることが好ましい。FPGAは、FPGAだけに接続されたオンボードメモリ3906とも通信することが好ましい。オンボードメモリ3906に好ましいメモリデバイスは、SRAMまたはDRAMである。メモリ3906のアドレス空間および存在は、FPGAだけに可視である。FPGAは、プライベートPCI−Xバス3910を介してディスクコントローラ3912(SCSI、Fiber Channel、または類似物を使用する)にも接続されることが好ましい。ディスクコネクタ3914が、データウェアハウスとして働くことのできる大容量記憶媒体26(図示せず)にディスクコントローラ3912をインターフェースすることが好ましい。ディスクコントローラ3912およびディスクコネクタ3914は、当技術分野でよく知られている既製構成要素である。製造業者の例に、Adaptec社およびLSI社が含まれる。
大容量記憶媒体26への通常の読取/書込アクセスをサポートするために、FPGAは、PCI−Xコネクタ3916を内部PCI−Xバス3910にリンクする、PCI−X対PCI−Xブリッジとして構成されることが好ましい。これらのブリッジング動作は、ファームウェアソケット3908内で実行され、その機能性は、当技術分野で知られている。PCI−Express、PCI、Infiniband、およびIPを含むがこれに制限されない、PCI−X以外の通信パスウェイを使用することができる。
暗号化/暗号解読機能性をサポートするために、大容量記憶媒体26から基板3900へのデータストリーミングは、暗号解読エンジン3904に供給される。暗号解読エンジン3904の平文出力は、メモリ3906(図39a)に保管するか、FPGA内部のメモリ(図39b)に保管するか、この2つのある組合せとすることができる。その後、暗号化エンジン3902が、メモリ3906、内部FPGAメモリ、またはこの2つの組合せに保管された平文データを、保管されたデータの暗号解読に使用されたキーと異なるキーを使用して暗号化する。オンボードメモリ3906または内部FPGAメモリのどちらを使用するかの選択は、使用可能なFPGAリソース、暗号解読/暗号化されるデータの量、使用される暗号解読/暗号化のタイプ、および所望のスループット性能特性を含むがこれに制限されない、さまざまな考慮事項に応じる。
平文が、オンボードメモリ3906または内部FPGAメモリに存在する時間中に、この平文データは、マザーボードバス34にアクセスするプロセッサからアクセス可能でない。というのは、メモリ3906または内部FPGAメモリとPCI−Xコネクタ3916との間に直接接続がないからである。したがって、メモリ3906および内部FPGAメモリは、そのようなプロセッサのアドレス空間内になく、これは、導出により、メモリ3906および内部FPGAメモリが、そのプロセッサに存在する可能性があるすべてのマルウェアによってアクセス可能でないことを意味する。
さらに、図39aおよび図39bの実施形態に、任意選択として、暗号解読エンジン3904と暗号化エンジン3902との間に置かれた、FPGA内の検索エンジン(図示せず)を含めることもでき、これによって、データ所有者が、許可された第三者のデータ要求元に、その第三者のデータ要求の境界におさまる保管されたデータの目標にされたサブセットを配信することが可能になる。
上で述べたように、圧縮および伸張も、本発明の技術に従ってPLDで実行できる貴重な動作である。大容量記憶媒体26への保管の前にデータを圧縮し(これによって記憶空間を節約する)、その後、プロセッサによる使用のために大容量記憶媒体から読み取る時にデータを伸張することが一般的である。これらの通常の圧縮動作および伸張動作は、通常はソフトウェアで実行される。一般に使用されている圧縮技術は、よく知られているレンペル−ジブ(LZ)圧縮である。両方の開示全体が参照によって本明細書に組み込まれる、Ziv他著、「A Universal Algorithm for Sequential Data Compression」、IEEE Trans. Inform. Theory、IT−23(3):337−343(1977年)、およびZiv他著、「Compression of Individual Sequence via Variable Rate Coding」、IEEE Trans. Inform. Theory、IT−24:530−536(1978年)を参照されたい。さらに、本発明のPLDベースアーキテクチャは、LZ圧縮だけではなく、他の圧縮技術の配置もサポートする。すべての開示全体が参照によって本明細書に組み込まれる、Jung他著、「Efficient VLSI for Lempel−Ziv Compression in Wireless Data Communication Networks」、IEEE Trans. on VLSI Systems、6(3):475−483(1998年9月)、Ranganathan他著、「High−speed VLSI design for Lempel−Ziv−based data compression」、IEEE Trans. Circuits Syst.、40:96−106(1993年2月)、Pirsch他著、「VLSI Architectures for Video Compression−A Survey」、Proceedings of the IEEE、83(2):220−246(1995年2月)を参照されたい。本発明と共に配置できるLZ圧縮以外の圧縮技術の例に、ハフマン符号化、辞書技術、および算術圧縮などのさまざまなロスレス圧縮タイプと、さまざまな知られているロッシイ圧縮技術が含まれるが、これらに制限はされない。
圧縮データを検索できる速度を改善するために、検索を実行するPLD20に伸張動作をインポートし、これによって、PLDベース検索動作と同一の速度の利益を有する伸張を実現することが貴重である。図40に、圧縮データのストリーム4000が、大容量記憶媒体26から再構成可能論理デバイス21に渡され、この再構成可能論理デバイス21で、圧縮解除(伸長)エンジン4002および検索エンジン4004がPLD20内で実施される、本発明のこの態様を示す。図41に、本発明のこの態様の好ましい実施形態を示す。図41では、図39aおよび図39bに示された基板3900のFPGA20が、伸張エンジン4002および検索エンジン4004を実施する。図39aおよび図39bに関して説明したように、平文形式の保管されたデータ(伸張エンジン4002から出る伸張されたデータ)の保全性は、このデータが、オンボードメモリ3906、内部FPGAメモリ、またはこの2つの組合せだけに保管されるので、保たれる。図42に、基板3900のFPGA20が、その上で圧縮エンジン4200を実施され、これによって、システムバス34から来るデータを、圧縮された形で大容量記憶媒体26に保管できるようになる、圧縮動作に関する好ましい実装を示す。理解されるように、基板3900のFPGA20に、伸張エンジン4002、検索エンジン4004、および圧縮エンジン4200をロードすることもできる。そのような配置では、基板3900に望まれる機能性に応じて、圧縮エンジン4200を非アクティブ化する(これによって、組み合わされた伸張/検索機能性がもたらされる)か、伸張エンジン4002および検索エンジン4004の両方を非アクティブ化する(これによって、圧縮機能性がもたらされる)ことができる。
本発明の機能性を有するFPGA20を構成するために、図43の流れ図に従うことが好ましい。第1に、エンジンの動作とそのエンジンのお互いとの相互作用の両方を規定する所望の処理エンジンのコードレベル論理4300を作成する。このコードは、HDLソースコードであることが好ましいが、標準的なプログラミング言語およびプログラミング技術を使用して作成することができる。HDLの例として、VHDLまたはVerilogを使用することができる。その後、ステップ4302で、合成ツールを使用して、HDLソースコード4300を、処理エンジンのゲートレベル記述4304に変換する。好ましい合成ツールは、Synplicity社が提供するよく知られているSynplicity Proソフトウェアであり、好ましいゲートレベル記述4304は、EDIFネットリストである。しかし、他の合成ツールおよび他のゲートレベル記述を使用できることに留意されたい。次に、ステップ4306で、配置配線ツールを使用して、EDIFネットリスト4304を、FPGA20にロードされるテンプレート4308に変換する。好ましい配置配線ツールは、当技術分野でよく知られているように、マッピング、タイミング分析、および出力生成の機能性を含むXilinx ISEツールセットである。しかし、本発明の実践で、他の配置配線ツールを使用することができる。テンプレート4308は、当技術分野で知られているように、FPGAのJTAG(Joint Test Access Group)マルチピンインターフェースを介して、FPGA20にロードできるビット構成ファイルである。
上で述べたように、システムに望まれる、異なる処理機能性用のテンプレート4308を、FPGAでの選択的実装のために事前に生成し、かつ保管することができる。たとえば、異なるタイプの圧縮/伸張、異なるタイプの暗号化/暗号解読、異なるタイプの検索動作、異なるタイプのデータ削減動作、または前述の異なる組合せのためのテンプレートを、事前に生成し、かつその機能性が必要な時に、FPGA20への後続のロードのためにコンピュータシステムによって保管することができる。
さらに、スループットおよび消費されるチップリソースなどの性能特性を、事前に判定し、かつ各処理動作に関連付けることができる。これらの関連付けられたパラメータを使用することによって、どのテンプレートが特定の所望の機能性に最適であるかを知的に選択するのに、アルゴリズムを使用することができる。
たとえば、そのようなアルゴリズムは、図33〜図35の暗号化エンジンのどれが、所与の応用例に最も適するかに関する案内を提供することができる。下の表に、本発明の暗号化/暗号解読動作に従って、性能をモデル化するのに使用できるパラメータを提示する。
Figure 2006526227
これらのパラメータそれぞれの値は、当技術分野で知られているように、たやすく知られるか、たやすく測定することができる。整数IについてR=ILである場合に、暗号化/暗号解読の反復が、均等にアンロールされている。そうでない場合には、後のパイプラインステージが、パススルー機能を有しなければならない。というのは、最終結果が、末尾ではなくパイプラインの内部で計算されるからである。
パイプライン化された暗号エンジンのスループットは、次式によって与えられる。
Figure 2006526227
FPGAのチップリソースは、通常、よく知られているように、CLBまたはスライス単位で測定される。FPGA以外の再構成可能論理では、リソースが、他の単位(たとえば、チップ面積)で測定される場合がある。どの場合でも、必要なリソースは、並列にサポートされるラウンド数に線形である。したがって、エンジンに必要なチップリソースは、次の通りである。
Resources=A+LA(p)
パラメータThroughputおよびResourcesの値は、パイプラインの1ステージで実装できる保管される処理動作(または機能f)ごとに前もって決定されることができる。したがって、各処理動作または機能を、それに対応するThroughputおよびResourcesの値に関係させるテーブルを作成することができる。
したがって、PLDに配置される特定のテンプレート(1つまたは複数のさまざまな処理動作を規定する)を、発行される特定の照会またはコマンドに合わせて調整することができる。本発明を実践する人が望む形で、ThroughputとResourcesのバランスをとるアルゴリズムを作成して、どの候補テンプレートがある応用例に最も適するかを判断することができる。したがって、制御プロセッサ32は、次のように、機能の組に関する総合スループットおよびリソースを計算することができる。機能の組のスループットは、機能のそれぞれに関する最小スループットである。
Throughput=Min(ThroughputF1,ThroughputF2,…,ThroughputFn
機能の組を配置するのに必要なリソースは、機能のそれぞれに必要なリソースの合計である。
Resources=ResourcesF1+ResourcesF2+…+ResourcesFn
各機能に関する複数のオプションを与えられれば、制御プロセッサは、最適化問題(または、望まれる場合に「近最適化(near optimization)」問題)を解くことができる。最適化は、必要なリソースが再構成可能ロジックで使用可能なリソース以下という制約の下で、総合スループットを最大にする、機能ごとのオプションの組を配置することとすることができ、あるいは、最適化は、総合スループットが指定された最小閾値未満にならないという制約の下で、必要なリソースを最小にする、機能ごとのオプションの組を配置することとすることができる。そのような最適化問題または近最適化問題を解く技術は、当技術分野でよく知られている。そのような技術の例に、列挙、バウンデッドサーチ(bounded search)、遺伝的アルゴリズム、グリーディアルゴリズム(greedy algorithm)、シミュレーテッドアニーリングなどが含まれるが、これらに制限はされない。
ディスクドライブシステムなどの大容量記憶媒体からのデータストリーミングを処理するのに、本発明のシステムを使用することは、保管されたデータを高速で処理する強力な技術である。しかし、非常に大きいデータベースは、通常、多数のディスクシリンダにまたがる。したがって、データベースファイルが、不連続なディスクシリンダに置かれたトラックに書き込まれる時に、遅延に出会う場合がある。これらの遅延は、ディスク読取/書込ヘッドを、データシリンダ上の現在位置から、ディスクから読み取られるファイルが連続する新しいデータシリンダに移動する必要に関連する。これらの遅延は、ヘッドが移動しなければならない距離が増えるにつれて増える。したがって、ディスク上の複数のデータシリンダにまたがるデータを読み取るために、ディスクからのデータストリームのフローが、ヘッドがシリンダからシリンダに移動する時に中断される。現在のディスクドライブでは、これらの遅延が、ミリ秒の範囲になる可能性がある。したがって、これらのヘッド移動遅延(当技術分野で「シーク」時間として知られている)は、潜在的な性能ボトルネックを表す。
標準的な現代のディスクシステムでは、図44aおよび図44bに示されているように、トラック4400が、ディスクまたはディスクプラッタの組の上で、中心原点4406の回りの同心円状であるシリンダ4402としてレイアウトされる。図44aに、コンピュータハードディスクなどの記憶デバイスとして働く回転可能プレーナ磁気媒体4450を示すが、データは、磁気媒体4450で、別個の環状のトラック4400に置かれる。磁気記録では、各トラック4400(iは、a、b、c、…とすることができる)が、中心原点4406に対してそれ自体の半径Rに位置する。各トラックは、次の内周トラックおよび次の外周トラックから、トラック間の間隔Tだけ計方向に分離されている。Tの値は、各トラック間の径距離について均等であることが好ましい。しかし、そうである必要はない。ヘッド4404が、トラック4400からデータを読み取るかトラック4400に書き込むために、ヘッド4404が、ディスク上で原点4406からRの点の上にあるように位置決めされなければならない。ディスクが回転する時に、トラックが、ヘッドの下を通過して、読取動作または書込動作が可能になる。
ディスクドライブは、通常、直接上書き方法を使用し、したがって、媒体4450上でのヘッド4404の正確な径方向の配置が、持続的なエラーなしの使用に重要である。一般に、各環状トラック4400は、約150個のほぼ等しい連続する円弧に分割される。図44aに、各トラック4400が、8つの均一な円弧4460に分割され、各円弧4460が、θ=2π/8の角度に及ぶ例を示す。当技術分野で知られているように、同一の角度θに及ぶ異なるトラック4400の円弧が、ディスクセクタ(またはウェッジ)4462を構成する。
これらの円弧4460に、変更(書き換え)できる複数のデータセット4464(論理ブロックおよび物理セクタ)が含まれる。さらに、これらの円弧4460に、磁気記録からの信号強度が最大になるように、ヘッド4404をデータ領域の上に置くためのガイドとして使用される、変更不能な(固定された)磁気的に書き込まれたマーキング4466(ABCDサーボバーストなど)が含まれる。
図44bは、ドライブシステムに存在する複数のディスク4450の断面図を伴うディスクドライブシステム4470のブロック図である。図44bからわかるように、多数のドライブシステム4470が、ディスク4450の両面を使用し、スピンドルモーターなどの回転デバイス4472に同心円状に置かれる、複数のディスク4450(またはプラッタ)を含む場合がある。そのような構成では、各ディスク表面(上面4452および下面4454)が、異なるヘッド4404によってアクセスされる。別々のヘッド4404によって単一の半径Rでアクセスされる環状トラック4400の集合を、「データシリンダ」4402と呼ぶ。隣接するデータシリンダの帯を、ゾーンと呼ぶ。
別々のシリンダ4402を有することは、シリンダ4402の間で移動する時に、ディスクヘッド4404の移動を必要とする。シリンダ4402の間で移動するために、位置決めシステム4474が、線4476に沿って、通常はTの増分で、ヘッド4404を適切に移動しなければならない。内周シリンダから外周シリンダに移動する時に、書き込まれるトラックの円周が増える。たとえば、図44aを参照すると、最内周トラック4400の円周は、2πRであるが、最外周トラック4400の円周は、2πRである。RはRより大きいので、トラック4400の円周が、トラック4400の円周より大きくなる可能性が高い。これらの円周の差があるので、異なるゾーンを画定して、トラックに沿って異なる線ビット密度を可能にすることができ、これによって、大きい半径について、ほぼ一定の線データ密度を使用することによって得られるデータセクタより多い、シリンダ4402の周囲にデータセクタを作ることができる。
1つまたは複数のトラック4400にまたがってデータを書き込むために、ヘッド4404を、位置決めシステム4474によって、少なくとも隣接トラック4400の中心間距離だけ別の半径に再位置決めしなければならない。この動きは、機械的整定時間(ヘッド4404の再位置決め)と、シリンダ4402に対するヘッド4404の再同期化時間(遅れずにダウントラックの)を必要とする。ヘッドを、Tなど、比較的長い距離だけ移動する時に、この整定時間が大きくなる。一緒に、これらの時間は、平均して、シリンダ4402の回転の半分を要する可能性があり、これは、通常、シリンダからシリンダに移動する時に数ミリ秒になる。上で述べたように、この時間持続期間を、しばしば、「シーク」時間と呼び、これが主要な性能ボトルネックになる可能性がある。このボトルネックに起因して、データ読取/書込バーストは、一般に、単一のトラックまたはシリンダに制限されている。
好ましい実施形態の新規で独自の特徴によれば、不連続円弧としてレイアウトされたトラックに対処するために、ヘッド4404を再位置決めする技術が使用される。好ましい実施形態では、これらの不連続円弧が、ディスク4450上の全般的に螺旋状のトラッキングパターンに配置された不連続環状円弧であり、ヘッド位置決めシステムは、ABCDサーボバーストなど、ヘッドを適切に位置決めするために従来のシステムに既に存在するサーボパターンを使用する。この技術は、トラックを超え、ゾーン全体までに書き込まれたバーストを提供することができ、単一のゾーンにディスク全体を含めることができる。他のサーボパターンが可能であり、本発明のこの特徴の範囲から除外されないが、サーボパターンに関して普通のABCDシステムを使用する例を示す。
サーボシステムの目標が、環状トラック4400を実現するために単一の半径にヘッド4404を位置決めすることである普通のヘッド移動と異なって、図45に示されたこの新規で独自の位置決め方法は、ディスク4450の回りでのヘッド4404の角度位置に比例して、別個の円弧4500にヘッド4404を位置決めすることをめざし、これによって、ディスク4450上の不連続円弧の磁気パターンの螺旋トポロジに対処する。
図45に関して、各ウェッジ4462が2π/Wの角度に及ぶ、W個のウェッジ(またはセクタ)4462に均等に分割されたディスク4450の単一の回転を検討されたい。Wは、ディスクの単一の回転でヘッド4404を通過するウェッジ4462の総数である。図45では、ヘッド(図示せず)を、原点4406の左でx軸に沿った任意の点に位置決めすることができる。各ウェッジ4462に、ウェッジ番号wを割り当てることができ、wは、1からWまでの任意の整数とすることができる。ディスク4450が回転する時に、ヘッド4404の径方向の変位が、ウェッジ番号wに比例する量すなわち線形比(w/W)×Tだけ増分され、Tは、普通のトラック間(またはシリンダ間)の距離または他の距離である。
図45からわかるように、データは、区分的な形、好ましくは複数の不連続環状円弧4500によって画定される区分的螺旋の形で、ディスク4450の表面に書き込まれる。好ましい実施形態のディスクの回転ごとに、ヘッド4404が、W個の不連続環状円弧4500に出会うように位置決めされ、各環状円弧4500は、2π/Wの角度に及ぶ。図45の例では、Wが4と等しい。各円弧4500が環状であると述べたが、これが意味するのは、各円弧4500が、実質的に一定の曲率を有することである。Wがすべての半径について一定である好ましい実施形態では、各不連続円弧4500が、2πR/Wの円周を所有する。各円弧4500の半径Rは、円弧4500i−1の半径よりT/Wだけ大きく、円弧4500i+1の半径よりT/Wだけ小さいことが好ましい。したがって、下で注記するように、好ましい実施形態のディスク4450の完全な回転ごとに、ヘッド4404は、効果的に、普通の隣接トラック間の距離Tと等しい距離を移動する。図45からわかるように、複数の別個の環状円弧4500は、ディスク4450上で全般的に螺旋形のパターンを画定する。
各半径Rが、それ自体のW値を有することができることに留意されたい。その場合に、不連続円弧4500は、異なる円周を有することができ、原点からの複数の角度に及ぶことができる。
各不連続円弧4500に、ある円弧4500から次の円弧へのヘッド4404の正しい移動を保証するために、連続円弧について図44aに示したサーボパターンものに似たABCDサーボパターンが含まれる。普通のサーボシステムは、T/Wの小さい量だけ、ヘッド4404をステップさせるのに十分な帯域幅を有する。
この処理の一部として、読取/書込ヘッド4404が、当初は、図45のディスクの中心原点4406に関して位置dに置かれている例を検討されたい。この初期位置を、Rすなわち最内周円弧4500の半径距離とすることができる。ディスクが回転する際に、回転rごとに、ヘッド4404の半径変位Dが、次のように、ウェッジ番号wに比例する量だけ、dに対して相対的に位置決めされる。
Figure 2006526227
ここで、Tは、普通のトラック間(またはシリンダ間)の距離である。完全な1回転で、ヘッド4404は、径方向に正確に完全に1トラック間の距離Tだけ移動する。rが2に達した時に、ヘッド4404は、径方向に正確に2Tだけ移動している。
図46に、好ましい実施形態のこの特徴に従ってディスク4450からデータを読み取るために、ディスクドライブシステム4470がそれによって動作する処理を示す。ステップ4600で、システムは、ヘッドがあるディスクの位置を感知する。このステップは、当技術分野で知られているように、少なくとも部分的に、サーボパターンを感知すること、およびディスクに書き込まれたセクタIDを読み取ることによって達成されることが好ましい。その後、ステップ4602で、この部分が対応するディスクウェッジ4502のウェッジ番号wに応じて、ヘッドが新しいディスクウェッジ4502に出会うたびに、ヘッドをDに再位置決めする。次に、ステップ4604で、円弧4500上のサーボパターンを使用することによって、ヘッド位置を微調整する。ヘッドが正しく位置決めされたならば、ステップ4606で、データをディスクから読み取る。この処理は、その後、ディスクが回転を続ける際に、ステップ4600に戻る。
本発明のこの特徴は、ゾーン全体での読取モードまたは書込モードでのヘッドのシームレスで連続的な動作を可能にし、したがって、普通のシーク時間に関連する遅延をこうむらない、ディスク全体の読み取りまたは書き込みを可能にする。したがって、上に記載の検索技術および処理技術と組み合わせて使用される時に、検索/処理システムが、シーク時間遅延によって失速することなく、より効率的に動作することができる。しかし、本発明のこの特徴を、上で説明した検索/処理技術と組み合わせて使用する必要がないことに留意する価値がある。すなわち、磁気データ記憶ディスクとの間のデータ読み取りおよび書き込みに、螺旋パターンを使用するというこの技術は、上で説明した検索特徴および処理特徴と独立に使用することができる。
もう1つの性能ボトルネックが、データが保管されたディスクがフラグメント化した時に発生する。一般的なファイルシステムでは、ファイルが、複数の固定サイズのセグメント(ブロック)に分割され、これらのセグメントが、ディスクに保管される。ファイルが非常に長い場合に、セグメントが、ディスクのさまざまな位置に保管される場合がある。上で注記したように、そのようなファイルにアクセスするために、ディスクヘッドをシリンダからシリンダへ移動しなければならず、ファイルアクセスが低速になる。ファイル全体が単一のオブジェクトとして、単一のシリンダに、または直接に隣接するシリンダに保管されるならばよりよい。しかし、経時的なディスクのフラグメンテーションのゆえに、これは常に可能ではないことがある。ディスクのデフラグメンテーションでは、通常、すべてのファイルをディスクの一端に移動し、その結果、新しいファイルを、他方の自由端で連続的に割り振れるようにすることが用いられる。通常、そのようなデフラグメンテーションは、長い時間を要する。従来技術で、この問題を解決するために多数の試みが行われてきた。1つのよく知られている技術が、バイナリバディシステム(binary buddy system)として知られている。バイナリバディシステムでは、ディスク空間に関するすべての要求サイズが、次の2のべきに丸められる。したがって、2000バイトのファイルについて、2048(211)の割振り要求が行われる。この処理は、内部フラグメンテーションにつながる。
この問題を最小にする努力において、本明細書では、ファイルが1つまたは複数のセグメントに分割され、各セグメントが2のべきである技術を開示する。したがって、端数のない2のべきのサイズではない各ファイルは、一連の2のべきセグメントの合計として表される。
最小セグメントサイズがセットされない実施形態では、ファイルを、メモリのブロックにセグメント化するこの技術に、(1)ファイルサイズが、端数のない2のべきである場合に、ファイルサイズと等しい記憶媒体上の記憶空間のブロックを要求することと、(2)ファイルサイズが、端数のない2のべきではない場合に、各ブロックが2のべきと等しいサイズを有する記憶媒体上の記憶空間の複数のブロックを要求することと、(3)要求が受け入れられた場合に、要求に従う1つまたは複数のデータファイルセグメントとして、ディスク上またはメモリ内などの記憶媒体内にデータファイルを保管することとが含まれる。この技術の好ましいバーションでは、ファイルサイズFを、2進項でF…Fと等しいFとして考えることができる。ファイルサイズが端数のない2のべきではない時に、記憶装置内のブロックを要求することに、Fの1と等しいビットの総数と等しい総数n個のブロックB、…、Bを要求することが含まれ、各ブロックBは、Fの1と等しい異なるビットFに対応し、2のサイズを有する。図47aに、2500バイトのファイルサイズFについてこの処理の例を示す。図47aからわかるように、好ましい2のべきの合計技術は、最小セグメントサイズが使用されない場合に、2048バイト(212)、256バイト(2)、128バイト(2)、64バイト(2)、および4バイト(2)のセグメントサイズをもたらす。
過度に小さいセグメントの生成を避けるために、最小セグメントサイズ2を使用することが好ましい。たとえば、最小セグメントサイズを、512バイト(2)(したがって、mは2である)とすることができる。この技術を用いると、最小セグメントサイズが使用される時に、ファイルを2のべきの合計サイズに分割することが、少なくとも最小セグメントサイズと等しい最小セグメントをもたらす。したがって、(1)ファイルサイズが端数のない2のべきであり、2以上である場合に、記憶空間のブロックは、ブロックがファイルサイズと等しくなるように要求され、(2)ファイルサイズが2未満の場合に、記憶空間のブロックは、ブロックが2と等しくなるように要求され、(3)ファイルサイズが端数のない2のべきではなく、2を超える場合に、記憶媒体上の記憶空間の複数のブロックが要求され、各ブロックは、2のべきと等しく、2以上のサイズを有する。
図47bに、ファイルサイズSが2500バイトである、この最小セグメント特徴の好ましい実装を示す。この技術を用いると、セグメントサイズが、2048バイト(212)、512バイト(210)になることがわかる。図47bの好ましい実装では、Fm−1からFのうちの少なくとも1つのビットFが1と等しいので、Fは、新しい値R(2進数でR…Rと表すことができる)に丸められる。Rの値は、ビットRm−1からRのすべてが0と等しい、Fより大きい最小値として選択される。ファイルサイズFが、異なる値であり、ビットFm−1からFのすべてが0と等しい場合には、ブロックの選択は、図47aと同様に進行する。しかし、ビットFm−1からFのうちの少なくとも1つが1と等しい場合に、Rを使用する図47bの手順に従うことが好ましい。
本明細書の教示を再検討した時に当業者が理解するように、そのような2のべきの合計ファイルシステムを実装するプログラム論理は、最小セグメントサイズの有無を問わず、たやすく開発することができる。
2のべきの合計ファイルシステムでは、内部フラグメンテーションが、ファイルを等しいサイズのセグメントに分割し、同一の最小セグメントサイズを有する従来の(普通の)ファイルシステムと等しい。図48に、バディファイルシステム対普通の(従来の)ファイルシステムおよび2のべきの合計ファイルシステムでの内部フラグメンテーションに起因して浪費される空間を示す。最小セグメントサイズが小さい時に、浪費される空間は、バディファイルシステムの場合にかなりあるが、最小セグメントサイズが増える時に、他のファイルシステムと匹敵するようになる。多くのファイルシステムで、小さいファイルの数が支配的なので、バディシステムは、しばしば、適切なオプションではない。
図49で、普通のファイルシステムおよび2のべきの合計ファイルシステムによる、ファイル全体に関するセグメントの総数を比較する。最小セグメントサイズが小さい時に、2のべきの合計システムは、普通の機構よりかなり少ないセグメントを作る。図50に、両方のファイルシステムによる、ファイルあたりのセグメントの最大数、平均数、および最小数を示す。やはり、2のべきの合計ファイルシステムは、優位を占め、少数のセグメントを作る。言い換えると、2のべきの合計ファイルシステムは、より連続したファイルにつながる。
したがって、2のべきの合計ファイルシステムは、バディシステム(多数の内部フラグメンテーションがある)と普通のファイルシステム(内部フラグメンテーションは少ないが潜在的に低い連続性がある)との間のよいトレードオフである。
さらなる改良として、2のべきの合計ファイルシステムと共にデフラグメンテーションアルゴリズムを使用して、割振り要求用のディスク上の連続空間をより大きく保証することが好ましい。連続割振りを満足できない場合に、デフラグメンテーションアルゴリズムは、割振り要求を満足するために空間を解放することを試みる。このデフラグメンテーションアルゴリズムは、ディスク全体をデフラグメントするのではない。そうではなく、ディスクの一部を増分式にデフラグメントして、新しい割振り要求を増分的な形で満足することを可能にする。2のべきの合計ファイルシステムと共に使用するのに好ましいデフラグメンテーションアルゴリズムが、その開示全体が参照によって本明細書に組み込まれる論文、Cholleti、Sharath共著、「Storage Allocation in Bounded Time」、MS Thesis,Dept.of Computer Science and Engineering、Washington University、St.Louis、MO(2002年12月)の26〜30ページに開示されている。
本明細書で「ヒープマネージャ部分デフラグメンテーションアルゴリズム」と称する好ましい部分的デフラグメンテーションアルゴリズムの擬似コードを、下に複写する。
1.Initialization()
for I=0 to H−1
heapManager[i]=0;/*ヒープを空にする*/
2.Allocate(S)
if サイズSの空きブロックがある
最低のアドレスAを有するサイズSのブロックを割り振る
UpdateHeapManager(S,A,“allocation”)
else サイズの昇順でSより大きいサイズの空きブロックを探す
if 見つかった、最低のアドレスを有するブロックを選択する
サイズSのブロックができるまでブロックを再帰的に分割する
最低のアドレスAを有するサイズSのブロックを選択する
UpdateHaapManager(S,A,“allocation”)
else
A=FindMinimallyOccupiedBlock(S)/*再配置されるブロックを見つける*/
Relocate(S,A)/*ブロックAからのサブブロックを再配置する*/
アドレスAを有するブロックを割り振る
UpdateHeapManager(S,A,“allocation”)
3.FindMinimallyOccupiedBlock(S)
i=2H/S−1 to H/SについてheapManager[i]が最小になるiを見つける
return アドレスA=i<<log
4.Relocate(S,A)
subBlocks=FindSubBlocks(S,A);
for each SB∈subBlocks
Deallocate(SB),∀SB∈subBlocks
5.Deallocate(extId)
ブロックextIdおよびサイズSのアドレスAを見つける;
そのブロックを解放する;
UpdateHeapManager(S,A,“deallocation”);
6.UpdateHeapManager(S,A,type)
int maxLevel=logH;
int level=logS;
if type=“allocation”
int addr=A>>level;
if S>MinBlockSize
heapManager[addr]=S/*ブロックが完全に占有されている*/
/*割振りレベルの上のブロック*/
addr=A>>level;
for(i=level+1;i<=maxLevel;i++)
addr=addr>>1;
heapManager[addr]=heapManager[addr]+S;
if type=“deallocation”
int addr=A>>level;
/*現在のブロック*/
if S>MinBlockSize
heapManager[addr]=0
/*割振り解除レベルの上のブロック*/
addr=A>>level;
for(i=level+1;i<=maxLevel;i++)
addr=addr>>1;//上のaddrから継続する
heapManager[addr]=heapManager[addr]−S;
本発明の趣旨から逸脱しない、さまざまな本発明に対する変更および修正が、当業者に明白であろう。好ましい実施形態は、本発明の実施を説明したものであるが、この説明は、単に例示であることを意図されたものである。複数の代替案も上にある。たとえば、アナログ処理によって例示された動作のすべてが、ディジタル領域でそれと同等の対応物を有する。したがって、適切なマッチングタイプおよび相関タイプの処理を、アナログビットパターンの標準的なディジタル表現に対して行うことができる。これは、調整されたディジタル論理、マイクロプロセッサ、およびディジタル信号プロセッサ、または代替の組合せを使用することによって、連続的な形で達成することもできる。したがって、本発明が、請求項の範囲およびその法的同等物のみによって制限されることが、本発明人の意図である。
一実施形態による情報検索取出システムを示すブロック図である。 発明システムの接続に関する異なる挿入点を示す、従来の固定ディスクドライブシステムを示す概略図である。 図1のシステムによって処理される検索照会の変換の一実施形態を示すブロック図である。 ディジタル領域での正確な一致検索を行うのに使用される、ハードウェア実装の一実施形態を示すブロック図である。 ディジタル領域での近似一致検索を行うのに使用される、ハードウェア実装の一実施形態を示すブロック図である。 独立構成での本発明のシステムの実装を示すブロック図である。 ネットワークを介して共用されるリモート大容量記憶デバイスとしての本発明の実装を示すブロック図である。 ネットワークに取り付けられた記憶デバイス(NASD、network attached storage device)としての本発明の実装を示すブロック図である。 磁気記憶媒体からデータを検索しかつ取り出す論理ステップの詳細を示す流れ図である。 データキーとして使用できるアナログ信号を表すグラフである。 データキーが存在する磁気記憶媒体からのデータの連続読取を表すアナログ信号を表すグラフである。 図11の信号にオーバーレイされかつマッチングされた図10の信号を表すグラフである。 磁気記憶媒体内の目標データが、走査されかつデータキーと比較される時に、継続的に計算される相関関数を表すグラフである。 データキーが、データキーも含む磁気記憶媒体からの目標データの異なる組の読取からとられた信号と継続的に比較される、相関関数を表すグラフである。 シーケンスマッチング動作を実行する際に使用される、本発明によって生成されたテーブルの一実施形態を示す図である。 図15のテーブルの値を計算するために本発明のシステムが使用することのできる、シストリックアレイアーキテクチャの一実施形態を示すブロック図である。 図1のシステムのクロックサイクルの組合せ部分の間の動作での、図15のシストリックアレイアーキテクチャを示すブロック図である。 図1のシステムのクロックサイクルのラッチ部分の間の動作での、図15のシストリックアレイアーキテクチャを示すブロック図である。 特定のシーケンスマッチングの例を表す、図15のテーブルを示す図である。 図19の例に関する図16のシストリックアレイアーキテクチャのブロック図である。 図1のシステムのクロックサイクルの組合せ部分の間の、動作中の図20のシストリックアレイアーキテクチャを示すブロック図である。 図1のシステムのクロックサイクルのラッチ部分の間の、動作中の図20のシストリックアレイアーキテクチャを示すブロック図である。 イメージマッチング動作を実行する際に本発明のシステムによって使用することのできる、シストリックアレイアーキテクチャの一実施形態を示すブロック図である。 イメージマッチング動作を実行する際のシストリックアレイアーキテクチャのもう1つの構成を示すブロック図である。 図23に示されたシストリックアレイの個々のセルの一実施形態を示すブロック図である。 図23に示されたシストリックアレイの個々のセルのもう1つの実施形態を示すブロック図である。 データ削減動作を実行するのに本発明のシステムを使用する例を示すブロック図である。 FPGAのより複雑な構成を示すブロック図である。 再構成可能論理デバイスで実施されたマルチステージ処理パイプラインの例示的実施形態を示す図である。 再構成可能論理デバイスで実施されたマルチステージ処理パイプラインの例示的実施形態を示す図である。 再構成可能論理デバイスで実施された暗号化エンジンを示す図である。 再構成可能論理デバイスで実施されたマルチステージ処理パイプラインのもう1つの例示的実施形態を示す図である。 再構成可能論理デバイスで実施できるさまざまな暗号化エンジンの1つを示す図である。 再構成可能論理デバイスで実施できるさまざまな暗号化エンジンの1つを示す図である。 再構成可能論理デバイスで実施できるさまざまな暗号化エンジンの1つを示す図である。 3当事者データウェアハウジングのシナリオを示す図である。 非セキュアデータウェアハウジング解読のシナリオを示す図である。 データウェアハウジングシナリオでのセキュアデータ配送のさまざまな実施形態の1つを示す図である。 データウェアハウジングシナリオでのセキュアデータ配送のさまざまな実施形態の1つを示す図である。 データウェアハウジングシナリオでのセキュアデータ配送のさまざまな実施形態の1つを示す図である。 再構成可能論理デバイスで圧縮および/または伸張を実施するさまざまな例示的実施形態の1つを示す図である。 再構成可能論理デバイスで圧縮および/または伸張を実施するさまざまな例示的実施形態の1つを示す図である。 再構成可能論理デバイスで圧縮および/または伸張を実施するさまざまな例示的実施形態の1つを示す図である。 再構成可能論理デバイスにロードされるテンプレートの作成の処理フローを示す図である。 環状トラックを使用する普通のハードディスクと、それと共に使用されるディスクドライブシステムを示す図である。 環状トラックを使用する普通のハードディスクと、それと共に使用されるディスクドライブシステムを示す図である。 螺旋パターンで配置された別個の環状の円弧を有する新規のプレーナ磁気媒体を示す図である。 図45の磁気媒体からデータを読み取るためのヘッド位置決めフローを示す図である。 2のべきの合計ファイルシステムの実施形態の1つを示す図である。 2のべきの合計ファイルシステムの実施形態の1つを示す図である。 2のべきの合計ファイルシステムのさまざまな動作特性の1つを示す図である。 2のべきの合計ファイルシステムのさまざまな動作特性の1つを示す図である。 2のべきの合計ファイルシステムのさまざまな動作特性の1つを示す図である。

Claims (44)

  1. 許可された当事者と安全にデータを共用する方法であって、共用されるデータが、第1の暗号化フォーマットでデータベースに保管され、前記共有する方法が、
    データベースへの接続をプログラマブル論理デバイスに与えるステップを含み、プログラマブル論理デバイスが、(1)データベースから暗号化されたデータのストリームを受け取り、(2)暗号解読されたデータを作成するために、受け取った暗号化されたデータを暗号解読し、(3)暗号解読されたデータを第2の暗号化フォーマットで暗号化するように構成され、前記共有する方法がさらに、
    第2の暗号化フォーマットのデータを許可された当事者に通信することによって、第2の暗号化フォーマットのデータを共用するステップとを含む方法。
  2. 共用されるデータを暗号解読するキーを許可された当事者に与えるステップをさらに含む、請求項1に記載の方法。
  3. 第2の暗号化フォーマットは、許可された当事者に与えられるキーが保管されたデータの暗号解読に必要なキーと異なるように、第1の暗号化フォーマットと異なる、請求項1に記載の方法。
  4. プログラマブル論理デバイスと通信するメモリデバイスを設けることをさらに含み、メモリデバイスの内容が、プログラマブル論理デバイスのみによってアクセス可能であり、プログラマブル論理デバイスが、さらに、暗号解読されたデータの少なくとも一部をメモリデバイスに保管するように構成される、請求項1に記載の方法。
  5. データベースが、第1の当事者によって所有され、データベースに保管されたデータが、第2の当事者によって所有される、請求項1に記載の方法。
  6. 保管されたデータに関する要求を許可された当事者から受け取るステップと、
    受け取られた要求に応答して、保管されたデータをデータベースから取り出すステップと、
    プログラマブル論理デバイスを介して、保管されたデータを処理するステップとをさらに含む、請求項2に記載の方法。
  7. データを第1の暗号化フォーマットでデータベースに保管するステップをさらに含む、請求項1に記載の方法。
  8. プログラマブル論理デバイスが、FPGAである、請求項1に記載の方法。
  9. 当事者に通信するために保管された暗号化されたデータを準備するデバイスであって、該保管された暗号化されたデータを準備するデバイスが、データ記憶媒体と通信するプログラマブル論理デバイスを含み、データ記憶媒体が、第1の暗号化フォーマットでデータ記憶媒体に保管されたデータを含み、プログラマブル論理デバイスが、(1)暗号解読されたデータを作成するために、データ記憶媒体から受け取られた暗号化されたデータのストリームを暗号解読し、(2)暗号解読されたデータを、第2の暗号化フォーマットで暗号化するように構成される、保管された暗号化されたデータを準備するデバイス。
  10. 第2の暗号化フォーマットは、第2の暗号化フォーマットのデータを暗号解読するために当事者に与えられるキーが、保管されたデータの暗号解読に必要なキーと異なるように、第1の暗号化フォーマットと異なる、請求項9に記載のデバイス。
  11. デバイスが、プロセッサと通信し、プロセッサが、保管されたデータに関する要求をデバイスに送るように構成され、要求が、少なくとも部分的にプログラマブル論理デバイスによって満たされ、デバイスが、さらに、プログラマブル論理デバイスと通信するメモリデバイスを含み、メモリデバイスの内容が、プログラマブル論理デバイスによってアクセス可能であるがプロセッサによってアクセス可能ではなく、プログラマブル論理デバイスが、さらに、暗号解読されたデータの少なくとも一部をメモリデバイスに保管するように構成される、請求項9に記載のデバイス。
  12. プログラマブル論理デバイスが、プログラマブル論理デバイスを上流側構成要素および下流側構成要素とインターフェースするために、着信データおよび発信データに対するソケット動作を実行するようにも構成される、請求項9に記載のデバイス。
  13. データ記憶媒体が、ハードディスクドライブシステムを含み、デバイスが、さらに、デバイスをハードディスクドライブシステムにインターフェースするディスクコネクタを含む、請求項9に記載のデバイス。
  14. ディスクコネクタおよびプログラマブル論理デバイスと通信するディスクコントローラをさらに含む、請求項13に記載のデバイス。
  15. ディスクコントローラをプログラマブル論理デバイスに接続する内部バスをさらに含む、請求項14に記載のデバイス。
  16. 内部バスが、PCI−Xバスである、請求項15に記載のデバイス。
  17. プログラマブル論理デバイスをコンピュータマザーボード上のバスにインターフェースするバスコネクタをさらに含む、請求項16に記載のデバイス。
  18. バスコネクタが、PCI−Xバスコネクタである、請求項17に記載のデバイス。
  19. プログラマブル論理デバイスが、FPGAである、請求項12に記載のデバイス。
  20. データを安全に共用する方法であって、共用されるデータが、第1の暗号化フォーマットでデータベースに保管され、前記共有する方法が、
    データベースへの接続を再構成可能論理デバイスに与えるステップを含み、プログラマブル論理デバイスが、(1)データベースから暗号化されたデータのストリームを受け取り、(2)再構成可能ハードウェア論理を使用して、受け取ったストリームを、第1の暗号化フォーマットから第1の暗号化フォーマットと異なる第2の暗号化フォーマットに変換するように構成され、前記共有する方法がさらに、
    第2の暗号化フォーマットのデータを要求元に配信するステップを含む方法。
  21. 要求元は、許可された要求元であり、方法がさらに、
    配信されたデータを暗号解読する手段を、許可された要求元に与えるステップをさらに含む、請求項20に記載の方法。
  22. データベースが、第1の当事者によって所有され、データベースに保管されたデータが、第2の当事者によって所有される、請求項20に記載の方法。
  23. 再構成可能論理デバイスが、FPGAであり、方法がさらに、
    保管されたデータに関する要求を要求元から受け取るステップと、
    受け取られた要求に応答して、保管されたデータをデータベースから取り出すステップと、
    プログラマブル論理デバイスを介して、保管されたデータを処理するステップとを含む、請求項20に記載の方法。
  24. 大容量記憶媒体から受け取られたデータを処理するデバイスであって、該デバイスが、
    大容量記憶媒体と通信するプログラマブル論理デバイスを含み、大容量記憶媒体が、大容量記憶媒体に保管された圧縮されたデータを含み、プログラマブル論理デバイスが、(1)大容量記憶媒体から圧縮されたデータの連続ストリームを受け取り、(2)伸張されたデータのストリームを作成するために、受け取られた圧縮されたデータストリームを伸張し、(3)伸張されたデータのストリーム内で検索動作を実行するように構成される、大容量記憶媒体から受け取られたデータを処理するデバイス。
  25. 検索動作は、パターン一致が、大容量記憶媒体から取り出されることが望まれるデータを表す検索キーと、伸張されたデータストリームを表すデータ信号との間に存在するかどうかの判定を実行するように構成される、請求項24に記載のデバイス。
  26. プログラマブル論理デバイスと通信するメモリデバイスをさらに含み、メモリデバイスの内容が、プログラマブル論理デバイスのみによってアクセス可能であり、プログラマブル論理デバイスが、さらに、暗号解読されたデータの少なくとも一部をメモリデバイスに保管するように構成される、請求項24に記載のデバイス。
  27. プログラマブル論理デバイスが、プログラマブル論理デバイスを上流側構成要素および下流側構成要素とインターフェースするために、着信データおよび発信データに対するソケット動作を実行するように構成される、請求項24に記載のデバイス。
  28. 記憶媒体が、ハードディスクドライブシステムを含み、デバイスが、さらに、デバイスをハードディスクドライブシステムにインターフェースするディスクコネクタを含む、請求項24に記載のデバイス。
  29. ディスクコネクタおよびプログラマブル論理デバイスと通信するディスクコントローラをさらに含む、請求項28に記載のデバイス。
  30. ディスクコントローラをプログラマブル論理デバイスに接続する内部バスをさらに含む、請求項29に記載のデバイス。
  31. 内部バスが、PCI−Xバスである、請求項30に記載のデバイス。
  32. プログラマブル論理デバイスをコンピュータマザーボード上のバスにインターフェースするバスコネクタをさらに含む、請求項31に記載のデバイス。
  33. バスコネクタが、PCI−Xバスコネクタである、請求項32に記載のデバイス。
  34. プログラマブル論理デバイスが、FPGAを含む、請求項27に記載のデバイス。
  35. 大容量記憶媒体から受け取ったデータを処理するデバイスであって、該処理するデバイスが、大容量記憶媒体と通信する再構成可能論理デバイスを含み、大容量記憶媒体が、大容量記憶媒体に保管されたデータを含み、再構成可能論理デバイスが、大容量記憶媒体から受け取る圧縮されたデータの連続ストリームに対して、再構成可能ハードウェア論理を用いて複数の処理動作を実行するように構成され、複数の処理動作が、少なくとも、伸張動作およびそれに続く検索動作を含む、デバイス。
  36. 再構成可能論理デバイスが、FPGAであり、検索動作は、パターン一致が、大容量記憶媒体から取り出されることが望まれるデータを表す検索キーと、伸張動作から出た伸張されたデータストリームを表すデータ信号との間に存在するかどうかの判定を実行するように構成される、請求項35に記載のデバイス。
  37. 再構成可能論理デバイスが、プログラマブル論理デバイスであり、デバイスが、さらに、プログラマブル論理デバイスと通信するメモリデバイスを含み、メモリデバイスの内容が、プログラマブル論理デバイスによってアクセス可能であるがデバイスと通信するリモートプロセッサによってアクセス可能ではなく、プログラマブル論理デバイスが、さらに、伸張動作から出力された伸張されたデータの少なくとも一部をメモリデバイスに保管するように構成される、請求項35に記載のデバイス。
  38. 圧縮フォーマットで記憶媒体に保管されたデータを検索する方法であって、
    記憶媒体に接続されるプログラマブル論理デバイスを設けるステップを含み、プログラマブル論理デバイスが、(1)記憶媒体から圧縮されたデータのストリームを受け取り、(2)伸張されたデータを作成するために、受け取られた圧縮されたデータストリームを伸張し、(3)伸張されたデータに対して検索動作を実行するように構成される、データを検索する方法。
  39. リモートプロセッサから検索照会を受け取るステップをさらに含み、プログラマブル論理デバイスが、照会に従って検索動作を実行するように構成され、方法が、さらに、検索動作からの検索結果をリモートプロセッサに配信するステップを含む、請求項38に記載の方法。
  40. 検索動作は、パターン一致が、大容量記憶媒体から取り出されることが望まれるデータを表す検索キーと、伸張されたデータストリームを表すデータ信号との間に存在するかどうかの判定を実行するように構成される、請求項39に記載の方法。
  41. プログラマブル論理デバイスと通信するメモリデバイスを設けるステップをさらに含み、メモリデバイスの内容が、プログラマブル論理デバイスのみによってアクセス可能であり、プログラマブル論理デバイスが、さらに、伸張されたデータの少なくとも一部をメモリデバイスに保管するように構成される、請求項38に記載の方法。
  42. 大容量記憶媒体から受け取られたデータを処理するシステムであって、装置が、
    少なくとも一部のデータが圧縮フォーマットで保管される記憶媒体と、
    記憶媒体と通信するプログラマブル論理デバイスとを含み、該プログラマブル論理デバイスが、(1)記憶媒体から圧縮されたデータの連続ストリームを受け取り、(2)伸張されたデータのストリームを作成するために、受け取られた圧縮されたデータストリームを伸張し、(3)伸張されたストリーム内で検索動作を実行するように構成される、システム。
  43. 検索動作は、パターン一致が、大容量記憶媒体から取り出されることが望まれるデータを表す検索キーと、伸張されたデータストリームを表すデータ信号との間に存在するかどうかの判定を実行するように構成される、請求項42に記載のシステム。
  44. プログラマブル論理デバイスと通信するメモリデバイスをさらに含み、メモリデバイスの内容が、プログラマブル論理デバイスのみによってアクセス可能であり、プログラマブル論理デバイスが、さらに、暗号解読されたデータの少なくとも一部をメモリデバイスに保管するように構成される、請求項42に記載のシステム。
JP2006514919A 2003-05-23 2004-05-21 Fpgaデバイスを使用するインテリジェントデータ記憶および処理 Pending JP2006526227A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47307703P 2003-05-23 2003-05-23
PCT/US2004/016021 WO2005026925A2 (en) 2002-05-21 2004-05-21 Intelligent data storage and processing using fpga devices

Publications (2)

Publication Number Publication Date
JP2006526227A true JP2006526227A (ja) 2006-11-16
JP2006526227A5 JP2006526227A5 (ja) 2007-07-05

Family

ID=35453244

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2006514919A Pending JP2006526227A (ja) 2003-05-23 2004-05-21 Fpgaデバイスを使用するインテリジェントデータ記憶および処理
JP2006533393A Withdrawn JP2007524923A (ja) 2003-05-23 2004-05-21 Fpgaデバイスを使用するインテリジェントデータ記憶および処理
JP2011156373A Expired - Lifetime JP5439651B2 (ja) 2003-05-23 2011-07-15 Fpgaデバイスを使用するインテリジェントデータ記憶および処理

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2006533393A Withdrawn JP2007524923A (ja) 2003-05-23 2004-05-21 Fpgaデバイスを使用するインテリジェントデータ記憶および処理
JP2011156373A Expired - Lifetime JP5439651B2 (ja) 2003-05-23 2011-07-15 Fpgaデバイスを使用するインテリジェントデータ記憶および処理

Country Status (6)

Country Link
US (10) US20070277036A1 (ja)
EP (4) EP2528000B1 (ja)
JP (3) JP2006526227A (ja)
AU (2) AU2004273406A1 (ja)
CA (4) CA2523548C (ja)
WO (2) WO2005048134A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005686A (ja) * 2016-07-05 2018-01-11 富士通株式会社 ソリッドステートドライブ
JP7475319B2 (ja) 2021-11-16 2024-04-26 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ処理方法

Families Citing this family (238)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095508B2 (en) 2000-04-07 2012-01-10 Washington University Intelligent data storage and processing using FPGA devices
US7139743B2 (en) 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
US6711558B1 (en) * 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
US7716330B2 (en) 2001-10-19 2010-05-11 Global Velocity, Inc. System and method for controlling transmission of data packets over an information network
US7711844B2 (en) 2002-08-15 2010-05-04 Washington University Of St. Louis TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks
CA2523548C (en) 2003-05-23 2014-02-04 Washington University Intelligent data processing system and method using fpga devices
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US7764795B2 (en) * 2004-10-20 2010-07-27 Oracle International Corporation Key-exchange protocol using a password-derived prime
US20060167748A1 (en) * 2005-01-25 2006-07-27 Joachim Hartmann Public/private campaign management for an internet sales application
EP1859378A2 (en) 2005-03-03 2007-11-28 Washington University Method and apparatus for performing biosequence similarity searching
US7634584B2 (en) 2005-04-27 2009-12-15 Solarflare Communications, Inc. Packet validation in virtual network interface architecture
US7702629B2 (en) 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
US7954114B2 (en) 2006-01-26 2011-05-31 Exegy Incorporated Firmware socket module for FPGA-based pipeline processing
US8020006B2 (en) * 2006-02-10 2011-09-13 Cisco Technology, Inc. Pipeline for high-throughput encrypt functions
US7668197B1 (en) * 2006-02-21 2010-02-23 Uei Cayman Inc. Codeset communication format and related methods and structures
US8379841B2 (en) 2006-03-23 2013-02-19 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption
CN100455263C (zh) * 2006-04-26 2009-01-28 东软飞利浦医疗设备系统有限责任公司 一种x射线机图像处理装置
US7840482B2 (en) 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US20080189251A1 (en) * 2006-08-25 2008-08-07 Jeremy Branscome Processing elements of a hardware accelerated reconfigurable processor for accelerating database operations and queries
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
EP2092440B1 (en) * 2006-11-13 2019-01-09 IP Reservoir, LLC Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US8813260B2 (en) * 2006-11-20 2014-08-19 International Business Machines Corporation Self-contained device security
US8862625B2 (en) 2008-04-07 2014-10-14 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible indexing and replicated reordered columns
US9424315B2 (en) 2007-08-27 2016-08-23 Teradata Us, Inc. Methods and systems for run-time scheduling database operations that are executed in hardware
US8458129B2 (en) 2008-06-23 2013-06-04 Teradata Us, Inc. Methods and systems for real-time continuous updates
US7966343B2 (en) 2008-04-07 2011-06-21 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible data structures
WO2009029842A1 (en) 2007-08-31 2009-03-05 Exegy Incorporated Method and apparatus for hardware-accelerated encryption/decryption
US8001278B2 (en) * 2007-09-28 2011-08-16 Intel Corporation Network packet payload compression
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
US8332660B2 (en) * 2008-01-02 2012-12-11 Arm Limited Providing secure services to a non-secure application
US8775824B2 (en) * 2008-01-02 2014-07-08 Arm Limited Protecting the security of secure data sent from a central processor for processing by a further processing device
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US8374986B2 (en) 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
CA2743221C (en) * 2008-11-10 2016-08-16 Zomojo Pty Ltd Improved automated trading system
CA3184014A1 (en) 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US10873613B2 (en) 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
US9258390B2 (en) 2011-07-29 2016-02-09 Solarflare Communications, Inc. Reducing network latency
US9600429B2 (en) 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
US8996644B2 (en) 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US10037568B2 (en) 2010-12-09 2018-07-31 Ip Reservoir, Llc Method and apparatus for managing orders in financial markets
US9674318B2 (en) 2010-12-09 2017-06-06 Solarflare Communications, Inc. TCP processing for devices
US9417894B1 (en) 2011-06-15 2016-08-16 Ryft Systems, Inc. Methods and apparatus for a tablet computer system incorporating a reprogrammable circuit module
US20120324143A1 (en) * 2011-06-15 2012-12-20 Data Design Corporation Methods and apparatus for data access by a reprogrammable circuit module
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
GB201111554D0 (en) * 2011-07-06 2011-08-24 Business Partners Ltd Search index
US8983915B2 (en) * 2011-08-01 2015-03-17 Actifio, Inc. Successive data fingerprinting for copy accuracy assurance
US8763018B2 (en) 2011-08-22 2014-06-24 Solarflare Communications, Inc. Modifying application behaviour
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
EP2574000B1 (en) 2011-09-22 2020-04-08 Xilinx, Inc. Message acceleration
US8793543B2 (en) 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US9047243B2 (en) 2011-12-14 2015-06-02 Ip Reservoir, Llc Method and apparatus for low latency data distribution
WO2013130109A1 (en) 2012-03-02 2013-09-06 Hewlett-Packard Development Company L.P. Shiftable memory defragmentation
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US20140180904A1 (en) * 2012-03-27 2014-06-26 Ip Reservoir, Llc Offload Processing of Data Packets Containing Financial Market Data
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US9391840B2 (en) 2012-05-02 2016-07-12 Solarflare Communications, Inc. Avoiding delayed data
WO2013186074A1 (en) * 2012-06-13 2013-12-19 Telefonaktiebolaget L M Ericsson (Publ) Software upgrading in a network
US9391841B2 (en) 2012-07-03 2016-07-12 Solarflare Communications, Inc. Fast linkup arbitration
US8838577B2 (en) 2012-07-24 2014-09-16 International Business Machines Corporation Accelerated row decompression
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US10505747B2 (en) 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
US10146845B2 (en) 2012-10-23 2018-12-04 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US9633093B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US9633097B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for record pivoting to accelerate processing of data fields
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
CN103020011B (zh) * 2012-12-31 2015-04-22 哈尔滨工业大学 星载可重构协处理单元
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US10691775B2 (en) 2013-01-17 2020-06-23 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US10847251B2 (en) 2013-01-17 2020-11-24 Illumina, Inc. Genomic infrastructure for on-site or cloud-based DNA and RNA processing and analysis
US9679104B2 (en) 2013-01-17 2017-06-13 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US9792405B2 (en) 2013-01-17 2017-10-17 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
EP2994749A4 (en) 2013-01-17 2017-07-19 Edico Genome Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US10068054B2 (en) 2013-01-17 2018-09-04 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9317718B1 (en) * 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US9374344B1 (en) 2013-03-29 2016-06-21 Secturion Systems, Inc. Secure end-to-end communication system
US9355279B1 (en) 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9798899B1 (en) 2013-03-29 2017-10-24 Secturion Systems, Inc. Replaceable or removable physical interface input/output module
US9524399B1 (en) 2013-04-01 2016-12-20 Secturion Systems, Inc. Multi-level independent security architecture
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10742604B2 (en) 2013-04-08 2020-08-11 Xilinx, Inc. Locked down network interface
CN103237021A (zh) * 2013-04-08 2013-08-07 浪潮集团有限公司 一种基于fpga芯片的pci-e的高速密码卡
US9426124B2 (en) 2013-04-08 2016-08-23 Solarflare Communications, Inc. Locked down network interface
WO2014186604A1 (en) * 2013-05-15 2014-11-20 Edico Genome Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
EP2809033B1 (en) 2013-05-30 2018-03-21 Solarflare Communications Inc Packet capture in a network
US9436848B2 (en) * 2013-05-30 2016-09-06 Cryptography Research, Inc. Configurator for secure feature and key manager
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9251218B2 (en) 2013-08-07 2016-02-02 International Business Machines Corporation Tunable hardware sort engine for performing composite sorting algorithms
US9830354B2 (en) * 2013-08-07 2017-11-28 International Business Machines Corporation Accelerating multiple query processing operations
US9619499B2 (en) 2013-08-07 2017-04-11 International Business Machines Corporation Hardware implementation of a tournament tree sort algorithm
US9495418B2 (en) * 2013-08-07 2016-11-15 International Business Machines Corporation Scalable acceleration of database query operations
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
KR101597637B1 (ko) * 2013-09-02 2016-02-29 주식회사 쏠리드 Fpga 이미지 다운로드시 네트워크 부하를 경감하기 위한 압축 방법
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US20150113204A1 (en) * 2013-10-17 2015-04-23 National Chiao Tung University Data storage device and computing system with the same
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US10394751B2 (en) 2013-11-06 2019-08-27 Solarflare Communications, Inc. Programmed input/output mode
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
WO2015074033A1 (en) 2013-11-18 2015-05-21 Madhav Mutalik Copy data techniques
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
IN2013CH05962A (ja) * 2013-12-20 2015-06-26 Infotech Entpr Ltd
US10423596B2 (en) * 2014-02-11 2019-09-24 International Business Machines Corporation Efficient caching of Huffman dictionaries
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9697327B2 (en) 2014-02-24 2017-07-04 Edico Genome Corporation Dynamic genome reference generation for improved NGS accuracy and reproducibility
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
WO2015145647A1 (ja) 2014-03-27 2015-10-01 株式会社日立製作所 ストレージ装置とデータ処理方法及びストレージシステム
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
WO2015164639A1 (en) 2014-04-23 2015-10-29 Ip Reservoir, Llc Method and apparatus for accelerated data translation
US9933976B2 (en) 2014-04-28 2018-04-03 Hitachi, Ltd. Storage apparatus and data processing method thereof, and storage system
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9647691B2 (en) 2014-10-08 2017-05-09 Nxp Usa, Inc. Apparatus and method for processing trace data streams
WO2016100049A1 (en) 2014-12-18 2016-06-23 Edico Genome Corporation Chemically-sensitive field effect transistor
US9618474B2 (en) 2014-12-18 2017-04-11 Edico Genome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US10020300B2 (en) 2014-12-18 2018-07-10 Agilome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US9859394B2 (en) 2014-12-18 2018-01-02 Agilome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US10006910B2 (en) 2014-12-18 2018-06-26 Agilome, Inc. Chemically-sensitive field effect transistors, systems, and methods for manufacturing and using the same
US9857328B2 (en) 2014-12-18 2018-01-02 Agilome, Inc. Chemically-sensitive field effect transistors, systems and methods for manufacturing and using the same
US10310813B2 (en) 2014-12-29 2019-06-04 International Business Machines Corporation Hardware implementation of a tournament tree sort algorithm using an external memory
WO2016154154A2 (en) 2015-03-23 2016-09-29 Edico Genome Corporation Method and system for genomic visualization
US9590655B2 (en) 2015-03-27 2017-03-07 Microsoft Technology Licensing, Llc Scalable high-bandwidth architecture for lossless compression
US10956493B2 (en) * 2015-05-19 2021-03-23 Micro Focus Llc Database comparison operation to identify an object
CN105138469B (zh) * 2015-08-28 2018-03-16 北京腾凌科技有限公司 一种数据读写方法以及主板
US9794064B2 (en) 2015-09-17 2017-10-17 Secturion Systems, Inc. Client(s) to cloud or remote server secure data or file object encryption gateway
US11283774B2 (en) 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
US9934272B2 (en) 2015-10-22 2018-04-03 International Business Machines Corporation Processing a database query in a database system
US10708236B2 (en) * 2015-10-26 2020-07-07 Secturion Systems, Inc. Multi-independent level secure (MILS) storage encryption
US10942943B2 (en) 2015-10-29 2021-03-09 Ip Reservoir, Llc Dynamic field data translation to support high performance stream data processing
CN106649136B (zh) * 2015-11-03 2022-09-23 西安中兴新软件有限责任公司 一种数据存储方法和存储装置
US10510017B2 (en) * 2015-11-18 2019-12-17 Oath Inc. Method for approximate k-nearest-neighbor search on parallel hardware accelerators
US10068183B1 (en) 2017-02-23 2018-09-04 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on a quantum processing platform
US20170270245A1 (en) 2016-01-11 2017-09-21 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing
BR112018015276A2 (pt) * 2016-01-26 2018-12-18 Icat Llc processador com núcleo com pipeline algorítmico reconfigurável e compilador com pipeline correspondente algorítmico
KR20170100989A (ko) 2016-02-26 2017-09-05 에스케이하이닉스 주식회사 반도체 시스템
JP6530553B2 (ja) 2016-03-07 2019-06-12 株式会社日立製作所 計算機及びデータベース管理方法
US10811539B2 (en) 2016-05-16 2020-10-20 Nanomedical Diagnostics, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US10048894B2 (en) * 2016-07-12 2018-08-14 Spirent Communications, Inc. Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows
CN106326421B (zh) * 2016-08-24 2019-03-22 中国科学院上海微系统与信息技术研究所 基于索引树和数据链表的fpga并行排序方法及系统
US10114941B2 (en) 2016-08-24 2018-10-30 Altera Corporation Systems and methods for authenticating firmware stored on an integrated circuit
JP7076819B2 (ja) 2016-09-15 2022-05-30 ナッツ・ホールディングス、エルエルシー 暗号化されたユーザデータの移動および記憶
CN108228583A (zh) * 2016-12-10 2018-06-29 南京理工大学 基于fpga的图像纹理检索系统及检索方法
WO2018119035A1 (en) * 2016-12-22 2018-06-28 Ip Reservoir, Llc Pipelines for hardware-accelerated machine learning
US10685048B1 (en) 2017-02-01 2020-06-16 Allscripts Software, Llc Systems and methods for Boolean-valuation-based searches
US11522725B2 (en) * 2017-03-29 2022-12-06 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
CN107122222B (zh) * 2017-04-20 2019-02-19 深圳大普微电子科技有限公司 一种字符串的搜索系统及方法
WO2018200475A1 (en) * 2017-04-24 2018-11-01 Reniac, Inc. System and method to accelerate compaction
JP6834771B2 (ja) * 2017-05-19 2021-02-24 富士通株式会社 通信装置および通信方法
CN107392309A (zh) * 2017-09-11 2017-11-24 东南大学—无锡集成电路技术研究所 一种基于fpga的通用定点数神经网络卷积加速器硬件结构
CN109754359B (zh) 2017-11-01 2021-12-07 腾讯科技(深圳)有限公司 一种应用于卷积神经网络的池化处理的方法及系统
CN110109954B (zh) * 2018-01-22 2023-05-26 腾讯科技(深圳)有限公司 数据处理方法、系统、电子设备及存储介质
US10585819B2 (en) 2018-03-05 2020-03-10 Samsung Electronics Co., Ltd. SSD architecture for FPGA based acceleration
US10585843B2 (en) * 2018-03-05 2020-03-10 Samsung Electronics Co., Ltd. SSD architecture for FPGA based acceleration
US11379389B1 (en) * 2018-04-03 2022-07-05 Xilinx, Inc. Communicating between data processing engines using shared memory
CN110837395B (zh) * 2018-08-17 2022-03-25 北京图森智途科技有限公司 多gpu并行训练的归一化处理方法、装置和系统
US11112972B2 (en) 2018-12-05 2021-09-07 Samsung Electronics Co., Ltd. System and method for accelerated data processing in SSDs
CN109683822B (zh) * 2018-12-19 2022-03-29 深圳忆联信息系统有限公司 一种ssd soc芯片内容地址搜索控制器的方法及其系统
US11275568B2 (en) 2019-01-14 2022-03-15 Microsoft Technology Licensing, Llc Generating a synchronous digital circuit from a source code construct defining a function call
US11113176B2 (en) 2019-01-14 2021-09-07 Microsoft Technology Licensing, Llc Generating a debugging network for a synchronous digital circuit during compilation of program source code
US11106437B2 (en) * 2019-01-14 2021-08-31 Microsoft Technology Licensing, Llc Lookup table optimization for programming languages that target synchronous digital circuits
US11093682B2 (en) 2019-01-14 2021-08-17 Microsoft Technology Licensing, Llc Language and compiler that generate synchronous digital circuits that maintain thread execution order
US11144286B2 (en) 2019-01-14 2021-10-12 Microsoft Technology Licensing, Llc Generating synchronous digital circuits from source code constructs that map to circuit implementations
US11157423B2 (en) * 2019-05-02 2021-10-26 Dell Products L.P. Pipelined-data-transform-enabled data mover system
JP2022532230A (ja) 2019-05-14 2022-07-13 エクセジー インコーポレイテッド 金融市場データからの取引シグナルを低遅延で生成しかつ配信するための方法およびシステム
CN110175056B (zh) * 2019-05-30 2022-02-11 西安微电子技术研究所 一种异构平台远程动态加载多目标fpga的控制装置及控制方法
US11593311B2 (en) * 2019-09-24 2023-02-28 Ati Technologies Ulc Compression system with longest match processing for generating compressed data
US11249651B2 (en) 2019-10-29 2022-02-15 Samsung Electronics Co., Ltd. System and method for hierarchical sort acceleration near storage
CN112835834B (zh) 2019-11-25 2024-03-19 瑞昱半导体股份有限公司 数据传输系统
CN111311479B (zh) * 2020-01-14 2023-09-29 成都智明达电子股份有限公司 一种基于fpga字符叠加的方法
KR20210094178A (ko) * 2020-01-20 2021-07-29 삼성전자주식회사 직렬로 연결된 전자 장치들 사이에서 컴플리션을 조기에 전송하기 위한 컴퓨팅 시스템
US11687279B2 (en) * 2020-01-27 2023-06-27 Samsung Electronics Co., Ltd. Latency and throughput centric reconfigurable storage device
KR20220154764A (ko) 2020-03-29 2022-11-22 마이크론 테크놀로지, 인크. 추론 엔진 회로 아키텍처
US11861337B2 (en) 2020-08-26 2024-01-02 Micron Technology, Inc. Deep neural networks compiler for a trace-based accelerator
US20220261903A1 (en) 2021-02-16 2022-08-18 Exegy Incorporated Methods and Systems for Pricing Derivatives at Low Latency
CN113608693B (zh) * 2021-07-26 2024-05-24 中国科学院国家空间科学中心 一种星载在轨数据的搜索排序系统和方法
US11966597B1 (en) * 2022-09-29 2024-04-23 Amazon Technologies, Inc. Multi-domain configurable data compressor/de-compressor
CN115827682B (zh) * 2023-02-10 2023-04-18 山东浪潮科学研究院有限公司 一种数据库查询加速引擎装置、方法及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326287A (ja) * 1997-05-23 1998-12-08 Mitsubishi Corp デジタルコンテンツ管理システム及びデジタルコンテンツ管理装置
JPH1188859A (ja) * 1997-06-24 1999-03-30 Internatl Business Mach Corp <Ibm> コンピュータ・システムにおけるコピーライト・データの保護方法及び装置
US6064739A (en) * 1996-09-30 2000-05-16 Intel Corporation System and method for copy-protecting distributed video content
JP2001045432A (ja) * 1999-08-02 2001-02-16 Nec Corp デジタル放送の録画におけるコンテンツ保護方法
JP2001268071A (ja) * 2000-03-16 2001-09-28 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 耐タンパー暗号装置
JP2001285283A (ja) * 2000-03-30 2001-10-12 Toshiba Corp 通信装置およびその通信方法
JP2002010189A (ja) * 2000-04-20 2002-01-11 Hitachi Ltd 受信装置および記録再生装置
JP2003122442A (ja) * 2001-10-16 2003-04-25 Sony Corp ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置
JP2004062885A (ja) * 2002-06-24 2004-02-26 Microsoft Corp ビデオカード出力を保護するシステムおよび方法

Family Cites Families (555)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2046381A (en) 1930-12-10 1936-07-07 Teleregister Corp Bid and asked quotation system
US3082402A (en) 1960-05-10 1963-03-19 Scantlin Electronics Inc Securities quotation apparatus
US3296597A (en) 1963-10-28 1967-01-03 Scantlin Electronics Inc Market quotation apparatus
US3581072A (en) 1968-03-28 1971-05-25 Frederick Nymeyer Auction market computation system
US3601808A (en) * 1968-07-18 1971-08-24 Bell Telephone Labor Inc Advanced keyword associative access memory system
US3573747A (en) 1969-02-24 1971-04-06 Institutional Networks Corp Instinet communication system for effectuating the sale or exchange of fungible properties between subscribers
US3611314A (en) * 1969-09-09 1971-10-05 Texas Instruments Inc Dynamic associative data processing system
US3824375A (en) * 1970-08-28 1974-07-16 Financial Security Syst Inc Memory system
US3729712A (en) * 1971-02-26 1973-04-24 Eastman Kodak Co Information storage and retrieval system
US3848235A (en) * 1973-10-24 1974-11-12 Ibm Scan and read control apparatus for a disk storage drive in a computer system
US3906455A (en) 1974-03-15 1975-09-16 Boeing Computer Services Inc Associative memory device
CA1056504A (en) * 1975-04-02 1979-06-12 Visvaldis A. Vitols Keyword detection in continuous speech using continuous asynchronous correlation
US4412287A (en) 1975-05-29 1983-10-25 Braddock Iii Walter D Automated stock exchange
US4044334A (en) 1975-06-19 1977-08-23 Honeywell Information Systems, Inc. Database instruction unload
JPS5829969B2 (ja) 1977-05-23 1983-06-25 旭化成株式会社 難燃性ポリアミド成形品の製造方法
US4300193A (en) 1979-01-31 1981-11-10 Honeywell Information Systems Inc. Data processing system having data multiplex control apparatus
US4298898A (en) * 1979-04-19 1981-11-03 Compagnie Internationale Pour L'informatique Cii Honeywell Bull Method of and apparatus for reading data from reference zones of a memory
US4314356A (en) * 1979-10-24 1982-02-02 Bunker Ramo Corporation High-speed term searcher
FR2481026B1 (ja) * 1980-04-21 1984-06-15 France Etat
JPS57137978A (en) 1981-02-20 1982-08-25 Toshiba Corp Pattern detecting device
JPS58102378A (ja) 1981-12-11 1983-06-17 Sharp Corp 情報検索装置
US4464718A (en) 1982-07-30 1984-08-07 International Business Machines Corporation Associative file processing method and apparatus
US4550436A (en) * 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus
US4903201A (en) 1983-11-03 1990-02-20 World Energy Exchange Corporation Automated futures trading exchange
US5270922A (en) 1984-06-29 1993-12-14 Merrill Lynch & Company, Inc. System for distributing, processing and displaying financial information
JPS61107596A (ja) 1984-10-31 1986-05-26 Nec Corp 連想記憶装置
US4868866A (en) 1984-12-28 1989-09-19 Mcgraw-Hill Inc. Broadcast data distribution system
US4674044A (en) 1985-01-30 1987-06-16 Merrill Lynch, Pierce, Fenner & Smith, Inc. Automated securities trading system
US4941178A (en) * 1986-04-01 1990-07-10 Gte Laboratories Incorporated Speech recognition using preclassification and spectral normalization
US4811214A (en) * 1986-11-14 1989-03-07 Princeton University Multinode reconfigurable pipeline computer
JPH0812659B2 (ja) 1986-12-05 1996-02-07 株式会社安川電機 時系列デ−タのデ−タベ−ス検索方法
US4823306A (en) * 1987-08-14 1989-04-18 International Business Machines Corporation Text search system
US5038284A (en) 1988-02-17 1991-08-06 Kramer Robert M Method and apparatus relating to conducting trading transactions with portable trading stations
US5023910A (en) * 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
US5179626A (en) * 1988-04-08 1993-01-12 At&T Bell Laboratories Harmonic speech coding arrangement where a set of parameters for a continuous magnitude spectrum is determined by a speech analyzer and the parameters are used by a synthesizer to determine a spectrum which is used to determine senusoids for synthesis
JPH0219963A (ja) 1988-07-08 1990-01-23 Hitachi Ltd 実時間状況監視方法及びシステム
US5050075A (en) * 1988-10-04 1991-09-17 Bell Communications Research, Inc. High performance VLSI data filter
JPH02136900A (ja) 1988-11-18 1990-05-25 Nec Corp 音声テキスト検索装置
JPH02224060A (ja) 1989-02-27 1990-09-06 Hitachi Ltd リアルタイム意思決定支援方式
WO1990010910A1 (en) 1989-03-14 1990-09-20 Chicago Board Of Trade Simulated pit trading system
US5249292A (en) * 1989-03-31 1993-09-28 Chiappa J Noel Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream
US5077665A (en) 1989-05-25 1991-12-31 Reuters Limited Distributed matching system
US5101353A (en) 1989-05-31 1992-03-31 Lattice Investments, Inc. Automated system for providing liquidity to securities markets
JPH0314075A (ja) 1989-06-13 1991-01-22 Ricoh Co Ltd 文書検索装置
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
US5233539A (en) 1989-08-15 1993-08-03 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
US5126936A (en) 1989-09-01 1992-06-30 Champion Securities Goal-directed financial asset management system
JPH03179863A (ja) 1989-09-04 1991-08-05 Hitachi Ltd 自動取引方法および装置
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
EP0565738A1 (en) * 1990-01-05 1993-10-20 Symbol Technologies, Inc. System for encoding and decoding data in machine readable graphic form
US5347634A (en) * 1990-03-15 1994-09-13 Hewlett-Packard Company System and method for directly executing user DMA instruction from user controlled process by employing processor privileged work buffer pointers
US5319776A (en) * 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
US5313560A (en) 1990-05-11 1994-05-17 Hitachi, Ltd. Method for determining a supplemental transaction changing a decided transaction to satisfy a target
JP2960533B2 (ja) 1990-11-30 1999-10-06 株式会社日立製作所 記号列検索モジュール及びそれを備えたシングルチップマイクロコンピュータ
US5497488A (en) * 1990-06-12 1996-03-05 Hitachi, Ltd. System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
DE4020875A1 (de) 1990-06-29 1992-01-02 Digital Equipment Int Verfahren und schaltungsanordnung zum umwandeln von analogen lesesignalen in digitale signale
GB9016341D0 (en) * 1990-07-25 1990-09-12 British Telecomm Speed estimation
US5255136A (en) * 1990-08-17 1993-10-19 Quantum Corporation High capacity submicro-winchester fixed disk drive
US5063507A (en) 1990-09-14 1991-11-05 Plains Cotton Cooperative Association Goods database employing electronic title or documentary-type title
US5404488A (en) 1990-09-26 1995-04-04 Lotus Development Corporation Realtime data feed engine for updating an application with the most currently received data from multiple data feeds
US5101424A (en) * 1990-09-28 1992-03-31 Northern Telecom Limited Method for generating a monitor program for monitoring text streams and executing actions when pre-defined patterns, are matched using an English to AWK language translator
GB9023096D0 (en) * 1990-10-24 1990-12-05 Int Computers Ltd Database search processor
US5258908A (en) 1990-11-02 1993-11-02 Foreign Exchange Transaction Services, Inc. Detection and prevention of duplicate trading transactions over a communications network
US5517642A (en) 1990-11-13 1996-05-14 International Business Machines, Inc. Inferencing production control computer system
US5263156A (en) 1990-12-20 1993-11-16 Bell Communications Research, Inc. Parallel, distributed optimistic concurrency control certification using hardware filtering
US5339411A (en) * 1990-12-21 1994-08-16 Pitney Bowes Inc. Method for managing allocation of memory space
US5404411A (en) 1990-12-27 1995-04-04 Xerox Corporation Bitmap-image pattern matching apparatus for correcting bitmap errors in a printing system
US5301284A (en) * 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
US5297032A (en) 1991-02-01 1994-03-22 Merrill Lynch, Pierce, Fenner & Smith Incorporated Securities trading workstation
US5421028A (en) * 1991-03-15 1995-05-30 Hewlett-Packard Company Processing commands and data in a common pipeline path in a high-speed computer graphics system
DE69229521T2 (de) * 1991-04-25 2000-03-30 Nippon Steel Corp Datenbankauffindungssystem
US5477451A (en) * 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
JPH05101102A (ja) 1991-10-03 1993-04-23 Matsushita Electric Ind Co Ltd 検索装置
US5488725A (en) * 1991-10-08 1996-01-30 West Publishing Company System of document representation retrieval by successive iterated probability sampling
US5265065A (en) * 1991-10-08 1993-11-23 West Publishing Company Method and apparatus for information retrieval from a database by replacing domain specific stemmed phases in a natural language to create a search query
US5826075A (en) * 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
US5208491A (en) 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
US5375055A (en) 1992-02-03 1994-12-20 Foreign Exchange Transaction Services, Inc. Credit management for electronic brokerage system
US6985883B1 (en) 1992-02-03 2006-01-10 Ebs Dealing Resources, Inc. Credit management for electronic brokerage system
WO1993018505A1 (en) * 1992-03-02 1993-09-16 The Walt Disney Company Voice transformation system
US5388259A (en) * 1992-05-15 1995-02-07 Bell Communications Research, Inc. System for accessing a database with an iterated fuzzy query notified by retrieval response
ES2171403T3 (es) 1992-06-10 2002-09-16 Cfph Llc Procesador de datos de cartera de renta fija y metodo de utilizacion del mismo.
US5524268A (en) * 1992-06-26 1996-06-04 Cirrus Logic, Inc. Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
US5684980A (en) 1992-07-29 1997-11-04 Virtual Computer Corporation FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
US5802290A (en) 1992-07-29 1998-09-01 Virtual Computer Corporation Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
GB9220404D0 (en) * 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
US6173270B1 (en) 1992-09-01 2001-01-09 Merrill Lynch, Pierce, Fenner & Smith Stock option control and exercise system
US5721898A (en) 1992-09-02 1998-02-24 International Business Machines Corporation Method and system for data search in a data processing system
JPH08502609A (ja) 1992-10-16 1996-03-19 ハラース,アーネ 非数値コプロセッサ
JP2575595B2 (ja) 1992-10-20 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション イメージフレームの圧縮方法及びデータ処理システム
US6044407A (en) * 1992-11-13 2000-03-28 British Telecommunications Public Limited Company Interface for translating an information message from one protocol to another
US5361373A (en) 1992-12-11 1994-11-01 Gilson Kent L Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5481735A (en) * 1992-12-28 1996-01-02 Apple Computer, Inc. Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network
US5440723A (en) * 1993-01-19 1995-08-08 International Business Machines Corporation Automatic immune system for computers and computer networks
US5432822A (en) * 1993-03-12 1995-07-11 Hughes Aircraft Company Error correcting decoder and decoding method employing reliability based erasure decision-making in cellular communication system
US5546462A (en) * 1993-04-09 1996-08-13 Washington University Method and apparatus for fingerprinting and authenticating various magnetic media
US5544352A (en) * 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
US6456982B1 (en) 1993-07-01 2002-09-24 Dragana N. Pilipovic Computer system for generating projected data and an application supporting a financial transaction
US5500793A (en) 1993-09-02 1996-03-19 Equitrade Computerized system for developing multi-party property equity exchange scenarios
DE69429061T2 (de) * 1993-10-29 2002-07-18 Advanced Micro Devices Inc Superskalarmikroprozessoren
US5371794A (en) * 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5497317A (en) 1993-12-28 1996-03-05 Thomson Trading Services, Inc. Device and method for improving the speed and reliability of security trade settlements
US5813000A (en) * 1994-02-15 1998-09-22 Sun Micro Systems B tree structure and method
ATE187294T1 (de) 1994-03-08 1999-12-15 Excel Switching Corp Fernmeldevermittlungsanlage mit verbesserter redundanz
US5465353A (en) * 1994-04-01 1995-11-07 Ricoh Company, Ltd. Image matching and retrieval by multi-access redundant hashing
US5461712A (en) * 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5809483A (en) 1994-05-13 1998-09-15 Broka; S. William Online transaction processing system for bond trading
US5987432A (en) 1994-06-29 1999-11-16 Reuters, Ltd. Fault-tolerant central ticker plant system for distributing financial market data
JPH0822392A (ja) 1994-07-11 1996-01-23 Hitachi Ltd 意志決定方法及び装置
US5623652A (en) * 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US6263321B1 (en) 1994-07-29 2001-07-17 Economic Inventions, Llc Apparatus and process for calculating an option
US5884286A (en) * 1994-07-29 1999-03-16 Daughtery, Iii; Vergil L. Apparatus and process for executing an expirationless option transaction
JP2964879B2 (ja) * 1994-08-22 1999-10-18 日本電気株式会社 ポストフィルタ
SE505156C2 (sv) * 1995-01-30 1997-07-07 Ericsson Telefon Ab L M Förfarande för bullerundertryckning genom spektral subtraktion
CN101359350B (zh) 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
US5619574A (en) 1995-02-13 1997-04-08 Eta Technologies Corporation Personal access management system
US7124302B2 (en) 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5819290A (en) * 1995-04-10 1998-10-06 Sony Corporation Data recording and management system and method for detecting data file division based on quantitative number of blocks
US5845266A (en) 1995-12-12 1998-12-01 Optimark Technologies, Inc. Crossing network utilizing satisfaction density profile with price discovery features
GB2300991B (en) 1995-05-15 1997-11-05 Andrew Macgregor Ritchie Serving signals to browsing clients
US5704060A (en) 1995-05-22 1997-12-30 Del Monte; Michael G. Text storage and retrieval system and method
US5687297A (en) 1995-06-29 1997-11-11 Xerox Corporation Multifunctional apparatus for appearance tuning and resolution reconstruction of digital images
US5886701A (en) 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
JPH0954797A (ja) 1995-08-18 1997-02-25 Nippon Telegr & Teleph Corp <Ntt> 企業網設計検索装置
US5943421A (en) * 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
JPH0981574A (ja) * 1995-09-14 1997-03-28 Fujitsu Ltd 検索集合表示画面を利用したデータベース検索法およびシステム
US5701464A (en) * 1995-09-15 1997-12-23 Intel Corporation Parameterized bloom filters
US6134551A (en) * 1995-09-15 2000-10-17 Intel Corporation Method of caching digital certificate revocation lists
US5774839A (en) * 1995-09-29 1998-06-30 Rockwell International Corporation Delayed decision switched prediction multi-stage LSF vector quantization
US5785636A (en) * 1995-10-12 1998-07-28 Beloit Technologies, Inc. Composite roll shell
JPH09145544A (ja) 1995-11-20 1997-06-06 Ricoh Co Ltd Mtf測定方法
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US20050267836A1 (en) 1996-03-25 2005-12-01 Cfph, Llc Method and system for transacting with a trading application
JPH09269930A (ja) 1996-04-03 1997-10-14 Hitachi Ltd ネットワークシステムの防疫方法及びその装置
US5713793A (en) 1996-04-05 1998-02-03 Oris, L.L.C. Sporting event options market trading game
US5781921A (en) * 1996-05-06 1998-07-14 Ohmeda Inc. Method and apparatus to effect firmware upgrades using a removable memory device under software control
US5712942A (en) 1996-05-13 1998-01-27 Lucent Technologies Inc. Optical communications system having distributed intelligence
GB2314433A (en) * 1996-06-22 1997-12-24 Xerox Corp Finding and modifying strings of a regular language in a text
US6147976A (en) * 1996-06-24 2000-11-14 Cabletron Systems, Inc. Fast network layer packet filter
US5995963A (en) * 1996-06-27 1999-11-30 Fujitsu Limited Apparatus and method of multi-string matching based on sparse state transition list
US6061662A (en) * 1997-08-15 2000-05-09 Options Technology Company, Inc. Simulation method and system for the valuation of derivative financial instruments
US6016483A (en) 1996-09-20 2000-01-18 Optimark Technologies, Inc. Method and apparatus for automated opening of options exchange
US6178494B1 (en) 1996-09-23 2001-01-23 Virtual Computer Corporation Modular, hybrid processor and method for producing a modular, hybrid processor
US6084584A (en) 1996-10-01 2000-07-04 Diamond Multimedia Systems, Inc. Computer system supporting portable interactive graphics display tablet and communications systems
US5991881A (en) * 1996-11-08 1999-11-23 Harris Corporation Network surveillance system
US5892962A (en) * 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US5963923A (en) 1996-11-12 1999-10-05 Garber; Howard B. System and method for trading having a principal market maker
JP3231673B2 (ja) * 1996-11-21 2001-11-26 シャープ株式会社 文字,文字列検索方法及び該方法に用いる記録媒体
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US5905974A (en) 1996-12-13 1999-05-18 Cantor Fitzgerald Securities Automated auction protocol processor
US6073160A (en) * 1996-12-18 2000-06-06 Xerox Corporation Document communications controller
US5911778A (en) * 1996-12-31 1999-06-15 Sun Microsystems, Inc. Processing system security
US6028939A (en) * 1997-01-03 2000-02-22 Redcreek Communications, Inc. Data security system and method
US6070172A (en) * 1997-03-06 2000-05-30 Oracle Corporation On-line free space defragmentation of a contiguous-file file system
JP2945938B2 (ja) 1997-03-11 1999-09-06 科学技術庁航空宇宙技術研究所長 ネットワーク不正解析方法及びこれを利用したネットワーク不正解析装置並びにネットワーク不正解析プログラムを記録したコンピュータ読み取り可能な記録媒体
US5930753A (en) * 1997-03-20 1999-07-27 At&T Corp Combining frequency warping and spectral shaping in HMM based speech recognition
US5873071A (en) 1997-05-15 1999-02-16 Itg Inc. Computer method and system for intermediated exchange of commodities
DE19724072C2 (de) 1997-06-07 1999-04-01 Deutsche Telekom Ag Vorrichtung zur Durchführung eines Blockchiffrierverfahrens
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6067569A (en) * 1997-07-10 2000-05-23 Microsoft Corporation Fast-forwarding and filtering of network packets in a computer system
US6317795B1 (en) 1997-07-22 2001-11-13 International Business Machines Corporation Dynamic modification of multimedia content
DE69836545T2 (de) 1997-07-24 2007-05-16 Tumbleweed Communications Corp., Redwood City Firewall für elektronische post mit verschlüsselung/entschlüsselung mittels gespeicherter schlüssel
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6608638B1 (en) * 2000-02-07 2003-08-19 National Instruments Corporation System and method for configuring a programmable hardware instrument to perform measurement functions utilizing estimation of the hardware implentation and management of hardware resources
US6173276B1 (en) * 1997-08-21 2001-01-09 Scicomp, Inc. System and method for financial instrument modeling and valuation
US6772136B2 (en) 1997-08-21 2004-08-03 Elaine Kant System and method for financial instrument modeling and using Monte Carlo simulation
US6307936B1 (en) 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
JPH11110320A (ja) 1997-10-03 1999-04-23 Matsushita Electric Ind Co Ltd メッセージ交換装置
GB2330682A (en) * 1997-10-22 1999-04-28 Calluna Tech Ltd Password access to an encrypted drive
US6442533B1 (en) 1997-10-29 2002-08-27 William H. Hinkle Multi-processing financial transaction processing system
US6370592B1 (en) 1997-11-04 2002-04-09 Hewlett-Packard Company Network interface device which allows peripherals to utilize network transport services
US5950006A (en) 1997-11-05 1999-09-07 Control Technology Corporation Object-oriented programmable controller
US6138176A (en) * 1997-11-14 2000-10-24 3Ware Disk array controller with automated processor which routes I/O data according to addresses and commands received from disk drive controllers
US6594643B1 (en) 1997-11-14 2003-07-15 Charles C. Freeny, Jr. Automatic stock trading system
AU1421799A (en) 1997-11-25 1999-06-15 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US6321258B1 (en) 1997-12-11 2001-11-20 Hewlett-Packard Company Administration of networked peripherals using particular file system
US6339819B1 (en) 1997-12-17 2002-01-15 Src Computers, Inc. Multiprocessor with each processor element accessing operands in loaded input buffer and forwarding results to FIFO output buffer
US6058391A (en) 1997-12-17 2000-05-02 Mci Communications Corporation Enhanced user view/update capability for managing data from relational tables
US7424552B2 (en) 1997-12-17 2008-09-09 Src Computers, Inc. Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices
US7124106B1 (en) 1997-12-17 2006-10-17 Omega Consulting, Inc. Apparatus for trading of bundled assets including bundle substitution and method therefor
US6147890A (en) * 1997-12-30 2000-11-14 Kawasaki Steel Corporation FPGA with embedded content-addressable memory
US6519686B2 (en) 1998-01-05 2003-02-11 Intel Corporation Information streaming in a multi-process system using shared memory
US6034538A (en) * 1998-01-21 2000-03-07 Lucent Technologies Inc. Virtual logic system for reconfigurable hardware
US6235996B1 (en) * 1998-01-28 2001-05-22 International Business Machines Corporation Interconnection structure and process module assembly and rework
US6175948B1 (en) * 1998-02-05 2001-01-16 Motorola, Inc. Method and apparatus for a waveform compiler
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6304858B1 (en) 1998-02-13 2001-10-16 Adams, Viner And Mosler, Ltd. Method, system, and computer program product for trading interest rate swaps
KR100441171B1 (ko) 1998-02-20 2004-10-14 삼성전자주식회사 플래쉬롬과램을이용한펌웨어구현방법
US6096091A (en) * 1998-02-24 2000-08-01 Advanced Micro Devices, Inc. Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip
US6279113B1 (en) 1998-03-16 2001-08-21 Internet Tools, Inc. Dynamic signature inspection-based network intrusion detection
US6236980B1 (en) 1998-04-09 2001-05-22 John P Reese Magazine, online, and broadcast summary recommendation reporting system to aid in decision making
JPH11306268A (ja) 1998-04-17 1999-11-05 Sunao Shibata 半導体演算装置
US6389532B1 (en) 1998-04-20 2002-05-14 Sun Microsystems, Inc. Method and apparatus for using digital signatures to filter packets in a network
JPH11316765A (ja) 1998-05-01 1999-11-16 Nippon Steel Corp データベース検索システム及び方法、データベース登録装置、データベース検索装置、記録媒体
US6397259B1 (en) 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6415269B1 (en) 1998-05-29 2002-07-02 Bidcatcher, L.P. Interactive remote auction bidding system
US6105067A (en) * 1998-06-05 2000-08-15 International Business Machines Corp. Connection pool management for backend servers using common interface
US6289461B1 (en) 1998-06-09 2001-09-11 Placeware, Inc. Bi-directional process-to-process byte stream protocol
US6243753B1 (en) 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
US6272616B1 (en) 1998-06-17 2001-08-07 Agere Systems Guardian Corp. Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths
US6560229B1 (en) 1998-07-08 2003-05-06 Broadcom Corporation Network switching architecture with multiple table synchronization, and forwarding of both IP and IPX packets
US6169969B1 (en) * 1998-08-07 2001-01-02 The United States Of America As Represented By The Director Of The National Security Agency Device and method for full-text large-dictionary string matching using n-gram hashing
US6535868B1 (en) 1998-08-27 2003-03-18 Debra A. Galeazzi Method and apparatus for managing metadata in a database management system
US6456632B1 (en) 1998-08-27 2002-09-24 Robert T. Baum Protocol separation in packet communication
JP2000076270A (ja) 1998-08-31 2000-03-14 Canon Inc 画像検索システム及びその制御方法、画像検索装置及びその制御方法、コンピュータ可読メモリ
US20020152060A1 (en) * 1998-08-31 2002-10-17 Tseng Ping-Sheng Inter-chip communication system
GB9819183D0 (en) 1998-09-04 1998-10-28 Int Computers Ltd Multiple string search method
JP2000101439A (ja) 1998-09-24 2000-04-07 Sony Corp 情報処理装置および方法、情報記録装置および方法、記録媒体、並びに提供媒体
US6226676B1 (en) 1998-10-07 2001-05-01 Nortel Networks Corporation Connection establishment and termination in a mixed protocol network
US6317728B1 (en) 1998-10-13 2001-11-13 Richard L. Kane Securities and commodities trading system
JP4763866B2 (ja) 1998-10-15 2011-08-31 インターシア ソフトウェア エルエルシー 2重再暗号化によりデジタルデータを保護する方法及び装置
US7181548B2 (en) 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
CN1214567C (zh) 1998-11-24 2005-08-10 尼克桑公司 用于采集和分析通信数据的装置及方法
JP3679936B2 (ja) 1998-11-27 2005-08-03 東芝ソリューション株式会社 暗復号装置及び記憶媒体
US6564263B1 (en) 1998-12-04 2003-05-13 International Business Machines Corporation Multimedia content description framework
US6195024B1 (en) 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6625150B1 (en) 1998-12-17 2003-09-23 Watchguard Technologies, Inc. Policy engine architecture
US6499107B1 (en) 1998-12-29 2002-12-24 Cisco Technology, Inc. Method and system for adaptive network security using intelligent packet analysis
US6279140B1 (en) 1999-01-07 2001-08-21 International Business Machines Corporation Method and apparatus for checksum verification with receive packet processing
US6329996B1 (en) * 1999-01-08 2001-12-11 Silicon Graphics, Inc. Method and apparatus for synchronizing graphics pipelines
US6578147B1 (en) 1999-01-15 2003-06-10 Cisco Technology, Inc. Parallel intrusion detection sensors with load balancing for high speed networks
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6778968B1 (en) 1999-03-17 2004-08-17 Vialogy Corp. Method and system for facilitating opportunistic transactions using auto-probes
US6839686B1 (en) 1999-03-29 2005-01-04 Dlj Long Term Investment Corporation Method and system for providing financial information and evaluating securities of a financial debt instrument
JP3526414B2 (ja) * 1999-03-31 2004-05-17 株式会社東芝 情報記録再生方法および情報記録再生装置
JP3673111B2 (ja) 1999-03-31 2005-07-20 株式会社東芝 文書管理方法および文書管理装置および記憶媒体
US6993504B1 (en) 1999-04-09 2006-01-31 Trading Technologies International, Inc. User interface for semi-fungible trading
US6336117B1 (en) 1999-04-30 2002-01-01 International Business Machines Corporation Content-indexing search system and method providing search results consistent with content filtering and blocking policies implemented in a blocking engine
US6768992B1 (en) * 1999-05-17 2004-07-27 Lynne G. Jolitz Term addressable memory of an accelerator system and method
US6952409B2 (en) * 1999-05-17 2005-10-04 Jolitz Lynne G Accelerator system and method
US6597812B1 (en) 1999-05-28 2003-07-22 Realtime Data, Llc System and method for lossless data compression and decompression
US6765918B1 (en) * 1999-06-16 2004-07-20 Teledata Networks, Ltd. Client/server based architecture for a telecommunications network
JP2001014239A (ja) 1999-06-29 2001-01-19 Hitachi Ltd 多重システム並列稼働計算機によるセキュリティシステム
US6463474B1 (en) 1999-07-02 2002-10-08 Cisco Technology, Inc. Local authentication of a client at a network device
US7002986B1 (en) 1999-07-08 2006-02-21 Nortel Networks Limited Mapping arbitrary signals into SONET
US7996296B2 (en) 1999-07-21 2011-08-09 Longitude Llc Digital options having demand-based, adjustable returns, and trading exchange therefor
US6418419B1 (en) 1999-07-23 2002-07-09 5Th Market, Inc. Automated system for conditional order transactions in securities or other items in commerce
GB2352548B (en) 1999-07-26 2001-06-06 Sun Microsystems Inc Method and apparatus for executing standard functions in a computer system
US6870837B2 (en) 1999-08-19 2005-03-22 Nokia Corporation Circuit emulation service over an internet protocol network
DE10085014T1 (de) * 1999-09-20 2003-04-30 Seagate Technology Llc Festplattensystem mit Feldprogrammierbarem Gatter-Array
US6546375B1 (en) 1999-09-21 2003-04-08 Johns Hopkins University Apparatus and method of pricing financial derivatives
US7181424B1 (en) 1999-09-23 2007-02-20 The Nasdaq Stock Market, Inc. Montage for automated market system
US6581098B1 (en) 1999-09-27 2003-06-17 Hewlett-Packard Development Company, L.P. Server providing access to a plurality of functions of a multifunction peripheral in a network
US7251629B1 (en) 1999-10-14 2007-07-31 Edge Capture, Llc Automated trading system in an electronic trading exchange
US6886103B1 (en) * 1999-10-28 2005-04-26 Lucent Technologies Inc. Method and apparatus for extending network address translation for unsupported protocols
IL144319A0 (en) 1999-11-12 2002-05-23 Brain Solutions Llc E Any-to-any component computing system
US6804667B1 (en) * 1999-11-30 2004-10-12 Ncr Corporation Filter for checking for duplicate entries in database
FI109319B (fi) 1999-12-03 2002-06-28 Nokia Corp Päätelaitteelle välitettävän elektronisen informaation suodattaminen
TW545023B (en) 1999-12-10 2003-08-01 Koninkl Philips Electronics Nv Synchronization of session keys
US6850906B1 (en) 1999-12-15 2005-02-01 Traderbot, Inc. Real-time financial search engine and method
US6870929B1 (en) 1999-12-22 2005-03-22 Juniper Networks, Inc. High throughput system for encryption and other data operations
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
JP2001189755A (ja) 1999-12-28 2001-07-10 Toshiba Corp パケット通信装置、パケット通信方法および記憶媒体
US7356498B2 (en) 1999-12-30 2008-04-08 Chicago Board Options Exchange, Incorporated Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services
ATE364866T1 (de) 2000-01-06 2007-07-15 Ibm Verfahren und schaltungen zum schnellen auffinden des minimalen / maximalen wertes in einer menge von zahlen
US20010015753A1 (en) * 2000-01-13 2001-08-23 Myers Kenneth J. Split image stereoscopic system and method
US7184549B2 (en) 2000-01-14 2007-02-27 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
WO2001056221A2 (en) 2000-01-31 2001-08-02 Vdg Inc. Block encryption method and schemes for data confidentiality and integrity protection
JP3448254B2 (ja) 2000-02-02 2003-09-22 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス・チェーン追跡システム、ネットワーク・システム、方法、及び記録媒体
US20030191876A1 (en) 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6584601B1 (en) * 2000-02-07 2003-06-24 National Instruments Corporation System and method for converting graphical programs into hardware implementations which utilize probe insertion
US6877044B2 (en) 2000-02-10 2005-04-05 Vicom Systems, Inc. Distributed storage management platform architecture
WO2001061913A2 (en) 2000-02-18 2001-08-23 Verimatrix, Inc. Network-based content distribution system
US6772132B1 (en) 2000-03-02 2004-08-03 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth
US7228289B2 (en) 2000-03-02 2007-06-05 Trading Technologies International, Inc. System and method for trading and displaying market information in an electronic trading environment
US7127424B2 (en) 2000-03-02 2006-10-24 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth and price consolidation
US20030099254A1 (en) 2000-03-03 2003-05-29 Richter Roger K. Systems and methods for interfacing asynchronous and non-asynchronous data media
US20030093347A1 (en) 2000-03-15 2003-05-15 Gray Dale F. Managing risk using macro-financial risk analysis
JP2003528398A (ja) 2000-03-21 2003-09-24 リットマスター,テッド・アール 通信ネットワークに情報を配信するためのシステムおよびプロセス
US7103569B1 (en) 2000-03-24 2006-09-05 Groveman Lloyd A Active account management using volatility arbitrage
US7571130B2 (en) 2002-06-17 2009-08-04 Nyse Alternext Us Llc Hedging exchange traded mutual funds or other portfolio basket products
US7099838B1 (en) 2000-03-27 2006-08-29 American Stock Exchange, Llc Hedging exchange traded mutual funds or other portfolio basket products
US7363277B1 (en) 2000-03-27 2008-04-22 International Business Machines Corporation Detecting copyright violation via streamed extraction and signature analysis in a method, system and program
US7146007B1 (en) * 2000-03-29 2006-12-05 Sony Corporation Secure conditional access port interface
US8095508B2 (en) 2000-04-07 2012-01-10 Washington University Intelligent data storage and processing using FPGA devices
US6711558B1 (en) 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
US7353267B1 (en) 2000-04-07 2008-04-01 Netzero, Inc. Targeted network video download interface
US7139743B2 (en) 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
US8799138B2 (en) 2000-04-10 2014-08-05 Stikine Technology, Llc Routing control for orders eligible for multiple markets
WO2001080131A1 (en) 2000-04-13 2001-10-25 Superderivatives, Inc. Method and system for pricing options
WO2001080558A2 (en) 2000-04-14 2001-10-25 Solidstreaming, Inc. A system and method for multimedia streaming
US6601094B1 (en) 2000-04-27 2003-07-29 Hewlett-Packard Development Company, L.P. Method and system for recommending an available network protocol
WO2001090890A1 (en) 2000-05-26 2001-11-29 Roke Manor Research Limited Reconfiguration manager
US7685052B2 (en) 2000-06-01 2010-03-23 Pipeline Financial Group, Inc. Confidential block trading system and method
US6981054B1 (en) * 2000-06-06 2005-12-27 Advanced Micro Devices, Inc. Flow control arrangement in a network switch based on priority traffic
JP2001357048A (ja) * 2000-06-13 2001-12-26 Hitachi Ltd ブロックソート圧縮データの検索方法、および検索に適したブロックソート圧縮法の符号化方法
US20020019812A1 (en) 2000-06-16 2002-02-14 Board Karen Eleanor System and service for receiving, customizing, and re-broadcasting high-speed financial data to users operating wireless network-capable devices
US20040064737A1 (en) 2000-06-19 2004-04-01 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of polymorphic network worms and viruses
US7328349B2 (en) 2001-12-14 2008-02-05 Bbn Technologies Corp. Hash-based systems and methods for detecting, preventing, and tracing network worms and viruses
US7032031B2 (en) 2000-06-23 2006-04-18 Cloudshield Technologies, Inc. Edge adapter apparatus and method
US8204082B2 (en) 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
US7089206B2 (en) 2000-06-30 2006-08-08 Ubs Ag Trade allocation
US7305085B2 (en) 2000-06-30 2007-12-04 Kabushiki Kaisha Toshiba Encryption apparatus and method, and decryption apparatus and method based on block encryption
JP3505482B2 (ja) 2000-07-12 2004-03-08 株式会社東芝 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体
US6956951B2 (en) 2000-07-13 2005-10-18 Fujitsu Limited Extended key preparing apparatus, extended key preparing method, recording medium and computer program
US7177833B1 (en) 2000-07-18 2007-02-13 Edge Capture, Llc Automated trading system in an electronic trading exchange
US20020100029A1 (en) 2000-07-20 2002-07-25 Matt Bowen System, method and article of manufacture for compiling and invoking C functions in hardware
US20030041129A1 (en) 2000-07-20 2003-02-27 John Applcby-Allis Voice-over-internet protocol telephone in reconfigurable logic
US20020010825A1 (en) 2000-07-20 2002-01-24 Alex Wilson Memory resource arbitrator for multiple gate arrays
US6931545B1 (en) * 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US6381242B1 (en) 2000-08-29 2002-04-30 Netrake Corporation Content processor
US20020069370A1 (en) 2000-08-31 2002-06-06 Infoseer, Inc. System and method for tracking and preventing illegal distribution of proprietary material over computer networks
GB0023409D0 (en) 2000-09-22 2000-11-08 Integrated Silicon Systems Ltd Data encryption apparatus
US6820129B1 (en) 2000-09-22 2004-11-16 Hewlett-Packard Development Company, L.P. System and method of managing network buffers
JP2002108910A (ja) * 2000-09-27 2002-04-12 Nec Soft Ltd 暗号化ファイルシステム及び暗号化ファイル検索方法並びにコンピュータ可読記録媒体
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7362859B1 (en) 2000-10-06 2008-04-22 Sandia Corporation Enhancement of utilization of encryption engine
US20020069375A1 (en) 2000-10-12 2002-06-06 Matt Bowen System, method, and article of manufacture for data transfer across clock domains
US20020072893A1 (en) 2000-10-12 2002-06-13 Alex Wilson System, method and article of manufacture for using a microprocessor emulation in a hardware application with non time-critical functions
US7065475B1 (en) 2000-10-31 2006-06-20 Goldman Sachs & Co. Modeling option price dynamics
US8949471B2 (en) 2000-11-02 2015-02-03 Oracle America, Inc. TCP/UDP acceleration
US6807156B1 (en) * 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US7760737B2 (en) 2000-11-30 2010-07-20 Audiocodes, Inc. Method for reordering and reassembling data packets in a network
US6815052B2 (en) 2000-12-01 2004-11-09 P1 Diamond, Inc. Filled diamond foam material and method for forming same
US6594316B2 (en) * 2000-12-12 2003-07-15 Scientific-Atlanta, Inc. Method and apparatus for adaptive bit rate control in an asynchronized encoding system
US7142671B2 (en) 2000-12-13 2006-11-28 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
US7178100B2 (en) 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US7117280B2 (en) 2000-12-27 2006-10-03 Intel Corporation Network based intra-system communications architecture
EP1410513A4 (en) * 2000-12-29 2005-06-29 Infineon Technologies Ag CHANNEL CODEC PROCESSOR CONFIGURABLE FOR MULTIPLE WIRELESS COMMUNICATION STANDARDS
US7757278B2 (en) 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
US20030033588A1 (en) 2001-01-29 2003-02-13 John Alexander System, method and article of manufacture for using a library map to create and maintain IP cores effectively
US20030037321A1 (en) 2001-01-29 2003-02-20 Matt Bowen System, method and article of manufacture for extensions in a programming lanauage capable of programming hardware architectures
US20030074177A1 (en) 2001-01-29 2003-04-17 Matt Bowen System, method and article of manufacture for a simulator plug-in for co-simulation purposes
US20030033594A1 (en) 2001-01-29 2003-02-13 Matt Bowen System, method and article of manufacture for parameterized expression libraries
US20030046668A1 (en) 2001-01-29 2003-03-06 Matt Bowen System, method and article of manufacture for distributing IP cores
US20030023653A1 (en) 2001-01-29 2003-01-30 Andrew Dunlop System, method and article of manufacture for a single-cycle floating point library
US6868265B2 (en) 2001-01-29 2005-03-15 Accelerated Performance, Inc. Locator for physically locating an electronic device in a communication network
US20020199173A1 (en) 2001-01-29 2002-12-26 Matt Bowen System, method and article of manufacture for a debugger capable of operating across multiple threads and lock domains
US20020101425A1 (en) 2001-01-29 2002-08-01 Hammad Hamid System, method and article of manufacture for increased I/O capabilities in a graphics processing framework
US20030105620A1 (en) 2001-01-29 2003-06-05 Matt Bowen System, method and article of manufacture for interface constructs in a programming language capable of programming hardware architetures
US20020180742A1 (en) 2001-01-29 2002-12-05 Hammad Hamid Graphics macros for a frame buffer
US6691301B2 (en) 2001-01-29 2004-02-10 Celoxica Ltd. System, method and article of manufacture for signal constructs in a programming language capable of programming hardware architectures
US20030028864A1 (en) 2001-01-29 2003-02-06 Matt Bowen System, method and article of manufacture for successive compilations using incomplete parameters
US7539746B2 (en) * 2001-02-01 2009-05-26 Emc Corporation Highly available transaction failure detection and recovery for electronic commerce transactions
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
CA2372380A1 (en) 2001-02-20 2002-08-20 Martin D. Levine Method for secure transmission and receipt of data over a computer network using biometrics
US7212495B2 (en) * 2001-02-21 2007-05-01 Polytechnic University Signaling for reserving a communications path
US6847645B1 (en) 2001-02-22 2005-01-25 Cisco Technology, Inc. Method and apparatus for controlling packet header buffer wrap around in a forwarding engine of an intermediate network node
US20030055771A1 (en) 2001-02-23 2003-03-20 Rudusky Daryl System, method and article of manufacture for a reverse-auction-based system for hardware development
US20030055769A1 (en) 2001-02-23 2003-03-20 Rudusky Daryl System, method and article of manufacture for a library-based hardware configuration service
US20030055770A1 (en) 2001-02-23 2003-03-20 Rudusky Daryl System, method and article of manufacture for an auction-based system for hardware development
US20030055658A1 (en) 2001-02-23 2003-03-20 Rudusky Daryl System, method and article of manufacture for dynamic, automated fulfillment of an order for a hardware product
US20030061409A1 (en) 2001-02-23 2003-03-27 Rudusky Daryl System, method and article of manufacture for dynamic, automated product fulfillment for configuring a remotely located device
US20030033234A1 (en) 2001-02-23 2003-02-13 Rudusky Daryl System, method and article of manufacture for a hardware configuration service
US20030028408A1 (en) 2001-02-23 2003-02-06 Rudusky Daryl System, method and article of manufacture for a contractor-based hardware development service
WO2002071227A1 (en) 2001-03-01 2002-09-12 Cyber Operations, Llc System and method for anti-network terrorism
US20030097481A1 (en) 2001-03-01 2003-05-22 Richter Roger K. Method and system for performing packet integrity operations using a data movement engine
US20020150248A1 (en) * 2001-03-06 2002-10-17 Kovacevic Branko D. System for digital stream reception via memory buffer and method thereof
AU2002258516A1 (en) * 2001-03-12 2004-02-16 Mercury Computer Systems, Inc. Digital data processing apparatus, framework, and methods for dynamically configurable application execution on accelerated resources
US7681032B2 (en) 2001-03-12 2010-03-16 Portauthority Technologies Inc. System and method for monitoring unauthorized transport of digital content
US20030035547A1 (en) 2001-03-27 2003-02-20 John Newton Server with multiple encryption libraries
US20030079060A1 (en) 2001-04-02 2003-04-24 Andrew Dunlop Universal download program for establishing communication with a gate array
US7363278B2 (en) 2001-04-05 2008-04-22 Audible Magic Corporation Copyright detection and protection system and method
US20030086300A1 (en) * 2001-04-06 2003-05-08 Gareth Noyes FPGA coprocessing system
US6779057B2 (en) * 2001-04-18 2004-08-17 International Business Machines Corporation Method, system, and program for indicating data transmitted to an input/output device as committed
US7325249B2 (en) 2001-04-30 2008-01-29 Aol Llc Identifying unwanted electronic messages
US6785677B1 (en) 2001-05-02 2004-08-31 Unisys Corporation Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector
US6944168B2 (en) * 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US7152151B2 (en) 2002-07-18 2006-12-19 Ge Fanuc Embedded Systems, Inc. Signal processing resource for selective series processing of data in transit on communications paths in multi-processor arrangements
GB0111521D0 (en) 2001-05-11 2001-07-04 Amphion Semiconductor Ltd A component for generating data encryption/decryption apparatus
US7065482B2 (en) 2001-05-17 2006-06-20 International Business Machines Corporation Internet traffic analysis tool
US7558753B2 (en) 2001-05-30 2009-07-07 Morgan Stanley Price improvement crossing system
US6937727B2 (en) 2001-06-08 2005-08-30 Corrent Corporation Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels
US7702563B2 (en) 2001-06-11 2010-04-20 Otc Online Partners Integrated electronic exchange of structured contracts with dynamic risk-based transaction permissioning
US7308715B2 (en) 2001-06-13 2007-12-11 Mcafee, Inc. Protocol-parsing state machine and method of using same
US20040218762A1 (en) 2003-04-29 2004-11-04 Eric Le Saint Universal secure messaging for cryptographic modules
US20030009411A1 (en) 2001-07-03 2003-01-09 Pranil Ram Interactive grid-based graphical trading system for real time security trading
US7207041B2 (en) 2001-06-28 2007-04-17 Tranzeo Wireless Technologies, Inc. Open platform architecture for shared resource access management
JP3851115B2 (ja) 2001-06-28 2006-11-29 富士通株式会社 暗号回路
US7149715B2 (en) 2001-06-29 2006-12-12 Goldman Sachs & Co. Method and system for simulating implied volatility surfaces for use in option pricing simulations
US20030167348A1 (en) * 2001-07-02 2003-09-04 Globespanvirata, Inc. Communications system using rings architecture
US20030069723A1 (en) * 2001-07-03 2003-04-10 Datacube, Inc. System to integrate FPGA functions into a pipeline processing environment
US6928549B2 (en) 2001-07-09 2005-08-09 International Business Machines Corporation Dynamic intrusion detection for computer systems
US7845004B2 (en) 2001-07-27 2010-11-30 International Business Machines Corporation Correlating network information and intrusion information to find the entry point of an attack upon a protected computer
US7587476B2 (en) 2001-08-07 2009-09-08 Ricoh Company, Ltd. Peripheral device with a centralized management server, and system, computer program product and method for managing peripheral devices connected to a network
US6980976B2 (en) 2001-08-13 2005-12-27 Oracle International Corp. Combined database index of unstructured and structured columns
US7542867B2 (en) * 2001-08-14 2009-06-02 National Instruments Corporation Measurement system with modular measurement modules that convey interface information
US7013232B2 (en) * 2001-08-15 2006-03-14 National Insurance Corporation Network-based system for configuring a measurement system using configuration information generated based on a user specification
US6931408B2 (en) 2001-08-17 2005-08-16 E.C. Outlook, Inc. Method of storing, maintaining and distributing computer intelligible electronic data
US7046848B1 (en) 2001-08-22 2006-05-16 Olcott Peter L Method and system for recognizing machine generated character glyphs and icons in graphic images
US7133405B2 (en) 2001-08-30 2006-11-07 International Business Machines Corporation IP datagram over multiple queue pairs
US6978223B2 (en) * 2001-09-06 2005-12-20 Bbnt Solutions Llc Systems and methods for network performance measurement using packet signature collection
GB0121793D0 (en) 2001-09-08 2001-10-31 Amphion Semiconductor Ltd An apparatus for generating encryption/decryption keys
US6941312B1 (en) * 2001-09-10 2005-09-06 At&T Corp. Simultaneous multiple-method (SMm) compression
EP1436936A4 (en) 2001-09-12 2006-08-02 Safenet Inc RECOGNITION OF FORMS OF HIGH-SPEED DATA FLOW
US7558967B2 (en) 2001-09-13 2009-07-07 Actel Corporation Encryption for a stream file in an FPGA integrated circuit
US7191233B2 (en) 2001-09-17 2007-03-13 Telecommunication Systems, Inc. System for automated, mid-session, user-directed, device-to-device session transfer system
US7835966B2 (en) 2001-09-17 2010-11-16 Recognia Inc. Technical analysis formation recognition using pivot points
US20030065943A1 (en) 2001-09-28 2003-04-03 Christoph Geis Method and apparatus for recognizing and reacting to denial of service attacks on a computerized network
US20030187662A1 (en) 2001-10-04 2003-10-02 Alex Wilson System, method, and article of manufacture for a reconfigurable hardware-based audio decoder
TW527783B (en) 2001-10-04 2003-04-11 Ind Tech Res Inst Encryption/deciphering device capable of supporting advanced encryption standard
US20030184593A1 (en) 2001-10-09 2003-10-02 Andrew Dunlop System, method and article of manufacture for a user interface for an MP3 audio player
US7801301B2 (en) 2001-10-10 2010-09-21 Stmicroelectronics S.R.L. Method and circuit for data encryption/decryption
US7181765B2 (en) 2001-10-12 2007-02-20 Motorola, Inc. Method and apparatus for providing node security in a router of a packet network
US7716330B2 (en) 2001-10-19 2010-05-11 Global Velocity, Inc. System and method for controlling transmission of data packets over an information network
AU2002349906A1 (en) 2001-10-24 2003-05-06 Theodore C. Lee Automated financial market information and trading system
US6707973B2 (en) * 2001-11-02 2004-03-16 Alcatel Buffer tube design for easy and reliable access in mid-span
US6577254B2 (en) * 2001-11-14 2003-06-10 Hewlett-Packard Development Company, L.P. Data compression/decompression system
US20030117971A1 (en) 2001-12-21 2003-06-26 Celoxica Ltd. System, method, and article of manufacture for profiling an executable hardware model using calls to profiling functions
US20030120460A1 (en) 2001-12-21 2003-06-26 Celoxica Ltd. System, method, and article of manufacture for enhanced hardware model profiling
US20030140337A1 (en) 2001-12-21 2003-07-24 Celoxica Ltd. System, method, and article of manufacture for data transfer reporting for an application
US20030121010A1 (en) 2001-12-21 2003-06-26 Celoxica Ltd. System, method, and article of manufacture for estimating a potential performance of a codesign from an executable specification
US7116736B2 (en) * 2002-01-02 2006-10-03 International Business Machines Corporation Method, system, and program for synchronization and resynchronization of a data stream
US20030130899A1 (en) 2002-01-08 2003-07-10 Bruce Ferguson System and method for historical database training of non-linear models for use in electronic commerce
US20030149869A1 (en) 2002-02-01 2003-08-07 Paul Gleichauf Method and system for securely storing and trasmitting data by applying a one-time pad
US6772345B1 (en) * 2002-02-08 2004-08-03 Networks Associates Technology, Inc. Protocol-level malware scanner
US7454603B2 (en) 2002-02-11 2008-11-18 Intel Corporation Method and system for linking firmware modules in a pre-memory execution environment
US7225188B1 (en) 2002-02-13 2007-05-29 Cisco Technology, Inc. System and method for performing regular expression matching with high parallelism
TWI230532B (en) * 2002-03-05 2005-04-01 Admtek Inc Pipelined engine for encryption/authentication in IPSEC
US20030172017A1 (en) 2002-03-11 2003-09-11 Vincent Feingold High performance multi-dimensional risk engines for enterprise wide market risk management
US20030198345A1 (en) 2002-04-15 2003-10-23 Van Buer Darrel J. Method and apparatus for high speed implementation of data encryption and decryption utilizing, e.g. Rijndael or its subset AES, or other encryption/decryption algorithms having similar key expansion data flow
US20040111632A1 (en) 2002-05-06 2004-06-10 Avner Halperin System and method of virus containment in computer networks
US20030217306A1 (en) 2002-05-17 2003-11-20 Harthcock Jerry D. Self-programmable microcomputer and method of remotely programming same
US7249118B2 (en) 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods
US8027893B1 (en) 2002-05-20 2011-09-27 News Technologies, Llc News induced automated electronic securities transactions
US7277887B1 (en) 2002-05-20 2007-10-02 News Technologies, Llc High-speed term and phrase matching via successive complexity reduction
US7093023B2 (en) * 2002-05-21 2006-08-15 Washington University Methods, systems, and devices using reprogrammable hardware for high-speed processing of streaming data to find a redefinable pattern and respond thereto
WO2003100622A1 (en) 2002-05-22 2003-12-04 Procera Networks Switch for local area network
US7480253B1 (en) 2002-05-30 2009-01-20 Nortel Networks Limited Ascertaining the availability of communications between devices
US7167980B2 (en) * 2002-05-30 2007-01-23 Intel Corporation Data comparison process
US7631107B2 (en) 2002-06-11 2009-12-08 Pandya Ashish A Runtime adaptable protocol processor
US7415723B2 (en) 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US8005966B2 (en) 2002-06-11 2011-08-23 Pandya Ashish A Data processing system using internet protocols
GB2390274B (en) * 2002-06-28 2005-11-09 Matsushita Electric Ind Co Ltd Information reproducing apparatus
US7158892B2 (en) * 2002-06-28 2007-01-02 International Business Machines Corporation Genomic messaging system
AU2003252093A1 (en) 2002-07-17 2004-02-02 Ubs Ag Computer-implemented system for automated trading
US7478431B1 (en) 2002-08-02 2009-01-13 Symantec Corporation Heuristic detection of computer viruses
WO2004014065A2 (en) 2002-08-05 2004-02-12 John Campbell System of finite state machines
US7274792B2 (en) 2002-08-09 2007-09-25 Broadcom Corporation Methods and apparatus for initialization vector processing
US7711844B2 (en) 2002-08-15 2010-05-04 Washington University Of St. Louis TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks
US20040034587A1 (en) 2002-08-19 2004-02-19 Amberson Matthew Gilbert System and method for calculating intra-period volatility
US8201252B2 (en) 2002-09-03 2012-06-12 Alcatel Lucent Methods and devices for providing distributed, adaptive IP filtering against distributed denial of service attacks
US7389330B2 (en) 2002-09-11 2008-06-17 Hughes Network Systems, Llc System and method for pre-fetching content in a proxy architecture
EP1546926A4 (en) * 2002-09-18 2008-07-02 Netezza Corp RECORDING PROCESSOR, METHOD AND DEVICE FOR ASYMMETRIC STREAMING
US7685121B2 (en) 2002-10-10 2010-03-23 Emulex Corporation Structure and method for maintaining ordered linked lists
US7761459B1 (en) 2002-10-15 2010-07-20 Ximpleware, Inc. Processing structured data
US7386704B2 (en) 2002-10-31 2008-06-10 Lockheed Martin Corporation Pipeline accelerator including pipeline circuits in communication via a bus, and related system and method
AU2003287319B2 (en) 2002-10-31 2010-06-24 Lockheed Martin Corporation Pipeline coprocessor
WO2004042562A2 (en) 2002-10-31 2004-05-21 Lockheed Martin Corporation Pipeline accelerator and related system and method
JP4154213B2 (ja) 2002-11-01 2008-09-24 富士通株式会社 パケット処理装置
US7603303B1 (en) 2002-11-26 2009-10-13 Trading Technologies International, Inc. System and method for risk management
JP2004186717A (ja) 2002-11-29 2004-07-02 Toshiba Corp 通信制御方法、サーバ機器、及びクライアント機器
JP4583931B2 (ja) * 2002-12-18 2010-11-17 エヌエックスピー ビー ヴィ マルチチャネル・シリアル通信インターフェース上の専用暗号化仮想チャネル
US7260794B2 (en) * 2002-12-20 2007-08-21 Quickturn Design Systems, Inc. Logic multiprocessor for FPGA implementation
US6901461B2 (en) 2002-12-31 2005-05-31 Intel Corporation Hardware assisted ATA command queuing
US20040133854A1 (en) * 2003-01-08 2004-07-08 Black Karl S. Persistent document object model
US7272231B2 (en) 2003-01-27 2007-09-18 International Business Machines Corporation Encrypting data for access by multiple users
US7752117B2 (en) 2003-01-31 2010-07-06 Trading Technologies International, Inc. System and method for money management in electronic trading environment
US7305391B2 (en) 2003-02-07 2007-12-04 Safenet, Inc. System and method for determining the start of a match of a regular expression
TW591532B (en) 2003-03-07 2004-06-11 Mediatek Inc Firmware structuring method and related apparatus for unifying handling of execution responses of subroutines
US7640201B2 (en) 2003-03-19 2009-12-29 General Electric Company Methods and systems for analytical-based multifactor Multiobjective portfolio risk optimization
US7593880B2 (en) 2003-03-19 2009-09-22 General Electric Company Methods and systems for analytical-based multifactor multiobjective portfolio risk optimization
US20040186804A1 (en) 2003-03-19 2004-09-23 Anindya Chakraborty Methods and systems for analytical-based multifactor multiobjective portfolio risk optimization
US7660352B2 (en) 2003-04-04 2010-02-09 Sony Corporation Apparatus and method of parallel processing an MPEG-4 data stream
US7539876B2 (en) 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7321910B2 (en) 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US8060755B2 (en) 2003-04-18 2011-11-15 Via Technologies, Inc Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
CA2523548C (en) 2003-05-23 2014-02-04 Washington University Intelligent data processing system and method using fpga devices
US7058735B2 (en) 2003-06-02 2006-06-06 Emulex Design & Manufacturing Corporation Method and apparatus for local and distributed data memory access (“DMA”) control
US7420931B2 (en) 2003-06-05 2008-09-02 Nvidia Corporation Using TCP/IP offload to accelerate packet filtering
US20050108518A1 (en) 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US20040267657A1 (en) 2003-06-28 2004-12-30 Global Skyline Llc Method for valuing forwards, futures and options on real estate
US7788726B2 (en) 2003-07-02 2010-08-31 Check Point Software Technologies, Inc. System and methodology providing information lockbox
US7257842B2 (en) 2003-07-21 2007-08-14 Mcafee, Inc. Pre-approval of computer files during a malware detection
US20050033672A1 (en) 2003-07-22 2005-02-10 Credit-Agricole Indosuez System, method, and computer program product for managing financial risk when issuing tender options
US7756782B2 (en) 2003-07-28 2010-07-13 Trading Technologies International, Inc. System and method for improved electronic trading
US7444515B2 (en) 2003-08-14 2008-10-28 Washington University Method and apparatus for detecting predefined signatures in packet payload using Bloom filters
US7222114B1 (en) 2003-08-20 2007-05-22 Xilinx, Inc. Method and apparatus for rule-based operations
US7200837B2 (en) 2003-08-21 2007-04-03 Qst Holdings, Llc System, method and software for static and dynamic programming and configuration of an adaptive computing architecture
US7287037B2 (en) 2003-08-28 2007-10-23 International Business Machines Corporation Method and apparatus for generating service oriented state data mapping between extensible meta-data model and state data including logical abstraction
US20050080649A1 (en) 2003-10-08 2005-04-14 Alvarez Andres C. Systems and methods for automating the capture, organization, and transmission of data
US7408932B2 (en) 2003-10-20 2008-08-05 Intel Corporation Method and apparatus for two-stage packet classification using most specific filter matching and transport level sharing
US10002385B2 (en) 2003-10-28 2018-06-19 Bgc Partners, Inc. Managing the execution of trades between market makers
JP2005140823A (ja) 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
US20050097027A1 (en) 2003-11-05 2005-05-05 Sylvan Kavanaugh Computer-implemented method and electronic system for trading
US7454418B1 (en) 2003-11-07 2008-11-18 Qiang Wang Fast signature scan
US7529703B2 (en) 2003-11-18 2009-05-05 Citigroup Global Markets, Inc. Method and system for artificial neural networks to predict price movements in the financial markets
KR20050053379A (ko) 2003-12-01 2005-06-08 삼성전자주식회사 AES Rijndael(라인달) 알고리즘을 빠르게구현하는 암호/복호 장치 및 그 방법
US20050216384A1 (en) 2003-12-15 2005-09-29 Daniel Partlow System, method, and computer program for creating and valuing financial instruments linked to real estate indices
US7617291B2 (en) 2003-12-19 2009-11-10 Broadcom Corporation System and method for supporting TCP out-of-order receive data using generic buffer
US7546327B2 (en) 2003-12-22 2009-06-09 Wells Fargo Bank, N.A. Platform independent randomness accumulator for network applications
US7496108B2 (en) 2004-01-07 2009-02-24 International Business Machines Corporation Method for dynamic management of TCP reassembly buffers
US7386564B2 (en) 2004-01-15 2008-06-10 International Business Machines Corporation Generating statistics on text pattern matching predicates for access planning
US7019674B2 (en) 2004-02-05 2006-03-28 Nec Laboratories America, Inc. Content-based information retrieval architecture
US7697681B2 (en) 2004-02-06 2010-04-13 Nortel Networks Limited Parallelizable integrity-aware encryption technique
US7602785B2 (en) 2004-02-09 2009-10-13 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters
US7433355B2 (en) 2004-02-09 2008-10-07 Alcatel Lucent Filter based longest prefix match algorithm
US20050187845A1 (en) 2004-02-20 2005-08-25 Eklund Neil Holger W. Systems and methods for multi-objective portfolio analysis using dominance filtering
US8126795B2 (en) 2004-02-20 2012-02-28 General Electric Company Systems and methods for initial sampling in multi-objective portfolio analysis
US8311974B2 (en) 2004-02-20 2012-11-13 Oracle International Corporation Modularized extraction, transformation, and loading for a database
US7630928B2 (en) 2004-02-20 2009-12-08 General Electric Company Systems and methods for multi-objective portfolio analysis and decision-making using visualization techniques
US7542932B2 (en) 2004-02-20 2009-06-02 General Electric Company Systems and methods for multi-objective portfolio optimization
US7469228B2 (en) 2004-02-20 2008-12-23 General Electric Company Systems and methods for efficient frontier supplementation in multi-objective portfolio analysis
US8219477B2 (en) 2004-02-20 2012-07-10 General Electric Company Systems and methods for multi-objective portfolio analysis using pareto sorting evolutionary algorithms
DE602005023416D1 (de) 2004-03-02 2010-10-21 Divinetworks Ltd Verfahren, server und system zum caching von datenströmen
US7711628B2 (en) 2004-03-05 2010-05-04 Cantor Index Llc System and method for offering intraday wagering in a financial market environment
US7835961B2 (en) 2004-03-05 2010-11-16 Cantor Index Llc System and method for wagering in a financial market environment
US20050197938A1 (en) 2004-03-05 2005-09-08 Cantor Index Llc System and method for determining odds for wagering in a financial market environment
US7411957B2 (en) 2004-03-26 2008-08-12 Cisco Technology, Inc. Hardware filtering support for denial-of-service attacks
US7966658B2 (en) 2004-04-08 2011-06-21 The Regents Of The University Of California Detecting public network attacks using signatures and fast content analysis
US7756033B2 (en) 2004-05-03 2010-07-13 Verizon Business Global Llc Systems and methods for managing multicast data transmissions
US7305383B1 (en) 2004-06-10 2007-12-04 Cisco Technology, Inc. Processing system using bitmap array to compress deterministic finite automation state table allowing direct indexing
US7555449B2 (en) 2004-06-18 2009-06-30 Sap Ag System and method for updating stop loss orders
US7693856B2 (en) 2004-06-25 2010-04-06 Apple Inc. Methods and systems for managing data
US7623660B1 (en) 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US8200568B2 (en) 2004-07-21 2012-06-12 Bgc Partners, Inc. System and method for managing trading orders received from market makers
US7577605B2 (en) 2004-08-04 2009-08-18 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US7529707B2 (en) 2004-08-04 2009-05-05 Bgc Partners, Inc. System and method for managing trading using alert messages for outlying trading orders
US7660865B2 (en) 2004-08-12 2010-02-09 Microsoft Corporation Spam filtering with probabilistic secure hashes
CA2577891A1 (en) 2004-08-24 2006-03-02 Washington University Methods and systems for content detection in a reconfigurable hardware
WO2006031551A2 (en) 2004-09-10 2006-03-23 Cavium Networks Selective replication of data structure
US8849711B2 (en) 2004-09-10 2014-09-30 Chicago Mercantile Exchange Inc. System and method for displaying a combined trading and risk management GUI display
US7509275B2 (en) 2004-09-10 2009-03-24 Chicago Mercantile Exchange Inc. System and method for asymmetric offsets in a risk management system
US7430539B2 (en) 2004-09-10 2008-09-30 Chicago Mercantile Exchange System and method of margining fixed payoff products
US7593877B2 (en) 2004-09-10 2009-09-22 Chicago Mercantile Exchange, Inc. System and method for hybrid spreading for flexible spread participation
US7426487B2 (en) 2004-09-10 2008-09-16 Chicago Mercantile Exchange, Inc. System and method for efficiently using collateral for risk offset
US7428508B2 (en) 2004-09-10 2008-09-23 Chicago Mercantile Exchange System and method for hybrid spreading for risk management
US20060143099A1 (en) 2004-09-23 2006-06-29 Daniel Partlow System, method, and computer program for creating and valuing financial insturments linked to average credit spreads
US7606267B2 (en) 2004-12-10 2009-10-20 Cisco Technology, Inc. Reducing the sizes of application layer messages in a network element
EP1859378A2 (en) 2005-03-03 2007-11-28 Washington University Method and apparatus for performing biosequence similarity searching
US7101188B1 (en) 2005-03-30 2006-09-05 Intel Corporation Electrical edge connector adaptor
US7487327B1 (en) 2005-06-01 2009-02-03 Sun Microsystems, Inc. Processor and method for device-specific memory address translation
US7715436B1 (en) 2005-11-18 2010-05-11 Chelsio Communications, Inc. Method for UDP transmit protocol offload processing with traffic management
US7760733B1 (en) 2005-10-13 2010-07-20 Chelsio Communications, Inc. Filtering ingress packets in network interface circuitry
WO2007061857A2 (en) 2005-11-18 2007-05-31 Chicago Mercantile Exchange Multiple quote risk management
US7702629B2 (en) 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
US7954114B2 (en) 2006-01-26 2011-05-31 Exegy Incorporated Firmware socket module for FPGA-based pipeline processing
US8379841B2 (en) 2006-03-23 2013-02-19 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US7840482B2 (en) 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US20080086274A1 (en) 2006-08-10 2008-04-10 Chamberlain Roger D Method and Apparatus for Protein Sequence Alignment Using FPGA Devices
US20080189251A1 (en) * 2006-08-25 2008-08-07 Jeremy Branscome Processing elements of a hardware accelerated reconfigurable processor for accelerating database operations and queries
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US7996348B2 (en) 2006-12-08 2011-08-09 Pandya Ashish A 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters
US7831607B2 (en) 2006-12-08 2010-11-09 Pandya Ashish A Interval symbol architecture for programmable intelligent search memory
WO2008073824A1 (en) 2006-12-08 2008-06-19 Pandya Ashish A Dynamic programmable intelligent search memory
US7890692B2 (en) 2007-08-17 2011-02-15 Pandya Ashish A FSA context switch architecture for programmable intelligent search memory
US7831720B1 (en) 2007-05-17 2010-11-09 Chelsio Communications, Inc. Full offload of stateful connections, with partial connection offload
US8030888B2 (en) 2007-08-13 2011-10-04 Pandya Ravi A Wireless charging system for vehicles
WO2009029842A1 (en) 2007-08-31 2009-03-05 Exegy Incorporated Method and apparatus for hardware-accelerated encryption/decryption
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US8374986B2 (en) 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
CA3184014A1 (en) 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
US20140180904A1 (en) 2012-03-27 2014-06-26 Ip Reservoir, Llc Offload Processing of Data Packets Containing Financial Market Data
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064739A (en) * 1996-09-30 2000-05-16 Intel Corporation System and method for copy-protecting distributed video content
JPH10326287A (ja) * 1997-05-23 1998-12-08 Mitsubishi Corp デジタルコンテンツ管理システム及びデジタルコンテンツ管理装置
JPH1188859A (ja) * 1997-06-24 1999-03-30 Internatl Business Mach Corp <Ibm> コンピュータ・システムにおけるコピーライト・データの保護方法及び装置
JP2001045432A (ja) * 1999-08-02 2001-02-16 Nec Corp デジタル放送の録画におけるコンテンツ保護方法
JP2001268071A (ja) * 2000-03-16 2001-09-28 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 耐タンパー暗号装置
JP2001285283A (ja) * 2000-03-30 2001-10-12 Toshiba Corp 通信装置およびその通信方法
JP2002010189A (ja) * 2000-04-20 2002-01-11 Hitachi Ltd 受信装置および記録再生装置
JP2003122442A (ja) * 2001-10-16 2003-04-25 Sony Corp ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置
JP2004062885A (ja) * 2002-06-24 2004-02-26 Microsoft Corp ビデオカード出力を保護するシステムおよび方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005686A (ja) * 2016-07-05 2018-01-11 富士通株式会社 ソリッドステートドライブ
JP7475319B2 (ja) 2021-11-16 2024-04-26 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ処理方法

Also Published As

Publication number Publication date
EP1627331B1 (en) 2017-09-20
US10719334B2 (en) 2020-07-21
US8751452B2 (en) 2014-06-10
AU2004290281A1 (en) 2005-05-26
EP1627284A2 (en) 2006-02-22
WO2005048134A2 (en) 2005-05-26
EP1627331A2 (en) 2006-02-22
US10346181B2 (en) 2019-07-09
EP1627284B1 (en) 2018-10-24
WO2005026925A3 (en) 2005-10-06
CA2523548C (en) 2014-02-04
EP2528000B1 (en) 2017-07-26
US9176775B2 (en) 2015-11-03
US20190324770A1 (en) 2019-10-24
US11275594B2 (en) 2022-03-15
JP2012014705A (ja) 2012-01-19
WO2005048134A3 (en) 2005-08-04
CA2836758C (en) 2017-06-27
US20200348948A1 (en) 2020-11-05
US20140310717A1 (en) 2014-10-16
AU2004273406A1 (en) 2005-03-24
CA2522862A1 (en) 2005-03-24
US20210200559A1 (en) 2021-07-01
EP2528000A1 (en) 2012-11-28
EP2511787B1 (en) 2017-09-20
US20120109849A1 (en) 2012-05-03
US20110252008A1 (en) 2011-10-13
US20120110316A1 (en) 2012-05-03
CA2759064C (en) 2017-04-04
US20070277036A1 (en) 2007-11-29
JP5439651B2 (ja) 2014-03-12
US8768888B2 (en) 2014-07-01
US8620881B2 (en) 2013-12-31
WO2005026925A2 (en) 2005-03-24
US10929152B2 (en) 2021-02-23
US20160070583A1 (en) 2016-03-10
CA2836758A1 (en) 2005-05-26
JP2007524923A (ja) 2007-08-30
US9898312B2 (en) 2018-02-20
CA2759064A1 (en) 2005-03-24
CA2523548A1 (en) 2005-05-26
EP2511787A1 (en) 2012-10-17
US20180157504A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
US10929152B2 (en) Intelligent data storage and processing using FPGA devices
US10572824B2 (en) System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US8095508B2 (en) Intelligent data storage and processing using FPGA devices
US10846624B2 (en) Method and apparatus for hardware-accelerated machine learning

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070516

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100324

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101029

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110510