WO2018084004A1 - デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム - Google Patents

デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム Download PDF

Info

Publication number
WO2018084004A1
WO2018084004A1 PCT/JP2017/037970 JP2017037970W WO2018084004A1 WO 2018084004 A1 WO2018084004 A1 WO 2018084004A1 JP 2017037970 W JP2017037970 W JP 2017037970W WO 2018084004 A1 WO2018084004 A1 WO 2018084004A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
remaining number
processing
transmission unit
acquisition unit
Prior art date
Application number
PCT/JP2017/037970
Other languages
English (en)
French (fr)
Inventor
裕也 石川
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2018548629A priority Critical patent/JPWO2018084004A1/ja
Priority to US16/330,901 priority patent/US20210278813A1/en
Publication of WO2018084004A1 publication Critical patent/WO2018084004A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23113Reread, retransmit several times data for valid data, redundant command

Definitions

  • the present technology relates to a device control apparatus, a device apparatus, a control method, a program, and a device control system, and in particular, can execute a process that requires a processing time longer than a processing time allowed for one command.
  • the present invention relates to a device control apparatus, a device apparatus, a control method, a program, and a device control system.
  • the device device When the device device executes a process that takes a long time under the control of the host device, the device device cannot receive a new command from the host device until the processing is completed, for example, or the progress of the process Transition to a state where only a limited command such as a command for checking the status can be received.
  • a process that requires a long time there is, for example, an entire area initialization process (format process) performed on a memory card (see, for example, Patent Document 1).
  • the present technology has been made in view of such a situation, and makes it possible to execute processing that requires a processing time longer than the processing time allowed for one command.
  • the device control apparatus When the device control apparatus according to the first aspect of the present technology causes the device apparatus to execute predetermined processing, the device control apparatus transmits a first command that divides and executes the process to the device apparatus;
  • An acquisition unit configured to acquire from the device device the remaining number of times required until the completion of the process after the device device division processing by the command of 1 is completed, and the transmission unit includes the first number of times 1 command transmission is repeatedly executed.
  • the transmission unit of the device control apparatus that controls the operation of the device apparatus transmits and acquires a first command that divides and executes a predetermined process to the device apparatus. After the division processing of the device device by the first command is completed, the unit obtains the remaining number of times required until the completion of the processing from the device device, and the transmission unit receives the remaining number of times by the remaining number of times. 1 command transmission is repeatedly executed.
  • a program causes a computer to function as a transmission unit and an acquisition unit, and causes the transmission unit to transmit a first command that divides and executes a predetermined process to the device device, thereby acquiring the acquisition
  • the unit obtains the remaining number of times required until the completion of the processing from the device device, and the transmission unit receives the remaining number of times by the remaining number of times. 1 command transmission is repeatedly executed.
  • the transmission of the first command is repeatedly executed by the remaining number of times.
  • the device device includes: an acquisition unit that acquires a first command that divides and executes a predetermined process from the device control device; and after the division process by the first command is completed, A transmission unit that transmits the remaining number of times required until completion of the process to the device control apparatus, and the acquisition unit repeatedly acquires the first command by the remaining number of times.
  • the acquisition unit of the device apparatus controlled by the device control apparatus acquires a first command that divides and executes predetermined processing from the device control apparatus,
  • the transmission unit transmits the remaining number of times required until the completion of the processing after the division processing by the first command is completed to the device control apparatus, and the acquisition unit performs the first number of times only for the remaining number of times. Get commands repeatedly.
  • the program according to the second aspect of the present technology causes a computer to function as an acquisition unit and a transmission unit, and the acquisition unit acquires a first command that divides and executes a predetermined process from the device control apparatus,
  • the transmission unit causes the device control apparatus to transmit the remaining number of times required until the completion of the processing after the division processing by the first command is completed, and the acquisition unit performs the first number of times only for the remaining number of times.
  • the command is repeatedly acquired.
  • a first command for dividing and executing a predetermined process is acquired from the device control apparatus, and after the division process by the first command is completed, the process is completed. Is sent to the device control apparatus. Further, the first command is repeatedly acquired by the remaining number of times.
  • a device control system includes a device apparatus and a device control apparatus that controls the device apparatus, and the device control apparatus executes a first command that divides and executes predetermined processing.
  • a first transmission unit that transmits to the device, and a first acquisition unit that acquires, from the device device, the remaining number of times required until the completion of the processing after the division processing of the device device by the first command is completed.
  • the device apparatus includes a second acquisition unit that acquires the first command from the device control apparatus, and transmits the remaining number of times to the device control apparatus after the division processing by the first command is completed. And the second transmitter repeatedly executes the transmission of the first command as many times as the remaining number of times.
  • a first command for dividing and executing a predetermined process is transmitted from the device control apparatus to the device apparatus and acquired. After the division processing of the device device by the first command is completed, the remaining number of times required until the completion of the processing is transmitted from the device device to the device control device. Further, the transmission of the first command is repeatedly executed by the remaining number of times.
  • program can be provided by being transmitted through a transmission medium or by being recorded on a recording medium.
  • the device control device and the device device may be independent devices, or may be internal blocks constituting one device.
  • FIG. 10 is a diagram for explaining processing between a host and a device of a command “CMD49”.
  • FIG. 10 is a diagram illustrating a field configuration example of a command “CMD49”. It is a figure which shows the example of data of the extension register of command "CMD49”.
  • FIG. 10 is a diagram for explaining processing between a host and a device of a command “CMD48”.
  • FIG. 10 is a diagram showing a field configuration example of a command “CMD48”. It is a figure which shows the example of data of the extension register of command "CMD48”.
  • 12 is a flowchart for explaining a division control process using commands “CMD48” and “CMD49”.
  • FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • FIG. 1 is a block diagram illustrating a configuration example of an embodiment of a device control system to which the present technology is applied.
  • the device control system 1 in FIG. 1 includes a host device 10 and a device device 20.
  • the host device 10 is, for example, an information portable terminal, a desktop computer, a notebook computer, a mobile phone, an audio device, a recording / reproducing device, an imaging device, a home appliance, or the like.
  • the device device 20 is, for example, a semiconductor memory such as a flash memory or a hard disk storage device.
  • the host device 10 is a device control device that controls the device device 20 to cause the device device 20 to execute a predetermined operation (processing).
  • the host device 10 includes a control unit 11, a transmission unit 12, and a reception unit 13.
  • the control unit 11 controls the device apparatus 20 such as determining an operation to be performed by the device apparatus 20, for example.
  • the transmission unit 12 transmits a predetermined command (control command) to the device device 20 under the control of the control unit 11.
  • the reception unit (acquisition unit) 13 receives (acquires) a command (response command) transmitted from the device device 20 and supplies it to the control unit 11.
  • the device device 20 is a device that executes a predetermined operation (processing) under the control of the host device 10.
  • the device device 20 includes a reception unit 21, a transmission unit 22, a control unit 23, and a processing unit 24.
  • the reception unit (acquisition unit) 21 receives (acquires) a command (control command) transmitted from the host device 10 and supplies it to the control unit 23.
  • the transmission unit 22 transmits a command (response command) to the host device 10 under the control of the control unit 23.
  • the control unit 23 causes the processing unit 24 to execute a predetermined process based on a command transmitted from the host device 10 via the receiving unit 21.
  • the control unit 23 determines a command to be transmitted to the host device 10 according to the processing state or processing result of the processing unit 24 and instructs the transmission unit 22 to transmit the determined command.
  • the processing unit 24 executes predetermined processing according to the control of the control unit 23.
  • the host device 10 and the device apparatus 20 exchange data including commands according to a predetermined communication protocol.
  • the communication between the host device 10 and the device device 20 may be either wired communication or wireless communication.
  • the processing time on the device device 20 side when a single command is received is specified in advance.
  • the device device 20 receives the command from the host device 10 as shown in FIG. Within 1 second after reception, a completion notification (command) indicating completion of processing must be returned to the host device 10.
  • an operation that requires a longer processing time (4 seconds in the example of FIG. 3) than the prescribed processing time (1 second in the example of FIG. 2) is performed on the device device 20. If you want to make it. That is, if the host device 10 continues to wait until notification of the completion of processing, a timeout occurs and processing that requires a processing time longer than the specified processing time cannot be realized.
  • the device control system 1 in FIG. 1 uses a communication protocol in which the processing time for one command is defined in advance at a constant time, and does not change the specified processing time for one command, and increases the processing time longer than the specified processing time. It is configured to realize necessary processing (function).
  • the host device 10 requires the device device 20 to have a longer processing time than the prescribed processing time by dividing the processing that requires a longer processing time than the prescribed processing time into a processing within the prescribed processing time and executing it a plurality of times. Can be executed.
  • FIG. 4 is a flowchart showing the division control process executed between the host device 10 and the device apparatus 20.
  • the process that requires a longer processing time than the specified processing time is the process J.
  • the specified processing time is 1 second and the process J is 4 seconds.
  • a description will be given assuming that the process requires time. In this case, if the process J is divided into processes within the prescribed processing time assigned to the normal command and executed, a total of four division processes are required.
  • the host device 10 causes the device apparatus 20 to repeatedly execute the processes in steps S11 to S15 described below a predetermined number of times (in this example, four times).
  • steps S11 to S15 are shown as processes of steps S11-2 to S15-2.
  • the divided fourth processing of steps S11 to S15 is shown as processing of steps S11-4 to S15-4.
  • the host device 10 transmits a command J, which is a command for executing the processing J, to the device device 20 in step S11-1.
  • step S12-1 the device device 20 receives the command J transmitted from the host device 10. Then, the device device 20 divides the process J into processes within the specified processing time assigned to the normal command, and executes a part of the divided processes within the specified processing time.
  • step S13-1 the device device 20 transmits a completion notification (command) indicating the completion of the processing to the host device 10, and the host device 10 receives it.
  • the host device 10 After receiving the completion notification, the host device 10 transmits a command K, which is a command for confirming (requesting) the remaining status (progress status) of process J, to the device device 20 in step S14-1.
  • step S15-1 the device apparatus 20 returns a status including the remaining number of executions necessary for the completion of process J (hereinafter referred to as the remaining number of times (RoC)) as a response to the received command K.
  • the data is transmitted to the host device 10, and the host device 10 receives it.
  • steps S11-2 to S15-2 which are the processes of steps S11 to S15 for the second time.
  • steps S11-2 to S15-2 the device apparatus 20 executes the second process of the processes divided into four times, and the remaining number of times included in the status is “2”.
  • steps S13-3 to S15-3 which are the processes of steps S11 to S15 for the third time.
  • steps S11-3 to S15-3 the device apparatus 20 executes the third process among the processes divided into four times, and the remaining number of times included in the status is “1”.
  • steps S13-4 to S15-4 which are the processes of steps S11 to S15 for the fourth time.
  • steps S11-4 to S15-4 the device device 20 executes the fourth process among the processes divided into four times, and the remaining number of times included in the status is “0”.
  • the host device 10 confirms that the remaining number included in the status received in step S15-4 is “0”, and ends the process.
  • the host device 10 repeats the transmission of the command J for instructing the execution of the process J to the device apparatus 20 and the transmission of the command K for confirming the status including the remaining number of processes to the device apparatus 20. .
  • FIG. 5 is a flowchart of the division control process for executing the command J when viewed from the host device 10 alone.
  • step S ⁇ b> 51 the host device 10 transmits a command J for executing the process J to the device device 20.
  • step S ⁇ b> 52 the host device 10 receives a completion notification (command) indicating completion of processing for the command J from the device device 20.
  • the host device 10 After receiving the completion notification, the host device 10 transmits a command K, which is a command for confirming the remaining status (progress status) of the process J, to the device device 20 in step S53.
  • step S54 the host device 10 receives, as a response to the command K, the status including the remaining number of times required until the completion of the process J from the device device 20.
  • step S55 the host device 10 determines whether the remaining number of times included in the received status is greater than zero.
  • step S55 If it is determined in step S55 that the remaining number is greater than zero, the host device 10 returns the process to step S51 and repeats the processes of steps S51 to S55 described above.
  • step S55 when it is determined in step S55 that the remaining number is equal to or less than zero, that is, zero, the host device 10 ends the process.
  • FIG. 6 is a flowchart of the division control process for executing the command J when viewed by the device device 20 alone.
  • step S71 the device apparatus 20 receives the command J that is transmitted from the host device 10 and that executes the process J.
  • step S72 the device apparatus 20 determines whether or not the command J is received for the first time. In step S72, for example, when the remaining number of times of step S77 described later is not stored in the internal memory, it is determined that the command J is received for the first time.
  • step S72 If it is determined in step S72 that the command J is received for the first time, the process proceeds to step S73, and the device apparatus 20 divides the process J so that the processing time per time is within the specified processing time. In step S74, the first division process is executed.
  • step S72 determines whether the command J is not received for the first time, in other words, the command J is received for the second time or later.
  • the process proceeds to step S75, and the device apparatus 20 performs the nth time.
  • the division process (n> 1) is executed.
  • step S76 the device apparatus 20 transmits a completion notification (command) indicating the completion of the process to the host device 10, and in step S77, the value obtained by decrementing the remaining number by 1 is stored in the internal memory. To do.
  • step S78 the device device 20 receives the command K transmitted from the host device 10 and confirming the remaining status (progress status) of the process J.
  • step S79 the device apparatus 20 transmits a status including the remaining number stored in the internal memory to the host device 10 as a response to the command K, and ends the process.
  • the host device 10 and the device apparatus 20 divide the process J that requires a processing time longer than the specified processing time into processes within the specified processing time allocated to the normal command, and repeatedly execute the required number of times. By doing so, it is possible to execute a process that requires a processing time longer than the prescribed processing time.
  • the command J that is repeatedly executed as many times as necessary is processed within the same specified processing time as the normal command, so no timeout occurs.
  • other commands can be transmitted / received and executed between the commands.
  • the device apparatus 20 receives another command in the middle of the dividing process that requires n times of dividing processes, the remaining number stored in the internal memory is once reset. And start over.
  • FIG. 7 is a flowchart showing a first modification of the division control process shown in FIG.
  • both the command J for instructing the execution of the process J and the command K for checking the status including the remaining number of division processes are repeated a predetermined number of times.
  • the host device 10 can know the necessary number of executions of the command J by receiving the status for the first command K, except in the case of an exceptional error.
  • the host device 10 after receiving the completion notification for the first command J, transmits the command K and acquires the status as a response to the command K.
  • the command K may not be transmitted to the device device 20 after the completion notification for the command J is received.
  • a command K and a status as a reply may be additionally transmitted and received.
  • transmission / reception of the command K and the status in steps S14 and S15 may be executed once every plural times after the completion notification of the command J is received.
  • FIG. 8 is a flowchart showing a second modification of the division control process shown in FIG.
  • both the command J for instructing the execution of the process J and the command K for checking the status including the remaining number of processes are repeated a predetermined number of times.
  • the completion notification transmitted from the device apparatus 20 to the host device 10 in step S13 in the division control process of FIG. 4 includes the remaining number of times required until the completion of the process J as a parameter. Sent.
  • transmission and reception of the command K and status of step S14 and S15 are abbreviate
  • step S11-1 the host device 10 transmits to the device device 20 a command J that causes the device device 20 to execute the process J.
  • step S12-1 the device apparatus 20 receives the command J transmitted from the host device 10, and executes the first division process in which the process J is divided within the specified processing time.
  • step S13′-1 the device apparatus 20 transmits a completion notification (command) indicating the completion of processing including the remaining number of times required until completion of the processing J as a parameter to the host device 10, and the host device 10 Receive it.
  • processing that requires a processing time longer than the processing time allowed for one command is executed without causing a timeout. can do.
  • Other commands can be received and executed between the commands.
  • FIG. 9 is a block diagram illustrating a configuration example of an embodiment of a digital camera (digital still camera) to which the present technology is applied.
  • the digital camera 100 records captured image (or audio) data on a memory card 146 configured by, for example, an SD card, or reproduces image (or audio) data recorded on the memory card 146.
  • a memory card 146 configured by, for example, an SD card, or reproduces image (or audio) data recorded on the memory card 146.
  • the optical lens 101 condenses the light of the image of the subject based on the control of the camera function unit 102, and forms the focused light on the photoelectric conversion unit 103.
  • the camera function unit 102 starts and ends the photographing operation of the subject by the optical lens 101, and appropriately adjusts the zoom rate of the optical lens 101, the amount of light to be captured, and the like. Control.
  • the photoelectric conversion unit 103 is configured by a photoelectric conversion element such as a CCD (charge-coupled device) or a CMOS (Complementary Metal Oxide Semiconductor) sensor, and converts light supplied from the optical lens 101 into an electrical signal to generate an image.
  • the signal is supplied to the signal processing unit 104.
  • the image signal processing unit 104 generates image data based on the signal supplied from the photoelectric conversion unit 103. For example, the image signal processing unit 104 converts an analog signal corresponding to the image of the subject into A / D (Analog-to-Digital) digital data based on the control of the CPU 148, and the image data For example, image processing such as white balance adjustment and defective pixel interpolation is applied. Further, the image signal processing unit 104 performs compression encoding or compression encoding of image data by a method such as MEPG (Motion Picture Experts Group) or JPEG (Joint Photographic Expert Group) based on the control of the CPU 148. Decode the image data.
  • MEPG Motion Picture Experts Group
  • JPEG Joint Photographic Expert Group
  • the image signal processing unit 104 performs A / D conversion on an analog signal corresponding to the image of the subject, adjusts the white balance, or outputs image data obtained by interpolating a defective pixel, and the image 106 To the unit 105. More specifically, the image signal processing unit 104 converts the image data into an input method of the display 106, for example, an RGB (Red, Green, Blue) signal, supplies the signal to the display 106, and similarly The image signal processing unit 104 also supplies the RGB signal to the image input / output unit 105.
  • an RGB Red, Green, Blue
  • the image input / output unit 105 supplies, for example, an image signal supplied from an external device to the image signal processing unit 104, and outputs a signal corresponding to image data output from the image signal processing unit 104 to the external Output to the device.
  • the display 106 is composed of, for example, an LCD (Liquid Crystal Display) or the like, and displays an image based on a signal corresponding to image data output from the image signal processing unit 104.
  • the audio input / output unit 121 supplies an audio signal collected by a microphone or the like to the audio processing unit 122, and outputs audio corresponding to audio data output from the audio processing unit 122 to a speaker or the like. Output.
  • the audio processing unit 122 Based on the control of the CPU 148, the audio processing unit 122 generates compression-encoded audio data based on the audio signal supplied from the audio input / output unit 121, or compression-encoded audio data Or decrypting.
  • a RAM (Random Access Memory) 141 stores data such as a program read from the memory card 146 attached to the drive 145 or data generated by processing by the program, and supplies the data to the CPU 148 as necessary. .
  • the ROM 142 supplies data stored in advance to the CPU 148 as necessary.
  • the operation input unit 143 has, for example, an operation key or a button, and outputs a signal corresponding to the operation input by the user to the CPU 148.
  • the communication unit 144 includes, for example, a network card and the like, and includes a wired communication interface such as Ethernet (registered trademark) and USB (Universal Serial Bus), IEEE802.11a / b / g, Bluetooth (registered trademark), and the like. It functions as a wireless communication interface and communicates with other devices connected to the network based on the control of the CPU 148.
  • a wired communication interface such as Ethernet (registered trademark) and USB (Universal Serial Bus), IEEE802.11a / b / g, Bluetooth (registered trademark), and the like. It functions as a wireless communication interface and communicates with other devices connected to the network based on the control of the CPU 148.
  • a memory card 146 such as an SD card is attached to the drive 145.
  • the drive 145 accesses the installed memory card 146 to record data or read recorded data.
  • the power source 147 supplies power necessary for driving the digital camera 100.
  • the CPU 148 performs various calculations to process data, and controls the operation of the entire digital camera 100.
  • the above-described division control process can be performed using the digital camera 100 as the host device 10 in FIG. 1 and the memory card 146 as the device device 20 in FIG.
  • FIG. 10 is a block diagram illustrating a hardware configuration example of the memory card 146 as the device device 20.
  • the memory card 146 includes a host I / F 161, a card controller 162, a memory I / F 163, and a flash memory 164.
  • the host I / F 161 performs interface processing between the card controller 162 and the host device (digital camera 100).
  • the card controller 162 includes, for example, a CPU (Central Processing Unit), ROM (Read Only Memory), RAM (Random Access Memory), and the like, and controls the operation of the entire memory card 146.
  • the CPU loads the control program stored in the ROM onto the RAM, and executes data writing to the flash memory 164 and data reading from the flash memory 164 based on a command from the host device.
  • a register (including an extension register described later) that temporarily holds acquired data is formed in the RAM.
  • the memory I / F 163 performs an interface process between the card controller 162 and the flash memory 164.
  • the flash memory 164 records predetermined data.
  • the flash memory 164 is a kind of EEPROM (Electrically Erasable Programmable ROM) that is a non-volatile memory that can partially electrically erase and rewrite data, and is composed of, for example, a NAND flash memory.
  • EEPROM Electrically Erasable Programmable ROM
  • the case where the memory card 146 is an SD card will be described.
  • Data is recorded and managed in the memory card 146 by the FAT file system.
  • FIG. 11 shows a recording area of the memory card 146 managed by the FAT file system.
  • the recording area of the memory card 146 managed by the FAT file system is divided into a file management area, a user data area, and a cache area.
  • the file management area and the user data area are formed in, for example, the flash memory 164, and the cache area is formed in, for example, the RAM in the card controller 162.
  • an MBR Master Boot Record
  • PBR Partition Boot Record
  • FAT Full Address Table
  • FAT2 Full Address Table
  • root directory entry is recorded following the MBR.
  • the PBR is information including the number of clusters of the memory card 146, the activation code of the partition, and is read into the memory when the operating system is activated, for example.
  • FAT1 and FAT2 are tables each having chain information of clusters constituting the file, and when the file system reads or writes the file, FAT1 or FAT2 is referred to. Note that the recorded contents of FAT1 and FAT2 are usually the same (a copy of the same table).
  • a directory entry corresponding to a file recorded in the root directory of the memory card 146 is stored. For example, when a plurality of files are recorded in the root directory of the memory card 146, a directory entry including information related to each file is formed for each of the plurality of files in the root directory entry. Each directory entry stores information such as the name of the corresponding file, the creation date of the file, the size of the file, and the top cluster number of the file.
  • Real data such as image data is recorded in cluster units in the user data area following the root directory entry.
  • one file is composed of a plurality of clusters, but the chain information of the plurality of clusters constituting the file is recorded in the above-described FAT1 or FAT2. That is, in FAT1 or FAT2, “Among the multiple clusters existing in the partition, the top of a certain file is the first cluster, the next cluster is the first cluster, and so on. Information such as “the last cluster of the first cluster” is recorded.
  • FIG. 12 is a table showing types of format commands when the CPU 148 of the digital camera 100 executes formatting of the memory card 146.
  • the CPU 148 In the “Quick Format (Without File System)” format command, the CPU 148 (file system) initializes only the cache area of the memory card 146.
  • the CPU 148 In the format command of “Full Format (Without File System)”, the CPU 148 initializes the user data area and the cache area of the memory card 146.
  • the CPU 148 In the format command “Quick Format (With File System)”, the CPU 148 initializes the file management area and the cache area of the memory card 146.
  • the CPU 148 In the format command “Full Format (With File System)”, the CPU 148 initializes the file management area, user data area, and cache area of the memory card 146.
  • the format process employing the above-described division control process is an extended function command defined in “SD Specification Specifications Part 1 Physical Format Simplified Specification Specification Version 5.0 (August 10, 2016)”. It can be realized by using CMD48 “and“ CMD49 ”.
  • the commands “CMD48” and “CMD49” are commands for the host device to read and write data via an expansion register formed on the RAM of the SD card.
  • the command “CMD48” is for the host device to read data from the SD card.
  • the command “CMD49” is a command for reading data, and the host device writes data to the SD card.
  • FIG. 13 is a diagram for explaining processing between the host and the device using the command “CMD49”.
  • the digital camera 100 (the CPU 148) sets predetermined data in the 512-byte data block of the extension register, and transmits the command “CMD49” to the memory card 146.
  • the memory card 146 Upon receiving the command “CMD49”, the memory card 146 returns a response “R1” to the digital camera 100, and then reads a 512-byte data block from the extension register.
  • the memory card 146 returns a CRC status indicating whether or not the 512-byte data block has been correctly received to the digital camera 100, and is in a busy state while executing the processing instructed by the command “CMD49”. To do.
  • the maximum time for this busy state is 1 second.
  • the parameter of the command “CMD49” includes the ADDR that specifies the position (reading position) in the extension register where the data (valid data) to be read by the memory card 146 is recorded, and the data length of the data (valid data) to be read.
  • the LEN to be specified is included. Data after the data length indicated by LEN in the extension register is invalid.
  • FIG. 14 shows a field configuration example of the command “CMD49”.
  • S indicates a command start bit
  • T is a bit indicating a transfer direction
  • INDEX indicates a command number.
  • 110001b of “INDEX” represents “49” in binary number (the last “b” represents binary).
  • Rsv is a reserved bit for the future.
  • ADDR indicates the read position of the extension register using 17 bits.
  • LEN indicates the data length.
  • the 9-bit LEN field specifies the data length of valid data that needs to be read from the extension register.
  • “1FFh” represents 512 in hexadecimal (the last “h” represents hexadecimal).
  • CRC7 indicates a cyclic redundancy check code
  • E indicates an end bit of the command.
  • FIG. 15 shows an example of data written in the 512-byte data block of the extension register in the format processing execution instruction using the command “CMD49”.
  • the digital camera 100 (CPU 148) can instruct the memory card 146 to execute the formatting process by transmitting the above command “CMD49” to the memory card 146.
  • FIG. 16 is a diagram for explaining processing between the host and the device using the command “CMD48”.
  • the digital camera 100 (CPU 148) transmits the command “CMD48” to the memory card 146.
  • the memory card 146 receives the command “CMD48”
  • the memory card 146 returns a response “R1” to the digital camera 100 and then writes predetermined data in the 512-byte data block of the extension register.
  • the digital camera 100 reads data written in the 512-byte data block of the extension register.
  • the parameters of the command “CMD48” include ADDR that specifies the position (write position) in the extension register of the data (valid data) to be written by the memory card 146, LEN that specifies the data length of the data to be written (valid data), etc. It is included. Data after the data length indicated by LEN in the extension register is invalid.
  • FIG. 17 shows a field configuration example of the command “CMD48”.
  • FIG. 18 shows an example of data that the memory card 146 that has received the command “CMD48” describes in a 512-byte data block in the extension register.
  • the 16 bytes from the beginning are reserved for the future.
  • the spare is represented by “FFh”.
  • the estimated execution time (seconds) when the format process is executed with the format type “Full Format (With File System)” is input.
  • the digital camera 100 (the CPU 148) can acquire the execution result of the formatting process, the remaining number of times, and the like from the memory card 146 by transmitting the command “CMD48” to the memory card 146.
  • step S11 the digital camera 100 sets the format processing (first byte) and the format type (second byte) in the 512-byte data block of the extension register, and includes “FNO” indicating the formatting function.
  • the command “CMD49” is transmitted to the memory card 146.
  • step S12 the memory card 146 receives the command “CMD49” transmitted from the digital camera 100, and refers to the extension register. Then, the memory card 146 executes part of the formatting process within a processing time of 1 second at the longest.
  • the memory card 146 issues a busy state during the formatting process, and the digital camera 100 recognizes the completion notification in step S13 when the busy state ends.
  • the digital camera 100 transmits a command “CMD48” including “FNO” indicating the formatting function to the memory card 146 in step S14.
  • step S15 the memory card 146 returns the execution result (17th and 18th bytes) of the format process to the 512-byte data block of the extension register as a response to the command “CMD48”, the remaining number of times until the format process is completed (19 and 19). 20th byte) or the like is set, and the digital camera 100 reads the data in this extension register.
  • the digital camera 100 transmits the command “ACMD51” to the memory card 146 and confirms whether or not the extended function is supported by confirming the register indicating the SD configuration. The above process can be started. Alternatively, the command “CMD49” may be transmitted without confirmation, and if an error or the like occurs, the processing may be stopped because it is not supported.
  • the digital camera 100 transmits the command “CMD48” before instructing the execution of the format process by the command “CMD49”, and is written in the 33rd to 42nd bytes of the extension register, and the estimated number of times for each format process and the estimated execution. You may check the time. Thereby, the digital camera 100 can confirm the difference in processing time depending on the type of each format and determine which type of format is to be executed.
  • each of the commands “CMD48” and “CMD49” is processed within the processing time allowed for one command. Since it is a normal command to be executed, the memory card 146 can also normally accept the new command.
  • a process that requires a processing time longer than the processing time permitted by one command is executed while maintaining a state in which an arbitrary command can be received and processed from the digital camera 100 as a host device. be able to.
  • the example of the format process has been described as an example of a process that requires a processing time longer than the processing time permitted by one command.
  • the present technology can be applied to processes other than the format process.
  • the present technology can also be applied to wear leveling processing that smoothes the number of times the flash memory 164 in the memory card 146 is used, defragmentation processing that organizes fragmentation, device autonomous inspection processing, and the like.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a microcomputer incorporated in dedicated hardware and various programs.
  • FIG. 20 is a block diagram illustrating an example of a hardware configuration of a computer that executes the above-described series of processes as a program as the host device 10 or the device device 20.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 205 is further connected to the bus 204.
  • An input unit 206, an output unit 207, a storage unit 208, a communication unit 209, and a drive 210 are connected to the input / output interface 205.
  • the input unit 206 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 207 includes a display, a speaker, and the like.
  • the storage unit 208 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 209 includes a network interface and the like.
  • the drive 210 drives a removable recording medium 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 201 loads, for example, the program stored in the storage unit 208 to the RAM 203 via the input / output interface 205 and the bus 204 and executes the program. Is performed.
  • the program can be installed in the storage unit 208 via the input / output interface 205 by attaching the removable recording medium 211 to the drive 210. Further, the program can be received by the communication unit 209 via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting, and can be installed in the storage unit 208. In addition, the program can be installed in the ROM 202 or the storage unit 208 in advance.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • Embodiments of the present technology are not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present technology.
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • this technique can also take the following structures.
  • a transmission unit that transmits a first command for dividing and executing predetermined processing to the device device;
  • An acquisition unit that acquires from the device device the remaining number of times required until the completion of the processing after the division processing of the device device by the first command is completed;
  • the transmission unit repeatedly executes transmission of the first command by the remaining number of times.
  • the device control apparatus according to (1), wherein the acquisition unit acquires the remaining number of times from the device device each time the transmission unit transmits the first command.
  • the transmission unit transmits a second command requesting the execution result of the first command and the remaining number of times to the device device,
  • the device control apparatus according to (1) or (2), wherein the acquisition unit acquires the execution result and the remaining number of times returned in response to the second command from the device apparatus.
  • the device device is an SD card
  • the first command is a command “CMD49”
  • the device control apparatus according to (4), wherein the second command is a command “CMD48”.
  • the transmission unit transmits a first command for dividing and executing a predetermined process to the device device,
  • the acquisition unit acquires, from the device device, the remaining number of times required until the completion of the processing after the division processing of the device device by the first command is completed,
  • the transmission unit repeatedly executes transmission of the first command by the remaining number of times.
  • the acquisition unit acquires a second command for requesting the execution result of the first command and the remaining number of times, The device according to (8) or (9), wherein the transmission unit transmits the execution result and the remaining number of times to the device control apparatus according to the second command.
  • the device device is an SD card, The first command is a command “CMD49”, The device apparatus according to (11), wherein the second command is a command “CMD48”.
  • the acquisition unit acquires a first command for dividing and executing a predetermined process from the device control apparatus, After the transmission unit completes the division process by the first command, the transmission unit transmits the remaining number of times necessary until the completion of the process to the device control apparatus, The acquisition unit repeatedly acquires the first command by the remaining number of times.
  • the acquisition unit Let the computer function as an acquisition unit and a transmission unit, The acquisition unit acquires a first command for dividing and executing a predetermined process from the device control apparatus, After the transmission unit completes the division process by the first command, the transmission unit transmits the remaining number of times necessary until the completion of the process to the device control apparatus, The acquisition unit is a program for repeatedly acquiring the first command by the remaining number of times.
  • the device controller is A first transmission unit that transmits a first command that divides and executes a predetermined process to the device device; A first acquisition unit that acquires from the device device the remaining number of times required until the completion of the processing after the division processing of the device device by the first command is completed; The device device is: A second acquisition unit for acquiring the first command from the device control apparatus; A second transmission unit that transmits the remaining number of times to the device control apparatus after the division processing by the first command is completed; The first transmission unit repeatedly executes transmission of the first command as many times as the remaining number of times.
  • 1 device control system 10 host device, 11 control unit, 12 transmission unit, 13 reception unit, 20 device device, 21 reception unit, 22 transmission unit, 23 control unit, 24 processing unit, 100 digital camera, 148 CPU, 146 memory Card, 162 card controller, 164 flash memory, 201 CPU, 202 ROM, 203 RAM, 206 input unit, 207 output unit, 208 storage unit, 209 communication unit, 210 drive, 211 removable recording medium

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Information Transfer Systems (AREA)

