説明

質量分析計データを取得する方法及び装置

【解決手段】質量分析計からデータを取得し、コンピュータシステム(7)に伝達する装置(6)及び方法を開示する。装置は、データ取得エンジン(9)と、ネットワークインターフェース(11)と、リングバッファ(13)及びプロトコルスタック(14)を有するスループット最適化モジュール(10)と、を備える。圧縮エンジン(12)を取得エンジンとリングバッファとの間に備えるようにしてもよく、この圧縮エンジンは多段階の圧縮を実施可能なものでもよい。リングバッファは、取得エンジンからのデータワードの大きさに適合するメモリー部分を含む多数のセグメントとして構成される。1つのセグメントが、ワードに対応するデータで完全に充填されるか、又は、部分的にデータが充填された状態でスキャン終了マーカーを含むデータを受信すると、このセグメント内のワード数をこのセグメントのヘッダーワードに書き込み、このセグメント内のデータをプロトコルスタックに移動させる。以降のデータは、バッファ内の次のセグメントが受信する。

【発明の詳細な説明】
【技術分野】
【0001】
[クロスリファレンス]
本出願は、2009年5月29日に出願された米国仮特許出願No.US61/182,124及び2009年5月29日に出願された英国特許出願No.0909284.2に基づく優先権を主張するものであり、前記出願の内容は、参照することにより、その全体があらゆる目的で本明細書に組み込まれる。
【0002】
本発明は、質量分析計の検出器信号、具体的には飛行時間型質量分析計の信号のデジタル化及び処理のための取得システムの分野に関する。
【背景技術】
【0003】
飛行時間型質量分析計は、イオン源と、パルス加速領域と、フィールドフリー領域と、検出器、とを備える。サンプル(試料)がイオン源に導入されると、イオン源でサンプルがイオン化されて、加速領域内のパルス電場による加速が可能になる。加速されたイオンは、イオンの質量対電荷比の平方根に比例する速度で、フィールドフリー領域を通って移動する。したがって、イオンが検出器に到達する時間は、質量対電荷比に応じて決まる。フィールドフリー領域の長さを制限する実際的な制約により、優れた質量分解能を得るためには、GHzの範囲でサンプリングを行なう取得システムにより、検出器信号をデジタル化する必要がある。
【0004】
出力信号は、時間的に2つの期間に分けられる。第1の期間は、スキャン期間であり、検出器信号がサンプルの質量スペクトルを表わす場合には、加速パルスが生じた時点で開始される。第2の期間は、各スキャンを互いに分離するためのインタースキャン期間である。
【0005】
サンプリングされた信号は取得モジュール内で処理されてピークが検出されるが、それでも、大量のデータを、取得モジュールから、質量分析計の内蔵コンピュータシステムに、さらに、ホストコンピュータシステムに転送する必要がある。
【0006】
内蔵コンピュータシステムは、2つの連続するスキャンの間に、すなわち、インタースキャン期間に、データを転送する必要がある「スキャンごと」基準で、取得したデータを用いる。この期間には、装置はデータを取得しないため、事実上の「デッドタイム(不感時間)」となる。このため、インタースキャン期間を最小限に抑えて、できるだけ早くデータを転送する必要がある。
【0007】
イオン移動度分光分析法(Ion Mobility Spectrometry: IMS)等の新しい分析手法が開発されるにつれて、スキャン毎のデータ量が増大し、さらに高速の転送速度が必要になる。
【0008】
本発明の目的は、質量分析計データ取得システムにおけるデータスループット速度を向上させることである。
【発明の概要】
【0009】
本発明の1つの態様は、質量分析計のデータを取得する方法であって、取得エンジンが、質量分析計のイオン検出器からデータを受信し、強度ピークを検出し、検出したピークに対して、ピークに関する時間と強度との情報を含む、所定数のビットからなるデータワードを生成し、データワードに対応するデータをネットワークインターフェースを用いて、プロセッサに伝達する。取得エンジンとネットワークインターフェースとの間で、データチャンクを受信するバッファと、ネットワークインターフェースに接続されるプロトコルスタックとを備えるデータスループットモジュールを介して、データワードに対応するデータチャンクがやり取りされる。ここで、バッファは多数のセグメントを備え、各セグメントは所定数のビットからなる複数の部分として構成されるメモリーブロックにより規定され、各セグメントの少なくとも1つのヘッダー部分がセグメントの内容に関するヘッダー情報を含むヘッダーワード用に確保される。各チャンクがセグメントの部分のうちの1つの部分を占めるようなデータチャンクを1つのセグメントにストリーミングして、そのセグメントが充填されると、データを次のセグメントにストリーミングする一方で、最初のセグメント内のデータを、最初のセグメントからプロトコルスタックに転送する。
【0010】
本発明の別の態様は、質量分析計のデータ取得装置であって、質量分析計のイオン検出器からデータを受信し、強度ピークを検出し、検出したピークに対して、ピークに関する時間と強度との情報を含む、所定数のビットからなるデータワードを生成するように構成される取得エンジンと、データワードに対応するデータをプロセッサに伝達するネットワークインターフェースと、を備える。データスループットモジュールが、取得エンジンとネットワークインターフェースとの間に備えられ、データスループットモジュールは、データワードに対応するデータチャンクを受信するバッファと、ネットワークインターフェースに接続されるプロトコルスタックと、を備える。ここで、バッファは多数のセグメントを備え、各セグメントは所定数のビットからなる複数の部分として構成されるメモリーブロックにより規定され、各セグメントの少なくとも1つのヘッダー部分がセグメントの内容に関するヘッダー情報を含むヘッダーワード用に確保される。各チャンクがセグメントの部分のうちの1つの部分を占めるようなデータチャンクを1つのセグメントにストリーミングして、そのセグメントが充填されると、データを次のセグメントにストリーミングする一方で、最初のセグメント内のデータを、最初のセグメントからプロトコルスタックに転送するように、バッファが構成される。
【0011】
本発明の別の態様は、質量分析計のデータ取得装置であって、質量分析計のイオン検出器からデータを受信し、強度ピークを検出し、検出したピークに対して、ピークに関する時間と強度との情報を含むデータワードを生成するように構成される取得エンジンと、データワードに対応するデータをプロセッサに伝達するネットワークインターフェースと、を備える。データスループットモジュールが、取得エンジンとネットワークインターフェースとの間に備えられ、データスループットモジュールは、データワードに対応するデータチャンクを受信するリングバッファを備える。本発明の別の態様は、質量分析計のデータ取得装置であって、質量分析計のイオン検出器からデータを受信し、強度ピークを検出し、検出したピークに対して、ピークに関する時間と強度との情報を含むデータワードを生成するように構成される取得エンジンと、データワードに対応するデータをプロセッサに伝達するネットワークインターフェースと、を備える。データスループットモジュールが、取得エンジンとネットワークインターフェースとの間に備えられ、データスループットモジュールは、圧縮エンジンを備える。
【0012】
本発明の別の態様は、質量分析計のデータ取得装置であって、質量分析計のイオン検出器からデータを受信し、強度ピークを検出し、検出したピークに対して、ピークに関する時間と強度との情報を含むデータワードを生成するように構成される取得エンジンと、データワードに対応するデータをプロセッサに伝達するネットワークインターフェースと、を備える。データスループットモジュールが、取得エンジンとネットワークインターフェースとの間に備えられ、データスループットモジュールは、プロトコルスタックを備える。本発明の別の態様は、質量分析計のデータ取得装置であって、質量分析計のイオン検出器からデータを受信し、強度ピークを検出し、検出したピークに対して、ピークに関する時間と強度との情報を含むデータワードを生成するように構成される取得エンジンと、データワードに対応するデータをプロセッサに伝達するネットワークインターフェースと、を備える。データスループットモジュールが、取得エンジンとネットワークインターフェースとの間に備えられ、データスループットモジュールは、(i)圧縮モジュールとリングバッファ、又は、(ii)圧縮モジュールとプロトコルスタック、又は、(iii)圧縮モジュールと、リングバッファと、プロトコルスタック、又は、(iv)リングバッファとプロトコルスタックを備える。
【0013】
本発明の別の態様は、質量分析計のデータを取得する方法であって、取得エンジンにより、質量分析計のイオン検出器からデータを受信すること、受信したデータの強度ピークを検出すること、検出したピークに対して、取得エンジンにより、ピークに関する時間と強度との情報を含むデータを生成すること、及び、時間と強度との情報を含むデータを、ネットワークインターフェースを介してプロセッサに伝達すること、を備える。取得エンジンからのデータは、受信したデータのバッファリング、フォーマット及びパケット化を行なって、パケット化したデータをプロトコルスタックに伝達するバッファを備えるデータスループット最適化モジュールに送られ、プロトコルスタックは、データをネットワークインターフェースに伝達する。
【0014】
添付の図面を参照して、以下に説明する好適な実施形態を検討することにより、本発明をよりよく理解することができるであろう。
【図面の簡単な説明】
【0015】
【図1】本発明における飛行時間型質量分析システムを示す概略図。
【図2】図1の質量分析計の取得システムに含まれるデータスループット最適化モジュールを示すブロック図。
【図3a】データスループット最適化モジュールに含まれるリングバッファの動作を示す概略図。
【図3b】データスループット最適化モジュールに含まれるリングバッファの動作を示す概略図。
【図3c】データスループット最適化モジュールに含まれるリングバッファの動作を示す概略図。
【図4a】プロトコルスタックに出力されるリングバッファ・セグメントのフォーマットを示す図。
【図4b】プロトコルスタックに出力されるリングバッファ・セグメントのフォーマットを示す図。
【発明を実施するための形態】
【0016】
本発明の実施形態において、バッファは、質量分析計からのデータのバッファリング、パケット化及びフォーマットを実行する。バッファによるデータのフォーマットは、プロトコルスタックに対応して、システムのデータスループットを最大にするように、最適化される。プロトコルスタックは、ネットワークリンクを介した内蔵コンピュータへのデータ転送を行なう。好適な実施形態において、プロトコルスタックは、性能を最適化したハードウェア・スタックである。
【0017】
好適な実施形態において、データ取得エンジンは、強度ピークを検出し、各ピークに対して、ピーク上の多数の点に関する時間と強度との情報を含む、所定数のビットからなる多くのデータワードを生成する。
【0018】
代表的な用途において、ワードは、例えば、64ビットの長さのものでもよいが、所定数のビットは、データ要件に応じて、この値よりも大きくても小さくてもよい。バッファは多数のセグメントを備え、各セグメントは、多数の64ビット部分から構成される。たとえば、2048個の部分から構成される場合には、各部分は64ビットを受信可能であり、各セグメントは16キロバイトのメモリを占有する。このようなセグメントを、たとえば、8個以上備える。
【0019】
バッファに送られるデータチャンクは、元々の64ビットワードでなくてもよく、以下で詳述するように、データ取得エンジンとバッファとの間で圧縮エンジンを用いる場合には、たとえば、ワードを表わすデータチャンクでもよい。
【0020】
各セグメントが、スキャン情報等のヘッダー情報用に1つ以上のワードを備えるようにしてもよい。好適な実施形態において、セグメント内のデータを含む多数の部分、又は、取得エンジンからのデータワードに対応するチャンクを含む多数の部分が、ヘッダー情報に格納される。セグメントには、通常、データがいっぱいまで充填されるが、状況によっては、あるセグメントが特定スキャンからのデータのうち最後のデータワードを受信することになる。この場合には、取得エンジンからの最後のデータワードに、スキャン終了マーカーが含まれる。スキャン終了マーカーが検出されると、バッファは、最初のセグメントをいっぱいまで充填することなく、次のセグメントに処理を移す。スキャン終了ワードを、最初のセグメントに書き込むようにしてもよい。そのセグメントのヘッダーワードは、そのセグメント内に含まれる部分の総数を特定する情報を備える。この場合、絶対総数でもよいし、スキャンデータワードに対応する部分の総数でもよい。いずれにしても、バッファとプロトコルスタックとの間の関係は、所定のセグメントに関してバッファからどのデータを読み出すべきかをプロトコルスタックが識別する、というものである。ネットワークを介してプロセッサに次に伝達されるデータは、バッファによる生成データでもよい、すなわち、プロトコルスタック内で1つ又は複数のヘッダーワードを取り除いたものでもよい。あるいは、ヘッダーワードを保持したものでもよい。
【0021】
バッファは、FIFO(First In First Out)バッファでもよく、好適なバッファはリングバッファである。このようなバッファでは、バッファが充填されると、バッファ内の最も古いデータ上に新しいデータが上書きされる。このような上書きを防ぐために、本発明の好適な実施形態では、バッファからのデータ出力速度がバッファ内へのデータフロー速度に匹敵するほど十分に速くない場合には、取得エンジンからのデータの受信速度を制御する。
【0022】
本発明の一部の実施形態において、取得エンジンとリングバッファとの間に、所定のネットワーク配線速度に対してデータのスループットを増大させるデータ圧縮エンジンを備えるようにしてもよい。データ圧縮エンジンは、LZRW3のような可逆データ圧縮(ロスレス圧縮)手法を用いる。データ圧縮エンジンは、たとえば、取得エンジンから、8バイト列として64ビットのワードを受信し、受信したワードから、8バイト以下の圧縮データ列からなるデータチャンクを生成するものでもよい。データ圧縮エンジンは、複数段階で動作するものでもよい。たとえば、2段階システムでは、LZRW3圧縮の前の最初の段階で、時間及び強度について、最初の64ビットのワード値と、それ以降の差分8ビット値とで構成されるグループにフォーマットし、その差分が8ビットに収容可能なものよりも大きくなるまで、データをグループにフォーマットするようにしてもよい。さらに、ゼロ値を取り除くことが可能なレベルのデータ圧縮をADC取得エンジンで行なうようにしてもよい。
【0023】
バッファとプロトコルスタックの機能、及び、必要に応じて設けられる圧縮エンジンの機能を、FPGA(Field Programmable Gate Away)により実現するようにしてもよい。
【0024】
以下、図面を参照して詳細に説明する。図1に示す飛行時間型質量分析システムは、イオン源1と、加速領域2と、フィールドフリー領域3と、リフレクトロン(イオンミラー)4と、検出器5と、取得システム6と、内蔵コンピュータシステム7と、ホストコンピュータシステム8と、を備える。
【0025】
イオン源でサンプル化合物(試料化合物)から形成されたイオンは、加速領域に入り、加速電圧パルスによって加速領域からフィールドフリー領域に移動される。イオンは、加速パルスと質量によって与えられるエネルギーにより決まる速度に加速される。この場合、質量が軽いイオンほど高速になる。
【0026】
リフレクトロンを用いて、分析計筺体の長さが一定であるのに対して、加速領域から検出器までのイオンが移動する経路の長さを増大させる。これにより、異なる速度のイオンを、より時間的に離して分離可能である。
【0027】
イオンの速度と移動距離とによって決まる時間の後、イオンは検出器に到達し、ここで、イオンの質量を決定することができる。
【0028】
取得システムは、検出器の出力をサンプリングした後、内蔵コンピュータシステムに送られる質量スペクトルを形成する各イオン到達時間に応じた値を生成する。このような取得システムの動作の詳細に関しては、後述する。
【0029】
内蔵コンピュータシステムは、さらなる解析と格納を行なうために、質量スペクトルデータをホストコンピュータシステムに送る。データに応じた取得を行なえるように、内蔵コンピュータシステムでもデータを解析するようにしてもよい。これにより、質量スペクトルデータの内容を用いて、質量分析計の構成をスキャン毎に変更することができる。
【0030】
図2に、取得システムのブロック図を示す。取得システムは、取得エンジン9と、データスループット最適化モジュール10と、データを内蔵コンピュータシステム7に出力するためのイーサネット(Ethernet(登録商標))インターフェース11と、を備える。データスループット最適化ブロックは、データ圧縮エンジン12と、リングバッファ13と、ハードウェア・プロトコルスタック14と、を備える。
【0031】
取得システムに入力される質量分析計からの検出信号は、取得エンジン内部で、高速アナログ・デジタル変換器(ADC)によりサンプリングされる。次に、取得エンジンは、信号内にピークが存在する場合には、ピークを検出して、検出したピークを時間情報と強度情報からなるデータ対に変換する。ADCは、必用に応じて、ゼロ値を取り除くことにより初期段階のデータ圧縮を行なうようにしてもよい。
【0032】
各ピークのデータ対を64ビットのワードにフォーマットして、データスループット最適化モジュールに入力する。スキャン終了時には、いかなるピーク情報も含むことなく、スキャン完了フラグを含む特別な64ビットワードを生成する。
【0033】
最初の段階のデータ圧縮では、データは、1つの64ビットワードとそれに続く複数の8ビットの差分ワードとからなるグループに変換される。この構成は、データが互いに大きく異ならない値のグループに分けられる場合に適している。1つのグループの最初の値に対して、最初の64ビットワードを形成し、以降の値に対して、8ビットの差分ワードを形成する。1つの8ビットワードで時間差分を、また、1つの8ビットワードで強度差分を表わす。差分が8ビットで収容可能な容量を越えると、次のグループが開始され、64ビットワードが形成される。
【0034】
具体的なフォーマットはさまざまに変更可能である。たとえば、最初の値は、64ビットよりも大きな容量のワードでもよいし、64ビットよりも小さな容量のワードでもよい。また、差分ワードは、そのグループの最初のワードの容量よりも小さければ、8ビットよりも大きな容量でもよいし、8ビットよりも小さな容量でもよい。
【0035】
最適化ブロックの次の段階は、データ圧縮エンジン12であり、LZRW3(Lempel-Ziv Ross Williams)圧縮アルゴリズムを用いて、可逆データ圧縮(ロスレス圧縮)を行なう。LZRW3アルゴリズムは、FPGAロジック内で非常に効率よく構築され、毎秒1ギガビットを越える非常に高いデータスループット速度で動作可能な圧縮解を与えるため、LZRW3アルゴリズムが用いられる。ただし、他のデータ圧縮アルゴリズムを用いるようにしてもよい。圧縮エンジンは、データ取得エンジンからの各64ビットワードデータを8バイト列として処理する。ただし、LZRW3エンジンは、すべての受信データを8ビットワードとして取り扱い、より高次のフォーマットとは無関係、すなわち、8バイトで64ビットワードが形成されているかどうかには関係が無い。圧縮エンジンからの出力はチャンクを備え、各チャンクは元のワードに対応するバイト列を含むが、圧縮時には、チャンク内に含まれるバイト数が少なくなる。
【0036】
データ圧縮エンジンの出力は、リングバッファ13に入力される。リングバッファの入力部は、たとえば、複数の64ビット部分からなる16384バイトのFIFO(First In First Out)メモリのように設計される。こうすると、8個のセグメントからなるリングバッファとなり、各セグメントは、2048×64ビット部分として構成される16キロバイトのメモリブロックである。LZRW3エンジンを、一度に16キロバイトのデータブロックで動作させて、1つのセグメントの大きさに一致させるようにしてもよい。
【0037】
図3は、リングバッファの動作状態において、アクティブなヘッドセグメント及びテールセグメントを示す。図3aは空の状態、図3bは部分的に充填された状態、図3cは完全に充填された状態を示す。
【0038】
各セグメントの最初の2つの部分は、ヘッダー情報データ用に確保された部分である。データ圧縮エンジンからの受信データチャンクを、各セグメントの3番目の部分から以降を、1つのセグメントが充填されるまで、リングバッファにストリーミングする。あるセグメントが充填されると、リングバッファのヘッドポインターをリング内の次のセグメントに進める。
【0039】
1回のスキャンにおけるすべてのデータを内蔵コンピュータシステムに送信するために、あるデータワード内でスキャン終了フラグが検出された場合も、リングバッファのヘッドポインターを次のセグメントに進める。データ取得エンジンからのデータストリーム内でスキャン終了マーカーが検出されると、検出されたスキャン終了マーカーをリングバッファ内の次の64ビット位置に書き込む。セグメントのヘッダーにはワード数が記録されているため、内蔵コンピュータシステム及びホストコンピュータシステムは、圧縮データと、スキャンセグメントの終わりのスキャン終了マーカーとを識別できる。
【0040】
リングバッファ13が充填されると同時に、ハードウェアプロトコルスタック14はこれを空にして、リングに沿ってテールセグメントを進める。リングバッファが充填されて、ヘッドセグメントがテールセグメントに追いつくと、データ圧縮エンジン12と取得エンジン9からのデータフローを抑制する。取得エンジンがデータのストリーミングを中止すると、テールセグメントがヘッドセグメントに追いつくまで、リングバッファを空にし続ける。
【0041】
リングバッファ内の1つのセグメントが充填されると、リングバッファは、セグメントのネットワークを介した送信が可能であることと、送信するべきワード数と、をハードウェア・プロトコルスタックに報知する。また、リングバッファは、セグメントの始まりの2つの64ビットのヘッダー部分に、セグメント内のワード/チャンク数とスキャン関連情報とを書き込む。図4aに完全に充填されたリングバッファセグメント15のフォーマットを、また、図4bにスキャン終了時のリングバッファセグメント16のフォーマットを示す。
【0042】
ハードウェア・プロトコルスタックが1つのセグメントの処理を完了して、リングバッファに完了を通知すると、リングバッファは、ヘッドセグメントに向かって、テールセグメントを1つ進める。リングバッファに書き込まれるデータがなくなると、リングバッファが空にされて、テールセグメントが最終的にヘッドセグメントに追いつく。
【0043】
リングバッファは、プロトコルスタックにより最適な伝達速度が得られるようにデータをフォーマットして、最大可能な大きさのネットワークパケットを生成する。この機能がなければ、多くの小さなネットワークパケットが生成されることになるが、各ネットワークパケットには、様々なレベルのプロトコルヘッダー・オーバーヘッドが関与するため、ネットワークの性能に大きな影響を与えることになる。
【0044】
ハードウェア・プロトコルスタックは、各セグメントの中身を受信すると、メディアアクセス制御(Media Access Control:MAC)とイーサネット(登録商標)インターフェースの物理層(PHY)インターフェースとを介して、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いてセグメントデータを送信するすべての送信動作を行なう。プロトコルスタックは、自律的に、データの受信確認を行ない、タイマーを動かして、さらに、必要に応じてデータを再送信する。
【0045】
ハードウェア・プロトコルスタックを用いて、イーサネットインターフェース11を介して毎秒1ギガビットという全配線速度でデータを送信することができる。
【0046】
この実施形態において、内蔵コンピュータシステムで復元を行なって、データ取得エンジンから内蔵コンピュータに対して、イーサネット(登録商標)リンクの1ギガビット/秒よりも高速のデータスループットを実現する。最大性能を実現するために、ハードディスクへのアクセスがシステム内のボトルネックになる可能性がある場合には、内蔵コンピュータは、圧縮データを受信すると、ホストコンピュータに受信したデータを送信して、ホストコンピュータがハードディスクに圧縮データを格納するようにしてもよい。圧縮データを後で復元して、「オンザフライ」復元を実行する必要性を低減するようにしてもよい。ただし、このアプローチには、データに応じた取得ができないという問題がある。
【0047】
データ圧縮ブロックは必須ではなく、省略してもよい。また、今後開発されるより効率的なアルゴリズム等、さまざまなアルゴリズムに応じた変更を施すようにしてもよい。
【0048】
最適化ブロック内でデータをさらにバッファリングする必要があれば、リングバッファ内のセグメントの数を増やしてもよい。
【0049】
より高精度な取得エンジンの開発に伴って、リングバッファのビット幅を増大させるようにしてもよい。
【0050】
ハードウェア・プロトコルスタックの代わりに、FPGA内の内蔵プロセッサ上で実行されるソフトウェア・スタックを用いるようにしてもよい。このソフトウェア・スタックは、FPGAのリソース占有率は低いものの、性能も低い。この場合でも、リングバッファは、データスループットを最適化することが可能である。
【0051】
プロトコルスタックは、より高速のデータスループットを可能にするUDP(User Datagram Protocol:ユーザーデータグラムプロトコル)等、異なるプロトコルを実現するものでもよい。UDPではデータ配信が保証されていないため、単純なポイントツーポイント・ネットワークでのみ用いられる場合が多いが、単純な形態のハンドシェーキングによりデータ伝達の信頼性を向上させるようにしてもよい。また、RUDP(Reliable User Datagram Protocol)等のプロトコルを用いて、UDPとTCPとの中間の形態としてもよい。
【0052】
ASIC(Application Specific Integraed Circuit:特定用途向け集積回路)等、他の構成が可能なデジタル電子機器内で最適化手法を実施するようにしてもよい。
【0053】
一般に、データスループット最適化モジュール10の3つの構成部、すなわち、圧縮エンジン12、リングバッファ13及びプロトコルスタック14の各々を、個別に用いてもよいし、あるいは、任意の所望の組み合わせで用いることもできる。
【0054】
本発明の実施形態は、質量分析計からデータを取得して、コンピュータシステムにそのデータを伝達するシステム及び方法を提供する。システムは、データ取得エンジンと、ネットワークインターフェースと、リングバッファ及びプロトコルスタックを有するスループット最適化モジュールと、を備える。圧縮エンジンを取得エンジンとリングバッファとの間に備えるようにしてしてもよい。リングバッファは、取得エンジンからのデータワードの大きさに各々適合するメモリー部分を含む多数のセグメントとして構成される。1つのセグメントが、ワードに対応するデータで完全に充填されるか、又は、部分的にデータが充填された状態でスキャン終了マーカーを含むデータを受信すると、このセグメントへのデータのストリーミングを終了し、このセグメント内のワード数をこのセグメントのヘッダーワードに書き込み、このセグメント内のデータをプロトコルスタックに移動させる。以降のデータは、バッファ内の次のセグメントが受信する。
【0055】
以上、本発明をその好適な実施形態を参照して詳述したが、当業者には自明のことであるが、特許請求の範囲に記載される本発明の要旨を逸脱しない範囲において、形態や詳細において、種々の変形や変更が可能である。

