(57)【要約】【課題】要求される入出力速度をもつ大容量のＦＩＦＯメモリ装置を、大規模な高速メモリを必要とすることなく構成する。【解決手段】データの入出力速度が異なるメモリ６０とディスク装置３０とを用いてＦＩＦＯメモリ装置を構成する。ＦＩＦＯ管理部４０は、必要なメモリ容量とメモリ６０の容量とに基づいて分割比を設定し、入力部１０から入力されたデータをこの分割比に基づいてメモリ６０とディスク装置３０とに分割して格納し、メモリ６０とディスク装置３０から読み出されたデータを結合して順次出力部７０から出力する。【選択図】図１
2008009791.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータを格納した後に、入力された順に取り出すためのＦＩＦＯメモリ装置であって、
データ入出力速度の異なる複数のデータ格納手段と、
設定された分割比に基づいてデータを前記複数のデータ格納手段に分割して格納制御する格納制御手段と、
この格納制御手段により前記複数のデータ格納手段に格納されたデータを順次出力する出力手段と、を有するＦＩＦＯメモリ装置。
【請求項２】
前記格納制御手段は、必要なメモリ容量と前記複数のデータ格納手段のそれぞれの容量に基づいて分割比を設定する請求項１記載のＦＩＦＯメモリ装置。
【請求項３】
入力されたデータを格納した後に、入力された順に取り出すためのＦＩＦＯメモリ装置であって、
第１のデータ格納手段と、
前記第１のデータ格納手段よりもデータ入出力速度の遅い第２のデータ格納手段と、
設定された分割比に基づいてデータを前記第１および第２のデータ格納手段に分割して格納制御する格納制御手段と、
この格納制御手段により前記第１および第２のデータ格納手段に格納されたデータを順次出力する出力手段と、を有するＦＩＦＯメモリ装置。
【請求項４】
前記第２のデータ格納手段の入出力データを一時保存するためのバッファメモリをさらに有する請求項３記載のＦＩＦＯメモリ装置。
【請求項５】
前記格納制御手段は、必要なメモリ容量と前記第１および第２のデータ格納手段のそれぞれの容量に基づいて分割比を設定する請求項３または４記載のＦＩＦＯメモリ装置。
【請求項６】
前記格納制御手段は、前記第１のデータ格納手段の容量と、必要なメモリ容量と前記第１のデータ格納手段のメモリ容量の差分の容量との比を分割比として設定する請求項３または４記載のＦＩＦＯメモリ装置。
【請求項７】
前記第１のデータ格納手段が半導体メモリであり、前記第２のデータ格納手段がディスク装置である請求項３から６のいずれか１項記載のＦＩＦＯメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたデータを格納した後に、入力された順に取り出すためのＦＩＦＯ（First In First Out）メモリ装置に関する。
【背景技術】
【０００２】
高速のストリーミングデータ処理には、大容量のＦＩＦＯメモリ装置を用いるものがある（例えば、特許文献１、２参照。）。このようにＦＩＦＯメモリ装置が用いられるのは、各処理モジュールや入出力デバイスの速度や、処理量(負荷)のばらつきを緩衝するためである。これにより、異常処理が発生した際の、効率的なリカバリを行なうことも可能となる。
【０００３】
しかし、従来のＦＩＦＯメモリ装置では、ＤＲＡＭ（Dynamic Random Access Memory）等の入出力速度が高速なメモリを用いて実現されているため、容量の制約、コストの制約、ハードウェア、オペレーティングシステムによる制約がある。
【０００４】
例えば、ＦＩＦＯメモリ装置によるバッファ容量が２ＧＢ必要な場合であっても、２ＧＢのメモリの実装がハードウェア上、または経済的な理由により不可能な場合もある。さらに、オペレーティングシステムのメモリ空間が最大８００ＭＢの場合には、システム上２ＧＢのメモリの実装は不可能である。
【０００５】
しかし、複写機やプリンタ等の画像形成装置では画像データのストリーミング処理が行われるため、画像データのデータ容量が大きくなると大容量のＦＩＦＯメモリ装置が必要となる場合がある。
【０００６】
【特許文献２】特開平７−８７４６９号公報
【特許文献１】特開平５−３２４４７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した従来技術では、ＤＲＡＭ等の高速なメモリのみを用いて必要なメモリ容量を実現しているため、必要なメモリ容量が大きくなるとＦＩＦＯメモリ装置を実現することができないという問題点があった。
【０００８】
本発明の目的は、必要なメモリ容量を確保しつつ、大規模な高速メモリを必要とすることなく、要求されるデータ入出力速度を実現することができるＦＩＦＯメモリ装置を提供することである。
【課題を解決するための手段】
【０００９】
［ＦＩＦＯメモリ装置］
上記目的を達成するために、本発明のＦＩＦＯメモリ装置は、入力されたデータを格納した後に、入力された順に取り出すためのＦＩＦＯメモリ装置であって、
データ入出力速度の異なる複数のデータ格納手段と、
設定された分割比に基づいてデータを前記複数のデータ格納手段に分割して格納制御する格納制御手段と、
この格納制御手段により前記複数のデータ格納手段に格納されたデータを順次出力する出力手段とを有する。
【００１０】
本発明によれば、入出力速度の異なる複数のデータ格納手段に設定された分割比でデータを分割して格納し、複数のデータ格納手段に格納されたデータを順次読み出して出力するようにしているので、入出力速度が異なる複数のデータ格納手段を組み合わせて必要な容量を確保することができるので、大規模な高速メモリを必要とすることなく要求される入出力速度を有する大容量のＦＩＦＯメモリ装置を実現することができる。
【００１１】
好ましくは、前記格納制御手段は、必要なメモリ容量と前記複数のデータ格納手段のそれぞれの容量に基づいて分割比を設定する。
【００１２】
また、本発明のＦＩＦＯメモリ装置は、入力されたデータを格納した後に、入力された順に取り出すためのＦＩＦＯメモリ装置であって、
第１のデータ格納手段と、
前記第１のデータ格納手段よりもデータ入出力速度の遅い第２のデータ格納手段と、
設定された分割比に基づいてデータを前記第１および第２のデータ格納手段に分割して格納制御する格納制御手段と、
この格納制御手段により前記第１および第２のデータ格納手段に格納されたデータを順次出力する出力手段とを有する。
【００１３】
好ましくは、前記第２のデータ格納手段の入出力データを一時保存するためのバッファメモリをさらに有する。
【００１４】
好ましくは、前記格納制御手段は、必要なメモリ容量と前記第１および第２のデータ格納手段のそれぞれの容量に基づいて分割比を設定する。
【００１５】
好ましくは、前記格納制御手段は、前記第１のデータ格納手段の容量と、必要なメモリ容量と前記第１のデータ格納手段のメモリ容量の差分の容量との比を分割比として設定する。
【００１６】
好ましくは、前記第１のデータ格納手段が半導体メモリであり、前記第２のデータ格納手段がディスク装置である。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、入出力速度の異なる複数のストレージデバイスに設定された分割比でデータを分割して格納するようにしているので、大規模な高速メモリを必要とすることなく要求される入出力速度を有する大容量のＦＩＦＯメモリ装置を実現することができるという効果を得ることができる。
【発明を実施するための最良の形態】
【００１８】
[背景]
まず、本発明の理解を助けるために、その背景及び概略を説明する。
【００１９】
本発明は、実装可能なＲＡＭの容量以上のバッファ容量が必要なＦＩＦＯメモリ装置を実現する場合、ＲＡＭとＨＤＤ装置等のディスク装置を併用して、必要なバッファ容量を確保するようにしたものである。
【００２０】
１つのデータを分割して複数のストレージデバイスに格納する技術としては従来からも存在する。例えば特開平７−３１９６３８号公報には、データをストライピングして複数のディスク装置に格納するディスクアレイ装置が開示されている。
【００２１】
しかし、このようなディスクアレイ装置は、同一の入出力速度のディスク装置を複数用いて、各ディスク装置を並列に動作させることによりデータの入出力速度を向上させるものである。
そのため、ディスクアレイ装置の入出力速度は、ディスク装置単体の入出力速度と数に応じて定まるが、上限は内部で用いるディスクインタフェースの性能に依存することになる。さらに、ディスクアレイ装置が要求性能を満たしても、ディスクアレイ装置とこれを接続するホストコンピュータ間のインタフェースのデータ転送速度が不足するということも考えられ、このような場合にはシステム構成に制約を受ける。
【００２２】
また、ＲＡＭ等のメモリとディスク装置を組み合わせて必要なメモリ容量を確保する方法が考えられるが、単に組み合わせただけでは、ＲＡＭとディスク装置とでは入出力速度が大幅に異なるため、ディスク装置に格納されたデータを読み出す際には読み出し速度が極端に遅くなってしまい安定したスループットを得ることはできない。そのため、要求される入出力速度を実現できない場合が発生してしまうことになる。
【００２３】
[実施形態]
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図１は本発明の一実施形態のＦＩＦＯメモリ装置の構成を示すブロック図である。本実施形態のＦＩＦＯメモリ装置は、図１に示されるように、入力部１０と、ディスク制御部２０と、ＨＤＤ等のディスク装置３０と、格納制御手段として機能するＦＩＦＯ管理部４０と、バッファメモリ５０と、メモリ（ＲＡＭ）６０と、出力部７０とから構成されている。
【００２４】
メモリ６０は、例えばＤＲＡＭ等の半導体メモリにより構成され、ディスク装置３０よりも高速な入出力速度でデータの格納および読み出しを行うことが可能なデータ格納手段である。ディスク装置３０は、メモリ６０よりも入出力速度は遅いが大容量のデータを格納することが可能なデータ格納手段である。
【００２５】
本実施形態のＦＩＦＯメモリ装置では、格納するデータをこのメモリ６０とディスク装置３０とに分割して格納することにより、要求されるメモリ容量と入出力速度とを実現する。
【００２６】
ここで、本実施形態のＦＩＦＯメモリ装置内では、データの書き込みおよび読み出しは、セグメントというサイズ単位で行われる。このセグメントサイズは、データを格納する対象であるメモリ６０とディスク装置３０のうちの最小のブロックサイズにブロック化係数を乗算することにより決定される。そして、メモリ６０およびディスク装置３０の記憶領域は、このセグメント単位で分割されて、それぞれセグメント番号が１から割り当てられる。メモリ６０およびディスク装置３０における最大セグメント番号は、それぞれの容量によって決まり、ここではそれぞれD1MAX、D2MAXとなるものとする。
【００２７】
つまり、メモリ６０のメモリ領域は、１、２、３、・・・・、D1MAXというセグメント番号が割り当てられ、ディスク装置３０の記憶領域は、１、２、３、・・・、D2MAXというセグメント番号が割り当てられる。
【００２８】
そして、メモリ６０とディスク装置３０の各デバイスを区別するために、メモリ６０のデバイス識別子を１とし、ディスク装置３０のデバイス識別子を２とする。
【００２９】
そして、本実施形態のＦＩＦＯメモリ装置では、データを格納する場所を示すアドレスとしてＦＩＦＯアドレスが用いられる。このＦＩＦＯアドレスは、デバイス識別子とセグメント番号とを組み合わせて下記のように表現される。
ＦＩＦＯアドレス＝（デバイス識別子、セグメント番号）
例えば、デバイス識別子が１であるメモリ６０のセグメント番号が５の領域のＦＩＦＯアドレスは、（１、５）として表現される。
【００３０】
つまり、図２に示すように、メモリ６０に対しては、ＦＩＦＯアドレスとして、（１、１）、（１、２）、・・・、（１、D1MAX）が割り当てられ、ディスク装置３０に対しては、ＦＩＦＯアドレスとして、（２、１）、（２、２）、・・・、（２、D2MAX）が割り当てられることになる。
【００３１】
そして、ＦＩＦＯ管理部４０は、このＦＩＦＯアドレスを用いて入力部１０から入力されるデータをメモリ６０とディスク装置３０に対して、設定された分割比に基づいて分割して格納する。
【００３２】
例えば、メモリ６０とディスク装置３０に対する分割比が１：３と設定された場合、ＦＩＦＯ管理部４０は、入力部１０から入力されたデータをセグメント単位に分割した後に、図３に示すように、ＦＩＦＯアドレスを割り当てる。
【００３３】
例えば、入力部１０からのデータのセグメント単位毎に、ＦＩＦＯアドレスとして、（１、１）、（２、１）、（２、２）、（２、３）、（１、２）、（２、４）、（２、５）、（２、６）、・・・（１、ｍ）、（２、D2MAX−２）、（２、D2MAX−１）、（２、D2MAX）、（１、ｍ＋１）、（２、１）、（２、２）、（２、３）、・・・・・（１、D1MAX）、（２、４）、（２、５）、（２、６）、（１、１）、（２、７）、（２、８）、（２、９）、・・・・というような順に割り当てる。
【００３４】
つまり、メモリ６０とディクス装置３０とに対する分割比が１：３となるように、各セグメント単位のデータに対して割り当てるＦＩＦＯアドレスの比率を１：３としている。
【００３５】
入力部１０は、上位装置からデータとサイズを指定された書き込み要求を受けると、ＦＩＦＯ管理部４０に対してデータ領域の割り当てを要求して格納すべきＦＩＦＯアドレスを得る。そして、入力部１０は、ＦＩＦＯ管理部４０から得たＦＩＦＯアドレスに、書き込み要求を受けたデータを格納する。
【００３６】
出力部７０は、データ出力先の装置から読み出し要求を受けると、ＦＩＦＯ管理部４０に対して読み出しを行うべきデータのＦＩＦＯアドレスを得て、このＦＩＦＯアドレスのデータを読み出してデータ出力先の装置に対して出力する。
【００３７】
バッファメモリ５０は、ディスク装置３０に入出力されるデータを一時的に保管するためのメモリであり、図２に示すように、書き込み用デバイスバッファ５１と、読み出し用デバイスバッファ５２とから構成されている。
【００３８】
書き込み用デバイスバッファ５１は、ディスク装置３０に対して書き込もうとするデータを一時的に保存するためのメモリであり、読み出し用デバイスバッファ５２は、ディスク装置３０から読み出されたデータを一時的に保存するためのメモリである。
【００３９】
なお、本実施形態では、メモリ６０と、バッファメモリ５０とが異なるデバイスであるものとして説明しているが、同一のメモリを用いて構成するようにしてもよい。
【００４０】
ディスク制御部２０は、ディスク装置３０の動作を制御していて、入力部１０からディスク装置３０に対して書き込みを行おうとするデータをバッファメモリ５０内の書き込み用デバイスバッファ５１に一旦保管した後に、ディスク装置３０の指定されたＦＩＦＯアドレスに書き込む制御を行う。また、ディスク制御部２０は、出力部７０からの読み出し要求を受けると、ディスク装置３０の指定されたＦＩＦＯアドレスからデータを読み出し、バッファメモリ５０内の読み出し用デバイスバッファ５２に一旦保管した後に、出力部７０に対して出力する。
【００４１】
格納制御手段として機能するＦＩＦＯ管理部４０は、必要なメモリ容量とメモリ６０の容量とに基づいて分割比を設定し、入力部１０から入力されたデータを設定された分割比に基づいてメモリ６０とディスク装置３０とに分割して格納する制御を行う。そして、出力部７０は、ＦＩＦＯ管理部４０によりメモリ６０とディスク装置３０とに分割されて格納されたデータを読み出して順次出力する。
【００４２】
具体的な処理としては、ＦＩＦＯ管理部４０は、現在どのセグメントに対してデータの割り当てが行われ、どのセグメントが空の状態であるか等の属性を各ストレージデバイス毎に管理しているセグメントテーブルを用いてＦＩＦＯアドレスの管理を行っている。
【００４３】
入力部１０からデータ領域の割り当て要求を受けると、ＦＩＦＯ管理部４０は、セグメントテーブルにおいて現在の最後のＦＩＦＯアドレスから割り当て要求を受けたデータのデータ量分のセグメントが“空き”であることを確認し、この“空き”であるセグメントを“割当”に変更して、現在の最後のＦＩＦＯアドレスを入力部１０に通知する。そして、ＦＩＦＯ管理部４０は、最後のＦＩＦＯアドレスを更新して、次の割り当て要求に備えて待機する。
【００４４】
また、出力部７０からデータの読み出し要求を受けると、ＦＩＦＯ管理部４０は、セグメントテーブルにおいて現在の先頭のＦＩＦＯアドレスから割り当て要求を受けたデータのデータ量分のセグメントが“割当”であることを確認し、この“割当”であるセグメントを“空き”に変更して、現在の先頭のＦＩＦＯアドレスを入力部１０に通知する。そして、ＦＩＦＯ管理部４０は、先頭のＦＩＦＯアドレスを更新して、次の読み出し要求に備えて待機する。
【００４５】
このようにしてＦＩＦＯ管理部４０が、入力部１０からの書き込み要求と出力部５０からの読み出し要求とに対してＦＩＦＯアドレスを割り当てることにより、本実施形態のＦＩＦＯメモリ装置では、入力された順でデータが出力されていく。
【００４６】
この本実施形態のＦＩＦＯメモリ装置におけるデータ格納制御の動作およびデータ読み出し動作を図４および図５のフローチャートに示す。
【００４７】
先ず、データ格納制御の動作を図４のフローチャートを参照して説明する。
入力部１０が、上位装置からデータとサイズを指定された書き込み要求を受けた場合、ＦＩＦＯ管理部４０に対してデータ領域の割り当てを要求する（Ｓ１０１）。そして、この入力部１０からのデータ領域の割り当て要求を受けたＦＩＦＯ管理部４０は、入力部１０に対してＦＩＦＯアドレスを割り当てる（Ｓ１０２）。そして、ＦＩＦＯ管理部４０からＦＩＦＯアドレスの割り当てを受けた入力部１０は、このＦＩＦＯアドレスに基づいて、入力されたデータをメモリ６０とディスク装置３０に分割して格納する（Ｓ１０３）。
【００４８】
次に、データ読み出し動作を図５のフローチャートを参照して説明する。
出力部７０が、データ出力先の装置から読み出し要求を受けた場合、ＦＩＦＯ管理部４０に対して読み出しを行うべきデータのＦＩＦＯアドレスを要求する（Ｓ２０１）。そして、この出力部７０からの要求を受けたＦＩＦＯ管理部４０は、出力部７０に対して読み出しを行うべきＦＩＦＯアドレスを通知する（Ｓ２０２）。そして、ＦＩＦＯ管理部４０からＦＩＦＯアドレスを通知された出力部７０は、このＦＩＦＯアドレスに基づいてメモリ６０とディスク装置３０からデータを読み出し、読み出したデータを出力先装置に対して出力する（Ｓ２０３）。
【００４９】
次に、ＦＩＦＯ管理部４０がどのようにして分割比の設定を行うかについて説明する。
メモリ６０とディスク装置３０とでは、一般的にメモリ６０のほうがデータの入出力速度は圧倒的に高速である。そのため、ＦＩＦＯメモリ装置の入出力速度を最も速くしたい場合には、入出力速度の速いメモリ６０へ配分するデータ量を多く設定するようにすればよい。
【００５０】
つまり、ＦＩＦＯメモリ装置に対して要求されるメモリ容量がメモリ６０の容量よりも小さい場合には、メモリ６０のみを用いてＦＩＦＯメモリ装置を構成すればよい。しかし、ＦＩＦＯメモリ装置に対して要求されるメモリ容量がメモリ６０の容量よりも大きい場合には、その不足分をディスク装置３０に対して割り当てる必要がある。
【００５１】
その際に最もＦＩＦＯメモリ装置全体の入出力速度を高速にするためには、ＦＩＦＯ管理部４０は、メモリ６０の容量と、必要なメモリ容量とメモリ６０の容量の差分の容量との比を分割比として設定するようにすればよい。
【００５２】
つまり、分割比を下記のような設定とすれば良い。
分割比＝メモリ６０の容量：ディスク装置３０に割り当てる容量
＝メモリ６０の容量：必要なメモリ容量−メモリ６０の容量
【００５３】
このように、データの入出力速度が高速なメモリ６０のメモリ容量をできるだけ使用し、不足する分をディスク装置３０に対して割り当てるようにすればよい。
【００５４】
次に、本実施形態のＦＩＦＯメモリ装置におけるデータ入出力速度がどのように決定されるかを図６を参照して説明する。この図６では、ディスク装置３０はＨＤＤ３０として示し、メモリ６０はＲＡＭ６０として示す。
【００５５】
ここでは、例えば、メモリ（ＲＡＭ）６０の入出力速度を４００ＭＢ／ｓとして、メモリ容量が４ＧＢであるとする。そして、ディスク装置（ＨＤＤ）３０の入出力速度は４０ＭＢ／ｓであるとする。
【００５６】
このような場合、必要なバッファ容量が４ＧＢのＦＩＦＯメモリ装置を実現しようとすると、メモリ６０のみで条件を満たすことが可能なため、図６（ａ）に示すように、ＦＩＦＯメモリ装置全体の入出力速度は、メモリ６０の入出力速度と同じ４００ＭＢ／ｓとなる。
【００５７】
ここで、必要なバッファ容量が８ＧＢのＦＩＦＯメモリ装置を実現しようとすると、メモリ６０のメモリ容量４ＧＢではバッファ容量が不足するため、ディスク装置３０のメモリ容量を４ＧＢを使用して８ＧＢのバッファ容量を実現する。つまり、ここでは分割比は１：１となる。
【００５８】
このような場合、図６（ｂ）に示すように、ＦＩＦＯメモリ装置全体の入出力速度は、下記の式により算出され約７２．７ＭＢ／ｓとなる。
１／（０．５／４０＋０．５／４００）≒７２．７ＭＢ／ｓ
【００５９】
また、必要なバッファ容量が１６ＧＭのＦＩＦＯメモリ装置を実現しようとした場合、メモリ６０のメモリ容量４ＧＢだけでは大幅にバッファ容量が不足するため、不足分の１２ＧＢをディスク装置３０に割り当てることになる。つまり、ここでは、メモリ６０とディスク装置３０との分割比は１：３に設定されることになる。
【００６０】
このような場合、図６（ｃ）に示すように、ＦＩＦＯメモリ装置全体の入出力速度は、下記の式により算出され約５１．６ＭＢ／ｓとなる。
１／（０．７５／４０＋０．２５／４００）≒５１．６ＭＢ／ｓ
【００６１】
ＦＩＦＯメモリ装置は、ホストコンピュータの拡張バスに接続され、ホストコンピュータとの間でデータ入出力が行われる。アプリケーションの要求速度に対し、拡張バスのデータ転送速度がボトルネックとなる場合には、図１で示したＦＩＦＯメモリ装置内のメモリ（ＲＡＭ）６０の代わりに、ホストコンピュータのメモリを利用する構成をとることも可能である。ＦＩＦＯ管理部がデータをメモリ（ＲＡＭ）６０に格納する際、拡張バスを介さず直接メモリ間でコピーを行うため、スル−プットが向上が見込める。また、拡張バスはディスクデータの転送に有効活用することができる。ＦＩＦＯ管理部が管理するＦＩＦＯアドレスとホストコンピュータメモリの物理アドレスは、オペレーティングシステムのメモリ管理機能などを利用して、対応付けることができる。
【００６２】
本実施形態によれば、ディスク装置３０とメモリ６０というアクセス速度の異なる２つのストレージデバイスを用いてＦＩＦＯメモリ装置を構成し、設定された分割比でデータを分割してディスク装置３０とメモリ６０に格納し、ディスク装置３０とメモリ６０から読み出されたデータを結合して出力するようにしている。その結果、入出力速度が異なる２つのストレージデバイスであるディスク装置３０とメモリ６０を組み合わせて必要な容量を確保することができるので、大規模な高速メモリを必要とすることなく要求される入出力速度を満たすことが可能となる。そして、このような構成とすることにより全てのデータの入出力速度はほぼ一定となり安定したスループットが実現される。
【００６３】
[変形例]
上記実施形態では、ストレージデバイスが２つの場合を用いて説明したが、本発明はこれに限定されるものではなく、データの入出力速度が異なる３つ以上のストレージデバイスを用いる場合でも同様に本発明を適用することができるものである。
【００６４】
また、上記実施形態におけるディスク装置３０を、図７に示すように２つのユニット３１、３２により構成し、リード／ライトを分離するようにしてもよい。具体的には、閾値を設定して、リードを遅延させ、リードが終了した時点で、ユニットを交換し(オフセットは継続してリード・ライトを交換する)、以下この切替えを継続していくようにすればよい。
【００６５】
ユニットの切替えタイミングとしては、下記のような条件を用いることができる。
初期状態：最初のＮセグメントの書き込みが完了した時点
定常状態：読み込みが現在のセグメントの最終ブロックに達した時点（または、適当な遅延時間を設け、これに達していないときは遅延時間の経過をまってもよい。）
ここで、セグメントとは、連続した複数のディスクブロックからなる
【００６６】
そして、ディスクの切替えを行う際には、下記の表１に示されるようなオフセットテーブルを用いて、オフセットは継続したままリード／ライトのみを交換する。ここで、ユニット３１のユニット番号を“１”とし、ユニット３２のユニット番号を“２”とするものとして説明する。
【００６７】
【表１】
2008009791.tif 000003
【００６８】
このような構成とすることにより、各ユニット３１、３２では、シークがシーケンシャルに行われることになり、ディスクシークの回数は最小限に抑えられる。その結果、ランダムシークによる遅延の影響が無くなり、データの入出力時の遅延時間が短縮されることになる。
なお、ディスク装置３０を構成するユニットの数は３つ以上とすることが可能である。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態のＦＩＦＯメモリ装置の構成を示すブロック図である。
【図２】本発明の一実施形態のＦＩＦＯメモリ装置におけるＦＩＦＯアドレスの構成を説明するための図である。
【図３】本発明の一実施形態のＦＩＦＯメモリ装置のＦＩＦＯ管理部４０によるＦＩＦＯアドレスの割り当てを説明するための図である。
【図４】本発明の一実施形態のＦＩＦＯメモリ装置におけるデータ格納制御の動作を示すフローチャートである。
【図５】本発明の一実施形態のＦＩＦＯメモリ装置におけるデータの読み出し動作を示すフローチャートである。
【図６】本発明の一実施形態のＦＩＦＯメモリ装置の動作を説明するための図である。
【図７】ディスク装置３０が２つのユニット３１、３２により構成されている場合を示す図である。
【符号の説明】
【００７０】
１０    入力部
２０    ディスク制御部
３０    ディスク装置（ＨＤＤ）
３１、３２    ユニット
４０    ＦＩＦＯ管理部
５０    バッファメモリ
５１    書き込み用デバイスバッファ
５２    読み出し用デバイスバッファ
６０    メモリ（ＲＡＭ）
７０    出力部
Ｓ１０１〜Ｓ１０３    ステップ
Ｓ２０１〜Ｓ２０３    ステップ
【図１】
2008009791.tif 000004
【図２】
2008009791.tif 000005
【図３】
2008009791.tif 000006
【図４】
2008009791.tif 000007
【図５】
2008009791.tif 000008
【図６】
2008009791.tif 000009
【図７】
2008009791.tif 000010