Abstract

本技術は、1コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができるようにするデバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システムに関する。 ホスト機器の送信部は、所定の処理を分割して実行させる第1のコマンドをデバイス装置に送信する。ホスト機器の受信部は、第1のコマンドによるデバイス装置の分割処理が完了した後、処理の完了までに必要な残回数をデバイス装置から取得する。ホスト機器の送信部は、残回数だけ、第1のコマンドの送信を繰り返し実行する。本技術は、例えば、メモリカードを制御するデジタルカメラ等に適用できる。

Description

デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム
 本技術は、デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システムに関し、特に、1コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができるようにしたデバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システムに関する。
 デバイス装置が、ホスト機器の制御の下、長時間を要する処理を実行する場合、デバイス装置は、例えば、その処理が完了するまでホスト機器から新たなコマンドを受け取ることのできない状態や、処理の進捗状況を確認するコマンドのような限定的なコマンドのみを受け取れる状態へ遷移する。このような長時間を要する処理の例としては、例えば、メモリカードに対して実施する全領域初期化処理(フォーマット処理)などがある(例えば、特許文献1参照)。
特開2003-308241号公報
 しかしながら、例えば、1コマンドを受信したときの処理時間が所定時間に規定され、上記のような状態遷移が用意されていない通信プロトコルもある。そのようなシステムにおいても、1コマンドに対して許容される処理時間より長い処理時間を必要とする処理を実行できることが求められる。
 本技術は、このような状況に鑑みてなされたものであり、1コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができるようにするものである。
 本技術の第1の側面のデバイス制御装置は、所定の処理をデバイス装置に実行させる場合に、前記処理を分割して実行させる第1のコマンドを前記デバイス装置に送信する送信部と、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する取得部とを備え、前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する。
 本技術の第1の側面の制御方法は、デバイス装置の動作を制御するデバイス制御装置の、送信部が、所定の処理を分割して実行させる第1のコマンドを前記デバイス装置に送信し、取得部が、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する。
 本技術の第1の側面のプログラムは、コンピュータを、送信部と取得部として機能させ、前記送信部が、所定の処理を分割して実行させる第1のコマンドをデバイス装置に送信させ、前記取得部が、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行させるものである。
 本技術の第1の側面においては、所定の処理を分割して実行させる第1のコマンドがデバイス装置に送信され、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数が前記デバイス装置から取得される。また、前記残回数だけ、前記第1のコマンドの送信が繰り返し実行される。
 本技術の第2の側面のデバイス装置は、デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得する取得部と、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信する送信部とを備え、前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得する。
 本技術の第2の側面の制御方法は、デバイス制御装置によって制御されるデバイス装置の、取得部が、前記デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得し、送信部が、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信し、前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得する。
 本技術の第2の側面のプログラムは、コンピュータを、取得部と送信部として機能させ、前記取得部が、デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得させ、前記送信部が、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信させ、前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得させるものである。
 本技術の第2の側面においては、デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドが取得され、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数が前記デバイス制御装置に送信される。また、前記残回数だけ、前記第1のコマンドが繰り返し取得される。
 本技術の第3の側面のデバイス制御システムは、デバイス装置と、それを制御するデバイス制御装置とからなり、前記デバイス制御装置は、所定の処理を分割して実行させる第1のコマンドを前記デバイス装置に送信する第1送信部と、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する第1取得部とを備え、前記デバイス装置は、前記デバイス制御装置から、前記第1のコマンドを取得する第2取得部と、前記第1のコマンドによる分割処理が完了した後、前記残回数を前記デバイス制御装置に送信する第2送信部とを備え、前記第1送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する。
 本技術の第3の側面においては、所定の処理を分割して実行させる第1のコマンドが、デバイス制御装置から前記デバイス装置に送信され、取得される。前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数が前記デバイス装置から前記デバイス制御装置に送信される。また、前記残回数だけ、前記第1のコマンドの送信が繰り返し実行される。
 なお、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 デバイス制御装置およびデバイス装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 本技術の第1乃至第3の側面によれば、1コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用したデバイス制御システムの一実施の形態の構成例を示すブロック図である。 通信プロトコルの制約を説明する図である。 通信プロトコルの制約を説明する図である。 デバイス制御システム全体の分割制御処理を説明するフローチャートである。 ホスト機器側の分割制御処理を説明するフローチャートである。 デバイス装置側の分割制御処理を説明するフローチャートである。 分割制御処理の第1の変形例を説明するフローチャートである。 分割制御処理の第2の変形例を説明するフローチャートである。 デジタルカメラの一実施の形態の構成例を示すブロック図である。 メモリカードのハードウエア構成例を示すブロック図である。 FATファイルシステムを説明する図である。 フォーマットコマンドの種類を説明する図である。 コマンド“CMD49”のホスト-デバイス間の処理を説明する図である。 コマンド“CMD49”のフィールド構成例を示す図である。 コマンド“CMD49”の拡張レジスタのデータ例を示す図である。 コマンド“CMD48”のホスト-デバイス間の処理を説明する図である。 コマンド“CMD48”のフィールド構成例を示す図である。 コマンド“CMD48”の拡張レジスタのデータ例を示す図である。 コマンド“CMD48”および“CMD49”を用いた分割制御処理を説明するフローチャートである。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.デバイス制御システムの構成例
