(57)【要約】【課題】安価に実現できる装置で、連続的に供給されるデータを長時間安定して記録できるようにする。【解決手段】汎用のパソコンの拡張バス２２に、ＦＩＦＯメモリを有する入力バッファ回路１４を追加する。システム・メモリ２０をＦＩＦＯとして機能させるマルチスレッドのソフトウェアを実行することで、入力バッファ回路１４からの入力データはシステム・メモリ２０に書き込まれる処理をされながら、これとは非同期にシステム・メモリ２０からハードディスク２４へ書き込み処理される。ハードディスク２４へのデータ書き込み速度は変動し、入力データのデータ転送速度を下回ることがあるが、入力バッファ回路１４のハードウェアＦＩＦＯと、システム・メモリ２０によるソフトウェアＦＩＦＯの組み合わせで、ハードディスクの書き込み速度低下時も入力データのオーバーランが起こらず、安定した長時間データ記録が可能になる。【選択図】図１
2007179496.tif 000002
【特許請求の範囲】
【請求項１】
入力データを連続的に記録するデータ記録装置であって、
ＣＰＵと、
連続的に入力される上記入力データを受けて一時的にバッファするハードウェアＦＩＦＯメモリを有する入力バッファ手段と、
上記ＦＩＦＯメモリの容量よりも大きな容量を有するシステム・メモリと、
上記システム・メモリよりも大きい容量を有する大容量記憶手段と、
上記入力データの入力速度の２倍以上のデータ転送速度を有し、上記ＣＰＵ、上記入力バッファ手段、上記システム・メモリ及び上記大容量記憶手段を接続し、これらの間のデータ転送を可能にするバスとを具え、
上記入力バッファ手段からの上記入力データを上記システム・メモリに順次書き込ませると共に、上記システム・メモリに書き込まれた上記入力データを順次読み出して上記大容量記憶手段に書き込ませる制御を上記ＣＰＵに実行させることを特徴とするデータ記録装置。
【請求項２】
上記入力バッファ手段からの上記入力データを読み込んで上記システム・メモリに順次書き込ませる処理と、上記システム・メモリから上記入力データを順次読み出す処理が非同期で実行されることを特徴とする請求項１記載のデータ記録装置。
【請求項３】
上記入力データの読み出し処理において、更に上記入力データの圧縮処理を行うことを特徴とする請求項１又は２記載のデータ記録装置。
【請求項４】
ＣＰＵと、
連続的に入力される上記入力データを受けて一時的にバッファするハードウェアＦＩＦＯメモリを有する入力バッファ手段と、
上記ＦＩＦＯメモリの容量よりも大きな容量を有するシステム・メモリと、
上記システム・メモリよりも大きい容量を有する大容量記憶手段と、
上記入力データの入力速度の２倍以上のデータ転送速度を有し、上記ＣＰＵ、上記入力バッファ手段、上記システム・メモリ及び上記大容量記憶手段を接続し、これらの間のデータ転送を可能にするバスとを具えるデータ記録装置にインストールされるＦＩＦＯ機能実現プログラムであって、
上記入力バッファ手段からの上記入力データを上記システム・メモリに順次書き込ませると共に、上記システム・メモリに書き込まれた上記入力データを順次読み出して上記大容量記憶手段に書き込ませる制御を上記ＣＰＵに実行させることにより、上記システム・メモリをＦＩＦＯとして機能させることを特徴とするＦＩＦＯ機能実現プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データを連続して記録するデータ記録に関し、特に汎用のパソコンを用いた高速且つ安定したデータ記録を実現するデータ記録装置及びこれを実現するためのプログラムに関する。
【背景技術】
【０００２】
電子回路や携帯電話で使用される無線電波などの信号特性を調べるためには、オシロスコープやスペクトラムなどの測定器が使用される。現在では、信号をデジタル化し、そのデジタル・データを特性の分析に使用することが広く行われている。測定器本体も記録手段を有してはいるが、長時間データを記録したい場合には、測定器に接続した大容量の外部データ記録装置を利用することも行われている。
【０００３】
図１は、パソコンを用いたデータ記録装置の構成例を示すブロック図である。これは、ハードウェア的には、汎用のパソコンに拡張カードである入力バッファ回路１４を追加したものである。被測定対象１０からの被測定信号は、ここではスペクトラム・アナライザ１２で取り込まれ、時間領域のデジタル・データとして、パソコン２８に供給される。即ち、この例では、スペクトラム・アナライザ１２がデータ発生源である。パソコン２８は、ハードディスク２４に記憶されたソフトウェア（プログラム）を実行することで、データ記録装置として機能する。
【０００４】
パソコン２８の拡張バス２２には、拡張カードである入力バッファ回路１４が挿入され、これにスペクトラム・アナライザ１２からのデジタル入力データが、ＬＶＤＳ（低電圧差動伝送：Low Voltage Differential Signaling）を介して供給される。ＬＶＤＳでは、２００ＭＢ（メガ・バイト）毎秒程度までのデータ転送速度が得られる。入力バッファ回路１４には、ＩＣ（ハードウェア）として実現されたＦＩＦＯ（先入れ先出し）メモリが実装されている。入力バッファ回路１４には、例えば米国ジェネラル・スタンダーズ社製ＨＰＤＩ３２型が使用され、ＦＩＦＯメモリの容量は、ここでは入手可能であった５１２ｋＢ（キロ・バイト）の例を示す。
【０００５】
パソコン２８は、入力バッファ回路１４の他に、ＣＰＵ１６、システム・メモリ（ＲＡＭ）２０、ハードディスク２４及び２６を有する。これらは、拡張バス２２によってデータ転送可能に接続される。ＣＰＵ１６とシステム・メモリ２０は、外部バス１８でも接続されている。更に図示しないが、キーボード、マウス、表示装置も必要に応じて用意される。拡張バス２２は、例えば、６４ビット（１００ＭＨｚ）のＰＣＩ−Ｅｘｐｒｅｓｓバスであり、最大データ転送速度は８００ＭＢ毎秒である。スペクトラム・アナライザ１２からは、例えば、１１０ＭＢ毎秒でデジタル・データが出力されるが、ＰＣＩ−Ｅｘｐｒｅｓｓバスであれば、入力バッファ回路１４からシステム・メモリ２０、システム・メモリ２０からハードディスク２４という２つのＤＭＡ転送に加えて、他の処理を行っても更に余裕がある。なお、従来の３２ビット（３３ＭＨｚ）ＰＣＩバスでは、転送レートは最大で１３２ＭＢ毎秒である。
【０００６】
ハードディスク２６には、ＯＳ（基本ソフトウェア）がインストールされており、パソコン全体の基本的な制御を行う。ハードディスク２４は、実際は複数のハードディスクから構成されるが、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を用いることで、１台のハードディスクとして扱うことが可能になっている。これによると、複数のドライブにデータを分けて記録していくため、通常の接続より記録速度を速くできる利点もある。なお、ＣＰＵ１６には、例えば米国インテル社製のものを使用する。ＯＳには、例えば米国マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）を使用する。
【０００７】
図２は、図１に示したデータ記録装置を逐次リード・ライト方式で機能させた場合の機能ブロック図である。この場合、入力バッファ回路１４のＦＩＦＯメモリに一時的に蓄えられた入力データは、予め定めた所定サイズ毎に読み出され（読み出し処理３０）、システム・メモリ中に記憶され、ハードディスク２４に書き込まれる（書き込み処理３４）という処理を順次繰り返す。
【０００８】
スペクトラム・アナライザ１２からは、例えば、１１０ＭＢ（メガ・バイト）毎秒のデジタル・データが出力されるが、システムの入力バッファ回路１４のＦＩＦＯメモリの容量は５１２ｋバイトなので、この場合、約５ミリ秒で一杯になってしまう。このとき、図２に示す逐次リード・ライト方式であっても、ハードディスク２４への書き込み速度が１１０ＭＢ（メガ・バイト）毎秒以上を維持し続けていられれば、ＦＩＦＯメモリにおいて入力データが保持しきれず溢れてしまうことはない。しかし、上述の如き一般に使用されているＯＳに制御されたハードディスク２４では、平均すれば、書き込み速度が１１０ＭＢ毎秒以上を維持できる場合であっても、ＯＳの制御の関係から書き込み速度に変動があり、一時的に１１０ＭＢ毎秒よりも低下することがある。この一時的なハードディスク２４の書き込み速度低下時には、入力バッファ回路１４でデータを保持しきれず、溢れてしまう事態（オーバーラン）が発生する。
【０００９】
図３は、図１に示したデータ記録装置をメモリ記憶方式で機能させた場合の機能ブロック図である。これは、パソコン２８のシステム・メモリ２０に、予め比較的大きいデータ記録領域を確保しておき、このデータ記録領域が一杯になるまで、入力バッファ回路１４から入力データを読み込んでデータ記録領域に書き込んでいく（読み出し処理３６）。データ記録領域が一杯になったら、入力データのデータ記録領域への書き込みを終了して、データ記録領域から入力データを読み出して、ハードディスク２４に書き込む（書き込み処理４０）。この方式は、データ読み込み時にディスク・アクセスを行わないので、高速なデータ収集が可能だが、データ記録時間は確保できるパソコン２８上のシステム・メモリ２０の容量で制限されるため、長時間のデータ記録はできない。
【００１０】
なお、ＲＡＩＤを用いたハードディスクを使用したシステムにおいて、ＦＩＦＯやデータ圧縮を利用してデータを高速に転送する技術については、例えば、米国特許出願公開第２００１／００５２０３８号明細書に開示されている。
【特許文献１】米国特許出願公開第２００１／００５２０３８号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述のように、逐次リード・ライト方式では、一時的にディスクの書き込み速度が落ちると、入力バッファ回路１４のＦＩＦＯメモリからデータが溢れてしまう事態が発生し、安定した高速データ転送速度を確保するのが困難である。このとき、もし大容量のＦＩＦＯメモリを含む入力バッファ回路１４を用いると、動作は安定するがコストが高くなる。一方、パソコンのシステム・メモリにデータを記憶させ、データ収集が終了してからハードディスクへ書き込む方式では、安定したデータの読み込みができるが、記録可能なデータのサイズがメモリ容量によって制限されるため、長時間のデータ記録ができない。もし、データ記録装置がオーバーランとなりそうな場合に、データ記録装置からウエイト（Wait）信号をデータ発生源に送信し、データ発生源からのデータ発生を一時的に停止する機構があれば、オーバーランを回避できる。しかし、そうした機構がなく、データ発生源からはひたすらデータが供給され続けるようになっている場合も多い。
【００１２】
そこで本発明は、これらを組合せ、パソコンを用いて、安価に大容量で安定動作のＦＩＦＯ機能を実現し、これによって長時間のデータ記録を実現しようとするものである。
【課題を解決するための手段】
【００１３】
本発明は、汎用のパソコンを用いて入力データを連続的に安定して記録可能なデータ記録装置を実現する。本発明によるデータ記録装置は、ＣＰＵと、連続的に入力される入力データを受けて一時的にバッファするハードウェアＦＩＦＯメモリを有する入力バッファ手段と、ＦＩＦＯメモリの容量よりも大きな容量を有するシステム・メモリと、システム・メモリよりも大きい容量を有する大容量記憶手段と、入力データの入力速度の２倍以上のデータ転送速度を有し、ＣＰＵ、入力バッファ手段、システム・メモリ及び大容量記憶手段を接続し、これらの間のデータ転送を可能にするバスとを具えており、入力バッファ手段からの入力データをシステム・メモリに順次書き込ませると共に、システム・メモリに書き込まれた入力データを順次読み出して大容量記憶手段に書き込ませる制御をＣＰＵに実行させることを特徴としている。
【００１４】
このとき、実行される処理は、マルチスレッドが好ましく、これによって入力バッファ手段からの入力データを読み込んでシステム・メモリに順次書き込ませる処理と、システム・メモリから入力データを順次読み出す処理が非同期で実行される。また、入力データの読み出し処理において、入力データの圧縮処理を行えば、更に高速な処理が行える。
【００１５】
本発明は、別の観点から見れば、汎用のパソコンで入力データを連続的に安定して記録可能なデータ記録装置を実現するＦＩＦＯ機能実現プログラムである。これは、ＣＰＵと、連続的に入力される入力データを受けて一時的にバッファするハードウェアＦＩＦＯメモリを有する入力バッファ手段と、ＦＩＦＯメモリの容量よりも大きな容量を有するシステム・メモリと、システム・メモリよりも大きい容量を有する大容量記憶手段と、入力データの入力速度の２倍以上のデータ転送速度を有し、ＣＰＵ、入力バッファ手段、システム・メモリ及び大容量記憶手段を接続し、これらの間のデータ転送を可能にするバスとを具えるデータ記録装置にインストールされる。そして、このプログラムは、入力バッファ手段からの入力データをシステム・メモリに順次書き込ませると共に、システム・メモリに書き込まれた入力データを順次読み出して大容量記憶手段に書き込ませる制御をＣＰＵに実行させることにより、システム・メモリをＦＩＦＯとして機能させる。
【００１６】
本発明によれば、ハードウェアによるＦＩＦＯと、パソコンのシステム・メモリをソフトウェアによってＦＩＦＯとして機能させたものとを組み合わせることによって、安価でありながら、高速な入力データを連続的に安定して記録可能となる。システム・メモリとして利用されるＲＡＭは、他の種類のメモリと比較すれば安価であるので、この利点を享受できる。
【発明を実施するための最良の形態】
【００１７】
図４は、本発明によるデータ記録装置の一例の機能ブロック図である。このデータ記録装置は、図１に示した汎用のパソコンに拡張カードとして高速の入力バッファ回路１４を追加したもので実現される。上述と同様、入力バッファ回路１４のＦＩＦＯメモリの容量は、５１２ｋＢである。また、スペクトラム・アナライザ（データ発生源）１２からは、例えば、１１０ＭＢ毎秒の速度でデジタル・データが出力される。このスペクトラム・アナライザ１２には、データ記録装置がオーバーランしそうなときに、データ記録装置からのウエイト（Wait）信号を受けて、一時的にデータ出力を停止する又はスペクトラム・アナライザ１２本体内のメモリにデータを一時的に保持するという機能はないものとする。
【００１８】
本発明の実施例では、パソコン２８のシステム・メモリ２０が有する２ＧＢ（ギガ・バイト）の容量のうちの１ＧＢがＦＩＦＯ領域として割り当てられる。１ＧＢであるから、入力バッファ回路１４のＦＩＦＯメモリ容量５１２ｋＢの２０００倍の容量である。これは、システム・メモリ２０には、一般にＲＡＭ（ランダム・アクセス・メモリ）が使用されるが、価格の低下によって、ギガ単位の容量であっても、比較的安価に入手可能になったことに着目したものである。
【００１９】
ハードディスク２４には、システム・メモリ２０の一部領域をＦＩＦＯとして機能させるためのアプリケーション・ソフトウェア４６がインストールされている。このソフトウェアによる処理は、マルチスレッドであり、入力データを読み出して、ＦＩＦＯ領域に書き込む処理（読み出しスレッド４２）と、入力データのハードディスク２４への書き込み処理（書き込みスレッド４４）が非同期で実行される。読み出しスレッドはその優先度をできるだけ高くすることで、入力バッファ回路１４のＦＩＦＯのオーバーラン（データが溢れること）の発生確率を下げることができる。読み出しスレッドでデータ圧縮処理をすれば、転送するデータ量が見かけ上減少するので、更に高速な処理が可能になる。ハードディスク２４の容量は、図１に示す例では、４１０ＧＢであるから、システム・メモリ２０のＦＩＦＯ領域の容量の４１０倍という大容量であり、長時間のデータ記録が可能である。
【００２０】
入力バッファ回路１４からシステム・メモリ２０へのデータ転送、システム・メモリ２０からハードディスク２４へのデータ転送は、ＣＰＵ１６の制御の下で、ＤＭＡ（Direct Memory Access）方式でＣＰＵ１６を介さずに直接行われる。ＰＣＩ−Ｅｘｐｒｅｓｓバスであれば、８００ＭＢ毎秒のデータ転送速度があるので、１１０ＭＢ毎秒のデータ転送速度でこれら２つのデータ転送を行っても十分な余裕がある。
【００２１】
ハードディスク２４のデータ書き込み速度は、平均すれば入力データのデータ転送速度よりも速い場合でも、ＯＳの制御の関係で、一時的には入力データのデータ転送速度より低下することがある。しかし、システム・メモリ２０が、本発明によるＦＩＦＯ機能実現ソフトウェア（プログラム）に従ってＦＩＦＯとして機能することで、ハードディスク２４のデータ書き込み速度が一時的に入力データのデータ転送速度より低下しても、その間はシステム・メモリ２０がデータを保持するので、入力データのオーバーランの発生が防止される。
【００２２】
また、本発明では、ハードディスク２４の書き込みの平均速度が、入力データの読み込み速度より遅い場合であっても、その差分の速度で入力データがシステム・メモリ２０のＦＩＦＯ領域に溜まっていき、一杯になるまでは連続して入力データの読み込みが可能である。このため、ハードディスク２４の書き込み速度よりも、入力データの転送速度が速い場合に用いた場合であっても、すべてのデータを一旦システム・メモリに書き込む図３に示した従来のメモリ記憶方式よりも長い時間のデータ記録が可能になる。
【００２３】
なお、ＣＰＵには、デュアルコアを用いれば、シングルコアのものと比較して、マルチスレッドの処理を効率よく行える。ただし、シングルコアでも本発明は実施可能である。図１のＣＰＵ１６には、３．６ＧＨｚ動作の２つのコアを有するものの例を示す。
【００２４】
システム・メモリ２０をＦＩＦＯとして機能させる他に、ＲＡＭを外部メモリとして拡張バス上に設け、これをＦＩＦＯとして機能させることも考えられる。しかし、この場合、入力データは、一旦システム・メモリ２０に書き込まれた後、外部メモリに書き込まれることになるので、データ転送速度の低下につながる。そのため、システム・メモリ２０をＦＩＦＯとして機能させた方が合理的である。
【産業上の利用可能性】
【００２５】
本発明は、汎用のパソコンに比較的安価なハードウェアによるＦＩＦＯ機能の拡張カードを追加し、加えてＦＩＦＯ機能を実現するソフトウェアをインストールしてシステム・メモリをＦＩＦＯとして機能させ、これらハードウェアＦＩＦＯ及びソフトウェアＦＩＦＯの組み合わせによって、比較的安価でありながら、高速の入力データを安定的に連続して記録できる。よって、連続的に長時間のデータ記録が必要な用途に幅広く利用できる。
【図面の簡単な説明】
【００２６】
【図１】パソコンをベースにしてデータ記録装置を実現するシステムのブロック図である。
【図２】逐次リード・ライト方式でデータ記録装置を実現する場合の機能ブロック図である。
【図３】メモリ記憶方式でデータ記録装置を実現する場合の機能ブロック図である。
【図４】本発明によってデータ記録装置を実現する場合の一例の機能ブロック図である。
【符号の説明】
【００２７】
１０      被測定対象
１２      スペクトラム・アナライザ（データ発生源）
１４      入力バッファ回路（ハードウェアＦＩＦＯ）
１６      ＣＰＵ
１８      外部バス
２０      システム・メモリ
２２      拡張バス
２４      ハードディスク（システム・ディスク）
２６      ハードディスク（データ記録用ディスク）
２８      パソコン
３０      データ読み出し処理
３４      データ書き込み処理
３６      データ読み出し処理
４０      データ書き込み処理
４２      データ読み出しスレッド
４４      データ書き込みスレッド
４６      ＦＩＦＯ機能実現ソフトウェア（プログラム）
【図１】
2007179496.tif 000003
【図２】
2007179496.tif 000004
【図３】
2007179496.tif 000005
【図４】
2007179496.tif 000006