JPWO2014129160A1 - 無線アクセス装置および無線アクセスシステム - Google Patents

無線アクセス装置および無線アクセスシステム Download PDF

Info

Publication number
JPWO2014129160A1
JPWO2014129160A1 JP2015501322A JP2015501322A JPWO2014129160A1 JP WO2014129160 A1 JPWO2014129160 A1 JP WO2014129160A1 JP 2015501322 A JP2015501322 A JP 2015501322A JP 2015501322 A JP2015501322 A JP 2015501322A JP WO2014129160 A1 JPWO2014129160 A1 JP WO2014129160A1
Authority
JP
Japan
Prior art keywords
file
nonvolatile memory
transfer
file system
wireless
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015501322A
Other languages
English (en)
Other versions
JP6191021B2 (ja
Inventor
前田 卓治
卓治 前田
外山 昌之
昌之 外山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2014129160A1 publication Critical patent/JPWO2014129160A1/ja
Application granted granted Critical
Publication of JP6191021B2 publication Critical patent/JP6191021B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

無線アクセス装置内部のファイルコピー制御部が、ローカルメモリ、リモートメモリ双方のファイルシステム管理情報を読み出し、コピー元、コピー先の論理アドレス位置を格納したFS転送リストを生成し、ローカルメモリに接続された不揮発性メモリコントローラに入力する。不揮発性メモリコントローラはFS転送リストに格納された情報に基づき、アクセス装置内部のCPUやCPUに接続された内部バスを使用することなく、ローカルメモリ、リモートメモリ間のコピー処理を実施する。

Description

本開示は、無線接続された不揮発性メモリにアクセスする無線アクセス装置および、当該無線メモリアクセス機能を備えた無線アクセスシステムに関する。
テキスト文書や、プレゼンテーションデータ、音楽コンテンツ、映像データ等の各種デジタルデータを記録する記録媒体として、磁気ディスク、光ディスク、USBメモリ、フラッシュメモリカード等、様々な種類が存在する。従来これらの記録媒体は、データを管理するPC(Personal Computer)、DSC(Digital Still Camera)やスマートフォン等のホスト機器に直接物理的に接続されるローカルストレージとして使用されるのが主流であった。
しかしながら、高速有線/無線ネットワークインフラの普及に伴うクラウド化の進展により、ネットワーク上のリモートストレージにアクセスする形態が様々な生活シーンで活用されつつある。
従来、このような形態の一例として、メモリカード自体に無線機能のみを搭載し、無線経由で外部のハードディスク等の大容量ストレージにアクセスしてデータの読み書きを実施するという方法が提案されている(例えば、特許文献1)。
この技術を用いることにより、無線ネットワークの先にある外部機器のメモリ(リモートメモリ)を、自機器に直接接続されたメモリ(ローカルメモリ)のように管理することができ、自機器の容量追加が容易に行えるようになる、リモートメモリを複数のホスト機器で同時に使用することができる等のメリットを享受することができる。
米国特許出願公開第2003/0018852号明細書
本開示の無線アクセス装置および本開示の無線アクセスシステムは、第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置および無線アクセスシステムであって、第1の不揮発性メモリ上に構築されたファイルシステムから読みだした第1のファイルシステム管理情報と、第2の不揮発性メモリ上に構築されたファイルシステムから読み出した第2のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部と、第1の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、ファイルコピー制御部はFS転送リストを第1の不揮発性メモリコントローラに入力し、不揮発性メモリコントローラはFS転送リストに基づき、第1の不揮発性メモリと、第2の不揮発性メモリとの間でコピーを実施することを特徴とする。
これにより、本開示は第1の不揮発性メモリと第2の不揮発性メモリ間でファイルコピーを行う場合において、無線アクセス装置内部のCPU(Central Processing Unit)、バス帯域の能力に依存せず、高速にファイルコピーを実施することが可能となる。
すなわち、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のCPU能力やバスの帯域幅に依存することなく、高速にファイルコピーを行うことが可能となる。
図1は、実施の形態1における無線アクセス装置および無線アクセスシステムの構成図である。 図2は、実施の形態1における第1の不揮発性メモリコントローラの構成図である。 図3は、実施の形態1における第2の不揮発性メモリコントローラの構成図である。 図4は、実施の形態1におけるFATファイルシステムの構成図である。 図5は、実施の形態1におけるディレクトリエントリの構成図である。 図6Aは、実施の形態1におけるFATファイルシステムのディレクトリエントリの一例を示した図である。 図6Bは、実施の形態1におけるFATファイルシステムの第1のFAT、第2のFATの一例を示した図である。 図6Cは、実施の形態1におけるFATファイルシステムのユーザデータ領域の一例を示した図である。 図7は、実施の形態1におけるファイルコピー処理手順の概要を示したフローチャートである。 図8は、実施の形態1におけるファイルコピー処理手順の詳細(Step1)を示したフローチャートである。 図9は、実施の形態1におけるファイルコピー処理手順の詳細(Step2)を示したフローチャートである。 図10は、実施の形態1におけるファイルコピー処理手順の詳細(Step3〜5)を示したフローチャートである。 図11は、実施の形態1におけるFATテーブルの一例を示した説明図である。 図12は、実施の形態1におけるFATテーブルの別の一例を示した説明図である。 図13は、実施の形態1におけるFS転送リストの一例を示した説明図である。 図14は、実施の形態1におけるFS転送リストを用いたファイルコピー処理手順(ローカルメモリからリモートメモリへのコピー)の詳細を示したフローチャートである。 図15は、実施の形態1におけるFS転送リストを用いたファイルコピー処理手順(リモートメモリからローカルメモリへのコピー)の詳細を示したフローチャートである。 図16は、実施の形態1における無線アクセス装置の他の例の構成を示した説明図である。 図17は、実施の形態1における1対n(nは2以上の整数)の転送に対応したFS転送リストの一例を示した説明図である。 図18は、実施の形態1におけるn対1(nは2以上の整数)の転送に対応したFS転送リストの一例を示した説明図である。 図19は、実施の形態1におけるn対1(nは2以上の整数)と1対n(nは2以上の整数)の転送に対応したFS転送リストの一例を示した説明図である。 図20は、実施の形態1におけるFATテーブルのさらに別の一例を示した説明図である。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
以下、本開示の無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムについて、図面を参照しつつ説明する。
(実施の形態1)
従来技術において、ネットワークの先にあるリモートメモリを自機器に直接接続されているローカルメモリと同様に管理してアクセスする場合、ローカルメモリに直接アクセスするデバイスドライバ部分の変更のみでリモートメモリへのアクセスを実現できる。ここで、ローカルメモリとリモートメモリ間でファイルのコピーを実施する場合を想定した。ファイルのコピーは、ホスト機器内のCPU上で動作するファイルシステムの制御プログラムにより実施される。
例えば、ファイルシステムの制御プログラムは、ローカルメモリとリモートメモリ双方のファイルシステム管理情報を参照し、コピー元ファイルのデータが格納された論理アドレスの特定と、コピー先ファイルのデータを格納する論理アドレスの特定を行う。その後、ファイルシステムの制御プログラムは、コピー元ファイルのデータをホスト機器内のRAM上に読み出し、読み出したデータをコピー先ファイルのデータ格納位置に書き込む。すなわち、ローカルメモリとリモートメモリ間のファイルコピーは、ホスト機器内のRAMを介してホスト機器内のCPUの処理により実施される。そのため、ファイルコピー処理速度はホスト機器内のCPUの処理能力、ホスト機器内のRAMの接続されているバスの帯域幅等に依存する。これらの能力が低いと高速なファイルコピーが行えない。
上記課題に鑑み本開示は、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のCPU能力やバスの帯域幅に依存することなく、高速にファイルコピーを行う無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムを提供することを目的とする。
図1は本実施の形態における無線アクセス装置の構成および無線アクセスシステムの構成図である。図1において、無線アクセスシステム100は、第1の無線アクセス装置1と第2の無線アクセス装置2で構成される。無線アクセスシステム100において、第1の無線アクセス装置1が、自装置内に存在する第1の不揮発性メモリ15をローカルメモリとして、また第2の無線アクセス装置2内に存在する第2の不揮発性メモリ25をリモートメモリとして管理し、アクセスする場合を想定する。第1の無線アクセス装置1は、CPU11、RAM12、ROM13、第1の不揮発性メモリコントローラ14を含み、これらが第1の内部バス17で互いに接続されている。更に第1の無線アクセス装置1は、第1の不揮発性メモリコントローラ14に接続された第1の不揮発性メモリ15と、第2の内部バス18で接続された第1の無線回路16を含む。ROM13には第1の無線アクセス装置1を制御するプログラムが格納されており、このプログラムはRAM12を一時記憶領域として使用し、CPU11上で動作する。
第1の不揮発性メモリコントローラ14は、第1の不揮発性メモリ15に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、第1の不揮発性メモリ15の読み書きを制御する。
また、第1の無線回路16は第2の無線アクセス装置2と無線通信を行う制御回路であり、802.11a/b/g/nの無線LAN規格に対応した制御回路、今後普及が期待される802.11acや802.11adの無線LAN規格に対応した制御回路、近距離無線通信規格であるBluetooth(登録商標)や近距離無線転送技術であるTransferJet(登録商標)等のその他無線通信用の制御回路等である。本開示は特定の無線通信方式に限定されるものではないため、第1の無線回路16としてこれら任意の無線通信の制御回路を使用することが可能である。
ROM13は更に、アプリケーション制御部131、ファイルシステム制御部132、メモリアクセス制御部133を含む。アプリケーション制御部131は、データの生成や電源の制御等、第1の無線アクセス装置1全体の制御を行う。ファイルシステム制御部132は、FATファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。メモリアクセス制御部133は、ファイルシステム制御部132からデータと共にアクセスサイズとアクセス先論理アドレスを渡され、指定されたサイズのデータをローカルメモリである第1の不揮発性メモリ15、あるいはリモートメモリである第2の不揮発性メモリ25における指定された論理アドレスに記録する等、ローカルメモリ、リモートメモリに対するコマンドやデータの送受信を制御する。ファイルシステム制御部132は更に、ファイルコピー制御部134を含む。ファイルコピー制御部134は、本開示の特徴であるローカルメモリ、リモートメモリ間のファイルコピー処理を実施する制御部であり、従来の無線アクセス装置には存在しない。
また、第1の不揮発性メモリコントローラ14も、後述するファイルシステム転送リストであるFS転送リスト121の制御を行う機能を有しており、従来には存在しない。
一方、図1において第2の無線アクセス装置2は、CPU21、RAM22、ROM23、第2の不揮発性メモリコントローラ24を含み、これらが第1の内部バス27で互いに接続されている。更に第2の無線アクセス装置2は、第2の不揮発性メモリコントローラ24に接続された第2の不揮発性メモリ25と、第2の内部バス28で接続された第2の無線回路26を含む。ROM23には第2の無線アクセス装置2を制御するプログラムが格納されており、このプログラムはRAM22を一時記憶領域として使用し、CPU21上で動作する。第2の不揮発性メモリコントローラ24は、第2の不揮発性メモリ25に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、第2の不揮発性メモリ25の読み書きを制御する。また、第2の無線回路26は第1の無線アクセス装置1と無線通信を行う制御回路であり、第1の無線回路16と任意の無線通信が可能である。第2の無線アクセス装置2の内部の構成は第1の無線アクセス装置1の内部構成と同様である。
本実施の形態において第2の無線アクセス装置2は、自装置内に存在する第2の不揮発性メモリ25をリモートメモリとして第1の無線アクセス装置1からアクセス可能な装置として動作し、第1の無線アクセス装置1から第2の不揮発性メモリ25へのアクセスは第2の不揮発性メモリコントローラ24が実施し、第2の無線アクセス装置2内のCPU21は介在しない。そのため、本実施の形態では第2の無線アクセス装置2内のROM23上に格納された各種プログラムの詳細については説明しない。
続いて、本実施の形態における第1の不揮発性メモリコントローラ14、第2の不揮発性メモリコントローラ24の構成について、図2、図3を用いて説明する。図2において第1の不揮発性メモリコントローラ14は、シーケンサ141、DMAコントローラ142、RAM143、ROM144、第1のメモリコントローラ145、第1のメモリ用データバッファ146を含む。シーケンサ141は第1の不揮発性メモリコントローラ14の制御を行う制御部であり、ROM144に格納されたマイクロコードにより各種処理が実施される。
ここでシーケンサ141は第1の不揮発性メモリコントローラ14内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
DMAコントローラ142は、第1の不揮発性メモリコントローラ14内の各部、および、第1の無線回路16内の第1の無線用データバッファ161間における各種データのDMA(Direct Memory Access)転送を制御する制御部である。
第1のメモリコントローラ145は、第1の不揮発性メモリ15に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。
第1のメモリ用データバッファ146は、第1の不揮発性メモリ15に対するアクセス時に発生する各種データを格納するバッファである。本実施の形態における第1の不揮発性メモリコントローラ14は、CPU11からFS転送リスト121が入力され、シーケンサ141がFS転送リスト121を解釈し、ローカルメモリである第1の不揮発性メモリ15、リモートメモリである第2の不揮発性メモリ25に対するアクセスを行う。
図3において第2の不揮発性メモリコントローラ24は、シーケンサ241、DMAコントローラ242、RAM243、ROM244、第2のメモリコントローラ245、第2のメモリ用データバッファ246を含む。シーケンサ241は第2の不揮発性メモリコントローラ24の制御を行う制御部であり、ROM244に格納されたマイクロコードにより各種処理が実施される。
ここでシーケンサ241は第2の不揮発性メモリコントローラ24内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
DMAコントローラ242は、第2の不揮発性メモリコントローラ24内の各部、および、第2の無線回路26内の第2の無線用データバッファ261間における各種データのDMA転送を制御する制御部である。
第2のメモリコントローラ245は、第2の不揮発性メモリ25に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。第2の不揮発性メモリコントローラ24は基本的には第1の不揮発性メモリコントローラ14の構成と同様である。
このような構成により、本実施の形態では、第1の無線アクセス装置1内のファイルシステム制御部132が、自装置内の第1の不揮発性メモリ15をローカルメモリとして、第2の無線アクセス装置2内の第2の不揮発性メモリ25をリモートメモリとして管理し、ファイルコピー制御部134、および、第1の不揮発性メモリコントローラ14の協調動作により、高速ファイルコピーを実現する。以下、本実施の形態の高速ファイルコピーの詳細について説明する。
本実施の形態の高速ファイルコピー処理において、ファイルコピー制御部134が生成するFS転送リスト121に基づき第1の不揮発性メモリコントローラ14が実際のデータコピー処理を実施する。FS転送リスト121の詳細は後述するが、このFS転送リスト121はファイルシステム管理情報に含まれる領域管理情報を基に生成されるため、ファイルシステム管理情報との関連がある。そのため、ここではファイルシステムの一例としてFAT(File Allocation Table)ファイルシステムの説明を行う。本実施の形態ではFATファイルシステムを一例として説明するが、本開示はファイルシステムの種別に限定されるものではなく、UDF(Universal Disc Format)やNTFS(NT File System)等、他のファイルシステムにも適用することが可能である。
図4はFATファイルシステムの構成図である。FATファイルシステムでは管理単位のビット幅の違いにより、FAT12(12ビットのクラスタ識別子を利用したFAT)、FAT16(16ビットのクラスタ識別子を利用したFAT)、FAT32(32ビットのクラスタ識別子を利用したFAT)等の種類が存在するが、FATによる領域管理方法は同じであり、以下ではFAT16を例に説明する。同図に示すようにFATファイルシステムは、論理アドレス空間の先頭に領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域301と実際のファイルデータやディレクトリが存在する領域のユーザデータ領域302で構成される。
ファイルシステム管理情報領域301は、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、第1のFAT305、第2のFAT306、ルートディレクトリエントリ307と呼ばれるファイルシステムの管理情報を含み、ユーザデータ領域302を管理するために必要な情報である。マスターブートレコード・パーティションテーブル303は、ファイルシステムの管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。パーティションブートセクタ304は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報が格納される領域である。第1のFAT305、第2のFAT306は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ2つのFATが存在し、例えば一方のFATである第1のFAT305が破損したとしても他方のFATである第2のFAT306によりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリ307は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報(ディレクトリエントリ)が格納される領域である。
ユーザデータ領域302は、512バイトから32KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、第1のFAT305、第2のFAT306に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報であるディレクトリエントリは、このユーザデータ領域302の一部を利用して格納される。
図5はFAT16のディレクトリエントリの構成図である。ディレクトリエントリ308は1つのファイル、ディレクトリ毎に32バイトのディレクトリエントリ308が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、1つのファイルやディレクトリが追加される度に32バイトのディレクトリエントリ308の情報が新規に作成され、ルートディレクトリエントリ307の領域、あるいはユーザデータ領域302に記録される。ディレクトリエントリ308の先頭8バイトにはファイルやディレクトリの名称が格納される。次に続く3バイトにはファイルやディレクトリの拡張子が格納される。次に続く1バイトにはファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。さらに、予約領域があり、次にファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
このようにディレクトリエントリ308はファイルの先頭データを格納したクラスタの位置に関する情報しか保持しないため、ファイルデータが複数クラスタに跨って格納される場合には、その位置情報は第1のFAT305、第2のFAT306に保持される。すなわち、ファイルを更新する場合にはファイルデータを書き込むと共に、ディレクトリエントリ308、第1のFAT305、第2のFAT306の情報も書き込む必要がある。
図6A、図6B、図6CはFAT16のFATファイルシステムにおけるファイルシステム管理情報、ユーザデータの一例を示した説明図である。図6Aはディレクトリエントリ308の一例であり“FILE1.TXT”という名称の60000バイトのサイズを持つファイルが格納されていることを示している。また、このファイルのデータ本体が論理クラスタ番号2から始まる領域に格納されていることを示している。図6BはFAT16における第1のFAT305、第2のFAT306の一例を示している。第1のFAT305、第2のFAT306先頭の4バイトはシグネチャとして固定の値が格納されているが、それ以外の領域は、16ビット単位で各々ユーザデータ領域302内の論理クラスタに対応付けされている。例えば、第1のFAT305、第2のFAT306の先頭のシグネチャ直後の16ビットは、論理クラスタ番号2にその後の16ビットは論理クラスタ番号3に対応付けされており、以下昇順に論理クラスタ番号に対応付けされている。各々の16ビットに格納される値は、対応付けされた論理クラスタ番号の状態を示しており、例えば0x0000の場合には、対応付けされた論理クラスタ番号の領域が空きクラスタであることを意味し、0x0002〜0xFFF6の場合には、対応付けされた論理クラスタ番号の領域にリンクされた次の領域の論理クラスタ番号を意味し、0xFFF8〜0xFFFFの場合には、対応付けされた論理クラスタ番号の領域がリンク終端であることを意味する。すなわち図6Bの第1のFAT305、第2のFAT306の例では論理クラスタ番号2、3、4、5の領域が“FILE1.TXT”のデータ本体を格納していることを示している。さらに、図6Cのユーザデータ領域302の例では、実際に論理クラスタ番号2、3、4、5の領域が“FILE1.TXT”のデータ本体を格納していることを示している。
このようにFATファイルシステムでは、第1のFAT305、第2のFAT306によりユーザデータ領域302の管理をしており、本実施の形態では、第1のFAT305、第2のFAT306を基にFS転送リスト121を生成し、ファイルコピー処理に使用する。
続いて本実施の形態におけるファイルコピー処理手順の概要について説明する。図7は、ファイルコピー処理手順のフローを示す図である。本実施の形態におけるファイルコピー処理では、CPU11上で動作するファイルコピー制御部134と、第1の不揮発性メモリコントローラ14、第2の無線アクセス装置2内の第2の不揮発性メモリコントローラ24により、FS転送リスト121を用いて第1の不揮発性メモリ15から第2の不揮発性メモリ25へ、または第2の不揮発性メモリ25から第1の不揮発性メモリ15へ高速ファイルコピーを実現する。本実施の形態におけるファイルコピー処理は、以下の5つのStepで構成される。
(Step1)CPU11上で動作するファイルコピー制御部134が、第1の不揮発性メモリコントローラ14を介して、第1の不揮発性メモリ15からファイルシステム管理情報を読み出す。これにより第1の不揮発性メモリ15上に存在する転送元ファイルのデータ本体が格納されている論理アドレス、あるいは、第1の不揮発性メモリ15上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレスを特定する。
(Step2)CPU11上で動作するファイルコピー制御部134が、第2の不揮発性メモリコントローラ24を介して、第2の不揮発性メモリ25からファイルシステム管理情報を読み出す。これにより第2の不揮発性メモリ25上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレス、あるいは、第2の不揮発性メモリ25上に存在する転送元ファイルのデータ本体が格納されている論理アドレスを特定する。
(Step3)CPU11上で動作するファイルコピー制御部134が、Step1、Step2で読み出したファイルシステム管理情報を基に、FS転送リスト121を生成する。
(Step4)CPU11上で動作するファイルコピー制御部134が、Step3で生成したFS転送リスト121を第1の不揮発性メモリコントローラ14に送信し、ファイルコピー処理を指示する。以降、ファイルコピー処理が完了するまで、実際のコピー処理は第1の不揮発性メモリコントローラ14で実施され、CPU11上で動作するファイルコピー制御部134はファイルコピー処理の完了が通知されるまで待機する。
(Step5)第1の不揮発性メモリコントローラ14が、Step4で送信されたFS転送リスト121を受信し、記載内容に従い、実際にデータのコピー処理を実施する。
このように本実施の形態におけるファイルコピー処理は、CPU11上で動作するファイルコピー制御部134がFS転送リスト121を生成し、実際のコピー処理はFS転送リスト121を基に第1の不揮発性メモリコントローラ14が実施する。これにより、実際にデータをコピーする際にはCPU11、および、第1の内部バス17は関与しないため、これらの能力に依存することなく、高速にファイルコピーを実施できる。
続いて、図8を用いてStep1の処理手順の詳細について説明する。Step1の処理では、CPU11上で動作するファイルコピー制御部134と第1の不揮発性メモリコントローラ14により、第1の不揮発性メモリ15からファイルシステム管理情報を読み出す。Step1の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理である。
(S801)CPU11上で動作するファイルコピー制御部134が、第1のFAT305、第2のFAT306やディレクトリエントリ308等のファイルシステム管理情報から、第1の不揮発性メモリ15上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル303の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
(S802)CPU11上で動作するファイルコピー制御部134が、S801の処理で特定した論理アドレスに対するRead指示を第1の不揮発性メモリコントローラ14に発行する。
(S803)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S802の処理において発行されたRead指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。第1の不揮発性メモリ15として使用される記録媒体には、SDメモリカードやSATA(Serial Advanced Technology Attachment)接続方式で接続されたハードディスク等が存在するが、これら各々の記録媒体にはアクセスのためのプロトコルが規定されている。ここでは、第1の不揮発性メモリ15にアクセスするための各種プロトコルに従い、読み出し処理を実施するために必要なコマンドパケットを生成する。
(S804)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S803の処理において生成したコマンドパケットを第1のメモリコントローラ145に入力する。
(S805)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1の不揮発性メモリ15からデータを読み出す。読み出したデータは、第1のメモリ用データバッファ146に格納される。
(S806)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、Read処理が完了した旨をCPU11上で動作するファイルコピー制御部134に通知する。
(S807)CPU11上で動作するファイルコピー制御部134が、第1のメモリ用データバッファ146から第1の無線アクセス装置1内のRAM12に読み出したデータを転送する。この処理により、1回のファイルシステム管理情報の読み出し処理が完了する。
(S808)CPU11上で動作するファイルコピー制御部134が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか否かを確認する。ファイルシステム管理情報の読み出しが完了していない場合は、S801の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Step1の処理を終了する。例えば、FATファイルシステムの場合、ファイルにアクセスするためには、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、第1のFAT305、第2のFAT306、ルートディレクトリエントリ307の領域を順に読み出し、更に必要に応じて、サブディレクトリのディレクトリエントリ308を読み出す。これらを読み出すためにファイルシステム管理情報に対して、S801からS807までの処理を繰り返し実施する。
続いて、図9を用いてStep2の処理手順の詳細について説明する。Step2の処理では、CPU11上で動作するファイルコピー制御部134と第1の不揮発性メモリコントローラ14、第2の無線アクセス装置2により、第2の不揮発性メモリ25からファイルシステム管理情報を読み出す。Step2の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理となる。
(S901)CPU11上で動作するファイルコピー制御部134が、第1のFAT305、第2のFAT306やディレクトリエントリ308等のファイルシステム管理情報から、第2の不揮発性メモリ25上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル303の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
(S902)CPU11上で動作するファイルコピー制御部134が、S901の処理で特定した論理アドレスに対するRead指示を第1の不揮発性メモリコントローラ14に発行する。
(S903)第1の不揮発性メモリコントローラ14内部のシーケンサ141は、S902の処理において発行されたRead指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。
(S904)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S903の処理において生成したコマンドパケットをペイロードに含んで無線パケットを生成し、第1の無線回路16を介して第2の無線アクセス装置2に送信する。
(S905)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S904の処理において無線送信された無線パケットを第2の無線回路26を介して受信し、無線パケット内のペイロード部分に格納された読み出しを実施するためのコマンドパケット(Readコマンド)を取り出し、第2のメモリコントローラ245に入力する。
(S906)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2の不揮発性メモリ25からデータを読み出す。読み出したデータは、第2のメモリ用データバッファ246に格納される。
(S907)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S906の処理において読み出したデータをペイロードに含んだ無線パケットを第2のメモリ用データバッファ246上に生成する。
(S908)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、S907の処理において生成した無線パケットを第2のメモリ用データバッファ246から第2の無線用データバッファ261にDMA転送する。
(S909)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、第2の無線回路26を介して、第2の無線用データバッファ261上に存在する無線パケットを第1の無線アクセス装置1に送信する。
(S910)S909の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信すると、受信した無線パケットを第1の無線用データバッファ161に格納する。その後、第1の不揮発性メモリコントローラ14内部のシーケンサ141が、DMAコントローラ142を制御し、第1の無線用データバッファ161上の無線パケット内のペイロード部分に格納されたReadデータを、第1のメモリ用データバッファ146にDMA転送する。
(S911)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、Read処理が完了した旨をCPU11上で動作するファイルコピー制御部134に通知する。
(S912)CPU11上で動作するファイルコピー制御部134が、第1のメモリ用データバッファ146から第1の無線アクセス装置1内のRAM12にReadデータを転送する。この処理により、1回のファイルシステム管理情報読み出し処理が完了する。
(S913)CPU11上で動作するファイルコピー制御部134が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか確認する。ファイルシステム管理情報の読み出しが完了していない場合は、S901の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Step2の処理を終了する。
続いて、図10を用いてStep3からStep5の処理手順の詳細について説明する。Step3からStep5の処理では、CPU11上で動作するファイルコピー制御部134が、Step1、Step2で読み出したファイルシステム管理情報を基にFS転送リスト121を生成し、第1の不揮発性メモリコントローラ14に入力することにより、第1の不揮発性メモリコントローラ14が実際のデータコピー処理を実施する。図10で説明する処理は、Step5の詳細処理内容を除き、ローカルメモリからリモートメモリへのファイルコピー、すなわち第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理となる。
(S1001)CPU11上で動作するファイルコピー制御部134が、Step1、Step2で読み出したファイルシステム管理情報を基に、FS転送リスト121を生成する。
図13はFS転送リスト121の一例を示す図である。図13に示すように、コピー先とコピー元の転送方向を示す転送方向、コピー先とコピー元のファイルデータが格納されている領域の論理アドレス、転送サイズを示す転送クラスタ数が含まれたリストである。転送方向は、“L to R”と“R to L”の2種類で、“L to R”がローカルメモリである第1の不揮発性メモリ15からリモートメモリである第2の不揮発性メモリ25へのコピーを意味し、“R to L”がリモートメモリである第2の不揮発性メモリ25からローカルメモリである第1の不揮発性メモリ15へのコピーを意味する。転送元論理アドレスは、コピー元のファイルデータが格納されている領域の開始論理アドレスを示す。転送先論理アドレスは、コピー先のファイルデータを格納する領域の開始論理アドレスを示す。転送クラスタ数は、コピーするデータのサイズをクラスタ数で示す。図13では、転送元論理アドレス、転送先論理アドレス、転送クラスタ数共に、ファイルシステムの論理的な領域管理単位である32KB等のクラスタ単位で管理する例を示しているが、コピー領域を特定できる情報であれば何でも良く、不揮発性メモリの最小アクセス単位である512B等のセクタ単位で管理する等、クラスタ以外の単位で管理しても良い。
次に、図11、図12を用いて、FS転送リスト121の生成手順について説明する。図11は転送元、すなわちローカルメモリである第1の不揮発性メモリ15上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306の一例であり、図12は転送先、すなわちリモートメモリである第2の不揮発性メモリ25上に構築されたFATファイルシステムの第1のFAT305、第2のFAT306の一例である。また、転送するファイルは、論理クラスタ番号“0x0002”の論理アドレス領域から始まり、“0x0010”の論理アドレス領域で終了する一連のリンク上にデータが格納されているとする。まず始めに転送元の第1のFAT305、第2のFAT306上のコピー開始位置から始まる一つの連続領域長を算出する。図11の場合、論理クラスタ番号“0x0002”から“0x0004”のクラスタ数“3クラスタ”が一つの連続領域長となる。次に、転送先の第1のFAT305、第2のFAT306上の先頭から、一つの連続空き領域長を算出する。図12の場合、論理クラスタ番号“0x0003”、“0x0004”のクラスタ数“2クラスタ”が一つの連続空き領域長となる。続いて、図11の連続空き領域長と図12の連続空き領域長の両者を比較し、小さい値を一回の転送クラスタ数と決定する。上記の例の場合、より小さな数値である図12の連続空き領域長の“2クラスタ”が一回の転送クラスタ数となる。最後にこれらの値をFS転送リスト121に記載し、以降、転送元ファイルの終端まで、同様の処理を継続する。具体的には、図13に示すようにFS転送リスト121の1行目に転送方向“L to R”、転送元論理アドレス“0x0002”、転送先論理アドレス“0x0003”、転送クラスタ数“2”が格納され、2行目には引き続く領域から探索した際に得られる値として転送方向“L to R”、転送元論理アドレス“0x0004”、転送先論理アドレス“0x0008”、転送クラスタ数“1”が格納される。以降、同様に転送元論理アドレスが“0x0010”になるまでFS転送リスト121に値が追記される。
(S1002)続いて、CPU11上で動作するファイルコピー制御部134が、S1001の処理で生成したFS転送リスト121を、第1の不揮発性メモリコントローラ14に送信し、コピーを指示する。以降、コピー処理は第1の不揮発性メモリコントローラ14により実施され、CPU11上で動作するファイルコピー制御部134はコピー処理完了まで待機する。
(S1003)第1の不揮発性メモリコントローラ14が、S1002の処理で送信されたFS転送リスト121の内容を解析し、実際にコピー処理を実施する。コピー処理の詳細については後述する。
(S1004)第1の不揮発性メモリコントローラ14が、S1003のコピー処理が完了すると、CPU11上で動作するファイルコピー制御部134にその旨を通知する。
(S1005)CPU11上で動作するファイルコピー制御部134が、S1004の処理で通知されたコピー処理完了通知を受信すると、コピー処理が完了したことを認識し、処理を終了する。
このように、本実施の形態におけるファイルコピー処理では、FS転送リスト121の生成までをCPU11上で動作するファイルコピー制御部134が実施し、以降の実際のコピー処理を第1の不揮発性メモリコントローラ14が実施する。これにより実際のコピー処理にはCPU11、第1の内部バス17が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
また、上記ファイルコピー処理の説明では、ファイルデータ本体のコピーについてのみ記載しているが、実際には、コピー先ファイルに関する情報を、コピー先の不揮発性メモリ内に存在する第1のFAT305、第2のFAT306やディレクトリエントリ308に書き込む。これらファイルシステム管理情報の更新処理はファイルシステム制御部132において従来のファイルシステム管理情報の更新処理と同様のため、詳細説明を割愛する。これらファイルシステム管理情報の更新処理は、図10で説明したファイルコピー処理の前後のいずれかのタイミングで実施すれば良い。
続いて、図14を用いてStep5のFS転送リスト121を用いたコピー処理における、ローカルメモリである第1の不揮発性メモリ15からリモートメモリである第2の不揮発性メモリ25にコピーする場合の詳細処理手順について説明する。
(S1401)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、FS転送リスト121の先頭から行単位で参照し、転送方向を確認する。図13のFS転送リスト121の例では、1行目の転送方向が“L to R”となっており、シーケンサ141はローカルメモリからリモートメモリへのコピーであることを認識する。
(S1402)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1401で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、ローカルメモリからのデータ読み出しを行う。そのため、FS転送リスト121上の転送元論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する読み出しを実施するため、必要なコマンドパケットを生成する。
(S1403)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1402の処理において生成したコマンドパケットを第1のメモリコントローラ145に入力する。
(S1404)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1の不揮発性メモリ15からデータを読み出す。読み出したデータは、第1のメモリ用データバッファ146に格納する。
(S1405)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1401で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、リモートメモリへのデータ書き込みを行う。そのため、FS転送リスト121上の転送先論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する書き込みを実施するためのコマンドパケットを生成する。
(S1406)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1404で読み出したデータ、S1405の処理で生成したコマンドパケットをペイロードに含んだ無線パケットを第1のメモリ用データバッファ146上に生成する。
(S1407)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1406で生成した無線パケットを、DMAコントローラ142を制御して、第1の無線用データバッファ161にDMA転送する。
(S1408)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1407で第1の無線用データバッファ161に転送した無線パケットを、第1の無線回路16を介して、第2の無線アクセス装置2に送信する。
(S1409)S1408の処理により第1の無線アクセス装置1から送信されてきた無線パケットを第2の無線回路26が受信すると、受信した無線パケットを第2の無線用データバッファ261に格納する。その後、第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、第2の無線用データバッファ261上の無線パケット内のペイロード部分に格納されたデータを、第2のメモリ用データバッファ246にDMA転送する。
(S1410)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S1408の処理により第1の無線アクセス装置1から送信されてきた無線パケット内のペイロード部分に格納された書き込みを実施するためのコマンドパケット(Writeコマンド)を取り出し、第2のメモリコントローラ245に入力する。
(S1411)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2のメモリ用データバッファ246に格納されたデータを第2の不揮発性メモリ25に書き込む。更に、書き込みが完了した後、Write完了通知を含む無線パケットを生成し、第2の無線回路26を介して第1の無線アクセス装置1に送信する。
(S1412)S1411の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信し、第1の不揮発性メモリコントローラ14内部のシーケンサ141がWrite完了を認識すると、FS転送リスト121内に未処理のリストが存在するか確認する。FS転送リスト121の終端まで来ておらず未処理のリストが存在する場合、S1401の処理に戻り、残りのリストに対する処理を継続する。FS転送リスト121の終端で未処理のリストが存在しない場合、S1413の処理に進む。
(S1413)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、CPU11上で動作するファイルコピー制御部134にコピー処理完了を通知し、処理を終了する。
続いて、図15を用いてStep5のFS転送リスト121を用いたコピー処理における、リモートメモリである第2の不揮発性メモリ25からローカルメモリである第1の不揮発性メモリ15にコピーする場合の詳細処理手順について説明する。
(S1501)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、FS転送リスト121の先頭から行単位で参照し、転送方向を確認する。ここでは転送方向として“R to L”が格納されており、リモートメモリからローカルメモリにコピーする場合を想定する。
(S1502)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1501で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、リモートメモリからのデータ読み出しを行う。そのため、FS転送リスト121上の転送元論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する読み出しを実施するコマンドパケットを生成する。
(S1503)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1502の処理において生成したコマンドパケットをペイロードに含んだ無線パケットを生成し、第1の無線回路16を介して、第2の無線アクセス装置2に送信する。
(S1504)S1503の処理により第1の無線アクセス装置1から送信された無線パケットを第2の無線回路26が受信すると、受信した無線パケットを第2の無線用データバッファ261に格納する。その後、第2の不揮発性メモリコントローラ24内部のシーケンサ241が、無線パケット内のペイロード部分に格納された読み出しを実施するコマンドパケット(Readコマンド)を取り出し、第2のメモリコントローラ245に入力する。
(S1505)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2の不揮発性メモリ25から第2のメモリ用データバッファ246にデータを読み出す。
(S1506)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S1505の処理で読み出したデータを第2のメモリ用データバッファ上で無線パケット化する。
(S1507)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、第2のメモリ用データバッファ246上の無線パケットを、第2の無線用データバッファ261にDMA転送する。
(S1508)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、第2の無線回路26を介して第2の無線用データバッファ261上の無線パケットを、第1の無線アクセス装置1に送信する。
(S1509)S1508の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信すると、受信した無線パケットを第1の無線用データバッファ161に格納する。その後、第1の不揮発性メモリコントローラ14内部のシーケンサ141が、無線パケット内のペイロード部分に格納されたデータを取り出し、DMAコントローラ142を制御し、第1のメモリ用データバッファ146にDMA転送する。
(S1510)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1501で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、ローカルメモリへのデータ書き込みを行う。そのため、FS転送リスト121上の転送先論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する書き込みを実施するコマンドパケットを生成する。
(S1511)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1510の処理で生成したコマンドパケット(Writeコマンド)を、第1のメモリコントローラ145に入力する。
(S1512)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1のメモリ用データバッファ146に格納されたReadデータを第1の不揮発性メモリ15に書き込む。
(S1513)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1512の書き込み処理が完了した後、FS転送リスト121内に未処理のリストが存在するか確認する。FS転送リスト121の終端まで来ておらず未処理のリストが存在する場合、S1501の処理に戻り、残りのリストに対する処理を継続する。FS転送リスト121の終端で未処理のリストが存在しない場合、S1514の処理に進む。
(S1514)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、CPU11上で動作するファイルコピー制御部134にコピー処理完了を通知し、処理を終了する。
このように、本実施の形態におけるFS転送リスト121を用いたコピー処理では、第1の不揮発性メモリコントローラ14がFS転送リスト121の内容に従い自律的にローカルメモリからリモートメモリへのコピー処理を実施する。
以上のように、本実施の形態の無線アクセス装置では、ローカルメモリ、リモートメモリ間のファイルコピーを実施する際、無線アクセス装置内のCPU11上で動作するファイルコピー制御部134がFS転送リスト121を生成、第1の不揮発性メモリコントローラ14に入力し、以降の実際のコピー処理を第1の不揮発性メモリコントローラ14が入力されたFS転送リスト121に基づき実施する。これにより実際のコピー処理にはCPU11、第1の内部バス17が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
尚、本開示を上記の実施形態に基づいて説明してきたが、上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施変更することができる。本実施の形態で記載された数値は一例であり、他の値を使用しても良い。
また、図1の説明においてファイルコピー制御部134が動作するCPU11と、第1の不揮発性メモリコントローラ14が、同一の第1の無線アクセス装置1内に含まれている構成について説明したが、その他の構成としても良い。
例えば第1の無線アクセス装置1を、図16に示すように第1のアクセス装置3と、第1の無線情報記録装置4の2つに分離して構成する。具体的には、第1のアクセス装置3は、CPU11、RAM12、ROM13、外部バスコントローラ19を含み、これらが第1の内部バス17で互いに接続されている。第1の無線情報記録装置4は、第1の不揮発性メモリコントローラ14に接続された第1の不揮発性メモリ15と外部バスコントローラ41、第2の内部バス18で接続された第1の無線回路16を含む。外部バスコントローラ19と外部バスコントローラ41はUSB(Universal Serial Bus)やPCI Express(Peripheral Component Interconnect Express)等の外部バスコントローラであり、これらを介して第1のアクセス装置3と第1の無線情報記録装置4は接続される構成としても良い。
このような構成とすることで、第1のアクセス装置3側はROM13にファイルコピー制御部134に相当するソフトウェアを組み込むことにより、従来のアクセス装置のハードウェア構成そのままを流用して、本開示を適用することが可能となる。
また、図13のFS転送リスト121を一例として説明したが、ローカルメモリ、リモートメモリ間でデータのコピーが実施できる十分な情報が含まれていれば、本形式に限定されることはなく、その他の形式としても良い。
例えば、図17に示すようなFS転送リスト122を用いてもよい。FS転送リスト122に示すように、1つの転送元領域を2箇所以上の転送先領域に対応付け、データがコピーされるようにしても良い。例えば、図17はnが2の例であり、リスト番号1に含まれる情報として、“0x0002”から始まる連続した3クラスタ分の転送元の論理アドレス領域を、“0x0003”から始まる連続した2クラスタ分の転送先の論理アドレス領域と、“0x0008”の1クラスタ分の転送先の論理アドレス領域に対応付けている。
また別の一例として図18に示すようなFS転送リスト123を用いてもよい。図18はnが2の例であり、FS転送リスト123に示すように、FS転送リスト122とは逆に1つの転送先領域を2箇所以上の転送元領域に対応付け、データがコピーされるようにしても良い。例えば、図18の例では、リスト番号5に含まれる情報として、“0x0015”から始まる連続した2クラスタ分の転送先の論理アドレス領域を、“0x000D”、“0x0010”の2クラスタ分の転送元の論理アドレス領域に対応付け、データがコピーされるようにしても良い。図17、図18のいずれの例でも、1対1の対応付けとなっているリスト番号には、転送先論理アドレス2、あるいは転送元論理アドレス2の領域に“0xFFFF”という無効な論理アドレスが設定されている。
このように、転送先論理アドレスと転送元論理アドレスの対応が、1対n(nは2以上の整数)、あるいはn対1(nは2以上の整数)のFS転送リストを生成することにより、FS転送リストのサイズを削減し、コピー処理を最適化することが可能となる。更に、両者を組み合わせ、1対n、n対1の設定が混在するFS転送リストを生成しても良い。
図19は1対n、n対1の両方を組み合わせたFS転送リスト124の例を示している。FS転送リスト124の説明のために、図11の転送元である第1の不揮発性メモリ15上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306の一例と、図20の転送先である第2の不揮発性メモリ25上に構築されたFATファイルシステムの第1のFAT305、第2のFAT306の一例を用いる。図19はnが2の例である。リスト番号1に含まれる情報として、“0x0002”から始まる連続した3クラスタ分の転送元の論理アドレス領域を“0x0003”から始まる連続した2クラスタ分と“0x0008”から始まる1クラスタ分を転送先の論理アドレス領域に対応づける。リスト番号3に含まれる情報として、“0x0009”から始まる連続した5クラスタ分と“0x0010”から始まる1クラスタ分の転送元の論理アドレス領域を“0x000F”から始まる連続した6クラスタ分の転送先の論理アドレス領域を対応づける。リスト番号2は1対1の対応付けであり、転送先論理アドレス2、あるいは転送元論理アドレス2の領域に“0xFFFF”という無効な論理アドレスが設定されている。
このように、転送先論理アドレスと転送元論理アドレスの対応が、1対n(nは2以上の整数)、n対1(nは2以上の整数)の両方を混在させて生成することにより、転送先論理アドレスの連続する空きクラスタ数と転送先論理アドレスの連続する空きクラスタ数の様々な組み合わせに対応でき、コピー処理を最適化することが可能になる。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。
そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
PCやタブレット、スマートフォン、ムービー、DSC等のローカルメモリ、リモートメモリにデジタルデータを読み書きするアクセス装置と、無線経由で不揮発性メモリに対するアクセスを受け付け、リモートメモリとしてアクセスされることを許容する、無線機能を備えたメモリカード、リムーバブルハードディスク等の情報記録装置で有用である。
1 第1の無線アクセス装置
2 第2の無線アクセス装置
3 第1のアクセス装置
4 第1の無線情報記録装置
11,21 CPU
12,22 RAM
13,23 ROM
14 第1の不揮発性メモリコントローラ
15 第1の不揮発性メモリ
16 第1の無線回路
17,27 第1の内部バス
18,28 第2の内部バス
19,41 外部バスコントローラ
24 第2の不揮発性メモリコントローラ
25 第2の不揮発性メモリ
26 第2の無線回路
100 無線アクセスシステム
121,122,123,124 FS転送リスト
131 アプリケーション制御部
132 ファイルシステム制御部
133 メモリアクセス制御部
134 ファイルコピー制御部
141,241 シーケンサ
142,242 DMAコントローラ
143,243 RAM
144,244 ROM
145 第1のメモリコントローラ
146 第1のメモリ用データバッファ
161 第1の無線用データバッファ
245 第2のメモリコントローラ
246 第2のメモリ用データバッファ
261 第2の無線用データバッファ
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード・パーティションテーブル
304 パーティションブートセクタ
305 第1のFAT
306 第2のFAT
307 ルートディレクトリエントリ
308 ディレクトリエントリ
本開示は、無線接続された不揮発性メモリにアクセスする無線アクセス装置および、当該無線メモリアクセス機能を備えた無線アクセスシステムに関する。
テキスト文書や、プレゼンテーションデータ、音楽コンテンツ、映像データ等の各種デジタルデータを記録する記録媒体として、磁気ディスク、光ディスク、USBメモリ、フラッシュメモリカード等、様々な種類が存在する。従来これらの記録媒体は、データを管理するPC(Personal Computer)、DSC(Digital Still Camera)やスマートフォン等のホスト機器に直接物理的に接続されるローカルストレージとして使用されるのが主流であった。
しかしながら、高速有線/無線ネットワークインフラの普及に伴うクラウド化の進展により、ネットワーク上のリモートストレージにアクセスする形態が様々な生活シーンで活用されつつある。
従来、このような形態の一例として、メモリカード自体に無線機能のみを搭載し、無線経由で外部のハードディスク等の大容量ストレージにアクセスしてデータの読み書きを実施するという方法が提案されている(例えば、特許文献1)。
この技術を用いることにより、無線ネットワークの先にある外部機器のメモリ(リモートメモリ)を、自機器に直接接続されたメモリ(ローカルメモリ)のように管理することができ、自機器の容量追加が容易に行えるようになる、リモートメモリを複数のホスト機器で同時に使用することができる等のメリットを享受することができる。
米国特許出願公開第2003/0018852号明細書
本開示の無線アクセス装置および本開示の無線アクセスシステムは、第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置および無線アクセスシステムであって、第1の不揮発性メモリ上に構築されたファイルシステムから読みだした第1のファイルシステム管理情報と、第2の不揮発性メモリ上に構築されたファイルシステムから読み出した第2のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部と、第1の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、ファイルコピー制御部はFS転送リストを不揮発性メモリコントローラに入力し、不揮発性メモリコントローラはFS転送リストに基づき、第1の不揮発性メモリと、第2の不揮発性メモリとの間でコピーを実施することを特徴とする。
これにより、本開示は第1の不揮発性メモリと第2の不揮発性メモリ間でファイルコピーを行う場合において、無線アクセス装置内部のCPU(Central Processing Unit)、バス帯域の能力に依存せず、高速にファイルコピーを実施することが可能となる。
すなわち、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のCPU能力やバスの帯域幅に依存することなく、高速にファイルコピーを行うことが可能となる。
図1は、実施の形態1における無線アクセス装置および無線アクセスシステムの構成図である。 図2は、実施の形態1における第1の不揮発性メモリコントローラの構成図である。 図3は、実施の形態1における第2の不揮発性メモリコントローラの構成図である。 図4は、実施の形態1におけるFATファイルシステムの構成図である。 図5は、実施の形態1におけるディレクトリエントリの構成図である。 図6Aは、実施の形態1におけるFATファイルシステムのディレクトリエントリの一例を示した図である。 図6Bは、実施の形態1におけるFATファイルシステムの第1のFAT、第2のFATの一例を示した図である。 図6Cは、実施の形態1におけるFATファイルシステムのユーザデータ領域の一例を示した図である。 図7は、実施の形態1におけるファイルコピー処理手順の概要を示したフローチャートである。 図8は、実施の形態1におけるファイルコピー処理手順の詳細(Step1)を示したフローチャートである。 図9は、実施の形態1におけるファイルコピー処理手順の詳細(Step2)を示したフローチャートである。 図10は、実施の形態1におけるファイルコピー処理手順の詳細(Step3〜5)を示したフローチャートである。 図11は、実施の形態1におけるFATテーブルの一例を示した説明図である。 図12は、実施の形態1におけるFATテーブルの別の一例を示した説明図である。 図13は、実施の形態1におけるFS転送リストの一例を示した説明図である。 図14は、実施の形態1におけるFS転送リストを用いたファイルコピー処理手順(ローカルメモリからリモートメモリへのコピー)の詳細を示したフローチャートである。 図15は、実施の形態1におけるFS転送リストを用いたファイルコピー処理手順(リモートメモリからローカルメモリへのコピー)の詳細を示したフローチャートである。 図16は、実施の形態1における無線アクセス装置の他の例の構成を示した説明図である。 図17は、実施の形態1における1対n(nは2以上の整数)の転送に対応したFS転送リストの一例を示した説明図である。 図18は、実施の形態1におけるn対1(nは2以上の整数)の転送に対応したFS転送リストの一例を示した説明図である。 図19は、実施の形態1におけるn対1(nは2以上の整数)と1対n(nは2以上の整数)の転送に対応したFS転送リストの一例を示した説明図である。 図20は、実施の形態1におけるFATテーブルのさらに別の一例を示した説明図である。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
以下、本開示の無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムについて、図面を参照しつつ説明する。
(実施の形態1)
従来技術において、ネットワークの先にあるリモートメモリを自機器に直接接続されているローカルメモリと同様に管理してアクセスする場合、ローカルメモリに直接アクセスするデバイスドライバ部分の変更のみでリモートメモリへのアクセスを実現できる。ここで、ローカルメモリとリモートメモリ間でファイルのコピーを実施する場合を想定した。ファイルのコピーは、ホスト機器内のCPU上で動作するファイルシステムの制御プログラムにより実施される。
例えば、ファイルシステムの制御プログラムは、ローカルメモリとリモートメモリ双方のファイルシステム管理情報を参照し、コピー元ファイルのデータが格納された論理アドレスの特定と、コピー先ファイルのデータを格納する論理アドレスの特定を行う。その後、ファイルシステムの制御プログラムは、コピー元ファイルのデータをホスト機器内のRAM上に読み出し、読み出したデータをコピー先ファイルのデータ格納位置に書き込む。すなわち、ローカルメモリとリモートメモリ間のファイルコピーは、ホスト機器内のRAMを介してホスト機器内のCPUの処理により実施される。そのため、ファイルコピー処理速度はホスト機器内のCPUの処理能力、ホスト機器内のRAMの接続されているバスの帯域幅等に依存する。これらの能力が低いと高速なファイルコピーが行えない。
上記課題に鑑み本開示は、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のCPU能力やバスの帯域幅に依存することなく、高速にファイルコピーを行う無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムを提供することを目的とする。
図1は本実施の形態における無線アクセス装置の構成および無線アクセスシステムの構成図である。図1において、無線アクセスシステム100は、第1の無線アクセス装置1と第2の無線アクセス装置2で構成される。無線アクセスシステム100において、第1の無線アクセス装置1が、自装置内に存在する第1の不揮発性メモリ15をローカルメモリとして、また第2の無線アクセス装置2内に存在する第2の不揮発性メモリ25をリモートメモリとして管理し、アクセスする場合を想定する。第1の無線アクセス装置1は、CPU11、RAM12、ROM13、第1の不揮発性メモリコントローラ14を含み、これらが第1の内部バス17で互いに接続されている。更に第1の無線アクセス装置1は、第1の不揮発性メモリコントローラ14に接続された第1の不揮発性メモリ15と、第2の内部バス18で接続された第1の無線回路16を含む。ROM13には第1の無線アクセス装置1を制御するプログラムが格納されており、このプログラムはRAM12を一時記憶領域として使用し、CPU11上で動作する。
第1の不揮発性メモリコントローラ14は、第1の不揮発性メモリ15に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、第1の不揮発性メモリ15の読み書きを制御する。
また、第1の無線回路16は第2の無線アクセス装置2と無線通信を行う制御回路であり、802.11a/b/g/nの無線LAN規格に対応した制御回路、今後普及が期待される802.11acや802.11adの無線LAN規格に対応した制御回路、近距離無線通信規格であるBluetooth(登録商標)や近距離無線転送技術であるTransferJet(登録商標)等のその他無線通信用の制御回路等である。本開示は特定の無線通信方式に限定されるものではないため、第1の無線回路16としてこれら任意の無線通信の制御回路を使用することが可能である。
ROM13は更に、アプリケーション制御部131、ファイルシステム制御部132、メモリアクセス制御部133を含む。アプリケーション制御部131は、データの生成や電源の制御等、第1の無線アクセス装置1全体の制御を行う。ファイルシステム制御部132は、FATファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。メモリアクセス制御部133は、ファイルシステム制御部132からデータと共にアクセスサイズとアクセス先論理アドレスを渡され、指定されたサイズのデータをローカルメモリである第1の不揮発性メモリ15、あるいはリモートメモリである第2の不揮発性メモリ25における指定された論理アドレスに記録する等、ローカルメモリ、リモートメモリに対するコマンドやデータの送受信を制御する。ファイルシステム制御部132は更に、ファイルコピー制御部134を含む。ファイルコピー制御部134は、本開示の特徴であるローカルメモリ、リモートメモリ間のファイルコピー処理を実施する制御部であり、従来の無線アクセス装置には存在しない。
また、第1の不揮発性メモリコントローラ14も、後述するファイルシステム転送リストであるFS転送リスト121の制御を行う機能を有しており、従来には存在しない。
一方、図1において第2の無線アクセス装置2は、CPU21、RAM22、ROM23、第2の不揮発性メモリコントローラ24を含み、これらが第1の内部バス27で互いに接続されている。更に第2の無線アクセス装置2は、第2の不揮発性メモリコントローラ24に接続された第2の不揮発性メモリ25と、第2の内部バス28で接続された第2の無線回路26を含む。ROM23には第2の無線アクセス装置2を制御するプログラムが格納されており、このプログラムはRAM22を一時記憶領域として使用し、CPU21上で動作する。第2の不揮発性メモリコントローラ24は、第2の不揮発性メモリ25に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、第2の不揮発性メモリ25の読み書きを制御する。また、第2の無線回路26は第1の無線アクセス装置1と無線通信を行う制御回路であり、第1の無線回路16と任意の無線通信が可能である。第2の無線アクセス装置2の内部の構成は第1の無線アクセス装置1の内部構成と同様である。
本実施の形態において第2の無線アクセス装置2は、自装置内に存在する第2の不揮発性メモリ25をリモートメモリとして第1の無線アクセス装置1からアクセス可能な装置として動作し、第1の無線アクセス装置1から第2の不揮発性メモリ25へのアクセスは第2の不揮発性メモリコントローラ24が実施し、第2の無線アクセス装置2内のCPU21は介在しない。そのため、本実施の形態では第2の無線アクセス装置2内のROM23上に格納された各種プログラムの詳細については説明しない。
続いて、本実施の形態における第1の不揮発性メモリコントローラ14、第2の不揮発性メモリコントローラ24の構成について、図2、図3を用いて説明する。図2において第1の不揮発性メモリコントローラ14は、シーケンサ141、DMAコントローラ142、RAM143、ROM144、第1のメモリコントローラ145、第1のメモリ用データバッファ146を含む。シーケンサ141は第1の不揮発性メモリコントローラ14の制御を行う制御部であり、ROM144に格納されたマイクロコードにより各種処理が実施される。
ここでシーケンサ141は第1の不揮発性メモリコントローラ14内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
DMAコントローラ142は、第1の不揮発性メモリコントローラ14内の各部、および、第1の無線回路16内の第1の無線用データバッファ161間における各種データのDMA(Direct Memory Access)転送を制御する制御部である。
第1のメモリコントローラ145は、第1の不揮発性メモリ15に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。
第1のメモリ用データバッファ146は、第1の不揮発性メモリ15に対するアクセス時に発生する各種データを格納するバッファである。本実施の形態における第1の不揮発性メモリコントローラ14は、CPU11からFS転送リスト121が入力され、シーケンサ141がFS転送リスト121を解釈し、ローカルメモリである第1の不揮発性メモリ15、リモートメモリである第2の不揮発性メモリ25に対するアクセスを行う。
図3において第2の不揮発性メモリコントローラ24は、シーケンサ241、DMAコントローラ242、RAM243、ROM244、第2のメモリコントローラ245、第2のメモリ用データバッファ246を含む。シーケンサ241は第2の不揮発性メモリコントローラ24の制御を行う制御部であり、ROM244に格納されたマイクロコードにより各種処理が実施される。
ここでシーケンサ241は第2の不揮発性メモリコントローラ24内部の限定された処理のみが実施されるため、小型のマイコン等の他の制御回路を用いて実現してもよい。
DMAコントローラ242は、第2の不揮発性メモリコントローラ24内の各部、および、第2の無線回路26内の第2の無線用データバッファ261間における各種データのDMA転送を制御する制御部である。
第2のメモリコントローラ245は、第2の不揮発性メモリ25に対して実際にReadコマンドやWriteコマンド、その他の制御コマンド等を発行し、アクセスする制御部である。第2の不揮発性メモリコントローラ24は基本的には第1の不揮発性メモリコントローラ14の構成と同様である。
このような構成により、本実施の形態では、第1の無線アクセス装置1内のファイルシステム制御部132が、自装置内の第1の不揮発性メモリ15をローカルメモリとして、第2の無線アクセス装置2内の第2の不揮発性メモリ25をリモートメモリとして管理し、ファイルコピー制御部134、および、第1の不揮発性メモリコントローラ14の協調動作により、高速ファイルコピーを実現する。以下、本実施の形態の高速ファイルコピーの詳細について説明する。
本実施の形態の高速ファイルコピー処理において、ファイルコピー制御部134が生成するFS転送リスト121に基づき第1の不揮発性メモリコントローラ14が実際のデータコピー処理を実施する。FS転送リスト121の詳細は後述するが、このFS転送リスト121はファイルシステム管理情報に含まれる領域管理情報を基に生成されるため、ファイルシステム管理情報との関連がある。そのため、ここではファイルシステムの一例としてFAT(File Allocation Table)ファイルシステムの説明を行う。本実施の形態ではFATファイルシステムを一例として説明するが、本開示はファイルシステムの種別に限定されるものではなく、UDF(Universal Disc Format)やNTFS(NT File System)等、他のファイルシステムにも適用することが可能である。
図4はFATファイルシステムの構成図である。FATファイルシステムでは管理単位のビット幅の違いにより、FAT12(12ビットのクラスタ識別子を利用したFAT)、FAT16(16ビットのクラスタ識別子を利用したFAT)、FAT32(32ビットのクラスタ識別子を利用したFAT)等の種類が存在するが、FATによる領域管理方法は同じであり、以下ではFAT16を例に説明する。同図に示すようにFATファイルシステムは、論理アドレス空間の先頭に領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域301と実際のファイルデータやディレクトリが存在する領域のユーザデータ領域302で構成される。
ファイルシステム管理情報領域301は、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、第1のFAT305、第2のFAT306、ルートディレクトリエントリ307と呼ばれるファイルシステムの管理情報を含み、ユーザデータ領域302を管理するために必要な情報である。マスターブートレコード・パーティションテーブル303は、ファイルシステムの管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。パーティションブートセクタ304は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報が格納される領域である。第1のFAT305、第2のFAT306は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ2つのFATが存在し、例えば一方のFATである第1のFAT305が破損したとしても他方のFATである第2のFAT306によりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリ307は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報(ディレクトリエントリ)が格納される領域である。
ユーザデータ領域302は、512バイトから32KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、第1のFAT305、第2のFAT306に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報であるディレクトリエントリは、このユーザデータ領域302の一部を利用して格納される。
図5はFAT16のディレクトリエントリの構成図である。ディレクトリエントリ308は1つのファイル、ディレクトリ毎に32バイトのディレクトリエントリ308が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、1つのファイルやディレクトリが追加される度に32バイトのディレクトリエントリ308の情報が新規に作成され、ルートディレクトリエントリ307の領域、あるいはユーザデータ領域302に記録される。ディレクトリエントリ308の先頭8バイトにはファイルやディレクトリの名称が格納される。次に続く3バイトにはファイルやディレクトリの拡張子が格納される。次に続く1バイトにはファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。さらに、予約領域があり、次にファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。
このようにディレクトリエントリ308はファイルの先頭データを格納したクラスタの位置に関する情報しか保持しないため、ファイルデータが複数クラスタに跨って格納される場合には、その位置情報は第1のFAT305、第2のFAT306に保持される。すなわち、ファイルを更新する場合にはファイルデータを書き込むと共に、ディレクトリエントリ308、第1のFAT305、第2のFAT306の情報も書き込む必要がある。
図6A、図6B、図6CはFAT16のFATファイルシステムにおけるファイルシステム管理情報、ユーザデータの一例を示した説明図である。図6Aはディレクトリエントリ308の一例であり“FILE1.TXT”という名称の60000バイトのサイズを持つファイルが格納されていることを示している。また、このファイルのデータ本体が論理クラスタ番号2から始まる領域に格納されていることを示している。図6BはFAT16における第1のFAT305、第2のFAT306の一例を示している。第1のFAT305、第2のFAT306先頭の4バイトはシグネチャとして固定の値が格納されているが、それ以外の領域は、16ビット単位で各々ユーザデータ領域302内の論理クラスタに対応付けされている。例えば、第1のFAT305、第2のFAT306の先頭のシグネチャ直後の16ビットは、論理クラスタ番号2にその後の16ビットは論理クラスタ番号3に対応付けされており、以下昇順に論理クラスタ番号に対応付けされている。各々の16ビットに格納される値は、対応付けされた論理クラスタ番号の状態を示しており、例えば0x0000の場合には、対応付けされた論理クラスタ番号の領域が空きクラスタであることを意味し、0x0002〜0xFFF6の場合には、対応付けされた論理クラスタ番号の領域にリンクされた次の領域の論理クラスタ番号を意味し、0xFFF8〜0xFFFFの場合には、対応付けされた論理クラスタ番号の領域がリンク終端であることを意味する。すなわち図6Bの第1のFAT305、第2のFAT306の例では論理クラスタ番号2、3、4、5の領域が“FILE1.TXT”のデータ本体を格納していることを示している。さらに、図6Cのユーザデータ領域302の例では、実際に論理クラスタ番号2、3、4、5の領域が“FILE1.TXT”のデータ本体を格納していることを示している。
このようにFATファイルシステムでは、第1のFAT305、第2のFAT306によりユーザデータ領域302の管理をしており、本実施の形態では、第1のFAT305、第2のFAT306を基にFS転送リスト121を生成し、ファイルコピー処理に使用する。
続いて本実施の形態におけるファイルコピー処理手順の概要について説明する。図7は、ファイルコピー処理手順のフローを示す図である。本実施の形態におけるファイルコピー処理では、CPU11上で動作するファイルコピー制御部134と、第1の不揮発性メモリコントローラ14、第2の無線アクセス装置2内の第2の不揮発性メモリコントローラ24により、FS転送リスト121を用いて第1の不揮発性メモリ15から第2の不揮発性メモリ25へ、または第2の不揮発性メモリ25から第1の不揮発性メモリ15へ高速ファイルコピーを実現する。本実施の形態におけるファイルコピー処理は、以下の5つのStepで構成される。
(Step1)CPU11上で動作するファイルコピー制御部134が、第1の不揮発性メモリコントローラ14を介して、第1の不揮発性メモリ15からファイルシステム管理情報を読み出す。これにより第1の不揮発性メモリ15上に存在する転送元ファイルのデータ本体が格納されている論理アドレス、あるいは、第1の不揮発性メモリ15上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレスを特定する。
(Step2)CPU11上で動作するファイルコピー制御部134が、第2の不揮発性メモリコントローラ24を介して、第2の不揮発性メモリ25からファイルシステム管理情報を読み出す。これにより第2の不揮発性メモリ25上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレス、あるいは、第2の不揮発性メモリ25上に存在する転送元ファイルのデータ本体が格納されている論理アドレスを特定する。
(Step3)CPU11上で動作するファイルコピー制御部134が、Step1、Step2で読み出したファイルシステム管理情報を基に、FS転送リスト121を生成する。
(Step4)CPU11上で動作するファイルコピー制御部134が、Step3で生成したFS転送リスト121を第1の不揮発性メモリコントローラ14に送信し、ファイルコピー処理を指示する。以降、ファイルコピー処理が完了するまで、実際のコピー処理は第1の不揮発性メモリコントローラ14で実施され、CPU11上で動作するファイルコピー制御部134はファイルコピー処理の完了が通知されるまで待機する。
(Step5)第1の不揮発性メモリコントローラ14が、Step4で送信されたFS転送リスト121を受信し、記載内容に従い、実際にデータのコピー処理を実施する。
このように本実施の形態におけるファイルコピー処理は、CPU11上で動作するファイルコピー制御部134がFS転送リスト121を生成し、実際のコピー処理はFS転送リスト121を基に第1の不揮発性メモリコントローラ14が実施する。これにより、実際にデータをコピーする際にはCPU11、および、第1の内部バス17は関与しないため、これらの能力に依存することなく、高速にファイルコピーを実施できる。
続いて、図8を用いてStep1の処理手順の詳細について説明する。Step1の処理では、CPU11上で動作するファイルコピー制御部134と第1の不揮発性メモリコントローラ14により、第1の不揮発性メモリ15からファイルシステム管理情報を読み出す。Step1の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理である。
(S801)CPU11上で動作するファイルコピー制御部134が、第1のFAT305、第2のFAT306やディレクトリエントリ308等のファイルシステム管理情報から、第1の不揮発性メモリ15上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル303の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
(S802)CPU11上で動作するファイルコピー制御部134が、S801の処理で特定した論理アドレスに対するRead指示を第1の不揮発性メモリコントローラ14に発行する。
(S803)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S802の処理において発行されたRead指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。第1の不揮発性メモリ15として使用される記録媒体には、SDメモリカードやSATA(Serial Advanced Technology Attachment)接続方式で接続されたハードディスク等が存在するが、これら各々の記録媒体にはアクセスのためのプロトコルが規定されている。ここでは、第1の不揮発性メモリ15にアクセスするための各種プロトコルに従い、読み出し処理を実施するために必要なコマンドパケットを生成する。
(S804)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S803の処理において生成したコマンドパケットを第1のメモリコントローラ145に入力する。
(S805)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1の不揮発性メモリ15からデータを読み出す。読み出したデータは、第1のメモリ用データバッファ146に格納される。
(S806)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、Read処理が完了した旨をCPU11上で動作するファイルコピー制御部134に通知する。
(S807)CPU11上で動作するファイルコピー制御部134が、第1のメモリ用データバッファ146から第1の無線アクセス装置1内のRAM12に読み出したデータを転送する。この処理により、1回のファイルシステム管理情報の読み出し処理が完了する。
(S808)CPU11上で動作するファイルコピー制御部134が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか否かを確認する。ファイルシステム管理情報の読み出しが完了していない場合は、S801の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Step1の処理を終了する。例えば、FATファイルシステムの場合、ファイルにアクセスするためには、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、第1のFAT305、第2のFAT306、ルートディレクトリエントリ307の領域を順に読み出し、更に必要に応じて、サブディレクトリのディレクトリエントリ308を読み出す。これらを読み出すためにファイルシステム管理情報に対して、S801からS807までの処理を繰り返し実施する。
続いて、図9を用いてStep2の処理手順の詳細について説明する。Step2の処理では、CPU11上で動作するファイルコピー制御部134と第1の不揮発性メモリコントローラ14、第2の無線アクセス装置2により、第2の不揮発性メモリ25からファイルシステム管理情報を読み出す。Step2の処理は、ローカルメモリからリモートメモリへのファイルコピー、すなわち第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理となる。
(S901)CPU11上で動作するファイルコピー制御部134が、第1のFAT305、第2のFAT306やディレクトリエントリ308等のファイルシステム管理情報から、第2の不揮発性メモリ25上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル303の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
(S902)CPU11上で動作するファイルコピー制御部134が、S901の処理で特定した論理アドレスに対するRead指示を第1の不揮発性メモリコントローラ14に発行する。
(S903)第1の不揮発性メモリコントローラ14内部のシーケンサ141は、S902の処理において発行されたRead指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。
(S904)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S903の処理において生成したコマンドパケットをペイロードに含んで無線パケットを生成し、第1の無線回路16を介して第2の無線アクセス装置2に送信する。
(S905)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S904の処理において無線送信された無線パケットを第2の無線回路26を介して受信し、無線パケット内のペイロード部分に格納された読み出しを実施するためのコマンドパケット(Readコマンド)を取り出し、第2のメモリコントローラ245に入力する。
(S906)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2の不揮発性メモリ25からデータを読み出す。読み出したデータは、第2のメモリ用データバッファ246に格納される。
(S907)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S906の処理において読み出したデータをペイロードに含んだ無線パケットを第2のメモリ用データバッファ246上に生成する。
(S908)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、S907の処理において生成した無線パケットを第2のメモリ用データバッファ246から第2の無線用データバッファ261にDMA転送する。
(S909)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、第2の無線回路26を介して、第2の無線用データバッファ261上に存在する無線パケットを第1の無線アクセス装置1に送信する。
(S910)S909の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信すると、受信した無線パケットを第1の無線用データバッファ161に格納する。その後、第1の不揮発性メモリコントローラ14内部のシーケンサ141が、DMAコントローラ142を制御し、第1の無線用データバッファ161上の無線パケット内のペイロード部分に格納されたReadデータを、第1のメモリ用データバッファ146にDMA転送する。
(S911)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、Read処理が完了した旨をCPU11上で動作するファイルコピー制御部134に通知する。
(S912)CPU11上で動作するファイルコピー制御部134が、第1のメモリ用データバッファ146から第1の無線アクセス装置1内のRAM12にReadデータを転送する。この処理により、1回のファイルシステム管理情報読み出し処理が完了する。
(S913)CPU11上で動作するファイルコピー制御部134が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか確認する。ファイルシステム管理情報の読み出しが完了していない場合は、S901の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、Step2の処理を終了する。
続いて、図10を用いてStep3からStep5の処理手順の詳細について説明する。Step3からStep5の処理では、CPU11上で動作するファイルコピー制御部134が、Step1、Step2で読み出したファイルシステム管理情報を基にFS転送リスト121を生成し、第1の不揮発性メモリコントローラ14に入力することにより、第1の不揮発性メモリコントローラ14が実際のデータコピー処理を実施する。図10で説明する処理は、Step5の詳細処理内容を除き、ローカルメモリからリモートメモリへのファイルコピー、すなわち第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、リモートメモリからローカルメモリへのファイルコピー、すなわち第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理となる。
(S1001)CPU11上で動作するファイルコピー制御部134が、Step1、Step2で読み出したファイルシステム管理情報を基に、FS転送リスト121を生成する。
図13はFS転送リスト121の一例を示す図である。図13に示すように、コピー先とコピー元の転送方向を示す転送方向、コピー先とコピー元のファイルデータが格納されている領域の論理アドレス、転送サイズを示す転送クラスタ数が含まれたリストである。転送方向は、“L to R”と“R to L”の2種類で、“L to R”がローカルメモリである第1の不揮発性メモリ15からリモートメモリである第2の不揮発性メモリ25へのコピーを意味し、“R to L”がリモートメモリである第2の不揮発性メモリ25からローカルメモリである第1の不揮発性メモリ15へのコピーを意味する。転送元論理アドレスは、コピー元のファイルデータが格納されている領域の開始論理アドレスを示す。転送先論理アドレスは、コピー先のファイルデータを格納する領域の開始論理アドレスを示す。転送クラスタ数は、コピーするデータのサイズをクラスタ数で示す。図13では、転送元論理アドレス、転送先論理アドレス、転送クラスタ数共に、ファイルシステムの論理的な領域管理単位である32KB等のクラスタ単位で管理する例を示しているが、コピー領域を特定できる情報であれば何でも良く、不揮発性メモリの最小アクセス単位である512B等のセクタ単位で管理する等、クラスタ以外の単位で管理しても良い。
次に、図11、図12を用いて、FS転送リスト121の生成手順について説明する。図11は転送元、すなわちローカルメモリである第1の不揮発性メモリ15上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306の一例であり、図12は転送先、すなわちリモートメモリである第2の不揮発性メモリ25上に構築されたFATファイルシステムの第1のFAT305、第2のFAT306の一例である。また、転送するファイルは、論理クラスタ番号“0x0002”の論理アドレス領域から始まり、“0x0010”の論理アドレス領域で終了する一連のリンク上にデータが格納されているとする。まず始めに転送元の第1のFAT305、第2のFAT306上のコピー開始位置から始まる一つの連続領域長を算出する。図11の場合、論理クラスタ番号“0x0002”から“0x0004”のクラスタ数“3クラスタ”が一つの連続領域長となる。次に、転送先の第1のFAT305、第2のFAT306上の先頭から、一つの連続空き領域長を算出する。図12の場合、論理クラスタ番号“0x0003”、“0x0004”のクラスタ数“2クラスタ”が一つの連続空き領域長となる。続いて、図11の連続領域長と図12の連続空き領域長の両者を比較し、小さい値を一回の転送クラスタ数と決定する。上記の例の場合、より小さな数値である図12の連続空き領域長の“2クラスタ”が一回の転送クラスタ数となる。最後にこれらの値をFS転送リスト121に記載し、以降、転送元ファイルの終端まで、同様の処理を継続する。具体的には、図13に示すようにFS転送リスト121の1行目に転送方向“L to R”、転送元論理アドレス“0x0002”、転送先論理アドレス“0x0003”、転送クラスタ数“2”が格納され、2行目には引き続く領域から探索した際に得られる値として転送方向“L to R”、転送元論理アドレス“0x0004”、転送先論理アドレス“0x0008”、転送クラスタ数“1”が格納される。以降、同様に転送元論理アドレスが“0x0010”になるまでFS転送リスト121に値が追記される。
(S1002)続いて、CPU11上で動作するファイルコピー制御部134が、S1001の処理で生成したFS転送リスト121を、第1の不揮発性メモリコントローラ14に送信し、コピーを指示する。以降、コピー処理は第1の不揮発性メモリコントローラ14により実施され、CPU11上で動作するファイルコピー制御部134はコピー処理完了まで待機する。
(S1003)第1の不揮発性メモリコントローラ14が、S1002の処理で送信されたFS転送リスト121の内容を解析し、実際にコピー処理を実施する。コピー処理の詳細については後述する。
(S1004)第1の不揮発性メモリコントローラ14が、S1003のコピー処理が完了すると、CPU11上で動作するファイルコピー制御部134にその旨を通知する。
(S1005)CPU11上で動作するファイルコピー制御部134が、S1004の処理で通知されたコピー処理完了通知を受信すると、コピー処理が完了したことを認識し、処理を終了する。
このように、本実施の形態におけるファイルコピー処理では、FS転送リスト121の生成までをCPU11上で動作するファイルコピー制御部134が実施し、以降の実際のコピー処理を第1の不揮発性メモリコントローラ14が実施する。これにより実際のコピー処理にはCPU11、第1の内部バス17が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
また、上記ファイルコピー処理の説明では、ファイルデータ本体のコピーについてのみ記載しているが、実際には、コピー先ファイルに関する情報を、コピー先の不揮発性メモリ内に存在する第1のFAT305、第2のFAT306やディレクトリエントリ308に書き込む。これらファイルシステム管理情報の更新処理はファイルシステム制御部132において従来のファイルシステム管理情報の更新処理と同様のため、詳細説明を割愛する。これらファイルシステム管理情報の更新処理は、図10で説明したファイルコピー処理の前後のいずれかのタイミングで実施すれば良い。
続いて、図14を用いてStep5のFS転送リスト121を用いたコピー処理における、ローカルメモリである第1の不揮発性メモリ15からリモートメモリである第2の不揮発性メモリ25にコピーする場合の詳細処理手順について説明する。
(S1401)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、FS転送リスト121の先頭から行単位で参照し、転送方向を確認する。図13のFS転送リスト121の例では、1行目の転送方向が“L to R”となっており、シーケンサ141はローカルメモリからリモートメモリへのコピーであることを認識する。
(S1402)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1401で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、ローカルメモリからのデータ読み出しを行う。そのため、FS転送リスト121上の転送元論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する読み出しを実施するため、必要なコマンドパケットを生成する。
(S1403)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1402の処理において生成したコマンドパケットを第1のメモリコントローラ145に入力する。
(S1404)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1の不揮発性メモリ15からデータを読み出す。読み出したデータは、第1のメモリ用データバッファ146に格納する。
(S1405)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1401で確認した転送方向がローカルメモリからリモートメモリへのコピーであったため、リモートメモリへのデータ書き込みを行う。そのため、FS転送リスト121上の転送先論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する書き込みを実施するためのコマンドパケットを生成する。
(S1406)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1404で読み出したデータ、S1405の処理で生成したコマンドパケットをペイロードに含んだ無線パケットを第1のメモリ用データバッファ146上に生成する。
(S1407)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1406で生成した無線パケットを、DMAコントローラ142を制御して、第1の無線用データバッファ161にDMA転送する。
(S1408)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1407で第1の無線用データバッファ161に転送した無線パケットを、第1の無線回路16を介して、第2の無線アクセス装置2に送信する。
(S1409)S1408の処理により第1の無線アクセス装置1から送信されてきた無線パケットを第2の無線回路26が受信すると、受信した無線パケットを第2の無線用データバッファ261に格納する。その後、第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、第2の無線用データバッファ261上の無線パケット内のペイロード部分に格納されたデータを、第2のメモリ用データバッファ246にDMA転送する。
(S1410)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S1408の処理により第1の無線アクセス装置1から送信されてきた無線パケット内のペイロード部分に格納された書き込みを実施するためのコマンドパケット(Writeコマンド)を取り出し、第2のメモリコントローラ245に入力する。
(S1411)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2のメモリ用データバッファ246に格納されたデータを第2の不揮発性メモリ25に書き込む。更に、書き込みが完了した後、Write完了通知を含む無線パケットを生成し、第2の無線回路26を介して第1の無線アクセス装置1に送信する。
(S1412)S1411の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信し、第1の不揮発性メモリコントローラ14内部のシーケンサ141がWrite完了を認識すると、FS転送リスト121内に未処理のリストが存在するか確認する。FS転送リスト121の終端まで来ておらず未処理のリストが存在する場合、S1401の処理に戻り、残りのリストに対する処理を継続する。FS転送リスト121の終端で未処理のリストが存在しない場合、S1413の処理に進む。
(S1413)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、CPU11上で動作するファイルコピー制御部134にコピー処理完了を通知し、処理を終了する。
続いて、図15を用いてStep5のFS転送リスト121を用いたコピー処理における、リモートメモリである第2の不揮発性メモリ25からローカルメモリである第1の不揮発性メモリ15にコピーする場合の詳細処理手順について説明する。
(S1501)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、FS転送リスト121の先頭から行単位で参照し、転送方向を確認する。ここでは転送方向として“R to L”が格納されており、リモートメモリからローカルメモリにコピーする場合を想定する。
(S1502)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1501で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、リモートメモリからのデータ読み出しを行う。そのため、FS転送リスト121上の転送元論理アドレスを確認し、リモートメモリを対象として該当論理アドレスに対する読み出しを実施するコマンドパケットを生成する。
(S1503)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1502の処理において生成したコマンドパケットをペイロードに含んだ無線パケットを生成し、第1の無線回路16を介して、第2の無線アクセス装置2に送信する。
(S1504)S1503の処理により第1の無線アクセス装置1から送信された無線パケットを第2の無線回路26が受信すると、受信した無線パケットを第2の無線用データバッファ261に格納する。その後、第2の不揮発性メモリコントローラ24内部のシーケンサ241が、無線パケット内のペイロード部分に格納された読み出しを実施するコマンドパケット(Readコマンド)を取り出し、第2のメモリコントローラ245に入力する。
(S1505)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2の不揮発性メモリ25から第2のメモリ用データバッファ246にデータを読み出す。
(S1506)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S1505の処理で読み出したデータを第2のメモリ用データバッファ上で無線パケット化する。
(S1507)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、第2のメモリ用データバッファ246上の無線パケットを、第2の無線用データバッファ261にDMA転送する。
(S1508)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、第2の無線回路26を介して第2の無線用データバッファ261上の無線パケットを、第1の無線アクセス装置1に送信する。
(S1509)S1508の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信すると、受信した無線パケットを第1の無線用データバッファ161に格納する。その後、第1の不揮発性メモリコントローラ14内部のシーケンサ141が、無線パケット内のペイロード部分に格納されたデータを取り出し、DMAコントローラ142を制御し、第1のメモリ用データバッファ146にDMA転送する。
(S1510)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1501で確認した転送方向がリモートメモリからローカルメモリへのコピーであったため、ローカルメモリへのデータ書き込みを行う。そのため、FS転送リスト121上の転送先論理アドレスを確認し、ローカルメモリを対象として該当論理アドレスに対する書き込みを実施するコマンドパケットを生成する。
(S1511)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1510の処理で生成したコマンドパケット(Writeコマンド)を、第1のメモリコントローラ145に入力する。
(S1512)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1のメモリ用データバッファ146に格納されたReadデータを第1の不揮発性メモリ15に書き込む。
(S1513)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1512の書き込み処理が完了した後、FS転送リスト121内に未処理のリストが存在するか確認する。FS転送リスト121の終端まで来ておらず未処理のリストが存在する場合、S1501の処理に戻り、残りのリストに対する処理を継続する。FS転送リスト121の終端で未処理のリストが存在しない場合、S1514の処理に進む。
(S1514)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、CPU11上で動作するファイルコピー制御部134にコピー処理完了を通知し、処理を終了する。
このように、本実施の形態におけるFS転送リスト121を用いたコピー処理では、第1の不揮発性メモリコントローラ14がFS転送リスト121の内容に従い自律的にローカルメモリからリモートメモリへのコピー処理を実施する。
以上のように、本実施の形態の無線アクセス装置では、ローカルメモリ、リモートメモリ間のファイルコピーを実施する際、無線アクセス装置内のCPU11上で動作するファイルコピー制御部134がFS転送リスト121を生成、第1の不揮発性メモリコントローラ14に入力し、以降の実際のコピー処理を第1の不揮発性メモリコントローラ14が入力されたFS転送リスト121に基づき実施する。これにより実際のコピー処理にはCPU11、第1の内部バス17が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
尚、本開示を上記の実施形態に基づいて説明してきたが、上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施変更することができる。本実施の形態で記載された数値は一例であり、他の値を使用しても良い。
また、図1の説明においてファイルコピー制御部134が動作するCPU11と、第1の不揮発性メモリコントローラ14が、同一の第1の無線アクセス装置1内に含まれている構成について説明したが、その他の構成としても良い。
例えば第1の無線アクセス装置1を、図16に示すように第1のアクセス装置3と、第1の無線情報記録装置4の2つに分離して構成する。具体的には、第1のアクセス装置3は、CPU11、RAM12、ROM13、外部バスコントローラ19を含み、これらが第1の内部バス17で互いに接続されている。第1の無線情報記録装置4は、第1の不揮発性メモリコントローラ14に接続された第1の不揮発性メモリ15と外部バスコントローラ41、第2の内部バス18で接続された第1の無線回路16を含む。外部バスコントローラ19と外部バスコントローラ41はUSB(Universal Serial Bus)やPCI Express(Peripheral Component Interconnect Express)等の外部バスコントローラであり、これらを介して第1のアクセス装置3と第1の無線情報記録装置4は接続される構成としても良い。
このような構成とすることで、第1のアクセス装置3側はROM13にファイルコピー制御部134に相当するソフトウェアを組み込むことにより、従来のアクセス装置のハードウェア構成そのままを流用して、本開示を適用することが可能となる。
また、図13のFS転送リスト121を一例として説明したが、ローカルメモリ、リモートメモリ間でデータのコピーが実施できる十分な情報が含まれていれば、本形式に限定されることはなく、その他の形式としても良い。
例えば、図17に示すようなFS転送リスト122を用いてもよい。FS転送リスト122に示すように、1つの転送元領域を2箇所以上の転送先領域に対応付け、データがコピーされるようにしても良い。例えば、図17はnが2の例であり、リスト番号1に含まれる情報として、“0x0002”から始まる連続した3クラスタ分の転送元の論理アドレス領域を、“0x0003”から始まる連続した2クラスタ分の転送先の論理アドレス領域と、“0x0008”の1クラスタ分の転送先の論理アドレス領域に対応付けている。
また別の一例として図18に示すようなFS転送リスト123を用いてもよい。図18はnが2の例であり、FS転送リスト123に示すように、FS転送リスト122とは逆に1つの転送先領域を2箇所以上の転送元領域に対応付け、データがコピーされるようにしても良い。例えば、図18の例では、リスト番号5に含まれる情報として、“0x0015”から始まる連続した2クラスタ分の転送先の論理アドレス領域を、“0x000D”、“0x0010”の2クラスタ分の転送元の論理アドレス領域に対応付け、データがコピーされるようにしても良い。図17、図18のいずれの例でも、1対1の対応付けとなっているリスト番号には、転送先論理アドレス2、あるいは転送元論理アドレス2の領域に“0xFFFF”という無効な論理アドレスが設定されている。
このように、転送先論理アドレスと転送元論理アドレスの対応が、1対n(nは2以上の整数)、あるいはn対1(nは2以上の整数)のFS転送リストを生成することにより、FS転送リストのサイズを削減し、コピー処理を最適化することが可能となる。更に、両者を組み合わせ、1対n、n対1の設定が混在するFS転送リストを生成しても良い。
図19は1対n、n対1の両方を組み合わせたFS転送リスト124の例を示している。FS転送リスト124の説明のために、図11の転送元である第1の不揮発性メモリ15上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306の一例と、図20の転送先である第2の不揮発性メモリ25上に構築されたFATファイルシステムの第1のFAT305、第2のFAT306の一例を用いる。図19はnが2の例である。リスト番号1に含まれる情報として、“0x0002”から始まる連続した3クラスタ分の転送元の論理アドレス領域を“0x0003”から始まる連続した2クラスタ分と“0x0008”から始まる1クラスタ分を転送先の論理アドレス領域に対応づける。リスト番号3に含まれる情報として、“0x0009”から始まる連続した5クラスタ分と“0x0010”から始まる1クラスタ分の転送元の論理アドレス領域を“0x000F”から始まる連続した6クラスタ分の転送先の論理アドレス領域を対応づける。リスト番号2は1対1の対応付けであり、転送先論理アドレス2、あるいは転送元論理アドレス2の領域に“0xFFFF”という無効な論理アドレスが設定されている。
このように、転送先論理アドレスと転送元論理アドレスの対応が、1対n(nは2以上の整数)、n対1(nは2以上の整数)の両方を混在させて生成することにより、転送先論理アドレスの連続する空きクラスタ数と転送先論理アドレスの連続する空きクラスタ数の様々な組み合わせに対応でき、コピー処理を最適化することが可能になる。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。
そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
PCやタブレット、スマートフォン、ムービー、DSC等のローカルメモリ、リモートメモリにデジタルデータを読み書きするアクセス装置と、無線経由で不揮発性メモリに対するアクセスを受け付け、リモートメモリとしてアクセスされることを許容する、無線機能を備えたメモリカード、リムーバブルハードディスク等の情報記録装置で有用である。
1 第1の無線アクセス装置
2 第2の無線アクセス装置
3 第1のアクセス装置
4 第1の無線情報記録装置
11,21 CPU
12,22 RAM
13,23 ROM
14 第1の不揮発性メモリコントローラ
15 第1の不揮発性メモリ
16 第1の無線回路
17,27 第1の内部バス
18,28 第2の内部バス
19,41 外部バスコントローラ
24 第2の不揮発性メモリコントローラ
25 第2の不揮発性メモリ
26 第2の無線回路
100 無線アクセスシステム
121,122,123,124 FS転送リスト
131 アプリケーション制御部
132 ファイルシステム制御部
133 メモリアクセス制御部
134 ファイルコピー制御部
141,241 シーケンサ
142,242 DMAコントローラ
143,243 RAM
144,244 ROM
145 第1のメモリコントローラ
146 第1のメモリ用データバッファ
161 第1の無線用データバッファ
245 第2のメモリコントローラ
246 第2のメモリ用データバッファ
261 第2の無線用データバッファ
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード・パーティションテーブル
304 パーティションブートセクタ
305 第1のFAT
306 第2のFAT
307 ルートディレクトリエントリ
308 ディレクトリエントリ

Claims (9)

  1. 第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
    前記第1の不揮発性メモリ上に構築されたファイルシステムから読みだした第1のファイルシステム管理情報と、前記第2の不揮発性メモリ上に構築されたファイルシステムから読み出した第2のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部と、
    前記第1の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、
    前記ファイルコピー制御部は前記FS転送リストを前記第1の不揮発性メモリコントローラに入力し、
    前記不揮発性メモリコントローラは前記FS転送リストに基づき、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でコピーを実施することを特徴とする無線アクセス装置。
  2. 前記不揮発性メモリコントローラは、
    コピーを実施する際、前記第1の不揮発性メモリにアクセスするためのアクセスコマンドを生成して前記第1の不揮発性メモリにアクセスすると共に、
    前記第2の不揮発性メモリにアクセスするためのアクセスコマンドを生成し、更に前記アクセスコマンドを無線通信パケットに変換して、他の無線アクセス装置に無線送信して第2の不揮発性メモリにアクセスすることを特徴とする請求項1記載の無線アクセス装置。
  3. 前記不揮発性メモリコントローラは、
    前記アクセスコマンドを前記他の無線アクセス装置に無線送信した後、前記他の無線アクセス装置から、前記アクセスコマンドの実施結果を無線通信パケットで無線受信することを特徴とする請求項1記載の無線アクセス装置。
  4. 前記ファイルコピー制御部は、
    転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第1のファイルシステム管理情報と、前記第2のファイルシステム管理情報とから前記転送元ファイルのデータ格納領域に含まれる1つの連続領域長を算出すると共に、前記転送先ファイルのデータを格納する1つの連続空き領域長を算出し、前記連続領域長と連続空き領域長を比較し、小さい方の値をコピー処理単位としてFS転送リストを生成することを特徴とする請求項1記載の無線アクセス装置。
  5. 前記ファイルコピー制御部は、
    転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第1のファイルシステム管理情報と、前記第2のファイルシステム管理情報とから前記転送元ファイルのデータ格納領域に含まれる1つの連続領域長を算出すると共に、前記連続領域長と同じ値の1つ以上の連続空き領域を算出し、前記連続空き領域をコピー処理単位としてFS転送リストを生成することを特徴とする請求項1記載の無線アクセス装置。
  6. 前記ファイルコピー制御部は、転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第1のファイルシステム管理情報と、前記第2のファイルシステム管理情報とから前記転送先ファイルのデータを格納する領域として1つの連続空き領域長を算出すると共に、前記連続空き領域長と同じ値の1つ以上の連続領域長を算出し、前記連続領域長をコピー処理単位としてFS転送リストとして生成することを特徴とする請求項1記載の無線アクセス装置。
  7. 無線情報記録装置内部の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記無線情報記録装置と無線接続された他の無線情報記録装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
    前記第1の不揮発性メモリ上に構築されたファイルシステムから読みだした第1のファイルシステム管理情報と、前記第2の不揮発性メモリ上に構築されたファイルシステムとから読み出した第2のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部を備え、
    前記ファイルコピー制御部は前記FS転送リストを、前記無線情報記録装置に入力することで、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でデータのコピーを実施するように構成したことを特徴とする無線アクセス装置。
  8. 無線情報記録装置と内部の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線情報記録装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
    前記第1の不揮発性メモリを制御する第1の不揮発性メモリコントローラを備え、
    前記無線アクセス装置は、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間の論理アドレス空間上でのデータ転送元領域と、データ転送先領域の情報を含むFS転送リストを作成し、
    前記第1の不揮発性メモリコントローラは、前記FS転送リストに基づき、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセス装置。
  9. 第1の無線アクセス装置内部の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記第1の無線アクセス装置と無線接続された第2の無線アクセス装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイル間でコピーを行う無線アクセスシステムであって、
    前記第1の無線アクセス装置は、前記第1の不揮発性メモリ上に構築されたファイルシステムから読みだした第1のファイルシステム管理情報と、前記第2の不揮発性メモリ上に構築されたファイルシステムとから読み出した第2のファイルシステム管理情報とから、転送元となる論理アドレスと、転送先となる論理アドレスを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部と、
    前記第1の不揮発性メモリを制御する第1の不揮発性メモリコントローラと、を備え、
    前記ファイルコピー制御部は前記FS転送リストを前記第1の不揮発性メモリコントローラに入力し、
    前記第1の不揮発性メモリコントローラは前記FS転送リストに基づき、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセスシステム。
JP2015501322A 2013-02-20 2014-02-17 アクセス装置、情報記録装置およびアクセスシステム Active JP6191021B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013030712 2013-02-20
JP2013030712 2013-02-20
PCT/JP2014/000781 WO2014129160A1 (ja) 2013-02-20 2014-02-17 無線アクセス装置および無線アクセスシステム

Publications (2)

Publication Number Publication Date
JPWO2014129160A1 true JPWO2014129160A1 (ja) 2017-02-02
JP6191021B2 JP6191021B2 (ja) 2017-09-06

Family

ID=51390958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015501322A Active JP6191021B2 (ja) 2013-02-20 2014-02-17 アクセス装置、情報記録装置およびアクセスシステム

Country Status (4)

Country Link
US (1) US9762671B2 (ja)
EP (1) EP2960801B1 (ja)
JP (1) JP6191021B2 (ja)
WO (1) WO2014129160A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579458B2 (en) * 2015-11-13 2020-03-03 Sandisk Technologies Llc Data logger
US9794366B1 (en) * 2016-10-19 2017-10-17 Red Hat, Inc. Persistent-memory management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006137A (ja) * 2001-06-21 2003-01-10 Fujitsu Ltd ストレージアクセスシステム
US20030018852A1 (en) * 2001-07-17 2003-01-23 Xircom, Inc. Digital remote store
JP2008258755A (ja) * 2007-04-02 2008-10-23 Hitachi Ltd ファイルの送受信方法及びシステム
JP2009217707A (ja) * 2008-03-12 2009-09-24 Omron Corp Fa機器並びにファイルアクセスシステム
US20110022645A1 (en) * 2008-04-04 2011-01-27 Takuji Maeda Access device, information recording device, information recording system, file management method, and program

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293606A (en) * 1991-04-02 1994-03-08 Commodore Electronics Limited Apparatus and method for transferring interleaved data objects in mass storage devices into separate destinations in memory
WO2000063801A1 (en) * 1999-04-21 2000-10-26 Toni Data, Llc Managed remote virtual mass storage for client data terminal
US6701455B1 (en) 2000-08-29 2004-03-02 Hitachi, Ltd. Remote copy system with data integrity
JP2005149082A (ja) 2003-11-14 2005-06-09 Hitachi Ltd ストレージ制御装置、及びストレージ制御装置の制御方法
US7380080B2 (en) * 2004-05-17 2008-05-27 Hewlett-Packard Development Company, L.P. Calculating unneeded data storage credits for a data transmission to a pair of storage devices
US7853590B2 (en) * 2005-12-02 2010-12-14 Microsoft Corporation Remote read-write access to disparate data stores
US8706690B2 (en) * 2008-05-12 2014-04-22 Blackberry Limited Systems and methods for space management in file systems
JP5486793B2 (ja) 2008-11-07 2014-05-07 株式会社日立製作所 リモートコピー管理システム、方法及び装置
KR101810403B1 (ko) * 2011-05-13 2017-12-19 삼성전자주식회사 휴대용 단말기에서 주변 디바이스의 데이터를 저장하기 위한 장치 및 방법
US20130166670A1 (en) * 2011-12-21 2013-06-27 James George Wayda Networked storage system and method including private data network
US9417998B2 (en) * 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006137A (ja) * 2001-06-21 2003-01-10 Fujitsu Ltd ストレージアクセスシステム
US20030018852A1 (en) * 2001-07-17 2003-01-23 Xircom, Inc. Digital remote store
JP2008258755A (ja) * 2007-04-02 2008-10-23 Hitachi Ltd ファイルの送受信方法及びシステム
JP2009217707A (ja) * 2008-03-12 2009-09-24 Omron Corp Fa機器並びにファイルアクセスシステム
US20110022645A1 (en) * 2008-04-04 2011-01-27 Takuji Maeda Access device, information recording device, information recording system, file management method, and program
JP2011138534A (ja) * 2008-04-04 2011-07-14 Panasonic Corp アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム

Also Published As

Publication number Publication date
US20150281361A1 (en) 2015-10-01
WO2014129160A1 (ja) 2014-08-28
EP2960801A4 (en) 2016-03-16
JP6191021B2 (ja) 2017-09-06
EP2960801A1 (en) 2015-12-30
US9762671B2 (en) 2017-09-12
EP2960801B1 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
JP6191022B2 (ja) アクセス装置、情報記録装置およびアクセスシステム
TWI706315B (zh) 儲存元件
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2009181148A (ja) ストレージサブシステム
JP2007079774A (ja) ファイルシステムの構築方法
US9594508B2 (en) Computer system having tiered block storage device, storage controller, file arrangement method and storage medium
JP2014044490A (ja) ホスト装置及びメモリデバイス
WO2011058700A1 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
TWI702500B (zh) 使用多串流的系統、方法以及製品
JP5962140B2 (ja) プログラム、制御方法、制御装置およびシステム
JP5971057B2 (ja) ストレージ装置、設定方法および設定プログラム
JP5398761B2 (ja) メモリシステム
US11163442B2 (en) Self-formatting data storage device
US10387043B2 (en) Writing target file including determination of whether to apply duplication elimination
JP6191021B2 (ja) アクセス装置、情報記録装置およびアクセスシステム
JP5272185B2 (ja) 計算機システム及びストレージシステム
JP7143268B2 (ja) ストレージシステムおよびデータ移行方法
US7984236B2 (en) Data transfer
US8200936B2 (en) Systems and methods for recording information to a memory card
KR20140061194A (ko) iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법
WO2005045680A1 (ja) 情報記録媒体及びその制御方法
US20100274828A1 (en) Electronic Device, Storage Area Allocation Method for File System, and Computer Product
JP5161989B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
GB2469121A (en) Copying data to a backup server, which write the data directly to the disc blocks associated with a file
JP2012068853A (ja) 情報処理装置、及び情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170710

R151 Written notification of patent or utility model registration

Ref document number: 6191021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151