2.デバイス制御システム全体の分割制御処理フロー
3.ホスト機器側の分割制御処理フロー
4.デバイス装置側の分割制御処理フロー
5.分割制御処理の第1の変形例
6.分割制御処理の第2の変形例
7.デジタルカメラへの適用例
8.コンピュータ構成例
<1.デバイス制御システムの構成例>
 図1は、本技術を適用したデバイス制御システムの一実施の形態の構成例を示すブロック図である。
 図1のデバイス制御システム1は、ホスト機器10とデバイス装置20とで構成される。
 ホスト機器10は、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、記録再生装置、撮像装置、家電装置などとされる。
 デバイス装置20は、例えば、フラッシュメモリ等の半導体メモリ、ハードディスク記憶装置などとされる。
 ホスト機器10は、デバイス装置20を制御して、デバイス装置20に所定の動作(処理)を実行させるデバイス制御装置である。ホスト機器10は、制御部11、送信部12、および受信部13を備える。
 制御部11は、例えばデバイス装置20に行わせる動作を決定するなど、デバイス装置20を制御する。送信部12は、制御部11の制御の下、デバイス装置20へ所定のコマンド(制御コマンド)を送信する。受信部(取得部)13は、デバイス装置20から送信されてくるコマンド(返答コマンド)を受信(取得)し、制御部11に供給する。
 デバイス装置20は、ホスト機器10の制御に従って、所定の動作(処理)を実行する装置である。デバイス装置20は、受信部21、送信部22、制御部23、および、処理部24を備える。
 受信部(取得部)21は、ホスト機器10から送信されてくるコマンド(制御コマンド)を受信(取得)し、制御部23に供給する。送信部22は、制御部23の制御の下、コマンド(返答コマンド)をホスト機器10に送信する。
 制御部23は、受信部21を介してホスト機器10から送信されてきたコマンドに基づき、処理部24に所定の処理を実行させる。制御部23は、処理部24の処理状態または処理結果等に応じて、ホスト機器10に送信するコマンドを決定し、決定したコマンドの送信を送信部22に指示する。処理部24は、制御部23の制御に従い、所定の処理を実行する。
 以上のように構成されるデバイス制御システム1において、ホスト機器10とデバイス装置20は、所定の通信プロトコルに従って、コマンドを含むデータのやりとりを行う。なお、ホスト機器10とデバイス装置20との間の通信は、有線通信または無線通信のどちらでもよい。
 ホスト機器10とデバイス装置20との間のコマンドのやりとりを規定した通信プロトコルでは、1回のコマンドを受信したときのデバイス装置20側の処理時間が予め規定される。
 例えば、1回のコマンドを受信したときのデバイス装置20側の処理時間が1秒と規定されているとした場合、図2に示されるように、デバイス装置20は、ホスト機器10からのコマンドを受信してから1秒以内に、処理完了を表す完了通知(のコマンド)をホスト機器10に返さなければならない。
 このとき、図3に示されるように、規定された処理時間(図2の例では1秒)よりも長い処理時間(図3の例では4秒)を必要とする動作をデバイス装置20に行わせたい場合が問題となる。即ち、ホスト機器10が、処理完了が通知されるまで待ち続けてしまうと、タイムアウトとなり、規定処理時間より長い処理時間を必要とする処理を実現できない。
 そこで、図1のデバイス制御システム1は、1コマンドに対する処理時間が一定の時間に予め規定された通信プロトコルを用いて、1コマンドに対する規定処理時間を変えずに、規定処理時間より長い処理時間を必要とする処理(機能)を実現する構成とされている。
 ホスト機器10は、規定処理時間より長い処理時間を必要とする処理を、規定処理時間以内の処理に分割して複数回実行させることにより、デバイス装置20に、規定処理時間長い処理時間を必要とする処理を実行させることができる。
