WO2014129161A1 - 無線アクセス装置および無線アクセスシステム - Google Patents
無線アクセス装置および無線アクセスシステム Download PDFInfo
- Publication number
- WO2014129161A1 WO2014129161A1 PCT/JP2014/000782 JP2014000782W WO2014129161A1 WO 2014129161 A1 WO2014129161 A1 WO 2014129161A1 JP 2014000782 W JP2014000782 W JP 2014000782W WO 2014129161 A1 WO2014129161 A1 WO 2014129161A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- nonvolatile memory
- file
- transfer
- access device
- list
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1787—Details of non-transparently synchronising file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Definitions
- the present disclosure relates to a wireless access device that accesses a wirelessly connected nonvolatile memory and a wireless access system including the wireless memory access function.
- recording media for recording various digital data such as text documents, presentation data, music content, and video data, such as magnetic disks, optical disks, USB memories, and flash memory cards.
- these recording media have been mainly used as local storages directly connected to host devices such as PCs (Personal Computers), DSCs (Digital Still Cameras) and smartphones that manage data. .
- a wireless access device includes a file in a file system built on a first nonvolatile memory and a file system built on a second nonvolatile memory inside another wireless access device connected wirelessly. Access for copying to and from a file in a file, and obtaining an access list that lists copy target areas in a file system constructed on a second nonvolatile memory from another wireless access device From the list control unit, the first file system management information read from the file system constructed on the first non-volatile memory, and the access list, a logical address as a transfer source, and a logical address as a transfer destination Copy control that generates FS transfer list that identifies and lists data size to be transferred And a non-volatile memory controller that controls the first non-volatile memory, the file copy control unit inputs the generated FS transfer list to the non-volatile memory controller, and the non-volatile memory controller enters the FS transfer list. Based on this, copying is performed between the first nonvolatile memory and the second nonvolatile memory from
- the present disclosure does not depend on the CPU (Central Processing Unit) in the wireless access device and the capacity of the bus bandwidth when performing file copying between the first nonvolatile memory and the second nonvolatile memory, and the high speed. It is possible to perform file copying.
- CPU Central Processing Unit
- file copy can be performed at high speed without depending on the CPU capacity and bus bandwidth in the access device.
- a device having a remote memory can perform access control for controlling whether or not to accept access to the remote memory for a device that performs file copying.
- FIG. 1 is a configuration diagram of a radio access apparatus according to the first embodiment.
- FIG. 2 is a configuration diagram of the first nonvolatile memory controller in the first embodiment.
- FIG. 3 is a configuration diagram of the second nonvolatile memory controller in the first embodiment.
- FIG. 4 is a configuration diagram of the FAT file system according to the first embodiment.
- FIG. 5 is a configuration diagram of a directory entry in the first embodiment.
- FIG. 6A is an explanatory diagram showing an example of a directory entry of the FAT file system in the first embodiment.
- FIG. 6B is a diagram showing an example of the first FAT and the second FAT of the FAT file system in the first embodiment.
- FIG. 6C is a diagram showing an example of a user data area of the FAT file system in the first embodiment.
- FIG. 7 is a flowchart showing an outline of a file copy processing procedure in the first embodiment.
- FIG. 8 is a flowchart showing the details (Step 1) of the file copy processing procedure in the first embodiment.
- FIG. 9 is a flowchart showing the details (Step 2) of the file copy processing procedure in the first embodiment.
- FIG. 10 is a flowchart showing details of the file copy processing procedure (Steps 3 to 5) in the first embodiment.
- FIG. 11 is an explanatory diagram showing an example of the FAT table in the first embodiment.
- FIG. 12 is an explanatory diagram showing another example of the FAT table in the first embodiment.
- FIG. 13 is an explanatory diagram showing an example of the FS transfer list in the first embodiment.
- FIG. 14 is a flowchart showing details of the file copy processing procedure (copy from local memory to remote memory) using the FS transfer list in the first embodiment.
- FIG. 15 is a flowchart showing details of the file copy processing procedure (copy from the remote memory to the local memory) using the FS transfer list in the first embodiment.
- FIG. 16 is an explanatory diagram showing a configuration of another example of the first wireless access device according to the first embodiment.
- FIG. 17 is an explanatory diagram showing a configuration of another example of the second wireless access device according to the first embodiment.
- FIG. 18 is an explanatory diagram showing an example of an FS transfer list corresponding to 1-to-n transfer in the first embodiment.
- FIG. 19 is an explanatory diagram showing an example of an FS transfer list corresponding to n-to-1 transfer in the first embodiment.
- FIG. 20 is an explanatory diagram showing an example of an access list request at the time of reading in the first embodiment.
- FIG. 21 is an explanatory diagram showing an example of an access list at the time of writing in the first embodiment.
- FIG. 22 is an explanatory diagram showing an example of an access list at the time of reading in the first embodiment.
- FIG. 23 is an explanatory diagram showing an example of an access list at the time of writing in the first embodiment.
- FIG. 24 is a flowchart showing details of a command division control processing procedure in the second embodiment.
- FIG. 25 is a flowchart showing details of the file read processing procedure according to the third embodiment.
- FIG. 26 is an explanatory diagram showing another example of an access list request and an access list at the time of reading in another embodiment.
- FIG. 27 is an explanatory diagram showing another example of an access list request and an access list at the time of writing in another embodiment.
- FIG. 28 is an explanatory diagram showing an example of an FS transfer list corresponding to transfer of n to 1 (n is an integer of 2 or more) and 1 to n (n is an integer of 2 or more) in other embodiments.
- FIG. 29 is an explanatory diagram showing still another example of the FAT table in other embodiments.
- Embodiment 1 In the conventional technology, when managing and accessing the remote memory at the end of the network in the same way as the local memory directly connected to the device itself, access to the remote memory can be performed only by changing the device driver part that directly accesses the local memory. realizable. Here, it is assumed that a file is copied between the local memory and the remote memory. File copying is performed by a file system control program operating on the CPU in the host device.
- the file system control program refers to the file system management information of both the local memory and the remote memory, specifies the logical address where the data of the copy source file is stored, and the logical address where the data of the copy destination file is stored. Identify. Thereafter, the file system control program reads the data of the copy source file onto the RAM in the host device, and writes the read data to the data storage location of the copy destination file. That is, file copying between the local memory and the remote memory is performed by processing of the CPU in the host device via the RAM in the host device. Therefore, the file copy processing speed depends on the CPU capability in the host device, the bandwidth of the bus to which the RAM in the host device is connected, and the like. If these capabilities are low, high-speed file copying cannot be performed.
- a wireless access device capable of performing file copy at high speed and capable of performing access control for controlling whether or not a device incorporating a remote memory accepts access to the remote memory of the device performing file copy
- An object is to provide an access device, a wireless information recording device, and a wireless access system.
- FIG. 1 is a configuration diagram of a wireless access device and a wireless access system in the present embodiment.
- a wireless access system 100 includes a first wireless access device 1 and a second wireless access device 2.
- the first wireless access device 1 manages the first nonvolatile memory 15 existing in the device as a local memory.
- the second wireless access device 2 manages the second non-volatile memory 25 existing in the device as a local memory.
- the first wireless access device 1 includes a CPU 11, a RAM 12, a ROM 13, and a first nonvolatile memory controller 14, which are connected to each other via a first internal bus 17.
- the first wireless access device 1 includes a first nonvolatile memory 15 connected to the first nonvolatile memory controller 14 and a first wireless circuit 16 connected by a second internal bus 18.
- the ROM 13 stores a program for controlling the first wireless access device 1. This program uses the RAM 12 as a temporary storage area and operates on the CPU 11.
- the first non-volatile memory controller 14 actually issues a Read command, a Write command, other control commands, etc. to the first non-volatile memory 15 to control reading and writing of the first non-volatile memory 15.
- the first wireless circuit 16 is a control circuit for performing wireless communication with the second wireless access device 2, and a control circuit corresponding to the wireless LAN standard of 802.11a / b / g / n is expected to spread in the future.
- Other control circuits for wireless communication such as Bluetooth (registered trademark) and TransferJet (registered trademark) which is a short-range wireless transfer technology. Since the present disclosure is not limited to a specific wireless communication system, these arbitrary wireless control circuits can be used as the first wireless circuit 16.
- the ROM 13 further includes an application control unit 131, a file system control unit 132, and a memory access control unit 133.
- the application control unit 131 performs overall control of the first wireless access device 1 such as data generation and power control.
- the file system control unit 132 performs control for managing data in the first nonvolatile memory 15 and the second nonvolatile memory 25 as a file by a file system such as a FAT file system.
- the memory access control unit 133 receives the access size and the access destination logical address together with the data from the file system control unit 132, and transmits the specified size data in the first nonvolatile memory 15 or the second nonvolatile memory 25.
- the file system control unit 132 further includes a file copy control unit 134 and an access list control unit 135.
- the file copy control unit 134 is a control unit that performs a file copy process between the first nonvolatile memory 15 and the second nonvolatile memory 25, which is a feature of the present disclosure, and does not exist in the conventional wireless access device.
- the first nonvolatile memory controller 14 also has a function of controlling the FS transfer list 121, which is a file system transfer list described later, and does not exist in the prior art.
- the access list control unit 135 obtains an access list 122 to be described later from the second wireless access device 2, and performs control for specifying an accessible storage area in the second nonvolatile memory 25 that is a remote memory. It does not exist in the past.
- the access list control unit 135 is described as a configuration included in the file system control unit 132, but other configurations are possible without departing from the spirit of the present disclosure, and the access list control unit 135 is also possible. May be included in the application control unit 131 and the memory access control unit 133, or may be configured as an independent program in the ROM 13.
- the second wireless access device 2 includes a CPU 21, a RAM 22, a ROM 23, and a second nonvolatile memory controller 24, which are connected to each other by a first internal bus 27. Furthermore, the second wireless access device 2 includes a second nonvolatile memory 25 connected to the second nonvolatile memory controller 24 and a second wireless circuit 26 connected by a second internal bus 28.
- the ROM 23 stores a program for controlling the second wireless access device 2, and this program uses the RAM 22 as a temporary storage area and operates on the CPU 21.
- the second nonvolatile memory controller 24 actually issues a Read command, a Write command, other control commands, and the like to the second nonvolatile memory 25 to control reading and writing of the second nonvolatile memory 25.
- the second wireless circuit 26 is a control circuit that performs wireless communication with the first wireless access device 1, and can perform arbitrary wireless communication with the first wireless circuit 16.
- the internal configuration of the second wireless access device 2 is the same as the internal configuration of the first wireless access device 1.
- the second wireless access device 2 will be described as a device that can be accessed from the first wireless access device 1 using the second nonvolatile memory 25 existing in the device as a remote memory. That is, of the storage areas in the second non-volatile memory 25 existing in the second wireless access apparatus 2 itself, the storage area accessible from the first wireless access apparatus 1 is designated as the first wireless access apparatus. 1 using the access list 122, and operates as a device that allows the first non-volatile memory 25 to be accessed from the first wireless access device 1 as a remote memory.
- the CPU 21 of the second wireless access device 2 transmits the access list 122 to the first wireless access device 1, the access from the first wireless access device 1 to the second nonvolatile memory 25 is the second nonvolatile memory.
- the memory controller 24 implements, and the CPU 21 in the second wireless access device 2 does not intervene.
- the first nonvolatile memory controller 14 includes a sequencer 141, a DMA controller 142, a RAM 143, a ROM 144, a first memory controller 145, and a first memory data buffer 146.
- the sequencer 141 is a control unit that controls the first non-volatile memory controller 14, and performs various processes using microcode stored in the ROM 144.
- sequencer 141 since the sequencer 141 performs only limited processing inside the first nonvolatile memory controller 14, it may be realized by using another control circuit such as a small microcomputer.
- the DMA controller 142 controls DMA (Direct Memory Access) transfer of various data between each unit in the first nonvolatile memory controller 14 and the first wireless data buffer 161 in the first wireless circuit 16. It is a control unit.
- DMA Direct Memory Access
- the first memory controller 145 is a control unit that actually issues and accesses a Read command, a Write command, and other control commands to the first nonvolatile memory 15.
- the first memory data buffer 146 is a buffer for storing data to be read from or written to the first nonvolatile memory 15 when the first nonvolatile memory 15 is accessed.
- the FS transfer list 121 is input from the CPU 11, the sequencer 141 interprets the FS transfer list 121, and the first nonvolatile memory 15 and the second nonvolatile memory. 25 is accessed.
- the second nonvolatile memory controller 24 includes a sequencer 241, a DMA controller 242, a RAM 243, a ROM 244, a second memory controller 245, and a second memory data buffer 246.
- the sequencer 241 is a control unit that controls the second non-volatile memory controller 24, and performs various processes using microcode stored in the ROM 244.
- sequencer 241 since the sequencer 241 performs only limited processing in the second nonvolatile memory controller 24, the sequencer 241 may be realized by using another control circuit such as a small microcomputer.
- the DMA controller 242 is a control unit that controls DMA transfer of various data between each unit in the second nonvolatile memory controller 24 and the second wireless data buffer 261 in the second wireless circuit 26.
- the second memory controller 245 is a control unit that actually issues and accesses a Read command, a Write command, and other control commands to the second nonvolatile memory 25.
- the sequencer 241 includes an access determination unit 247.
- the RAM 243 holds the access list 122.
- the access determination unit 247 refers to the access list 122 held in the RAM 243 and determines whether or not access to the second nonvolatile memory 25 of the first wireless access device 1 can be accepted.
- the file system control unit 132 in the first wireless access device 1 uses the first nonvolatile memory 15 in the own device as the local memory, and the second wireless access device. 2 is managed as a remote memory, and the access list control unit 135 in the first wireless access device 1 receives the access list 122 from the access list control unit 235 in the second wireless access device 2. Is received, the high-speed file copy is realized by the cooperative operation of the file copy control unit 134 and the first nonvolatile memory controller 14.
- the first nonvolatile memory controller 14 performs the actual data copy process based on the FS transfer list 121 generated by the file copy control unit 134.
- the FS transfer list 121 is generated based on the area management information and the access list 122 included in the file system management information
- both the FS transfer list 121 and the access list 122 are file systems.
- management information There is a relationship with management information. Therefore, here, a FAT (File Allocation Table) file system will be described as an example of the file system. In the present embodiment, the FAT file system will be described as an example.
- the present embodiment is not limited to the file system type, and other files such as UDF (Universal Disc Format) and NTFS (NT File System) are used. It can also be applied to a system.
- FIG. 4 is a block diagram of the FAT file system.
- FAT12 FAT that uses a 12-bit cluster identifier
- FAT16 FAT that uses a 16-bit cluster identifier
- FAT32 FAT that uses a 32-bit cluster identifier
- the FAT file system has a file system management information area in which management information of the file system such as an area allocation unit and the size of the area managed by the file system is stored at the head of the logical address space. 301 and a user data area 302 in which actual file data and directories exist.
- the file system management information area 301 includes management information of a file system called a master boot record / partition table 303, a partition boot sector 304, a first FAT 305, a second FAT 306, and a root directory entry 307. This information is necessary for management.
- the master boot record / partition table 303 is an area in which information for managing an area on the logical address space managed by the file system by dividing it into areas called partitions is stored.
- the partition boot sector 304 is an area for storing management information in one partition such as the size of the area management unit in the partition.
- the first FAT 305 and the second FAT 306 are areas in which information relating to the storage location of the data included in the file is stored. Usually, there are two FATs having the same information.
- the first FAT 305 is one of the first FATs. Even if one of the FATs 305 is damaged, it is duplexed so that the file can be accessed by the second FAT 306 which is the other FAT.
- the root directory entry 307 is an area in which information (directory entry) of files and directories existing directly under the root directory is stored.
- the user data area 302 is divided and managed for each management unit called a cluster having a size of about 512 bytes to 32 KB, and data included in the file is stored in each cluster.
- a file storing a lot of data stores data across a plurality of clusters, and the connection between the clusters is managed by link information stored in the first FAT 305 and the second FAT 306.
- a directory entry which is information on files and subdirectories existing in a directory immediately under the root directory is stored using a part of the user data area 302.
- FIG. 5 is a configuration diagram of the directory entry of FAT16.
- the directory entry 308 is assigned with a 32-byte directory entry 308 for each file and directory, and stores information related to the file and directory. That is, each time a file or directory is added, information of a 32-byte directory entry 308 is newly created and recorded in the area of the root directory entry 307 or the user data area 302.
- the name of the file or directory is stored.
- the next 3 bytes store the extension of the file or directory.
- the next 1 byte stores attribute information such as a flag for identifying the type of the file / directory and a flag for identifying whether the file / directory is read-only.
- the directory entry 308 holds only information about the position of the cluster storing the top data of the file. Therefore, when the file data is stored across a plurality of clusters, the position information is the first FAT 305, the second FAT 305, and the second FAT 305. Held in the FAT 306. That is, when updating the file, it is necessary to write the file data and also write the information of the directory entry 308, the first FAT 305, and the second FAT 306.
- FIG. 6A, 6B, and 6C are explanatory diagrams showing an example of file system management information and user data in the FAT 16 FAT file system.
- FIG. 6A is an example of the directory entry 308, and indicates that a file having a size of 60000 bytes named “FILE1.TXT” is stored. It also indicates that the data body of this file is stored in an area starting from logical cluster number 2.
- FIG. 6B shows an example of the first FAT 305 and the second FAT 306 in the FAT 16. The first 4 bytes of the first FAT 305 and the second FAT 306 store a fixed value as a signature, but the other areas are associated with logical clusters in the user data area 302 in units of 16 bits. ing.
- the 16 bits immediately after the first signature of the first FAT 305 and the second FAT 306 are associated with the logical cluster number 2 and the subsequent 16 bits are associated with the logical cluster number 3 and correspond to the logical cluster numbers in ascending order hereinafter. It is attached.
- the value stored in each 16 bits indicates the state of the associated logical cluster number. For example, in the case of 0x0000, it means that the area of the associated logical cluster number is an empty cluster. In the case of 0x0002 to 0xFFF6, it means the logical cluster number of the next area linked to the area of the associated logical cluster number, and in the case of 0xFFF8 to 0xFFFF, the area of the associated logical cluster number Means the end of the link.
- the areas of the logical cluster numbers 2, 3, 4, and 5 store the data body of “FILE1.TXT”. Furthermore, in the example of the user data area 302 in FIG. 6C, it is shown that the areas of logical cluster numbers 2, 3, 4, and 5 actually store the data body of “FILE1.TXT”.
- the user data area 302 is managed by the first FAT 305 and the second FAT 306, and the second wireless access device 2 is constructed on the second nonvolatile memory 25.
- the first wireless access device 1 generates the access list 122 based on the first FAT 305 and the second FAT 306, and the first wireless access device 1 has the first FAT 305, the second FAT 306 and the access list built on the first nonvolatile memory 15.
- An FS transfer list 121 is generated based on 122 and a file copy process is performed.
- FIG. 7 is a diagram showing a flow of a file copy processing procedure.
- the file copy process according to the present embodiment, after the access list control unit 135 operating on the CPU 11 acquires the access list 122 from the access list control unit 235 operating on the CPU 21, the file copy control unit 134 operating on the CPU 11. Then, the first nonvolatile memory controller 14 and the second nonvolatile memory controller 24 in the second wireless access device 2 use the FS transfer list 121 to change the second nonvolatile memory from the first nonvolatile memory 15. A high-speed file copy is realized to the memory 25 or from the second nonvolatile memory 25 to the first nonvolatile memory 15.
- the file copy process in this embodiment is composed of the following five steps.
- Step 1 The file copy control unit 134 operating on the CPU 11 reads the file system management information from the first nonvolatile memory 15 via the first nonvolatile memory controller 14. As a result, the logical address in which the data body of the transfer source file existing on the first nonvolatile memory 15 is stored, or the empty cluster used for storing the data of the transfer destination file on the first nonvolatile memory 15 is stored. Specify the logical address.
- Step 2 The access list control unit 135 operating on the CPU 11 acquires the access list 122 from the access list control unit 235 operating on the CPU 21 in the second wireless access device 2.
- the logical address of the empty cluster used for storing the data of the transfer destination file on the second nonvolatile memory 25, or the logical address where the transfer source file data existing on the second nonvolatile memory 25 is stored. Is identified. That is, the CPU 11 does not read the file system management information of the second nonvolatile memory 25 but acquires only the information on the storage area on the second nonvolatile memory 25 necessary for the file copy process.
- Step 3 The file copy control unit 134 operating on the CPU 11 generates the FS transfer list 121 based on the file system management information of the first nonvolatile memory 15 read in Step 1 and the access list 122 acquired in Step 2. To do.
- Step 4 The file copy control unit 134 operating on the CPU 11 transmits the FS transfer list 121 generated in Step 3 to the first nonvolatile memory controller 14 to instruct file copy processing. Thereafter, until the file copy process is completed, the actual copy process is performed inside the first nonvolatile memory controller 14, and the file copy control unit 134 operating on the CPU 11 waits until the completion of the file copy process is notified. To do.
- Step 5 The first nonvolatile memory controller 14 receives the FS transfer list 121 transmitted in Step 4, and actually performs a data copy process according to the description.
- the file copy control unit 134 operating on the CPU 11 generates the FS transfer list 121, and the actual copy process is performed based on the FS transfer list 121 in the first nonvolatile memory. Performed by the controller 14. As a result, since the CPU 11 and the first internal bus 17 are not involved in actually copying data, file copying can be performed at high speed without depending on these capabilities.
- Step 1 the file system management information is read from the first nonvolatile memory 15 by the file copy control unit 134 and the first nonvolatile memory controller 14 operating on the CPU 11.
- the processing of Step 1 is performed in both cases of file copying from the first nonvolatile memory 15 to the second nonvolatile memory 25 and file copying from the second nonvolatile memory 25 to the first nonvolatile memory 15. This is a common process.
- the file copy control unit 134 operating on the CPU 11 specifies the logical address on the first nonvolatile memory 15 from the file system management information such as the first FAT 305, the second FAT 306, and the directory entry 308. . Specifically, first, the top area of the logical address space in which the master boot record / partition table 303 is stored is specified as the access area.
- the sequencer 141 in the first non-volatile memory controller 14 receives the Read instruction issued in the processing of S802, and generates a command packet for performing reading for the designated logical address.
- the recording medium used as the first non-volatile memory 15 includes an SD memory card, a hard disk connected by a SATA (Serial Advanced Technology Attachment) connection method, and the like. The protocol is specified. Here, a command packet necessary for executing the reading process is generated according to various protocols for accessing the first nonvolatile memory 15.
- the sequencer 141 in the first nonvolatile memory controller 14 inputs the command packet generated in the processing of S803 to the first memory controller 145.
- the first memory controller 145 in the first nonvolatile memory controller 14 transmits the input command packet to the first nonvolatile memory 15, and reads data from the first nonvolatile memory 15.
- the read data is stored in the first memory data buffer 146.
- the file copy control unit 134 operating on the CPU 11 transfers the read data from the first memory data buffer 146 to the RAM 12 in the first wireless access device 1. With this process, one file system management information read process is completed.
- Step 1 The file copy control unit 134 operating on the CPU 11 confirms whether or not reading of all file system management information for accessing the file is completed. If the reading of the file system management information has not been completed (N), the process returns to S801, and the reading process of the file system management information is continued. When the reading of the file system management information is completed (Y), the processing of Step 1 is terminated.
- the processing from S801 to S807 is repeatedly performed on the file system management information.
- Step 2 the access list control unit 135 operating on the CPU 11 acquires an access list from the access list control unit 235 operating on the CPU 21 in the second wireless access device 2.
- the process of Step 2 is performed in both cases of file copying from the first nonvolatile memory 15 to the second nonvolatile memory 25 and file copying from the second nonvolatile memory 25 to the first nonvolatile memory 15. This is a common process.
- FIG. 20 is a diagram illustrating an example of an access list request at the time of reading from the second nonvolatile memory 25
- FIG. 21 is a diagram illustrating an example of an access list request at the time of writing to the second nonvolatile memory 25. is there.
- the access list request is a list including the transfer direction indicating the data copy direction, and the file name and size of the file to be transferred.
- FIG. 20 shows an example of an access list request when a file in the second nonvolatile memory 25 is copied to the first nonvolatile memory 15.
- the transfer direction “R to L” means copying from the second nonvolatile memory 25 to the first nonvolatile memory 15.
- the number of clusters indicating the file name and the file size means information for specifying the file to be copied.
- the number of clusters is the number of clusters such as 32 KB which is a logical area management unit of the file system. If the file to be copied cannot be specified in advance when copying from the second nonvolatile memory 25 to the first nonvolatile memory 15, the file name and the number of clusters can be arbitrarily set (don't care) as shown in FIG. To do.
- FIG. 21 shows an example of an access list request when a file in the first nonvolatile memory 15 is copied to the second nonvolatile memory 25.
- “L to R” means copying from the first nonvolatile memory 15 to the second nonvolatile memory 25.
- the file name means information for specifying the file to be copied.
- the file name indicates the file name of the file to be copied and the number of clusters.
- the file name and the number of clusters of the file to be copied are “3” for “FNAME1”, “1” for “FNAME2”, “5” for “FNAME3”, and “1” for “FNAME4”.
- the file name only needs to be able to identify the file to be copied, and may be any information that can be commonly recognized between the first wireless access device 1 and the second wireless access device 2, such as an identifier and an ID number. .
- the size of the file to be copied can be specified, such as 512B which is the minimum access unit of the first nonvolatile memory 15 and the second nonvolatile memory 25.
- the access list control unit 135 operating on the CPU 11 issues to the first nonvolatile memory controller 14 an instruction to transmit the access list request generated in the process of S901.
- the sequencer 141 in the first nonvolatile memory controller 14 generates a wireless packet for transmitting the transmission instruction of the access list request issued in the processing of S902 to the second wireless access device 2, and The data is transmitted to the second wireless access device 2 via the first wireless circuit 16.
- the access list control unit 235 operating on the CPU 21 in the second wireless access device 2 receives the access list request received from the first wireless access device 1 and the file system management information of the second nonvolatile memory 25. And an access list is generated from the file system management information in the second nonvolatile memory 25.
- the file system management information in the second nonvolatile memory 25 is read.
- the file system management information of the second non-volatile memory 25 may be read in advance and stored in the RAM 22 or may be read after receiving an access list request from the first wireless access device 1.
- the file copy control unit 234 operating on the CPU 21 specifies the logical address on the second nonvolatile memory 25 from the file system management information such as the first FAT 305, the second FAT 306, and the directory entry 308. Specifically, first, the top area of the logical address space in which the master boot record / partition table 303 is stored is specified as the access area.
- the file copy control unit 234 operating on the CPU 21 issues a Read instruction for the specified logical address to the second nonvolatile memory controller 24.
- the sequencer 241 inside the second non-volatile memory controller 24 receives the issued Read instruction, and generates a command packet for reading the designated logical address.
- the recording medium used as the second non-volatile memory 25 includes an SD memory card, a hard disk connected by the SATA connection method, etc., and a protocol for access is defined for each of these recording media. Yes.
- a command packet necessary for executing the reading process is generated in accordance with various protocols for accessing the second nonvolatile memory 25.
- the sequencer 241 inside the second nonvolatile memory controller 24 inputs the generated command packet to the second memory controller 245.
- the second memory controller 245 inside the second nonvolatile memory controller 24 transmits the input command packet to the second nonvolatile memory 25 and reads data from the second nonvolatile memory 25.
- the read data is stored in the second memory data buffer 246.
- the sequencer 241 in the second nonvolatile memory controller 24 notifies the file copy control unit 234 operating on the CPU 21 that the Read process has been completed.
- the file copy control unit 234 operating on the CPU 21 transfers the data read from the second memory data buffer 246 to the RAM 22 in the second wireless access device 2. With this process, one file system management information read process is completed.
- the file copy control unit 234 operating on the CPU 21 confirms whether reading of all file system management information for accessing the file is completed. If the reading of the file system management information is not completed, the file system management information reading process is continued. When the reading of the file system management information is completed, the process ends. For example, in the case of the FAT file system, in order to access the file, the areas of the root directory entry 307 in the master boot record / partition table 303, the partition boot sector 304, the first FAT 305, and the second FAT 306 are sequentially read, Further, the directory entry 308 of the subdirectory is read as necessary. In order to read these, the processing is repeatedly performed on the file system management information.
- FIG. 22 is a diagram illustrating an example of an access list at the time of reading from the second nonvolatile memory 25
- FIG. 23 is a diagram illustrating an example of an access list at the time of writing to the second nonvolatile memory 25. is there.
- the access list in FIG. 22 is an access list generated in response to the access list request in FIG. 20, and the access list in FIG. 23 is an access list generated in response to the access list request in FIG.
- the access list is a list including a transfer direction indicating a copy destination and a copy source, a file name of a file to be transferred, a logical address and a size on the second nonvolatile memory 25 to be transferred.
- the access list request in FIG. 20 requests the file name and the number of clusters that can be accessed by the first wireless access device 1 from the second nonvolatile memory 25 to the first nonvolatile memory 15 that can be copied. Therefore, the access list of FIG. 22 shows a list of storage areas on the second nonvolatile memory 25 that can be accessed from the first wireless access device 1.
- the transfer direction indicates “R to L”, which means a case where a file in the second nonvolatile memory 25 is copied to the first nonvolatile memory 15.
- the file name indicates a file name to be copied from the second nonvolatile memory 25 to the first nonvolatile memory 15.
- the transfer source logical address indicates the logical address of the area where the copy source file data is stored.
- the number of transfer clusters indicates the size of data to be copied by the number of clusters.
- a plurality of transfer source logical addresses and transfer cluster numbers are designated as one set.
- the file name “FNAME1” is stored in two clusters from the logical address “0x0002”
- the file name “FNAME2” is stored in one cluster from the logical address “0x0004”
- the file name “FNAME3” is the logical address.
- the file name “FNAME4” is stored in the four clusters from the logical address “0x0009”, and the file name “FNAME5” is stored in the one cluster and the logical address “0x0010” from the logical address “0x000D”. Stored in two locations of one cluster.
- the access list request in FIG. 21 requests the transfer destination logical address and cluster number of the second nonvolatile memory 25 for the file name and cluster number of the file to be copied from the first nonvolatile memory 15. ing.
- the access list in FIG. 23 shows a list of storage areas on the second nonvolatile memory 25 that can be accessed from the first wireless access device 1.
- the transfer direction indicates “L to R” which means a case where a file in the first nonvolatile memory 15 is copied to the second nonvolatile memory 25.
- the file name indicates a file name to be copied from the first nonvolatile memory 15 to the second nonvolatile memory 25.
- the transfer destination logical address indicates a logical address of an area for storing copy destination file data.
- the number of transfer clusters indicates the size of data to be copied by the number of clusters.
- a plurality of transfer destination logical addresses and transfer cluster numbers are designated as one set.
- the file name “FNAME1” is divided into two clusters from the logical address “0x0003” and stored from the logical address “0x0008” to one cluster, and the file name “FNAME2” is stored from the logical address “0x000A” to one cluster.
- the file name “FNAME3” is divided into 4 clusters from the logical address “0x000F” and 1 cluster from the logical address “0x0015” and stored, and the file name “FNAME4” is stored from the logical address “0x0016” to 1 cluster. To do.
- the format of the transfer direction, file name, and transfer cluster number included in the access list is the same as the transfer direction, file name, and transfer cluster number indicated in the access list request, but is required for file copy processing.
- different formats may be used for the access list request and the access list.
- the access list control unit 235 operating on the CPU 21 in the second wireless access device 2 holds the access list generated in the processing of S904 in the RAM 243 of the second nonvolatile memory controller 24.
- the second non-volatile memory controller 24 generates a wireless packet for transmitting the access list generated in the processing of S904 to the first wireless access device 1, and the second nonvolatile circuit controller 24 passes the second wireless circuit 26 through the second wireless circuit 26. 1 to the wireless access device 1.
- the first wireless circuit 16 receives the wireless packet including the access list transmitted from the second wireless access device 2 by the processing of S906, and the received wireless packet is stored in the first wireless data buffer 161. Store.
- the access list control unit 135 operating on the CPU 11 transfers the wireless packet data including the access list from the first wireless data buffer 161 to the RAM 12 in the first wireless access device 1. With this process, one access list acquisition process is completed.
- Step 9 The access list control unit 135 operating on the CPU 11 confirms whether acquisition of all access lists necessary for accessing the file is completed. If the access list acquisition is not completed (N), the process returns to S901 and the access list acquisition process is continued. When acquisition of the access list is completed (Y), the processing of Step 2 is terminated.
- the file copy control unit 134 operating on the CPU 11 performs the FS transfer list based on the file system management information of the first non-volatile memory 15 read in Step 1 and the access list 122 acquired in Step 2. 121 is generated and input to the first nonvolatile memory controller 14, so that the first nonvolatile memory controller 14 performs an actual data copy process.
- the processes described in FIG. 10 are the same except that the detailed processing contents in Step 5 are copied from the first nonvolatile memory 15 to the second nonvolatile memory 25, and from the second nonvolatile memory 25 to the first nonvolatile memory. This process is common to both cases of file copy to 15.
- the file copy control unit 134 operating on the CPU 11 generates the FS transfer list 121 based on the file system management information of the first nonvolatile memory 15 read in Step 1 and the access list 122 acquired in Step 2. To do.
- FIG. 13 is a diagram showing an example of the FS transfer list 121.
- a list including the transfer direction indicating the transfer direction of the copy destination and the copy source, the logical address of the area storing the file data of the copy destination and the copy source, and the number of transfer clusters indicating the transfer size. It is.
- the transfer source logical address indicates the start logical address of the area where the copy source file data is stored.
- the transfer destination logical address indicates the start logical address of an area for storing copy destination file data.
- the number of transfer clusters indicates the size of data to be copied by the number of clusters.
- FIG. 13 shows an example in which the transfer source logical address, the transfer destination logical address, and the transfer cluster number are managed in cluster units such as 32 KB which is a logical area management unit of the file system, but the copy area can be specified. Any information may be used, and management may be performed in units other than the cluster, such as management in sector units such as 512B which is the minimum access unit of the nonvolatile memory.
- FIG. 11 shows an example of the first FAT 305 and the second FAT 306 included in the transfer source, that is, the FAT file system constructed on the first nonvolatile memory 15
- FIG. 12 shows the transfer destination, that is, the second nonvolatile memory.
- 2 is an example of the first FAT 305 and the second FAT 306 included in the FAT file system constructed on the memory 25.
- FIG. 23 shows an access list 122 generated in response to an access list request from the first FAT 305 and the second FAT 306 included in the FAT file system constructed on the second nonvolatile memory 25 of FIG.
- file to be transferred stores data on a series of links starting from a logical address area having a logical cluster number “0x0002” and ending in a logical address area having “0x0010”.
- file name “FNAME1”, three clusters from logical cluster numbers “0x0002” to “0x0004”, then file name “FNAME2”, one cluster with logical cluster number “0x0006”, file name “FNAME3” 5 clusters from logical cluster number “0x0009” to “0x000D”, 1 cluster of file name “FNAME4” and logical cluster number “0x0010” are copied.
- the continuous area length of one continuous area starting from the copy start position on the first FAT 305 and the second FAT 306 of the transfer source is calculated.
- the number of clusters “3 clusters” from the logical cluster numbers “0x0002” to “0x0004” is one continuous area length.
- the cluster number “1 cluster” of the logical cluster number “0x0006”, the cluster number “5 cluster” from the logical cluster number “0x0009” to “0x000D”, and the cluster number “1 cluster” of the logical cluster number “0x0010” are as follows. Become.
- the access list request requests the transfer destination logical address and the number of clusters of the second nonvolatile memory 25 for the file name and the number of clusters to be copied from the first nonvolatile memory 15. Specifically, the access list request has a file name “FNAME1” and a cluster number “3” in the transfer direction “L to R”.
- the number of clusters “2 clusters” of the logical cluster numbers “0x0003” and “0x0004” is the continuous free space length of one continuous free space. Subsequently, the cluster number “1” of the logical cluster number “0x0008”, the logical cluster number “0x000A”, the cluster number “1”, the logical cluster number “0x000F” to the cluster number “4”, the logical cluster number “0”. The number of clusters “0” is from “0x0015” to “0x001A”.
- the access list 122 in FIG. 23 is generated so that the file name “FNAME1” is divided into two clusters from the logical address “0x0003” and two clusters from the logical address “0x0008” and stored in the transfer direction “L to R”.
- the FS transfer list 121 is generated from the first FAT 305 and the second FAT 306 included in the FAT file system constructed on the first nonvolatile memory 15 in FIG. 11 and the access list 122 in FIG.
- the first number of the first FAT 305 and the second FAT 306 is the number of clusters “3 clusters” from the logical cluster numbers “0x0002” to “0x0004”.
- the beginning of the access list 122 is two clusters from the logical address “0x0003”.
- the number of clusters in the continuous area length and the continuous free area length is compared, and the smaller value is determined as the number of transfer clusters at one time.
- the smaller number “2 clusters” is the number of transfer clusters at one time.
- the list number 1 of the FS transfer list 121 is the transfer direction “L to R”, the transfer source logical address “0x0002”, the transfer destination logical address “0x0003”, and the transfer cluster number “2”.
- the list number 2 has the transfer direction “L to R”, the transfer source logical address “0x0004”, the transfer destination logical address “0x0008”, and the transfer cluster number “1” as the remaining one cluster. Thereafter, the FS transfer list 121 is generated in the same manner.
- list number 3 transfer direction “L to R”, transfer source logical address “0x0006”, transfer destination logical address “0x000A”, transfer cluster number “1”, list number 4, transfer direction “L to R”, transfer Source logical address “0x0009”, transfer destination logical address “0x000F”, transfer cluster number “4”, list number 5, transfer direction “L to R”, transfer source logical address “0x000D”, transfer destination logical address “0x0015”,
- the transfer cluster number is “1”, the list number is 6, the transfer direction is “L to R”, the transfer source logical address is “0x0010”, the transfer destination logical address is “0x0016”, and the transfer cluster number is “1”.
- the file copy control unit 134 operating on the CPU 11 transmits the FS transfer list 121 generated by the processing of S1001 to the first nonvolatile memory controller 14 to instruct copying. Thereafter, the copy process is performed by the first nonvolatile memory controller 14, and the file copy control unit 134 operating on the CPU 11 waits until the copy process is completed.
- the first nonvolatile memory controller 14 analyzes the contents of the FS transfer list 121 transmitted in the process of S1002, and actually executes the copy process. Details of the copy process will be described later.
- the file copy control unit 134 operating on the CPU 11 performs the process up to the generation of the FS transfer list 121, and the subsequent actual copy process is performed by the first nonvolatile memory controller. 14 implements.
- the CPU 11 and the first internal bus 17 are not involved in the actual copy process, and the copy process speed does not depend on these capabilities, and the file copy can be performed at high speed.
- the file copy control unit 134 operating on the CPU 11 when the transfer destination is the first nonvolatile memory 15. Just do it.
- the file copy control unit 234 operating on the CPU 21 performs in advance when the access list described in FIG. 9 is transmitted, or the file copy process described in FIG. You can do it later.
- the sequencer 141 in the first nonvolatile memory controller 14 refers to the FS transfer list 121 from the top in units of rows, and confirms the transfer direction.
- the transfer direction of the first row is “L to R”
- the sequencer 141 is a copy from the first nonvolatile memory 15 to the second nonvolatile memory 25. Recognize that there is.
- the sequencer 141 in the first nonvolatile memory controller 14 inputs the command packet generated in the processing of S1402 to the first memory controller 145.
- the first memory controller 145 in the first nonvolatile memory controller 14 transmits the input command packet to the first nonvolatile memory 15, and reads data from the first nonvolatile memory 15.
- the read data read out is stored in the first memory data buffer 146.
- the sequencer 141 in the first nonvolatile memory controller 14 generates on the first memory data buffer 146 a wireless packet including the data read in S1404 and the command packet generated in the process of S1405 in the payload. To do.
- the sequencer 141 in the first non-volatile memory controller 14 controls the DMA controller 142 to DMA transfer the wireless packet generated in S1406 to the first wireless data buffer 161.
- the sequencer 141 in the first nonvolatile memory controller 14 transfers the wireless packet transferred to the first wireless data buffer 161 in S1407 via the first wireless circuit 16 to the second wireless access device. 2 to send.
- the sequencer 241 in the second nonvolatile memory controller 24 receives the command packet (Write command) stored in the payload portion in the wireless packet transmitted from the first wireless access device 1 by the processing in S1408.
- the logical address and transfer size included in the write command are compared with the access list 122 held in the RAM 243, and it is determined whether the logical address and transfer size are included in the file copy target area indicated in the access list 122. . If it is included (Y), it is determined that the Write command can be accepted, and the process proceeds to S1411. If it is not included (N), it is determined that the Write command cannot be accepted, the CPU 21 is notified, an error is notified to the first wireless access device 1, and the process is terminated.
- the second memory controller 245 in the second nonvolatile memory controller 24 transmits the input command packet to the second nonvolatile memory 25 and is stored in the second memory data buffer 246. Data is written to the second nonvolatile memory 25. Further, after the writing is completed, a wireless packet including a write completion notification is generated and transmitted to the first wireless access device 1 via the second wireless circuit 26.
- the sequencer 141 in the first nonvolatile memory controller 14 notifies the file copy control unit 134 operating on the CPU 11 of the completion of the copy process, and the process ends. Thereafter, the file copy control unit 134 operating on the CPU 11 may notify the second wireless access device of the completion of file copy.
- the sequencer 141 in the first non-volatile memory controller 14 refers to the FS transfer list 121 from the top in line units and confirms the transfer direction.
- “R to L” is stored as the transfer direction, and a file is copied from the second nonvolatile memory 25 to the first nonvolatile memory 15.
- the sequencer 141 in the first non-volatile memory controller 14 generates a radio packet including the command packet generated in the processing of S1502 in the payload, and the second radio is transmitted via the first radio circuit 16. Transmit to the access device 2.
- the second wireless circuit 26 receives the wireless packet transmitted from the first wireless access device 1 by the processing of S1503, the received wireless packet is stored in the second wireless data buffer 261.
- the sequencer 241 in the second nonvolatile memory controller 24 extracts the command packet (Read command) for executing the reading stored in the payload portion in the wireless packet, and the logical address and transfer size included in the Read command.
- the access list 122 held in the RAM 243 is compared, and it is confirmed that the logical address and the transfer size are included in the file copy target area indicated in the access list 122. If included (Y), it is determined that the Read command can be accepted, and the process proceeds to S1505. If not included (N), it is determined that the Read command cannot be accepted, the CPU 21 is notified, an error is notified to the first wireless access device 1, and the process is terminated.
- the second memory controller 245 inside the second nonvolatile memory controller 24 transmits the input command packet to the second nonvolatile memory 25, and the second nonvolatile memory 25 sends the second memory to the second memory. Data is read into the data buffer 246.
- the sequencer 241 in the second non-volatile memory controller 24 converts the data read out in the process of S1506 into a wireless packet on the second memory data buffer.
- the sequencer 241 in the second nonvolatile memory controller 24 controls the DMA controller 242, and DMA-transfers the wireless packet on the second memory data buffer 246 to the second wireless data buffer 261. .
- the sequencer 241 inside the second nonvolatile memory controller 24 transmits the wireless packet on the second wireless data buffer 261 to the first wireless access device 1 via the second wireless circuit 26. .
- the first wireless circuit 16 When the first wireless circuit 16 receives the wireless packet transmitted from the second wireless access device 2 by the processing of S1509, the received wireless packet is stored in the first wireless data buffer 161. Thereafter, the sequencer 141 in the first nonvolatile memory controller 14 extracts the Read data stored in the payload portion in the wireless packet, controls the DMA controller 142, and DMA-transfers it to the first memory data buffer 146. .
- the sequencer 141 in the first nonvolatile memory controller 14 inputs the command packet (Write command) generated in the process of S1511 to the first memory controller 145.
- the first memory controller 145 in the first nonvolatile memory controller 14 transmits the input command packet to the first nonvolatile memory 15, and is stored in the first memory data buffer 146. Read data is written into the first nonvolatile memory 15.
- the sequencer 141 in the first nonvolatile memory controller 14 checks whether or not an unprocessed list exists in the FS transfer list 121 after the write processing in S1512 is completed. If there is an unprocessed list that has not reached the end of the FS transfer list 121 (N), the process returns to the process of S1501 to continue the process for the remaining list. If there is no unprocessed list at the end of the FS transfer list 121 (Y), the process proceeds to S1515.
- the first nonvolatile memory controller 14 autonomously starts from the first nonvolatile memory 15 according to the contents of the FS transfer list 121. Copy processing to the second nonvolatile memory 25 is performed.
- the CPU 11 in the first wireless access device 1 when file copying between the first nonvolatile memory 15 and the second nonvolatile memory 25 is performed, the CPU 11 in the first wireless access device 1 is used.
- the file copy control unit 134 operating in FIG. 1 generates the FS transfer list 121 and inputs it to the first nonvolatile memory controller 14, and the actual copy process thereafter is input to the first nonvolatile memory controller 14. 121.
- the CPU 11 and the first internal bus 17 are not involved in the actual copy process, and the copy process speed does not depend on these capabilities, and the file copy can be performed at high speed.
- the transfer source or transfer destination area on the second nonvolatile memory 25 that is the target of file copy processing is an access that operates on the CPU 21 in the second wireless access device 2.
- the list control unit 235 instructs the first wireless access device 1 using the access list 122.
- the second nonvolatile memory controller accepts the command when the logical address and transfer size included in the Write or Read command received from the first wireless access device 1 are included in the area indicated in the access list. Judge that it is possible. Thereby, control of whether or not the first wireless access device 1 can access the second nonvolatile memory 25 can be easily realized without intervention of the CPU 21 in the file copy processing.
- the range of the storage area of the second non-volatile memory 25 used by the second wireless access device 2 for file copying can be restricted, and illegal writing and reading of data can be prevented.
- FIG. 24 is a flowchart showing details of a command division control processing procedure performed by the nonvolatile memory controller in the wireless access device according to the second embodiment.
- the file copy processing described in the first embodiment if the transfer size included in the Write command or Read command instructed by the first wireless access device 1 is large (for example, several hundred MB or several GB), the file copy processing is performed. During this time, the program operating on the CPU 21 in the second wireless access device cannot access the second nonvolatile memory 25. Therefore, in the present embodiment, the second nonvolatile memory controller 24 in the second wireless access device 2 divides the Write command or Read command received from the first wireless access device 1 into a predetermined size and executes it. .
- the details when the Read command is received will be described with reference to FIG. Even when the Write command is received, the command division processing procedure is the same except that the data transfer direction is different, and the description thereof will be omitted.
- the sequencer 241 in the second nonvolatile memory controller 24 confirms that the logical address and transfer size included in the Read command received from the first wireless access device 1 are included in the area indicated in the access list 122. Check. If it is included (Y), the process proceeds to S2402. If it is not included (N), it is determined that the received Read command cannot be accepted, the CPU 21 is notified, and an error is notified to the first wireless access device 1. To finish the process. This is the same processing as S1504 in FIG.
- the sequencer 241 in the second nonvolatile memory controller 24 determines whether or not the transfer size exceeds a predetermined transfer length. (Y) performs the process of S2403.
- the predetermined transfer length is a size determined by the function and specification of the second wireless access device 2 and may be a fixed value such as 4 KB, 1 MB, or 16 MB, and the file copy control unit operating on the CPU 21 is the second nonvolatile memory. May be set in the RAM 243 or the like in the memory controller 24.
- the sequencer 241 in the second nonvolatile memory controller 24 divides the transfer size into the predetermined transfer length. To process. For example, when the transfer size included in the Read command is 1 MB and the predetermined transfer length is 256 KB, the sequencer 241 inside the second nonvolatile memory controller 24 executes the Read command of the transfer size 256 KB four times, To be issued to the non-volatile memory 25.
- the sequencer 241 inside the second nonvolatile memory controller 24 inputs a Read command to the second memory controller 245.
- the Read command received from the first wireless access device 1 in step S2403 is divided into read commands having a predetermined transfer length, the divided commands are input.
- the second memory controller 245 in the second nonvolatile memory controller 24 transmits the input command to the second nonvolatile memory 25, and the second nonvolatile memory 25 uses the second nonvolatile memory 25 for the second memory. Data is read into the data buffer 246.
- the sequencer 241 in the second nonvolatile memory controller 24 converts the read data read out in the processing of S2405 into a wireless packet on the second data buffer for memory.
- the sequencer 241 in the second nonvolatile memory controller 24 controls the DMA controller 242, and DMA-transfers the wireless packet on the second memory data buffer 246 to the second wireless data buffer 261. .
- the sequencer 241 inside the second nonvolatile memory controller 24 transmits the wireless packet on the second wireless data buffer 261 to the first wireless access device 1 via the second wireless circuit 26. .
- the second wireless access device in the file copy process, even if the transfer size included in the Write command or Read command instructed by the first wireless access device 1 is large, the second wireless access device
- the second nonvolatile memory controller in the device divides and executes commands to a predetermined transfer length, and after execution of each divided command, the second nonvolatile memory controller executes a second program from a program operating on the CPU 21 in the second wireless access device 2. Since a command to access the nonvolatile memory 25 is executed with priority, a program operating on the CPU 21 in the second wireless access device can access the second nonvolatile memory 25 even during the file copy process. The convenience of the second wireless access device 2 can be improved.
- FIG. 25 is a flowchart for explaining the file read processing procedure of the wireless access device according to the third embodiment.
- the first wireless access device 1 in the present embodiment reads a file from the second nonvolatile memory 25 using the access list 122 described in FIG. 22 of the first embodiment.
- a process may be a case where a moving image file stored in the second nonvolatile memory 25 is read out and decoded by the first wireless access device 1 for reproduction.
- Such a file read processing procedure will be described with reference to FIG. Note that the processing procedure when the first wireless access device 1 writes a file to the second nonvolatile memory 25 is the same as the reading processing except for the data transfer, and thus the description thereof is omitted.
- the program operating on the CPU 11 in the first wireless access device 1 refers to the access list 122 and identifies the logical address of the read target file.
- the first nonvolatile memory controller 14 in the first wireless access device 1 generates a Read command to the second nonvolatile memory 25 in accordance with the read instruction.
- the first nonvolatile memory controller 14 in the first wireless access device 1 converts the Read command generated in S2503 into a wireless packet and transmits it to the second wireless access device 2.
- the first wireless access device 1 generates the Read command for the second nonvolatile memory 25 using the access list 122 described in the first embodiment and generates the second command. Since the file is read and transmitted to the wireless access device, the file reading and writing processing using the access list 122 can be performed without being limited to the file copy processing, and the second nonvolatile memory can be used without intervention of the CPU 21. Control of whether or not to access the memory 25 can be easily realized. Therefore, when a program operating on the CPU 11 in the first wireless access device 1 reads or writes a file to or from the second nonvolatile memory 25, the accessible area is controlled and the data is illegally written. Alternatively, reading can be prevented.
- the CPU 11 in which the file copy control unit 134 and the access list control unit 135 operate and the first nonvolatile memory controller 14 are included in the same first wireless access device 1, and the file copy
- the configuration in which the CPU 21 in which the control unit 234 and the access list control unit 235 operate and the second nonvolatile memory controller 24 are included in the same second wireless access device 2 has been described, but other configurations may be used.
- the first wireless access device 1 is divided into a first access device 3 and a first wireless information recording device 4, and the second wireless access device 2 is As shown in FIG. 17, the second access device 5 and the second wireless information recording device 6 may be separated into a wireless access system.
- the first access device 3 includes a CPU 11, a RAM 12, a ROM 13, and an external bus controller 19, which are connected to each other via a first internal bus 17.
- the first wireless information recording device 4 includes a first wireless circuit connected to the first nonvolatile memory 15 connected to the first nonvolatile memory controller 14, an external bus controller 41, and a second internal bus 18. 16 is included.
- the external bus controller 19 and the external bus controller 41 are external bus controllers such as USB (Universal Serial Bus) and PCI Express (Peripheral Component Interconnect Express), through which the first access device 3 and the first wireless information recording device are connected. 4 may be configured to be connected.
- the second access device 5 includes a CPU 21, a RAM 22, a ROM 23, and an external bus controller 29, which are connected to each other by a first internal bus 27.
- the second wireless information recording device 6 includes a second non-volatile memory 25 connected to the second non-volatile memory controller 24, an external bus controller 51, and a second wireless circuit connected by the second internal bus 28. 26.
- the external bus controller 29 and the external bus controller 51 are external bus controllers such as USB and PCI Express, and the second access device 5 and the second wireless information recording device 6 may be connected via these.
- the first access device 3 and the second access device 5 side incorporate software corresponding to the file copy control units 134 and 234 and the access list control units 135 and 235 in the ROMs 13 and 23.
- the present disclosure can be applied by diverting the hardware configuration of the conventional access device as it is.
- the FS transfer list 121 of FIG. 13 has been described as an example, if sufficient information that can be copied between the first nonvolatile memory 15 and the second nonvolatile memory 25 is included, this The format is not limited, and other formats may be used.
- an FS transfer list 123 as shown in FIG. 18 may be used.
- the FS transfer list 123 shown in FIG. 18 associates the data storage area of one transfer source file with the data storage areas of transfer destination files at n (n is an integer of 2 or more) locations.
- the data storage area is configured such that the data is copied to the data storage areas of n transfer destination files.
- FIG. 18 shows an example in which the number of data storage areas of the transfer destination file is two.
- transfer source logical address areas for three consecutive clusters starting from “0x0002” are shown.
- Transfer destination logical address areas for two consecutive clusters starting from “0x0003” and transfer destination logical address areas for one cluster of “0x0008” are associated with each other.
- an FS transfer list 124 as shown in FIG. 19 may be used.
- the FS transfer list 124 shown in FIG. 19 associates the data storage area of one transfer destination file with the data storage areas of n (n is an integer of 2 or more) transfer source files, and n transfer source files.
- the data storage area is copied to the data storage area of one transfer destination file.
- FIG. 19 shows an example in which the number of transfer source areas is two.
- transfer destination logical address areas for two consecutive clusters starting from “0x0015” are represented by “0x000D”, This is associated with the logical address area of the transfer source for two clusters of “0x0010”.
- the list number that is in a one-to-one correspondence has an invalid logical address “0xFFFF” in the area of the transfer destination logical address 2 or the transfer source logical address 2. Is set.
- FIG. 28 shows an example of the FS transfer list 125 in which both 1-to-n and n-to-1 are combined.
- the FS transfer list 125 an example of the first FAT 305 and the second FAT 306 included in the FAT file system constructed on the first nonvolatile memory 15 which is the transfer source in FIG.
- FIG. 28 shows an example in which n is 2.
- the logical address area of the transfer source for three consecutive clusters starting from “0x0002” includes two consecutive clusters starting from “0x0003” and one cluster starting from “0x0008”.
- the logical address area of the transfer source for five consecutive clusters starting from “0x0009” and one cluster starting from “0x0010” is the transfer destination for six consecutive clusters starting from “0x000F”.
- the list number 2 has a one-to-one correspondence, and an invalid logical address “0xFFFF” is set in the area of the transfer destination logical address 2 or the transfer source logical address 2.
- the correspondence between the transfer destination logical address and the transfer source logical address is generated by mixing both 1 to n (n is an integer of 2 or more) and n to 1 (n is an integer of 2 or more). Therefore, it is possible to cope with various combinations of the number of consecutive empty clusters of transfer destination logical addresses and the number of consecutive empty clusters of transfer destination logical addresses, and the copy processing can be optimized.
- the access list request has been described with reference to FIGS. 20 and 21, information sufficient for the first wireless access device 1 to acquire an access list from the second wireless access device 2 is included.
- the same access list request may include access list requests of different transfer directions of “R to L” and “L to R”.
- the access list control unit 135 operating on the CPU 11 in the first wireless access device 1 as shown in FIG.
- a file list which is a list of directories and files from the access list control unit 235 operating on the CPU 21 in the second wireless access device 2
- an address request specifying the file name to be copied is sent, and the second
- the access list 122 including the transfer source logical address and the size information related to the file designated by the address request may be acquired from the access list control unit 235 operating on the CPU 21 in the wireless access device 2.
- the access list control unit 135 operating on the CPU 11 in the first wireless access device 1 operates on the CPU 21 in the second wireless access device 2.
- a file list included in the directory DIR1 may be acquired from the access list control unit 235.
- the access list control unit 135 operating on the CPU 11 in the first wireless access device 1.
- the access list 122 including the start address of the free area and the continuous free area length may be acquired from the access list control unit 235 operating above.
- the requested size is set to a specific value, for example, 0, all free areas in the second nonvolatile memory 25 are acquired or all file system management information constructed in the second nonvolatile memory 25 is stored. You may make it acquire.
- the file copy control unit 134 or the access list control unit that operates on the CPU 11 in the first wireless access device 1. 135 may transmit write file information including the copied file name, start address, and attribute information to the file copy control unit 234 or the access list control unit 235 operating on the CPU 21 in the second wireless access device 2. Thereby, the file system management information in the second nonvolatile memory 25 can be updated.
- the processing procedure in which the second nonvolatile memory controller 24 divides the Write command or the Read command received from the first wireless access device 1 into predetermined transfer lengths and executes them using FIG. 24 has been described.
- the access list control unit 235 operating on the CPU 21 in the second wireless access device 2 includes the predetermined transfer length in the access list 122 in advance and notifies the first wireless access device 1 to the first wireless access device 1.
- the transfer size of the copy process added to the FS transfer list 121 by the file copy control unit 134 operating on the CPU 11 in the wireless access device 1 may be set to a predetermined transfer length or less.
- An access device that reads / writes digital data from / to a local memory or remote memory such as a PC, tablet, smartphone, movie, DSC, etc., and a wireless function that accepts access to non-volatile memory via wireless and allows access as remote memory It is useful for information recording devices such as memory cards, removable hard disks, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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)。この技術を用いることにより、無線ネットワークの先にある外部機器のメモリ(リモートメモリ)を、自機器に直接接続されたメモリ(ローカルメモリ)のように管理することができ、自機器の容量追加が容易に行えるようになる、リモートメモリを複数のホスト機器で同時に使用することができる等のメリットを享受することができる。
本開示の無線アクセス装置は、第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、第2の不揮発性メモリ上に構築されたファイルシステムにおけるコピー対象領域をリスト化したアクセスリストを他の無線アクセス装置から取得するアクセスリスト制御部と、第1の不揮発性メモリ上に構築されたファイルシステムから読み出した第1のファイルシステム管理情報と、アクセスリストとから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部と、第1の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、ファイルコピー制御部は、生成したFS転送リストを不揮発性メモリコントローラに入力し、不揮発性メモリコントローラは、FS転送リストに基づき、第1の不揮発性メモリと、第2の不揮発性メモリとの間でコピーを実施することを特徴とする。
これにより、本開示は第1の不揮発性メモリと第2の不揮発性メモリ間でファイルコピーを行う場合において、無線アクセス装置内部のCPU(Central Processing Unit)、バス帯域の能力に依存せず、高速にファイルコピーを実施することが可能となる。
すなわち、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のCPU能力やバスの帯域幅に依存することなく高速にファイルコピーを行うことができ、リモートメモリを有する機器が、ファイルコピーを行う機器に対してリモートメモリへのアクセス受付の可否を制御するアクセス制御を行うことが可能となる。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(実施の形態1)
従来技術において、ネットワークの先にあるリモートメモリを自機器に直接接続されているローカルメモリと同様に管理してアクセスする場合、ローカルメモリに直接アクセスするデバイスドライバ部分の変更のみでリモートメモリへのアクセスを実現できる。ここで、ローカルメモリとリモートメモリ間でファイルのコピーを実施する場合を想定した。ファイルのコピーは、ホスト機器内のCPU上で動作するファイルシステムの制御プログラムにより実施される。
従来技術において、ネットワークの先にあるリモートメモリを自機器に直接接続されているローカルメモリと同様に管理してアクセスする場合、ローカルメモリに直接アクセスするデバイスドライバ部分の変更のみでリモートメモリへのアクセスを実現できる。ここで、ローカルメモリとリモートメモリ間でファイルのコピーを実施する場合を想定した。ファイルのコピーは、ホスト機器内のCPU上で動作するファイルシステムの制御プログラムにより実施される。
例えば、ファイルシステムの制御プログラムは、ローカルメモリとリモートメモリ双方のファイルシステム管理情報を参照し、コピー元ファイルのデータが格納された論理アドレスの特定と、コピー先ファイルのデータを格納する論理アドレスの特定を行う。その後、ファイルシステムの制御プログラムは、コピー元ファイルのデータをホスト機器内のRAM上に読み出し、読み出したデータをコピー先ファイルのデータ格納位置に書き込む。すなわち、ローカルメモリとリモートメモリ間のファイルコピーは、ホスト機器内のRAMを介してホスト機器内のCPUの処理により実施される。そのため、ファイルコピー処理速度はホスト機器内のCPU能力、ホスト機器内のRAMが接続されているバスの帯域幅等に依存する。これらの能力が低いと高速なファイルコピーが行えない。
また、リモートメモリを内蔵した機器として、PCやDSC、スマートフォン等の内蔵したリモートメモリに対するホスト機能を備える機器の場合、無線アクセス装置がファイルコピーの動作を行っている間は、機器内のCPU上で動作するプログラムは機器内のメモリへアクセスができない。さらに、ネットワークの先にある、ファイルコピーを行う無線アクセス装置からのリモートメモリへのアクセスを制限することもできない。
上記課題に鑑み本開示は、自機器に接続されたローカルメモリと、無線ネットワークの先に接続されたリモートメモリの両方にアクセスする場合において、アクセス装置内のCPU能力やバスの帯域幅に依存することなく、高速にファイルコピーを行い、かつ、リモートメモリを内蔵する機器が、ファイルコピーを行う機器のリモートメモリへのアクセスの受付の可否を制御するアクセス制御を行うことが可能な無線アクセス装置、アクセス装置、無線情報記録装置、および、無線アクセスシステムを提供することを目的とする。
図1は本実施の形態における無線アクセス装置および無線アクセスシステムの構成図である。図1において、無線アクセスシステム100は、第1の無線アクセス装置1と第2の無線アクセス装置2で構成される。第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ファイルシステム等のファイルシステムにより、第1の不揮発性メモリ15および第2の不揮発性メモリ25内のデータをファイルとして管理するための制御を行う。メモリアクセス制御部133は、ファイルシステム制御部132からデータと共にアクセスサイズとアクセス先論理アドレスを渡され、指定されたサイズのデータを第1の不揮発性メモリ15、あるいは第2の不揮発性メモリ25における指定された論理アドレスに記録する等、第1の不揮発性メモリ15、第2の不揮発性メモリ25に対するコマンドやデータの送受信を制御する。ファイルシステム制御部132は更に、ファイルコピー制御部134およびアクセスリスト制御部135を含む。ファイルコピー制御部134は、本開示の特徴である第1の不揮発性メモリ15、第2の不揮発性メモリ25間のファイルコピー処理を実施する制御部であり、従来の無線アクセス装置には存在しない。第1の不揮発性メモリコントローラ14も、後述するファイルシステム転送リストであるFS転送リスト121の制御を行う機能を有しており、従来には存在しない。
また、アクセスリスト制御部135は、後述するアクセスリスト122を第2の無線アクセス装置2から取得し、リモートメモリである第2の不揮発性メモリ25内のアクセス可能な記憶領域を特定する制御を行い、従来には存在しない。
なお、本実施の形態において、アクセスリスト制御部135はファイルシステム制御部132に含まれる構成として説明するが、本開示の趣旨を逸脱しない範囲で別の構成も可能であり、アクセスリスト制御部135がアプリケーション制御部131やメモリアクセス制御部133に含まれる構成でもよく、あるいはROM13内の独立したプログラムとして構成することも可能である。
一方、図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からアクセス可能とする装置として説明する。すなわち、第2の無線アクセス装置2の自装置内に存在する第2の不揮発性メモリ25中の記憶領域のうち第1の無線アクセス装置1からアクセス可能な記憶領域を、第1の無線アクセス装置1へアクセスリスト122を用いて通知し、第2の不揮発性メモリ25をリモートメモリとして第1の無線アクセス装置1からアクセス可能とする装置として動作する。第2の無線アクセス装置2のCPU21は、アクセスリスト122を第1の無線アクセス装置1へ送信した後、第1の無線アクセス装置1から第2の不揮発性メモリ25へのアクセスは第2の不揮発性メモリコントローラ24が実施し、第2の無線アクセス装置2内のCPU21は介在しない。
続いて、本実施の形態における第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の不揮発性メモリ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コマンド、その他の制御コマンド等を発行し、アクセスする制御部である。シーケンサ241は、アクセス判定部247を含んでいる。RAM243はアクセスリスト122を保持している。アクセス判定部247は、RAM243に保持したアクセスリスト122を参照して、第1の無線アクセス装置1の第2の不揮発性メモリ25へのアクセスが受付可能かどうかの判定を行う。
このような構成により、本実施の形態では、第1の無線アクセス装置1内のファイルシステム制御部132が、自装置内の第1の不揮発性メモリ15をローカルメモリとして、第2の無線アクセス装置2内の第2の不揮発性メモリ25をリモートメモリとして管理し、第1の無線アクセス装置1内のアクセスリスト制御部135が第2の無線アクセス装置2内のアクセスリスト制御部235からアクセスリスト122を受信した後、ファイルコピー制御部134、および、第1の不揮発性メモリコントローラ14の協調動作により、高速ファイルコピーを実現する。
以下、本実施の形態の高速ファイルコピーの詳細について説明する。
本実施の形態の高速ファイルコピー処理において、ファイルコピー制御部134が生成するFS転送リスト121に基づき第1の不揮発性メモリコントローラ14が実際のデータコピー処理を実施する。FS転送リスト121の詳細は後述するが、このFS転送リスト121はファイルシステム管理情報に含まれる領域管理情報およびアクセスリスト122を基に生成されるため、FS転送リスト121、アクセスリスト122ともにファイルシステム管理情報との関連がある。そのため、ここではファイルシステムの一例として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の管理をしており、第2の無線アクセス装置2は第2の不揮発性メモリ25上に構築された第1のFAT305、第2のFAT306を基にアクセスリスト122を生成し、第1の無線アクセス装置1は第1の不揮発性メモリ15上に構築された第1のFAT305、第2のFAT306とアクセスリスト122を基にFS転送リスト121を生成してファイルコピー処理を行う。
続いて、本実施の形態におけるファイルコピー処理手順の概要について説明する。図7は、ファイルコピー処理手順のフローを示す図である。本実施の形態におけるファイルコピー処理では、CPU11上で動作するアクセスリスト制御部135がCPU21上で動作するアクセスリスト制御部235からアクセスリスト122を取得した後、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上で動作するアクセスリスト制御部135が、第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235からアクセスリスト122を取得する。これにより第2の不揮発性メモリ25上の転送先ファイルのデータ格納に使用する空きクラスタの論理アドレス、あるいは、第2の不揮発性メモリ25上に存在する転送元ファイルデータが格納されている論理アドレスを特定する。すなわちCPU11は第2の不揮発性メモリ25のファイルシステム管理情報を読み出すのではなく、ファイルコピー処理に必要な第2の不揮発性メモリ25上の記憶領域の情報のみを取得する。
(Step3)CPU11上で動作するファイルコピー制御部134が、Step1で読み出した第1の不揮発性メモリ15のファイルシステム管理情報と、Step2で取得したアクセスリスト122を基に、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が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか否かを確認する。ファイルシステム管理情報の読み出しが完了していない場合(N)は、S801の処理に戻り、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合(Y)は、Step1の処理を終了する。例えば、FATファイルシステムの場合、ファイルにアクセスするためには、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、第1のFAT305、第2のFAT306の、ルートディレクトリエントリ307の領域を順に読み出し、更に必要に応じて、サブディレクトリのディレクトリエントリ308を読み出す。これらを読み出すためにファイルシステム管理情報に対して、S801からS807までの処理を繰り返し実施する。
続いて、図9を用いてStep2の処理手順の詳細について説明する。Step2の処理では、CPU11上で動作するアクセスリスト制御部135が、第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235からアクセスリストを取得する。Step2の処理は、第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理である。
(S901)CPU11上で動作するアクセスリスト制御部135が、ファイルコピー処理で必要な第2の不揮発性メモリ25上の記憶領域の情報を取得するために、第2の無線アクセス装置2へ送信するアクセスリスト要求を生成する。図20は、第2の不揮発性メモリ25からの読み出し時のアクセスリスト要求の一例を示す図、図21は、第2の不揮発性メモリ25への書き込み時のアクセスリスト要求の一例を示す図である。アクセスリスト要求は、データコピーの方向を示す転送方向、転送するファイルのファイル名とサイズが含まれたリストである。図20は第2の不揮発性メモリ25内のファイルを第1の不揮発性メモリ15へコピーする場合のアクセスリスト要求の一例である。転送方向“R to L”が第2の不揮発性メモリ25から第1の不揮発性メモリ15へのコピーを意味する。ファイル名とファイルサイズを示すクラスタ数は、コピーするファイルを特定するための情報を意味する。クラスタ数は、ファイルシステムの論理的な領域管理単位である32KB等のクラスタの数である。第2の不揮発性メモリ25から第1の不揮発性メモリ15へのコピーの時にあらかじめコピーするファイルが特定できない場合は、図20に示すようにファイル名とクラスタ数を任意(don‘t care)とする。図21は第1の不揮発性メモリ15内のファイルを第2の不揮発性メモリ25へコピーする場合のアクセスリスト要求の一例である。転送方向は“L to R”が第1の不揮発性メモリ15から第2の不揮発性メモリ25へのコピーを意味する。ファイル名はコピーするファイルを特定するための情報を意味し、第1の不揮発性メモリ15から第2の不揮発性メモリ25へのコピーの場合はコピーするファイルのファイル名とクラスタ数を示し、図21の例では、コピーするファイルのファイル名とクラスタ数は順に“FNAME1”は“3”、“FNAME2”は“1”、“FNAME3”は“5”、“FNAME4”は“1”である。
なお、ファイル名はコピーするファイルを特定できればよく、識別子やID番号等、第1の無線アクセス装置1と第2の無線アクセス装置2との間で共通に認識可能な任意の情報であればよい。
なお、ファイルサイズはクラスタ単位で管理する例を示したが、コピーするファイルのサイズを特定できればよく、第1の不揮発性メモリ15および第2の不揮発性メモリ25の最小アクセス単位である512B等のセクタ単位で管理する等、クラスタ以外の単位で管理してもよい。
(S902)CPU11上で動作するアクセスリスト制御部135が、S901の処理で生成したアクセスリスト要求の送信指示を第1の不揮発性メモリコントローラ14に発行する。
(S903)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S902の処理において発行されたアクセスリスト要求の送信指示を第2の無線アクセス装置2へ送信するための無線パケットを生成し、第1の無線回路16を介して第2の無線アクセス装置2へ送信する。
(S904)第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235が、第1の無線アクセス装置1から受信したアクセスリスト要求と第2の不揮発性メモリ25のファイルシステム管理情報を読み出し、第2の不揮発性メモリ25のファイルシステム管理情報からアクセスリストを生成する。
まず第2の不揮発性メモリ25のファイルシステム管理情報を読み出す。第2の不揮発性メモリ25のファイルシステム管理情報はあらかじめ読み出してRAM22に記憶させておいてもよいし、第1の無線アクセス装置1からのアクセスリスト要求を受けてから読み出してもよい。
CPU21上で動作するファイルコピー制御部234が、第1のFAT305、第2のFAT306やディレクトリエントリ308等のファイルシステム管理情報から、第2の不揮発性メモリ25上の論理アドレスを特定する。具体的には、まず始めにマスターブートレコード・パーティションテーブル303の格納されている論理アドレス空間の先頭の領域をアクセス領域として特定する。
次に、CPU21上で動作するファイルコピー制御部234が、特定した論理アドレスに対するRead指示を第2の不揮発性メモリコントローラ24に発行する。
第2の不揮発性メモリコントローラ24内部のシーケンサ241が、発行されたRead指示を受信し、指定された論理アドレスに対する読み出しを実施するためのコマンドパケットを生成する。第2の不揮発性メモリ25として使用される記録媒体には、SDメモリカードやSATA接続方式で接続されたハードディスク等が存在するが、これら各々の記録媒体にはアクセスのためのプロトコルが規定されている。ここでは、第2の不揮発性メモリ25にアクセスするための各種プロトコルに従い、読み出し処理を実施するために必要なコマンドパケットを生成する。第2の不揮発性メモリコントローラ24内部のシーケンサ241が、生成したコマンドパケットを第2のメモリコントローラ245に入力する。第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2の不揮発性メモリ25からデータを読み出す。読み出したデータは、第2のメモリ用データバッファ246に格納される。第2の不揮発性メモリコントローラ24内部のシーケンサ241が、Read処理が完了した旨をCPU21上で動作するファイルコピー制御部234に通知する。
CPU21上で動作するファイルコピー制御部234が、第2のメモリ用データバッファ246から第2の無線アクセス装置2内のRAM22に読み出したデータを転送する。この処理により、1回のファイルシステム管理情報の読み出し処理が完了する。
CPU21上で動作するファイルコピー制御部234が、ファイルにアクセスするための全てのファイルシステム管理情報の読み出しが完了したか否かを確認する。ファイルシステム管理情報の読み出しが完了していない場合は、ファイルシステム管理情報の読み出し処理を継続する。ファイルシステム管理情報の読み出しが完了した場合は、処理を終了する。例えば、FATファイルシステムの場合、ファイルにアクセスするためには、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、第1のFAT305、第2のFAT306の、ルートディレクトリエントリ307の領域を順に読み出し、更に必要に応じて、サブディレクトリのディレクトリエントリ308を読み出す。これらを読み出すためにファイルシステム管理情報に対して、処理を繰り返し実施する。
図22は、第2の不揮発性メモリ25からの読み出し時のアクセスリストの一例を示す図であり、図23は、第2の不揮発性メモリ25への書き込み時のアクセスリストの一例を示す図である。図22のアクセスリストは、図20のアクセスリスト要求に対して生成したアクセスリストであり、図23のアクセスリストは図21のアクセスリスト要求に対して生成したアクセスリストである。
アクセスリストは、コピー先とコピー元を示す転送方向、転送するファイルのファイル名と、転送対象となる第2の不揮発性メモリ25上の論理アドレスおよびサイズが含まれたリストである。
図20のアクセスリスト要求は、第1の無線アクセス装置1が第2の不揮発性メモリ25からコピー可能な第1の不揮発性メモリ15へアクセス可能なファイル名とクラスタ数を要求している。従って、図22のアクセスリストは、第1の無線アクセス装置1からアクセス可能な第2の不揮発性メモリ25上の記憶領域の一覧を示している。転送方向は、第2の不揮発性メモリ25内のファイルを第1の不揮発性メモリ15へコピーする場合を意味する、“R to L”を示している。ファイル名は第2の不揮発性メモリ25から第1の不揮発性メモリ15へコピーされるファイル名を示す。転送元論理アドレスは、コピー元のファイルデータが格納されている領域の論理アドレスを示す。転送クラスタ数は、コピーするデータのサイズをクラスタ数で示す。コピーするファイルが第2の不揮発性メモリ25上の複数の領域に分割して格納されている場合は、転送元論理アドレスと転送クラスタ数を1セットとして複数指定する。図22の例では、ファイル名“FNAME1”が論理アドレス“0x0002”から2クラスタに格納され、ファイル名“FNAME2”が論理アドレス“0x0004”から1クラスタに格納され、ファイル名“FNAME3”が論理アドレス“0x0006”から1クラスタに格納され、ファイル名“FNAME4”が論理アドレス“0x0009”から4クラスタに格納されて、ファイル名“FNAME5”が論理アドレス“0x000D”から1クラスタと論理アドレス“0x0010”から1クラスタの2か所に格納されている。
図21のアクセスリスト要求は、第1の不揮発性メモリ15からコピーするファイルのファイル名とクラスタ数に対して、第2の不揮発性メモリ25のコピー可能な転送先論理アドレスとクラスタ数を要求している。図23のアクセスリストは、第1の無線アクセス装置1からアクセス可能な第2の不揮発性メモリ25上の記憶領域の一覧を示している。転送方向は、第1の不揮発性メモリ15内のファイルを第2の不揮発性メモリ25へコピーする場合を意味する“L to R”を示している。ファイル名は第1の不揮発性メモリ15から第2の不揮発性メモリ25へコピーされるファイル名を示す。転送先論理アドレスは、コピー先のファイルデータを格納する領域の論理アドレスを示す。転送クラスタ数は、コピーするデータのサイズをクラスタ数で示す。コピーするファイルを第2の不揮発性メモリ25上の複数の領域に分割して格納する場合は、転送先論理アドレスと転送クラスタ数を1セットとして複数指定する。
図23の例では、ファイル名“FNAME1”を論理アドレス“0x0003”から2クラスタと論理アドレス“0x0008”から1クラスタに分割して格納し、ファイル名“FNAME2”を論理アドレス“0x000A”から1クラスタに格納し、ファイル名“FNAME3”を論理アドレス“0x000F”から4クラスタと論理アドレス“0x0015”から1クラスタに分割して格納し、ファイル名“FNAME4”を論理アドレス“0x0016”から1クラスタに格納する。
なお本実施の形態では、アクセスリストに含まれる転送方向、ファイル名、転送クラスタ数の形式はアクセスリスト要求に示される転送方向、ファイル名、転送クラスタ数と同じとしているが、ファイルコピー処理に必要な情報を第1の無線アクセス装置1と第2の無線アクセス装置2で共有できればよく、アクセスリスト要求とアクセスリストで異なる形式を用いてもよい。
(S905)第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235が、S904の処理において生成したアクセスリストを第2の不揮発性メモリコントローラ24のRAM243に保持する。
(S906)第2の不揮発性メモリコントローラ24が、S904の処理において生成したアクセスリストを第1の無線アクセス装置1へ送信するための無線パケットを生成し、第2の無線回路26を介して第1の無線アクセス装置1へ送信する。
(S907)S906の処理により第2の無線アクセス装置2から送信されてきたアクセスリストを含む無線パケットを第1の無線回路16が受信し、受信した無線パケットを第1の無線用データバッファ161に格納する。
(S908)CPU11上で動作するアクセスリスト制御部135が、第1の無線用データバッファ161から第1の無線アクセス装置1内のRAM12にアクセスリストを含む無線パケットデータを転送する。この処理により、1回のアクセスリスト取得の処理が完了する。
(S909)CPU11上で動作するアクセスリスト制御部135が、ファイルにアクセスするために必要となる全てのアクセスリストの取得が完了したか確認する。アクセスリストの取得が完了していない場合(N)は、S901の処理に戻り、アクセスリストの取得処理を継続する。アクセスリストの取得が完了した場合(Y)は、Step2の処理を終了する。
続いて、図10を用いてStep3からStep5の処理手順の詳細について説明する。Step3からStep5の処理では、CPU11上で動作するファイルコピー制御部134が、Step1で読み出した第1の不揮発性メモリ15のファイルシステム管理情報と、Step2で取得したアクセスリスト122を基にFS転送リスト121を生成し、第1の不揮発性メモリコントローラ14に入力することにより、第1の不揮発性メモリコントローラ14が実際のデータコピー処理を実施する。図10で説明する処理は、Step5の詳細処理内容を除き、第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピー、第2の不揮発性メモリ25から第1の不揮発性メモリ15へのファイルコピーのいずれの場合にも共通な処理となる。
(S1001)CPU11上で動作するファイルコピー制御部134が、Step1で読み出した第1の不揮発性メモリ15のファイルシステム管理情報と、Step2で取得したアクセスリスト122を基に、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、図21、図23を用いて、FS転送リスト121の生成手順について説明する。図11は転送元、すなわち第1の不揮発性メモリ15上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306の一例であり、図12は転送先、すなわち第2の不揮発性メモリ25上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306)の一例である。図23は図12の第2の不揮発性メモリ25上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306から、アクセスリスト要求に対して生成されたアクセスリスト122である。また、転送するファイルは、論理クラスタ番号“0x0002”の論理アドレス領域から始まり、“0x0010”の論理アドレス領域で終了する一連のリンク上にデータが格納されているとする。具体的には、ファイル名“FNAME1”、論理クラスタ番号“0x0002”から“0x0004”までの3クラスタ分、次にファイル名“FNAME2”、論理クラスタ番号“0x0006”の1クラスタ、ファイル名“FNAME3”、論理クラスタ番号“0x0009”から“0x000D”までの5クラスタ、ファイル名“FNAME4”、論理クラスタ番号“0x0010”の1クラスタをコピーする。
まず始めに転送元の第1のFAT305、第2のFAT306上のコピー開始位置から始まる一つの連続する領域の連続領域長を算出する。図11の場合、論理クラスタ番号“0x0002”から“0x0004”のクラスタ数“3クラスタ”が一つの連続領域長となる。続いて、論理クラスタ番号“0x0006”のクラスタ数“1クラスタ”、さらに論理クラスタ番号“0x0009”から“0x000D”のクラスタ数“5クラスタ”、論理クラスタ番号“0x0010”のクラスタ数“1クラスタ”となる。アクセスリスト要求は、第1の不揮発性メモリ15からコピーするファイルのファイル名とクラスタ数に対して、第2の不揮発性メモリ25のコピー可能な転送先論理アドレスとクラスタ数を要求する。具体的には、アクセスリスト要求は、転送方向“L to R”でファイル名“FNAME1”、クラスタ数“3”となる。
図12の転送先の第1のFAT305、第2のFAT306において、論理クラスタ番号“0x0003”、“0x0004”のクラスタ数“2クラスタ”が一つの連続する空き領域の連続空き領域長となる。続いて、論理クラスタ番号“0x0008”のクラスタ数“1”、論理クラスタ番号“0x000A”、クラスタ数“1”、論理クラスタ番号“0x000F”から“0x0012”のクラスタ数“4”、論理クラスタ番号“0x0015”から“0x001A”とのクラスタ数“5“となる。
図23のアクセスリスト122は、転送方向“L to R”で、ファイル名“FNAME1”を論理アドレス“0x0003”から2クラスタと論理アドレス“0x0008”から1クラスタに分割して格納するように生成される。
図11の第1の不揮発性メモリ15上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306と図23のアクセスリスト122からFS転送リスト121を生成する。図11において、第1のFAT305、第2のFAT306の一番初めが論理クラスタ番号“0x0002”から“0x0004”のクラスタ数“3クラスタ”である。図23において、アクセスリスト122の一番初めは、論理アドレス“0x0003”から2クラスタである。これらの連続領域長と連続空き領域長におけるクラスタ数を比較し、小さいほうの値を一回の転送クラスタ数と決定する。より小さな数値である“2クラスタ”が一回の転送クラスタ数となる。
FS転送リスト121のリスト番号1は、転送方向“L to R”、転送元論理アドレス“0x0002”、転送先論理アドレス“0x0003”、転送クラスタ数“2”となる。リスト番号2は、残りの1クラスタ分として、転送方向“L to R”、転送元論理アドレス“0x0004”、転送先論理アドレス“0x0008”、転送クラスタ数“1”となる。以降同様にしてFS転送リスト121を生成する。すなわち、リスト番号3、転送方向“L to R”、転送元論理アドレス“0x0006”、転送先論理アドレス“0x000A”、転送クラスタ数“1”、リスト番号4、転送方向“L to R”、転送元論理アドレス“0x0009”、転送先論理アドレス“0x000F”、転送クラスタ数“4”、リスト番号5、転送方向“L to R”、転送元論理アドレス“0x000D”、転送先論理アドレス“0x0015”、転送クラスタ数“1”、リスト番号6、転送方向“L to R”、転送元論理アドレス“0x0010”、転送先論理アドレス“0x0016”、転送クラスタ数“1”となる。
(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において従来のファイルシステム管理情報の更新処理と同様のため、本実施の形態では詳細説明を割愛する。これらファイルシステム管理情報の更新処理は、転送先が第1の不揮発性メモリ15の場合はCPU11上で動作するファイルコピー制御部134が図10で説明したファイルコピー処理の前後のいずれかのタイミングで実施すればよい。また、転送先が第2の不揮発性メモリ25の場合はCPU21上で動作するファイルコピー制御部234が図9で説明したアクセスリスト送信時に予め実施するか、又は図10で説明したファイルコピー処理の後で実施すればよい。
続いて、図14を用いてStep5のFS転送リスト121を用いたコピー処理における、第1の不揮発性メモリ15から第2の不揮発性メモリ25にファイルをコピーする場合の詳細処理手順について説明する。
(S1401)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、FS転送リスト121の先頭から行単位で参照し、転送方向を確認する。図13のFS転送リスト121の例では、1行目の転送方向が“L to R”となっており、シーケンサ141は第1の不揮発性メモリ15から第2の不揮発性メモリ25へのコピーであることを認識する。
(S1402)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1401で確認した転送方向が第1の不揮発性メモリ15から第2の不揮発性メモリ25へのコピーであったため、第1の不揮発性メモリ15からのデータ読み出しを行う。そのため、FS転送リスト121上の転送元論理アドレスを確認し、第1の不揮発性メモリ15を対象として該当論理アドレスに対する読み出しを実施するため、必要なコマンドパケットを生成する。
(S1403)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1402の処理において生成したコマンドパケットを第1のメモリコントローラ145に入力する。
(S1404)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1の不揮発性メモリ15からデータを読み出す。読み出したReadデータは、第1のメモリ用データバッファ146に格納する。
(S1405)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1401で確認した転送方向が第1の不揮発性メモリ15から第2の不揮発性メモリ25へのコピーであったため、第2の不揮発性メモリ25へのデータ書き込みを行う。そのため、FS転送リスト121上の転送先論理アドレスを確認し、第2の不揮発性メモリ25を対象として該当論理アドレスに対する書き込みを実施するためのコマンドパケットを生成する。
(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上の無線パケット内のペイロード部分に格納されたReadデータを、第2のメモリ用データバッファ246にDMA転送する。
(S1410)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S1408の処理により第1の無線アクセス装置1から送信されてきた無線パケット内のペイロード部分に格納されたコマンドパケット(Writeコマンド)を取り出し、Writeコマンドに含まれる論理アドレス、転送サイズとRAM243に保持するアクセスリスト122を比較し、該論理アドレスおよび転送サイズがアクセスリスト122に示されるファイルコピー対象の領域に含まれかどうかを判定する。含まれる場合(Y)は、該Writeコマンドを受付け処理可能と判定し、S1411の処理に進む。含まれない場合(N)は該Writeコマンドを受付け不可と判定し、CPU21へ通知し第1の無線アクセス装置1へエラーを通知して処理を終了する。
(S1411)S1410の処理によって受信したWriteコマンドを受付け処理可能であると判定すると、第2の不揮発性メモリコントローラ24内部のシーケンサ241が、Writeコマンドを第2のメモリコントローラ245に入力する。
(S1412)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2のメモリ用データバッファ246に格納されたデータを第2の不揮発性メモリ25に書き込む。更に、書き込みが完了した後、Write完了通知を含む無線パケットを生成し、第2の無線回路26を介して第1の無線アクセス装置1に送信する。
(S1413)S1412の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信し、第1の不揮発性メモリコントローラ14内部のシーケンサ141がWrite完了を認識すると、FS転送リスト121内に未処理のリストが存在するか確認する。FS転送リスト121の終端まで来ておらず未処理のリストが存在する場合(N)、S1401の処理に戻り、残りのリストに対する処理を継続する。FS転送リスト121の終端で未処理のリストが存在しない場合(Y)、S1414の処理に進む。
(S1414)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、CPU11上で動作するファイルコピー制御部134にコピー処理完了を通知し、処理を終了する。この後CPU11上で動作するファイルコピー制御部134が第2の無線アクセス装置に対してファイルコピーの完了を通知するようにしてもよい。
続いて、図15を用いてStep5のFS転送リスト121を用いたコピー処理における、第2の不揮発性メモリ25から第1の不揮発性メモリ15にファイルをコピーする場合の詳細処理手順について説明する。
(S1501)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、FS転送リスト121の先頭から行単位で参照し、転送方向を確認する。ここでは転送方向として“R to L”が格納されており、第2の不揮発性メモリ25から第1の不揮発性メモリ15にファイルをコピーする場合を想定する。
(S1502)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1501で確認した転送方向が第2の不揮発性メモリ25から第1の不揮発性メモリ15へのコピーであったため、第2の不揮発性メモリ25からのデータ読み出しを行う。そのため、FS転送リスト121上の転送元論理アドレスを確認し、第2の不揮発性メモリ25を対象として該当論理アドレスに対する読み出しを実施するコマンドパケットを生成する。
(S1503)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1502の処理において生成したコマンドパケットをペイロードに含んだ無線パケットを生成し、第1の無線回路16を介して、第2の無線アクセス装置2に送信する。
(S1504)S1503の処理により第1の無線アクセス装置1から送信された無線パケットを第2の無線回路26が受信すると、受信した無線パケットを第2の無線用データバッファ261に格納する。その後、第2の不揮発性メモリコントローラ24内部のシーケンサ241が、無線パケット内のペイロード部分に格納された読み出しを実施するコマンドパケット(Readコマンド)を取り出し、Readコマンドに含まれる論理アドレス、転送サイズとRAM243に保持するアクセスリスト122を比較し、該論理アドレスおよび転送サイズがアクセスリスト122に示されるファイルコピー対象の領域に含まれることを確認する。含まれる場合(Y)は、該Readコマンドを受付け処理可能と判定し、S1505の処理へ進む。含まれない場合(N)は、該Readコマンドを受付け不可と判定し、CPU21へ通知し第1の無線アクセス装置1へエラーを通知して処理を終了する。
(S1505)S1504の処理によって受信したReadコマンドを受付け処理可能であると判定すると、第2の不揮発性メモリコントローラ24内部のシーケンサ241が、Readコマンドを第2のメモリコントローラ245に入力する。
(S1506)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドパケットを第2の不揮発性メモリ25に送信し、第2の不揮発性メモリ25から第2のメモリ用データバッファ246にデータを読み出す。
(S1507)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S1506の処理で読み出したデータを第2のメモリ用データバッファ上で無線パケット化する。
(S1508)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、第2のメモリ用データバッファ246上の無線パケットを、第2の無線用データバッファ261にDMA転送する。
(S1509)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、第2の無線回路26を介して第2の無線用データバッファ261上の無線パケットを、第1の無線アクセス装置1に送信する。
(S1510)S1509の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信すると、受信した無線パケットを第1の無線用データバッファ161に格納する。その後、第1の不揮発性メモリコントローラ14内部のシーケンサ141が、無線パケット内のペイロード部分に格納されたReadデータを取り出し、DMAコントローラ142を制御し、第1のメモリ用データバッファ146にDMA転送する。
(S1511)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1501で確認した転送方向が第2の不揮発性メモリ25から第1の不揮発性メモリ15へのコピーであったため、第1の不揮発性メモリ15へのデータ書き込みを行う。そのため、FS転送リスト121上の転送先論理アドレスを確認し、第1の不揮発性メモリ15を対象として該当論理アドレスに対する書き込みを実施するコマンドパケットを生成する。
(S1512)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1511の処理で生成したコマンドパケット(Writeコマンド)を、第1のメモリコントローラ145に入力する。
(S1513)第1の不揮発性メモリコントローラ14内部の第1のメモリコントローラ145が、入力されたコマンドパケットを第1の不揮発性メモリ15に送信し、第1のメモリ用データバッファ146に格納されたReadデータを第1の不揮発性メモリ15に書き込む。
(S1514)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、S1512の書き込み処理が完了した後、FS転送リスト121内に未処理のリストが存在するか確認する。FS転送リスト121の終端まで来ておらず未処理のリストが存在する場合(N)、S1501の処理に戻り、残りのリストに対する処理を継続する。FS転送リスト121の終端で未処理のリストが存在しない場合(Y)、S1515の処理に進む。
(S1515)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、CPU11上で動作するファイルコピー制御部134にコピー処理完了を通知し、処理を終了する。
このように、本開示の実施の形態におけるFS転送リスト121を用いたファイルコピー処理では、第1の不揮発性メモリコントローラ14がFS転送リスト121の内容に従い自律的に第1の不揮発性メモリ15から第2の不揮発性メモリ25へのコピー処理を実施する。
以上のように、本実施の形態の無線アクセス装置では、第1の不揮発性メモリ15、第2の不揮発性メモリ25間のファイルコピーを実施する際、第1の無線アクセス装置1内のCPU11上で動作するファイルコピー制御部134がFS転送リスト121を生成、第1の不揮発性メモリコントローラ14に入力し、以降の実際のコピー処理を第1の不揮発性メモリコントローラ14が入力されたFS転送リスト121に基づき実施する。これにより実際のコピー処理にはCPU11、第1の内部バス17が関与せず、これらの能力にコピー処理速度が依存することがなく、高速にファイルコピーを実施することが可能となる。
さらに、本実施の形態の無線アクセス装置では、ファイルコピー処理の対象となる第2の不揮発性メモリ25上の転送元或いは転送先領域は第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235がアクセスリスト122を用いて第1の無線アクセス装置1へ指示する。それとともに、第2の不揮発性メモリコントローラは第1の無線アクセス装置1から受信したWrite或いはReadコマンドに含まれる論理アドレス、転送サイズが該アクセスリストに示される領域に含まれる場合にコマンドを受付け処理可能と判断する。これによりファイルコピー処理においてもCPU21が介在することなく、第1の無線アクセス装置1から第2の不揮発性メモリ25へのアクセス可否の制御を容易に実現することができる。また、第2の無線アクセス装置2がファイルコピーで使用する第2の不揮発性メモリ25の記憶領域の範囲を制限し、データの不正な書き込みや読み出しを防ぐことができる。
(実施の形態2)
図24は本実施の形態2における、無線アクセス装置内の不揮発性メモリコントローラが行うコマンド分割制御処理手順の詳細を示したフローチャートである。
図24は本実施の形態2における、無線アクセス装置内の不揮発性メモリコントローラが行うコマンド分割制御処理手順の詳細を示したフローチャートである。
実施の形態1で説明したファイルコピー処理において、第1の無線アクセス装置1が指示するWriteコマンド或いはReadコマンドに含まれる転送サイズが大きい(例えば数百MBや数GB)と、ファイルコピー処理を行っている間は第2の無線アクセス装置内のCPU21上で動作するプログラムは第2の不揮発性メモリ25にアクセスできなくなる。そこで本実施の形態における、第2の無線アクセス装置2内の第2の不揮発性メモリコントローラ24は第1の無線アクセス装置1から受信したWriteコマンド或いはReadコマンドを所定のサイズに分割して実行する。以下、図24を用いてReadコマンドを受信した場合の詳細を説明する。Writeコマンドを受信した場合でもデータの転送方向が異なるだけでコマンドの分割処理手順は同じであるため説明は省略する。
(S2401)第2の不揮発性メモリコントローラ24内部のシーケンサ241は、第1の無線アクセス装置1から受信したReadコマンドに含まれる論理アドレス、転送サイズがアクセスリスト122に示される領域に含まれることを確認する。含まれる場合(Y)は、S2402の処理に進み、含まれない場合(N)は、受信したReadコマンドを受け付け不可と判定し、CPU21へ通知し第1の無線アクセス装置1へエラーを通知して処理を終了する。これは図15のS1504と同じ処理である。
(S2402)S2401の処理により受信したReadコマンドを受付け処理可能と判定すると、第2の不揮発性メモリコントローラ24内部のシーケンサ241は、転送サイズが所定の転送長を超えるかどうかを判定し、超える場合(Y)は、S2403の処理を行う。ここで所定の転送長は第2の無線アクセス装置2の機能や仕様で決まるサイズであり、4KBや1MB、16MB等の固定値でもよく、CPU21上で動作するファイルコピー制御部が第2の不揮発性メモリコントローラ24内のRAM243等に設定するようにしてもよい。
(S2403)S2402の処理によりReadコマンドに含まれる転送サイズが所定の転送長を超えると判定した場合、第2の不揮発性メモリコントローラ24内部のシーケンサ241は、転送サイズを所定の転送長に分割して処理するよう設定する。例えばReadコマンドに含まれる転送サイズが1MBであり、所定の転送長が256KBである場合には、第2の不揮発性メモリコントローラ24内部のシーケンサ241は転送サイズ256KBのReadコマンドを4回、第2の不揮発性メモリ25に対して発行する設定を行う。
(S2404)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、Readコマンドを第2のメモリコントローラ245に入力する。S2403の処理によって第1の無線アクセス装置1から受信したReadコマンドを所定の転送長のReadコマンドに分割した場合には、分割したコマンドを入力する。
(S2405)第2の不揮発性メモリコントローラ24内部の第2のメモリコントローラ245が、入力されたコマンドを第2の不揮発性メモリ25に送信し、第2の不揮発性メモリ25から第2のメモリ用データバッファ246にデータを読み出す。
(S2406)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、S2405の処理で読み出したReadデータを第2のメモリ用データバッファ上で無線パケット化する。
(S2407)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、DMAコントローラ242を制御し、第2のメモリ用データバッファ246上の無線パケットを、第2の無線用データバッファ261にDMA転送する。
(S2408)第2の不揮発性メモリコントローラ24内部のシーケンサ241が、第2の無線回路26を介して第2の無線用データバッファ261上の無線パケットを、第1の無線アクセス装置1に送信する。
(S2409)第2の不揮発性メモリコントローラ24内部のシーケンサ241は、第2のメモリコントローラ245に入力したコマンドの処理が完了すると、所定の転送長に分割したコマンドをすべて処理したかを確認する。すべての処理が完了(Y)していれば、第1の無線アクセス装置1から受信したReadコマンドの処理を完了したと判定し処理を終了する。
(S2410)S2409の処理により、処理が完了していない所定の転送長に分割したコマンドがあると判定した場合(N)、第2の不揮発性メモリコントローラ24内部のシーケンサ241は、第2の無線アクセス装置2内のCPU21上で動作するプログラムから第2の不揮発性メモリ25へアクセスするコマンドの受信があるかを確認する。コマンド受信がない場合(N)、S2404に戻り、処理が完了していない所定の転送長に分割したコマンドの処理を行う。
(S2411)S2410の処理により、第2の無線アクセス装置2内のCPU21上で動作するプログラムから第2の不揮発性メモリ25へアクセスするコマンドを受信していると判定した場合(Y)、第2の不揮発性メモリコントローラ24内部のシーケンサ241はCPU21から受信したコマンドを第2のメモリコントローラ245へ入力し、第2の不揮発性メモリ25へのRead或いはWrite処理を行った後、S2404に戻り、処理が完了していない所定の転送長に分割したコマンドの処理を行う。
以上のように、本実施の形態の無線アクセス装置では、ファイルコピー処理において、第1の無線アクセス装置1が指示するWriteコマンド或いはReadコマンドに含まれる転送サイズが大きい場合でも、第2の無線アクセス装置内の第2の不揮発性メモリコントローラが所定の転送長にコマンドを分割して実行し、分割した各コマンド実行後は第2の無線アクセス装置2内のCPU21上で動作するプログラムから第2の不揮発性メモリ25へアクセスするコマンドを優先して実行するため、ファイルコピー処理を行っている間でも第2の無線アクセス装置内のCPU21上で動作するプログラムが第2の不揮発性メモリ25にアクセスでき、第2の無線アクセス装置2の利便性を向上することができる。
(実施の形態3)
図25は実施の形態3における、無線アクセス装置のファイル読み出し処理手順を説明するフローチャートである。
図25は実施の形態3における、無線アクセス装置のファイル読み出し処理手順を説明するフローチャートである。
本実施の形態における第1の無線アクセス装置1は、実施の形態1の図22で説明したアクセスリスト122を用いて、第2の不揮発性メモリ25に対してファイルを読み出す。このような処理は例えば、第2の不揮発性メモリ25に格納された動画ファイルを読み出して、第1の無線アクセス装置1でデコードし再生するような場合が考えられる。このようなファイル読み出し処理手順を、図25を用いて説明する。なお第1の無線アクセス装置1が第2の不揮発性メモリ25へファイルを書き込む場合の処理手順はデータの転送を除いて読み出し処理と同じ手順となるため、説明は省略する。
(S2501)第1の無線アクセス装置1内のCPU11上で動作するプログラムは、アクセスリスト122を参照して読み出し対象ファイルの論理アドレスを特定する。
(S2502)S2501の処理により特定した論理アドレスを基に、第1の無線アクセス装置1内のCPU11上で動作するプログラムは、第1の不揮発性メモリコントローラ14に当該論理アドレスからの読み出しを指示する。
(S2503)第1の無線アクセス装置1内の第1の不揮発性メモリコントローラ14は、読み出し指示に従って第2の不揮発性メモリ25へのReadコマンドを生成する。
(S2504)第1の無線アクセス装置1内の第1の不揮発性メモリコントローラ14は、S2503で生成したReadコマンドを無線パケット化し、第2の無線アクセス装置2へ送信する。
(S2505)第2の無線アクセス装置2は、S2504の処理により第1の無線アクセス装置1が送信したReadコマンドを受信すると、第2の不揮発性メモリ25からファイルデータを読み出して無線パケット化し、第1の無線アクセス装置1へ送信する。ここでの処理は図15のS1504~S1509と同じ処理であるため詳細な説明は省略する。
(S2506)S2505の処理により第2の無線アクセス装置2から送信されてきた無線パケットを第1の無線回路16が受信すると、受信した無線パケットを第1の無線用データバッファ161に格納する。
(S2507)第1の不揮発性メモリコントローラ14内部のシーケンサ141が、CPU11にRead処理完了を通知する。
(S2508)CPU11上で動作するプログラムが、第1の無線用データバッファ161から第1の無線アクセス装置1内のRAM12に無線パケットに含まれるファイルデータを転送し、データ処理を行う。
以上説明したように、本実施の形態における第1の無線アクセス装置1は、実施の形態1で説明したアクセスリスト122を用いて、第2の不揮発性メモリ25に対するReadコマンドを生成して第2の無線アクセス装置へ送信し、ファイルを読み出すため、ファイルコピー処理に限定されることなくアクセスリスト122を用いたファイルの読み出しおよび書き込み処理を行うことができ、CPU21が介在することなく第2の不揮発性メモリ25へのアクセス可否の制御を容易に実現することができる。そのため、第1の無線アクセス装置1内のCPU11上で動作するプログラムが第2の不揮発性メモリ25に対してファイルの読み出しや書き込みを行う場合において、アクセス可能な領域を制御しデータの不正な書き込み或いは読み出しを防止することができる。
(その他の実施の形態)
以上、本開示を上記の実施形態1、2および3に基づいて説明してきたが、上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施変更することができる。本実施の形態で記載された数値は一例であり、他の値を使用しても良い。
以上、本開示を上記の実施形態1、2および3に基づいて説明してきたが、上記の実施形態に限定されない。本開示の趣旨を逸脱しない範囲で実施変更することができる。本実施の形態で記載された数値は一例であり、他の値を使用しても良い。
また、図1の説明においてファイルコピー制御部134およびアクセスリスト制御部135が動作するCPU11と、第1の不揮発性メモリコントローラ14が、同一の第1の無線アクセス装置1内に含まれ、ファイルコピー制御部234およびアクセスリスト制御部235が動作するCPU21と、第2の不揮発性メモリコントローラ24が、同一の第2の無線アクセス装置2内に含まれる構成について説明したが、その他の構成としても良い。例えば、第1の無線アクセス装置1を図16に示すように第1のアクセス装置3と、第1の無線情報記録装置4の2つに分離して構成し、第2の無線アクセス装置2を図17に示すように第2のアクセス装置5と第2の無線情報記録装置6に分離して無線アクセスシステムとしてもよい。具体的には、第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)やPCIExpress(Peripheral Component Interconnect Express)等の外部バスコントローラであり、これらを介して第1のアクセス装置3と第1の無線情報記録装置4は接続される構成としても良い。第2のアクセス装置5は、CPU21、RAM22、ROM23、外部バスコントローラ29を含み、これらが第1の内部バス27で互いに接続されている。第2の無線情報記録装置6は、第2の不揮発性メモリコントローラ24に接続された第2の不揮発性メモリ25と外部バスコントローラ51、第2の内部バス28で接続された第2の無線回路26を含む。外部バスコントローラ29と外部バスコントローラ51はUSBやPCIExpress等の外部バスコントローラであり、これらを介して第2のアクセス装置5と第2の無線情報記録装置6は接続される構成としても良い。
このような構成とすることで、第1のアクセス装置3および第2のアクセス装置5側はROM13、23に、ファイルコピー制御部134、234およびアクセスリスト制御部135、235に相当するソフトウェアを組み込むことにより、従来のアクセス装置のハードウェア構成そのままを流用して、本開示を適用することが可能となる。
また、図13のFS転送リスト121を一例として説明したが、第1の不揮発性メモリ15、第2の不揮発性メモリ25間でデータのコピーが実施できる十分な情報が含まれていれば、本形式に限定されることはなく、その他の形式としても良い。
例えば、図18に示すようなFS転送リスト123を用いてもよい。図18に示すFS転送リスト123は、1つの転送元ファイルのデータ格納領域と、n(nは2以上の整数)箇所の転送先ファイルのデータ格納領域とを対応付け、1つの転送元ファイルのデータ格納領域のデータがn箇所の転送先ファイルのデータ格納領域にコピーされるように構成したものである。例えば、図18は、転送先ファイルのデータ格納領域の数が2箇所の例であり、リスト番号1に含まれる情報として、“0x0002”から始まる連続した3クラスタ分の転送元の論理アドレス領域を、“0x0003”から始まる連続した2クラスタ分の転送先の論理アドレス領域と、“0x0008”の1クラスタ分の転送先の論理アドレス領域に対応付けている。
また別の一例として図19に示すようなFS転送リスト124を用いてもよい。図19に示すFS転送リスト124は、1つの転送先ファイルのデータ格納領域と、n(nは2以上の整数)箇所の転送元ファイルのデータ格納領域とを対応付け、n箇所の転送元ファイルのデータ格納領域のデータが1つの転送先ファイルのデータ格納領域にコピーされるように構成したものである。例えば、図19は転送元領域の数が2箇所の例であり、リスト番号5に含まれる情報として、“0x0015”から始まる連続した2クラスタ分の転送先の論理アドレス領域を、“0x000D”、“0x0010”の2クラスタ分の転送元の論理アドレス領域に対応付けている。図18、図19のいずれの例でも、1対1の対応付けとなっているリスト番号には、転送先論理アドレス2、あるいは転送元論理アドレス2の領域に“0xFFFF”という無効な論理アドレスが設定されている。
このように、転送先論理アドレスと転送元論理アドレスの対応が、1対n(nは2以上の整数)、あるいはn対1(nは2以上の整数)のFS転送リストを生成することにより、FS転送リストのサイズを削減し、コピー処理を最適化することが可能となる。更に、両者を組み合わせ、1対n、n対1の設定が混在するFS転送リストを生成しても良い。
図28は1対n、n対1の両方を組み合わせたFS転送リスト125の例を示している。FS転送リスト125の説明のために、図11の転送元である第1の不揮発性メモリ15上に構築されたFATファイルシステムに含まれる第1のFAT305、第2のFAT306の一例と、図29の転送先である第2の不揮発性メモリ25上に構築されたFATファイルシステムの第1のFAT305、第2のFAT306の一例を用いる。図28は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以上の整数)の両方を混在させて生成することにより、転送先論理アドレスの連続する空きクラスタ数と転送先論理アドレスの連続する空きクラスタ数の様々な組み合わせに対応でき、コピー処理を最適化することが可能になる。
また、図20、21を用いてアクセスリスト要求の一例について説明したが、第1の無線アクセス装置1が第2の無線アクセス装置2からアクセスリストを取得するのに十分な情報が含まれていれば、本形式に限定されることはなく、その他の形式としてもよい。例えば、同一のアクセスリスト要求に“R to L”、“L to R”の異なる転送方向のアクセスリストの要求を含めるようにしてもよい。
また、図22、23を用いてアクセスリストの一例について説明したが、第1の不揮発性メモリ15、第2の不揮発性メモリ25間でファイルのコピーが実施できる十分な情報が含まれていれば、本形式に限定されることはなく、その他の形式としても良い。
例えば第2の不揮発性メモリ25から第1の不揮発性メモリ15へファイルをコピーする場合、図26に示すように第1の無線アクセス装置1内のCPU11上で動作するアクセスリスト制御部135は、まず第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235からディレクトリやファイルの一覧であるファイルリストを取得した後、コピーするファイル名を指定したアドレス要求を送り、第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235から、アドレス要求で指定したファイルに関する転送元論理アドレスとサイズ情報を含むアクセスリスト122を取得するようにしてもよい。取得したファイルリストにディレクトリ、例えばDIR1が含まれる場合は、第1の無線アクセス装置1内のCPU11上で動作するアクセスリスト制御部135は、第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235からさらにディレクトリDIR1の中に含まれるファイルリストを取得してもよい。
また例えば、第1の不揮発性メモリ15から第2の不揮発性メモリ25へファイルをコピーする場合、図27に示すように第1の無線アクセス装置1内のCPU11上で動作するアクセスリスト制御部135は、第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235へファイルコピーに必要な空き領域をリスト化した空き領域取得要求を送り、第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235から空き領域の開始アドレスと連続空き領域長を含むアクセスリスト122を取得するようにしてもよい。さらに要求サイズを特定の値、例えば0とした場合は、第2の不揮発性メモリ25内のすべての空き領域を取得する、或いは第2の不揮発性メモリ25に構築されたファイルシステム管理情報をすべて取得するようにしてもよい。さらに、第1の不揮発性メモリ15から第2の不揮発性メモリ25へのファイルコピーが完了した後、第1の無線アクセス装置1内のCPU11上で動作するファイルコピー制御部134或いはアクセスリスト制御部135が第2の無線アクセス装置2内のCPU21上で動作するファイルコピー制御部234或いはアクセスリスト制御部235へコピーしたファイル名と開始アドレス、属性情報を含む書き込みファイル情報を送信してもよい。これにより、第2の不揮発性メモリ25のファイルシステム管理情報の更新が可能である。
また、図24を用いて第2の不揮発性メモリコントローラ24が第1の無線アクセス装置1から受信したWriteコマンド或いはReadコマンドを所定の転送長に分割して実行する処理手順を説明した。しかし、第2の無線アクセス装置2内のCPU21上で動作するアクセスリスト制御部235が、この所定の転送長を予めアクセスリスト122に含めて第1の無線アクセス装置1へ通知し、第1の無線アクセス装置1内のCPU11上で動作するファイルコピー制御部134がFS転送リスト121に追記するコピー処理の転送サイズがそれぞれ所定の転送長以下となるようにしてもよい。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。
そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる
PCやタブレット、スマートフォン、ムービー、DSC等のローカルメモリ、リモートメモリにデジタルデータを読み書きするアクセス装置と、無線経由で不揮発性メモリに対するアクセスを受け付け、リモートメモリとしてアクセスされることを許容する、無線機能を備えたメモリカード、リムーバブルハードディスク等の情報記録装置で有用である。
1 第1の無線アクセス装置
2 第2の無線アクセス装置
3 第1のアクセス装置
4 第1の無線情報記録装置
5 第2のアクセス装置
6 第2の無線情報記録装置
11,21 CPU
12,22 RAM
13,23 ROM
14 第1の不揮発性メモリコントローラ
15 第1の不揮発性メモリ
16 第1の無線回路
17,27 第1の内部バス
18,28 第2の内部バス
19,29,41,51 外部バスコントローラ
24 第2の不揮発性メモリコントローラ
25 第2の不揮発性メモリ
26 第2の無線回路
100 無線アクセスシステム
121,123,124,125 FS転送リスト
122 アクセスリスト
131 アプリケーション制御部
132 ファイルシステム制御部
133 メモリアクセス制御部
134,234 ファイルコピー制御部
135,235 アクセスリスト制御部
141,241 シーケンサ
142,242 DMAコントローラ
143,243 RAM
144,244 ROM
145 第1のメモリコントローラ
146 第1のメモリ用データバッファ
161 第1の無線用データバッファ
245 第2のメモリコントローラ
246 第2のメモリ用データバッファ
247 アクセス判定部
261 第2の無線用データバッファ
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード・パーティションテーブル
304 パーティションブートセクタ
305 第1のFAT
306 第2のFAT
307 ルートディレクトリエントリ
308 ディレクトリエントリ
2 第2の無線アクセス装置
3 第1のアクセス装置
4 第1の無線情報記録装置
5 第2のアクセス装置
6 第2の無線情報記録装置
11,21 CPU
12,22 RAM
13,23 ROM
14 第1の不揮発性メモリコントローラ
15 第1の不揮発性メモリ
16 第1の無線回路
17,27 第1の内部バス
18,28 第2の内部バス
19,29,41,51 外部バスコントローラ
24 第2の不揮発性メモリコントローラ
25 第2の不揮発性メモリ
26 第2の無線回路
100 無線アクセスシステム
121,123,124,125 FS転送リスト
122 アクセスリスト
131 アプリケーション制御部
132 ファイルシステム制御部
133 メモリアクセス制御部
134,234 ファイルコピー制御部
135,235 アクセスリスト制御部
141,241 シーケンサ
142,242 DMAコントローラ
143,243 RAM
144,244 ROM
145 第1のメモリコントローラ
146 第1のメモリ用データバッファ
161 第1の無線用データバッファ
245 第2のメモリコントローラ
246 第2のメモリ用データバッファ
247 アクセス判定部
261 第2の無線用データバッファ
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード・パーティションテーブル
304 パーティションブートセクタ
305 第1のFAT
306 第2のFAT
307 ルートディレクトリエントリ
308 ディレクトリエントリ
Claims (15)
- 第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線アクセス装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第2の不揮発性メモリ上に構築されたファイルシステムにおけるコピー対象領域をリスト化したアクセスリストを前記他の無線アクセス装置から取得するアクセスリスト制御部と、
前記第1の不揮発性メモリ上に構築されたファイルシステムから読み出した第1のファイルシステム管理情報と、前記アクセスリストとから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部と、
前記第1の不揮発性メモリを制御する不揮発性メモリコントローラと、を備え、
前記ファイルコピー制御部は、生成した前記FS転送リストを前記不揮発性メモリコントローラに入力し、
前記不揮発性メモリコントローラは、前記FS転送リストに基づき、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でコピーを実施することを特徴とする無線アクセス装置。 - 前記アクセスリストは、前記第1の不揮発性メモリから前記第2の不揮発性メモリへファイルをコピーするために、前記第2の不揮発性メモリのファイルシステムにおける空き領域の論理アドレスおよび空き領域長を1つ以上含むことを特徴とする請求項1記載の無線アクセス装置。
- 前記アクセスリストは、前記第2の不揮発性メモリから前記第1の不揮発性メモリへファイルをコピーするために、前記第2の不揮発性メモリのファイルシステムにおけるコピー対象ファイルを格納した領域の論理アドレスおよび領域長を1つ以上含むことを特徴とする請求項1記載の無線アクセス装置。
- 前記不揮発性メモリコントローラは、
コピーを実施する際、前記第1の不揮発性メモリにアクセスするためのアクセスコマンドを生成して前記第1の不揮発性メモリにアクセスすると共に、前記第2の不揮発性メモリにアクセスするためのアクセスコマンドを生成し、更に前記アクセスコマンドを無線通信パケットに変換して、前記他の無線アクセス装置に無線送信し、前記他の無線アクセス装置内部の第2の不揮発性メモリにアクセスすることを特徴とする請求項1記載の無線アクセス装置。 - 前記ファイルコピー制御部は、
転送元ファイルのデータ格納領域、転送先ファイルのデータ格納領域に関し、前記第1のファイルシステム管理情報と前記アクセスリストとから前記転送元ファイルのデータ格納領域に含まれる一つの連続領域長を算出すると共に、前記転送先ファイルのデータを格納する領域として、一つの連続空き領域長を算出し、前記連続領域長と連続空き領域長を比較し、小さいほうの値をコピー処理単位としてFS転送リストを生成することを特徴とする請求項1記載の無線アクセス装置。 - 前記ファイルコピー制御部が生成するFS転送リストは、
1つの転送元ファイルのデータ格納領域と、n(nは2以上の整数)箇所の転送先ファイルのデータ格納領域とを対応付け、1つの転送元ファイルのデータ格納領域のデータがn箇所の転送先ファイルのデータ格納領域にコピーされるように構成したものである請求項1記載の無線アクセス装置。 - 前記ファイルコピー制御部が生成するFS転送リストは、
1つの転送先ファイルのデータ格納領域と、n(nは2以上の整数)箇所の転送元ファイルのデータ格納領域とを対応付け、n箇所の転送元ファイルのデータ格納領域のデータが1つの転送先ファイルのデータ格納領域にコピーされるように構成したものである請求項1記載の無線アクセス装置。 - 無線接続された他の無線アクセス装置内部の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記他の無線アクセス装置から無線送信されたデータを受信し、前記データに含まれる、アクセスコマンドを抽出し、前記アクセスコマンドを用いて前記第2の不揮発性メモリにアクセスすることを特徴とする無線アクセス装置。 - 前記アクセスリストは、前記無線アクセス装置内で保持され、
前記他の無線アクセス装置から無線送信された無線データから抽出したアクセスコマンドに設定された論理アドレスと転送長が前記アクセスリストのアクセス可能領域に含まれる場合に、当該コマンドを受付け、前記第2の不揮発性メモリへのアクセスを行うことを特徴とする請求項8記載の無線アクセス装置。 - 前記他の無線アクセス装置から無線送信された無線データから抽出したアクセスコマンドに設定された転送長が所定の転送長を超える場合、当該コマンドを所定の転送長の複数のコマンドに分割して前記第2の不揮発性メモリにアクセスすることを特徴とする請求項8記載の無線アクセス装置。
- 前記第2の不揮発性メモリに格納されたファイルを読み出しまたは前記第2の不揮発性メモリへファイルを書きこむプログラムを動作させるCPUをさらに含み、
前記プログラムは、前記第2の不揮発性メモリに格納されたファイルを読み出しまたは前記第2の不揮発性メモリへファイルを書きこむ場合に、前記アクセスリストを基に前記第1の不揮発性メモリコントローラへ読み出し或いは書き込み対象論理アドレスと転送長を指定し、
前記第1の不揮発性メモリコントローラは前記論理アドレスと前記転送長に基づいて、前記第2の不揮発性メモリと前記CPUとの間でデータの転送を実施することを特徴とする請求項1記載の無線アクセス装置。 - 無線情報記録装置内部の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記無線情報記録装置と無線接続された他の無線情報記録装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第2の不揮発性メモリ上に構築されたファイルシステムにおけるコピー対象領域をリスト化したアクセスリストを取得するアクセスリスト制御部と、
前記第1の不揮発性メモリ上に構築されたファイルシステムから読み出した第1のファイルシステム管理情報と、前記アクセスリストとから、転送元となる論理アドレスと、転送先となる論理アドレスを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部とを備え、
前記ファイルコピー制御部は、生成した前記FS転送リストを、前記無線情報記録装置に入力することで、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセス装置。 - 無線情報記録装置内部の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、無線接続された他の無線情報記録装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第1の不揮発性メモリを有する無線情報記録装置は、第1の不揮発性メモリを制御する不揮発性メモリコントローラを備え、
前記無線アクセス装置は、前記第1の不揮発性メモリと、前記第2の不揮発性メモリ間の論理アドレス空間上でのデータ転送元領域と、データ転送先領域の情報を含むFS転送リストを作成し、
前記不揮発性メモリコントローラは、前記FS転送リストに基づき、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセス装置。 - 第1の無線情報記録装置内の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記第1の無線情報記録装置と無線接続された第2の無線情報記録装置内の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセス装置であって、
前記第1の無線情報記録装置から前記第2の無線情報記録装置へ無線送信されたデータを受信し、前記データに含まれる、アクセスコマンドを抽出し、前記アクセスコマンドを用いて前記第2の不揮発性メモリにアクセスすることを特徴とする無線アクセス装置。 - 第1の無線アクセス装置内部の第1の不揮発性メモリ上に構築されたファイルシステム内のファイルと、前記第1の無線アクセス装置と無線接続された第2の無線アクセス装置内部の第2の不揮発性メモリ上に構築されたファイルシステム内のファイルとの間でコピーを行う無線アクセスシステムであって、
前記第1の無線アクセス装置は、前記第2の不揮発性メモリ上に構築されたファイルシステムにおけるコピー対象領域をリスト化したアクセスリストを前記第2の無線アクセス装置から取得するアクセスリスト制御部と、
前記第1の不揮発性メモリ上に構築されたファイルシステムから読み出した第1のファイルシステム管理情報と、前記アクセスリストとから、転送元となる論理アドレスと、転送先となる論理アドレスとを特定し、転送するデータサイズと共にリスト化したFS転送リストを生成するファイルコピー制御部と、
前記第1の不揮発性メモリを制御する不揮発性メモリコントローラとを備え、
前記ファイルコピー制御部は生成した前記FS転送リストを前記第1の不揮発性メモリコントローラに入力し、前記第1の不揮発性メモリコントローラは前記入力されたFS転送リストに基づき、前記第1の不揮発性メモリと、前記第2の不揮発性メモリとの間でデータのコピーを実施することを特徴とする無線アクセスシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14754081.9A EP2960800B1 (en) | 2013-02-20 | 2014-02-17 | Wireless access device and wireless access system |
JP2015501323A JP6191022B2 (ja) | 2013-02-20 | 2014-02-17 | アクセス装置、情報記録装置およびアクセスシステム |
US14/739,034 US10162833B2 (en) | 2013-02-20 | 2015-06-15 | Wireless access device and wireless access system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-030721 | 2013-02-20 | ||
JP2013030721 | 2013-02-20 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/739,034 Continuation US10162833B2 (en) | 2013-02-20 | 2015-06-15 | Wireless access device and wireless access system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014129161A1 true WO2014129161A1 (ja) | 2014-08-28 |
Family
ID=51390959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/000782 WO2014129161A1 (ja) | 2013-02-20 | 2014-02-17 | 無線アクセス装置および無線アクセスシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10162833B2 (ja) |
EP (1) | EP2960800B1 (ja) |
JP (1) | JP6191022B2 (ja) |
WO (1) | WO2014129161A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457261A (zh) * | 2019-08-06 | 2019-11-15 | 深圳市腾讯计算机系统有限公司 | 数据访问方法、装置及服务器 |
JP2020501249A (ja) * | 2016-11-26 | 2020-01-16 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ移行方法、ホスト、およびソリッドステートディスク |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10404520B2 (en) * | 2013-05-29 | 2019-09-03 | Microsoft Technology Licensing, Llc | Efficient programmatic memory access over network file access protocols |
US9641614B2 (en) | 2013-05-29 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distributed storage defense in a cluster |
CN108076116B (zh) * | 2016-11-18 | 2021-08-24 | 上海新微技术研发中心有限公司 | 一种基于云存储数据的智能读取方法及系统 |
US11321249B2 (en) | 2018-03-26 | 2022-05-03 | Samsung Electronics Co., Ltd. | Mechanism to autonomously manage SSDS in an array |
US20220179579A1 (en) * | 2020-12-08 | 2022-06-09 | EXFO Solutions SAS | Monitoring performance of remote distributed storage |
US12124700B2 (en) * | 2022-09-23 | 2024-10-22 | Qualcomm Incorporated | Loading multi-segmented software image files into memory using a nested file structure |
Citations (5)
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機器並びにファイルアクセスシステム |
JP2011138534A (ja) * | 2008-04-04 | 2011-07-14 | Panasonic Corp | アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276840A (en) * | 1991-03-22 | 1994-01-04 | Acer Incorporated | Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation |
JP2001142773A (ja) * | 1999-11-17 | 2001-05-25 | Fujitsu Ltd | 交換システムのデータ管理装置及び記録媒体 |
US6701455B1 (en) | 2000-08-29 | 2004-03-02 | Hitachi, Ltd. | Remote copy system with data integrity |
JP3617437B2 (ja) * | 2000-09-13 | 2005-02-02 | 日本電気株式会社 | データコピー方法およびデータコピー用プログラムを記録したプログラム記録媒体 |
JP2005149082A (ja) | 2003-11-14 | 2005-06-09 | Hitachi Ltd | ストレージ制御装置、及びストレージ制御装置の制御方法 |
JP4942375B2 (ja) * | 2006-03-27 | 2012-05-30 | 株式会社ソニー・コンピュータエンタテインメント | ネットワーク処理装置 |
US8175100B2 (en) * | 2008-10-15 | 2012-05-08 | Qualcomm Incorporated | Transmission scheduling optimization method and wireless user equipment device |
JP5486793B2 (ja) | 2008-11-07 | 2014-05-07 | 株式会社日立製作所 | リモートコピー管理システム、方法及び装置 |
JP5636853B2 (ja) | 2010-10-04 | 2014-12-10 | 富士通株式会社 | ストレージシステムの仮想化制御装置及び制御プログラム |
WO2012070094A1 (en) * | 2010-11-26 | 2012-05-31 | Hitachi, Ltd. | Computer system |
US10387267B2 (en) * | 2011-06-08 | 2019-08-20 | International Business Machines Corporation | Fast copy using file system block mappings |
US20130166670A1 (en) * | 2011-12-21 | 2013-06-27 | James George Wayda | Networked storage system and method including private data network |
US9430511B2 (en) * | 2013-03-15 | 2016-08-30 | Cavium, Inc. | Merging independent writes, separating dependent and independent writes, and error roll back |
-
2014
- 2014-02-17 EP EP14754081.9A patent/EP2960800B1/en active Active
- 2014-02-17 JP JP2015501323A patent/JP6191022B2/ja active Active
- 2014-02-17 WO PCT/JP2014/000782 patent/WO2014129161A1/ja active Application Filing
-
2015
- 2015-06-15 US US14/739,034 patent/US10162833B2/en active Active
Patent Citations (5)
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機器並びにファイルアクセスシステム |
JP2011138534A (ja) * | 2008-04-04 | 2011-07-14 | Panasonic Corp | アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP2960800A4 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020501249A (ja) * | 2016-11-26 | 2020-01-16 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ移行方法、ホスト、およびソリッドステートディスク |
US10795599B2 (en) | 2016-11-26 | 2020-10-06 | Huawei Technologies Co., Ltd. | Data migration method, host and solid state disk |
US11644994B2 (en) | 2016-11-26 | 2023-05-09 | Huawei Technologies Co., Ltd. | Data migration method, host, and solid state disk |
US11960749B2 (en) | 2016-11-26 | 2024-04-16 | Huawei Technologies Co., Ltd. | Data migration method, host, and solid state disk |
CN110457261A (zh) * | 2019-08-06 | 2019-11-15 | 深圳市腾讯计算机系统有限公司 | 数据访问方法、装置及服务器 |
CN110457261B (zh) * | 2019-08-06 | 2023-11-10 | 深圳市腾讯计算机系统有限公司 | 数据访问方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
EP2960800B1 (en) | 2019-06-19 |
US10162833B2 (en) | 2018-12-25 |
US20150278246A1 (en) | 2015-10-01 |
EP2960800A4 (en) | 2016-03-02 |
EP2960800A1 (en) | 2015-12-30 |
JPWO2014129161A1 (ja) | 2017-02-02 |
JP6191022B2 (ja) | 2017-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6191022B2 (ja) | アクセス装置、情報記録装置およびアクセスシステム | |
CN107209644B (zh) | 一种数据处理方法以及NVMe存储器 | |
US8527719B2 (en) | Concurrent access to a memory pool shared between a block access device and a graph access device | |
JP5395824B2 (ja) | メモリシステム | |
WO2018045820A1 (zh) | 一种文件同步的方法、设备及系统 | |
US8549213B2 (en) | Nonvolatile storage device, access device and nonvolatile storage system | |
JP5971057B2 (ja) | ストレージ装置、設定方法および設定プログラム | |
US20130262799A1 (en) | Control method and storage device | |
JP5570665B2 (ja) | デバイス装置、アクセス装置、アクセスシステム、及び、通信確立方法 | |
JP5398761B2 (ja) | メモリシステム | |
JP6191021B2 (ja) | アクセス装置、情報記録装置およびアクセスシステム | |
JP7143268B2 (ja) | ストレージシステムおよびデータ移行方法 | |
US8745102B2 (en) | Distributed storage method and system | |
JP2010182254A (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JP2010079624A (ja) | 計算機システム及びストレージシステム | |
KR101470857B1 (ko) | iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법 | |
JP4418920B2 (ja) | ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法 | |
JP5570666B2 (ja) | デバイス装置、アクセスシステム、及び、通信確立方法 | |
US20100274828A1 (en) | Electronic Device, Storage Area Allocation Method for File System, and Computer Product | |
KR20210131256A (ko) | Usb 기반의 클라우드 디스크 및 디스크 세그먼트 매니지먼트 시스템 | |
KR20220146043A (ko) | Usb 기반의 클라우드 디스크 및 디스크 세그먼트 매니지먼트 시스템 | |
CN114356224A (zh) | 文件地址优化方法、终端、服务器及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14754081 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014754081 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2015501323 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |