(57)【要約】【課題】１回の書き込みで複数のメモリデバイスに同一のデータを書き込むことができるメモリデバイスを提供することである。【解決手段】実施の形態のメモリデバイスは、カスケード判定部と、共有領域設定部と、書き込み完了通知部と、書き込み完了検知部とを有する。カスケード判定部は、自身が先頭のメモリデバイスか、最後尾のメモリデバイスか、あるいは、先頭及び最後尾のメモリデバイス以外かを判定する。共有領域設定部は、自身の空き領域を共有領域として設定するとともに、後段のメモリデバイスの全てにも前記共有領域を設定する。書き込み完了通知部は、先頭のメモリデバイスへ書き込み完了を通知するための書き込み完了ファイルを共有領域へ書き込む。書き込み完了検知部は、最後尾のメモリデバイスが共有領域へ書き込んだ書き込み完了ファイルを検知し、共有領域への書き込みが完了したことを検知する。【選択図】図４
2013152539.tif 000002
【特許請求の範囲】
【請求項１】
前段に接続されたメモリデバイスを認識する前段メモリ認識部と、
後段に接続されたメモリデバイスを認識する後段メモリ認識部と、
前記前段または前記後段に接続されたメモリデバイスに送信する所定のパケットを構成するパケット構成部と、
前記前段または前記後段に接続されたメモリデバイスから送信された前記所定のパケットを解析するパケット解析部と、
前記所定のパケットの解析結果に基づき、カスケード接続された複数のメモリデバイスのうち、自身が先頭のメモリデバイスか、最後尾のメモリデバイスか、あるいは、前記先頭及び前記最後尾のメモリデバイス以外かを判定するカスケード判定部と、
前記先頭のメモリデバイスと認識後、自身の空き領域を共有領域として設定するとともに、後段のメモリデバイスの全てにも前記共有領域を設定する共有領域設定部と、
前記最後尾のメモリデバイスと認識後、前記先頭のメモリデバイスへ書き込み完了を通知するための書き込み完了ファイルを前記共有領域へ書き込む書き込み完了通知部と、
前記最後尾のメモリデバイスが前記共有領域へ書き込んだ前記書き込み完了ファイルを検知し、前記共有領域への書き込みが完了したことを検知する書き込み完了検知部と、
を備えたことを特徴とするメモリデバイス。
【請求項２】
前記後段のメモリデバイスの全てを認識後、前記後段のメモリデバイスのリード領域を自身のリード領域として仮想的にホストデバイスへ表示するための仮想表示部を有することを特徴とする請求項１に記載のメモリデバイス。
【請求項３】
前記共有領域に書き込んだデータ量域を前記共有領域から前記リード領域へ変換する領域変換部を有することを特徴とする請求項２に記載のメモリデバイス。
【請求項４】
前段に接続されたメモリデバイスを認識し、
後段に接続されたメモリデバイスを認識し、
前記前段または前記後段に接続されたメモリデバイスに送信する所定のパケットを構成し、
前記前段または前記後段に接続されたメモリデバイスから送信された前記所定のパケットを解析し、
前記所定のパケットの解析結果に基づき、カスケード接続された複数のメモリデバイスのうち、自身が先頭のメモリデバイスか、最後尾のメモリデバイスか、あるいは、前記先頭及び前記最後尾のメモリデバイス以外かを判定し、
前記先頭のメモリデバイスと認識後、自身の空き領域を共有領域として設定するとともに、後段のメモリデバイスの全てにも前記共有領域を設定し、
前記最後尾のメモリデバイスと認識後、前記先頭のメモリデバイスへ書き込み完了を通知するための書き込み完了ファイルを前記共有領域へ書き込み、
前記最後尾のメモリデバイスが前記共有領域へ書き込んだ前記書き込み完了ファイルを検知し、前記共有領域への書き込みが完了したことを検知することを特徴とするメモリデバイス制御方法。
【請求項５】
前段に接続されたメモリデバイスを認識する前段メモリ認識手順と、
後段に接続されたメモリデバイスを認識する後段メモリ認識手順と、
前記前段または前記後段に接続されたメモリデバイスに送信する所定のパケットを構成するパケット構成手順と、
前記前段または前記後段に接続されたメモリデバイスから送信された前記所定のパケットを解析するパケット解析手順と、
前記所定のパケットの解析結果に基づき、カスケード接続された複数のメモリデバイスのうち、自身が先頭のメモリデバイスか、最後尾のメモリデバイスか、あるいは、前記先頭及び前記最後尾のメモリデバイス以外かを判定するカスケード判定手順と、
前記先頭のメモリデバイスと認識後、自身の空き領域を共有領域として設定するとともに、後段のメモリデバイスの全てにも前記共有領域を設定する共有領域設定手順と、
前記最後尾のメモリデバイスと認識後、前記先頭のメモリデバイスへ書き込み完了を通知するための書き込み完了ファイルを前記共有領域へ書き込む書き込み完了通知手順と、
前記最後尾のメモリデバイスが前記共有領域へ書き込んだ前記書き込み完了ファイルを検知し、前記共有領域への書き込みが完了したことを検知する書き込み完了検知手順と、
をコンピュータに実行させることを特徴とするメモリデバイス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、メモリデバイス、メモリデバイス制御方法及びメモリデバイス制御プログラムに関する。
【背景技術】
【０００２】
従来、複数の外部記憶装置に書き込みを一度に行う技術として、ミラーリングが存在する。このミラーリングは、同一の外部記憶装置を複数作成し、バックアップすることを目的としている。この場合、外部記憶装置に記憶されるデータの内容は全て同じである必要があり、書き込む対象以外のデータが異なる状態の外部記憶装置では、ミラーリングを行うことができない。
【０００３】
また、ＪＢＯＤ（Just Bunch Of Disks）のような制御方法をＵＳＢメモリフラッシュ等のメモリデバイスに適用し、カスケード接続された複数のメモリデバイスの容量を１つにまとめ、大容量の単一のメモリデバイスに見せかけるような制御方法が存在する。この場合、ホストデバイスから書き込んだデータ、特に、１つのメモリデバイスの容量を超えるようなデータは、複数のメモリデバイスにまたがって書き込まれることなり、複数のメモリデバイスに同一のデータが書き込まれることはない。
【０００４】
したがって、従来では、複数のメモリデバイスに同一のデータを書き込みたい場合、複数回の書き込みを行う必要があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３２３３２１号公報
【特許文献２】特開２００７−１７９０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施の形態の課題は、１回の書き込みで複数のメモリデバイスに同一のデータを書き込むことができるメモリデバイスを提供することである。
【課題を解決するための手段】
【０００７】
実施の形態のメモリデバイスは、前段メモリ認識部と、後段メモリ認識部と、パケット構成部と、パケット解析部と、カスケード判定部と、共有領域設定部と、書き込み完了通知部と、書き込み完了検知部とを有する。前段メモリ認識部は、前段に接続されたメモリデバイスを認識する。後段メモリ認識部は、後段に接続されたメモリデバイスを認識する。パケット構成部は、前段または後段に接続されたメモリデバイスに送信する所定のパケットを構成する。パケット解析部は、前段または後段に接続されたメモリデバイスから送信された所定のパケットを解析する。カスケード判定部は、所定のパケットの解析結果に基づき、カスケード接続された複数のメモリデバイスのうち、自身が先頭のメモリデバイスか、最後尾のメモリデバイスか、あるいは、先頭及び最後尾のメモリデバイス以外かを判定する。共有領域設定部は、先頭のメモリデバイスと認識後、自身の空き領域を共有領域として設定するとともに、後段のメモリデバイスの全てにも共有領域を設定する。書き込み完了通知部は、最後尾のメモリデバイスと認識後、先頭のメモリデバイスへ書き込み完了を通知するための書き込み完了ファイルを共有領域へ書き込む。書き込み完了検知部は、最後尾のメモリデバイスが共有領域へ書き込んだ書き込み完了ファイルを検知し、共有領域への書き込みが完了したことを検知する。
【図面の簡単な説明】
【０００８】
【図１】一実施の形態に係るメモリデバイスの構成を示す図である。
【図２】複数段にカスケード接続されたメモリデバイスを用いて構成される半導体システムの構成を示す図である。
【図３】本実施の形態の半導体システム３の他の構成例を示す図である。
【図４】カスケードメモリ制御部１３の詳細な構成を示す図である。
【図５】先頭のメモリデバイス１ａによるファイル管理について説明するための図である。
【図６】ホストデバイス２からのファイルの見え方について説明するための図である。
【図７】メモリデバイスの接続時の認識動作について説明するための図である。
【図８】メモリデバイスの接続時の認識動作の処理の流れの例を説明するためのフローチャートである。
【図９】メモリデバイスの接続時の認識動作の処理の流れの例を説明するためのフローチャートである。
【図１０】メモリデバイスの接続時の認識動作の処理の流れの例を説明するためのフローチャートである。
【図１１】先頭のメモリデバイス１ａの書き込み処理の流れの例を説明するためのフローチャートである。
【図１２】後続のメモリデバイス１ｂ及び１ｃの書き込み処理の流れの例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１０】
まず、図１に基づき、一実施の形態に係るメモリデバイスの構成について説明する。
【００１１】
図１は、一実施の形態に係るメモリデバイスの構成を示す図である。
【００１２】
図１に示すように、メモリデバイス１は、デバイスインターフェース（以下、デバイスＩ／Ｆという）１１と、ホストインターフェース（以下、ホストＩ／Ｆという）１２と、ソフトウエアとしてのカスケードメモリ制御部１３を備えた中央処理装置（以下、ＣＰＵという）１４と、接続部コントローラ１５と、不揮発性メモリ１６と、バス１７とを有して構成される。デバイスＩ／Ｆ１１、ホストＩ／Ｆ１２、ＣＰＵ１３、接続部コントローラ１５及び不揮発性メモリ１６は、互いにバス１７を介して接続されている。
【００１３】
デバイスＩ／Ｆ１１は、他のデバイスに接続された際に、自身がデバイス側であることを認識するためのＩ／Ｆである。また、ホストＩ／Ｆ１２は、他のデバイスが接続された際に、自身がホスト側であることを認識するためのＩ／Ｆである。
【００１４】
接続部コントローラ１５は、デバイスＩ／Ｆ１１及びホストＩ／Ｆ１２の接続状態を認識し、バス１７を介してＣＰＵ１４のカスケードメモリ制御部１３に送信する。なお、接続部コントローラ１５は、ＣＰＵ１３内に組み込まれていてもよい。また、デバイスＩ／Ｆ１１及びホストＩ／Ｆ１２の接続規格は、特に限定されることなく、ＵＳＢ、ＳＤ、Ｔｈｕｎｄｅｒｂｏｌｔ等の規格でもよいものとする。
【００１５】
本実施の形態では、図１に示すメモリデバイス１が複数段にカスケード接続されて用いられる。例えば、後述する図２では、メモリデバイス１が３段にカスケード接続されている。なお、図２の例では、３段にカスケード接続されたメモリデバイスをメモリデバイス１ａ、１ｂ及び１ｃと記載しているが、メモリデバイス１ａ、１ｂ及び１ｃは、メモリデバイス１と同様の構成である。メモリデバイス１ａのホストＩ／Ｆ１２には、後段のメモリデバイス１ｂのデバイスＩ／Ｆ１１が接続される。また、メモリデバイス１ｂのホストＩ／Ｆ１２には、後段のメモリデバイス１ｃのデバイスＩ／Ｆ１１が接続されることで、メモリデバイス１ａ〜１ｃがカスケード接続される。そして、メモリデバイス１ａのデバイスＩ／Ｆ１１をホストデバイス２（図２参照）に差し込み、接続することで、ホストデバイス２、メモリデバイス１ａ、１ｂ及び１ｃ間でデータの送受信を行う。
【００１６】
不揮発性メモリ１６は、書き込み及び読み出し可能なメモリ領域であり、ホストデバイス２から送信されたデータを記憶する。また、不揮発性メモリ１６からは、ホストデバイス２の制御により、記憶したデータの読み出しが行われる。
【００１７】
カスケードメモリ制御部１３は、カスケード接続されたメモリデバイス１ａ〜１ｃ（図２参照）の制御を行う。なお、カスケードメモリ制御部１３の詳細な構成については、後述する図４を用いて説明する。
【００１８】
ここで、複数段にカスケード接続されたメモリデバイスを用いて構成される半導体システムの構成について説明する。
【００１９】
図２は、複数段にカスケード接続されたメモリデバイスを用いて構成される半導体システムの構成を示す図である。
【００２０】
図２に示すように、半導体システム３は、３つのメモリデバイス１ａ、１ｂ及び１ｃと、ホストデバイス２とを備えて構成されている。３つのメモリデバイス１ａ、１ｂ及び１ｃは、３段にカスケード接続されており、メモリデバイス１ａの後段にメモリデバイス１ｂが接続され、メモリデバイス１ｂの後段にメモリデバイス１ｃが接続されている。そして、先頭のメモリデバイス１ａは、ホストデバイス２に接続されている。
【００２１】
ホストデバイス２は、パーソナルコンピュータであるが、これに限定されることなく、例えば、デジタルカメラあるいはミュージックプレーヤ等であってもよい。また、各メモリデバイス１ａ〜１ｃへの電力供給については、ホストデバイス２に接続されているときは、各メモリデバイス１ａ〜１ｃには正常動作をするために十分な電力が供給されているものとする。
【００２２】
なお、本実施の形態では、３段にカスケード接続されたメモリデバイス１ａ、１ｂ及び１ｃの構成について説明するが、このような構成に限定されるものではない。例えば、半導体システム３は、３段未満、あるいは、４段以上のメモリデバイスを有する構成であってもよい。また、メモリデバイス１ａ、１ｂ及び１ｃのカスケード接続の順序は、図２の順序に限定されることなく、他の順序であってもよい。このような半導体システム３の他の構成について図３を用いて説明する。
【００２３】
図３は、本実施の形態の半導体システム３の他の構成例を示す図である。なお、図３において図２と同様の構成については、同一の符号を付して説明を省略する。
【００２４】
図３（ａ）の半導体システム３ａは、６つのメモリデバイス１ａ〜１ｆを有する構成例である。６つのメモリデバイス１ａ〜１ｆは、６段にカスケード接続されており、先頭から順にメモリデバイス１ａ、１ｂ、１ｃ、１ｄ、１ｅ、１ｆとカスケード接続される。半導体システム３ａは、ホストデバイス２に先頭のメモリデバイス１ａが接続されて構成される。
【００２５】
また、図３（ｂ）の半導体システム３ｂは、カスケード接続されるメモリデバイスの順序を変更した構成例である。半導体システム３ｂは、４つのメモリデバイス１ａ、１ｃ、１ｅ及び１ｆを有しており、メモリデバイス１ａ、１ｃ、１ｅ及び１ｆのカスケード接続の順序は、先頭から順にメモリデバイス１ｃ、１ｆ、１ａ、１ｅとなっている。半導体システム３ｂは、ホストデバイス２に先頭のメモリデバイス１ｃが接続されて構成される。
【００２６】
次に、カスケード接続されたメモリデバイス１ａ〜１ｃの制御を行うカスケードメモリ制御部１３の詳細な構成について説明する。
【００２７】
図４は、カスケードメモリ制御部１３の詳細な構成を示す図である。
【００２８】
図４に示すように、カスケードメモリ制御部１３は、前段メモリ認識部２１と、後段メモリ認識部２２と、パケット送信部２３と、パケット受信部２４と、パケット解析部２５と、パケット構成部２６と、ファイルシステム管理部２７と、カスケード判定部２８と、共有領域設定部２９と、仮想表示部３０と、書き込み完了通知部３１と、書き込み完了検知部３２と、領域変換部３３とを有して構成されている。このカスケードメモリ制御部１３は、図示しない記憶部に記憶されているカスケードメモリ制御プログラムをＣＰＵ１４で実行することにより構成される。なお、メモリデバイス１ａ〜１ｃが、このように構成されるカスケードメモリ制御部１３を有する構成であるが、これに限定されることなく、例えばホストデバイス２がカスケードメモリ制御部１３を有する構成であってもよい。
【００２９】
前段メモリ認識部２１は、接続部コントローラ１５からの接続状態に基づき、前段にメモリデバイスが接続されているか否かを認識する。後段メモリ認識部２２は、接続部コントローラ１５からの接続状態に基づき、後段にメモリデバイスが接続されているか否かを認識する。例えば、図２の例では、メモリデバイス１ｂの前段のメモリデバイスは、メモリデバイス１ａであり、後段のメモリデバイスは、メモリデバイス１ｃである。
【００３０】
パケット送信部２３は、前段のメモリデバイスまたは後段のメモリデバイスに所定のパケットを送信する。所定のパケットは、後述するが、識別パケット、応答パケット、完了パケット及び書き込み完了パケット等である。識別パケット及び書き込み完了パケットは、前段のメモリデバイスから後段のメモリデバイスに送信される。一方、応答パケット及び完了パケットは、後段のメモリデバイスから前段のメモリデバイスに送信される。
【００３１】
パケット受信部２４は、前段のメモリデバイスまたは後段のメモリデバイスから送信された所定のパケットを受信する。パケット解析部２５は、パケット受信部２４で受信した所定のパケットの内容を解析する。パケット構成部２６は、パケット送信部２３で送信する所定のパケットを構成する。
【００３２】
ファイルシステム管理部２７は、ファイルシステムの管理を行う。カスケード判定部２８は、カスケード接続されているメモリデバイス１ａ〜１ｃの接続判定を行う。共有領域設定部２９は、後述するように、データの書き込みを行う書き込み専用の共有領域を各メモリデバイス１ａ〜１ｃに設定する。
【００３３】
仮想表示部３０は、ホストデバイス２に対して、後続のメモリデバイス１ｂ及び１ｃのリード領域を、自身の保持するように仮想的に表示する。すなわち、メモリデバイス１ａは、自身が保持するリード領域４１ａに加え、後続のメモリデバイス１ｂ及び１ｃがそれぞれ保持するリード領域４１ｂ及び４１ｃを仮想的にメモリデバイス１ａのファイルのように見せる。
【００３４】
図５は、先頭のメモリデバイス１ａによるファイル管理について説明するための図であり、図６は、ホストデバイス２からのファイルの見え方について説明するための図である。
【００３５】
図５に示すように、共有領域設定部２９の制御により、共有領域４０が各メモリデバイス１ａ〜１ｃに設定される。そして、ホストデバイス２からは、仮想表示部３０からの制御により、図６に示すように、書き込み専用の共有領域４０と、リード領域４１としてメモリデバイス１ａ〜１ｃのリード領域４１ａ〜４１ｃとが見えるようになる。これにより、ホストデバイス２からは、いずれのメモリデバイス１ａ〜１ｃのデータも読み出すことができるようにしている。
【００３６】
また、ホストデバイス２は、共有領域４０にデータを書き込みことで、１回の書き込みで複数のメモリデバイス１ａ〜１ｃの共有領域４０に同一のデータを書き込むことができる。ホストデバイス２から共有領域４０にデータの書き込みが指示されると、先頭のメモリデバイス１ａは、共有領域４０にデータの書き込みを行う。書き込み完了通知部３１は、ホストデバイス２からのデータを共有領域４０に書き込みが完了すると、書き込みが完了したことを後段のメモリデバイス１ｂに通知する。この場合、パケット構成部２６において書き込みが完了したことを示す書き込み完了パケットを構成し、パケット送信部２３で後段のメモリデバイス１ｂに送信する。
【００３７】
後段のメモリデバイス１ｂは、書き込み完了パケットを受信すると、自身の共有領域４０にデータの書き込みを行い、書き込み完了パケットを後段のメモリデバイス１ｃに送信する。最後尾のメモリデバイス１ｃも同様に、書き込み完了パケットを受信すると、自身の共有領域４０にデータの書き込みを行う。
【００３８】
書き込み完了検知部３２は、最後尾のメモリデバイス１ｃがホストデバイス２からのデータの書き込みが完了したことを検知する。最後尾のメモリデバイス１ｃは、図５に示すように、共有領域４０にデータの書き込みが完了すると、自身の共有領域４０に書き込み完了ファイル４２を書き込む。先頭のメモリデバイス１ａは、この共有領域４０に書き込み完了ファイル４２が書き込まれたことを認識することで、カスケード接続された全てのメモリデバイス１ａ〜１ｃでデータの書き込みが完了したことを検知する。
【００３９】
領域変換部３３は、全てのメモリデバイス１ａ〜１ｃにおいてデータの書き込みが完了すると、データが書き込まれた共有領域４０をリード領域４１に変換し、各リード領域４１ａ〜４１ｃを更新する。これにより、ホストデバイス２は、共有領域４０に書き込まれたデータの読み出しが可能となる。
【００４０】
ここで、このように構成された半導体システム３の動作について説明する。まず、メモリデバイスの接続時の認識動作について説明する。
【００４１】
図７は、メモリデバイスの接続時の認識動作について説明するための図である。なお、図７の説明では、メモリデバイス１ａ〜１ｎがカスケード接続されている場合について説明する。
【００４２】
まず、メモリデバイス１ａ〜１ｎがカスケード接続され、メモリデバイス１ａがホストデバイス２に接続される。ホストデバイス２の電源が投入されることにより、カスケード接続されたメモリデバイス１ａ〜１ｎに順次、電源が投入される。そして、カスケード接続されたメモリデバイス１ａ〜１ｎがホストデバイス２に接続されると、例えば、ＵＳＢメモリと同様の認識方法により、メモリデバイス１ａがホストデバイス２に認識される。
【００４３】
次に、メモリデバイス１ａは、ホストＩ／Ｆ１２にメモリデバイス、ここでは、メモリデバイス１ｂが接続されていることを認識する。具体的には、メモリデバイス１ａは、カスケードメモリ制御部１３の後段メモリ認識部２２により、メモリデバイス１ｂを認識する。このように後段メモリ認識部２２により後段のメモリデバイス１ｂを認識すると、メモリデバイス１ａは、自身の状態を認識するために、後段のメモリデバイス１ｂに認識パケットを送信する。具体的には、カスケードメモリ制御部１３のパケット構成部２６により認識パケットを構成し、パケット送信部２３により後段のメモリデバイス１ｂに認識パケットを送信する。後続のメモリデバイス１ｂ〜１ｍにおいても同様に、後段のメモリデバイスの認識及び認識パケットの送信が行われる。
【００４４】
そして、前段のホストＩ／Ｆ１２に認識されてから所定の秒数以内（適宜設定可能）に認識パケットを受信しなかったメモリデバイス、ここでは、メモリデバイス１ａは、ホストデバイス２に接続されていると認識し、カスケード接続されているメモリデバイス１ａ〜１ｎの先頭であると設定される。
【００４５】
また、認識パケットを受信したメモリデバイス１ｂは、前段のメモリデバイス１ａに応答パケットを送信する。具体的には、メモリデバイス１ｂでは、カスケードメモリ制御部１３のパケット受信部２４で認識パケットを受信し、パケット解析部２５で受信した認識パケットを解析する。そして、カスケードメモリ制御部１３は、認識パケットを受信したことを認識すると、パケット構成部２６で応答パケットを構成し、パケット送信部２３で前段のメモリデバイス１ａに応答パケットを送信する。後続のメモリデバイス１ｃ〜１ｎにおいても同様に、前段のメモリデバイスに応答パケットの送信が行われる。
【００４６】
そして、応答パケットを前段のメモリデバイスに送信してから所定の秒数以内（適宜設定可能）に応答パケットを受信しなかったメモリデバイス、ここでは、メモリデバイス１ｎは、カスケード接続されているメモリデバイス１ａ〜１ｎの最後尾であると設定される。最後尾と設定されたメモリデバイス１ｎでは、カスケードメモリ制御部１３のパケット構成部２６により完了パケットを構成し、パケット送信部２３により前段のメモリデバイス１ｍに完了パケットを送信する。完了パケットを受信したメモリデバイスは、順次前段のメモリデバイスに完了パケットを送信し、先頭のメモリデバイス１ａが完了パケットを受信すると、接続時の認識動作が完了する。
【００４７】
次に、図８〜図１０を用いて、メモリデバイスの接続時の認識動作の処理の流れについて説明する。
【００４８】
図８〜図１０は、メモリデバイスの接続時の認識動作の処理の流れの例を説明するためのフローチャートである。
【００４９】
まず、デバイスＩ／Ｆ１１を用いて前段のデバイスとの認識が完了すると、ホストＩ／Ｆ１２にメモリデバイスが接続されているか否かが判定される（ステップＳ１）。ホストＩ／Ｆ１２にメモリデバイスが接続されていないと判定された場合、ＮＯとなり、ステップＳ５に進む。一方、ホストＩ／Ｆ１２にメモリデバイスが接続されていると判定された場合、ＹＥＳとなり、後段のメモリデバイスを認識し（ステップＳ２）、認識が完了したか否かが判定される（ステップＳ３）。認識が完了していないと判定された場合、ＮＯとなり、ステップＳ２に戻り、同様の処理を繰り返す。一方、認識が完了したと判定された場合、ＹＥＳとなり、ホストＩ／Ｆ１２に対して識別パケットを送信し、ｔ＝０、Ｔ＝任意の値を設定する（ステップＳ４）。
【００５０】
次に、識別パケットを受信したか否かが判定される（ステップＳ５）。識別パケットを受信したと判定された場合、ＹＥＳとなり、図９の処理に進む。一方、識別パケットを受信していないと判定された場合、ＮＯとなり、ｔ＝ｔ＋１が実行され（ステップＳ６）、ｔ＜Ｔか否かが判定される（ステップＳ７）。ｔ＜Ｔと判定された場合、ＹＥＳとなり、ステップＳ５に戻り、同様の処理を繰り返す。一方。ｔ＜Ｔでないと判定された場合、ＮＯとなり、先頭のメモリデバイスと設定し（ステップＳ８）、図１０の処理に進む。
【００５１】
次に、図８のステップＳ５において、識別パケットを受信したと判定された場合、図９に移り、前段のメモリデバイスに対して応答パケットを送信し、ｔ＝０、Ｔ＝任意の値を設定する（ステップＳ１１）。次に、前段のメモリデバイスに対して応答パケットを送信すると、後段のメモリデバイスからの応答パケットを受信したか否かが判定される（ステップＳ１２）。応答パケットを受信していないと判定された場合、ＮＯとなり、ｔ＝ｔ＋１が実行され（ステップＳ１３）、ｔ＜Ｔか否かが判定される（ステップＳ１４）。ｔ＜Ｔと判定された場合、ＹＥＳとなり、ステップＳ１２に戻り、同様の処理を繰り返す。一方。ｔ＜Ｔでないと判定された場合、ＮＯとなり、最後尾のメモリデバイスと設定する（ステップＳ１５）。そして、完了パケットを前段のメモリデバイスへ送信し（ステップＳ１６）、処理を終了する。
【００５２】
一方、ステップＳ１２において、応答パケットを受信したと判定された場合、ＹＥＳとなり、完了パケットを受信したか否かが判定される（ステップＳ１７）。完了パケットを受信していないと判定された場合、ＮＯとなり、ステップＳ１７に戻り、同様の処理を繰り返す。一方、完了パケットを受信したと判定された場合、ＹＥＳとなり、前段のメモリデバイスへ完了パケットを送信し、処理を終了する。
【００５３】
次に、図８のステップＳ８において、先頭のメモリデバイスと設定されると、図１０に移り、応答パケットを受信したか否かが判定される（ステップＳ２１）。応答パケットを受信していないと判定された場合、ＮＯとなり、ステップＳ２１に戻り、同様の処理を繰り返す。一方、応答パケットを受信したと判定された場合、ＹＥＳとなり、完了パケットを受信したか否かが判定される（ステップＳ２２）。完了パケットを受信していないと判定された場合、ＮＯとなり、ステップＳ２２に戻り、同様の処理を繰り返す。一方、完了パケットを受信したと判定された場合、ＹＥＳとなり、後続のメモリデバイスのリード領域を仮想的に自分のリード領域にセットし、ホストデバイス２へ表示する（ステップＳ２３）。最後に、書き込み専用の共有領域４０を各メモリデバイスにセットし（ステップＳ２４）、処理を終了する。
【００５４】
次に、メモリデバイス１ａ〜１ｃの書き込み処理について説明する。まず、先頭のメモリデバイス１ａの書き込み処理について説明する。
【００５５】
図１１は、先頭のメモリデバイス１ａの書き込み処理の流れの例を説明するためのフローチャートである。
【００５６】
まず、ホストデバイス２から共有領域４０に書き込みが実施されると、書き込みデータが空き領域より小さいか否かが判定される（ステップＳ３１）。書き込みデータが空き領域より大きいと判定された場合、ＮＯとなり、エラーを返し（ステップＳ３２）、処理を終了する。一方、書き込みデータが空き領域より小さいと判定された場合、ＹＥＳとなり、共有領域４０へ書き込みが実行される（ステップＳ３３）。
【００５７】
次に、ホストＩ／Ｆ１２にメモリデバイスが接続されているか否かが判定される（ステップＳ３４）。ホストＩ／Ｆ１２にメモリデバイスが接続されていないと判定された場合、共有領域４０内の書き込みデータをリード領域へ変換し（ステップＳ３５）、処理を終了する。一方、ホストＩ／Ｆ１２にメモリデバイスが接続されていると判定された場合、ＹＥＳとなり、後段のメモリデバイスへ書き込み完了パケットを送信する（ステップＳ３６）。
【００５８】
次に、共有領域４０に書き込み完了ファイル４２があるか否かが判定される（ステップＳ３７）。共有領域４０に書き込み完了ファイル４２がないと判定された場合、ＮＯとなり、ステップＳ３７に戻り、同様の処理を繰り返す。一方。共有領域４０に書き込み完了ファイル４２があると判定された場合、ＹＥＳとなり、先頭のメモリデバイス１ａが書き込み完了をホストデバイス２へ送信する（ステップＳ３８）。そして、書き込み完了ファイル４２を削除し（ステップＳ３９）、共有領域４０内の書き込みデータをリード領域へ変換する（ステップＳ４０）。最後に、リード領域を更新し（ステップＳ４１）、処理を終了する。
【００５９】
次に、後続のメモリデバイス１ｂ及び１ｃの書き込み処理について説明する。
【００６０】
図１２は、後続のメモリデバイス１ｂ及び１ｃの書き込み処理の流れの例を説明するためのフローチャートである。
【００６１】
先頭のメモリデバイス１ａにおいて共有領域４０に書き込みが実施されると、書き込み完了パケットを受信したか否かが判定される（ステップＳ５１）。書き込み完了パケットを受信していないと判定された場合、ＮＯとなり、ステップＳ５１に戻り、同様の処理を繰り返す。一方、書き込み完了パケットを受信したと判定された場合、ＹＥＳとなり、共有領域４０への書き込みを検知する（ステップＳ５２）。
【００６２】
次に、書き込みデータが空き領域より小さいか否かが判定される（ステップＳ５３）。書き込みデータが空き領域より大きいと判定された場合、ＮＯとなり、ステップＳ５５に進む。一方、書き込みデータが空き領域より小さいと判定された場合、ＹＥＳとなり、書き込みを実行する（ステップ５４）。
【００６３】
次に、ホストＩ／Ｆ１２にメモリデバイスが接続されているか否かが判定される（ステップＳ５５）。ホストＩ／Ｆ１２にメモリデバイスが接続されていると判定された場合、ＹＥＳとなり、後段のメモリデバイスへ書き込み完了パケットを送信し（ステップＳ５６）、処理を終了する。一方、ホストＩ／Ｆ１２にメモリデバイスが接続されていないと判定された場合、ＮＯとなり、共有領域４０に書き込み完了ファイル４２を書き込み（ステップＳ５７）、処理を終了する。
【００６４】
以上のように、メモリデバイス１は、カスケードメモリ制御部１３の前段メモリ認識部２１及び後段メモリ認識部２２により、前段及び後段に接続されたメモリデバイスを認識し、カスケード判定部２８によりカスケード接続されたメモリデバイスを認識する。そして、メモリデバイス１は、カスケードメモリ制御部１３の共有領域設定部２９によりカスケード接続された全てのメモリデバイスに書き込み専用の共有領域４０を設定し、共有領域４０へのデータの書き込みにより全てのメモリデバイスへデータの書き込みを行うようにした。さらに、メモリデバイス１は、最後尾のメモリデバイス１ｃがデータの書き込みを完了すると、カスケードメモリ制御部１３の書き込み完了通知部３１の制御により共有領域４０へ書き込み完了ファイル４２を書き込む。そして、メモリデバイス１は、カスケードメモリ制御部１３の書き込み完了検知部３２によりこの書き込み完了ファイル４２を検知することで、全てのメモリデバイス１ａ〜１ｃにデータの書き込みが完了したことを検知する。この結果、メモリデバイス１は、１回の書き込みでカスケード接続された全てのメモリデバイスに同一のデータを書き込むことができる。
【００６５】
よって、本実施の形態のメモリデバイスによれば、１回の書き込みで複数のメモリデバイスに同一のデータを書き込むことができる。
【００６６】
なお、本明細書における各「部」は、実施の形態の各機能に対応する概念的なもので、必ずしも特定のハードウエアやソフトウエア・ルーチンに１対１には対応しない。従って、本明細書では、以下、実施の形態の各機能を有する仮想的回路ブロック（部）を想定して実施の形態を説明した。また、本実施の形態における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００６７】
なお、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムコードがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明の実施の形態のメモリデバイスを実現することができる。
【００６８】
本発明の実施の形態を説明したが、この実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６９】
１ａ〜１ｆ…メモリデバイス、２…ホストデバイス、３，３ａ、３ｂ…半導体システム、１１…デバイスＩ／Ｆ、１２…ホストＩ／Ｆ、１３…カスケードメモリ制御部、１４…ＣＰＵ、１５…接続部コントローラ、１６…不揮発性メモリ、１７…バス、２１…前段メモリ認識部、２２…後段メモリ認識部、２３…パケット送信部、２４…パケット受信部、２５…パケット解析部、２６…パケット構成部、２７…ファイルシステム管理部、２８…カスケード判定部、２９…共有領域設定部、３０…仮想表示部、３１…書き込み完了通知部、３２…書き込み完了検知部、３３…領域変換部、４０…共有領域、４１、４１ａ〜４１ｃ…リード領域、４２…書き込み完了ファイル。
【図１】
2013152539.tif 000003
【図２】
2013152539.tif 000004
【図３】
2013152539.tif 000005
【図４】
2013152539.tif 000006
【図５】
2013152539.tif 000007
【図６】
2013152539.tif 000008
【図７】
2013152539.tif 000009
【図８】
2013152539.tif 000010
【図９】
2013152539.tif 000011
【図１０】
2013152539.tif 000012
【図１１】
2013152539.tif 000013
【図１２】
2013152539.tif 000014