<2.デバイス制御システム全体の分割制御処理フロー>
 図4は、ホスト機器10とデバイス装置20との間で実行される分割制御処理を示すフローチャートである。
 なお、図4では、規定処理時間より長い処理時間を必要とする処理が処理Jであり、図2及び図3の例と同様に、規定処理時間を1秒として、処理Jが4秒の処理時間を必要とする処理であるとして説明する。この場合、処理Jを通常コマンドに割り当てられた規定処理時間以内の処理に分割して実行すると、全部で4回の分割処理が必要となる。
 ホスト機器10は、デバイス装置20に、以下に説明するステップS11乃至S15の処理を、所定の回数(この例では、4回)だけ繰り返し実行させる。
 図4では、分割された1回目のステップS11乃至S15の処理が、ステップS11-1乃至S15-1の処理として示されている。
 分割された2回目のステップS11乃至S15の処理が、ステップS11-2乃至S15-2の処理として示されている。
 分割された3回目のステップS11乃至S15の処理が、ステップS11-3乃至S15-3の処理として示されている。
 分割された4回目のステップS11乃至S15の処理が、ステップS11-4乃至S15-4の処理として示されている。
 具体的に説明すると、ホスト機器10は、ステップS11-1において、処理Jを実行させるコマンドであるコマンドJをデバイス装置20に送信する。
 ステップS12-1において、デバイス装置20は、ホスト機器10から送信されてきたコマンドJを受信する。そして、デバイス装置20は、処理Jを通常コマンドに割り当てられた規定処理時間以内の処理に分割し、分割した処理の一部を、規定処理時間内で実行する。
 分割した処理が終了すると、ステップS13-1において、デバイス装置20は、処理完了を表す完了通知(のコマンド)をホスト機器10に送信し、ホスト機器10が、それを受信する。
 ホスト機器10は、完了通知を受信した後、ステップS14-1において、処理Jの残り状況(進捗状況)を確認(要求)するコマンドであるコマンドKをデバイス装置20に送信する。
 デバイス装置20は、ステップS15-1において、受信したコマンドKに対する返答として、処理Jの完了までに必要な残りの実行回数(以下、残回数(RoC:Rest of Count)という。)を含むステータスをホスト機器10に送信し、ホスト機器10が、それを受信する。
 次に、ホスト機器10とデバイス装置20は、2回目のステップS11乃至S15の処理であるステップS11-2乃至S15-2を実行する。ステップS11-2乃至S15-2では、デバイス装置20は、4回に分割した処理のうちの2回目の処理を実行し、ステータスに含まれる残回数は“2”となる。
 次に、ホスト機器10とデバイス装置20は、3回目のステップS11乃至S15の処理であるステップS13-3乃至S15-3を実行する。ステップS11-3乃至S15-3では、デバイス装置20は、4回に分割した処理のうちの3回目の処理を実行し、ステータスに含まれる残回数は“1”となる。
 次に、ホスト機器10とデバイス装置20は、4回目のステップS11乃至S15の処理であるステップS13-4乃至S15-4を実行する。ステップS11-4乃至S15-4では、デバイス装置20は、4回に分割した処理のうちの4回目の処理を実行し、ステータスに含まれる残回数は“0”となる。
 ホスト機器10は、ステップS15-4で受信したステータスに含まれる残回数が“0”であることを確認して、処理を終了する。
 以上のように、ホスト機器10は、処理Jの実行を指令するコマンドJのデバイス装置20への送信と、処理の残回数を含むステータスを確認するコマンドKのデバイス装置20への送信とを繰り返す。
<3.ホスト機器側の分割制御処理フロー>
 図5は、ホスト機器10単体でみた場合のコマンドJを実行させる分割制御処理のフローチャートである。
 ホスト機器10では、初めに、ステップS51において、ホスト機器10は、処理Jを実行させるコマンドJをデバイス装置20に送信する。
 ステップS52において、ホスト機器10は、コマンドJに対する処理完了を表す完了通知(のコマンド)をデバイス装置20から受信する。
 完了通知を受信後、ステップS53において、ホスト機器10は、処理Jの残り状況(進捗状況)を確認するコマンドであるコマンドKをデバイス装置20に送信する。
 ステップS54において、ホスト機器10は、コマンドKに対する返答として、処理Jの完了までに必要な残回数を含むステータスをデバイス装置20から受信する。
 ステップS55において、ホスト機器10は、受信したステータスに含まれる残回数がゼロより大きいかを判定する。
 ステップS55で、残回数がゼロより大きいと判定された場合、ホスト機器10は、処理をステップS51に戻し、上述したステップS51乃至S55の処理を繰り返す。
 一方、ステップS55で、残回数がゼロ以下、即ちゼロであると判定された場合、ホスト機器10は、処理を終了する。
<4.デバイス装置側の分割制御処理フロー>
 図6は、デバイス装置20単体でみた場合のコマンドJを実行させる分割制御処理のフローチャートである。
 デバイス装置20では、初めに、ステップS71において、デバイス装置20は、ホスト機器10から送信されてきた、処理Jを実行させるコマンドJを受信する。
 ステップS72において、デバイス装置20は、1回目のコマンドJの受信であるかを判定する。ステップS72では、例えば、後述するステップS77の残回数が内部メモリに記憶されていない場合、1回目のコマンドJの受信であると判定される。
 ステップS72で、1回目のコマンドJの受信であると判定された場合、処理はステップS73に進み、デバイス装置20は、1回当たりの処理時間が規定処理時間内に収まるように処理Jを分割した分割回数を計算し、ステップS74において、1回目の分割処理を実行する。
 一方、ステップS72で、1回目のコマンドJの受信ではない、換言すれば、2回目以降のコマンドJの受信であると判定された場合、処理はステップS75に進み、デバイス装置20は、n回目(n>1)の分割処理を実行する。
 分割処理を終了すると、ステップS76において、デバイス装置20は、処理完了を表す完了通知(のコマンド)をホスト機器10に送信し、ステップS77において、残回数を1だけデクリメントした値を内部メモリに記憶する。
 ステップS78において、デバイス装置20は、ホスト機器10から送信されてきた、処理Jの残り状況(進捗状況)を確認するコマンドKを受信する。
 ステップS79において、デバイス装置20は、コマンドKに対する返答として、内部メモリに記憶している残回数を含むステータスをホスト機器10に送信して、処理を終了する。
 以上のように、ホスト機器10とデバイス装置20は、規定処理時間以上の処理時間を必要とする処理Jを、通常コマンドに割り当てられた規定処理時間以内の処理に分割して、必要回数繰り返し実行することで、規定処理時間以上の処理時間を必要とする処理を実行することができる。
 必要回数繰り返し実行されるコマンドJは、通常コマンドと同じ規定処理時間内で処理が行われるので、タイムアウトが発生することがない。また、各コマンド間では、その他のコマンドの送受信および実行も可能である。
 ただし、デバイス装置20が、n回の分割処理が必要な分割処理の途中で、他のコマンドを受信した場合、内部メモリに記憶されている残回数は一旦リセットされるので、コマンドJの実行は、最初からやり直しとなる。
<5.分割制御処理の第1の変形例>
 図7は、図4に示した分割制御処理の第1の変形例を示すフローチャートである。
 図4を参照して説明した第1の通信処理では、処理Jの実行を指令するコマンドJと、分割処理の残回数を含むステータスを確認するコマンドKの両方を、所定回数繰り返した。
 しかし、ホスト機器10は、例外的なエラー発生などの場合を除いて、1回目のコマンドKに対するステータスの受信で、コマンドJの必要な実行回数を知ることができる。
 そこで、図7に示されるように、ホスト機器10は、最初のコマンドJに対する完了通知を受信した後は、コマンドKを送信し、そのコマンドKに対する返答としてのステータスを取得するが、2回目以降のコマンドJに対する完了通知を受信した後は、コマンドKをデバイス装置20に送信しないようにしてもよい。
 図4の分割制御処理と比較して、図7の第1の変形例では、2回目以降のステップS14およびS15の処理、換言すれば、2回目以降のコマンドKの送受信と、コマンドKに対する返答であるステータスの送受信が省略されている。
 なお、上記の1回目のコマンドJに対する完了通知を受信した後に加えて、処理J全体が完了したと想定される完了通知を受信した後、即ち図7のステップS13-4の処理の後に、分割処理の残回数がゼロであることを確認するため、追加的に、コマンドKとその返信であるステータスを送受信するようにしてもよい。
 また、ステップS14およびS15のコマンドKとステータスの送受信は、コマンドJの完了通知を受信した後に、複数回に1回の割合で実行するようにしてもよい。
<6.分割制御処理の第2の変形例>
 図8は、図4に示した分割制御処理の第2の変形例を示すフローチャートである。
 図4を参照して説明した分割制御処理では、処理Jの実行を指令するコマンドJと、処理の残回数を含むステータスを確認するコマンドKの両方を、所定回数繰り返した。
 図8の第2の変形例では、図4の分割制御処理においてステップS13でデバイス装置20からホスト機器10に送信される完了通知に、処理Jの完了までに必要な残回数がパラメータとして含んで送信される。これにより、第2の変形例では、ステップS14およびS15のコマンドKとステータスの送受信が省略されている。
 具体的には、ステップS11-1において、ホスト機器10は、処理Jをデバイス装置20に実行させるコマンドJをデバイス装置20に送信する。
 ステップS12-1において、デバイス装置20は、ホスト機器10から送信されてきたコマンドJを受信し、処理Jを分割した分割処理の1回目を規定処理時間内で実行する。
 ステップS13’-1において、デバイス装置20は、処理Jの完了までに必要な残回数をパラメータとして含む、処理完了を表す完了通知(のコマンド)をホスト機器10に送信し、ホスト機器10が、それを受信する。
 以下同様の処理が、完了通知に含まれる残回数がゼロになるまで繰り返される。
 以上のように、本技術の分割制御処理によれば、通常のコマンドが実行しうる環境において、タイムアウトを発生させることなく、1コマンドで許される処理時間より長い処理時間を必要とする処理を実行することができる。そして、各コマンド間では、その他のコマンドも受理し、実行することができる。