【特許請求の範囲】
【請求項1】
質量分析計のデータを取得する方法であって、
取得エンジンにより、質量分析計のイオン検出器からデータを受信すること、
前記受信したデータの強度ピークを検出すること、
前記検出したピークに対して、前記取得エンジンにより、前記ピークに関する時間と強度との情報を含む、所定数のビットからなるデータワードを生成すること、
前記データワードに対応するデータを、ネットワークインターフェースを用いて、プロセッサに伝達すること、
前記取得エンジンと前記ネットワークインターフェースとの間で、バッファと、前記ネットワークインターフェースに接続されるプロトコルスタックとを備えるデータスループットモジュールを介して、前記データワードに対応するデータチャンクをやり取りすること、
を備え、
前記バッファは複数のセグメントを備え、各セグメントは所定数のビットからなる複数の部分として構成されるメモリーブロックにより規定され、各セグメントの少なくとも1つのヘッダー部分が前記セグメントの内容に関するヘッダー情報を含むヘッダーワード用に確保され、
前記方法は、更に、
前記バッファにより、前記データチャンクを受信すること、
各チャンクが前記セグメントの前記部分のうちの1つの部分を占めるような前記データチャンクを、前記バッファの前記セグメントのうち最初の1つのセグメントにストリーミングして、前記最初の1つのセグメントが充填されると、データチャンクを前記バッファの次のセグメントにストリーミングすること、及び、
前記セグメントのうちの最初の1つのセグメントのデータを前記プロトコルスタックに転送すること、を備える方法。
【請求項2】
請求項1に記載の方法であって、
前記バッファは、FIFO(First In First Out)バッファである、方法。
【請求項3】
請求項2に記載の方法であって、
前記バッファは、リングバッファである、方法。
【請求項4】
請求項1に記載の方法であって、
スキャン終了時に、前記取得エンジンにより、スキャン終了マーカーを含むスキャン終了ワードを生成し、
前記バッファは、1つのセグメントにストリーミングされたデータにスキャン終了マーカーが含まれている場合に、そのセグメントへのデータのストリーミングを終了し、以降のデータを前記バッファ内の次のセグメントにストリーミングし、前記最初のセグメント内のデータを前記最初のセグメントから前記プロトコルスタックに転送するように構成されている、方法。
【請求項5】
請求項1に記載の方法であって、
前記バッファは、1つのセグメントへのデータのストリーミングが終了する際に、ヘッダー情報を含むヘッダーワードを、前記セグメントのヘッダー部分に書き込むように構成されている、方法。
【請求項6】
請求項5に記載の方法であって、
前記ヘッダー情報は、前記セグメント内のワード数を特定する、方法。
【請求項7】
請求項1に記載の方法であって、
前記取得エンジンと前記バッファとの間に圧縮エンジンを備える、方法。
【請求項8】
請求項7に記載の方法であって、
前記圧縮エンジンは2段階の圧縮を実施可能であり、
第1段階では、1つのグループの最初のワードが第1のビット数を有し、それ以降のワードが前記第1のビット数よりも少ない第2のビット数を有する差分ワードとなるように、データをグループにフォーマットする、方法。
【請求項9】
請求項8に記載の方法であって、
1つのグループの前記差分ワードは、時間差分ワードと強度差分ワードとのワード対を含む、方法。
【請求項10】
請求項1に記載の方法であって、
前記取得エンジンにおいて、ゼロ値を取り除く予備段階のデータ圧縮を実行する、方法。
【請求項11】
請求項1に記載の方法であって、
前記プロトコルスタックは、ハードウェア・プロトコルスタックである、方法。
【請求項12】
質量分析計のデータを取得する装置であって、
前記質量分析計のイオン検出器からデータを受信し、強度ピークを検出し、前記ピークに対して、前記ピークに関する時間と強度との情報を含む、所定数のビットからなるデータワードを生成する取得エンジンと、
プロセッサと、
前記データワードに対応するデータを前記プロセッサに伝達するネットワークインターフェースと、
前記取得エンジンと前記ネットワークインターフェースとの間に備えられ、前記データワードに対応するデータチャンクのやり取りに介在するデータスループットモジュールであって、前記データチャンクを受信するバッファと、前記ネットワークインターフェースに接続されるプロトコルスタックと、を備えるデータスループットモジュールと、
を備え、
前記バッファは複数のセグメントを備え、各セグメントは所定数のビットからなる複数の部分として構成されるメモリーブロックにより規定され、各セグメントの少なくとも1つのヘッダー部分が前記セグメントの内容に関するヘッダー情報を含むヘッダーワード用に確保され、
前記バッファの最初のセグメントが、各チャンクが前記部分のうちの1つの部分を占めるように、前記最初のセグメントにストリーミングされるデータチャンクを受信し、前記最初のセグメントが充填されると、次のセグメントがデータチャンクを受信し、前記最初のセグメント内のデータを前記最初のセグメントから前記プロトコルスタックに転送する、装置。
【請求項13】
請求項12に記載の装置であって、
前記バッファは、FIFO(First In First Out)バッファである、装置。
【請求項14】
請求項13に記載の装置であって、
前記バッファは、リングバッファである、装置。
【請求項15】
請求項12に記載の装置であって、
スキャン終了時に、前記取得エンジンにより、スキャン終了マーカーを含むスキャン終了ワードを生成し、
前記バッファは、1つのセグメントにストリーミングされたデータにスキャン終了マーカーが含まれている場合に、そのセグメントへのデータのストリーミングを終了し、以降のデータを前記バッファ内の次のセグメントにストリーミングし、前記最初のセグメント内のデータを前記最初のセグメントから前記プロトコルスタックに転送するように構成されている、装置。
【請求項16】
請求項12に記載の装置であって、
前記バッファは、1つのセグメントへのデータのストリーミングが終了する際に、ヘッダー情報を含むヘッダーワードを、前記セグメントのヘッダー部分に書き込むように構成されている、装置。
【請求項17】
請求項16に記載の装置であって、
前記ヘッダー情報は、前記セグメント内のワード数を特定する、装置。
【請求項18】
請求項12に記載の装置であって、
前記取得エンジンと前記バッファとの間に圧縮エンジンを備える、装置。
【請求項19】
請求項18に記載の装置であって、
前記圧縮エンジンは2段階の圧縮を備え、
第1段階では、1つのグループの最初のワードが第1のビット数を有し、それ以降のワードが前記第1のビット数よりも少ない第2のビット数を有する差分ワードとなるように、データをグループにフォーマットする、装置。
【請求項20】
請求項19に記載の装置であって、
1つのグループの前記差分ワードは、時間差分ワードと強度差分ワードとのワード対を含む、装置。
【請求項21】
請求項12に記載の装置であって、
前記取得エンジンは、ゼロ値を取り除く予備段階のデータ圧縮を実行する、装置。
【請求項22】
請求項12に記載の装置であって、
前記プロトコルスタックは、ハードウェア・プロトコルスタックである、装置。
【請求項23】
質量分析計のデータを取得する方法であって、
取得エンジンにより、質量分析計のイオン検出器からデータを受信すること、
前記受信したデータの強度ピークを検出すること、
前記検出したピークに対して、前記取得エンジンにより、前記ピークに関する時間と強度との情報を含むデータを生成すること、及び、
前記時間と強度との情報を含むデータを、ネットワークインターフェースを介してプロセッサに伝達すること、
を備え、
前記取得エンジンからの前記データは、受信したデータのバッファリング、フォーマット及びパケット化を行なってパケット化したデータをプロトコルスタックに伝達するバッファを備えるデータスループット最適化モジュールに送られ、
前記プロトコルスタックは、前記データを前記ネットワークインターフェースに伝達する、方法。
【請求項24】
請求項23に記載の方法であって、
前記バッファは、複数のセグメントを備えるリングバッファであり、
最初のセグメントにデータがストリーミングされ、前記最初のセグメントが充填されると、その後、次のセグメントにデータがストリーミングされる、方法。
【請求項25】
請求項24に記載の方法であって、
前記データスループット最適化モジュールは、前記取得エンジンから受信したデータを圧縮して、圧縮したデータを前記バッファに伝達するデータ圧縮エンジンを備える、方法。

【図1】
image rotate

【図2】
image rotate

【図3a】
image rotate

【図3b】
image rotate

【図3c】
image rotate

【図4a】
image rotate

【図4b】
image rotate


【公表番号】特表2012−529724(P2012−529724A)
【公表日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2012−512451(P2012−512451)
【出願日】平成22年5月28日(2010.5.28)
【国際出願番号】PCT/GB2010/001069
【国際公開番号】WO2010/136775
【国際公開日】平成22年12月2日(2010.12.2)
【出願人】(509314666)マイクロマス・ユーケイ・リミテッド (19)
【氏名又は名称原語表記】MICROMASS UK LIMITED
【Fターム(参考)】