(57)【特許請求の範囲】
【請求項１】
不揮発性の記憶領域と、
第１のホストデバイスに接続される第１のインタフェースと、
無線通信を介して第２のホストデバイスに接続される第２のインタフェースと、
前記第２のホストデバイスが前記第２のインタフェースを介して、前記記憶領域にデータを書き込む前に、前記第２のホストデバイスから供給されるコマンドに基づいて、前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースを制御する制御部と、
を備え、
前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースが制御されている場合に、前記第１のホストデバイスが、前記記憶領域にデータの書き込み動作を行うと、前記第１のインタフェースは、前記第１のホストデバイスにエラーを通知し、
前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースが制御されている場合に、前記第１のホストデバイスが、前記記憶領域からデータの読み出し動作を行うと、前記記憶領域は、前記第１のホストデバイスに、前記第２のホストデバイスが書き込みを行っていない領域のデータを送信することを特徴とするメモリシステム。
【請求項２】
不揮発性の記憶領域と、
第１のホストデバイスに接続される第１のインタフェースと、
無線通信を介して第２のホストデバイスに接続される第２のインタフェースと、
前記第２のホストデバイスが前記第２のインタフェースを介して、前記記憶領域にデータを書き込む際、前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースを制御する制御部と、
を備え、
前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースが制御されている場合に、前記第１のホストデバイスが、前記記憶領域からデータの読み出し動作を行うと、前記記憶領域は、前記第１のホストデバイスに、前記第２のホストデバイスが書き込みを行っていない領域のデータを送信する
ことを特徴とするメモリシステム。
【請求項３】
前記制御部は、前記記憶領域にデータを書き込む前に、前記第２のホストデバイスから供給されるコマンドに基づいて、前記第１のインタフェースを制御することを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースが制御されている場合に、前記第１のホストデバイスが、前記記憶領域にデータの書き込み動作を行うと、前記第１のインタフェースは、前記第１のホストデバイスにエラーを通知することを特徴とする請求項２または３に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
近年、無線通信機能や、無線ＬＡＮ機能を備えたＳＤカードが開発されている。このようなＳＤカードは、無線ＬＡＮ機能を活用することで、無線通信ネットワークとの接続が可能となり、無線通信ネットワークを介してＳＤカード内に格納されたファイルをクライアントに転送する事等が可能となる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Part 1 Physical Layer Simplified Specification Ver3.01  May 18, 2010
【非特許文献２】Part E1 SDIO Simplified Specification Ver2.00  Feb. 8, 2007
【発明の概要】
【発明が解決しようとする課題】
【０００４】
高品質なメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態のメモリシステムは、不揮発性の記憶領域と、第１のホストデバイスに接続される第１のインタフェースと、無線通信を介して第２のホストデバイスに接続される第２のインタフェースと、前記第２のホストデバイスが前記第２のインタフェースを介して、前記記憶領域にデータを書き込む際、前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースを制御する制御部と、を備え、前記第１のホストデバイスが前記記憶領域にデータを書き込めないように前記第１のインタフェースが制御されている場合に、前記第１のホストデバイスが、前記記憶領域からデータの読み出し動作を行うと、前記記憶領域は、前記第１のホストデバイスに、前記第２のホストデバイスが書き込みを行っていない領域のデータを送信する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係るメモリカードと、ホストデバイスと、クライアントデバイスとの接続関係を模式的に示したブロック図である。
【図２】図２は、実施形態に係るメモリカードの基本的な構成を模式的に示した機能的なブロック図である。
【図３】図３は、実施形態に係るメモリカードのクライアントデバイスからのアップロードに対する基本的な動作を示したフローチャートである。
【発明を実施するための形態】
【０００７】
以下に、実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【０００８】
（実施形態）
まず図１及び図２を用いて、本実施形態に係る無線ＬＡＮ機能を備えたＳＤカード等のメモリカード１００の基本的な構成について説明する。図１は、本実施形態に係るメモリカード１００と、ホストデバイス２００と、クライアントデバイス３００との接続関係を模式的に示した図である。図２は、本実施形態に係るメモリカード１００の基本的な構成を模式的に示した機能的なブロック図である。
【０００９】
＜構成＞
＜無線ＬＡＮ対応ＳＤカードの基本的な使用方法＞
図１に示すように、メモリカード１００は、ホストデバイス２００に装着される。そして、メモリカード１００は、無線通信ネットワークを介してクライアントデバイス３００に接続される。ここで、メモリカード１００は、例えば無線ＬＡＮを備えたＳＤカードであり、ホストデバイス２００は、例えばデジタルカメラであり、クライアントデバイス３００は例えばパーソナルコンピュータや、携帯電話である。
【００１０】
メモリカード１００は、ホストデバイス２００と共に使用することにより、無線通信ネットワークを介してクライアントデバイスに接続し、写真データをホストデバイス２００からこれらクライアントデバイス３００に転送することができる。
【００１１】
＜無線ＬＡＮ対応ＳＤカードの基本的な構成＞
次に、図２に示すように、無線ＬＡＮ機能を備えたメモリカード（以下、単にメモリカードと称す）１００は、図示していないホストデバイス２００とＳＤインタフェースを介して接続される。メモリカード１００は、ホストデバイス２００に接続されたときに電源供給を受けて動作し、ホストデバイスからのアクセスに応じた処理を行う。
【００１２】
メモリカード１００は、例えばＳＤインタフェース（Ｉ／Ｆ）１２０、ＳＤコントローラ１３０、ＮＡＮＤ型フラッシュメモリ（単にＮＡＮＤフラッシュメモリ、またはフラッシュメモリ等とも称す）１４０、無線通信部１５１、ＨＴＴＰ制御部１５２、制御部１５３、及びＦＡＴ制御部１５４を備えている。
【００１３】
ＳＤインタフェース１２０は、ＳＤコントローラ１３０とホストデバイス２００との間のインタフェース処理を行う。また、制御部１５３から“Write protect”をオンにするコマンドを受信すると、ホストデバイス２００からフラッシュメモリ１４０へのデータの書き込みを禁止する。
【００１４】
ＳＤコントローラ１３０は、ホストデバイス２００からライト（書き込み）コマンド、リード（読み出し）コマンド、イレース（消去）コマンドを受けてＮＡＮＤフラッシュメモリ１４０上の領域をアクセスしたり、データ転送処理を制御したりする。
【００１５】
ＮＡＮＤフラッシュメモリ１４０は、メモリセルアレイを備えている。メモリセルアレイは、複数のビット線と複数のワード線と共通ソース線を含み、例えばＥＥＰＲＯＭセル等からなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。
【００１６】
無線通信部１５１は、図示しない無線通信インタフェース、無線ＬＡＮ信号処理部、及び高周波信号を送受信するアンテナを備えている。また、無線通信部１５１は、例えばＷｉ−Ｆｉ（登録商標）による無線通信機能を制御する。
【００１７】
ＨＴＴＰ(hyper text transport protocol)制御部１５２は、無線通信部１５１とクライアントデバイス３００がデータを送受信するのに使われるプロトコルである。ＨＴＴＰ制御部１５２は、ＨＴＭＬ(HyperText Markup Language)やＸＭＬ(Extensible Markup Language)によって記述されたハイパーテキストや、文書に関連付けられている画像、音声、動画などのファイルを表現形式などの情報を含めて、メモリカード１００とクライアントデバイス３００との間でやり取りをすることができる。
【００１８】
制御部１５３は、ＨＴＴＰ制御部１５２から供給されたパケット等を判定し、コマンドをＳＤインタフェース１２０に供給したり、データをＦＡＴ制御部１５４に供給したりする。
【００１９】
ＦＡＴ(File Allocation Table)制御部１５４は、ファイルシステムである。ＦＡＴ制御部１５４は、フラッシュメモリ１４０に記憶されるデータの管理等を行う。
【００２０】
ホストデバイス２００は、ホストコントローラを有しており、各種のＳＤコマンドを発行する。ホストコントローラは、メモリカード１００が接続された状態において、メモリカード１００とのインタフェース処理を行う。
【００２１】
尚、ここでは明記していないが、メモリカード１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ、バッファ等のハードウェア資源を用いている。ＣＰＵは、メモリカード１００全体の動作を司るものである。ＲＯＭは、ＣＰＵにより使用される制御プログラムなどのファームウェアを格納する。ＲＡＭは、ＣＰＵの作業エリアとして使用され、制御プログラムや各種のテーブルや拡張レジスタを記憶する。更にバッファは、ホストデバイス２００から送られてくるデータを、例えばＮＡＮＤフラッシュメモリ１４０へ書き込む際、一定量のデータ（例えば１ページ分）を一時的に記憶したり、ＮＡＮＤフラッシュメモリ１４０から読み出されたデータをホスト装置へ送り出す際、一定量のデータを一時的に記憶したりする。
【００２２】
＜動作＞
次に図３を用いて、実施形態に係るメモリカード１００のクライアントデバイス３００からのアップロードに対する基本的な動作について説明する。図３は、本実施形態に係るメモリカード１００のクライアントデバイス３００からのアップロードに対する基本的な動作を示したフローチャートである。
【００２３】
ところで、クライアントデバイス３００が無線通信ネットワークを介して、無線通信機能を持ったメモリカード１００にファイルをアップロードする場合、該ファイルの持つＦＡＴ情報と、メモリカード１００が接続されているホストデバイス２００が持つＦＡＴ情報と不一致を起こす可能性がある。より具体的には、メモリカード１００は、ホストデバイス２００がキャッシュしたＦＡＴ情報を持つため、クライアントデバイス３００がメモリカード１００のＦＡＴ情報を変更すると、ホストデバイス２００がキャッシュしたＦＡＴ情報と、クライアントデバイス３００が変更したＦＡＴ情報との間で不整合を引き起こす可能性がある。このような場合、メモリカード１００が無線通信機能を使用して、クライアントデバイス３００からデータを受信し、フラッシュメモリ１４０に書き込み、その後、メモリカードに接続されるホストデバイス２００が、ファイル書き込みを行うと、ＦＡＴシステムが壊れた状態になり、フォーマットが必要になる事がある。
【００２４】
そのため、本実施形態のメモリカード１００では、クライアントデバイス３００が、無線通信ネットワークによって、ファイルをフラッシュメモリ１４０に書き込む場合には、接続されているホストデバイス２００からの書き込み動作を禁止し、ＦＡＴシステムが破壊されないようにしている。
【００２５】
［ステップＳ１０］無線接続
メモリカード１００は、ホストデバイス２００に装着され、ホストデバイス２００から電源が供給されることで、クライアントデバイス３００と無線ＬＡＮ経由で接続することが可能となる。クライアントデバイス３００は、クライアントデバイス３００のウェブブラウザ等において、メモリカード１００にアクセスを行うことができる。
【００２６】
［ステップＳ１１］Write protect状態移行
クライアントデバイス３００は、メモリカード１００にファイル等をアップロードする場合に、ファイル等をメモリカード１００に送信する前に、ホストデバイス２００からメモリカード１００への書き込み動作を禁止する、つまり、ＳＤインタフェース１２０を“Write protect状態”に移行させるＣＧＩ(Common Gateway Interface)コマンドを、メモリカード１００に発行する。
【００２７】
［ステップＳ１２］Write protect 状態
制御部１５３は、無線通信部１５１及びＨＴＴＰ制御部１５２を介して、Write protect状態に移行するためのＣＧＩコマンドを受信すると、ＳＤインタフェース１２０に、ＣＧＩコマンドを供給する。そして、ＳＤインタフェース１２０は、フラッシュメモリ１４０の状態をソフトウェア的なライトプロテクト状態であるWrite Protect機能をオンにする。
【００２８】
［ステップＳ１３］ファイル送信
クライアントデバイス３００は、メモリカード１００に、メモリカード１００をWrite protect状態に変更するＣＧＩコマンドを発行した後、メモリカード１００にアップロードするファイルを送信する。この際、クライアントデバイス３００は、例えばメモリカード１００の制御部１５３から、ＳＤインタフェース１２０がWrite Protect状態になった事が通知された場合に、ファイルをメモリカード１００に送信しても良い。
【００２９】
［ステップＳ１４］読み出し動作
ホストデバイス２００は、メモリカード１００が、Write Protect状態である場合において、読み出し動作を行うことがある。
【００３０】
［ステップＳ１５］データ送信
メモリカード１００がWrite Protect状態において、ホストデバイス２００から読み出しコマンドが発行されると、ホストデバイス２００が読み出しを行おうとしている領域が、クライアントデバイス３００によって、ファイルのアップロードが行われていない領域であれば、ＳＤインタフェース１２０は、フラッシュメモリ１４０のデータをホストデバイス２００に供給する。しかし、ホストデバイス２００が読み出しを行おうとしている領域が、クライアントデバイス３００によって、ファイルのアップロードが行われている領域であれば、ＳＤインタフェース１２０は、ホストデバイス２００にエラーを通知する。
【００３１】
［ステップＳ１６］書き込み動作
ホストデバイス２００は、メモリカード１００が、Write Protect状態である場合において、書き込み動作を行うことがある。
【００３２】
［ステップＳ１７］エラー通知
メモリカード１００がWrite Protect状態において、ホストデバイス２００から書き込みコマンドが発行されると、ＳＤインタフェース１２０は、エラーをホストデバイス２００に通知する。このため、ホストデバイス２００は、メモリカード１００への書き込みが失敗したことを検知することが可能であり、ホストデバイス２００のユーザーが、書き込みが失敗したことを知ることが可能である。
【００３３】
＜実施形態に係る作用効果＞
上述した実施形態によれば、メモリシステム（メモリカード）１００は、不揮発性の記憶領域（フラッシュメモリ）１４０と、第１のホストデバイス（ホストデバイス）２００に接続される第１のインタフェース（ＳＤインタフェース）１２０と、無線通信を介して第２のホストデバイス（クライアントデバイス）３００に接続される第２のインタフェース（無線通信部）１５１と、第２のホストデバイス３００が第２のインタフェース１５１を介して、記憶領域１４０にデータを書き込む前に、第２のホストデバイス３００から供給されるコマンドに基づいて、第１のホストデバイス２００が記憶領域１４０にデータを書き込めないように第１のインタフェース１２０を制御する制御部１５３と、を備えている。そして、第１のホストデバイス２００が記憶領域１４０にデータを書き込めないように第１のインタフェース１２０が制御されている場合に、第１のホストデバイス２００が、記憶領域１４０にデータの書き込み動作を行うと、第１のインタフェース１２０は、第１のホストデバイス２００にエラーを通知する。更に、第１のホストデバイス２００が記憶領域１４０にデータを書き込めないように第１のインタフェース１２０が制御されている場合に、第１のホストデバイス２００が、記憶領域１４０からデータの読み出し動作を行うと、記憶領域１４０は、第１のホストデバイス２００に、第２のホストデバイス３００が書き込みを行っていない領域のデータを送信する。
【００３４】
このように、上述した実施形態に係るメモリカード１００は、クライアントデバイス３００から任意にメモリカード１００のステータスを変更して、Write Protectモードにすることによって、ホストデバイス２００からのアクセスを制限し、ファイルシステムを保護している。
【００３５】
ところで、無線ＬＡＮ機能を備えたＳＤカード等のメモリカード１００に関して、クライアントデバイス３００が無線通信を介してファイル等をメモリカード１００にアップロードする場合、メモリカード１００の記憶領域にファイルが作成される。しかしながら、このアップロードは、メモリカード１００に接続されているホストデバイス２００を介さずに行われるため、ホストデバイス２００のファイルシステムのキャッシュ情報に、クライアントデバイス３００が行ったアップデートに関する情報が反映されない。そのため、その後にホストデバイス２００がメモリカード１００の記憶領域１４０にファイルを作成すると、ファイルシステムそのもの破壊になる可能性がある。また、クライアントデバイス３００が無線通信を通じて、ファイルをメモリカード１００の記憶領域１４０にアップロードする場合において、メモリカード１００は時間情報を持たない事が考えられるので、ファイルの時間情報が記憶領域内に設定されない事が考えられる。
【００３６】
このような場合において、上述したように、クライアントデバイス３００が、メモリカード１００にファイルをアップデートする際に、ホストデバイス２００とメモリカード１００とを接続するＳＤインタフェース１２０をWrite Protect状態に移行させておく。これにより、少なくともクライアントデバイス３００が、メモリカード１００にファイルをアップデートしている間は、ホストデバイス２００は、メモリカード１００にデータを書き込むことはできない。このため、上述したような問題を回避することができ、結果的にメモリカード１００の記憶領域１４０のデータの破損等を防止することができ、クライアントデバイス３００からメモリカード１００へのファイルのアップデートを確実に行うことが可能となる。
【００３７】
（変形例）
尚、上述した実施形態では、プロトコルとしてＨＴＴＰ制御部１５２を記載したが、必ずしもこれに限るわけではないネットワークのプロトコル処理を行うものであれば、他のものでも良い。同様に、上述した実施形態では、制御部１５３に供給するコマンドとして、ＣＧＩコマンドを用いているが、必ずしもこれに限るわけではない。
【００３８】
また、上述したメモリカード１００において、クライアントデバイス３００からフラッシュメモリ１４０にファイルを保存する場合に、メモリカード１００の時間情報をクライアントデバイス３００から設定することも可能である。また、上述したメモリカード１００において、クライアントデバイス３００からファイルを受信して、フラッシュメモリ１４０にファイルを保存する場合に、メモリカード１００として時間情報を有していない場合は、保存するファイルの時間情報を設定せずに、フラッシュメモリ１４０にファイルを保存することも可能である。
【００３９】
また、上述した実施形態では、クライアントデバイス３００は、フラッシュメモリ１４０にデータを書き込む場合に、ＳＤインタフェース１２０を、“Write protect”状態にするコマンドを発行している。ＳＤインタフェース１２０は、このコマンドを受信すると
“Write protect”状態になる。しかしながら、例えば、制御部１５３が、クライアントデバイス３００から、アップロード用のデータを受信した場合に、自動的に前記ＳＤインタフェースを“Write protect”状態にしても良い。
【００４０】
また、ＳＤインタフェース１２０は、“Write protect”状態になると、メモリカード１００への電源供給がなくなるまで、またはクライアントデバイス３００から、“Write protect”状態を解除するコマンド等が供給されるまで、“Write protect”状態が維持される。
【００４１】
また、上述した実施形態では、クライアントデバイス３００がメモリカード１００へファイルをアップロードする場合に、ＳＤインタフェース１２０を制御することでホストデバイス２００からのデータの書き込みを防止している。しかし、ホストデバイス２００がメモリカード１００へファイルをアップロードする場合に、無線通信部１５１を制御することでクライアントデバイス３００からのデータの書き込みを防止しても良い。
【００４２】
また、上述した実施形態では、メモリカード１００がWrite Protect状態において、ホストデバイス２００から書き込みコマンドが発行されると、ＳＤインタフェース１２０は、エラーをホストデバイス２００に通知している。同様に、メモリカード１００がWrite Protect状態において、ホストデバイス２００から消去コマンドが発行されると、ＳＤインタフェース１２０は、エラーをホストデバイス２００に通知しても良い。これにより、ホストデバイス２００は、メモリカード１００への消去動作が失敗したことを検知することが可能であり、ホストデバイス２００のユーザーが、消去動作が失敗したことを知ることが可能である。
【００４３】
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内において種々変形して実施することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示された構成要件を適宜組み合わせることによって種々の発明が抽出される。例えば、開示された構成要件からいくつかの構成要件が削除されても、所定の効果が得られるものであれば、発明として抽出され得る。
【符号の説明】
【００４４】
１００…メモリカード
１２０…ＳＤインタフェース
１３０…ＳＤコントローラ
１４０…ＮＡＮＤ型フラッシュメモリ
１５１…無線通信部
１５２…ＨＴＴＰ制御部
１５３…制御部
１５４…ＦＡＴ制御部
２００…ホストデバイス
３００…クライアントデバイス
【図１】
0005801244.tif 000002
【図２】
0005801244.tif 000003
【図３】
0005801244.tif 000004