<7.デジタルカメラへの適用例>
 次に、上述したデバイス制御システム1の制御を、具体的な装置に適用した例について説明する。
 図9は、本技術を適用したデジタルカメラ(デジタルスチルカメラ)の一実施の形態の構成例を示すブロック図である。
 このデジタルカメラ100は、撮影した画像(または音声)のデータを、例えばSDカードなどで構成されるメモリカード146に記録したり、メモリカード146に記録された画像(または音声)のデータを再生したりする。
 図9において、光学レンズ101は、カメラ機能部102の制御に基づいて、被写体の画像の光を集光し、集光した光を、光電変換部103に結像させる。
 カメラ機能部102は、CPU(central processing unit)148の制御に基づいて、光学レンズ101による被写体の撮影動作を開始させたり、終了させたりする他、光学レンズ101のズーム率、取り込む光量などを適宜制御する。
 光電変換部103は、例えば、CCD(charge-coupled device)またはCMOS(Complementary Metal Oxide Semiconductor)センサなどの光電変換素子により構成され、光学レンズ101から供給される光を電気的信号に変換し、画像信号処理部104に供給する。
 画像信号処理部104は、光電変換部103から供給される信号に基づいて、画像のデータを生成する。画像信号処理部104は、例えば、CPU148の制御に基づいて、被写体の画像に対応するアナログの信号を、A/D(Analog to Digital)変換して、デジタルの画像のデータとし、その画像のデータに対して、例えば、ホワイトバランスの調整、欠陥画素の補間などの画像処理を適用する。また、画像信号処理部104は、CPU148の制御に基づいて、MEPG(Motion Picture Experts Group)、JPEG(Joint Photographic Expert Group)などの方式による画像のデータの圧縮符号化を行ったり、圧縮符号化された画像のデータの復号を行ったりする。
 また、画像信号処理部104は、被写体の画像に対応するアナログの信号を、A/D変換して、ホワイトバランスを調整し、または欠陥画素を補間した画像のデータを、ディスプレイ106および画像入出力部105に供給する。より具体的には、画像信号処理部104は、その画像データを、ディスプレイ106の入力方式である、例えば、RGB(Red, Green, Blue)信号に変換して、ディスプレイ106に供給し、同様に、画像信号処理部104は、RGB信号を画像入出力部105にも供給する。
 画像入出力部105は、例えば、外部の装置から供給される画像信号を、画像信号処理部104に供給し、また、画像信号処理部104から出力される画像のデータに対応する信号を、外部の装置に出力する。ディスプレイ106は、例えば、LCD(Liquid Crystal Display)などにより構成され、画像信号処理部104から出力される画像のデータに対応する信号に基づく画像を表示する。
 音声入出力部121は、例えば、マイクロフォンなどにより集音された音声信号を、音声処理部122に供給し、また、音声処理部122から出力される音声のデータに対応する音声を、スピーカなどに出力する。音声処理部122は、CPU148の制御に基づいて、音声入出力部121から供給される音声の信号に基づいて、圧縮符号化された音声のデータを生成したり、圧縮符号化された音声のデータの復号を行ったりする。
 RAM(Random Access Memory)141は、ドライブ145に装着されるメモリカード146から読み出されるプログラムなどのデータ、またはプログラムによる処理に伴って生成されるデータなどを記憶し、必要に応じてCPU148に供給する。ROM142は、予め記憶されているデータを、必要に応じてCPU148に供給する。
 操作入力部143は、例えば、操作キーまたはボタンなどを有する構成とされ、ユーザにより入力された操作に対応する信号を、CPU148に出力する。
 通信部144は、例えば、ネットワークカードなどにより構成され、Ethernet(登録商標)、USB(Universal Serial Bus)などの有線通信のインタフェース、または、IEEE802.11a/b/g、Bluetooth(登録商標)などの無線通信のインタフェースとして機能し、CPU148の制御に基づいて、ネットワークに接続される他の装置との通信を行う。
 ドライブ145には、例えばSDカードなどのメモリカード146が装着される。ドライブ145は、装着されたメモリカード146にアクセスし、データを記録したり、記録したデータを読み出したりする。
 電源147は、デジタルカメラ100を駆動させるために必要となる電力を供給する。
 CPU148は、各種の演算を行ってデータの処理を行い、デジタルカメラ100全体の動作を制御する。
 以上のように構成されるデジタルカメラ100において、デジタルカメラ100を図1のホスト機器10とし、メモリカード146を図1のデバイス装置20として、上述した分割制御処理を行わせることができる。
<メモリカードのハードウエア構成例>
 図10は、デバイス装置20としてのメモリカード146のハードウエア構成例を示すブロック図である。
 メモリカード146は、ホストI/F161、カードコントローラ162、メモリI/F163、及び、フラッシュメモリ164を含んで構成される。
 ホストI/F161は、カードコントローラ162とホスト機器(デジタルカメラ100)との間のインタフェース処理を行う。
 カードコントローラ162は、例えば、CPU(Central Processing Unit),ROM(Read Only Memory),RAM(Random Access Memory)などを備え、メモリカード146全体の動作を制御する。CPUは、ROMに格納された制御プログラムをRAM上にロードして、ホスト機器からの指令に基づき、フラッシュメモリ164へのデータの書き込み、および、フラッシュメモリ164からのデータの読み出しを実行する。RAMには、取得したデータを一時的に保持するレジスタ(後述する拡張レジスタを含む)が形成される。
 メモリI/F163は、カードコントローラ162とフラッシュメモリ164との間のインタフェース処理を行う。
 フラッシュメモリ164は、所定のデータを記録する。フラッシュメモリ164は、部分的にデータを電気的に消去し、書き直すことができる不揮発性メモリであるEEPROM(Electrically Erasable Programable ROM)の一種であり、例えば、NAND型のフラッシュメモリで構成されている。
 以下では、ホスト機器10としてのデジタルカメラ100が、デバイス装置20としてのメモリカード146に行わせる、規定処理時間よりも長い処理時間を必要とする機能(処理)として、フォーマット処理の例について説明する。
 また、メモリカード146がSDカードである場合について説明する。
 メモリカード146には、FATファイルシステムにより、データが記録及び管理される。
<FATファイルシステム>
 図11は、FATファイルシステムで管理されるメモリカード146の記録領域を示している。
 FATファイルシステムで管理されるメモリカード146の記録領域は、ファイル管理領域と、ユーザデータ領域と、キャッシュ領域とに分けられる。ファイル管理領域およびユーザデータ領域は、例えば、フラッシュメモリ164に形成され、キャッシュ領域は、例えば、カードコントローラ162内のRAMに形成される。
 ファイル管理領域のLBA(Logical Block Addressing)=0の先頭セクタには、起動コード、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含むMBR(Master Boot Record)が配置されている。
 また、ファイル管理領域には、MBRに続いて、PBR(Partition Boot Record)、FAT(File Allocation Table)1、FAT2、ルートディレクトエントリが記録される。
 PBRは、メモリカード146のクラスタ数、パーティションの起動コードなどを含む情報とされ、例えば、オペレーティングシステムの起動時にメモリに読み込まれる。
 FAT1およびFAT2は、それぞれ、ファイルを構成するクラスタの連鎖情報を有するテーブルであり、ファイルシステムがファイルの読出しまたは書き込みを行うとき、FAT1またはFAT2が参照される。なお、通常FAT1とFAT2の記録内容は同様のものとされる(同じテーブルのコピーとされる)。
 ルートディレクトリエントリには、メモリカード146のルートディレクトリに記録されるファイルに対応するディレクトリエントリが格納される。例えば、メモリカード146のルートディレクトリに複数のファイルが記録される場合、ルートディレクトリエントリには、個々のファイルに関係する情報からなるディレクトリエントリが、複数のファイルのそれぞれに対して形成される。ディレクトリエントリのそれぞれには、対応するファイルの名称、そのファイルの作成日、そのファイルのサイズ、および、そのファイルの先頭クラスタ番号などの情報が格納される。
 ルートディレクトリエントリに続くユーザデータ領域には、画像データ等の実データがクラスタ単位に記録される。通常、複数のクラスタにより1つのファイルが構成されるが、このファイルを構成する複数のクラスタの連鎖情報が、上述したFAT1またはFAT2に記録されることになる。すなわちFAT1またはFAT2には、「当該パーティションに存在する複数のクラスタのうち、あるファイルの先頭が第何番目のクラスタであり、その次のクラスタは、第何番目のクラスタであり、・・・ファイルの最後のクラスタが第何番目のクラスタである」のような情報が記録される。
<フォーマットコマンドの種類>
 図12は、デジタルカメラ100のCPU148がメモリカード146のフォーマットを実行する場合のフォーマットコマンドの種類を示すテーブルである。
 CPU148が実行できるフォーマットの種類には、「Quick Format(Without File System)」、「Full Format(Without File System)」、「Quick Format(With File System)」、および「Full Format(With File System)」の4種類がある。
 「Quick Format(Without File System)」のフォーマットコマンドでは、CPU148(ファイルシステム)は、メモリカード146のキャッシュ領域のみを初期化する。
 「Full Format(Without File System)」のフォーマットコマンドでは、CPU148は、メモリカード146のユーザデータ領域とキャッシュ領域を初期化する。
 「Quick Format(With File System)」のフォーマットコマンドでは、CPU148は、メモリカード146のファイル管理領域とキャッシュ領域を初期化する。
 「Full Format(With File System)」のフォーマットコマンドでは、CPU148は、メモリカード146のファイル管理領域、ユーザデータ領域、およびキャッシュ領域を初期化する。
 メモリカード146がSDカードである場合、上述した分割制御処理を採用したフォーマット処理は、“SD Specifications Part1 Physical Layer Simplified Specification Version 5.00 (August 10, 2016)”で規定されている拡張機能用のコマンド”CMD48“および”CMD49“を利用して、実現することができる。
 コマンド“CMD48”および“CMD49”は、SDカードのRAM上に形成される拡張レジスタを介して、ホスト機器がデータを読み書きするコマンドであり、コマンド“CMD48”が、ホスト機器がSDカードからデータを読み出すコマンドであり、コマンド“CMD49”が、ホスト機器がSDカードにデータを書き込むコマンドである。
