説明

調停装置、記憶装置、情報処理装置およびプログラム

【課題】キャッシュインコンシステンシの発生を回避する。
【解決手段】実施形態の調停装置は、データを一時記憶するキャッシュメモリを備える第1装置と、第2装置とによる、第1メモリおよび第2メモリに対するアクセスを調停する。調停装置は、第1書込部と通知部とを備える。第1書込部は、第2装置から書き込みが要求されたデータを、第2メモリに書き込む。通知部は、第2メモリに対するデータの書き込みの完了を第1装置に通知する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、調停装置、記憶装置、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
Eye−Fi(登録商標)カードと呼ばれるメモリカードが知られている。Eye−Fi(登録商標)カードは、ホスト(PCやデジタルカメラ)とのインタフェース(ホストインタフェース)と、無線LAN(Local Area Network)などによる通信インタフェースと、メモリとを備えている。現状では、ホストからのメモリの読み書き、通信インタフェースからの読み出しは可能であるが、通信インタフェースからの書き込みは行っておらず、ユースケースとして制限している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−209797号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
通信インタフェースからの書き込みを許可し、通信インタフェースからの書き込みが発生した後に、ホストインタフェースからの書き込みが発生する場合を考える。ホスト側には一般的にキャッシュ領域が存在する。ホストは、ファイル管理テーブル(以下、FATという。)の情報をキャッシュから読み出し、読み出した情報に基づいて書き込みデータアドレスを決定する。このとき、通信インタフェースからの書き込みが発生すると、キャッシュ領域の状態と、実際のメモリの状態が異なる状態、すなわち、いわゆるキャッシュインコンシステンシな状態となる。この状態でホストからのデータの書き込みを実行すると、ファイルの破壊が起きるばかりか、FAT領域の破壊も発生することも考えられる。
【課題を解決するための手段】
【0005】
実施形態の調停装置は、データを一時記憶するキャッシュメモリを備える第1装置と、第2装置とによる、第1メモリおよび第2メモリに対するアクセスを調停する。調停装置は、第1書込部と通知部とを備える。第1書込部は、第2装置から書き込みが要求されたデータを、第2メモリに書き込む。通知部は、第2メモリに対するデータの書き込みの完了を第1装置に通知する。
【図面の簡単な説明】
【0006】
【図1】第1の実施形態の情報処理装置のブロック図。
【図2】第1の実施形態の調停部のブロック図。
【図3】第1の実施形態の調停処理のシーケンス図。
【図4】第2の実施形態の調停部のブロック図。
【図5】第2の実施形態の調停処理のシーケンス図。
【図6】第3の実施形態の記憶装置のブロック図。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、この発明にかかる調停装置、記憶装置、情報処理装置およびプログラムの好適な実施形態を詳細に説明する。
【0008】
(第1の実施形態)
図1は、第1の実施形態にかかる情報処理装置100の構成の一例を示すブロック図である。図1に示すように、情報処理装置100は、ホスト104と、通信制御部105と、メモリ106と、メモリ107と、調停装置103と、を備えている。情報処理装置100は、通信制御部105を介して、端末300と通信可能である。
【0009】
ホスト104は、調停装置103がアクセスを調停する記憶部(メモリ106、メモリ107)に対してアクセスする装置である。本実施形態では、ホスト104は、例えば、メインプロセッサであり、情報処理装置100の全体を制御する。ホスト104は、データを一時的に記憶するキャッシュメモリ102を備えている。なお、ホスト104はメインプロセッサに限られるものではなく、記憶部に記憶されるデータを一時的に記憶するキャッシュ機能を備えるものであればあらゆる装置を適用できる。
【0010】
通信制御部105は、予め定められた通信プロトコルに従って、端末300との通信を制御する。通信プロトコルは、例えば、セルラ無線、無線LAN、WiMAX、Bluetooth(登録商標)、および、赤外線通信などの無線通信でもよいし、USB(Universal Serial Bus)およびLANなどの有線通信でもよい。
【0011】
メモリ106およびメモリ107は、データを記憶する記憶部である。メモリ106およびメモリ107は、SRAM(Static Random Access Memory)およびDRAM(Dynamic Random Access Memory)などの揮発メモリでもよいし、NAND Flash、NOR Flash、HDD(ハードディスクドライブ)、および、光ディスクなどの不揮発メモリでもよい。
【0012】
図1では、メモリ106およびメモリ107を別ブロックとして記載しているが、物理的に1つまたは複数のメモリ装置を論理アドレスにより分割してメモリ106およびメモリ107としてもよい。また、物理的に1つまたは複数のメモリ装置を、ファイルシステム上のパーティションにより分割してメモリ106およびメモリ107としてもよい。また、相互に特性の異なる別の種類のメモリ装置を、それぞれメモリ106およびメモリ107としてもよい。
【0013】
調停装置103は、ホストインタフェース108と、通信インタフェース109と、メモリインタフェース110と、調停部120とを備えている。
【0014】
ホストインタフェース108は、ホスト104からのメモリアクセスを受け付けるインタフェースである。ホストインタフェース108は、例えば、USB、PCI(Peripheral Component Interconnect)、PCI Exprres、SD Memory、SDIO、IEEE1394、および、汎用メモリIF(インタフェース)などを適用できる。
【0015】
通信インタフェース109は、通信制御部105が用いる通信プロトコルに従ったインタフェースである。通信プロトコルがUSBであれば、通信インタフェース109としてUTMI(USB Transceiver Macrocell Interface)を適用できる。通信プロトコルがLAN系であれば、通信インタフェース109としてMII(Media Independent Interface)/GMII(Gigabit Media Independent Interface)などの汎用インタフェースを適用できる。通信インタフェース109は、通信制御部105に特有の独自インタフェースでもよい。
【0016】
メモリインタフェース110は、メモリ106およびメモリ107に対するインタフェースである。メモリインタフェース110は、例えば、汎用のSRAM/DRAM/DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)等に対するメモリインタフェースが適用できる。また、メモリインタフェース110は、例えば、eMMCおよびeSDなどのNANDメモリインタフェースを適用できる。
【0017】
調停部120は、ホスト104からのメモリ106およびメモリ107へのアクセスと、端末300からのメモリ106およびメモリ107へのアクセスを調停する。例えば、調停部120は、メモリ106およびメモリ107へのアクセスの排他制御等を行う。また、調停部120は、ファイルシステムの矛盾等を防ぐための制御を行う(詳細は後述)。
【0018】
図2は、第1の実施形態の調停部120の機能構成例を示すブロック図である。図2に示すように、調停部120は、第1書込部121と、通知部122と、受付部123と、削除部124と、を備えている。
【0019】
第1書込部121は、端末300から書き込みが要求されたデータを、メモリ107に書き込む。通知部122は、メモリ107に対するデータの書き込みの完了をホスト104に通知する。受付部123は、メモリ107からメモリ106へのデータの書き込みの完了をホスト104から受け付ける。削除部124は、メモリ107からメモリ106へのデータの書き込みの完了を受け付けた場合に、該当データをメモリ107から削除する。
【0020】
次に、このように構成された第1の実施形態にかかる情報処理装置100による調停処理について図3を用いて説明する。図3は、第1の実施形態における調停処理の全体の流れを示すシーケンス図である。
【0021】
ホスト104は、通常のメモリアクセスを行う場合は、メモリ106に対してデータライト(ステップS201)、および、メモリ106からのデータリード(ステップS202)を行う。ホスト104にはキャッシュ領域(キャッシュメモリ102)が存在する。ホスト104は、メモリ106からFAT情報などを予め読み出し、キャッシュメモリ102に記憶して、メモリ106に対するアクセスに使用する。
【0022】
このとき、端末300からデータの書き込みアクセスが発生したとする。例えば、端末300が、情報処理装置100に対して書き込むデータのファイルを転送する(ステップS203)。通信制御部105は、調停部120にファイルが転送されたことを通知する(ステップS204)。調停部120の第1書込部121は、転送されたファイルをメモリ107に書き込む(ステップS205)。
【0023】
このように、調停部120は、端末300から書き込みが要求されたデータをメモリ107に対してのみ書き込み、メモリ106に対しては、書き込まない。これにより、ホスト104から、過去にキャッシュされたFAT情報を用いて、メモリ106に対してアクセスをされても、ファイルやFAT情報が破壊されることはない。
【0024】
端末300からのファイル転送が完了すると、通信制御部105は、調停部120にファイル転送完了を通知する(ステップS206)。これを受けて、調停部120の通知部122は、ファイル転送の完了をホスト104に通知する(ステップS207)。このとき、端末300から転送されたファイルの情報(フォルダ名およびファイル名等)も通知する。ホスト104は、メモリアクセスの空き時間を利用して、通知された情報を基に、メモリ107からファイルを読み出し(ステップS208)、読み出したファイルをメモリ106にコピーする(ステップS209)。
【0025】
ファイルのコピー処理をホスト104が行うことにより、キャッシュメモリ102の状態を、メモリ106のFAT情報を最新に更新できる。従って、再びホスト104からメモリ106にファイルアクセス処理が発生しても、FAT情報の不一致によるファイルの破壊は発生しない。
【0026】
ホスト104は、ファイルのコピーが終了したことを調停部120に通知する(ステップS210)。調停部120の受付部123が、この通知を受け付ける。この通知を受けた場合、調停部120の削除部124は、端末300から転送されたファイルをメモリ107から消去する(ステップS211)。これにより、次に端末300からファイルが転送されてきた時に、ファイルの保存領域を確保することができる。
【0027】
なお、調停部120が、ホスト104からコピー完了の通知を受けるまで、ホスト104からのメモリ106への書き込みアクセスを禁止するように構成してもよい。
【0028】
また、端末300からのデータ転送と、メモリ107からメモリ106へのデータのコピーとでは、使用するアプリケーションの種類等に依存し、要求される転送速度が異なることも考えられる。このような場合は、メモリ106とメモリ107の特性をアプリケーションに合わせて選定してもよい。例えば、端末300から高速にファイルを転送し、後からオフラインでファイルをホスト104で利用する場合は、メモリ107は高速にデータを書き込めるメモリとし、メモリ106は低速でも大容量のメモリを搭載するとよい。
【0029】
このように、第1の実施形態では、複数のメモリ領域(メモリ106、メモリ107)を設け、通信相手の端末300からのデータは一方のメモリ領域(メモリ107)に書き込み、書き込みが完了したことをホスト104に通知する。これにより、ホスト104は所望のタイミングで他方のメモリ領域(メモリ106)へデータをコピーすることができる。したがって、通信インタフェースからの書き込みを可能にした場合であっても、キャッシュインコンシステンシの発生を回避できる。
【0030】
(第2の実施形態)
第1の実施形態では、ホスト104が、メモリ107からメモリ106にデータをコピーした。第2の実施形態では、調停装置がメモリ107からメモリ106にデータをコピーする。
【0031】
図4は、第2の実施形態の調停部120−2の機能構成例を示すブロック図である。図4に示すように、調停部120−2は、第1書込部121と、通知部122−2と、受付部123−2と、削除部124と、第2書込部125と、を備えている。
【0032】
第2の実施形態では、通知部122−2および受付部123−2の機能と、第2書込部125を追加したことが第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる調停部120−2のブロック図である図2と同様であるので、同一符号を付し、ここでの説明は省略する。
【0033】
また、第2の実施形態のホスト104−2は、ファイル転送完了の通知を受けた後に、メモリ107に書き込まれたデータ(ファイル)をメモリ106に書き込む要求を調停装置に送信する点が、第1の実施形態のホスト104と異なっている。
【0034】
受付部123−2は、第1書込部121によりメモリ107に書き込まれたデータをメモリ106に書き込む要求をホスト104−2から受け付ける。
【0035】
第2書込部125は、メモリ106への書き込み要求が受け付けられたデータをメモリ107から読み出してメモリ106に書き込む。
【0036】
通知部122−2は、第2書込部125によるデータの書き込みの完了をホスト104−2に通知する機能をさらに備える点が、第1の実施形態の通知部122と異なっている。
【0037】
次に、このように構成された第2の実施形態にかかる情報処理装置による調停処理について図5を用いて説明する。図5は、第2の実施形態における調停処理の全体の流れを示すフローチャートである。
【0038】
ステップS301からステップS307までは、第1の実施形態の調停処理(図3)のステップS201からステップS207までと同様の処理なので、その説明を省略する。
【0039】
ステップS307でファイル転送の完了が通知されると、ホスト104−2は、メモリアクセスの空き時間を利用して、ファイルのコピー命令を調停部120に通知する(ステップS308)。調停部120−2の受付部123−2は、ファイルコピー命令を受け付ける。ファイルコピー命令が受け付けられると、調停部120−2の第2書込部125は、メモリ106へのアクセス権を受け取ったと判断し、端末300から送信されたファイルのデータをメモリ107から読み出し(ステップS309)、読み出したデータをメモリ106に書き込む(ステップS310)。ファイルのコピーが完了すると、調停部120−2の通知部122−2は、ファイルコピーの完了をホスト104−2に通知する(ステップS311)。調停部120−2の削除部124は、端末300から転送されたファイルをメモリ107から消去する(ステップS312)。これにより、次に端末300からファイルが転送されてきた時に、ファイルの保存領域を確保することができる。
【0040】
ホスト104−2は、ファイルコピー命令を発行してから、コピーの完了を通知されるまで、ホスト104−2自信によるメモリ106への書き込みアクセスを禁止する。なお、調停部120−2が、コピーが完了するまで、ホスト104−2からのメモリ106への書き込みアクセスを禁止するように構成してもよい。
【0041】
ファイルコピーの完了を通知された場合、ホスト104−2は、ファイルコピーによって更新されたFAT情報を読み出す(ステップS313)。これにより、ホスト104−2のキャッシュ(キャッシュメモリ102)に残ったFAT情報と、メモリ106のFAT情報の不一致(インコンシステンシ状態)を解消できる。すなわち、上記処理により、ホスト104−2のキャッシュの状態を、メモリ106の最新のFAT情報に更新できる。したがって、再びホスト104−2からメモリ106にファイルアクセス処理が発生しても、FAT情報の不一致によるファイルの破壊は発生しない。
【0042】
(第3の実施形態)
これまでは、調停装置を情報処理装置内に備える構成例について説明した。適用可能な構成はこれに限られるものではない。例えば、上記調停装置に含まれる各構成部とメモリとを含む記憶装置として構成してもよい。図6は、このように構成した第3の実施形態にかかる記憶装置200の一例を示すブロック図である。
【0043】
図6に示すように、記憶装置200は、ホストインタフェース108と、通信インタフェース109と、メモリインタフェース110と、調停部120と、メモリ106と、メモリ107と、通信制御部105と、を備えている。記憶装置200に含まれる各構成部は、図1と同様の機能を備えるため説明を省略する。
【0044】
このような構成では、ホスト104は、例えばメインプロセッサおよびキャッシュメモリ102を備えるPC、携帯端末、および携帯電話として構成できる。そして、記憶装置200は、例えば、無線通信機能(通信制御部105)を備えるUSBメモリにより構成できる。
【0045】
以上説明したとおり、第1〜第3の実施形態によれば、キャッシュインコンシステンシ状態の発生、および、ファイルの破壊等を回避することができる。
【0046】
なお、調停部の機能は、ハードウェア回路により実現してもよいし、例えば調停装置内に備えられるCPU(プロセッサ)が、調停部の機能を含むプログラムを実行することによりソフトウェアにより実現してもよい。
【0047】
第1〜第3の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【0048】
また、第1〜第3の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1〜第3の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0049】
また、第1〜第3の実施形態のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0050】
第1〜第3の実施形態にかかる装置で実行されるプログラムは、上述した各部(第1書込部、通知部、受付部、削除部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【0051】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0052】
100 情報処理装置
102 キャッシュメモリ
103 調停装置
104 ホスト
105 通信制御部
106、107 メモリ
108 ホストインタフェース
109 通信インタフェース
110 メモリインタフェース
120 調停部
121 書込部
122 通知部
123 受付部
124 削除部
125 書込部
200 記憶装置
300 端末

【特許請求の範囲】
【請求項1】
データを一時記憶するキャッシュメモリを備える第1装置と、第2装置とによる、第1メモリおよび第2メモリに対するアクセスを調停する調停装置であって、
前記第2装置から書き込みが要求されたデータを、前記第2メモリに書き込む第1書込部と、
前記第2メモリに対する前記データの書き込みの完了を前記第1装置に通知する通知部と、
を備えることを特徴とする調停装置。
【請求項2】
前記第1書込部により前記第2メモリに書き込まれた前記データを前記第1メモリに書き込む要求を前記第1装置から受け付ける受付部と、
前記要求を受け付けた前記データを、前記第2メモリから読み出し、読み出した前記データを前記第1メモリに書き込む第2書込部と、をさらに備えること、
を特徴とする請求項1に記載の調停装置。
【請求項3】
前記通知部は、さらに、前記第2書込部による前記第1メモリに対する前記データの書き込みの完了を前記第1装置に通知し、
前記第2書込部による前記第1メモリに対する書き込みが完了した前記データを前記第2メモリから削除する削除部をさらに備えること、
を特徴とする請求項2に記載の調停装置。
【請求項4】
前記第1書込部により前記第2メモリに書き込まれた前記データの前記第1メモリに対する書き込みの完了を前記第1装置から受け付ける受付部と、
前記書き込みの完了を受け付けた前記データを前記第2メモリから削除する削除部と、をさらに備えること、
を特徴とする請求項1に記載の調停装置。
【請求項5】
データを一時記憶するキャッシュメモリを備える第1装置と、第2装置とに接続される記憶装置であって、
第1メモリと、
第2メモリと、
前記第2装置から書き込みが要求されたデータを、前記第2メモリに書き込む第1書込部と、
前記第2メモリに対する前記データの書き込みの完了を前記第1装置に通知する通知部と、
を備えることを特徴とする記憶装置。
【請求項6】
前記第1メモリおよび前記第2メモリは、1以上の物理メモリを論理アドレスにより分割したメモリであること、
を特徴とする請求項5に記載の記憶装置。
【請求項7】
前記第1メモリおよび前記第2メモリは、1以上の物理メモリをファイルシステムのパーティションにより分割したメモリであること、
を特徴とする請求項5に記載の記憶装置。
【請求項8】
外部装置に接続される情報処理装置であって、
第1メモリと、
第2メモリと、
データを一時記憶するキャッシュメモリを備える第1装置と、
前記外部装置から書き込みが要求されたデータを、前記第2メモリに書き込む第1書込部と、
前記第2メモリに対する前記データの書き込みの完了を前記第1装置に通知する通知部と、
を備えることを特徴とする情報処理装置。
【請求項9】
データを一時記憶するキャッシュメモリを備える第1装置と、第2装置とによる、第1メモリおよび第2メモリに対するアクセスを調停する調停装置を、
前記第2装置から書き込みが要求されたデータを、前記第2メモリに書き込む第1書込部と、
前記第2メモリに対する前記データの書き込みの完了を前記第1装置に通知する通知部、
として機能させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−168722(P2012−168722A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−29062(P2011−29062)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】