(57)【要約】【課題】記憶領域を有効活用することができるとともに、システムの構成を簡素化することできるストレージシステム及びストレージ装置を提供する。【解決手段】ストレージシステム１００は、データを記憶するストレージ装置１に、データの読み書きを行う第２の制御部１０４Ａ，１０４Ｂが接続され、ストレージ装置１は、データが入出力される第１及び第２のデータ入出力部１０１Ａ，１０１Ｂと、データを記憶するデータ記憶部１０３と、データの読み書き制御を行う第１の制御部１０２とから構成されている。第１の制御部１０２は、データ記憶部１０３の記憶領域のうち第１及び第２のデータ入出力部１０１Ａ，１０１Ｂにそれぞれ割り当てる範囲を示す範囲情報を範囲情報記憶部１０２ａに記憶し、第１及び第２のデータ入出力部１０１Ａ，１０１Ｂから所定の信号が入力されたとき、その範囲情報を予め定められた範囲情報に書き換える。【選択図】図１
2008282345.tif 000002
【特許請求の範囲】
【請求項１】
データが入出力される複数のデータ入出力部と、
前記複数のデータ入出力部を介して入出力される前記データを記憶するデータ記憶部と、
前記データ記憶部の記憶領域を前記複数のデータ入出力部にそれぞれ割り当てる範囲を示す範囲情報を記憶する範囲情報記憶部と、
前記範囲情報記憶部に記憶された前記範囲情報に基づいて、前記データ記憶部に対して前記データの読み書き制御を行うとともに、所定の信号が前記データ入出力部から入力されたとき、前記範囲情報記憶部が記憶する前記範囲情報を予め定められた範囲情報に書き換える第１の制御部とを有するストレージ装置と、
前記複数のデータ入出力部に対応して設けられ、前記複数のデータ入出力との間でデータの入出力を行うとともに、所定の場合に、前記所定の信号を前記データ入出力部に入力する複数の第２の制御部とを備えたストレージシステム。
【請求項２】
前記第２の制御部は、前記データ入出力部との間におけるデータの入出力上で障害を検出したとき、障害通知信号を前記所定の信号として入力し、
前記第１の制御部は、前記障害通知信号が前記データ入出力部から入力されたとき、そのデータ入出力部に割り当てられた前記記憶領域が前記障害通知信号を入力していない前記データ入出力部に割り当てられるように、前記範囲情報を書き換える請求項１に記載のストレージシステム。
【請求項３】
前記データ記憶部は、前記記憶領域を複数に分割した複数の分割記憶領域を備え、
前記第２の制御部は、前記分割記憶領域に対して前記データの入出力を行うとき、前記データの先入れ先出しを制御するためのタイミング信号を前記所定の信号として入力し、
前記第１の制御部は、前記タイミング信号が入力されたとき、前記複数の分割記憶領域のうち１つの分割記憶領域が前記データ入出力部に割り当てられるように、前記範囲情報を書き換えて、前記分割記憶領域に対して前記データの読み書き制御を行う請求項１に記載のストレージシステム。
【請求項４】
前記データ記憶部は、前記記憶領域を複数に分割した複数の分割記憶領域を備え、
前記第２の制御部は、前記記憶領域に対して前記データの入出力を行うとき、前記データの入出力を指示するデータセット信号、及び前記データを複数に分割した分割データの入出力を指示するシフト信号を前記所定の信号として入力し、
前記第１の制御部は、前記データセット信号が入力されたとき、前記記憶領域が前記データ入出力部に割り当てられるように、前記範囲情報を書き換えて、前記記憶領域に対して前記データの読み書き制御を行い、前記シフト信号が入力されたとき、前記複数の分割記憶領域のうち１つの分割記憶領域が前記データ入出力部に割り当てられるように、前記範囲情報を書き換えて、前記分割記憶領域に対して前記分割データの読み書き制御を行う請求項１に記載のストレージシステム。
【請求項５】
データが入出力される複数のデータ入出力部と、
前記複数のデータ入出力部を介して入出力される前記データを記憶するデータ記憶部と、
前記データ記憶部の記憶領域を前記複数のデータ入出力部にそれぞれ割り当てる範囲を示す範囲情報を記憶する範囲情報記憶部と、
前記範囲情報記憶部に記憶された前記範囲情報に基づいて、前記データ記憶部に対して前記データの読み書き制御を行うとともに、所定の信号が前記データ入出力部から入力されたとき、前記範囲情報記憶部が記憶する前記範囲情報を予め定められた範囲情報に書き換える制御部とを備えたストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージ装置に関する。
【背景技術】
【０００２】
従来、ホストコンピュータ（以下、ホストと略す。）に半導体ディスク装置を接続し、半導体ディスク装置に記憶されたデータをバックアップする技術が提案されている（例えば、特許文献１参照）。
【０００３】
特許文献１によれば、この半導体ディスク装置は、記憶媒体としての半導体メモリと、バックアップディスクとを備える。そして、この半導体ディスク装置は、半導体メモリに記憶されたデータを必要に応じてバックアップディスクに記憶し、障害発生時にバックアップディスクに記憶されたデータを半導体メモリに復元することができる。
【０００４】
【特許文献１】特開平６−８９１４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、記憶領域を有効活用することができるとともに、システムの構成を簡素化することできるストレージシステム及びストレージ装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、上記目的を達成するため、以下のストレージシステム及びストレージ装置を提供する。
【０００７】
［１］データが入出力される複数のデータ入出力部と、前記複数のデータ入出力部を介して入出力される前記データを記憶するデータ記憶部と、前記データ記憶部の記憶領域を前記複数のデータ入出力部にそれぞれ割り当てる範囲を示す範囲情報を記憶する範囲情報記憶部と、前記範囲情報記憶部に記憶された前記範囲情報に基づいて、前記データ記憶部に対して前記データの読み書き制御を行うとともに、所定の信号が前記データ入出力部から入力されたとき、前記範囲情報記憶部が記憶する前記範囲情報を予め定められた範囲情報に書き換える第１の制御部とを有するストレージ装置と、前記複数のデータ入出力部に対応して設けられ、前記複数のデータ入出力との間でデータの入出力を行うとともに、所定の場合に、前記所定の信号を前記データ入出力部に入力する複数の第２の制御部とを備えたストレージシステム。
【０００８】
［２］前記第２の制御部は、前記データ入出力部との間におけるデータの入出力上で障害を検出したとき、障害通知信号を前記所定の信号として入力し、前記第１の制御部は、前記障害通知信号が前記データ入出力部から入力されたとき、そのデータ入出力部に割り当てられた前記記憶領域が前記障害通知信号を入力していない前記データ入出力部に割り当てられるように、前記範囲情報を書き換える前記［１］に記載のストレージシステム。
【０００９】
［３］前記データ記憶部は、前記記憶領域を複数に分割した複数の分割記憶領域を備え、前記第２の制御部は、前記分割記憶領域に対して前記データの入出力を行うとき、前記データの先入れ先出しを制御するためのタイミング信号を前記所定の信号として入力し、前記第１の制御部は、前記タイミング信号が入力されたとき、前記複数の分割記憶領域のうち１つの分割記憶領域が前記データ入出力部に割り当てられるように、前記範囲情報を書き換えて、前記分割記憶領域に対して前記データの読み書き制御を行う前記［１］に記載のストレージシステム。
【００１０】
［４］前記データ記憶部は、前記記憶領域を複数に分割した複数の分割記憶領域を備え、前記第２の制御部は、前記記憶領域に対して前記データの入出力を行うとき、前記データの入出力を指示するデータセット信号、及び前記データを複数に分割した分割データの入出力を指示するシフト信号を前記所定の信号として入力し、前記第１の制御部は、前記データセット信号が入力されたとき、前記記憶領域が前記データ入出力部に割り当てられるように、前記範囲情報を書き換えて、前記記憶領域に対して前記データの読み書き制御を行い、前記シフト信号が入力されたとき、前記複数の分割記憶領域のうち１つの分割記憶領域が前記データ入出力部に割り当てられるように、前記範囲情報を書き換えて、前記分割記憶領域に対して前記分割データの読み書き制御を行う前記［１］に記載のストレージシステム。
【００１１】
［５］データが入出力される複数のデータ入出力部と、前記複数のデータ入出力部を介して入出力される前記データを記憶するデータ記憶部と、前記データ記憶部の記憶領域を前記複数のデータ入出力部にそれぞれ割り当てる範囲を示す範囲情報を記憶する範囲情報記憶部と、前記範囲情報記憶部に記憶された前記範囲情報に基づいて、前記データ記憶部に対して前記データの読み書き制御を行うとともに、所定の信号が前記データ入出力部から入力されたとき、前記範囲情報記憶部が記憶する前記範囲情報を予め定められた範囲情報に書き換える制御部とを備えたストレージ装置。
【発明の効果】
【００１２】
請求項１に係るストレージシステムによれば、記憶領域を有効活用することができるとともに、システムの構成を簡素化することできる。
【００１３】
請求項２に係るストレージシステムによれば、障害発生時にデータのバックアップを簡便に行うことができる。
【００１４】
請求項３に係るストレージシステムによれば、データ処理効率を向上するとともに、ＦＩＦＯ（First In First Out）として動作するシステムを簡便に構築することができる。
【００１５】
請求項４に係るストレージシステムによれば、シフトレジスタとして動作するシステムを簡便に構築することができる。
【００１６】
請求項５に係るストレージ装置によれば、記憶領域を有効活用することができるとともに、記憶領域の割り当てを柔軟に変更することができる。
【発明を実施するための最良の形態】
【００１７】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。このストレージシステム１００は、データを記憶するストレージ装置１と、ストレージ装置１に記憶されたデータの読み書きを行う第２の制御部１０４Ａ，１０４Ｂとから構成されている。なお、第２の制御部の数は、２つに限られず、３つ以上でもよい。
【００１８】
ストレージ装置１は、データが入出力される第１及び第２のデータ入出力部１０１Ａ，１０１Ｂと、第１及び第２のデータ入出力部１０１Ａ，１０１Ｂを介して入出力されるデータを記憶するデータ記憶部１０３と、データ記憶部１０３に対してデータの読み書き制御を行う第１の制御部１０２とから構成されている。
【００１９】
第１及び第２のデータ入出力部１０１Ａ，１０１Ｂは、第２の制御部１０４Ａ，１０４Ｂにそれぞれ接続されて、例えばＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）等のインターフェース規格に則ってデータの入出力を行う。
【００２０】
第１の制御部１０２に設けられた範囲情報記憶部１０２ａは、第１の制御部１０２により管理された内部的な情報を記憶する記憶部である。範囲情報記憶部１０２ａには、データ記憶部１０３からなる記憶領域を第１及び第２のデータ入出力部１０１Ａ，１０１Ｂにそれぞれ割り当てる記憶領域の範囲を示す範囲情報が記憶されている。
【００２１】
第１の制御部１０２は、記憶領域を１つの共有メモリ空間として扱うためのメモリ管理を行う回路を備える。また、第１の制御部１０２は、範囲情報記憶部１０２ａに記憶された範囲情報に基づいて、データ記憶部１０３に対してデータの読み書き制御を行う回路を備える。
【００２２】
また、第１の制御部１０２は、後述する所定の信号が第１及び第２のデータ入出力部１０１Ａ，１０１Ｂから入力されたとき、範囲情報記憶部１０２ａが記憶する範囲情報を予め定められた範囲情報に書き換える。
【００２３】
データ記憶部は、例えばＤＲＡＭなどの揮発性の半導体メモリやフラッシュメモリなどの不揮発性の半導体メモリからなる。なお、データ記憶部は、複数の半導体メモリにより構成されていてもよいし、磁気ディスク装置により構成されていてもよい。また、データ記憶部は、半導体メモリと磁気ディスク装置とを組み合わせて構成されていてもよいし、それらに限られない。
【００２４】
第２の制御部１０４Ａ，１０４Ｂは、第１及び第２のデータ入出力部１０１Ａ，１０１Ｂに対応して設けられ、第１及び第２のデータ入出力部１０１Ａ，１０１Ｂとの間でデータの入出力を行うとともに、所定の場合に、所定の信号を第１及び第２のデータ入出力部１０１Ａ，１０１Ｂに入力する。
【００２５】
ここで、所定の場合とは、例えば第２の制御部１０４Ａ，１０４Ｂが第１及び第２のデータ入出力部１０１Ａ，１０１Ｂとの間におけるデータの入出力上で障害を検出した場合や、記憶領域を複数に分割した複数の分割記憶領域に対してデータの入出力を行う場合であり、それらの場合に限られない。
【００２６】
また、第２の制御部１０４Ａ，１０４Ｂは、所定の信号として、例えば第１及び第２のデータ入出力部１０１Ａ，１０１Ｂとの間におけるデータの入出力上で障害を検出したときは、障害通知信号を第１及び第２のデータ入出力部１０１Ａ，１０１Ｂに入力する。なお、所定の信号は、分割記憶領域に対するデータの先入れ先出しを制御するためのタイミング信号でもよいし、記憶領域全体に対してデータの入出力を指示するデータセット信号、及び分割記憶領域に対してそのデータを複数に分割した分割データの入出力を指示するシフト信号でもよいし、それらの信号に限られない。
【００２７】
以上の構成において、一方の第２の制御部１０４Ａから送られた所定の信号が、第１のデータ入出力部１０１Ａを介して第１の制御部１０２に入力されると、第１の制御部１０２は、範囲情報記憶部が記憶する範囲情報を予め定められた範囲情報に書き換える。
【００２８】
［第２の実施の形態］
図２は、本発明の第２の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。このストレージシステム１００Ａは、データを記憶する半導体ストレージ装置１Ａと、半導体ストレージ装置１Ａに記憶されたデータの読み書きを行う第１及び第２のホスト２Ａ、２Ｂとから構成されている。なお、ホストの数は、２つに限られず、１つ又は３つ以上でもよい。
【００２９】
（ホストの構成）
第１及び第２のホスト２Ａ、２Ｂは、ホストの各部を制御するＣＰＵ等からなる制御部（第２の制御部）２０Ａ，２０Ｂと、データを入力又は出力する通信部２１Ａ，２１Ｂと、領域設定プログラム２２０が記憶された記憶部２２Ａ，２２Ｂと、キーボード及びマウス等からなる入力部２３Ａ，２３Ｂと、各種の画面等を表示するＬＣＤ（液晶ディスプレイ）等からなる表示部２４Ａ，２４Ｂとからそれぞれ構成されている。このような第１及び第２のホスト２Ａ、２Ｂは、例えば、サーバ、パーソナルコンピュータ（ＰＣ）、ワークステーション（ＷＳ）等により構成されている。
【００３０】
制御部２０Ａ，２０Ｂは、領域設定プログラム２２０に従って動作することにより、半導体ストレージ装置１Ａとのデータの入出力において検出した障害を検出する障害検出手段、及び障害検出手段により検出された障害を通信部２１Ａ，２１Ｂを介して障害通知信号により通知する障害通知手段等としてそれぞれ機能する。
【００３１】
（半導体ストレージ装置の構成）
半導体ストレージ装置１Ａは、データが入出力される第１及び第２のホストインターフェース部（データ入出力部、以下ホストＩ／Ｆ部と略す。）１１Ａ，１１Ｂと、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂを介して入出力されるデータの読み書き制御を行うメインコントローラ（第１の制御部）１２と、メインコントローラ１２から送られたデータを記憶する複数のメモリカード（データ記憶部）１３とから構成されている。
【００３２】
複数のメモリカード１３は、メモリコントローラ１３０と、半導体メモリ１３１とから構成されている。
【００３３】
メモリコントローラ１３０は、メインコントローラ１２との間でシリアル伝送を行い、データの書き込み時にはメインコントローラ１２から送られたデータを指定された半導体メモリ１３１のアドレスに書き込み、データの読み出し時には指定された半導体メモリ１３１のアドレスからデータを読み出し、その読み出したデータをメインコントローラ１２に送る。
【００３４】
レジスタ（範囲情報記憶部）１２０は、メインコントローラ１２に設けられた記憶部であり、レジスタ１２０には、複数のメモリカード１３からなる記憶領域のうち、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂにそれぞれ割り当てる記憶領域の範囲を示す範囲情報が記憶されている。
【００３５】
メインコントローラ１２は、複数のメモリカード１３からなる記憶領域を１つの共有メモリ空間として扱うためのメモリ管理を行う回路を備え、レジスタ１２０に記憶された範囲情報に基づいて、メモリカード１３に対してデータの読み書き制御を行う回路を備える。その他は第１の実施の形態に係る第１の制御部１０２と同様に構成されている。
【００３６】
図３は、レジスタ１２０に記憶された範囲情報と、その範囲情報に基づいて第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂに割り当てられた記憶領域との一例を示す図である。範囲情報１２０ａ〜１２０ｃにおいて、第１の先頭アドレス、及び末尾アドレスは、第１のホストＩ／Ｆ部１１Ａに割り当てられた記憶領域の先頭及び末尾のアドレスをそれぞれ示す。また、第２の先頭アドレス及び末尾アドレスは、同様に、第２のホストＩ／Ｆ部１１Ｂに割り当てられた記憶領域の先頭及び末尾のアドレスを示す。
【００３７】
また、記憶領域１３ａ〜１３ｃは、複数のメモリカード１３からなる記憶領域を示し、アドレス「０ｘ００００００」から「０ｘ１ｆｆｆｆｆ」までの各アドレスに対して、それぞれ１バイト又は１ワードのデータを記憶するものである。なお、データの記録単位は、１バイト又１ワード単位に限らず、例えば５１２バイトを１ブロックとしたブロック単位でもよいし、それらに限られない。また、記憶領域１３ａ〜１３ｃは、任意の記憶容量を有するものでよく、記憶容量は、半導体メモリ１３１の記憶容量により変更してもよいし、メモリカード１３の数により変更してもよい。
【００３８】
図３（ａ）は、記憶領域１３ａを２分割した場合の範囲情報１２０ａの一例を示す。すなわち、第１のホストＩ／Ｆ部１１Ａには、アドレス「０ｘ００００００」から「０ｘ０ｆｆｆｆｆ」までの記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂには、アドレス「０ｘ１０００００」から「０ｘ１ｆｆｆｆｆ」までの記憶領域が割り当てられている。
【００３９】
図３（ｂ）は、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂに割り当てられた記憶領域の間に、未使用領域（空き）を設けた場合の範囲情報１２０ｂの一例を示す。すなわち、第１のホストＩ／Ｆ部１１Ａには、アドレス「０ｘ１８００００」から「０ｘ１ｆｆｆｆｆ」までの記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂには、アドレス「０ｘ０８００００」から「０ｘ０ｆｆｆｆｆ」までの記憶領域が割り当てられている。そして、記憶領域１３ｂには、アドレス「０ｘ００００００」から「０ｘ０７ｆｆｆｆ」までの未使用領域と、アドレス「０ｘ１０００００」から「０ｘ１７ｆｆｆｆ」までの未使用領域とが存在する。
【００４０】
図３（ｃ）は、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂに割り当てられた記憶領域を重複して設けた場合の範囲情報１２０ｃの一例を示す。すなわち、第１のホストＩ／Ｆ部１１Ａには、アドレス「０ｘ００００００」から「０ｘ０ｆｆｆｆｆ」までの記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂには、アドレス「０ｘ００００００」から「０ｘ１ｆｆｆｆｆ」までの記憶領域が割り当てられている。そして、アドレス「０ｘ００００００」から「０ｘ０ｆｆｆｆｆ」までの記憶領域が、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂのどちらからもデータの入出力が可能な重複した記憶領域に該当する。
【００４１】
なお、範囲情報は、第１のホストＩ／Ｆ部１１Ａに割り当てられた記憶領域と、第２のホストＩ／Ｆ部１１Ｂに割り当てられた記憶領域とが、部分的に重複するようにしてもよいし、どちらかの記憶領域が他の記憶領域を包含するようにしてもよい。
【００４２】
（第２の実施の形態の動作）
次に、第２の実施の形態に係るストレージシステム１００Ａの動作の一例を図４を用いて説明する。図４（ａ）は、ストレージシステム１００Ａの正常動作時の範囲情報の一例を示す。範囲情報１２０ｄにより、第１のホスト／Ｆ部１１Ａには、アドレス「０ｘ００００００」から「０ｘ０ｆｆｆｆｆ」までの第１の記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂには、アドレス「０ｘ１０００００」から「０ｘ１ｆｆｆｆｆ」までの第２の記憶領域が割り当てられている。従って、第１のホスト１Ａは、第１のホスト／Ｆ部１１Ａを介して第１の記憶領域に対してデータの入出力を行い、第２のホスト１Ｂは、第２のホスト／Ｆ部１１Ｂを介して第２の記憶領域に対してデータの入出力を行う。
【００４３】
ここで、第１のホスト１Ａにて障害が発生したとすると、第１のホスト１Ａの障害検出手段はその障害を検出する。次に、障害検出手段は、その障害を検出した旨を障害通知手段に送ると、障害通知手段は、通信部２１Ａを介して障害通知信号を半導体ストレージ装置１Ａに送信する。
【００４４】
次に、半導体ストレージ装置１Ａの第１のホストＩ／Ｆ部１１Ａが、その障害通知信号を受信すると、その障害通知信号をメインコントローラ１２に送る。
【００４５】
次に、メインコントローラ１２は、その障害通知信号を受信すると、障害通知信号の送信元ではない第２のホストＩ／Ｆ部１１Ｂに記憶領域の交換を通知する交換通知信号を送る。
【００４６】
次に、第２のホストＩ／Ｆ部１１Ｂは、メインコントローラ１２からの交換通知信号を受信すると、交換通知信号を第２のホスト２Ｂに送る。
【００４７】
次に、第２のホスト２Ｂの制御部２０Ｂが、その交換通知信号を通信部２１Ｂを介して受信すると、制御部２０Ｂは、半導体ストレージ装置１Ａとのデータの入出力を一旦停止し、交換準備完了信号を半導体ストレージ装置１Ａに返す。なお、制御部２０Ｂは、交換準備完了信号を返信する前に、表示部２４Ｂに交換通知信号を受信した旨を表示するようにしてもよい。
【００４８】
次に、第２のホストＩ／Ｆ部１１Ｂは、その交換準備完了信号を受信すると、その交換準備完了信号をメインコントローラ１２に送る。
【００４９】
次に、メインコントローラ１２は、第１のホストＩ／Ｆ部１１Ａから交換準備完了信号が入力されると、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂに割り当てられた記憶領域を交換するため、レジスタ１２０の範囲情報を書き換える。
【００５０】
図４（ｂ）は、記憶領域を交換したときの範囲情報の一例を示す。すなわち、範囲情報１２０ｅでは、第１のホスト／Ｆ部１１Ａには、第２の記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂには、第１の記憶領域が割り当てられている。
【００５１】
次に、メインコントローラ１２は、第２のホストＩ／Ｆ部１１Ｂを介して、第２のホスト２Ｂに記憶領域の交換を通知する交換完了信号を送る。
【００５２】
次に、第２のホスト２Ｂの制御部２０Ｂが、通信部２１Ｂを介してその交換完了信号を受信すると、制御部２０Ｂは、第１の記憶領域に記憶されたデータの出力を半導体ストレージ装置１Ａに要求する。なお、制御部２０Ｂは、データの出力を要求する前に、表示部２４Ｂにデータの出力を要求する否かを確認する画面を表示するようにしてもよい。
【００５３】
次に、半導体ストレージ装置１Ａの第２のホストＩ／Ｆ部１１Ｂは、第２のホスト２Ｂからデータの出力の要求を受けると、その要求をメインコントローラ１２に送る。
【００５４】
次に、メインコントローラ１２は、その要求に基づいて、第１の記憶領域に記憶されたデータの読み出しを複数のメモリコントローラ１３０に要求する。
【００５５】
次に、メモリコントローラ１３０は、その要求を受信すると、第１の記憶領域のアドレス「０ｘ００００００」から「０ｘ０ｆｆｆｆｆ」までのアドレスに該当する半導体メモリ１３１から、その半導体メモリ１３１に記憶されているデータを読み出す。そして、メモリコントローラ１３０は、その読み出したデータをメインコントローラ１２に読み出しデータとして送る。
【００５６】
メインコントローラ１２は、その読み出しデータを受信すると、第２のホストＩ／Ｆ部１１Ｂを介して、第２のホスト２Ｂに送る。
【００５７】
第２のホスト２Ｂの制御部２０は、その読み出しデータを通信部２１Ｂを介して受信すると、その受信したデータを記憶部２２に記憶する。
【００５８】
［第３の実施の形態］
次に、本発明の第３の実施の形態に係るストレージシステムについて説明する。本実施の形態に係るストレージシステムは、第２の実施の形態に係るストレージシステム１００Ａと比較して、記憶領域を交換する際の動作を変更したものである。すなわち、本実施の形態に係る第１及び第２のホスト２Ａ，２Ｂは、制御部２０Ａ，２０Ｂが領域設定プログラム２２０に従って動作することにより、表示部２４Ａ，２４Ｂに記憶領域を交換及び変更する画面を表示し、範囲情報の交換等の指示が入力部２３Ａ，２３Ｂにより入力されたときに、半導体ストレージ１Ａの範囲情報の交換等を行うものである。なお、本実施の形態に係るストレージシステムのその他の構成は、第２の実施の形態に係るストレージシステム１００Ａと共通であるため、その説明を省略する。
【００５９】
（第３の実施の形態の動作）
次に、第３の実施の形態に係るストレージシステムの動作の一例を説明する。まず、ユーザが、第１のホスト２Ａの入力部２３Ａにより領域設定プログラム２２０の起動を指示すると、制御部２０Ａは、その入力部２３Ａから送られた起動の指示を受け取り、領域設定プログラム２２０を起動する。なお、第２のホスト２Ｂの入力部２３Ｂによりユーザからの指示を受け付けて、制御部２０Ｂが領域設定プログラム２２０を起動してもよい。
【００６０】
次に、制御部２０Ａは、その起動した領域設定プログラム２２０に従って動作し、表示部２４Ａに記憶領域を交換する画面を表示する。
【００６１】
図５は、第１のホスト２Ａの表示部２４Ａに表示される領域設定画面の一例を示す。この領域設定画面２４０は、ユーザからの命令（コマンド）を受け付けるコマンドプロンプトとして機能するものである。すなわち、制御部２０Ａは、入力部２３Ａにより入力されたコマンドを受け取ると、そのコマンドを解釈し、通信部２１Ａを介して、半導体ストレージ１Ａのレジスタ１２０に記憶された範囲情報にアクセスして、そのコマンドを実行し、その実行した結果を領域設定画面２４０に表示するものである。
【００６２】
まず、ユーザが、範囲情報を表示する表示コマンド２４１Ａとして「ＶＩＥＷ」を入力すると、制御部２０Ａは、レジスタ１２０の範囲情報にアクセスして、レジスタ１２０に記憶されている範囲情報を読み出して、その結果を表示する。ここでは、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂには、重複した記憶領域として、アドレス「０ｘ０００００００」から「０ｘ１ｆｆｆｆｆｆ」までのアドレスが割り当てられている。
【００６３】
次に、ユーザが、記憶領域の割り当てを変更する設定コマンド２４２として「Ｓｅｔ  ２：１」を入力すると、制御部２０Ａは、レジスタ１２０の範囲情報にアクセスして、第１のホストＩ／Ｆ部１１Ａの記憶領域と、第２のホストＩ／Ｆ部１１Ｂの記憶領域との記憶容量の比率が２対１になるように範囲情報を書き換える。そして、ユーザが、表示コマンド２４１Ｂを入力すると、制御部２０Ａは、書き換えられた範囲情報にアクセスし、第１のホストＩ／Ｆ部１１Ａにアドレス「０ｘ０００００００」から「０ｘ１４ｆｆｆｆｆ」までの記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂにアドレス「０ｘ１５０００００」から「０ｘ１ｆ７ｆｆｆｆ」までの記憶領域が割り当てられていることを示す内容を領域設定画面２４０に表示する。
【００６４】
次に、ユーザが、記憶領域の交換を行う交換コマンド２４３として「Ｅｘｃｈｅｎｇｅ」を入力すると、制御部２０Ａは、レジスタ１２０の範囲情報にアクセスして、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂの記憶領域を交換するように、範囲情報を書き換える。そして、ユーザが、表示コマンド２４１Ｃを入力すると、制御部２０Ａは、交換された範囲情報にアクセスし、第１のホストＩ／Ｆ部１１Ａにアドレス「０ｘ１５０００００」から「０ｘ１ｆ７ｆｆｆｆ」までの記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂにアドレス「０ｘ０００００００」から「０ｘ１４ｆｆｆｆｆ」までの記憶領域が割り当てられていることを示す内容を領域設定画面２４０に表示する。
【００６５】
［第４の実施の形態］
図６は、本発明の第４の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。このストレージシステム１００Ｂを構成する半導体ストレージ装置１Ｂは、第２の実施の形態に係る半導体ストレージ装置１Ａと比較して、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂに、第１及び第２のホスト２Ａ，２Ｂとの間のデータの入出力上で障害が発生したか否かを検出するエラー検出部１１０Ａ，１１０Ｂをさらに備えている。なお、ストレージシステム１００Ｂのその他の構成は、第２の実施の形態に係るストレージシステム１００Ａと共通であるため、その説明を省略する。
【００６６】
エラー検出部１１０Ａ，１１０Ｂは、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂと通信部２Ａ，２Ｂとの間のデータの入出力上でハードウェア障害が発生したことを検出する。ハードウェア障害の検出は、例えばハミング符号方式やリードソロモン符号方式等の誤り訂正符号により行ってもよいし、検出した障害の検出頻度を示すエラーレートにより行ってもよいし、電源異常、温度異常等を監視する監視回路により行ってもよい。また、それらを組み合わせたものでもよく、それらに限られない。そして、エラー検出部１１０Ａ，１１０Ｂは、ハードウェア障害を検出すると、その旨を障害通知信号としてメインコントローラ１２に送る。
【００６７】
（第４の実施の形態の動作）
次に、第４の実施の形態に係るストレージシステム１００Ｂの動作の一例を説明する。まず、第１のホスト２Ａが、半導体ストレージ装置１Ｂに対してデータの書き込みを要求する場合、第１のホスト２Ａの制御部２０Ａは、その書き込みデータとその書き込みデータの書き込みアドレスとを半導体ストレージ装置１Ｂに送信する。ここでは、第２の実施の形態と同様に、第１のホスト／Ｆ部１１Ａには、第１の記憶領域が割り当てられ、第２のホストＩ／Ｆ部１１Ｂには、第２の記憶領域が割り当てられているものとする。
【００６８】
次に、半導体ストレージ装置１Ｂの第１のホストＩ／Ｆ部１１Ａは、その書き込みデータを受信すると、第１のホストＩ／Ｆ部１１Ａに設けられたエラー検出部１１０Ａは、その書き込みデータの入力においてハードウェア障害が発生した否か確認する。
【００６９】
次に、エラー検出部１１０Ａが、その書き込みデータの入力においてハードウェア障害を検出しなかった場合は、書き込みデータをメインコントローラ１２に送る。そして、メインコントローラ１２は、メモリコントローラ１３０を介して、書き込みアドレスに該当する半導体メモリ１３１に書き込みデータを書き込む。
【００７０】
また、エラー検出部１１０Ａが、その書き込みデータの入力においてハードウェア障害を検出した場合は、障害通知信号をメインコントローラ１２に送る。
【００７１】
次に、メインコントローラ１２は、エラー検出部１１０Ａから障害通知信号を受信すると、記憶領域の交換を通知する交換通知信号を、障害通知信号の送信元ではない第２のホストＩ／Ｆ部１１Ｂを介して、第２のホスト２Ｂに送る。
【００７２】
次に、第２のホスト２Ｂの制御部２０Ｂが、その交換通知信号を受信すると、制御部２０Ｂは、半導体ストレージ装置１Ａとのデータの入出力を一旦停止し、交換準備完了信号を半導体ストレージ装置１Ｂに送る。
【００７３】
次に、半導体ストレージ装置１Ｂのメインコントローラ１２は、第１のホストＩ／Ｆ部１１Ａを介して、交換準備完了信号を受信すると、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂに割り当てられた記憶領域を交換するため、レジスタ１２０の範囲情報を書き換え、第２のホストＩ／Ｆ部１１Ｂを介して、第２のホスト２Ｂに記憶領域の交換を通知する交換完了信号を送る。
【００７４】
次に、第２のホスト２Ｂが、通信部２１Ｂを介してその交換完了信号を受信すると、第２の実施の形態と同様に、制御部２０Ｂは、第１の記憶領域に記憶されたデータの出力を半導体ストレージ装置１Ｂに要求する。
【００７５】
次に、半導体ストレージ装置１Ｂは、その要求に基づいて、メモリコントローラ１３０を介して第１の記憶領域に記憶されたデータを読み出し、その読み出したデータを第２のホスト２Ｂに読み出しデータとして送る。
【００７６】
第２のホスト２Ｂの制御部２０Ｂは、通信部２１Ｂを介してその読み出しデータを受信し、その受信した読み出しデータを記憶部２２に記憶する。
【００７７】
［第５の実施の形態］
図７は、本発明の第５の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。このストレージシステム１００Ｃは、第２から第４のいずれかの実施の形態に係る半導体ストレージ装置１Ｃに、データの先入れ先出しを行う１台のホスト２Ｃが接続されている。
【００７８】
ホスト２Ｃは、データを書き込むための書き込み用通信部２５、及びデータを読み出すための読み出し用通信部２６の２つの通信部を備え、それらの通信部は、半導体ストレージ装置１Ｃの第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂにそれぞれ接続されている。なお、書き込み用通信部２５及び読み出し用通信部２６は、第２の実施の形態に係る通信部２１を２つ設けたものでもよい。
【００７９】
制御部２０Ｃは、記憶部２２に記憶されている制御プログラム２２１に従って動作することにより、データ処理を行い、データ処理の際に中間データや処理済みデータ等の各種のデータを生成するデータ処理手段と、半導体ストレージ装置１Ｃの記憶領域をＦＩＦＯ（First In First Out）として、データ処理手段により生成された各種のデータの先入れ先出しを制御するデータ制御手段等として機能する。
【００８０】
（第５の実施の形態の動作）
次に、第５の実施の形態に係るストレージシステム１００Ｃの動作の一例を図８、図９を用いて、図１０に示すフローチャートに従って説明する。まず、ホスト２Ｃの制御部２０Ｃが、データ処理手段によりデータ処理を行い、その際中間データが生成されたとする。次に、データ処理手段は、その中間データを書き込みデータとしてデータ制御手段に送る。
【００８１】
次に、データ制御手段は、データ処理手段から書き込みデータを受信すると、データ制御手段は、書き込み用通信部２５を介して、書き込み信号及び書き込みデータを半導体ストレージ装置１Ｃに送る（Ｓ１００）。
【００８２】
次に、半導体ストレージ装置１Ｃのメインコントローラ１２は、第１のホストＩ／Ｆ部１１Ａを介してその書き込み信号及び書き込みデータを受信すると、メインコントローラ１２は、書き込みデータをレジスタ１２０に記憶されている範囲情報に基づいて、メモリカード１３に記憶する（Ｓ１０１）。
【００８３】
ここで、図８（ａ）は、レジスタ１２０に記憶されている範囲情報を示す。この範囲情報１２０ｆでは、第１のホストＩ／Ｆ部１１Ａに対応する第１の先頭アドレスに「５Ｍ＋１」、第１の末尾アドレスに「６Ｍ」と記憶されている。従って、メインコントローラ１２は、図８（ｂ）に示す記憶領域１３ｆを８分割した分割記憶領域の１つである第６の記憶領域１３２ｆに書き込みデータを記憶する。なお、図８（ｂ）における第１から第８の記憶領域１３２ａ〜１３２ｈには、それぞれ別個のデータを記憶することができる。
【００８４】
次に、ホスト２Ｃのデータ制御手段は、第１のホストＩ／Ｆ部１１Ａに対応する書き込み領域をインクリメントする（Ｓ１０１）。例えば、図８（ａ）に示すように第１のホストＩ／Ｆ部１１Ａに割り当てられた範囲情報に先頭アドレス「５Ｍ＋１」、末尾アドレス「６Ｍ」と記憶されている場合は、データ制御手段は、それらのアドレスに分割記憶領域の記憶容量Ｍを加算した先頭アドレス「６Ｍ＋１」、末尾アドレス「７Ｍ」、すなわち第７の記憶領域１３２ｇに範囲情報を書き換えるように、書き込み用通信部２５を介して半導体ストレージ装置１Ｃに制御信号（タイミング信号）を送る。
【００８５】
そして、メインコントローラ１２は、その制御信号を第１のホストＩ／Ｆ部１１Ａを介して受信すると、第１の先頭アドレスを「６Ｍ＋１」に、第１の末尾アドレスを「７Ｍ」に書き換える。ここで、図９（ａ）は、書き換えられた範囲情報１２０ｇを示す。なお、書き込み信号と制御信号とは、同時に送信されてもよいし、１つの信号で両方の信号を兼ねたものでもよい。
【００８６】
次に、データ制御手段は、インクリメントした書き込み領域が記憶領域の範囲外にあるか否か判断する（Ｓ１０３）。すなわち、図８（ｃ）に示すように第８の記憶領域１３２ｈの次に第１の記憶領域１３２ａが配置されるように記憶領域１３ｆをリング状に見たてた場合に、インクリメントする前の書き込み領域が、第８の記憶領域１３２ｈであるときは、第８の記憶領域１３２ｈをインクリメントした書き込み領域は、記憶領域の範囲外にあると判断する。
【００８７】
次に、データ制御手段が、インクリメントした書き込み領域が記憶領域の範囲外にあると判断した場合は（Ｓ１０３：Ｙｅｓ）、書き込み領域を初期領域、すなわち第１の記憶領域１３２ａに戻すため、範囲情報の先頭アドレスを「１」に、末尾アドレスを「Ｍ」に書き換えるように、ステップＳ１０１と同様に、半導体ストレージ装置１Ｃに制御信号を送る。（Ｓ１０４）。そして、メインコントローラ１２は、その制御信号を受信すると、第１のホストＩ／Ｆ部１１Ａに対応する範囲情報を初期領域を示すアドレスに書き換える。
【００８８】
上記ステップＳ１０３において、データ制御手段が、書き込み領域が記憶領域の範囲外にないと判断した場合は（Ｓ１０３：Ｙｅｓ）、書き込み領域を初期領域に戻さずに次のステップに進む。
【００８９】
次に、データ制御手段は、書き込み領域が読み出し領域を超えていないか否か判断する（Ｓ１０５）。すなわち、記憶領域１３ｆをリング状に見たてた場合に、書き込み領域が読み出し領域を超えて、データがまだ読み出されていない分割記憶領域に書き込みデータを上書きしないように確認するものである。例えば、範囲情報に次の書き込み領域の先頭アドレスに「５Ｍ＋１」、末尾アドレスに「６Ｍ」と記憶され、読み出し領域にも先頭アドレスに「５Ｍ＋１」、末尾アドレスに「６Ｍ」と記憶されている場合は、書き込み領域が読み出し領域を超えていると判断する。
【００９０】
次に、書き込み領域が読み出し領域を超えていない場合は（Ｓ１０５：Ｙｅｓ）、ステップＳ１００に戻り、データ制御手段は、次の書き込み信号がデータ処理手段から入力されるまで待機する。
【００９１】
その後、データ制御手段が、データ処理手段から次の書き込み要求を受信すると、上記と同様に、次の書き込み信号及び書き込みデータを半導体ストレージ装置１Ｃに送る（Ｓ１００）。そして、メインコントローラ１２は、その書き込み信号及び書き込みデータを受信すると、図９（ａ）に示す範囲情報１２０ｇに基づいて、第７の記憶領域１３２ｇにその書き込みデータを記憶する。
【００９２】
上記ステップＳ１０５において、書き込み領域が読み出し領域を超えている場合は（Ｓ１０５：Ｎｏ）、ステップＳ１００に戻らずに、データ制御手段は、読み出し領域がインクリメントされるまで待機する。
【００９３】
一方、ホスト２Ｃの制御部２０Ｃが、データ処理手段により処理すべきデータを取得するため、半導体ストレージ装置１Ｃに記憶された中間データの読み出しを要求したとする。次に、データ処理手段は、その読み出し要求をデータ制御手段に送る。
【００９４】
次に、データ制御手段は、データ処理手段から読み出し要求を受信すると、データ制御手段は、読み出し用通信部２６を介して、半導体ストレージ装置１Ｃに読み出し信号を送る（Ｓ２００）。なお、データ制御手段は、書き込み信号と読み出し信号とを同時に送信してもよいし、別のタイミングでそれぞれ送信してもよい。また、データ制御手段は、書き込み信号を連続して送信してもよいし、読み出し信号を連続して送信してもよい。
【００９５】
次に、半導体ストレージ装置１Ｃのメインコントローラ１２は、第２のホストＩ／Ｆ部１１Ｂを介して読み出し信号を受信すると、メインコントローラ１２は、範囲情報に基づいて、第２のホストＩ／Ｆ部１１Ｂに割り当てられた分割記憶領域に該当するメモリカード１３からデータを読み出す（Ｓ２０１）。
【００９６】
ここで、図８（ａ）に示すように、第２のホストＩ／Ｆ部１１Ｂの範囲情報に先頭アドレス「１」、末尾アドレス「Ｍ」と記憶されている場合は、それらのアドレスが示す記憶領域、すなわち図８（ｂ）に示す第１の記憶領域１３２ａからデータを読み出す。
【００９７】
次に、メインコントローラ１２は、その読み出したデータを読み出しデータとして、ホストＩ／Ｆ部１１Ｂを介してホスト２Ｃに送る。
【００９８】
次に、ホスト２Ｃのデータ制御手段が、その読み出しデータを受信すると、データ制御手段は、その読み出しデータをデータ処理手段に送る。
【００９９】
次に、データ制御手段は、第２のホストＩ／Ｆ部１１Ｂに対応する読み出し領域を、ステップＳ１０２と同様にインクリメントし（Ｓ２０２）、インクリメントした読み出し領域が記憶領域の範囲外にあるか否か判断する（Ｓ２０３）。
【０１００】
次に、データ制御手段が、インクリメントした読み出し領域が記憶領域の範囲外にあると判断した場合は（Ｓ２０３：Ｙｅｓ）、読み出し領域を初期領域に戻す（Ｓ２０４）。
【０１０１】
上記ステップＳ２０３において、データ制御手段が、書き込み領域が記憶領域の範囲外にないと判断した場合は（Ｓ２０３：Ｙｅｓ）、書き込み領域を初期領域に戻さずに、次のステップに進む。
【０１０２】
次に、データ制御手段は、読み出し領域が読み出し領域を超えていないか否か、ステップ１０５と同様に判断し（Ｓ２０５）、読み出し領域が書き込み領域を超えていない場合は（Ｓ２０５：Ｙｅｓ）、ステップＳ２００に戻り、データ制御手段は、次の読み出し信号がデータ処理手段から入力されるまで待機する。
【０１０３】
その後、データ制御手段が、データ処理手段から次の読み出し要求を受信すると、上記と同様に、次の読み出し信号を半導体ストレージ装置１Ｃに送る（Ｓ２００）。そして、メインコントローラ１２は、その読み出し信号を受信すると、図９（ａ）に示す範囲情報１２０ｇに基づいて、第２の記憶領域１３２ｂから読み出しデータを読み出して、ホスト２Ｃに送信する。
【０１０４】
上記ステップＳ２０５において、読み出し領域が書き込み領域を超えている場合は（Ｓ２０５：Ｎｏ）、ステップＳ２００に戻らずに、書き込み領域がインクリメントされるまで待機する。
【０１０５】
［第６の実施の形態］
図１１は、本発明の第６の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。このストレージシステム１００Ｄは、第１から第３のホストＩ／Ｆ部１１Ａ〜１１Ｃを有する半導体ストレージ装置１Ｄに、３台のホスト２Ｄ〜２Ｆがそれぞれ接続されている。
【０１０６】
第１のホスト２Ｄは、半導体ストレージ装置１Ｄにデータを書き込むための書き込み用通信部２５を備え、書き込み用通信部２５は、半導体ストレージ装置１Ｄの第１のホストＩ／Ｆ部１１Ａに接続されている。また、第２及び第３のホスト２Ｅ，２Ｆは、半導体ストレージ装置１Ｄのデータを読み出すための読み出し用通信部２６Ａ，２６Ｂをそれぞれ備え、それらの通信部は、半導体ストレージ装置１Ｄの第２及び第３のホストＩ／Ｆ部１１Ｂ，１１Ｃにそれぞれ接続されている。なお、ストレージシステム１００Ｄのその他の構成は、第５の実施の形態に係るストレージシステム１００Ｃと共通であるため、その説明を省略する。
【０１０７】
（第６の実施の形態の動作）
次に、第６の実施の形態に係るストレージシステム１００Ｄの動作の一例を図１２及び図１３を用いて説明する。まず、第１のホスト２Ｄが、書き込み用通信部２５を介して、第５の実施の形態と同様に生成手段により生成された書き込みデータを書き込み信号とともに半導体ストレージ装置１Ｄに送る。
【０１０８】
次に、半導体ストレージ装置１Ｄのメインコントローラ１２は、第１のホストＩ／Ｆ部１１Ａを介して書き込み信号及び書き込みデータを受信すると、その書き込みデータをレジスタ１２０に記憶されている範囲情報に基づいて、メモリカード１３に記憶する。
【０１０９】
ここで、図１２（ａ）は、レジスタ１２０に記憶されている範囲情報を示す。この範囲情報１２０ｈでは、第１のホストＩ／Ｆ部１１Ａに第６の記憶領域１３２ｆが割り当てられており、メインコントローラ１２は、図１２（ｂ）に示す第６の記憶領域１３２ｆに書き込みデータを記憶する。
【０１１０】
次に、第１のホスト２Ｄが、次の書き込み信号及び書き込みデータを半導体ストレージ装置１Ｄに送る場合は、前回書き込んだ分割記憶領域の次の分割記憶領域に書き込みデータが書き込まれるように範囲情報を書き換える制御信号を送る。また、前回書き込んだ分割記憶領域が、第８の記憶領域１３２ｈの場合には、第１のホスト２Ｄは、次の分割記憶領域が第１の記憶領域１３２ａになるように範囲情報を書き換える制御信号を送る。また、次の分割記憶領域にデータが書き込まれている場合は、第２及び第３のホスト２Ｅ，２Ｆがそのデータを読み出すまで、第１のホスト２Ｄは、書き込みデータの送信を待機する。
【０１１１】
ここで、図１３（ａ）は、書き換えられた範囲情報を示す。この範囲情報１２０ｉでは、第１のホストＩ／Ｆ部１１Ａに第７の記憶領域１３２ｇが割り当てられており、メインコントローラ１２は、次の書き込みデータを図１３（ｂ）に示す第７の記憶領域１３２ｇに記憶する。
【０１１２】
一方、第２及び第３のホスト２Ｅ，２Ｆのうち第２のホスト２Ｅが、読み出し用通信部２６Ａを介して、データの読み出し信号を半導体ストレージ装置１Ｄに送ったとする。なお、第３のホスト２Ｆが読み出し信号を送った場合も同様の動作を行う。
【０１１３】
次に、半導体ストレージ装置１Ｄのメインコントローラ１２は、第２のホストＩ／Ｆ部１１Ｂを介して読み出し信号を受信すると、範囲情報に基づいて、第２のホストＩ／Ｆ部１１Ｂに割り当てられた分割記憶領域に該当するメモリカード１３からデータを読み出す。
【０１１４】
ここで、図１２（ａ）の示す範囲情報１２０ｈでは、第２のホストＩ／Ｆ部１１Ｂに第１の記憶領域１３２ａが割り当てられており、メインコントローラ１２は、第１の記憶領域１３２ａからデータを読み出す。
【０１１５】
次に、メインコントローラ１２は、その読み出したデータを読み出しデータとして、第２のホストＩ／Ｆ部１１Ｂを介して第２のホスト２Ｅに送る。そして、第２のホスト２Ｅは、その読み出しデータを読み出し用通信部２６Ａを介して受信する。
【０１１６】
次に、第２のホスト２Ｅが、次の読み出し信号を半導体ストレージ装置１Ｄに送る場合は、前回読み出した分割記憶領域の次の分割記憶領域からデータを読み出すように範囲情報を書き換える制御信号を半導体ストレージ装置１Ｄに送る。
【０１１７】
また、前回読み出した分割記憶領域が、第８の記憶領域１３２ｈの場合には、第２のホスト２Ｅは、次の分割記憶領域が第１の記憶領域１３２ａになるように範囲情報を書き換える制御信号を送る。また、次の分割記憶領域にデータが書き込まれていない場合は、第１のホスト２Ｄがデータを書き込むまで、第２のホスト２Ｅは、読み出し信号の送信を待機する。さらに、第２のホスト２Ｅは、両者の間で次の分割記憶領域が重複しないように読み出し領域を制御する。
【０１１８】
ここで、図１３（ａ）に示す範囲情報１２０ｉでは、第２のホストＩ／Ｆ部１１Ａに第７の記憶領域１３２ｇが割り当てられており、メインコントローラ１２は、次の読み出しデータを図１３（ｂ）に示す第３の記憶領域１３２ｃから読み出す。
【０１１９】
［第７の実施の形態］
図１４は、本発明の第７の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。このストレージシステム１００Ｅは、第１から第４のホストＩ／Ｆ部１１Ａ〜１１Ｄを有する半導体ストレージ装置１Ｅに、書き込み用通信部２５Ａ〜２５Ｃを備える第１から第３のホスト２Ｄ〜２Ｆと、読み出し用通信部２６を第４のホスト２Ｇとを合わせた計４台のホストがそれぞれ接続されている。なお、ストレージシステム１００Ｅのその他の構成は、第６の実施の形態に係るストレージシステム１００Ｄと共通であるため、その説明を省略する。
【０１２０】
（第７の実施の形態の動作）
次に、第７の実施の形態に係るストレージシステム１００Ｅの動作の一例を図１５及び図１６を用いて説明する。まず、第１から第３のホスト２Ｄ〜２Ｆが、書き込み用通信部２５Ａ〜２５Ｂを介して、書き込みデータを書き込み信号とともに半導体ストレージ装置１Ｄに送る。
【０１２１】
次に、半導体ストレージ装置１Ｅのメインコントローラ１２は、第１から第３のホストＩ／Ｆ部１１Ａ〜１１Ｃを介して書き込み信号及び書き込みデータを受信すると、その書き込みデータをレジスタ１２０に記憶されている範囲情報に基づいて、メモリカード１３に記憶する。すなわち、図１５（ａ）の示す範囲情報１２０ｊに基づいて、メインコントローラ１２は、図１５（ｂ）に示す第４から第６の記憶領域１３２ｄ〜１３２ｆに書き込みデータをそれぞれ記憶する。
【０１２２】
次に、第１から第３のホスト２Ｄ〜２Ｆは、第６の実施の形態の動作と同様に、前回書き込んだ分割記憶領域の次の分割記憶領域に書き込み領域を書き換えて、前回書き込んだ分割記憶領域が、第８の記憶領域１３２ｈの場合には、第１の記憶領域１３２ａを書き込み領域とする制御信号を半導体ストレージ装置１Ｅに送る。また、次の書き込み領域にデータが書き込まれている場合は、第４のホスト２Ｇがそのデータを読み出すまで待機する。また、第１から第３のホスト２Ｄ〜２Ｆは、３者の間で次の分割記憶領域が重複しないように書き込み領域を制御する。
【０１２３】
ここで、図１６（ａ）は、書き換えられた範囲情報を示す。この範囲情報１２０ｋでは、第１から第３のホストＩ／Ｆ部１１Ａ〜１１Ｃに対する書き込み領域が、第７の記憶領域１３２ｇ、第８の記憶領域１３２ｈ、第１の記憶領域１３２ａにそれぞれ割り当てられている。従って、メインコントローラ１２は、第１から第３のホスト２Ｄ〜２Ｆから送られる次の書き込みデータを図１６（ｂ）に示す第７の記憶領域１３２ｇ、第８の記憶領域１３２ｈ、第１の記憶領域１３２ａにそれぞれ記憶する。
【０１２４】
一方、第４のホスト２Ｇが、読み出し用通信部２６を介して、データの読み出し信号を半導体ストレージ装置１Ｄに送った場合は、第６の実施の形態の動作と同様に、範囲情報に基づいてデータの読み出しを行う。
【０１２５】
［第８の実施の形態］
図１７は、本発明の第８の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。このストレージシステム１００Ｆは、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂを有する半導体ストレージ装置１Ｆに、書き込み用通信部２５を備える第１のホスト２Ｄと、読み出し用通信部２６を備える第２のホスト２Ｅとがそれぞれ接続されている。なお、ホストの数は、２つに限られず、１つ又は３つ以上でもよい。
【０１２６】
（第８の実施の形態の動作）
次に、第８の実施の形態に係るストレージシステム１００Ｆの動作の一例を図１８を用いて説明する。まず、第１のホスト２Ｄが、書き込み用通信部２５を介して、書き込み要求（データセット信号）とともに書き込みデータを半導体ストレージ装置１Ｄに送ったとする。
【０１２７】
次に、半導体ストレージ装置１Ｄのメインコントローラ１２は、第１のホストＩ／Ｆ部１１Ａを介して書き込みデータを受信すると、範囲情報に基づいて、その書き込みデータを複数のメモリカード１３からなる記憶領域全体に記憶する。
【０１２８】
ここで、図１８（ａ）は、範囲情報と記憶領域を示す。この範囲情報１２０ｍでは、第１のホストＩ／Ｆ部１１Ａに記憶領域全体が割り当てられており、メインコントローラ１２は、図１８（ｂ）に示すように、データ１からデータ８からなる書き込みデータを記憶領域全体に記憶する。
【０１２９】
次に、第２のホスト２Ｅが、読み出し用通信部２６を介して、データの読み出し信号を半導体ストレージ装置１Ｄに送る。
【０１３０】
次に、半導体ストレージ装置１Ｄのメインコントローラ１２は、第２のホストＩ／Ｆ部１１Ｂを介してその読み出し信号を受信すると、第２のホストＩ／Ｆ部１１Ｂに割り当てられた分割記憶領域に該当するメモリカード１３からデータを読み出す。すなわち、範囲情報１２０ｍでは、第２のホストＩ／Ｆ部１１Ｂに第１の記憶量記憶１３２ａが割り当てられているため、メインコントローラ１２は、第１の記憶領域１３２ａからデータを読み出す。
【０１３１】
次に、メインコントローラ１２は、その読み出したデータを読み出しデータとして、第２のホストＩ／Ｆ部１１Ｂを介して第２のホスト２Ｅに送る。そして、第２のホスト２Ｅは、その読み出しデータを読み出し用通信部２６を介して受信する。
【０１３２】
次に、第２のホスト２Ｅは、前回読み出した分割記憶領域の次の分割記憶領域からデータを読み出すように、範囲情報を書き換えるシフト信号を送る。次に、メインコントローラ１２は、そのシフト信号を受信すると、第２のホストＩ／Ｆ部１１Ｂに対応する範囲情報を書き換える。
【０１３３】
ここで、図１８（ｄ）は、書き換えられた範囲情報を示す。この範囲情報１２０ｎでは、第１の記憶領域１３２ａの次の分割記憶領域として、第２の記憶領域１３２ｂが第２のホストＩ／Ｆ部１１Ｂに割り当てられている。
【０１３４】
次に、半導体ストレージ装置１Ｄのメインコントローラ１２は、第２のホストＩ／Ｆ部１１Ｂを介して次の読み出し信号を受信すると、範囲情報１２０ｎに基づいて、図１８（ｄ）に示すように第２の記憶領域１３２ｂからデータを読み出す。なお、シフト信号と読み出し信号とは、同時に送信されてもよいし、１つの信号で両方の信号を兼ねたものでもよい。
【０１３５】
次に、メインコントローラ１２は、第８の記憶領域１３２ｈまで順次データを読み出すと、次の読み出し領域を第１の記憶領域１３２ａに書き換える。そして、第２のホスト２Ｅは、第１のホスト２Ｄが次のデータを記憶領域全体に書き込むまで待機する。
【０１３６】
次に、第１のホスト２Ｄが次のデータを記憶領域全体に書き込むと、第２のホスト２Ｅは、同様に第１の記憶領域１３２ａから順次データを読み出す。
【０１３７】
［他の実施の形態］
なお、本発明は、上記各実施の形態に限定されず、本発明の趣旨を逸脱しない範囲内で種々な変形が可能である。例えば、第２及び第４の実施の形態では、半導体ストレージ装置のメインコントローラ１２が、第１及び第２のホスト２Ａ，２Ｂから交換準備完了信号を受信すると、第１及び第２のホストＩ／Ｆ部１１Ａ，１１Ｂに割り当てられた記憶領域を交換するようにレジスタ１２０の範囲情報を書き換えたが、第１及び第２のホスト２Ａ，２Ｂの制御部２０Ａ，２０Ｂが、レジスタ１２０に記憶された範囲情報にアクセスして、記憶領域を交換するように範囲情報を書き換えてもよい。
【０１３８】
また、本発明の趣旨を逸脱しない範囲内で上記各実施の形態の構成要素を任意に組み合わせることができる。
【図面の簡単な説明】
【０１３９】
【図１】図１は、本発明の第１の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。
【図２】図２は、本発明の第２の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。
【図３】図３は、本発明の第５の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図３（ａ）は、記憶領域を２分割した場合、図３（ｂ）は、記憶領域に未使用領域（空き）を設けた場合、図３（ｃ）は、重複した記憶領域を設けた場合をそれぞれ示す図である。
【図４】図４は、本発明の第２の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図４（ａ）は、ストレージシステムが正常動作している場合、図４（ｂ）は、記憶領域を交換した場合をそれぞれ示す図である。
【図５】図５は、本発明の第３の実施の形態に係る第１及び第２のホストの表示部に表示される領域設定画面の一例を示す図である。
【図６】図６は、本発明の第４の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。
【図７】図７は、本発明の第５の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。
【図８】図８は、本発明の第５の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図８（ａ）は範囲情報を、図８（ｂ）は記憶領域を、図８（ｃ）はリング状にみなした記憶領域をそれぞれ示す図である。
【図９】図９は、本発明の第５の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図９（ａ）は書き換えられた範囲情報を、図９（ｂ）は記憶領域を、図９（ｃ）はリング状にみなした記憶領域をそれぞれ示す図である。
【図１０】図１０は、第５の実施の形態に係るストレージシステムの動作の一例を示すフローチャートである。
【図１１】図１１は、本発明の第６の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。
【図１２】図１２は、本発明の第６の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図１２（ａ）は範囲情報を、図１２（ｂ）は記憶領域を、図１２（ｃ）はリング状にみなした記憶領域をそれぞれ示す図である。
【図１３】図１３は、本発明の第６の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図１３（ａ）は書き換えられた範囲情報を、図１３（ｂ）は記憶領域を、図１３（ｃ）はリング状にみなした記憶領域をそれぞれ示す図である。
【図１４】図１４は、本発明の第７の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。
【図１５】図１５は、本発明の第７の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図１５（ａ）は範囲情報を、図１５（ｂ）は記憶領域を、図１５（ｃ）はリング状にみなした記憶領域をそれぞれ示す図である。
【図１６】図１６は、本発明の第７の実施の形態に係るストレージシステムの範囲情報及び記憶領域の一例を示し、図１６（ａ）は書き換えられた範囲情報を、図１６（ｂ）は記憶領域を、図１６（ｃ）はリング状にみなした記憶領域をそれぞれ示す図である。
【図１７】図１７は、本発明の第８の実施の形態に係るストレージシステムの概略の構成例を示すブロック図である。
【図１８】図１８は、本発明の第８の実施の形態に係るストレージシステムの範囲情報及び記憶領域を示す図である。
【符号の説明】
【０１４０】
１  ストレージ装置
１Ａ〜１Ｅ  半導体ストレージ装置
２Ａ〜２Ｇ  ホスト
１１Ａ，１１Ｂ  ホストＩ／Ｆ部
１２  メインコントローラ
１３  メモリカード
１３ａ〜１３ｋ，１３ｍ，１３ｎ，１３ｐ，１３ｑ  記憶領域
２０Ａ〜２０Ｃ  制御部
２１Ａ，２１Ｂ  通信部
２２Ａ，２２Ｂ  記憶部
２３Ａ，２３Ｂ  入力部
２４Ａ，２４Ｂ  表示部
２５，２５Ａ〜２５Ｃ  書き込み用通信部
２６，２６Ａ，２６Ｂ  読み出し用通信部
１００，１００Ａ〜１００Ｅ  ストレージシステム
１０１Ａ，１０１Ｂ  データ入出力部
１０２  第１の制御部
１０２ａ  範囲情報記憶部
１０３データ記憶部
１０４Ａ，１０４Ｂ  第２の制御部
１１０Ａ，１１０Ｂ  エラー検出部
１２０  レジスタ
１２０ａ〜１２０ｋ，１２０ｍ，１２０ｎ，１２０ｐ，１２０ｑ  範囲情報
１３０  メモリコントローラ
１３１  半導体メモリ
２２０  領域設定プログラム
２２１  制御プログラム
２４０  領域設定画面
２４１Ａ〜Ｃ  表示コマンド
２４２  設定コマンド
２４３  交換コマンド
【図１】
2008282345.tif 000003
【図２】
2008282345.tif 000004
【図３】
2008282345.tif 000005
【図４】
2008282345.tif 000006
【図５】
2008282345.tif 000007
【図６】
2008282345.tif 000008
【図７】
2008282345.tif 000009
【図８】
2008282345.tif 000010
【図９】
2008282345.tif 000011
【図１０】
2008282345.tif 000012
【図１１】
2008282345.tif 000013
【図１２】
2008282345.tif 000014
【図１３】
2008282345.tif 000015
【図１４】
2008282345.tif 000016
【図１５】
2008282345.tif 000017
【図１６】
2008282345.tif 000018
【図１７】
2008282345.tif 000019
【図１８】
2008282345.tif 000020