<コマンド“CMD49”の説明>
 初めに、図13乃至図15を参照して、ホスト機器10であるデジタルカメラ100(のCPU148)が、フォーマット処理の実行を命令するために用いられるコマンド“CMD49”について説明する。
 図13は、コマンド“CMD49”を用いたホスト-デバイス間の処理を説明する図である。
 デジタルカメラ100(のCPU148)は、拡張レジスタの512バイトのデータブロックに所定のデータをセットし、コマンド“CMD49”をメモリカード146に送信する。メモリカード146は、コマンド“CMD49”を受信すると、レスポンス“R1”をデジタルカメラ100に返信した後、拡張レジスタから、512バイトのデータブロックを読み出す。
 メモリカード146は、512バイトのデータブロックを正しく受け取れたか否かを表すCRCステータスをデジタルカメラ100に返信し、コマンド“CMD49”で命令された処理を実行している間、ビジー(Busy)状態とする。このビジー状態の最大時間は1秒である。
 コマンド“CMD49”のパラメータには、メモリカード146が読み出すべきデータ(有効データ)が記録された拡張レジスタ内の位置(読み出し位置)を指定するADDRと、読み出すべきデータ(有効データ)のデータ長を指定するLENなどが含まれている。拡張レジスタ内の、LENが示すデータ長以降のデータは無効なデータとなる。
 図14は、コマンド“CMD49”のフィールド構成例を示している。
 “S”は、コマンドのスタートビットを示し、“T”は転送方向を示すビットであり、“INDEX”は、コマンド番号を表す。“INDEX”の“110001b”が2進数で「49」を表す(最後の“b”は2進を表す)。
 “MIO”は、メモリ空間またはI/O空間のいずれかを表す。“MIO=0”の場合、メモリ空間を表す。
 “FNO”は、拡張機能を識別する番号を表し、最大16個までの拡張機能が指定できる。例えば、フォーマット機能が1番に割り当てられている場合、“FNO=1”となる。
 “rsv”は、将来のための予備のビットである。
 “ADDR”は、17ビットを用いて、拡張レジスタの読み出し位置を表す。
 “LEN”はデータ長を示している。9ビットのLENフィールドにより、拡張レジスタ内の読み出しが必要な有効データのデータ長が指定される。“1FFh”は、16進で512を表す(最後の“h”は16進を表す)。
 “CRC7”は、巡回冗長検査(cyclic redundancy check)コードを示し、“E”は、コマンドのエンドビットを示している。
 図15は、コマンド“CMD49”を用いたフォーマット処理実行命令において、拡張レジスタの512バイトのデータブロックに記載されるデータ例を示している。
 なお、図15では、512バイトのうち、先頭の48バイトのみが示されている。
 先頭の1バイト(1バイト目)には、コマンド“CMD49”のFNO”で特定されるフォーマット機能を、実行するのか(“00h”)、または、停止するのか(“01h”)を指定する情報が入力される。
 次の1バイト(2バイト目)には、コマンド“CMD49”のFNO”で特定されるフォーマット機能の種類を指定する情報が入力される。この情報が“00h”である場合、フォーマットの種類が「Quick Format(Without File System)」を表し、“01h”である場合、「Full Format(Without File System)」を表し、“10h”である場合、「Quick Format(With File System)」を表し、“11h”である場合、「Full Format(With File System)」を表す。
 3バイト目以降は、将来のための予備(Reserved)とされる。予備は、“FFh”で表される。
 デジタルカメラ100(のCPU148)は、以上のコマンド“CMD49”をメモリカード146に送信することにより、フォーマット処理の実行をメモリカード146に命令することができる。
