(57)【要約】  本発明は、バッファ容量の利用が改善されたマスストレージシステム（１）に関し、より具体的には、組み込みコントローラー（２）を有する、リアルタイムデータのストレージのためのマスストレージシステム（１）に関する。該発明によれば、マスストレージシステム（１）は、リアルタイムデータインターフェース（３）とマスストレージアレイ（１０）との間の、アクセスレイテンシのないデータバッファ（７）を含む第１のデータパスと、組み込みプロセッサ（２）と前記マスストレージアレイ（１０）との間の第２のデータパスとを有し、アクセスレイテンシのないデータバッファ（７）は、組み込みプロセッサ（２）とマスストレージアレイ（１０）との間の非リアルタイムデータの転送のためのデータバッファとしても用いられる。
2010537339.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイムデータインターフェース（３）とマスストレージアレイ（１０）との間の、アクセスレイテンシのないデータバッファ（７）を含む第１のデータパスと、組み込みプロセッサ（２）と前記マスストレージアレイ（１０）との間の第２のデータパスとを有するマスストレージシステム（１）であって、アクセスレイテンシのない前記データバッファ（７）は、前記組み込みプロセッサ（２）と前記マスストレージアレイ（１０）との間の非リアルタイムデータの転送のためのデータバッファとしても用いられることを特徴とするマスストレージシステム（１）。
【請求項２】
前記リアルタイムインターフェース（３）からのデータ又は前記リアルタイムインターフェース（３）へのデータと前記組み込みプロセッサ（２）からのデータ又は前記組み込みプロセッサ（２）へのデータとを切り替えるデータスイッチ（５）をさらに有することを特徴とする請求項１に記載のマスストレージシステム（１）。
【請求項３】
前記マスストレージアレイ（１０）は、２つ以上のストレージユニット（９）を含むことを特徴とする請求項１又は請求項２に記載のマスストレージシステム（１）。
【請求項４】
前記２つ以上のストレージユニット（９）は、ハードディスク、光学ディスク、又は固体メモリであることを特徴とする請求項３に記載のマスストレージシステム（１）。
【請求項５】
データストリームを分配し、並行して前記２つ以上のストレージユニット（９）に送るデータ処理ブロック（８）をさらに有することを特徴とする請求項３又は請求項４に記載のマスストレージシステム（１）。
【請求項６】
アクセスレイテンシのない前記データバッファ（７）に対して、閾値を設定することが可能であり、前記閾値は、前記データバッファ（７）から、前記マスストレージアレイ（１０）、前記リアルタイムインターフェース（３）、又はメインメモリ（１１）へデータが流れ出る時期を制御することを特徴とする請求項１乃至５のいずれかに記載のマスストレージシステム（１）。
【請求項７】
前記マスストレージアレイ（１０）、前記リアルタイムインターフェース（３）、又は前記メインメモリ（１１）へのデータ転送に対して、異なる閾値を設定することが可能であることを特徴とする請求項６に記載のマスストレージシステム（１）。
【請求項８】
リアルタイムデータインターフェース（３）とマスストレージアレイ（１０）との間の、アクセスレイテンシのないデータバッファ（７）を含む第１のデータパスと、組み込みプロセッサ（２）と前記マスストレージアレイ（１０）との間の第２のデータパスとを有するマスストレージシステム（１）におけるデータ転送の方法であって、前記組み込みプロセッサ（２）と前記マスストレージアレイ（１０）との間の非リアルタイムデータの転送を、アクセスレイテンシのない前記データバッファ（７）を用いて実行するステップを有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファ容量の利用が改善されたマスストレージシステム（１）に関し、より具体的には、組み込みコントローラーを有する、リアルタイムデータのストレージのためのマスストレージシステムに関する。
【背景技術】
【０００２】
データストリーム源（例えば、フィルムカメラ）から直接に、高速なデータ転送速度で来るリアルタイムデータストリームを格納するために設計された組み込みのスタンドアロンシステムは、一般に以下の２つのデータ処理に分類することができる。
１．保証されたデータ転送速度のリアルタイムビデオデータストレージ
２．組み込みプロセッサにより管理されるファイルシステム情報のような非リアルタイムデータストレージ
２つのデータパスは、マスストレージアレイを形成するストレージユニットとのＩ／Ｏ通信を実行するＩ／Ｏコントローラーに接続されていなければならない。
【０００３】
高速の保証されたデータ転送速度は、ハードディスク、光学ディスク、又は固体メモリのような単一のストレージユニットの集合の並列化によって達成される。このようなタイプのストレージユニットは、しばしば転送の開始の際に、かなりのレイテンシ（遅延時間）を導入する。特に、リアルタイムの動作が必要とされるときに、レイテンシは、問題であるので、アクセスレイテンシが全くないか、又は少なくとも大きなアクセスレイテンシがないＳＲＡＭおよび／又はＳＤＲＡＭが導入される。他の必要条件、特にモバイルアプリケーションに対する必要条件は、ストレージシステム全体が可能な限り小さくなければならないということと電力消費が低減されなければならないということである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、バッファ容量の利用が改善されたマスストレージシステムを提案することである。
【課題を解決するための手段】
【０００５】
本発明によれば、上記目的は、リアルタイムデータインターフェースとマスストレージアレイとの間の、アクセスレイテンシのないデータバッファを含む第１のデータパスと、組み込みプロセッサとマスストレージアレイとの間の第２のデータパスとを有するマスストレージシステムであって、アクセスレイテンシのないデータバッファは、組み込みプロセッサとマスストレージアレイとの間の非リアルタイムデータの転送のためのデータバッファとしても用いられる、マスストレージシステムにより達成される。
【０００６】
本発明は、リアルタイムデータパスにおいて、「全くアクセスレイテンシのない」メモリユニットを、多目的利用することを提案する。これは、メモリのより効率的な利用であり、さらに、組み込みプロセッサと、単一のストレージデバイスの集合を含むマスストレージアレイとの間で非リアルタイムデータを転送するより効率的な方法である。もちろん、本発明は、リアルタイムデータのために設計されたシステムのみに適用できるわけではない。同様に、高速の保証されたデータ転送速度が必要とされ、レイテンシが問題となる他の環境においても本発明を用いることができる。
【０００７】
「全くアクセスレイテンシのない」メモリは、好ましくは場所を取らず、ターゲットマスストレージアレイのあらゆるレイテンシを相殺するためのリアルタイムデータバッファとしてリアルタイムデータパスに組み込まれる。マスストレージアレイは、２以上の単一のストレージユニットの集合を含む。各ストレージユニットは、Ｉ／Ｏコントローラーによって制御される。組み込みプロセッサも、マスストレージアレイ上のデータにアクセスして、アクセスしたデータを修正しなければならないので、リアルタイムデータバッファとプロセッサのメインメモリとの間に第２のパスが実装されている。その結果、リアルタイムインターフェースからのデータ又はリアルタイムインターフェースへのデータと組み込みプロセッサからのデータ又は組み込みプロセッサへのデータとを切り替えるデータスイッチが実装されている。組み込みプロセッサとマスストレージアレイとの間の非リアルタイムデータ転送のためにもリアルタイムデータバッファを用いることにより、非リアルタイム転送のための余分なバッファが節約される。その結果、スペースと電力消費が低減される。
【０００８】
ハードウェアブロックは、好ましくは、必要なモードであるように制御ラインを経由して、組み込みプロセッサにより設定される。組み込みプロセッサは、そのメインメモリとリアルタイムデータバッファとの間のダイレクトメモリアクセス転送（ＤＭＡ転送）を開始することにより、マスストレージアレイからのデータおよびマスストレージアレイへのデータを転送する。
【０００９】
データ転送が実行されている間に、プロセッサは、他のタスクを行うことができるので、これは、効率的な実装である。加えて、リアルタイムデータバッファを経由した、マスストレージアレイへの組み込みプロセッサによるアクセスは、マスストレージアレイに直接アクセスするより高速である。
【００１０】
有利なことに、マスストレージシステムは、データストリームを分配し、並行して２つ以上のストレージユニットに送るデータ処理ブロックを有している。これにより、ＲＡＩＤ又はＲＡＩＤ様のシステムを容易に実装することができる。
【００１１】
好ましくは、１つ以上の閾値を、「全くアクセスレイテンシのない」データバッファに対して設定することができ、１つ以上の閾値は、データバッファから、マスストレージアレイ、リアルタイムインターフェース、メインメモリへデータが流れ出る時期を制御する。このようにして、異なるデータターゲットの性能挙動を状況に応じて変化させることができる。
【００１２】
本発明のより良い理解のために、図面を参照して以下の記載において詳細に説明がなされる。本発明は、以下の例示的な実施形態に限定されるものではなく、以下で特定された特徴を、本発明の範囲を逸脱することなく便宜的に、組み合わせ、および／又は改変することができることが理解される。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る例示的なマスストレージシステムを示す図である。
【発明を実施するための形態】
【００１４】
図１は、リアルタイムデータストリームのための組み込みプロセッサ２とともに、スタンドアロンのマスストレージシステム１のアーキテクチャルデザインを、ブロック図で示している。リアルタイムインターフェースブロック３は、リアルタイムデータ源又は不図示のシンク（ｓｉｎｋ）（すなわち、カメラ又はディスプレイ）に接続されている。組み込みプロセッサ２は、「ビデオを記録せよ」又は「ビデオを再生せよ」というようなユーザ入力に反応する。組み込みプロセッサ２は、（点線で示されている）制御接続４を通して、ハードウェアブロックを設定して、要求されたモードになるようにする。この目的のために、単純な「モード」レジスタが、書き込みアクセスにより組み込みプロセッサ２によって修正され、ハードウェアブロックを設定する。
【００１５】
リアルタイムデータをストリーミングするために、組み込みプロセッサ２が、まずハードウェアブロックを設定することが要求される。データスイッチ５は、データストリーミングのためにリアルタイムインターフェースを選択する。さらに、複数のＩ／Ｏ制御ユニット６（Ｉ／Ｏ  Ｃｔｒｌ）は、指示（読み込み又は書き込み）およびリアルタイムデータストリームのストレージアドレスに関する情報を受信する。後者は、指示やデータストリームの種類に依存しない。リアルタイムデータと非リアルタイムデータとの間の主な違いは、予期されるリアルタイムデータが大容量であり、それと比較して、非リアルタイムデータが通常いくぶん少容量である点である。この相違点に対処するために、転送されるバイト数が、Ｉ／Ｏ制御ユニット６への読み込み／書き込みコマンドに含まれている。リアルタイムモードにおいて、Ｉ／Ｏ制御ユニット６は、組み込みプロセッサ２が、次の読み込み／書き込みコマンドを生成して、送ることができる程度の十分に大容量なデータを読み込み／書き込みすることを許可する。これは、組み込みプロセッサ２の読み込み／書き込みという２つのコマンドの間に比較的大量の時間が経過するときに、リアルタイムデータ転送速度を保証するために必要である。非リアルタイムモードにおいて、たいていは、ほんのわずかなデータのみが転送されなければならないので、単一の読み込み／書き込みコマンドで読み込み／書き込みが許可されているデータ量は、いくぶん少量である。
【００１６】
ユーザ入力を「記録」する場合には、リアルタイムデータストリームが、リアルタイムインターフェース３、データスイッチ５、リアルタイムデータバッファ７およびデータ処理ユニット８を通過し、リアルタイムストリームが、分配されて、並行してＩ／Ｏ制御ユニット６に送られる。Ｉ／Ｏ制御ユニット６は、マスストレージアレイ１０の複数のストレージユニット９にデータを書き込む。マスストレージアレイ１０のストレージユニット９がデータを受信できないならば、リアルタイムデータストリームは、リアルタイムデータバッファ７に格納される。ストレージユニット９がデータを受信できるときに、マスストレージアレイ１０へのデータ転送が継続する。
【００１７】
例えば、ハードディスクが、読み込み／書き込みヘッドを再配置しなければならないときに、レイテンシが生じる。機械の動作のために、データ転送が一時停止する。位置決め手続きが終了した後にのみ、ハードディスクは、そのメディアのデータ転送速度で動作することができる。
【００１８】
ユーザ入力を「再生する」場合には、ストレージユニット９の集合から並行に読み出され、データ処理ユニット８を通過した後、リアルタイムデータバッファ７に書き込まれ、単一のデータストリームの集合が１つのリアルタイムデータストリームに統合される。リアルタイムインターフェース３を経由したデータシンクへのリアルタイムデータストリームの転送は、好ましくは、リアルタイムデータバッファ７の容量が満たされているときにのみ開始される。この基準は、マスストレージアレイ１０により生み出されるレイテンシを相殺し、リアルタイムの必要条件を満たすことに役立つ。有利なことに、後述するように、閾値を設定することにより、この動作は、変更可能である。
【００１９】
例えば、いくつかのファイルシステム情報を更新したり、又はマスストレージアレイ１０に格納されているリアルタイムデータストリームに属する記述データを読み込み、書き込み、又は修正するために、組み込みプロセッサ２が、マスストレージアレイ１０にアクセスしなければならない場合に、非リアルタイムデータ転送が実行される。リアルタイムデータストリームとの主な違いは、リアルタイムインターフェース３は、プロセッサのメインメモリ１１により、論理的に置き換えられる点である。データがマスストレージアレイ１０に書き込まれる場合、データは、メインメモリ１１からリアルタイムデータバッファ７へ転送され、データがストレージアレイ１０から読み込まれる場合には、データは、リアルタイムデータバッファ７からメインメモリ１１へ転送される。その結果、メインメモリ１１とリアルタイムデータバッファ７との間の組み込みプロセッサ２によりダイレクトメモリアクセス（ＤＭＡ）転送が、開始される。リアルタイムデータバッファ７からマスストレージアレイ１０へのデータ転送は、自動的に実行される。したがって、ＤＭＡ転送が開始した後は、組み込みプロセッサ２は、マスストレージアレイ１０へのＤＭＡ転送が成功した又は失敗したというメッセージが受信されるまで、自由に他のタスクを実行する。ＤＭＡ転送の間、リアルタイムデータストリームが処理されるかのように、マスストレージアレイ１０のレイテンシは、リアルタイムデータバッファ７により相殺される。これにより、マスストレージアレイ１０への組み込みプロセッサ２による直接のシングルワードアクセスより高い性能が得られる。さらに、非リアルタイムデータストリームに対する制御機構は、リアルタイムデータストリームに対するものと同一であるという改良がなされている。しかしながら、データスイッチ６は、リアルタイムインターフェース３をメインメモリ１１で置き換えるために、異なった方法で設定されなければならない。また、単一の読み込み／書き込みコマンドで書き込まれるデータの量も変更されている。コマンドごとのデータの量は、比較的少ないが、組み込みプロセッサ２の要求に適合されることができ、各ＤＭＡ転送は、Ｉ／Ｏ制御ユニット６への単一のコマンドで実行される。
【００２０】
データの並列化は、データ処理ユニット８で実行され、マスストレージアレイ１０の全ての単一のストレージユニット９の集合へ並行して書き込み、マスストレージアレイ１０の全ての単一のストレージユニット９の集合の各々から並行して読み出すことを許可する。これは、ＲＡＩＤ−０システムに対応する。他のＲＡＩＤ又はＲＡＩＤ様システムも同様に実装することができる。
【００２１】
好ましくは、マスストレージアレイ１０へ２つのアクセスがある間、又は、マスストレージアレイ１０に異なるマスストレージユニット９が追加されるときにも、リアルタイムデータバッファ７の閾値は、組み込みプロセッサ２により動的に設定されることができる。閾値は、リアルタイムデータバッファ７から、マスストレージアレイ１０、リアルタイムインターフェース３、又はメインメモリ１１へデータが流れ出る時期を制御する。このようにして、異なるデータターゲットの性能挙動を状況に応じて変化させることができる。例えば、少なくともリアルタイムデータバッファ７において利用可能なバイトの数「ｎ」が存在する場合に、リアルタイムデータバッファ７からメインメモリ１１へのＤＭＡ転送は、最初に開始され、数「ｎ」は、特別な閾値により決定される。したがって、メインメモリ１１は、可能な限り短期間、ＤＭＡ転送によりロックされ、組み込みプロセッサ２は、それと同一の短期間、そのメインメモリ１１なしにそのタスクを実行するだけでよい。閾値の動的な変更により、システムを、様々なタイプのマスストレージユニット９、又は、データストリーミング又は比較的少量のデータブロックの転送のような様々なタイプのデータアクセスに最適に適合させることができる。例えば、あるタイプの固体ディスクでは、データ転送における好ましくない時期の一時停止が、データ転送速度の下落につながる。これは、記録の間、データを、マスストレージユニット９に転送する前に、最初にリアルタイムデータバッファ７に集めることにより、相殺される。これにより、相殺されることができるレイテンシを減らすことができるが、データ転送速度の全体は、増やされる。
【図１】
2010537339.tif 000003
【国際調査報告】
2010537339.tif 000004
2010537339.tif 000005
2010537339.tif 000006