(57)【要約】  無線アクセス装置内部のファイルコピー制御部が、ローカルメモリ、リモートメモリ双方のファイルシステム管理情報を読み出し、コピー元、コピー先の論理アドレス位置を格納したＦＳ転送リストを生成し、ローカルメモリに接続された不揮発性メモリコントローラに入力する。不揮発性メモリコントローラはＦＳ転送リストに格納された情報に基づき、アクセス装置内部のＣＰＵやＣＰＵに接続された内部バスを使用することなく、ローカルメモリ、リモートメモリ間のコピー処理を実施する。
2014129160.tif 000002
【特許請求の範囲】
【請求項１】
第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、前記第２の不揮発性メモリ上に構築されたファイルシステムから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部と、
前記第１の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、
前記ファイルコピー制御部は前記ＦＳ転送リストを前記第１の不揮発性メモリコントローラに入力し、
前記不揮発性メモリコントローラは前記ＦＳ転送リストに基づき、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でコピーを実施することを特徴とする無線アクセス装置。
【請求項２】
前記不揮発性メモリコントローラは、
コピーを実施する際、前記第１の不揮発性メモリにアクセスするためのアクセスコマンドを生成して前記第１の不揮発性メモリにアクセスすると共に、
前記第２の不揮発性メモリにアクセスするためのアクセスコマンドを生成し、更に前記アクセスコマンドを無線通信パケットに変換して、他の無線アクセス装置に無線送信して第２の不揮発性メモリにアクセスすることを特徴とする請求項１記載の無線アクセス装置。
【請求項３】
前記不揮発性メモリコントローラは、
前記アクセスコマンドを前記他の無線アクセス装置に無線送信した後、前記他の無線アクセス装置から、前記アクセスコマンドの実施結果を無線通信パケットで無線受信することを特徴とする請求項１記載の無線アクセス装置。
【請求項４】
前記ファイルコピー制御部は、
転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第１のファイルシステム管理情報と、前記第２のファイルシステム管理情報とから前記転送元ファイルのデータ格納領域に含まれる１つの連続領域長を算出すると共に、前記転送先ファイルのデータを格納する１つの連続空き領域長を算出し、前記連続領域長と連続空き領域長を比較し、小さい方の値をコピー処理単位としてＦＳ転送リストを生成することを特徴とする請求項１記載の無線アクセス装置。
【請求項５】
前記ファイルコピー制御部は、
転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第１のファイルシステム管理情報と、前記第２のファイルシステム管理情報とから前記転送元ファイルのデータ格納領域に含まれる１つの連続領域長を算出すると共に、前記連続領域長と同じ値の１つ以上の連続空き領域を算出し、前記連続空き領域をコピー処理単位としてＦＳ転送リストを生成することを特徴とする請求項１記載の無線アクセス装置。
【請求項６】
前記ファイルコピー制御部は、転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第１のファイルシステム管理情報と、前記第２のファイルシステム管理情報とから前記転送先ファイルのデータを格納する領域として１つの連続空き領域長を算出すると共に、前記連続空き領域長と同じ値の１つ以上の連続領域長を算出し、前記連続領域長をコピー処理単位としてＦＳ転送リストとして生成することを特徴とする請求項１記載の無線アクセス装置。
【請求項７】
無線情報記録装置内部の第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記無線情報記録装置と無線接続された他の無線情報記録装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、前記第２の不揮発性メモリ上に構築されたファイルシステムとから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部を備え、
前記ファイルコピー制御部は前記ＦＳ転送リストを、前記無線情報記録装置に入力することで、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でデータのコピーを実施するように構成したことを特徴とする無線アクセス装置。
【請求項８】
無線情報記録装置と内部の第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線情報記録装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第１の不揮発性メモリを制御する第１の不揮発性メモリコントローラを備え、
前記無線アクセス装置は、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間の論理アドレス空間上でのデータ転送元領域と、データ転送先領域の情報を含むＦＳ転送リストを作成し、
前記第１の不揮発性メモリコントローラは、前記ＦＳ転送リストに基づき、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセス装置。
【請求項９】
第１の無線アクセス装置内部の第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記第１の無線アクセス装置と無線接続された第２の無線アクセス装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイル間でコピーを行う無線アクセスシステムであって、
前記第１の無線アクセス装置は、前記第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、前記第２の不揮発性メモリ上に構築されたファイルシステムとから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部と、
前記第１の不揮発性メモリを制御する第１の不揮発性メモリコントローラと、を備え、
前記ファイルコピー制御部は前記ＦＳ転送リストを前記第１の不揮発性メモリコントローラに入力し、
前記第１の不揮発性メモリコントローラは前記ＦＳ転送リストに基づき、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、無線接続された不揮発性メモリにアクセスする無線アクセス装置および、当該無線メモリアクセス機能を備えた無線アクセスシステムに関する。
【背景技術】
【０００２】
テキスト文書や、プレゼンテーションデータ、音楽コンテンツ、映像データ等の各種デジタルデータを記録する記録媒体として、磁気ディスク、光ディスク、ＵＳＢメモリ、フラッシュメモリカード等、様々な種類が存在する。従来これらの記録媒体は、データを管理するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＤＳＣ（Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｃａｍｅｒａ）やスマートフォン等のホスト機器に直接物理的に接続されるローカルストレージとして使用されるのが主流であった。【０００３】
しかしながら、高速有線／無線ネットワークインフラの普及に伴うクラウド化の進展により、ネットワーク上のリモートストレージにアクセスする形態が様々な生活シーンで活用されつつある。【０００４】
従来、このような形態の一例として、メモリカード自体に無線機能のみを搭載し、無線経由で外部のハードディスク等の大容量ストレージにアクセスしてデータの読み書きを実施するという方法が提案されている（例えば、特許文献１）。【０００５】
この技術を用いることにより、無線ネットワークの先にある外部機器のメモリ（リモートメモリ）を、自機器に直接接続されたメモリ（ローカルメモリ）のように管理することができ、自機器の容量追加が容易に行えるようになる、リモートメモリを複数のホスト機器で同時に使用することができる等のメリットを享受することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００３／００１８８５２号明細書
【発明の概要】
【０００７】
本開示の無線アクセス装置および本開示の無線アクセスシステムは、第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置および無線アクセスシステムであって、第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、第２の不揮発性メモリ上に構築されたファイルシステムから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部と、第１の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、ファイルコピー制御部はＦＳ転送リストを第１の不揮発性メモリコントローラに入力し、不揮発性メモリコントローラはＦＳ転送リストに基づき、第１の不揮発性メモリと、第２の不揮発性メモリとの間でコピーを実施することを特徴とする。
【０００８】
これにより、本開示は第１の不揮発性メモリと第２の不揮発性メモリ間でファイルコピーを行う場合において、無線アクセス装置内部のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、バス帯域の能力に依存せず、高速にファイルコピーを実施することが可能となる。
【０００９】
すなわち、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のＣＰＵ能力やバスの帯域幅に依存することなく、高速にファイルコピーを行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１における無線アクセス装置および無線アクセスシステムの構成図である。
【図２】図２は、実施の形態１における第１の不揮発性メモリコントローラの構成図である。
【図３】図３は、実施の形態１における第２の不揮発性メモリコントローラの構成図である。
【図４】図４は、実施の形態１におけるＦＡＴファイルシステムの構成図である。
【図５】図５は、実施の形態１におけるディレクトリエントリの構成図である。
【図６Ａ】図６Ａは、実施の形態１におけるＦＡＴファイルシステムのディレクトリエントリの一例を示した図である。
【図６Ｂ】図６Ｂは、実施の形態１におけるＦＡＴファイルシステムの第１のＦＡＴ、第２のＦＡＴの一例を示した図である。
【図６Ｃ】図６Ｃは、実施の形態１におけるＦＡＴファイルシステムのユーザデータ領域の一例を示した図である。
【図７】図７は、実施の形態１におけるファイルコピー処理手順の概要を示したフローチャートである。
【図８】図８は、実施の形態１におけるファイルコピー処理手順の詳細（Ｓｔｅｐ１）を示したフローチャートである。
【図９】図９は、実施の形態１におけるファイルコピー処理手順の詳細（Ｓｔｅｐ２）を示したフローチャートである。
【図１０】図１０は、実施の形態１におけるファイルコピー処理手順の詳細（Ｓｔｅｐ３〜５）を示したフローチャートである。
【図１１】図１１は、実施の形態１におけるＦＡＴテーブルの一例を示した説明図である。
【図１２】図１２は、実施の形態１におけるＦＡＴテーブルの別の一例を示した説明図である。
【図１３】図１３は、実施の形態１におけるＦＳ転送リストの一例を示した説明図である。
【図１４】図１４は、実施の形態１におけるＦＳ転送リストを用いたファイルコピー処理手順（ローカルメモリからリモートメモリへのコピー）の詳細を示したフローチャートである。
【図１５】図１５は、実施の形態１におけるＦＳ転送リストを用いたファイルコピー処理手順（リモートメモリからローカルメモリへのコピー）の詳細を示したフローチャートである。
【図１６】図１６は、実施の形態１における無線アクセス装置の他の例の構成を示した説明図である。
【図１７】図１７は、実施の形態１における１対ｎ（ｎは２以上の整数）の転送に対応したＦＳ転送リストの一例を示した説明図である。
【図１８】図１８は、実施の形態１におけるｎ対１（ｎは２以上の整数）の転送に対応したＦＳ転送リストの一例を示した説明図である。
【図１９】図１９は、実施の形態１におけるｎ対１（ｎは２以上の整数）と１対ｎ（ｎは２以上の整数）の転送に対応したＦＳ転送リストの一例を示した説明図である。
【図２０】図２０は、実施の形態１におけるＦＡＴテーブルのさらに別の一例を示した説明図である。
【発明を実施するための形態】
【００１１】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１２】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１３】
以下、本開示の無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムについて、図面を参照しつつ説明する。
【００１４】
（実施の形態１）
従来技術において、ネットワークの先にあるリモートメモリを自機器に直接接続されているローカルメモリと同様に管理してアクセスする場合、ローカルメモリに直接アクセスするデバイスドライバ部分の変更のみでリモートメモリへのアクセスを実現できる。ここで、ローカルメモリとリモートメモリ間でファイルのコピーを実施する場合を想定した。ファイルのコピーは、ホスト機器内のＣＰＵ上で動作するファイルシステムの制御プログラムにより実施される。
【００１５】
例えば、ファイルシステムの制御プログラムは、ローカルメモリとリモートメモリ双方のファイルシステム管理情報を参照し、コピー元ファイルのデータが格納された論理アドレスの特定と、コピー先ファイルのデータを格納する論理アドレスの特定を行う。その後、ファイルシステムの制御プログラムは、コピー元ファイルのデータをホスト機器内のＲＡＭ上に読み出し、読み出したデータをコピー先ファイルのデータ格納位置に書き込む。すなわち、ローカルメモリとリモートメモリ間のファイルコピーは、ホスト機器内のＲＡＭを介してホスト機器内のＣＰＵの処理により実施される。そのため、ファイルコピー処理速度はホスト機器内のＣＰＵの処理能力、ホスト機器内のＲＡＭの接続されているバスの帯域幅等に依存する。これらの能力が低いと高速なファイルコピーが行えない。
【００１６】
上記課題に鑑み本開示は、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のＣＰＵ能力やバスの帯域幅に依存することなく、高速にファイルコピーを行う無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムを提供することを目的とする。
【００１７】
図１は本実施の形態における無線アクセス装置の構成および無線アクセスシステムの構成図である。図１において、無線アクセスシステム１００は、第１の無線アクセス装置１と第２の無線アクセス装置２で構成される。無線アクセスシステム１００において、第１の無線アクセス装置１が、自装置内に存在する第１の不揮発性メモリ１５をローカルメモリとして、また第２の無線アクセス装置２内に存在する第２の不揮発性メモリ２５をリモートメモリとして管理し、アクセスする場合を想定する。第１の無線アクセス装置１は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、第１の不揮発性メモリコントローラ１４を含み、これらが第１の内部バス１７で互いに接続されている。更に第１の無線アクセス装置１は、第１の不揮発性メモリコントローラ１４に接続された第１の不揮発性メモリ１５と、第２の内部バス１８で接続された第１の無線回路１６を含む。ＲＯＭ１３には第１の無線アクセス装置１を制御するプログラムが格納されており、このプログラムはＲＡＭ１２を一時記憶領域として使用し、ＣＰＵ１１上で動作する。
【００１８】
第１の不揮発性メモリコントローラ１４は、第１の不揮発性メモリ１５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、第１の不揮発性メモリ１５の読み書きを制御する。
【００１９】
また、第１の無線回路１６は第２の無線アクセス装置２と無線通信を行う制御回路であり、８０２．１１ａ／ｂ／ｇ／ｎの無線ＬＡＮ規格に対応した制御回路、今後普及が期待される８０２．１１ａｃや８０２．１１ａｄの無線ＬＡＮ規格に対応した制御回路、近距離無線通信規格であるＢｌｕｅｔｏｏｔｈ（登録商標）や近距離無線転送技術であるＴｒａｎｓｆｅｒＪｅｔ（登録商標）等のその他無線通信用の制御回路等である。本開示は特定の無線通信方式に限定されるものではないため、第１の無線回路１６としてこれら任意の無線通信の制御回路を使用することが可能である。
【００２０】
ＲＯＭ１３は更に、アプリケーション制御部１３１、ファイルシステム制御部１３２、メモリアクセス制御部１３３を含む。アプリケーション制御部１３１は、データの生成や電源の制御等、第１の無線アクセス装置１全体の制御を行う。ファイルシステム制御部１３２は、ＦＡＴファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。メモリアクセス制御部１３３は、ファイルシステム制御部１３２からデータと共にアクセスサイズとアクセス先論理アドレスを渡され、指定されたサイズのデータをローカルメモリである第１の不揮発性メモリ１５、あるいはリモートメモリである第２の不揮発性メモリ２５における指定された論理アドレスに記録する等、ローカルメモリ、リモートメモリに対するコマンドやデータの送受信を制御する。ファイルシステム制御部１３２は更に、ファイルコピー制御部１３４を含む。ファイルコピー制御部１３４は、本開示の特徴であるローカルメモリ、リモートメモリ間のファイルコピー処理を実施する制御部であり、従来の無線アクセス装置には存在しない。
【００２１】
また、第１の不揮発性メモリコントローラ１４も、後述するファイルシステム転送リストであるＦＳ転送リスト１２１の制御を行う機能を有しており、従来には存在しない。
【００２２】
一方、図１において第２の無線アクセス装置２は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、第２の不揮発性メモリコントローラ２４を含み、これらが第１の内部バス２７で互いに接続されている。更に第２の無線アクセス装置２は、第２の不揮発性メモリコントローラ２４に接続された第２の不揮発性メモリ２５と、第２の内部バス２８で接続された第２の無線回路２６を含む。ＲＯＭ２３には第２の無線アクセス装置２を制御するプログラムが格納されており、このプログラムはＲＡＭ２２を一時記憶領域として使用し、ＣＰＵ２１上で動作する。第２の不揮発性メモリコントローラ２４は、第２の不揮発性メモリ２５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、第２の不揮発性メモリ２５の読み書きを制御する。また、第２の無線回路２６は第１の無線アクセス装置１と無線通信を行う制御回路であり、第１の無線回路１６と任意の無線通信が可能である。第２の無線アクセス装置２の内部の構成は第１の無線アクセス装置１の内部構成と同様である。
【００２３】
本実施の形態において第２の無線アクセス装置２は、自装置内に存在する第２の不揮発性メモリ２５をリモートメモリとして第１の無線アクセス装置１からアクセス可能な装置として動作し、第１の無線アクセス装置１から第２の不揮発性メモリ２５へのアクセスは第２の不揮発性メモリコントローラ２４が実施し、第２の無線アクセス装置２内のＣＰＵ２１は介在しない。そのため、本実施の形態では第２の無線アクセス装置２内のＲＯＭ２３上に格納された各種プログラムの詳細については説明しない。
【００２４】
続いて、本実施の形態における第１の不揮発性メモリコントローラ１４、第２の不揮発性メモリコントローラ２４の構成について、図２、図３を用いて説明する。図２において第１の不揮発性メモリコントローラ１４は、シーケンサ１４１、ＤＭＡコントローラ１４２、ＲＡＭ１４３、ＲＯＭ１４４、第１のメモリコントローラ１４５、第１のメモリ用データバッファ１４６を含む。シーケンサ１４１は第１の不揮発性メモリコントローラ１４の制御を行う制御部であり、ＲＯＭ１４４に格納されたマイクロコードにより各種処理が実施される。
【００２５】
ここでシーケンサ１４１は第１の不揮発性メモリコントローラ１４内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
【００２６】
ＤＭＡコントローラ１４２は、第１の不揮発性メモリコントローラ１４内の各部、および、第１の無線回路１６内の第１の無線用データバッファ１６１間における各種データのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を制御する制御部である。
【００２７】
第１のメモリコントローラ１４５は、第１の不揮発性メモリ１５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。
【００２８】
第１のメモリ用データバッファ１４６は、第１の不揮発性メモリ１５に対するアクセス時に発生する各種データを格納するバッファである。本実施の形態における第１の不揮発性メモリコントローラ１４は、ＣＰＵ１１からＦＳ転送リスト１２１が入力され、シーケンサ１４１がＦＳ転送リスト１２１を解釈し、ローカルメモリである第１の不揮発性メモリ１５、リモートメモリである第２の不揮発性メモリ２５に対するアクセスを行う。
【００２９】
図３において第２の不揮発性メモリコントローラ２４は、シーケンサ２４１、ＤＭＡコントローラ２４２、ＲＡＭ２４３、ＲＯＭ２４４、第２のメモリコントローラ２４５、第２のメモリ用データバッファ２４６を含む。シーケンサ２４１は第２の不揮発性メモリコントローラ２４の制御を行う制御部であり、ＲＯＭ２４４に格納されたマイクロコードにより各種処理が実施される。
【００３０】
ここでシーケンサ２４１は第２の不揮発性メモリコントローラ２４内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
【００３１】
ＤＭＡコントローラ２４２は、第２の不揮発性メモリコントローラ２４内の各部、および、第２の無線回路２６内の第２の無線用データバッファ２６１間における各種データのＤＭＡ転送を制御する制御部である。
【００３２】
第２のメモリコントローラ２４５は、第２の不揮発性メモリ２５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。第２の不揮発性メモリコントローラ２４は基本的には第１の不揮発性メモリコントローラ１４の構成と同様である。
【００３３】
このような構成により、本実施の形態では、第１の無線アクセス装置１内のファイルシステム制御部１３２が、自装置内の第１の不揮発性メモリ１５をローカルメモリとして、第２の無線アクセス装置２内の第２の不揮発性メモリ２５をリモートメモリとして管理し、ファイルコピー制御部１３４、および、第１の不揮発性メモリコントローラ１４の協調動作により、高速ファイルコピーを実現する。以下、本実施の形態の高速ファイルコピーの詳細について説明する。
【００３４】
本実施の形態の高速ファイルコピー処理において、ファイルコピー制御部１３４が生成するＦＳ転送リスト１２１に基づき第１の不揮発性メモリコントローラ１４が実際のデータコピー処理を実施する。ＦＳ転送リスト１２１の詳細は後述するが、このＦＳ転送リスト１２１はファイルシステム管理情報に含まれる領域管理情報を基に生成されるため、ファイルシステム管理情報との関連がある。そのため、ここではファイルシステムの一例としてＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムの説明を行う。本実施の形態ではＦＡＴファイルシステムを一例として説明するが、本開示はファイルシステムの種別に限定されるものではなく、ＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｃ  Ｆｏｒｍａｔ）やＮＴＦＳ（ＮＴ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等、他のファイルシステムにも適用することが可能である。
【００３５】
図４はＦＡＴファイルシステムの構成図である。ＦＡＴファイルシステムでは管理単位のビット幅の違いにより、ＦＡＴ１２（１２ビットのクラスタ識別子を利用したＦＡＴ）、ＦＡＴ１６（１６ビットのクラスタ識別子を利用したＦＡＴ）、ＦＡＴ３２（３２ビットのクラスタ識別子を利用したＦＡＴ）等の種類が存在するが、ＦＡＴによる領域管理方法は同じであり、以下ではＦＡＴ１６を例に説明する。同図に示すようにＦＡＴファイルシステムは、論理アドレス空間の先頭に領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域３０１と実際のファイルデータやディレクトリが存在する領域のユーザデータ領域３０２で構成される。
【００３６】
ファイルシステム管理情報領域３０１は、マスターブートレコード・パーティションテーブル３０３、パーティションブートセクタ３０４、第１のＦＡＴ３０５、第２のＦＡＴ３０６、ルートディレクトリエントリ３０７と呼ばれるファイルシステムの管理情報を含み、ユーザデータ領域３０２を管理するために必要な情報である。マスターブートレコード・パーティションテーブル３０３は、ファイルシステムの管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。パーティションブートセクタ３０４は、パーティション内の領域管理単位の大きさなど、１つのパーティション内の管理情報が格納される領域である。第１のＦＡＴ３０５、第２のＦＡＴ３０６は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ２つのＦＡＴが存在し、例えば一方のＦＡＴである第１のＦＡＴ３０５が破損したとしても他方のＦＡＴである第２のＦＡＴ３０６によりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリ３０７は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報（ディレクトリエントリ）が格納される領域である。
【００３７】
ユーザデータ領域３０２は、５１２バイトから３２ＫＢ程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、第１のＦＡＴ３０５、第２のＦＡＴ３０６に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報であるディレクトリエントリは、このユーザデータ領域３０２の一部を利用して格納される。
【００３８】
図５はＦＡＴ１６のディレクトリエントリの構成図である。ディレクトリエントリ３０８は１つのファイル、ディレクトリ毎に３２バイトのディレクトリエントリ３０８が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、１つのファイルやディレクトリが追加される度に３２バイトのディレクトリエントリ３０８の情報が新規に作成され、ルートディレクトリエントリ３０７の領域、あるいはユーザデータ領域３０２に記録される。ディレクトリエントリ３０８の先頭８バイトにはファイルやディレクトリの名称が格納される。次に続く３バイトにはファイルやディレクトリの拡張子が格納される。次に続く１バイトにはファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。さらに、予約領域があり、次にファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
【００３９】
このようにディレクトリエントリ３０８はファイルの先頭データを格納したクラスタの位置に関する情報しか保持しないため、ファイルデータが複数クラスタに跨って格納される場合には、その位置情報は第１のＦＡＴ３０５、第２のＦＡＴ３０６に保持される。すなわち、ファイルを更新する場合にはファイルデータを書き込むと共に、ディレクトリエントリ３０８、第１のＦＡＴ３０５、第２のＦＡＴ３０６の情報も書き込む必要がある。
【００４０】
図６Ａ、図６Ｂ、図６ＣはＦＡＴ１６のＦＡＴファイルシステムにおけるファイルシステム管理情報、ユーザデータの一例を示した説明図である。図６Ａはディレクトリエントリ３０８の一例であり“ＦＩＬＥ１．ＴＸＴ”という名称の６００００バイトのサイズを持つファイルが格納されていることを示している。また、このファイルのデータ本体が論理クラスタ番号２から始まる領域に格納されていることを示している。図６ＢはＦＡＴ１６における第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例を示している。第１のＦＡＴ３０５、第２のＦＡＴ３０６先頭の４バイトはシグネチャとして固定の値が格納されているが、それ以外の領域は、１６ビット単位で各々ユーザデータ領域３０２内の論理クラスタに対応付けされている。例えば、第１のＦＡＴ３０５、第２のＦＡＴ３０６の先頭のシグネチャ直後の１６ビットは、論理クラスタ番号２にその後の１６ビットは論理クラスタ番号３に対応付けされており、以下昇順に論理クラスタ番号に対応付けされている。各々の１６ビットに格納される値は、対応付けされた論理クラスタ番号の状態を示しており、例えば０ｘ００００の場合には、対応付けされた論理クラスタ番号の領域が空きクラスタであることを意味し、０ｘ０００２〜０ｘＦＦＦ６の場合には、対応付けされた論理クラスタ番号の領域にリンクされた次の領域の論理クラスタ番号を意味し、０ｘＦＦＦ８〜０ｘＦＦＦＦの場合には、対応付けされた論理クラスタ番号の領域がリンク終端であることを意味する。すなわち図６Ｂの第１のＦＡＴ３０５、第２のＦＡＴ３０６の例では論理クラスタ番号２、３、４、５の領域が“ＦＩＬＥ１．ＴＸＴ”のデータ本体を格納していることを示している。さらに、図６Ｃのユーザデータ領域３０２の例では、実際に論理クラスタ番号２、３、４、５の領域が“ＦＩＬＥ１．ＴＸＴ”のデータ本体を格納していることを示している。
【００４１】
このようにＦＡＴファイルシステムでは、第１のＦＡＴ３０５、第２のＦＡＴ３０６によりユーザデータ領域３０２の管理をしており、本実施の形態では、第１のＦＡＴ３０５、第２のＦＡＴ３０６を基にＦＳ転送リスト１２１を生成し、ファイルコピー処理に使用する。
【００４２】
続いて本実施の形態におけるファイルコピー処理手順の概要について説明する。図７は、ファイルコピー処理手順のフローを示す図である。本実施の形態におけるファイルコピー処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４と、第１の不揮発性メモリコントローラ１４、第２の無線アクセス装置２内の第２の不揮発性メモリコントローラ２４により、ＦＳ転送リスト１２１を用いて第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へ、または第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へ高速ファイルコピーを実現する。本実施の形態におけるファイルコピー処理は、以下の５つのＳｔｅｐで構成される。
【００４３】
（Ｓｔｅｐ１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１の不揮発性メモリコントローラ１４を介して、第１の不揮発性メモリ１５からファイルシステム管理情報を読み出す。これにより第１の不揮発性メモリ１５上に存在する転送元ファイルのデータ本体が格納されている論理アドレス、あるいは、第１の不揮発性メモリ１５上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレスを特定する。
【００４４】
（Ｓｔｅｐ２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第２の不揮発性メモリコントローラ２４を介して、第２の不揮発性メモリ２５からファイルシステム管理情報を読み出す。これにより第２の不揮発性メモリ２５上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレス、あるいは、第２の不揮発性メモリ２５上に存在する転送元ファイルのデータ本体が格納されている論理アドレスを特定する。
【００４５】
（Ｓｔｅｐ３）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ１、Ｓｔｅｐ２で読み出したファイルシステム管理情報を基に、ＦＳ転送リスト１２１を生成する。
【００４６】
（Ｓｔｅｐ４）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ３で生成したＦＳ転送リスト１２１を第１の不揮発性メモリコントローラ１４に送信し、ファイルコピー処理を指示する。以降、ファイルコピー処理が完了するまで、実際のコピー処理は第１の不揮発性メモリコントローラ１４で実施され、ＣＰＵ１１上で動作するファイルコピー制御部１３４はファイルコピー処理の完了が通知されるまで待機する。
【００４７】
（Ｓｔｅｐ５）第１の不揮発性メモリコントローラ１４が、Ｓｔｅｐ４で送信されたＦＳ転送リスト１２１を受信し、記載内容に従い、実際にデータのコピー処理を実施する。
【００４８】
このように本実施の形態におけるファイルコピー処理は、ＣＰＵ１１上で動作するファイルコピー制御部１３４がＦＳ転送リスト１２１を生成し、実際のコピー処理はＦＳ転送リスト１２１を基に第１の不揮発性メモリコントローラ１４が実施する。これにより、実際にデータをコピーする際にはＣＰＵ１１、および、第１の内部バス１７は関与しないため、これらの能力に依存することなく、高速にファイルコピーを実施できる。
【００４９】
続いて、図８を用いてＳｔｅｐ１の処理手順の詳細について説明する。Ｓｔｅｐ１の処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４と第１の不揮発性メモリコントローラ１４により、第１の不揮発性メモリ１５からファイルシステム管理情報を読み出す。Ｓｔｅｐ１の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へのファイルコピーのいずれの場合にも共通な処理である。
【００５０】
（Ｓ８０１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のＦＡＴ３０５、第２のＦＡＴ３０６やディレクトリエントリ３０８等のファイルシステム管理情報から、第１の不揮発性メモリ１５上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル３０３の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
【００５１】
（Ｓ８０２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ８０１の処理で特定した論理アドレスに対するＲｅａｄ指示を第１の不揮発性メモリコントローラ１４に発行する。
【００５２】
（Ｓ８０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ８０２の処理において発行されたＲｅａｄ指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。第１の不揮発性メモリ１５として使用される記録媒体には、ＳＤメモリカードやＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）接続方式で接続されたハードディスク等が存在するが、これら各々の記録媒体にはアクセスのためのプロトコルが規定されている。ここでは、第１の不揮発性メモリ１５にアクセスするための各種プロトコルに従い、読み出し処理を実施するために必要なコマンドパケットを生成する。
【００５３】
（Ｓ８０４）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ８０３の処理において生成したコマンドパケットを第１のメモリコントローラ１４５に入力する。
【００５４】
（Ｓ８０５）第１の不揮発性メモリコントローラ１４内部の第１のメモリコントローラ１４５が、入力されたコマンドパケットを第１の不揮発性メモリ１５に送信し、第１の不揮発性メモリ１５からデータを読み出す。読み出したデータは、第１のメモリ用データバッファ１４６に格納される。
【００５５】
（Ｓ８０６）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｒｅａｄ処理が完了した旨をＣＰＵ１１上で動作するファイルコピー制御部１３４に通知する。
【００５６】
（Ｓ８０７）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のメモリ用データバッファ１４６から第１の無線アクセス装置１内のＲＡＭ１２に読み出したデータを転送する。この処理により、１回のファイルシステム管理情報の読み出し処理が完了する。
【００５７】
（Ｓ８０８）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか否かを確認する。ファイルシステム管理情報の読み出しが完了していない場合は、Ｓ８０１の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Ｓｔｅｐ１の処理を終了する。例えば、ＦＡＴファイルシステムの場合、ファイルにアクセスするためには、マスターブートレコード・パーティションテーブル３０３、パーティションブートセクタ３０４、第１のＦＡＴ３０５、第２のＦＡＴ３０６、ルートディレクトリエントリ３０７の領域を順に読み出し、更に必要に応じて、サブディレクトリのディレクトリエントリ３０８を読み出す。これらを読み出すためにファイルシステム管理情報に対して、Ｓ８０１からＳ８０７までの処理を繰り返し実施する。
【００５８】
続いて、図９を用いてＳｔｅｐ２の処理手順の詳細について説明する。Ｓｔｅｐ２の処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４と第１の不揮発性メモリコントローラ１４、第２の無線アクセス装置２により、第２の不揮発性メモリ２５からファイルシステム管理情報を読み出す。Ｓｔｅｐ２の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へのファイルコピーのいずれの場合にも共通な処理となる。
【００５９】
（Ｓ９０１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のＦＡＴ３０５、第２のＦＡＴ３０６やディレクトリエントリ３０８等のファイルシステム管理情報から、第２の不揮発性メモリ２５上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル３０３の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
【００６０】
（Ｓ９０２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ９０１の処理で特定した論理アドレスに対するＲｅａｄ指示を第１の不揮発性メモリコントローラ１４に発行する。
【００６１】
（Ｓ９０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１は、Ｓ９０２の処理において発行されたＲｅａｄ指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。
【００６２】
（Ｓ９０４）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ９０３の処理において生成したコマンドパケットをペイロードに含んで無線パケットを生成し、第１の無線回路１６を介して第２の無線アクセス装置２に送信する。
【００６３】
（Ｓ９０５）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ９０４の処理において無線送信された無線パケットを第２の無線回路２６を介して受信し、無線パケット内のペイロード部分に格納された読み出しを実施するためのコマンドパケット（Ｒｅａｄコマンド）を取り出し、第２のメモリコントローラ２４５に入力する。
【００６４】
（Ｓ９０６）第２の不揮発性メモリコントローラ２４内部の第２のメモリコントローラ２４５が、入力されたコマンドパケットを第２の不揮発性メモリ２５に送信し、第２の不揮発性メモリ２５からデータを読み出す。読み出したデータは、第２のメモリ用データバッファ２４６に格納される。
【００６５】
（Ｓ９０７）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ９０６の処理において読み出したデータをペイロードに含んだ無線パケットを第２のメモリ用データバッファ２４６上に生成する。
【００６６】
（Ｓ９０８）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、ＤＭＡコントローラ２４２を制御し、Ｓ９０７の処理において生成した無線パケットを第２のメモリ用データバッファ２４６から第２の無線用データバッファ２６１にＤＭＡ転送する。
【００６７】
（Ｓ９０９）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、第２の無線回路２６を介して、第２の無線用データバッファ２６１上に存在する無線パケットを第１の無線アクセス装置１に送信する。
【００６８】
（Ｓ９１０）Ｓ９０９の処理により第２の無線アクセス装置２から送信されてきた無線パケットを第１の無線回路１６が受信すると、受信した無線パケットを第１の無線用データバッファ１６１に格納する。その後、第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＤＭＡコントローラ１４２を制御し、第１の無線用データバッファ１６１上の無線パケット内のペイロード部分に格納されたＲｅａｄデータを、第１のメモリ用データバッファ１４６にＤＭＡ転送する。
【００６９】
（Ｓ９１１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｒｅａｄ処理が完了した旨をＣＰＵ１１上で動作するファイルコピー制御部１３４に通知する。
【００７０】
（Ｓ９１２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のメモリ用データバッファ１４６から第１の無線アクセス装置１内のＲＡＭ１２にＲｅａｄデータを転送する。この処理により、１回のファイルシステム管理情報読み出し処理が完了する。
【００７１】
（Ｓ９１３）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか確認する。ファイルシステム管理情報の読み出しが完了していない場合は、Ｓ９０１の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Ｓｔｅｐ２の処理を終了する。
【００７２】
続いて、図１０を用いてＳｔｅｐ３からＳｔｅｐ５の処理手順の詳細について説明する。Ｓｔｅｐ３からＳｔｅｐ５の処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ１、Ｓｔｅｐ２で読み出したファイルシステム管理情報を基にＦＳ転送リスト１２１を生成し、第１の不揮発性メモリコントローラ１４に入力することにより、第１の不揮発性メモリコントローラ１４が実際のデータコピー処理を実施する。図１０で説明する処理は、Ｓｔｅｐ５の詳細処理内容を除き、ローカルメモリからリモートメモリへのファイルコピー、すなわち第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へのファイルコピーのいずれの場合にも共通な処理となる。
【００７３】
（Ｓ１００１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ１、Ｓｔｅｐ２で読み出したファイルシステム管理情報を基に、ＦＳ転送リスト１２１を生成する。
【００７４】
図１３はＦＳ転送リスト１２１の一例を示す図である。図１３に示すように、コピー先とコピー元の転送方向を示す転送方向、コピー先とコピー元のファイルデータが格納されている領域の論理アドレス、転送サイズを示す転送クラスタ数が含まれたリストである。転送方向は、“Ｌ  ｔｏ  Ｒ”と“Ｒ  ｔｏ  Ｌ”の２種類で、“Ｌ  ｔｏ  Ｒ”がローカルメモリである第１の不揮発性メモリ１５からリモートメモリである第２の不揮発性メモリ２５へのコピーを意味し、“Ｒ  ｔｏ  Ｌ”がリモートメモリである第２の不揮発性メモリ２５からローカルメモリである第１の不揮発性メモリ１５へのコピーを意味する。転送元論理アドレスは、コピー元のファイルデータが格納されている領域の開始論理アドレスを示す。転送先論理アドレスは、コピー先のファイルデータを格納する領域の開始論理アドレスを示す。転送クラスタ数は、コピーするデータのサイズをクラスタ数で示す。図１３では、転送元論理アドレス、転送先論理アドレス、転送クラスタ数共に、ファイルシステムの論理的な領域管理単位である３２ＫＢ等のクラスタ単位で管理する例を示しているが、コピー領域を特定できる情報であれば何でも良く、不揮発性メモリの最小アクセス単位である５１２Ｂ等のセクタ単位で管理する等、クラスタ以外の単位で管理しても良い。
【００７５】
次に、図１１、図１２を用いて、ＦＳ転送リスト１２１の生成手順について説明する。図１１は転送元、すなわちローカルメモリである第１の不揮発性メモリ１５上に構築されたＦＡＴファイルシステムに含まれる第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例であり、図１２は転送先、すなわちリモートメモリである第２の不揮発性メモリ２５上に構築されたＦＡＴファイルシステムの第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例である。また、転送するファイルは、論理クラスタ番号“０ｘ０００２”の論理アドレス領域から始まり、“０ｘ００１０”の論理アドレス領域で終了する一連のリンク上にデータが格納されているとする。まず始めに転送元の第１のＦＡＴ３０５、第２のＦＡＴ３０６上のコピー開始位置から始まる一つの連続領域長を算出する。図１１の場合、論理クラスタ番号“０ｘ０００２”から“０ｘ０００４”のクラスタ数“３クラスタ”が一つの連続領域長となる。次に、転送先の第１のＦＡＴ３０５、第２のＦＡＴ３０６上の先頭から、一つの連続空き領域長を算出する。図１２の場合、論理クラスタ番号“０ｘ０００３”、“０ｘ０００４”のクラスタ数“２クラスタ”が一つの連続空き領域長となる。続いて、図１１の連続空き領域長と図１２の連続空き領域長の両者を比較し、小さい値を一回の転送クラスタ数と決定する。上記の例の場合、より小さな数値である図１２の連続空き領域長の“２クラスタ”が一回の転送クラスタ数となる。最後にこれらの値をＦＳ転送リスト１２１に記載し、以降、転送元ファイルの終端まで、同様の処理を継続する。具体的には、図１３に示すようにＦＳ転送リスト１２１の１行目に転送方向“Ｌ  ｔｏ  Ｒ”、転送元論理アドレス“０ｘ０００２”、転送先論理アドレス“０ｘ０００３”、転送クラスタ数“２”が格納され、２行目には引き続く領域から探索した際に得られる値として転送方向“Ｌ  ｔｏ  Ｒ”、転送元論理アドレス“０ｘ０００４”、転送先論理アドレス“０ｘ０００８”、転送クラスタ数“１”が格納される。以降、同様に転送元論理アドレスが“０ｘ００１０”になるまでＦＳ転送リスト１２１に値が追記される。
【００７６】
（Ｓ１００２）続いて、ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ１００１の処理で生成したＦＳ転送リスト１２１を、第１の不揮発性メモリコントローラ１４に送信し、コピーを指示する。以降、コピー処理は第１の不揮発性メモリコントローラ１４により実施され、ＣＰＵ１１上で動作するファイルコピー制御部１３４はコピー処理完了まで待機する。
【００７７】
（Ｓ１００３）第１の不揮発性メモリコントローラ１４が、Ｓ１００２の処理で送信されたＦＳ転送リスト１２１の内容を解析し、実際にコピー処理を実施する。コピー処理の詳細については後述する。
【００７８】
（Ｓ１００４）第１の不揮発性メモリコントローラ１４が、Ｓ１００３のコピー処理が完了すると、ＣＰＵ１１上で動作するファイルコピー制御部１３４にその旨を通知する。
【００７９】
（Ｓ１００５）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ１００４の処理で通知されたコピー処理完了通知を受信すると、コピー処理が完了したことを認識し、処理を終了する。
【００８０】
このように、本実施の形態におけるファイルコピー処理では、ＦＳ転送リスト１２１の生成までをＣＰＵ１１上で動作するファイルコピー制御部１３４が実施し、以降の実際のコピー処理を第１の不揮発性メモリコントローラ１４が実施する。これにより実際のコピー処理にはＣＰＵ１１、第１の内部バス１７が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
【００８１】
また、上記ファイルコピー処理の説明では、ファイルデータ本体のコピーについてのみ記載しているが、実際には、コピー先ファイルに関する情報を、コピー先の不揮発性メモリ内に存在する第１のＦＡＴ３０５、第２のＦＡＴ３０６やディレクトリエントリ３０８に書き込む。これらファイルシステム管理情報の更新処理はファイルシステム制御部１３２において従来のファイルシステム管理情報の更新処理と同様のため、詳細説明を割愛する。これらファイルシステム管理情報の更新処理は、図１０で説明したファイルコピー処理の前後のいずれかのタイミングで実施すれば良い。
【００８２】
続いて、図１４を用いてＳｔｅｐ５のＦＳ転送リスト１２１を用いたコピー処理における、ローカルメモリである第１の不揮発性メモリ１５からリモートメモリである第２の不揮発性メモリ２５にコピーする場合の詳細処理手順について説明する。
【００８３】
（Ｓ１４０１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＦＳ転送リスト１２１の先頭から行単位で参照し、転送方向を確認する。図１３のＦＳ転送リスト１２１の例では、１行目の転送方向が“Ｌ  ｔｏ  Ｒ”となっており、シーケンサ１４１はローカルメモリからリモートメモリへのコピーであることを認識する。
【００８４】
（Ｓ１４０２）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０１で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、ローカルメモリからのデータ読み出しを行う。そのため、ＦＳ転送リスト１２１上の転送元論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する読み出しを実施するため、必要なコマンドパケットを生成する。
【００８５】
（Ｓ１４０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０２の処理において生成したコマンドパケットを第１のメモリコントローラ１４５に入力する。
【００８６】
（Ｓ１４０４）第１の不揮発性メモリコントローラ１４内部の第１のメモリコントローラ１４５が、入力されたコマンドパケットを第１の不揮発性メモリ１５に送信し、第１の不揮発性メモリ１５からデータを読み出す。読み出したデータは、第１のメモリ用データバッファ１４６に格納する。
【００８７】
（Ｓ１４０５）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０１で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、リモートメモリへのデータ書き込みを行う。そのため、ＦＳ転送リスト１２１上の転送先論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する書き込みを実施するためのコマンドパケットを生成する。
【００８８】
（Ｓ１４０６）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０４で読み出したデータ、Ｓ１４０５の処理で生成したコマンドパケットをペイロードに含んだ無線パケットを第１のメモリ用データバッファ１４６上に生成する。
【００８９】
（Ｓ１４０７）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０６で生成した無線パケットを、ＤＭＡコントローラ１４２を制御して、第１の無線用データバッファ１６１にＤＭＡ転送する。
【００９０】
（Ｓ１４０８）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０７で第１の無線用データバッファ１６１に転送した無線パケットを、第１の無線回路１６を介して、第２の無線アクセス装置２に送信する。
【００９１】
（Ｓ１４０９）Ｓ１４０８の処理により第１の無線アクセス装置１から送信されてきた無線パケットを第２の無線回路２６が受信すると、受信した無線パケットを第２の無線用データバッファ２６１に格納する。その後、第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、ＤＭＡコントローラ２４２を制御し、第２の無線用データバッファ２６１上の無線パケット内のペイロード部分に格納されたデータを、第２のメモリ用データバッファ２４６にＤＭＡ転送する。
【００９２】
（Ｓ１４１０）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ１４０８の処理により第１の無線アクセス装置１から送信されてきた無線パケット内のペイロード部分に格納された書き込みを実施するためのコマンドパケット（Ｗｒｉｔｅコマンド）を取り出し、第２のメモリコントローラ２４５に入力する。
【００９３】
（Ｓ１４１１）第２の不揮発性メモリコントローラ２４内部の第２のメモリコントローラ２４５が、入力されたコマンドパケットを第２の不揮発性メモリ２５に送信し、第２のメモリ用データバッファ２４６に格納されたデータを第２の不揮発性メモリ２５に書き込む。更に、書き込みが完了した後、Ｗｒｉｔｅ完了通知を含む無線パケットを生成し、第２の無線回路２６を介して第１の無線アクセス装置１に送信する。
【００９４】
（Ｓ１４１２）Ｓ１４１１の処理により第２の無線アクセス装置２から送信されてきた無線パケットを第１の無線回路１６が受信し、第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１がＷｒｉｔｅ完了を認識すると、ＦＳ転送リスト１２１内に未処理のリストが存在するか確認する。ＦＳ転送リスト１２１の終端まで来ておらず未処理のリストが存在する場合、Ｓ１４０１の処理に戻り、残りのリストに対する処理を継続する。ＦＳ転送リスト１２１の終端で未処理のリストが存在しない場合、Ｓ１４１３の処理に進む。
【００９５】
（Ｓ１４１３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＣＰＵ１１上で動作するファイルコピー制御部１３４にコピー処理完了を通知し、処理を終了する。
【００９６】
続いて、図１５を用いてＳｔｅｐ５のＦＳ転送リスト１２１を用いたコピー処理における、リモートメモリである第２の不揮発性メモリ２５からローカルメモリである第１の不揮発性メモリ１５にコピーする場合の詳細処理手順について説明する。
【００９７】
（Ｓ１５０１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＦＳ転送リスト１２１の先頭から行単位で参照し、転送方向を確認する。ここでは転送方向として“Ｒ  ｔｏ  Ｌ”が格納されており、リモートメモリからローカルメモリにコピーする場合を想定する。
【００９８】
（Ｓ１５０２）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５０１で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、リモートメモリからのデータ読み出しを行う。そのため、ＦＳ転送リスト１２１上の転送元論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する読み出しを実施するコマンドパケットを生成する。
【００９９】
（Ｓ１５０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５０２の処理において生成したコマンドパケットをペイロードに含んだ無線パケットを生成し、第１の無線回路１６を介して、第２の無線アクセス装置２に送信する。
【０１００】
（Ｓ１５０４）Ｓ１５０３の処理により第１の無線アクセス装置１から送信された無線パケットを第２の無線回路２６が受信すると、受信した無線パケットを第２の無線用データバッファ２６１に格納する。その後、第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、無線パケット内のペイロード部分に格納された読み出しを実施するコマンドパケット（Ｒｅａｄコマンド）を取り出し、第２のメモリコントローラ２４５に入力する。
【０１０１】
（Ｓ１５０５）第２の不揮発性メモリコントローラ２４内部の第２のメモリコントローラ２４５が、入力されたコマンドパケットを第２の不揮発性メモリ２５に送信し、第２の不揮発性メモリ２５から第２のメモリ用データバッファ２４６にデータを読み出す。
【０１０２】
（Ｓ１５０６）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ１５０５の処理で読み出したデータを第２のメモリ用データバッファ上で無線パケット化する。
【０１０３】
（Ｓ１５０７）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、ＤＭＡコントローラ２４２を制御し、第２のメモリ用データバッファ２４６上の無線パケットを、第２の無線用データバッファ２６１にＤＭＡ転送する。
【０１０４】
（Ｓ１５０８）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、第２の無線回路２６を介して第２の無線用データバッファ２６１上の無線パケットを、第１の無線アクセス装置１に送信する。
【０１０５】
（Ｓ１５０９）Ｓ１５０８の処理により第２の無線アクセス装置２から送信されてきた無線パケットを第１の無線回路１６が受信すると、受信した無線パケットを第１の無線用データバッファ１６１に格納する。その後、第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、無線パケット内のペイロード部分に格納されたデータを取り出し、ＤＭＡコントローラ１４２を制御し、第１のメモリ用データバッファ１４６にＤＭＡ転送する。
【０１０６】
（Ｓ１５１０）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５０１で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、ローカルメモリへのデータ書き込みを行う。そのため、ＦＳ転送リスト１２１上の転送先論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する書き込みを実施するコマンドパケットを生成する。
【０１０７】
（Ｓ１５１１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５１０の処理で生成したコマンドパケット（Ｗｒｉｔｅコマンド）を、第１のメモリコントローラ１４５に入力する。
【０１０８】
（Ｓ１５１２）第１の不揮発性メモリコントローラ１４内部の第１のメモリコントローラ１４５が、入力されたコマンドパケットを第１の不揮発性メモリ１５に送信し、第１のメモリ用データバッファ１４６に格納されたＲｅａｄデータを第１の不揮発性メモリ１５に書き込む。
【０１０９】
（Ｓ１５１３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５１２の書き込み処理が完了した後、ＦＳ転送リスト１２１内に未処理のリストが存在するか確認する。ＦＳ転送リスト１２１の終端まで来ておらず未処理のリストが存在する場合、Ｓ１５０１の処理に戻り、残りのリストに対する処理を継続する。ＦＳ転送リスト１２１の終端で未処理のリストが存在しない場合、Ｓ１５１４の処理に進む。
【０１１０】
（Ｓ１５１４）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＣＰＵ１１上で動作するファイルコピー制御部１３４にコピー処理完了を通知し、処理を終了する。
【０１１１】
このように、本実施の形態におけるＦＳ転送リスト１２１を用いたコピー処理では、第１の不揮発性メモリコントローラ１４がＦＳ転送リスト１２１の内容に従い自律的にローカルメモリからリモートメモリへのコピー処理を実施する。
【０１１２】
以上のように、本実施の形態の無線アクセス装置では、ローカルメモリ、リモートメモリ間のファイルコピーを実施する際、無線アクセス装置内のＣＰＵ１１上で動作するファイルコピー制御部１３４がＦＳ転送リスト１２１を生成、第１の不揮発性メモリコントローラ１４に入力し、以降の実際のコピー処理を第１の不揮発性メモリコントローラ１４が入力されたＦＳ転送リスト１２１に基づき実施する。これにより実際のコピー処理にはＣＰＵ１１、第１の内部バス１７が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
【０１１３】
尚、本開示を上記の実施形態に基づいて説明してきたが、上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施変更することができる。本実施の形態で記載された数値は一例であり、他の値を使用しても良い。
【０１１４】
また、図１の説明においてファイルコピー制御部１３４が動作するＣＰＵ１１と、第１の不揮発性メモリコントローラ１４が、同一の第１の無線アクセス装置１内に含まれている構成について説明したが、その他の構成としても良い。
【０１１５】
例えば第１の無線アクセス装置１を、図１６に示すように第１のアクセス装置３と、第１の無線情報記録装置４の２つに分離して構成する。具体的には、第１のアクセス装置３は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、外部バスコントローラ１９を含み、これらが第１の内部バス１７で互いに接続されている。第１の無線情報記録装置４は、第１の不揮発性メモリコントローラ１４に接続された第１の不揮発性メモリ１５と外部バスコントローラ４１、第２の内部バス１８で接続された第１の無線回路１６を含む。外部バスコントローラ１９と外部バスコントローラ４１はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＰＣＩ  Ｅｘｐｒｅｓｓ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）等の外部バスコントローラであり、これらを介して第１のアクセス装置３と第１の無線情報記録装置４は接続される構成としても良い。
【０１１６】
このような構成とすることで、第１のアクセス装置３側はＲＯＭ１３にファイルコピー制御部１３４に相当するソフトウェアを組み込むことにより、従来のアクセス装置のハードウェア構成そのままを流用して、本開示を適用することが可能となる。
【０１１７】
また、図１３のＦＳ転送リスト１２１を一例として説明したが、ローカルメモリ、リモートメモリ間でデータのコピーが実施できる十分な情報が含まれていれば、本形式に限定されることはなく、その他の形式としても良い。
【０１１８】
例えば、図１７に示すようなＦＳ転送リスト１２２を用いてもよい。ＦＳ転送リスト１２２に示すように、１つの転送元領域を２箇所以上の転送先領域に対応付け、データがコピーされるようにしても良い。例えば、図１７はｎが２の例であり、リスト番号１に含まれる情報として、“０ｘ０００２”から始まる連続した３クラスタ分の転送元の論理アドレス領域を、“０ｘ０００３”から始まる連続した２クラスタ分の転送先の論理アドレス領域と、“０ｘ０００８”の１クラスタ分の転送先の論理アドレス領域に対応付けている。
【０１１９】
また別の一例として図１８に示すようなＦＳ転送リスト１２３を用いてもよい。図１８はｎが２の例であり、ＦＳ転送リスト１２３に示すように、ＦＳ転送リスト１２２とは逆に１つの転送先領域を２箇所以上の転送元領域に対応付け、データがコピーされるようにしても良い。例えば、図１８の例では、リスト番号５に含まれる情報として、“０ｘ００１５”から始まる連続した２クラスタ分の転送先の論理アドレス領域を、“０ｘ０００Ｄ”、“０ｘ００１０”の２クラスタ分の転送元の論理アドレス領域に対応付け、データがコピーされるようにしても良い。図１７、図１８のいずれの例でも、１対１の対応付けとなっているリスト番号には、転送先論理アドレス２、あるいは転送元論理アドレス２の領域に“０ｘＦＦＦＦ”という無効な論理アドレスが設定されている。
【０１２０】
このように、転送先論理アドレスと転送元論理アドレスの対応が、１対ｎ（ｎは２以上の整数）、あるいはｎ対１（ｎは２以上の整数）のＦＳ転送リストを生成することにより、ＦＳ転送リストのサイズを削減し、コピー処理を最適化することが可能となる。更に、両者を組み合わせ、１対ｎ、ｎ対１の設定が混在するＦＳ転送リストを生成しても良い。
【０１２１】
図１９は１対ｎ、ｎ対１の両方を組み合わせたＦＳ転送リスト１２４の例を示している。ＦＳ転送リスト１２４の説明のために、図１１の転送元である第１の不揮発性メモリ１５上に構築されたＦＡＴファイルシステムに含まれる第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例と、図２０の転送先である第２の不揮発性メモリ２５上に構築されたＦＡＴファイルシステムの第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例を用いる。図１９はｎが２の例である。リスト番号１に含まれる情報として、“０ｘ０００２”から始まる連続した３クラスタ分の転送元の論理アドレス領域を“０ｘ０００３”から始まる連続した２クラスタ分と“０ｘ０００８”から始まる１クラスタ分を転送先の論理アドレス領域に対応づける。リスト番号３に含まれる情報として、“０ｘ０００９”から始まる連続した５クラスタ分と“０ｘ００１０”から始まる１クラスタ分の転送元の論理アドレス領域を“０ｘ０００Ｆ”から始まる連続した６クラスタ分の転送先の論理アドレス領域を対応づける。リスト番号２は１対１の対応付けであり、転送先論理アドレス２、あるいは転送元論理アドレス２の領域に“０ｘＦＦＦＦ”という無効な論理アドレスが設定されている。
【０１２２】
このように、転送先論理アドレスと転送元論理アドレスの対応が、１対ｎ（ｎは２以上の整数）、ｎ対１（ｎは２以上の整数）の両方を混在させて生成することにより、転送先論理アドレスの連続する空きクラスタ数と転送先論理アドレスの連続する空きクラスタ数の様々な組み合わせに対応でき、コピー処理を最適化することが可能になる。
【０１２３】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【０１２４】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。
【０１２５】
そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１２６】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１２７】
ＰＣやタブレット、スマートフォン、ムービー、ＤＳＣ等のローカルメモリ、リモートメモリにデジタルデータを読み書きするアクセス装置と、無線経由で不揮発性メモリに対するアクセスを受け付け、リモートメモリとしてアクセスされることを許容する、無線機能を備えたメモリカード、リムーバブルハードディスク等の情報記録装置で有用である。
【符号の説明】
【０１２８】
１  第１の無線アクセス装置
２  第２の無線アクセス装置
３  第１のアクセス装置
４  第１の無線情報記録装置
１１，２１  ＣＰＵ
１２，２２  ＲＡＭ
１３，２３  ＲＯＭ
１４  第１の不揮発性メモリコントローラ
１５  第１の不揮発性メモリ
１６  第１の無線回路
１７，２７  第１の内部バス
１８，２８  第２の内部バス
１９，４１  外部バスコントローラ
２４  第２の不揮発性メモリコントローラ
２５  第２の不揮発性メモリ
２６  第２の無線回路
１００  無線アクセスシステム
１２１，１２２，１２３，１２４  ＦＳ転送リスト
１３１  アプリケーション制御部
１３２  ファイルシステム制御部
１３３  メモリアクセス制御部
１３４  ファイルコピー制御部
１４１，２４１  シーケンサ
１４２，２４２  ＤＭＡコントローラ
１４３，２４３  ＲＡＭ
１４４，２４４  ＲＯＭ
１４５  第１のメモリコントローラ
１４６  第１のメモリ用データバッファ
１６１  第１の無線用データバッファ
２４５  第２のメモリコントローラ
２４６  第２のメモリ用データバッファ
２６１  第２の無線用データバッファ
３０１  ファイルシステム管理情報領域
３０２  ユーザデータ領域
３０３  マスターブートレコード・パーティションテーブル
３０４  パーティションブートセクタ
３０５  第１のＦＡＴ
３０６  第２のＦＡＴ
３０７  ルートディレクトリエントリ
３０８  ディレクトリエントリ
【図１】
2014129160.tif 000003
【図２】
2014129160.tif 000004
【図３】
2014129160.tif 000005
【図４】
2014129160.tif 000006
【図５】
2014129160.tif 000007
【図６Ａ】
2014129160.tif 000008
【図６Ｂ】
2014129160.tif 000009
【図６Ｃ】
2014129160.tif 000010
【図７】
2014129160.tif 000011
【図８】
2014129160.tif 000012
【図９】
2014129160.tif 000013
【図１０】
2014129160.tif 000014
【図１１】
2014129160.tif 000015
【図１２】
2014129160.tif 000016
【図１３】
2014129160.tif 000017
【図１４】
2014129160.tif 000018
【図１５】
2014129160.tif 000019
【図１６】
2014129160.tif 000020
【図１７】
2014129160.tif 000021
【図１８】
2014129160.tif 000022
【図１９】
2014129160.tif 000023
【図２０】
2014129160.tif 000024
【手続補正書】
【提出日】平成27年5月28日(2015.5.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、無線接続された不揮発性メモリにアクセスする無線アクセス装置および、当該無線メモリアクセス機能を備えた無線アクセスシステムに関する。
【背景技術】
【０００２】
テキスト文書や、プレゼンテーションデータ、音楽コンテンツ、映像データ等の各種デジタルデータを記録する記録媒体として、磁気ディスク、光ディスク、ＵＳＢメモリ、フラッシュメモリカード等、様々な種類が存在する。従来これらの記録媒体は、データを管理するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＤＳＣ（Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｃａｍｅｒａ）やスマートフォン等のホスト機器に直接物理的に接続されるローカルストレージとして使用されるのが主流であった。
【０００３】
しかしながら、高速有線／無線ネットワークインフラの普及に伴うクラウド化の進展により、ネットワーク上のリモートストレージにアクセスする形態が様々な生活シーンで活用されつつある。
【０００４】
従来、このような形態の一例として、メモリカード自体に無線機能のみを搭載し、無線経由で外部のハードディスク等の大容量ストレージにアクセスしてデータの読み書きを実施するという方法が提案されている（例えば、特許文献１）。
【０００５】
この技術を用いることにより、無線ネットワークの先にある外部機器のメモリ（リモートメモリ）を、自機器に直接接続されたメモリ（ローカルメモリ）のように管理することができ、自機器の容量追加が容易に行えるようになる、リモートメモリを複数のホスト機器で同時に使用することができる等のメリットを享受することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００３／００１８８５２号明細書
【発明の概要】
【０００７】
本開示の無線アクセス装置および本開示の無線アクセスシステムは、第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置および無線アクセスシステムであって、第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、第２の不揮発性メモリ上に構築されたファイルシステムから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部と、第１の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、ファイルコピー制御部はＦＳ転送リストを不揮発性メモリコントローラに入力し、不揮発性メモリコントローラはＦＳ転送リストに基づき、第１の不揮発性メモリと、第２の不揮発性メモリとの間でコピーを実施することを特徴とする。
【０００８】
これにより、本開示は第１の不揮発性メモリと第２の不揮発性メモリ間でファイルコピーを行う場合において、無線アクセス装置内部のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、バス帯域の能力に依存せず、高速にファイルコピーを実施することが可能となる。
【０００９】
すなわち、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のＣＰＵ能力やバスの帯域幅に依存することなく、高速にファイルコピーを行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１における無線アクセス装置および無線アクセスシステムの構成図である。
【図２】図２は、実施の形態１における第１の不揮発性メモリコントローラの構成図である。
【図３】図３は、実施の形態１における第２の不揮発性メモリコントローラの構成図である。
【図４】図４は、実施の形態１におけるＦＡＴファイルシステムの構成図である。
【図５】図５は、実施の形態１におけるディレクトリエントリの構成図である。
【図６Ａ】図６Ａは、実施の形態１におけるＦＡＴファイルシステムのディレクトリエントリの一例を示した図である。
【図６Ｂ】図６Ｂは、実施の形態１におけるＦＡＴファイルシステムの第１のＦＡＴ、第２のＦＡＴの一例を示した図である。
【図６Ｃ】図６Ｃは、実施の形態１におけるＦＡＴファイルシステムのユーザデータ領域の一例を示した図である。
【図７】図７は、実施の形態１におけるファイルコピー処理手順の概要を示したフローチャートである。
【図８】図８は、実施の形態１におけるファイルコピー処理手順の詳細（Ｓｔｅｐ１）を示したフローチャートである。
【図９】図９は、実施の形態１におけるファイルコピー処理手順の詳細（Ｓｔｅｐ２）を示したフローチャートである。
【図１０】図１０は、実施の形態１におけるファイルコピー処理手順の詳細（Ｓｔｅｐ３〜５）を示したフローチャートである。
【図１１】図１１は、実施の形態１におけるＦＡＴテーブルの一例を示した説明図である。
【図１２】図１２は、実施の形態１におけるＦＡＴテーブルの別の一例を示した説明図である。
【図１３】図１３は、実施の形態１におけるＦＳ転送リストの一例を示した説明図である。
【図１４】図１４は、実施の形態１におけるＦＳ転送リストを用いたファイルコピー処理手順（ローカルメモリからリモートメモリへのコピー）の詳細を示したフローチャートである。
【図１５】図１５は、実施の形態１におけるＦＳ転送リストを用いたファイルコピー処理手順（リモートメモリからローカルメモリへのコピー）の詳細を示したフローチャートである。
【図１６】図１６は、実施の形態１における無線アクセス装置の他の例の構成を示した説明図である。
【図１７】図１７は、実施の形態１における１対ｎ（ｎは２以上の整数）の転送に対応したＦＳ転送リストの一例を示した説明図である。
【図１８】図１８は、実施の形態１におけるｎ対１（ｎは２以上の整数）の転送に対応したＦＳ転送リストの一例を示した説明図である。
【図１９】図１９は、実施の形態１におけるｎ対１（ｎは２以上の整数）と１対ｎ（ｎは２以上の整数）の転送に対応したＦＳ転送リストの一例を示した説明図である。
【図２０】図２０は、実施の形態１におけるＦＡＴテーブルのさらに別の一例を示した説明図である。
【発明を実施するための形態】
【００１１】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１２】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１３】
以下、本開示の無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムについて、図面を参照しつつ説明する。
【００１４】
（実施の形態１）
従来技術において、ネットワークの先にあるリモートメモリを自機器に直接接続されているローカルメモリと同様に管理してアクセスする場合、ローカルメモリに直接アクセスするデバイスドライバ部分の変更のみでリモートメモリへのアクセスを実現できる。ここで、ローカルメモリとリモートメモリ間でファイルのコピーを実施する場合を想定した。ファイルのコピーは、ホスト機器内のＣＰＵ上で動作するファイルシステムの制御プログラムにより実施される。
【００１５】
例えば、ファイルシステムの制御プログラムは、ローカルメモリとリモートメモリ双方のファイルシステム管理情報を参照し、コピー元ファイルのデータが格納された論理アドレスの特定と、コピー先ファイルのデータを格納する論理アドレスの特定を行う。その後、ファイルシステムの制御プログラムは、コピー元ファイルのデータをホスト機器内のＲＡＭ上に読み出し、読み出したデータをコピー先ファイルのデータ格納位置に書き込む。すなわち、ローカルメモリとリモートメモリ間のファイルコピーは、ホスト機器内のＲＡＭを介してホスト機器内のＣＰＵの処理により実施される。そのため、ファイルコピー処理速度はホスト機器内のＣＰＵの処理能力、ホスト機器内のＲＡＭの接続されているバスの帯域幅等に依存する。これらの能力が低いと高速なファイルコピーが行えない。
【００１６】
上記課題に鑑み本開示は、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のＣＰＵ能力やバスの帯域幅に依存することなく、高速にファイルコピーを行う無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムを提供することを目的とする。
【００１７】
図１は本実施の形態における無線アクセス装置の構成および無線アクセスシステムの構成図である。図１において、無線アクセスシステム１００は、第１の無線アクセス装置１と第２の無線アクセス装置２で構成される。無線アクセスシステム１００において、第１の無線アクセス装置１が、自装置内に存在する第１の不揮発性メモリ１５をローカルメモリとして、また第２の無線アクセス装置２内に存在する第２の不揮発性メモリ２５をリモートメモリとして管理し、アクセスする場合を想定する。第１の無線アクセス装置１は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、第１の不揮発性メモリコントローラ１４を含み、これらが第１の内部バス１７で互いに接続されている。更に第１の無線アクセス装置１は、第１の不揮発性メモリコントローラ１４に接続された第１の不揮発性メモリ１５と、第２の内部バス１８で接続された第１の無線回路１６を含む。ＲＯＭ１３には第１の無線アクセス装置１を制御するプログラムが格納されており、このプログラムはＲＡＭ１２を一時記憶領域として使用し、ＣＰＵ１１上で動作する。
【００１８】
第１の不揮発性メモリコントローラ１４は、第１の不揮発性メモリ１５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、第１の不揮発性メモリ１５の読み書きを制御する。
【００１９】
また、第１の無線回路１６は第２の無線アクセス装置２と無線通信を行う制御回路であり、８０２．１１ａ／ｂ／ｇ／ｎの無線ＬＡＮ規格に対応した制御回路、今後普及が期待される８０２．１１ａｃや８０２．１１ａｄの無線ＬＡＮ規格に対応した制御回路、近距離無線通信規格であるＢｌｕｅｔｏｏｔｈ（登録商標）や近距離無線転送技術であるＴｒａｎｓｆｅｒＪｅｔ（登録商標）等のその他無線通信用の制御回路等である。本開示は特定の無線通信方式に限定されるものではないため、第１の無線回路１６としてこれら任意の無線通信の制御回路を使用することが可能である。
【００２０】
ＲＯＭ１３は更に、アプリケーション制御部１３１、ファイルシステム制御部１３２、メモリアクセス制御部１３３を含む。アプリケーション制御部１３１は、データの生成や電源の制御等、第１の無線アクセス装置１全体の制御を行う。ファイルシステム制御部１３２は、ＦＡＴファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。メモリアクセス制御部１３３は、ファイルシステム制御部１３２からデータと共にアクセスサイズとアクセス先論理アドレスを渡され、指定されたサイズのデータをローカルメモリである第１の不揮発性メモリ１５、あるいはリモートメモリである第２の不揮発性メモリ２５における指定された論理アドレスに記録する等、ローカルメモリ、リモートメモリに対するコマンドやデータの送受信を制御する。ファイルシステム制御部１３２は更に、ファイルコピー制御部１３４を含む。ファイルコピー制御部１３４は、本開示の特徴であるローカルメモリ、リモートメモリ間のファイルコピー処理を実施する制御部であり、従来の無線アクセス装置には存在しない。
【００２１】
また、第１の不揮発性メモリコントローラ１４も、後述するファイルシステム転送リストであるＦＳ転送リスト１２１の制御を行う機能を有しており、従来には存在しない。
【００２２】
一方、図１において第２の無線アクセス装置２は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、第２の不揮発性メモリコントローラ２４を含み、これらが第１の内部バス２７で互いに接続されている。更に第２の無線アクセス装置２は、第２の不揮発性メモリコントローラ２４に接続された第２の不揮発性メモリ２５と、第２の内部バス２８で接続された第２の無線回路２６を含む。ＲＯＭ２３には第２の無線アクセス装置２を制御するプログラムが格納されており、このプログラムはＲＡＭ２２を一時記憶領域として使用し、ＣＰＵ２１上で動作する。第２の不揮発性メモリコントローラ２４は、第２の不揮発性メモリ２５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、第２の不揮発性メモリ２５の読み書きを制御する。また、第２の無線回路２６は第１の無線アクセス装置１と無線通信を行う制御回路であり、第１の無線回路１６と任意の無線通信が可能である。第２の無線アクセス装置２の内部の構成は第１の無線アクセス装置１の内部構成と同様である。
【００２３】
本実施の形態において第２の無線アクセス装置２は、自装置内に存在する第２の不揮発性メモリ２５をリモートメモリとして第１の無線アクセス装置１からアクセス可能な装置として動作し、第１の無線アクセス装置１から第２の不揮発性メモリ２５へのアクセスは第２の不揮発性メモリコントローラ２４が実施し、第２の無線アクセス装置２内のＣＰＵ２１は介在しない。そのため、本実施の形態では第２の無線アクセス装置２内のＲＯＭ２３上に格納された各種プログラムの詳細については説明しない。
【００２４】
続いて、本実施の形態における第１の不揮発性メモリコントローラ１４、第２の不揮発性メモリコントローラ２４の構成について、図２、図３を用いて説明する。図２において第１の不揮発性メモリコントローラ１４は、シーケンサ１４１、ＤＭＡコントローラ１４２、ＲＡＭ１４３、ＲＯＭ１４４、第１のメモリコントローラ１４５、第１のメモリ用データバッファ１４６を含む。シーケンサ１４１は第１の不揮発性メモリコントローラ１４の制御を行う制御部であり、ＲＯＭ１４４に格納されたマイクロコードにより各種処理が実施される。
【００２５】
ここでシーケンサ１４１は第１の不揮発性メモリコントローラ１４内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
【００２６】
ＤＭＡコントローラ１４２は、第１の不揮発性メモリコントローラ１４内の各部、および、第１の無線回路１６内の第１の無線用データバッファ１６１間における各種データのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を制御する制御部である。
【００２７】
第１のメモリコントローラ１４５は、第１の不揮発性メモリ１５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。
【００２８】
第１のメモリ用データバッファ１４６は、第１の不揮発性メモリ１５に対するアクセス時に発生する各種データを格納するバッファである。本実施の形態における第１の不揮発性メモリコントローラ１４は、ＣＰＵ１１からＦＳ転送リスト１２１が入力され、シーケンサ１４１がＦＳ転送リスト１２１を解釈し、ローカルメモリである第１の不揮発性メモリ１５、リモートメモリである第２の不揮発性メモリ２５に対するアクセスを行う。
【００２９】
図３において第２の不揮発性メモリコントローラ２４は、シーケンサ２４１、ＤＭＡコントローラ２４２、ＲＡＭ２４３、ＲＯＭ２４４、第２のメモリコントローラ２４５、第２のメモリ用データバッファ２４６を含む。シーケンサ２４１は第２の不揮発性メモリコントローラ２４の制御を行う制御部であり、ＲＯＭ２４４に格納されたマイクロコードにより各種処理が実施される。
【００３０】
ここでシーケンサ２４１は第２の不揮発性メモリコントローラ２４内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
【００３１】
ＤＭＡコントローラ２４２は、第２の不揮発性メモリコントローラ２４内の各部、および、第２の無線回路２６内の第２の無線用データバッファ２６１間における各種データのＤＭＡ転送を制御する制御部である。
【００３２】
第２のメモリコントローラ２４５は、第２の不揮発性メモリ２５に対して実際にＲｅａｄコマンドやＷｒｉｔｅコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。第２の不揮発性メモリコントローラ２４は基本的には第１の不揮発性メモリコントローラ１４の構成と同様である。
【００３３】
このような構成により、本実施の形態では、第１の無線アクセス装置１内のファイルシステム制御部１３２が、自装置内の第１の不揮発性メモリ１５をローカルメモリとして、第２の無線アクセス装置２内の第２の不揮発性メモリ２５をリモートメモリとして管理し、ファイルコピー制御部１３４、および、第１の不揮発性メモリコントローラ１４の協調動作により、高速ファイルコピーを実現する。以下、本実施の形態の高速ファイルコピーの詳細について説明する。
【００３４】
本実施の形態の高速ファイルコピー処理において、ファイルコピー制御部１３４が生成するＦＳ転送リスト１２１に基づき第１の不揮発性メモリコントローラ１４が実際のデータコピー処理を実施する。ＦＳ転送リスト１２１の詳細は後述するが、このＦＳ転送リスト１２１はファイルシステム管理情報に含まれる領域管理情報を基に生成されるため、ファイルシステム管理情報との関連がある。そのため、ここではファイルシステムの一例としてＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムの説明を行う。本実施の形態ではＦＡＴファイルシステムを一例として説明するが、本開示はファイルシステムの種別に限定されるものではなく、ＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｃ  Ｆｏｒｍａｔ）やＮＴＦＳ（ＮＴ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等、他のファイルシステムにも適用することが可能である。
【００３５】
図４はＦＡＴファイルシステムの構成図である。ＦＡＴファイルシステムでは管理単位のビット幅の違いにより、ＦＡＴ１２（１２ビットのクラスタ識別子を利用したＦＡＴ）、ＦＡＴ１６（１６ビットのクラスタ識別子を利用したＦＡＴ）、ＦＡＴ３２（３２ビットのクラスタ識別子を利用したＦＡＴ）等の種類が存在するが、ＦＡＴによる領域管理方法は同じであり、以下ではＦＡＴ１６を例に説明する。同図に示すようにＦＡＴファイルシステムは、論理アドレス空間の先頭に領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域３０１と実際のファイルデータやディレクトリが存在する領域のユーザデータ領域３０２で構成される。
【００３６】
ファイルシステム管理情報領域３０１は、マスターブートレコード・パーティションテーブル３０３、パーティションブートセクタ３０４、第１のＦＡＴ３０５、第２のＦＡＴ３０６、ルートディレクトリエントリ３０７と呼ばれるファイルシステムの管理情報を含み、ユーザデータ領域３０２を管理するために必要な情報である。マスターブートレコード・パーティションテーブル３０３は、ファイルシステムの管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。パーティションブートセクタ３０４は、パーティション内の領域管理単位の大きさなど、１つのパーティション内の管理情報が格納される領域である。第１のＦＡＴ３０５、第２のＦＡＴ３０６は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ２つのＦＡＴが存在し、例えば一方のＦＡＴである第１のＦＡＴ３０５が破損したとしても他方のＦＡＴである第２のＦＡＴ３０６によりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリ３０７は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報（ディレクトリエントリ）が格納される領域である。
【００３７】
ユーザデータ領域３０２は、５１２バイトから３２ＫＢ程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、第１のＦＡＴ３０５、第２のＦＡＴ３０６に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報であるディレクトリエントリは、このユーザデータ領域３０２の一部を利用して格納される。
【００３８】
図５はＦＡＴ１６のディレクトリエントリの構成図である。ディレクトリエントリ３０８は１つのファイル、ディレクトリ毎に３２バイトのディレクトリエントリ３０８が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、１つのファイルやディレクトリが追加される度に３２バイトのディレクトリエントリ３０８の情報が新規に作成され、ルートディレクトリエントリ３０７の領域、あるいはユーザデータ領域３０２に記録される。ディレクトリエントリ３０８の先頭８バイトにはファイルやディレクトリの名称が格納される。次に続く３バイトにはファイルやディレクトリの拡張子が格納される。次に続く１バイトにはファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。さらに、予約領域があり、次にファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
【００３９】
このようにディレクトリエントリ３０８はファイルの先頭データを格納したクラスタの位置に関する情報しか保持しないため、ファイルデータが複数クラスタに跨って格納される場合には、その位置情報は第１のＦＡＴ３０５、第２のＦＡＴ３０６に保持される。すなわち、ファイルを更新する場合にはファイルデータを書き込むと共に、ディレクトリエントリ３０８、第１のＦＡＴ３０５、第２のＦＡＴ３０６の情報も書き込む必要がある。
【００４０】
図６Ａ、図６Ｂ、図６ＣはＦＡＴ１６のＦＡＴファイルシステムにおけるファイルシステム管理情報、ユーザデータの一例を示した説明図である。図６Ａはディレクトリエントリ３０８の一例であり“ＦＩＬＥ１．ＴＸＴ”という名称の６００００バイトのサイズを持つファイルが格納されていることを示している。また、このファイルのデータ本体が論理クラスタ番号２から始まる領域に格納されていることを示している。図６ＢはＦＡＴ１６における第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例を示している。第１のＦＡＴ３０５、第２のＦＡＴ３０６先頭の４バイトはシグネチャとして固定の値が格納されているが、それ以外の領域は、１６ビット単位で各々ユーザデータ領域３０２内の論理クラスタに対応付けされている。例えば、第１のＦＡＴ３０５、第２のＦＡＴ３０６の先頭のシグネチャ直後の１６ビットは、論理クラスタ番号２にその後の１６ビットは論理クラスタ番号３に対応付けされており、以下昇順に論理クラスタ番号に対応付けされている。各々の１６ビットに格納される値は、対応付けされた論理クラスタ番号の状態を示しており、例えば０ｘ００００の場合には、対応付けされた論理クラスタ番号の領域が空きクラスタであることを意味し、０ｘ０００２〜０ｘＦＦＦ６の場合には、対応付けされた論理クラスタ番号の領域にリンクされた次の領域の論理クラスタ番号を意味し、０ｘＦＦＦ８〜０ｘＦＦＦＦの場合には、対応付けされた論理クラスタ番号の領域がリンク終端であることを意味する。すなわち図６Ｂの第１のＦＡＴ３０５、第２のＦＡＴ３０６の例では論理クラスタ番号２、３、４、５の領域が“ＦＩＬＥ１．ＴＸＴ”のデータ本体を格納していることを示している。さらに、図６Ｃのユーザデータ領域３０２の例では、実際に論理クラスタ番号２、３、４、５の領域が“ＦＩＬＥ１．ＴＸＴ”のデータ本体を格納していることを示している。
【００４１】
このようにＦＡＴファイルシステムでは、第１のＦＡＴ３０５、第２のＦＡＴ３０６によりユーザデータ領域３０２の管理をしており、本実施の形態では、第１のＦＡＴ３０５、第２のＦＡＴ３０６を基にＦＳ転送リスト１２１を生成し、ファイルコピー処理に使用する。
【００４２】
続いて本実施の形態におけるファイルコピー処理手順の概要について説明する。図７は、ファイルコピー処理手順のフローを示す図である。本実施の形態におけるファイルコピー処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４と、第１の不揮発性メモリコントローラ１４、第２の無線アクセス装置２内の第２の不揮発性メモリコントローラ２４により、ＦＳ転送リスト１２１を用いて第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へ、または第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へ高速ファイルコピーを実現する。本実施の形態におけるファイルコピー処理は、以下の５つのＳｔｅｐで構成される。
【００４３】
（Ｓｔｅｐ１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１の不揮発性メモリコントローラ１４を介して、第１の不揮発性メモリ１５からファイルシステム管理情報を読み出す。これにより第１の不揮発性メモリ１５上に存在する転送元ファイルのデータ本体が格納されている論理アドレス、あるいは、第１の不揮発性メモリ１５上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレスを特定する。
【００４４】
（Ｓｔｅｐ２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第２の不揮発性メモリコントローラ２４を介して、第２の不揮発性メモリ２５からファイルシステム管理情報を読み出す。これにより第２の不揮発性メモリ２５上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレス、あるいは、第２の不揮発性メモリ２５上に存在する転送元ファイルのデータ本体が格納されている論理アドレスを特定する。
【００４５】
（Ｓｔｅｐ３）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ１、Ｓｔｅｐ２で読み出したファイルシステム管理情報を基に、ＦＳ転送リスト１２１を生成する。
【００４６】
（Ｓｔｅｐ４）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ３で生成したＦＳ転送リスト１２１を第１の不揮発性メモリコントローラ１４に送信し、ファイルコピー処理を指示する。以降、ファイルコピー処理が完了するまで、実際のコピー処理は第１の不揮発性メモリコントローラ１４で実施され、ＣＰＵ１１上で動作するファイルコピー制御部１３４はファイルコピー処理の完了が通知されるまで待機する。
【００４７】
（Ｓｔｅｐ５）第１の不揮発性メモリコントローラ１４が、Ｓｔｅｐ４で送信されたＦＳ転送リスト１２１を受信し、記載内容に従い、実際にデータのコピー処理を実施する。
【００４８】
このように本実施の形態におけるファイルコピー処理は、ＣＰＵ１１上で動作するファイルコピー制御部１３４がＦＳ転送リスト１２１を生成し、実際のコピー処理はＦＳ転送リスト１２１を基に第１の不揮発性メモリコントローラ１４が実施する。これにより、実際にデータをコピーする際にはＣＰＵ１１、および、第１の内部バス１７は関与しないため、これらの能力に依存することなく、高速にファイルコピーを実施できる。
【００４９】
続いて、図８を用いてＳｔｅｐ１の処理手順の詳細について説明する。Ｓｔｅｐ１の処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４と第１の不揮発性メモリコントローラ１４により、第１の不揮発性メモリ１５からファイルシステム管理情報を読み出す。Ｓｔｅｐ１の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へのファイルコピーのいずれの場合にも共通な処理である。
【００５０】
（Ｓ８０１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のＦＡＴ３０５、第２のＦＡＴ３０６やディレクトリエントリ３０８等のファイルシステム管理情報から、第１の不揮発性メモリ１５上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル３０３の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
【００５１】
（Ｓ８０２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ８０１の処理で特定した論理アドレスに対するＲｅａｄ指示を第１の不揮発性メモリコントローラ１４に発行する。
【００５２】
（Ｓ８０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ８０２の処理において発行されたＲｅａｄ指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。第１の不揮発性メモリ１５として使用される記録媒体には、ＳＤメモリカードやＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）接続方式で接続されたハードディスク等が存在するが、これら各々の記録媒体にはアクセスのためのプロトコルが規定されている。ここでは、第１の不揮発性メモリ１５にアクセスするための各種プロトコルに従い、読み出し処理を実施するために必要なコマンドパケットを生成する。
【００５３】
（Ｓ８０４）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ８０３の処理において生成したコマンドパケットを第１のメモリコントローラ１４５に入力する。
【００５４】
（Ｓ８０５）第１の不揮発性メモリコントローラ１４内部の第１のメモリコントローラ１４５が、入力されたコマンドパケットを第１の不揮発性メモリ１５に送信し、第１の不揮発性メモリ１５からデータを読み出す。読み出したデータは、第１のメモリ用データバッファ１４６に格納される。
【００５５】
（Ｓ８０６）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｒｅａｄ処理が完了した旨をＣＰＵ１１上で動作するファイルコピー制御部１３４に通知する。
【００５６】
（Ｓ８０７）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のメモリ用データバッファ１４６から第１の無線アクセス装置１内のＲＡＭ１２に読み出したデータを転送する。この処理により、１回のファイルシステム管理情報の読み出し処理が完了する。
【００５７】
（Ｓ８０８）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか否かを確認する。ファイルシステム管理情報の読み出しが完了していない場合は、Ｓ８０１の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Ｓｔｅｐ１の処理を終了する。例えば、ＦＡＴファイルシステムの場合、ファイルにアクセスするためには、マスターブートレコード・パーティションテーブル３０３、パーティションブートセクタ３０４、第１のＦＡＴ３０５、第２のＦＡＴ３０６、ルートディレクトリエントリ３０７の領域を順に読み出し、更に必要に応じて、サブディレクトリのディレクトリエントリ３０８を読み出す。これらを読み出すためにファイルシステム管理情報に対して、Ｓ８０１からＳ８０７までの処理を繰り返し実施する。
【００５８】
続いて、図９を用いてＳｔｅｐ２の処理手順の詳細について説明する。Ｓｔｅｐ２の処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４と第１の不揮発性メモリコントローラ１４、第２の無線アクセス装置２により、第２の不揮発性メモリ２５からファイルシステム管理情報を読み出す。Ｓｔｅｐ２の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へのファイルコピーのいずれの場合にも共通な処理となる。
【００５９】
（Ｓ９０１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のＦＡＴ３０５、第２のＦＡＴ３０６やディレクトリエントリ３０８等のファイルシステム管理情報から、第２の不揮発性メモリ２５上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル３０３の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
【００６０】
（Ｓ９０２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ９０１の処理で特定した論理アドレスに対するＲｅａｄ指示を第１の不揮発性メモリコントローラ１４に発行する。
【００６１】
（Ｓ９０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１は、Ｓ９０２の処理において発行されたＲｅａｄ指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。
【００６２】
（Ｓ９０４）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ９０３の処理において生成したコマンドパケットをペイロードに含んで無線パケットを生成し、第１の無線回路１６を介して第２の無線アクセス装置２に送信する。
【００６３】
（Ｓ９０５）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ９０４の処理において無線送信された無線パケットを第２の無線回路２６を介して受信し、無線パケット内のペイロード部分に格納された読み出しを実施するためのコマンドパケット（Ｒｅａｄコマンド）を取り出し、第２のメモリコントローラ２４５に入力する。
【００６４】
（Ｓ９０６）第２の不揮発性メモリコントローラ２４内部の第２のメモリコントローラ２４５が、入力されたコマンドパケットを第２の不揮発性メモリ２５に送信し、第２の不揮発性メモリ２５からデータを読み出す。読み出したデータは、第２のメモリ用データバッファ２４６に格納される。
【００６５】
（Ｓ９０７）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ９０６の処理において読み出したデータをペイロードに含んだ無線パケットを第２のメモリ用データバッファ２４６上に生成する。
【００６６】
（Ｓ９０８）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、ＤＭＡコントローラ２４２を制御し、Ｓ９０７の処理において生成した無線パケットを第２のメモリ用データバッファ２４６から第２の無線用データバッファ２６１にＤＭＡ転送する。
【００６７】
（Ｓ９０９）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、第２の無線回路２６を介して、第２の無線用データバッファ２６１上に存在する無線パケットを第１の無線アクセス装置１に送信する。
【００６８】
（Ｓ９１０）Ｓ９０９の処理により第２の無線アクセス装置２から送信されてきた無線パケットを第１の無線回路１６が受信すると、受信した無線パケットを第１の無線用データバッファ１６１に格納する。その後、第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＤＭＡコントローラ１４２を制御し、第１の無線用データバッファ１６１上の無線パケット内のペイロード部分に格納されたＲｅａｄデータを、第１のメモリ用データバッファ１４６にＤＭＡ転送する。
【００６９】
（Ｓ９１１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｒｅａｄ処理が完了した旨をＣＰＵ１１上で動作するファイルコピー制御部１３４に通知する。
【００７０】
（Ｓ９１２）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、第１のメモリ用データバッファ１４６から第１の無線アクセス装置１内のＲＡＭ１２にＲｅａｄデータを転送する。この処理により、１回のファイルシステム管理情報読み出し処理が完了する。
【００７１】
（Ｓ９１３）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか確認する。ファイルシステム管理情報の読み出しが完了していない場合は、Ｓ９０１の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Ｓｔｅｐ２の処理を終了する。
【００７２】
続いて、図１０を用いてＳｔｅｐ３からＳｔｅｐ５の処理手順の詳細について説明する。Ｓｔｅｐ３からＳｔｅｐ５の処理では、ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ１、Ｓｔｅｐ２で読み出したファイルシステム管理情報を基にＦＳ転送リスト１２１を生成し、第１の不揮発性メモリコントローラ１４に入力することにより、第１の不揮発性メモリコントローラ１４が実際のデータコピー処理を実施する。図１０で説明する処理は、Ｓｔｅｐ５の詳細処理内容を除き、ローカルメモリからリモートメモリへのファイルコピー、すなわち第１の不揮発性メモリ１５から第２の不揮発性メモリ２５へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第２の不揮発性メモリ２５から第１の不揮発性メモリ１５へのファイルコピーのいずれの場合にも共通な処理となる。
【００７３】
（Ｓ１００１）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓｔｅｐ１、Ｓｔｅｐ２で読み出したファイルシステム管理情報を基に、ＦＳ転送リスト１２１を生成する。
【００７４】
図１３はＦＳ転送リスト１２１の一例を示す図である。図１３に示すように、コピー先とコピー元の転送方向を示す転送方向、コピー先とコピー元のファイルデータが格納されている領域の論理アドレス、転送サイズを示す転送クラスタ数が含まれたリストである。転送方向は、“Ｌ  ｔｏ  Ｒ”と“Ｒ  ｔｏ  Ｌ”の２種類で、“Ｌ  ｔｏ  Ｒ”がローカルメモリである第１の不揮発性メモリ１５からリモートメモリである第２の不揮発性メモリ２５へのコピーを意味し、“Ｒ  ｔｏ  Ｌ”がリモートメモリである第２の不揮発性メモリ２５からローカルメモリである第１の不揮発性メモリ１５へのコピーを意味する。転送元論理アドレスは、コピー元のファイルデータが格納されている領域の開始論理アドレスを示す。転送先論理アドレスは、コピー先のファイルデータを格納する領域の開始論理アドレスを示す。転送クラスタ数は、コピーするデータのサイズをクラスタ数で示す。図１３では、転送元論理アドレス、転送先論理アドレス、転送クラスタ数共に、ファイルシステムの論理的な領域管理単位である３２ＫＢ等のクラスタ単位で管理する例を示しているが、コピー領域を特定できる情報であれば何でも良く、不揮発性メモリの最小アクセス単位である５１２Ｂ等のセクタ単位で管理する等、クラスタ以外の単位で管理しても良い。
【００７５】
次に、図１１、図１２を用いて、ＦＳ転送リスト１２１の生成手順について説明する。図１１は転送元、すなわちローカルメモリである第１の不揮発性メモリ１５上に構築されたＦＡＴファイルシステムに含まれる第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例であり、図１２は転送先、すなわちリモートメモリである第２の不揮発性メモリ２５上に構築されたＦＡＴファイルシステムの第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例である。また、転送するファイルは、論理クラスタ番号“０ｘ０００２”の論理アドレス領域から始まり、“０ｘ００１０”の論理アドレス領域で終了する一連のリンク上にデータが格納されているとする。まず始めに転送元の第１のＦＡＴ３０５、第２のＦＡＴ３０６上のコピー開始位置から始まる一つの連続領域長を算出する。図１１の場合、論理クラスタ番号“０ｘ０００２”から“０ｘ０００４”のクラスタ数“３クラスタ”が一つの連続領域長となる。次に、転送先の第１のＦＡＴ３０５、第２のＦＡＴ３０６上の先頭から、一つの連続空き領域長を算出する。図１２の場合、論理クラスタ番号“０ｘ０００３”、“０ｘ０００４”のクラスタ数“２クラスタ”が一つの連続空き領域長となる。続いて、図１１の連続領域長と図１２の連続空き領域長の両者を比較し、小さい値を一回の転送クラスタ数と決定する。上記の例の場合、より小さな数値である図１２の連続空き領域長の“２クラスタ”が一回の転送クラスタ数となる。最後にこれらの値をＦＳ転送リスト１２１に記載し、以降、転送元ファイルの終端まで、同様の処理を継続する。具体的には、図１３に示すようにＦＳ転送リスト１２１の１行目に転送方向“Ｌ  ｔｏ  Ｒ”、転送元論理アドレス“０ｘ０００２”、転送先論理アドレス“０ｘ０００３”、転送クラスタ数“２”が格納され、２行目には引き続く領域から探索した際に得られる値として転送方向“Ｌ  ｔｏ  Ｒ”、転送元論理アドレス“０ｘ０００４”、転送先論理アドレス“０ｘ０００８”、転送クラスタ数“１”が格納される。以降、同様に転送元論理アドレスが“０ｘ００１０”になるまでＦＳ転送リスト１２１に値が追記される。
【００７６】
（Ｓ１００２）続いて、ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ１００１の処理で生成したＦＳ転送リスト１２１を、第１の不揮発性メモリコントローラ１４に送信し、コピーを指示する。以降、コピー処理は第１の不揮発性メモリコントローラ１４により実施され、ＣＰＵ１１上で動作するファイルコピー制御部１３４はコピー処理完了まで待機する。
【００７７】
（Ｓ１００３）第１の不揮発性メモリコントローラ１４が、Ｓ１００２の処理で送信されたＦＳ転送リスト１２１の内容を解析し、実際にコピー処理を実施する。コピー処理の詳細については後述する。
【００７８】
（Ｓ１００４）第１の不揮発性メモリコントローラ１４が、Ｓ１００３のコピー処理が完了すると、ＣＰＵ１１上で動作するファイルコピー制御部１３４にその旨を通知する。
【００７９】
（Ｓ１００５）ＣＰＵ１１上で動作するファイルコピー制御部１３４が、Ｓ１００４の処理で通知されたコピー処理完了通知を受信すると、コピー処理が完了したことを認識し、処理を終了する。
【００８０】
このように、本実施の形態におけるファイルコピー処理では、ＦＳ転送リスト１２１の生成までをＣＰＵ１１上で動作するファイルコピー制御部１３４が実施し、以降の実際のコピー処理を第１の不揮発性メモリコントローラ１４が実施する。これにより実際のコピー処理にはＣＰＵ１１、第１の内部バス１７が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
【００８１】
また、上記ファイルコピー処理の説明では、ファイルデータ本体のコピーについてのみ記載しているが、実際には、コピー先ファイルに関する情報を、コピー先の不揮発性メモリ内に存在する第１のＦＡＴ３０５、第２のＦＡＴ３０６やディレクトリエントリ３０８に書き込む。これらファイルシステム管理情報の更新処理はファイルシステム制御部１３２において従来のファイルシステム管理情報の更新処理と同様のため、詳細説明を割愛する。これらファイルシステム管理情報の更新処理は、図１０で説明したファイルコピー処理の前後のいずれかのタイミングで実施すれば良い。
【００８２】
続いて、図１４を用いてＳｔｅｐ５のＦＳ転送リスト１２１を用いたコピー処理における、ローカルメモリである第１の不揮発性メモリ１５からリモートメモリである第２の不揮発性メモリ２５にコピーする場合の詳細処理手順について説明する。
【００８３】
（Ｓ１４０１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＦＳ転送リスト１２１の先頭から行単位で参照し、転送方向を確認する。図１３のＦＳ転送リスト１２１の例では、１行目の転送方向が“Ｌ  ｔｏ  Ｒ”となっており、シーケンサ１４１はローカルメモリからリモートメモリへのコピーであることを認識する。
【００８４】
（Ｓ１４０２）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０１で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、ローカルメモリからのデータ読み出しを行う。そのため、ＦＳ転送リスト１２１上の転送元論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する読み出しを実施するため、必要なコマンドパケットを生成する。
【００８５】
（Ｓ１４０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０２の処理において生成したコマンドパケットを第１のメモリコントローラ１４５に入力する。
【００８６】
（Ｓ１４０４）第１の不揮発性メモリコントローラ１４内部の第１のメモリコントローラ１４５が、入力されたコマンドパケットを第１の不揮発性メモリ１５に送信し、第１の不揮発性メモリ１５からデータを読み出す。読み出したデータは、第１のメモリ用データバッファ１４６に格納する。
【００８７】
（Ｓ１４０５）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０１で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、リモートメモリへのデータ書き込みを行う。そのため、ＦＳ転送リスト１２１上の転送先論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する書き込みを実施するためのコマンドパケットを生成する。
【００８８】
（Ｓ１４０６）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０４で読み出したデータ、Ｓ１４０５の処理で生成したコマンドパケットをペイロードに含んだ無線パケットを第１のメモリ用データバッファ１４６上に生成する。
【００８９】
（Ｓ１４０７）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０６で生成した無線パケットを、ＤＭＡコントローラ１４２を制御して、第１の無線用データバッファ１６１にＤＭＡ転送する。
【００９０】
（Ｓ１４０８）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１４０７で第１の無線用データバッファ１６１に転送した無線パケットを、第１の無線回路１６を介して、第２の無線アクセス装置２に送信する。
【００９１】
（Ｓ１４０９）Ｓ１４０８の処理により第１の無線アクセス装置１から送信されてきた無線パケットを第２の無線回路２６が受信すると、受信した無線パケットを第２の無線用データバッファ２６１に格納する。その後、第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、ＤＭＡコントローラ２４２を制御し、第２の無線用データバッファ２６１上の無線パケット内のペイロード部分に格納されたデータを、第２のメモリ用データバッファ２４６にＤＭＡ転送する。
【００９２】
（Ｓ１４１０）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ１４０８の処理により第１の無線アクセス装置１から送信されてきた無線パケット内のペイロード部分に格納された書き込みを実施するためのコマンドパケット（Ｗｒｉｔｅコマンド）を取り出し、第２のメモリコントローラ２４５に入力する。
【００９３】
（Ｓ１４１１）第２の不揮発性メモリコントローラ２４内部の第２のメモリコントローラ２４５が、入力されたコマンドパケットを第２の不揮発性メモリ２５に送信し、第２のメモリ用データバッファ２４６に格納されたデータを第２の不揮発性メモリ２５に書き込む。更に、書き込みが完了した後、Ｗｒｉｔｅ完了通知を含む無線パケットを生成し、第２の無線回路２６を介して第１の無線アクセス装置１に送信する。
【００９４】
（Ｓ１４１２）Ｓ１４１１の処理により第２の無線アクセス装置２から送信されてきた無線パケットを第１の無線回路１６が受信し、第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１がＷｒｉｔｅ完了を認識すると、ＦＳ転送リスト１２１内に未処理のリストが存在するか確認する。ＦＳ転送リスト１２１の終端まで来ておらず未処理のリストが存在する場合、Ｓ１４０１の処理に戻り、残りのリストに対する処理を継続する。ＦＳ転送リスト１２１の終端で未処理のリストが存在しない場合、Ｓ１４１３の処理に進む。
【００９５】
（Ｓ１４１３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＣＰＵ１１上で動作するファイルコピー制御部１３４にコピー処理完了を通知し、処理を終了する。
【００９６】
続いて、図１５を用いてＳｔｅｐ５のＦＳ転送リスト１２１を用いたコピー処理における、リモートメモリである第２の不揮発性メモリ２５からローカルメモリである第１の不揮発性メモリ１５にコピーする場合の詳細処理手順について説明する。
【００９７】
（Ｓ１５０１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＦＳ転送リスト１２１の先頭から行単位で参照し、転送方向を確認する。ここでは転送方向として“Ｒ  ｔｏ  Ｌ”が格納されており、リモートメモリからローカルメモリにコピーする場合を想定する。
【００９８】
（Ｓ１５０２）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５０１で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、リモートメモリからのデータ読み出しを行う。そのため、ＦＳ転送リスト１２１上の転送元論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する読み出しを実施するコマンドパケットを生成する。
【００９９】
（Ｓ１５０３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５０２の処理において生成したコマンドパケットをペイロードに含んだ無線パケットを生成し、第１の無線回路１６を介して、第２の無線アクセス装置２に送信する。
【０１００】
（Ｓ１５０４）Ｓ１５０３の処理により第１の無線アクセス装置１から送信された無線パケットを第２の無線回路２６が受信すると、受信した無線パケットを第２の無線用データバッファ２６１に格納する。その後、第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、無線パケット内のペイロード部分に格納された読み出しを実施するコマンドパケット（Ｒｅａｄコマンド）を取り出し、第２のメモリコントローラ２４５に入力する。
【０１０１】
（Ｓ１５０５）第２の不揮発性メモリコントローラ２４内部の第２のメモリコントローラ２４５が、入力されたコマンドパケットを第２の不揮発性メモリ２５に送信し、第２の不揮発性メモリ２５から第２のメモリ用データバッファ２４６にデータを読み出す。
【０１０２】
（Ｓ１５０６）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、Ｓ１５０５の処理で読み出したデータを第２のメモリ用データバッファ上で無線パケット化する。
【０１０３】
（Ｓ１５０７）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、ＤＭＡコントローラ２４２を制御し、第２のメモリ用データバッファ２４６上の無線パケットを、第２の無線用データバッファ２６１にＤＭＡ転送する。
【０１０４】
（Ｓ１５０８）第２の不揮発性メモリコントローラ２４内部のシーケンサ２４１が、第２の無線回路２６を介して第２の無線用データバッファ２６１上の無線パケットを、第１の無線アクセス装置１に送信する。
【０１０５】
（Ｓ１５０９）Ｓ１５０８の処理により第２の無線アクセス装置２から送信されてきた無線パケットを第１の無線回路１６が受信すると、受信した無線パケットを第１の無線用データバッファ１６１に格納する。その後、第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、無線パケット内のペイロード部分に格納されたデータを取り出し、ＤＭＡコントローラ１４２を制御し、第１のメモリ用データバッファ１４６にＤＭＡ転送する。
【０１０６】
（Ｓ１５１０）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５０１で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、ローカルメモリへのデータ書き込みを行う。そのため、ＦＳ転送リスト１２１上の転送先論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する書き込みを実施するコマンドパケットを生成する。
【０１０７】
（Ｓ１５１１）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５１０の処理で生成したコマンドパケット（Ｗｒｉｔｅコマンド）を、第１のメモリコントローラ１４５に入力する。
【０１０８】
（Ｓ１５１２）第１の不揮発性メモリコントローラ１４内部の第１のメモリコントローラ１４５が、入力されたコマンドパケットを第１の不揮発性メモリ１５に送信し、第１のメモリ用データバッファ１４６に格納されたＲｅａｄデータを第１の不揮発性メモリ１５に書き込む。
【０１０９】
（Ｓ１５１３）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、Ｓ１５１２の書き込み処理が完了した後、ＦＳ転送リスト１２１内に未処理のリストが存在するか確認する。ＦＳ転送リスト１２１の終端まで来ておらず未処理のリストが存在する場合、Ｓ１５０１の処理に戻り、残りのリストに対する処理を継続する。ＦＳ転送リスト１２１の終端で未処理のリストが存在しない場合、Ｓ１５１４の処理に進む。
【０１１０】
（Ｓ１５１４）第１の不揮発性メモリコントローラ１４内部のシーケンサ１４１が、ＣＰＵ１１上で動作するファイルコピー制御部１３４にコピー処理完了を通知し、処理を終了する。
【０１１１】
このように、本実施の形態におけるＦＳ転送リスト１２１を用いたコピー処理では、第１の不揮発性メモリコントローラ１４がＦＳ転送リスト１２１の内容に従い自律的にローカルメモリからリモートメモリへのコピー処理を実施する。
【０１１２】
以上のように、本実施の形態の無線アクセス装置では、ローカルメモリ、リモートメモリ間のファイルコピーを実施する際、無線アクセス装置内のＣＰＵ１１上で動作するファイルコピー制御部１３４がＦＳ転送リスト１２１を生成、第１の不揮発性メモリコントローラ１４に入力し、以降の実際のコピー処理を第１の不揮発性メモリコントローラ１４が入力されたＦＳ転送リスト１２１に基づき実施する。これにより実際のコピー処理にはＣＰＵ１１、第１の内部バス１７が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
【０１１３】
尚、本開示を上記の実施形態に基づいて説明してきたが、上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施変更することができる。本実施の形態で記載された数値は一例であり、他の値を使用しても良い。
【０１１４】
また、図１の説明においてファイルコピー制御部１３４が動作するＣＰＵ１１と、第１の不揮発性メモリコントローラ１４が、同一の第１の無線アクセス装置１内に含まれている構成について説明したが、その他の構成としても良い。
【０１１５】
例えば第１の無線アクセス装置１を、図１６に示すように第１のアクセス装置３と、第１の無線情報記録装置４の２つに分離して構成する。具体的には、第１のアクセス装置３は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、外部バスコントローラ１９を含み、これらが第１の内部バス１７で互いに接続されている。第１の無線情報記録装置４は、第１の不揮発性メモリコントローラ１４に接続された第１の不揮発性メモリ１５と外部バスコントローラ４１、第２の内部バス１８で接続された第１の無線回路１６を含む。外部バスコントローラ１９と外部バスコントローラ４１はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＰＣＩ  Ｅｘｐｒｅｓｓ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）等の外部バスコントローラであり、これらを介して第１のアクセス装置３と第１の無線情報記録装置４は接続される構成としても良い。
【０１１６】
このような構成とすることで、第１のアクセス装置３側はＲＯＭ１３にファイルコピー制御部１３４に相当するソフトウェアを組み込むことにより、従来のアクセス装置のハードウェア構成そのままを流用して、本開示を適用することが可能となる。
【０１１７】
また、図１３のＦＳ転送リスト１２１を一例として説明したが、ローカルメモリ、リモートメモリ間でデータのコピーが実施できる十分な情報が含まれていれば、本形式に限定されることはなく、その他の形式としても良い。
【０１１８】
例えば、図１７に示すようなＦＳ転送リスト１２２を用いてもよい。ＦＳ転送リスト１２２に示すように、１つの転送元領域を２箇所以上の転送先領域に対応付け、データがコピーされるようにしても良い。例えば、図１７はｎが２の例であり、リスト番号１に含まれる情報として、“０ｘ０００２”から始まる連続した３クラスタ分の転送元の論理アドレス領域を、“０ｘ０００３”から始まる連続した２クラスタ分の転送先の論理アドレス領域と、“０ｘ０００８”の１クラスタ分の転送先の論理アドレス領域に対応付けている。
【０１１９】
また別の一例として図１８に示すようなＦＳ転送リスト１２３を用いてもよい。図１８はｎが２の例であり、ＦＳ転送リスト１２３に示すように、ＦＳ転送リスト１２２とは逆に１つの転送先領域を２箇所以上の転送元領域に対応付け、データがコピーされるようにしても良い。例えば、図１８の例では、リスト番号５に含まれる情報として、“０ｘ００１５”から始まる連続した２クラスタ分の転送先の論理アドレス領域を、“０ｘ０００Ｄ”、“０ｘ００１０”の２クラスタ分の転送元の論理アドレス領域に対応付け、データがコピーされるようにしても良い。図１７、図１８のいずれの例でも、１対１の対応付けとなっているリスト番号には、転送先論理アドレス２、あるいは転送元論理アドレス２の領域に“０ｘＦＦＦＦ”という無効な論理アドレスが設定されている。
【０１２０】
このように、転送先論理アドレスと転送元論理アドレスの対応が、１対ｎ（ｎは２以上の整数）、あるいはｎ対１（ｎは２以上の整数）のＦＳ転送リストを生成することにより、ＦＳ転送リストのサイズを削減し、コピー処理を最適化することが可能となる。更に、両者を組み合わせ、１対ｎ、ｎ対１の設定が混在するＦＳ転送リストを生成しても良い。
【０１２１】
図１９は１対ｎ、ｎ対１の両方を組み合わせたＦＳ転送リスト１２４の例を示している。ＦＳ転送リスト１２４の説明のために、図１１の転送元である第１の不揮発性メモリ１５上に構築されたＦＡＴファイルシステムに含まれる第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例と、図２０の転送先である第２の不揮発性メモリ２５上に構築されたＦＡＴファイルシステムの第１のＦＡＴ３０５、第２のＦＡＴ３０６の一例を用いる。図１９はｎが２の例である。リスト番号１に含まれる情報として、“０ｘ０００２”から始まる連続した３クラスタ分の転送元の論理アドレス領域を“０ｘ０００３”から始まる連続した２クラスタ分と“０ｘ０００８”から始まる１クラスタ分を転送先の論理アドレス領域に対応づける。リスト番号３に含まれる情報として、“０ｘ０００９”から始まる連続した５クラスタ分と“０ｘ００１０”から始まる１クラスタ分の転送元の論理アドレス領域を“０ｘ０００Ｆ”から始まる連続した６クラスタ分の転送先の論理アドレス領域を対応づける。リスト番号２は１対１の対応付けであり、転送先論理アドレス２、あるいは転送元論理アドレス２の領域に“０ｘＦＦＦＦ”という無効な論理アドレスが設定されている。
【０１２２】
このように、転送先論理アドレスと転送元論理アドレスの対応が、１対ｎ（ｎは２以上の整数）、ｎ対１（ｎは２以上の整数）の両方を混在させて生成することにより、転送先論理アドレスの連続する空きクラスタ数と転送先論理アドレスの連続する空きクラスタ数の様々な組み合わせに対応でき、コピー処理を最適化することが可能になる。
【０１２３】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【０１２４】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。
【０１２５】
そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１２６】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１２７】
ＰＣやタブレット、スマートフォン、ムービー、ＤＳＣ等のローカルメモリ、リモートメモリにデジタルデータを読み書きするアクセス装置と、無線経由で不揮発性メモリに対するアクセスを受け付け、リモートメモリとしてアクセスされることを許容する、無線機能を備えたメモリカード、リムーバブルハードディスク等の情報記録装置で有用である。
【符号の説明】
【０１２８】
１    第１の無線アクセス装置
２    第２の無線アクセス装置
３    第１のアクセス装置
４    第１の無線情報記録装置
１１，２１    ＣＰＵ
１２，２２    ＲＡＭ
１３，２３    ＲＯＭ
１４    第１の不揮発性メモリコントローラ
１５    第１の不揮発性メモリ
１６    第１の無線回路
１７，２７    第１の内部バス
１８，２８    第２の内部バス
１９，４１    外部バスコントローラ
２４    第２の不揮発性メモリコントローラ
２５    第２の不揮発性メモリ
２６    第２の無線回路
１００    無線アクセスシステム
１２１，１２２，１２３，１２４    ＦＳ転送リスト
１３１    アプリケーション制御部
１３２    ファイルシステム制御部
１３３    メモリアクセス制御部
１３４    ファイルコピー制御部
１４１，２４１    シーケンサ
１４２，２４２    ＤＭＡコントローラ
１４３，２４３    ＲＡＭ
１４４，２４４    ＲＯＭ
１４５    第１のメモリコントローラ
１４６    第１のメモリ用データバッファ
１６１    第１の無線用データバッファ
２４５    第２のメモリコントローラ
２４６    第２のメモリ用データバッファ
２６１    第２の無線用データバッファ
３０１    ファイルシステム管理情報領域
３０２    ユーザデータ領域
３０３    マスターブートレコード・パーティションテーブル
３０４    パーティションブートセクタ
３０５    第１のＦＡＴ
３０６    第２のＦＡＴ
３０７    ルートディレクトリエントリ
３０８    ディレクトリエントリ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、前記第２の不揮発性メモリ上に構築されたファイルシステムから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部と、
前記不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、
前記ファイルコピー制御部は前記ＦＳ転送リストを前記第１の不揮発性メモリコントローラに入力し、
前記不揮発性メモリコントローラは前記ＦＳ転送リストに基づき、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でコピーを実施することを特徴とする無線アクセス装置。
【請求項２】
前記不揮発性メモリコントローラは、
コピーを実施する際、前記第１の不揮発性メモリにアクセスするためのアクセスコマンドを生成して前記第１の不揮発性メモリにアクセスすると共に、
前記第２の不揮発性メモリにアクセスするためのアクセスコマンドを生成し、更に前記アクセスコマンドを無線パケットに変換して、他の無線アクセス装置に無線送信して第２の不揮発性メモリにアクセスすることを特徴とする請求項１記載の無線アクセス装置。
【請求項３】
前記不揮発性メモリコントローラは、
前記アクセスコマンドを前記他の無線アクセス装置に無線送信した後、前記他の無線アクセス装置から、前記アクセスコマンドの実施結果を無線パケットで無線受信することを特徴とする請求項１記載の無線アクセス装置。
【請求項４】
前記ファイルコピー制御部は、
転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第１のファイルシステム管理情報と、前記第２のファイルシステム管理情報とから前記転送元ファイルのデータ格納領域に含まれる１つの連続領域長を算出すると共に、前記転送先ファイルのデータを格納する１つの連続空き領域長を算出し、前記連続領域長と連続空き領域長を比較し、小さい方の値をコピー処理単位としてＦＳ転送リストを生成することを特徴とする請求項１記載の無線アクセス装置。
【請求項５】
前記ファイルコピー制御部は、
転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第１のファイルシステム管理情報と、前記第２のファイルシステム管理情報とから前記転送元ファイルのデータ格納領域に含まれる１つの連続領域長を算出すると共に、前記連続領域長と同じ値の１つ以上の連続空き領域を算出し、前記連続空き領域をコピー処理単位としてＦＳ転送リストを生成することを特徴とする請求項１記載の無線アクセス装置。
【請求項６】
前記ファイルコピー制御部は、転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第１のファイルシステム管理情報と、前記第２のファイルシステム管理情報とから前記転送先ファイルのデータを格納する領域として１つの連続空き領域長を算出すると共に、前記連続空き領域長と同じ値の１つ以上の連続領域長を算出し、前記連続領域長をコピー処理単位としてＦＳ転送リストとして生成することを特徴とする請求項１記載の無線アクセス装置。
【請求項７】
無線情報記録装置内部の第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記無線情報記録装置と無線接続された他の無線情報記録装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、前記第２の不揮発性メモリ上に構築されたファイルシステムとから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部を備え、
前記ファイルコピー制御部は前記ＦＳ転送リストを、前記無線情報記録装置に入力することで、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でデータのコピーを実施するように構成したことを特徴とする無線アクセス装置。
【請求項８】
無線情報記録装置内部の第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線情報記録装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第１の不揮発性メモリを制御する第１の不揮発性メモリコントローラを備え、
前記無線アクセス装置は、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間の論理アドレス空間上でのデータ転送元領域と、データ転送先領域の情報を含むＦＳ転送リストを作成し、
前記第１の不揮発性メモリコントローラは、前記ＦＳ転送リストに基づき、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセス装置。
【請求項９】
第１の無線アクセス装置内部の第１の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記第１の無線アクセス装置と無線接続された第２の無線アクセス装置内部の第２の不揮発性メモリ上に構築されたファイルシステム内のファイル間でコピーを行う無線アクセスシステムであって、
前記第１の無線アクセス装置は、前記第１の不揮発性メモリ上に構築されたファイルシステムから読みだした第１のファイルシステム管理情報と、前記第２の不揮発性メモリ上に構築されたファイルシステムとから読み出した第２のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスを特定し、転送するデータサイズと共にリスト化したＦＳ転送リストを生成するファイルコピー制御部と、
前記第１の不揮発性メモリを制御する第１の不揮発性メモリコントローラと、を備え、
前記ファイルコピー制御部は前記ＦＳ転送リストを前記第１の不揮発性メモリコントローラに入力し、
前記第１の不揮発性メモリコントローラは前記ＦＳ転送リストに基づき、前記第１の不揮発性メモリと、前記第２の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセスシステム。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2014129160.tif 000025
【図２】
2014129160.tif 000026
【図３】
2014129160.tif 000027
【図４】
2014129160.tif 000028
【図５】
2014129160.tif 000029
【図６Ａ】
2014129160.tif 000030
【図６Ｂ】
2014129160.tif 000031
【図６Ｃ】
2014129160.tif 000032
【図７】
2014129160.tif 000033
【図８】
2014129160.tif 000034
【図９】
2014129160.tif 000035
【図１０】
2014129160.tif 000036
【図１１】
2014129160.tif 000037
【図１２】
2014129160.tif 000038
【図１３】
2014129160.tif 000039
【図１４】
2014129160.tif 000040
【図１５】
2014129160.tif 000041
【図１６】
2014129160.tif 000042
【図１７】
2014129160.tif 000043
【図１８】
2014129160.tif 000044
【図１９】
2014129160.tif 000045
【図２０】
2014129160.tif 000046
【国際調査報告】
2014129160.tif 000047
2014129160.tif 000048
2014129160.tif 000049
2014129160.tif 000050