<コマンド“CMD48”>
 次に、図16乃至図18を参照して、デバイス装置20であるメモリカード146が、フォーマット処理の実行結果(ステータス)を返すために用いられるコマンド“CMD48”について説明する。
 図16は、コマンド“CMD48”を用いたホスト-デバイス間の処理を説明する図である。
 デジタルカメラ100(のCPU148)は、コマンド“CMD48”をメモリカード146に送信する。メモリカード146は、コマンド“CMD48”を受信すると、レスポンス“R1”をデジタルカメラ100に返信した後、拡張レジスタの512バイトのデータブロックに、所定のデータを書き込む。
 デジタルカメラ100は、拡張レジスタの512バイトのデータブロックに書き込まれたデータを読み出す。
 コマンド“CMD48”のパラメータには、メモリカード146が書き込むべきデータ(有効データ)の拡張レジスタ内の位置(書き込み位置)を指定するADDRと、書き込むデータ(有効データ)のデータ長を指定するLENなどが含まれている。拡張レジスタ内の、LENが示すデータ長以降のデータは無効なデータとなる。
 図17は、コマンド“CMD48”のフィールド構成例を示している。
 コマンド番号を表す“INDEX”は、2進数で「48」を表す“110000b”となっている(最後の“b”は2進を表す)。
 その他のパラメータは、コマンド“CMD49”と同様であるので、説明は省略する。
 図18は、コマンド“CMD48”を受信したメモリカード146が、拡張レジスタ内の512バイトのデータブロックに記載するデータ例を示している。
 なお、図18では、512バイトのうち、先頭の48バイトのみが示されている。
 先頭から16バイトは、将来のための予備(Reserved)とされる。予備は、“FFh”で表される。
 次の2バイト(17,18バイト目)には、フォーマット処理を成功したか否かを示す情報が入力される。この情報が“00h”である場合、フォーマット処理の成功を表し、“00h”以外である場合、フォーマット処理の失敗を表す。
 次の2バイト(19,20バイト目)には、フォーマット処理の完了までに必要な残りの実行回数(残回数)が入力される。
 次の12バイト(21ないし32バイト目)は、将来のための予備(Reserved)とされる。
 次の2バイト(33,34バイト目)には、フォーマット種類「Quick Format(Without File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
 次の2バイト(35,36バイト目)には、フォーマット種類「Full Format(Without File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
 次の2バイト(37,38バイト目)には、フォーマット種類「Quick Format(With File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
 次の2バイト(39,40バイト目)には、フォーマット種類「Full Format(With File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
 次の2バイト(41,42バイト目)には、フォーマット種類「Full Format(With File System)」でフォーマット処理を実行した場合の見積り実行時間(秒)が入力される。
 43バイト目以降は、将来のための予備(Reserved)とされる。
 以上より、デジタルカメラ100(のCPU148)は、コマンド“CMD48”をメモリカード146に送信することにより、フォーマット処理の実行結果、残回数などをメモリカード146から取得することができる。
<コマンド“CMD48”および“CMD49”を用いた分割制御処理>
 上述したコマンド“CMD48”および“CMD49”を用いた、デジタルカメラ100とメモリカード146との間のフォーマット処理を、図4に示した分割制御処理と対応させると、図19に示すようになる。
 デジタルカメラ100は、ステップS11において、拡張レジスタの512バイトのデータブロックに、フォーマット処理の実行(1バイト目)と、フォーマット種類(2バイト目)をセットし、フォーマット機能を示す“FNO”を含むコマンド“CMD49”をメモリカード146に送信する。
 ステップS12において、メモリカード146は、デジタルカメラ100から送信されてきたコマンド“CMD49”を受信し、拡張レジスタを参照する。そして、メモリカード146は、フォーマット処理の一部を、最長1秒の処理時間内で実行する。
 メモリカード146は、フォーマット処理を実行中、ビジー状態を発行し、デジタルカメラ100は、ビジー状態の終了をもって、ステップS13における完了通知と認識する。
 デジタルカメラ100は、ビジー状態が終了した後、ステップS14において、フォーマット機能を示す“FNO”を含むコマンド“CMD48”をメモリカード146に送信する。
 メモリカード146は、ステップS15において、コマンド“CMD48”に対する返答として、拡張レジスタの512バイトのデータブロックに、フォーマット処理の実行結果(17および18バイト目)、フォーマット処理完了までの残回数(19および20バイト目)などをセットし、デジタルカメラ100が、この拡張レジスタのデータを読み出す。
 以上のステップS11ないしS15の処理が、フォーマット処理完了までの残回数がゼロになるまで、繰り返される。
 なお、コマンド“CMD48”および“CMD49”は拡張機能用のコマンドであるので、メモリカード146が、この拡張機能をサポートしているか否かが不明な場合もある。そのような場合には、デジタルカメラ100は、コマンド“ACMD51”をメモリカード146に送信し、SD構成を示すレジスタを確認することにより、拡張機能をサポートしているか否かを確認した上で、上述の処理を開始することができる。あるいはまた、確認せずにコマンド“CMD49”を送信し、エラー等が発生した場合に、サポートしていないものとして処理を中止してもよい。
 また、デジタルカメラ100は、コマンド“CMD49”によってフォーマット処理の実行を命令する前にコマンド“CMD48”を送信し、拡張レジスタの33乃至42バイト目に書き込まれる、各フォーマット処理の見積り回数や見積り実行時間を確認してもよい。これにより、デジタルカメラ100は、各フォーマットの種類による処理時間の違いを確認し、どの種類のフォーマットを実行させるかを決定することができる。
 以上、説明したように、デジタルカメラ100とメモリカード146との間の動作制御に、本技術の分割制御処理を適用することにより、1秒以上の処理時間が必要なフォーマット処理を実現することができる。
 また、繰り返し実行されるコマンド“CMD48”または“CMD49”の間に、新たなコマンドが発行された場合、コマンド“CMD48”および“CMD49”それぞれは、1コマンドで許容される処理時間内で処理を実行する通常コマンドであるので、メモリカード146は、その新たなコマンドを通常に受け付けることもできる。
 即ち、本技術によれば、ホスト機器であるデジタルカメラ100から任意のコマンドを受理および処理できる状態を維持しながら、1コマンドで許容される処理時間より長い処理時間を必要とする処理を実行させることができる。
 なお、上述した実施の形態では、1コマンドで許容される処理時間より長い処理時間を必要とする処理の例としてフォーマット処理の例を説明した。
 しかしながら、本技術は、フォーマット処理以外の処理に適用することができることは言うまでもない。例えば、メモリカード146内のフラッシュメモリ164の使用回数を平滑化するウェアレベリング処理や、断片化を整理するデフラグ処理、デバイスの自律検査処理などにも、本技術は適用することができる。
<8.コンピュータ構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図20は、ホスト機器10またはデバイス装置20として、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
 バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、及びドライブ210が接続されている。
 入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体211を駆動する。
 以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータでは、プログラムは、リムーバブル記録媒体211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
 本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した実施の形態の全てまたは一部を適宜組み合わせた形態を採用することができる。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 所定の処理を分割して実行させる第1のコマンドをデバイス装置に送信する送信部と、
 前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する取得部と
 を備え、
 前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する
 デバイス制御装置。
(2)
 前記取得部は、前記送信部が前記第1のコマンドを送信する度に、前記残回数を前記デバイス装置から取得する
 前記(1)に記載のデバイス制御装置。
(3)
 前記取得部は、前記分割処理が完了した旨の通知とともに、前記残回数を前記デバイス装置から取得する
 前記(1)または(2)に記載のデバイス制御装置。
(4)
 前記送信部は、前記第1のコマンドの実行結果と前記残回数を要求する第2のコマンドを前記デバイス装置に送信し、
 前記取得部は、前記第2のコマンドに応じて返信される前記実行結果と前記残回数を前記デバイス装置から取得する
 前記(1)または(2)に記載のデバイス制御装置。
(5)
 前記デバイス装置はSDカードであり、
 前記第1のコマンドは、コマンド“CMD49”であり、
 前記第2のコマンドは、コマンド“CMD48”である
 前記(4)に記載のデバイス制御装置。
(6)
 デバイス装置の動作を制御するデバイス制御装置の、
 送信部が、所定の処理を分割して実行させる第1のコマンドを前記デバイス装置に送信し、
 取得部が、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
 前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する
 制御方法。
(7)
 コンピュータを、送信部と取得部として機能させ、
 前記送信部が、所定の処理を分割して実行させる第1のコマンドをデバイス装置に送信させ、
 前記取得部が、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
 前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行させる
 プログラム。
(8)
 デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得する取得部と、
 前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信する送信部と
 を備え、
 前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得する
 デバイス装置。
(9)
 前記送信部は、前記取得部が前記第1のコマンドを取得する度に、前記残回数を前記デバイス制御装置に送信する
 前記(8)に記載のデバイス装置。
(10)
 前記送信部は、前記第1のコマンドによる分割処理が完了した旨の通知とともに、前記残回数を前記デバイス制御装置に送信する
 前記(8)または(9)に記載のデバイス装置。
(11)
 前記取得部は、前記第1のコマンドの実行結果と前記残回数を要求する第2のコマンドを取得し、
 前記送信部は、前記第2のコマンドに応じて、前記実行結果と前記残回数を前記デバイス制御装置に送信する
 前記(8)または(9)に記載のデバイス装置。
(12)
 前記デバイス装置はSDカードであり、
 前記第1のコマンドは、コマンド“CMD49”であり、
 前記第2のコマンドは、コマンド“CMD48”である
 前記(11)に記載のデバイス装置。
(13)
 デバイス制御装置によって制御されるデバイス装置の、
 取得部が、前記デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得し、
 送信部が、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信し、
 前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得する
 制御方法。
(14)
 コンピュータを、取得部と送信部として機能させ、
 前記取得部が、デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得させ、
 前記送信部が、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信させ、
 前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得させる
 プログラム。
(15)
 デバイス装置と、それを制御するデバイス制御装置とからなり、
 前記デバイス制御装置は、
  所定の処理を分割して実行させる第1のコマンドを前記デバイス装置に送信する第1送信部と、
  前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する第1取得部と
 を備え、
 前記デバイス装置は、
  前記デバイス制御装置から、前記第1のコマンドを取得する第2取得部と、
  前記第1のコマンドによる分割処理が完了した後、前記残回数を前記デバイス制御装置に送信する第2送信部と
 を備え、
 前記第1送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する
 デバイス制御システム。
 1 デバイス制御システム, 10 ホスト機器, 11 制御部, 12 送信部, 13 受信部, 20 デバイス装置, 21 受信部, 22 送信部, 23 制御部, 24 処理部, 100 デジタルカメラ, 148 CPU, 146 メモリカード, 162 カードコントローラ, 164 フラッシュメモリ, 201 CPU, 202 ROM, 203 RAM, 206 入力部, 207 出力部, 208 記憶部, 209 通信部, 210 ドライブ, 211 リムーバブル記録媒体

Claims (13)

  1.  所定の処理を分割して実行させる第1のコマンドをデバイス装置に送信する送信部と、
     前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する取得部と
     を備え、
     前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する
     デバイス制御装置。
  2.  前記取得部は、前記送信部が前記第1のコマンドを送信する度に、前記残回数を前記デバイス装置から取得する
     請求項1に記載のデバイス制御装置。
  3.  前記取得部は、前記分割処理が完了した旨の通知とともに、前記残回数を前記デバイス装置から取得する
     請求項1に記載のデバイス制御装置。
  4.  前記送信部は、前記第1のコマンドの実行結果と前記残回数を要求する第2のコマンドを前記デバイス装置に送信し、
     前記取得部は、前記第2のコマンドに応じて返信される前記実行結果と前記残回数を前記デバイス装置から取得する
     請求項1に記載のデバイス制御装置。
  5.  デバイス装置の動作を制御するデバイス制御装置の、
     送信部が、所定の処理を分割して実行させる第1のコマンドを前記デバイス装置に送信し、
     取得部が、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
     前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する
     制御方法。
  6.  コンピュータを、送信部と取得部として機能させ、
     前記送信部が、所定の処理を分割して実行させる第1のコマンドをデバイス装置に送信させ、
     前記取得部が、前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
     前記送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行させる
     プログラム。
  7.  デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得する取得部と、
     前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信する送信部と
     を備え、
     前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得する
     デバイス装置。
  8.  前記送信部は、前記取得部が前記第1のコマンドを取得する度に、前記残回数を前記デバイス制御装置に送信する
     請求項7に記載のデバイス装置。
  9.  前記送信部は、前記第1のコマンドによる分割処理が完了した旨の通知とともに、前記残回数を前記デバイス制御装置に送信する
     請求項7に記載のデバイス装置。
  10.  前記取得部は、前記第1のコマンドの実行結果と前記残回数を要求する第2のコマンドを取得し、
     前記送信部は、前記第2のコマンドに応じて、前記実行結果と前記残回数を前記デバイス制御装置に送信する
     請求項7に記載のデバイス装置。
  11.  デバイス制御装置によって制御されるデバイス装置の、
     取得部が、前記デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得し、
     送信部が、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信し、
     前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得する
     制御方法。
  12.  コンピュータを、取得部と送信部として機能させ、
     前記取得部が、デバイス制御装置から、所定の処理を分割して実行させる第1のコマンドを取得させ、
     前記送信部が、前記第1のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信させ、
     前記取得部は、前記残回数だけ、前記第1のコマンドを繰り返し取得させる
     プログラム。
  13.  デバイス装置と、それを制御するデバイス制御装置とからなり、
     前記デバイス制御装置は、
      所定の処理を分割して実行させる第1のコマンドを前記デバイス装置に送信する第1送信部と、
      前記第1のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する第1取得部と
     を備え、
     前記デバイス装置は、
      前記デバイス制御装置から、前記第1のコマンドを取得する第2取得部と、
      前記第1のコマンドによる分割処理が完了した後、前記残回数を前記デバイス制御装置に送信する第2送信部と
     を備え、
     前記第1送信部は、前記残回数だけ、前記第1のコマンドの送信を繰り返し実行する
     デバイス制御システム。
PCT/JP2017/037970 2016-11-04 2017-10-20 デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム WO2018084004A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018548629A JPWO2018084004A1 (ja) 2016-11-04 2017-10-20 デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム
US16/330,901 US20210278813A1 (en) 2016-11-04 2017-10-20 Device control apparatus, device apparatus, control method, program, and device control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016215947 2016-11-04
JP2016-215947 2016-11-04

Publications (1)

Publication Number Publication Date
WO2018084004A1 true WO2018084004A1 (ja) 2018-05-11

Family

ID=62076584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/037970 WO2018084004A1 (ja) 2016-11-04 2017-10-20 デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム

Country Status (3)

Country Link
US (1) US20210278813A1 (ja)
JP (1) JPWO2018084004A1 (ja)
WO (1) WO2018084004A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI771697B (zh) * 2020-06-12 2022-07-21 佳易科技股份有限公司 具資料上傳功能之儲存卡裝置及應用於其上的資料上傳方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054103A (ja) * 2007-08-29 2009-03-12 Panasonic Corp 複数のメモリカードを制御するホスト機器
JP2011192240A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054103A (ja) * 2007-08-29 2009-03-12 Panasonic Corp 複数のメモリカードを制御するホスト機器
JP2011192240A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム

Also Published As

Publication number Publication date
US20210278813A1 (en) 2021-09-09
JPWO2018084004A1 (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
US10659553B2 (en) Memory system allowing host to easily transmit and receive data
US7809873B2 (en) Direct data transfer between slave devices
KR101154657B1 (ko) 메모리 카드 및 상기 메모리 카드의 제어 방법, 메모리 카드에 대한 액세스 제어 방법, 및 컴퓨터 프로그램이 기록된 기록 매체
CN1237455C (zh) 数据传输控制装置、电子设备、及数据传输控制方法
JP2010119105A (ja) 用途に応じて複数のイメージセンサを制御するための装置及び方法
US20090135256A1 (en) Sata camera system
WO2010134300A1 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
KR20110069271A (ko) 촬상 장치 및 칩 간의 메모리 공유 방법
CN206162501U (zh) 数据转换设备、芯片、及影像系统
JP2006216011A (ja) メモリ・カード及びその制御方法、メモリ・カードに対するアクセス制御方法、並びにコンピュータ・プログラム
JP2014126989A (ja) 制御装置、制御方法、及び、プログラム
JP5570665B2 (ja) デバイス装置、アクセス装置、アクセスシステム、及び、通信確立方法
US20230061585A1 (en) Image capturing apparatus and method for controlling the same, and non-transitory computer-readable storage medium
WO2018084004A1 (ja) デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システム
KR100663380B1 (ko) 촬상 장치 및 영상 신호 생성 방법
JP4816740B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2006146460A (ja) 通信システム、記憶装置、並びに制御装置
JP2010198138A (ja) データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
JPH10285240A (ja) データ通信装置及び方法、データ通信システム及び記憶媒体
JP2014167763A (ja) 電子機器及びその制御方法
US7007282B1 (en) Slave device and data sharing method
US20140059224A1 (en) Functional device, access system, and communication establishing method
JP2015119334A (ja) 情報処理装置、情報処理方法及びプログラム
US20190278638A1 (en) Image data management apparatus and method therefor
JP2006211026A (ja) 撮像装置、画像データ転送方法、及びコンピュータプログラム

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: 17866630

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018548629

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17866630

Country of ref document: EP

Kind code of ref document: A1