WO2022176358A1 - ホスト装置、スレーブ装置およびデータ転送システム - Google Patents
ホスト装置、スレーブ装置およびデータ転送システム Download PDFInfo
- Publication number
- WO2022176358A1 WO2022176358A1 PCT/JP2021/046255 JP2021046255W WO2022176358A1 WO 2022176358 A1 WO2022176358 A1 WO 2022176358A1 JP 2021046255 W JP2021046255 W JP 2021046255W WO 2022176358 A1 WO2022176358 A1 WO 2022176358A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- line
- clock
- data
- slave device
- host device
- Prior art date
Links
- 238000012546 transfer Methods 0.000 title claims description 35
- 238000004080 punching Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000005070 sampling Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 101001003569 Homo sapiens LIM domain only protein 3 Proteins 0.000 description 3
- 101000639972 Homo sapiens Sodium-dependent dopamine transporter Proteins 0.000 description 3
- 102100026460 LIM domain only protein 3 Human genes 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010024796 Logorrhoea Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/067—Record 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/07—Record 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/077—Constructional details, e.g. mounting of circuits in the carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
Definitions
- the present disclosure relates to host devices, slave devices, and data transfer systems formed by these devices.
- a data transfer system is formed by connecting a slave device to a host device such as a personal computer or a camera, and data is transmitted and received within the data transfer system.
- Patent Literature 1 discloses a technique that allows a user to use a slave device as a bootable medium.
- the host device when the frequency of the clock signal increases as the access speed between the host device and the slave device increases, it becomes necessary for the host device to adjust the punching timing of the data transmitted from the slave device.
- the punching timing depends on the surrounding environment such as temperature, the host device and There are infinite variations due to individual differences in SD cards, and there are infinite combinations of host devices and SD cards. Therefore, unless the punching timing is adjusted between the SD card and the host device that are combined each time the device is activated, there is a possibility that data cannot be obtained correctly.
- the adjustment of the punching timing is also called "tuning".
- Patent Document 2 discloses a technique related to tuning between a slave device and a host device.
- the present disclosure provides a data transfer system capable of acquiring tuning blocks while driving signal lines for sending and receiving commands to a low level.
- a data transfer system of the present disclosure is a data transfer system having a slave device and a host device connected to the slave device by at least a power supply line, a clock line, a command line and a data line.
- the host device After being connected to the slave device, the host device supplies power to the slave device through the power supply line.
- the host device provides the slave device with a first clock having a first frequency and a first voltage value on the clock line.
- the host device drives the command line, which is at a high level, to a low level.
- the host device stops supplying the first clock.
- the host device supplies a second clock having a second frequency and a second voltage value on the clock line to the slave device with the data line driven low.
- the slave device drives the data line to a high level within a first predetermined period after the second clock is supplied, and drives the data line to a high level within a second predetermined period from the slave device for at least a third predetermined period. , a plurality of tuning blocks are sent to the host device on the data line.
- the host device performs tuning for adjusting punching timing using the tuning block received on the data line.
- the host device receives boot data on the data line from the slave device, and starts up using the received boot data.
- a data transfer system capable of acquiring tuning blocks while driving a signal line for transmitting and receiving commands to a low level.
- Block diagram explaining the configuration of a data transfer system in which a slave device is connected to a host device Schematic diagram showing the timing after power-on in the host device and slave device Schematic diagram of the sequence in the host device and slave device Diagram explaining the tuning block Schematic diagram showing the timing of transmission and reception of tuning blocks when conventional technology is applied
- Schematic diagram showing the timing of transmission and reception of tuning blocks in this embodiment Schematic diagram showing another tuning block transmission/reception timing in the present embodiment
- FIG. 1 is a block diagram illustrating the configuration of a data transfer system in which a slave device 120 is connected to a host device 100.
- the host device 100 has at least a power supply 101 and an SoC 102 .
- the SoC 102 includes at least a regulator 103 , an SW 104 that is an electrical switch that selects one of two power inputs, a host device I/F 105 , and a controller 106 .
- the regulator 103 can also be arranged outside the SoC 102 .
- the host device 100 and the slave device 120 are mechanically connected. Also, the host device 100 is electrically connected to the slave device 120 via the VDD line 110, which is a 3.3V power supply line.
- the slave device 120 comprises at least an SoC 121 and a backend module 126.
- the backend module 126 refers to a device such as a recording medium such as flash memory or a wireless communication module.
- SoC 121 includes at least regulator 122 , SW 123 , slave device I/F 124 and controller 125 .
- the regulator 122 can also be arranged outside the SoC 121 .
- an SD card is used as an example of the slave device 120 for explanation.
- the slave device 120 is not limited to the SD card.
- Compact Flash (registered trademark) and Memory Stick (registered trademark) are also examples of the slave device 120 .
- the host device I/F 105 and the slave device I/F 124 perform signal communication via lines including a CLK (clock) line 111, a CMD (command) line 112, and a DAT (data) line 113.
- the DAT line 113 includes four signal lines, a DAT0 line 113a, a DAT1 line 113b, a DAT2 line 113c, and a DAT3 line 113d.
- a signal being at a low level means that the voltage of the signal is at or near 0V.
- a high-level signal means that the voltage of the signal is higher than the low-level signal and can be distinguished from the low-level signal. Note that the voltage value representing the high level can be determined according to the application of the data transfer system. In this embodiment, a high voltage signal of 3.3V and a low voltage signal of 1.8V are used as examples of voltage values representing a high level.
- FIG. 2 is a schematic diagram of a timing chart after power-on in the host device 100 and the slave device 120.
- FIG. 2 is a schematic diagram of a timing chart after power-on in the host device 100 and the slave device 120.
- FIG. 3 is a schematic diagram of the sequence in the host device 100 and the slave device 120.
- FIG. 3 is a schematic diagram of the sequence in the host device 100 and the slave device 120.
- the host device 100 starts activation processing of the slave device 120 at timing t1 when the slave device 120 is connected (S300, S350).
- the host device 100 supplies 3.3V power from the power supply 101 at timing t2.
- 3.3V power is supplied to slave device 120 via SoC 102 , regulator 103 , SW 104 and VDD line 110 .
- the host device 100 pulls up the DAT line 113 to 3.3 V (described as 3.3 V pull-up in FIG. 2) at timing t2 (S302).
- the host device 100 sends the first clock to the CLK line 111 after the voltage applied to the VDD line 110 reaches 2.7 V at timing t3 (S304).
- the frequency of the first clock is 400 KHz or less (first frequency).
- the voltage value of the first clock is 3.3V (first voltage value).
- the host device 100 After sending the first clock for a predetermined number of clocks (74 clocks or more as an example), the host device 100 drives the CMD line 112 to a high level at timing t4 (S306), and after timing t4, at timing t5. CMD line 112 is driven low (S308).
- the host device 100 stops sending the first clock to the CLK line 111 (S310). This is an operation for sending a second clock to the CLK line 111 in subsequent processing.
- the slave device 120 If the slave device 120 does not detect that the CMD line 112 has been driven to low level (N in S352), it waits for the next instruction from the host device 100 (S354).
- the slave device 120 When the slave device 120 detects that the CMD line 112 has been driven low (Y in S352), it drives the DAT line 113 low after a predetermined period of time (S356).
- the host device 100 does not supply a clock to the CLK line 111 and changes its own transfer mode from the previous mode during the period during which the CMD line 112 and the DAT line 113 are at low level (the shaded period in FIG. 2). to a high-speed transfer mode (S312).
- a high-speed transfer mode is the SDR104 mode defined by the UHS-I standard.
- the bus width used for data transfer is expanded from 1 bit to 4 bits.
- the voltage values of the clock and data signals used for data transfer are 1.8V.
- the controller 106 supplies power to the host device I/F 105 via the regulator 103 instead of the 3.3 V power directly supplied from the power supply 101.
- the SW 104 is controlled to change to the 1.8V power supply that is used.
- the maximum clock frequency used for data transfer is 208 MHz.
- the slave device 120 also changes its own transfer mode to a higher speed than the previous modes during the period when the clock is not supplied to the CLK line 111 and the CMD line 112 and the DAT line 113 are at low level (shaded period in FIG. 2). high-speed transfer mode (SDR104 mode in this embodiment) (S358).
- the controller 125 changes the power supply to the slave device I/F 124 from the 3.3V power directly supplied from the VDD line 110 to the 1.8V power supplied via the regulator 122 . to control.
- the host device 100 sends out the second clock to the CLK line 111 at timing t7 after a predetermined period (eg, 5 ms) has elapsed from timing t6 (S314).
- the frequency of the second clock is 208 MHz or higher (second frequency).
- the voltage value of the second clock is 1.8V (second voltage value).
- the period from timing t2 to t7 is called a boot initialization mode.
- the slave device 120 drives the DAT line 113 to high level (1.8 V) at timing t8 within a predetermined period (for example, 1 ms) from timing t7 (described as 1.8 V driven by slave in FIG. 2) (S360). ).
- the slave device 120 repeatedly transmits tuning blocks a predetermined number of times (40 times in one example) to the host device 100 via the DAT line 113 at timing t9 within a predetermined period (100 ms in one example) from timing t7 (S362).
- the host device 100 receives the tuning block and performs tuning (S316). Specifically, the host device 100 reads the received tuning block and confirms whether the predefined tuning block can be obtained correctly. If the data is not received correctly, it means that the timing (sampling point) of the data with respect to the reference point of each clock is not set appropriately. Tuning is performed using blocks.
- the slave device 120 After transmitting tuning blocks a predetermined number of times, the slave device 120 transmits boot data (S364).
- the host device 100 receives the boot data (S318). If tuning is performed correctly in the host device 100, boot data can be received correctly.
- the host device 100 When the host device 100 completes receiving the boot data (Y in S318), it drives the CMD line 112 to high level (1.8 V) at timing t10 (S322). This ends the transmission and reception of tuning blocks and boot data (S324). The host device 100 then initializes the backend module 126 and starts up the host device 100 and the like using the boot data. After completion of startup, data reading and writing are performed between the host device 100 and the slave device 120 in data blocks.
- the host device 100 attempts initialization in normal mode (S320).
- the slave device 120 When the slave device 120 confirms that the CMD line 112 has been driven to a high level (Y of S366), it ends transmission and reception of boot data (S370).
- the period from timing t7 to t10 is called boot mode.
- tuning block transmission and reception details [3.1. Transmitting and Receiving Tuning Blocks According to the Prior Art] 4 and 5, the prior art transmission and reception of tuning blocks without commands (hereafter referred to as tuning block transfers) will be described.
- FIG. 4 is a diagram explaining the detailed configuration of the tuning block.
- the tuning block provides signal transmission from slave device 120 to host device 100 using four signal lines (collectively DAT lines 113): DAT0 line 113a, DAT1 line 113b, DAT2 line 113c, and DAT3 line 113d.
- a type of data sent to The tuning block consists of a 1-bit length start bit, a 128-bit length tuning pattern, a 16-bit length CRC (Cyclic Redundancy Check), and a 1-bit end bit for a total of 146 bits for each of the DAT0 line 113a to the DAT3 line 113d.
- the start bit and end bit are indicated as S and E, respectively, but the numerical values are "0" and "1", respectively.
- the slave device 120 drives the DAT line 113 high during the period before and after the slave device 120 transmits the tuning block. Therefore, during this period, the host device 100 detects "1" in all DAT lines.
- the host device 100 determines that the host device 100 has received the tuning block when all the signal lines of the DAT lines 113 are "1" for a certain period of time and then "0" is detected on all the DAT lines by the start bit. After counting 146 clocks corresponding to the tuning block length, when "1" is detected as the end bit in all DAT lines, the host device 100 determines that the tuning block has been received.
- the 128-bit length tuning pattern in this embodiment is as follows, and is arranged in ascending order of bit number from the upper left to the lower right (hexadecimal notation).
- FIG. 5 is a schematic diagram showing timing details when tuning blocks are transmitted multiple times after timing t7 in FIG.
- the slave device 120 drives the DAT line to a high level at timing t8 within a predetermined time (1 ms) after the host device 100 starts sending the second clock at timing t7,
- the slave device 120 transmits the first tuning block (denoted as tuning block [1] in FIG. 5).
- the timing will be explained using the clock numbers assigned to the respective clocks after timing t9.
- the slave device 120 waits at least a predetermined clock period N1 (eight clocks in this embodiment) from the next clock (clock number 146) after completing the transmission of the end bit of tuning block [1], and starts the next tuning block.
- N1 is defined as an interval to be provided between the previous data block and the next data block when the slave device 120 continuously transmits data blocks after completion of activation, and is called the number of clocks between data blocks.
- the slave device 120 After repeating the above operation a predetermined number of times (40 times in this embodiment), the slave device 120 continues to transmit boot data.
- the expected operation of the host device 100 is that, at the timing of the clock number 0, the start bit, that is, "0" is detected on all four signal lines of the DAT line 113, and tuning block [1] is received.
- the end bit, ie, "1" is detected at the timing of clock number 145, and the completion of reception of tuning block [1] is detected. Then, it correctly detects the start bit and end bit of the tuning blocks repeatedly transmitted from the slave device 120, and recognizes the reception of a total of 40 tuning blocks.
- the host device 100 cannot correctly recognize tuning blocks after tuning block [2], it will receive boot data without performing tuning, and the original purpose of correctly acquiring boot data cannot be achieved. .
- the result of reading the tuning pattern in tuning block [1] does not always match the predetermined tuning pattern held in host device 100 in advance. do not have. This means that the sampling point when reading tuning block [1] is not correct and the sampling point needs to be adjusted using subsequent tuning blocks received.
- the host device 100 cannot receive the 40 tuning blocks correctly, and erroneously recognizes part of the boot data following the 40 tuning blocks as a tuning block, and thus cannot receive the boot data itself correctly.
- bit numbers 7 and 8 are consecutive “0" for all DAT lines. Therefore, no matter how much the data is delayed, it is possible to detect the start bit when bit number 8 is received at the latest by dropping consecutive "00" of bit numbers 7 and 8 regardless of the sampling point.
- FIG. 6 is a timing chart when the host device detects the start bit of tuning block [1] at the timing of clock number 8.
- FIG. 6 is a timing chart when the host device detects the start bit of tuning block [1] at the timing of clock number 8.
- the host device 100 detects the start bit by consecutive "0"s in bit numbers 7 and 8 at a timing up to clock number 8 at the latest. At this time, the host device 100 receives tuning block [1] with a maximum delay of 8 clocks from the true timing transmitted by the slave device 120 . In this way, when the host device 100 receives the start bit, the maximum number of clocks delayed with respect to the true timing is defined as the maximum reception delay clock number and denoted by N2.
- the maximum reception delay clock number N2 depends on the tuning pattern, and is eight in this embodiment.
- the host device 100 After receiving the start bit, the host device 100 counts the number of clocks during reception of tuning block [1], and finishes receiving tuning block [1] at the timing of clock number 153.
- the host device 100 expects an interval of clock number N1 or more from the end of reception of the previous block to the start of reception of the next block.
- the slave device 120 uses the number of clocks obtained by adding the number of clocks between data blocks N1 and the maximum reception delay clock number N2 (in this embodiment, from the end of transmission of the previous tuning block to the start of transmission of the next tuning block). In terms of form, it is sufficient to leave an interval of 16) or more.
- the host device 100 When the host device 100 receives the tuning block with a delay of 8 clocks from the true start bit, the clock number 153 corresponds to the end bit. At this time, since the slave device 120 drives all the DAT lines to a high level, the host device 100 can correctly detect the data of the clock number 153 as the end bit ("1").
- FIG. 7 is a timing chart when the host device detects tuning block [1] at the timing of clock number 0.
- FIG. 7 is a timing chart when the host device detects tuning block [1] at the timing of clock number 0.
- the host device 100 can detect the true start bit of tuning block [1] transmitted by the slave device 120 . Therefore, it can also be detected that tuning block [1] ends at clock number 145.
- FIG. 1
- the slave device 120 transmits the next tuning block [2] after an interval of 16 clocks or more from the end of the transmission of tuning block [1]. Since the next tuning block will be received 8 or more clocks after the bit, no problem occurs.
- the host device 100 when the host device 100 recognizes that the tuning block has been received with a delay of 8 clocks from the true start bit, the received tuning pattern is not preliminarily held in the host device 100. do not match. In this case, the host device 100 determines that the sampling points are not appropriate, and corrects the sampling points before the next tuning block is received, and performs tuning.
- the numerical values (time, number of clocks, etc.) related to timing in the present embodiment are examples, and other numerical values may be used.
- the maximum reception delay clock number N2 depends on the data configuration of the tuning pattern used.
- the host device 100 it is necessary to hold the received tuning block until the host device 100 has finished reading the tuning block and determining whether it is an appropriate sampling point.
- the host device 100 may receive the next tuning pattern and overwrite the previously received tuning block. In that case, the host device 100 suspends the clock supply after the number of clocks shorter than the number of clocks defined by N1 has elapsed since the end bit was received, thereby suppressing the transmission of the next tuning block from the slave device 120. (This applies to both Figures 6 and 7).
- the high-speed bus used is SDR104 mode, but the same applies to other modes.
- modes such as DDR50 mode
- the slave device 120 transmits tuning blocks multiple times, but the host device 100 does not need to discard the received tuning blocks and perform tuning.
- the slave device 120 may not transmit tuning blocks and only transmit boot data.
- the number of tuning blocks transmitted from the slave device 120 is 40, but other fixed values may be used.
- the host device 100 can record the number of tuning blocks to be transmitted in a predetermined non-volatile memory area in the slave device 120, and the slave device 120 can transmit the set number of tuning blocks at the next activation.
- the CMD line 112 is driven high to cause the slave device 120 to stop transmitting subsequent tuning blocks. good too.
- the host device 100 can drive the CMD line 112 to low level again to instruct the slave device 120 to transmit boot data.
- the present disclosure instructs transmission of tuning blocks and boot data by issuing an initialization instruction command that the host device 100 transmits to the slave device 120 between timings t4 and t5, for example. It is equally applicable even if
- the host device and slave device of the present disclosure are interconnected by at least power supply lines, clock lines, command lines and data lines.
- the data transfer system of the present disclosure is configured by the host device and the slave device that are interconnected.
- the host device after being connected to the slave device, supplies power to the slave device through the power supply line, and transmits a first clock having a first frequency and a first voltage value to the slave device through the clock line. to drive the command line, which is at a high level, to a low level, stop the supply of the first clock, and with the data line driven to a low level, send a second signal to the slave device.
- a second clock having a frequency and a second voltage value is provided on the clock line, and the data line is driven high within a first predetermined period of time after the application of the second clock; performing tuning for adjusting punching timing using a plurality of tuning blocks transmitted on the data line from the slave device within a second predetermined period at intervals of at least a third predetermined period; Boot data is received on the data line, and booting is performed using the received boot data. This makes it possible to acquire the tuning block while driving the signal line for sending and receiving commands to a low level. .
- the third predetermined period includes a clock period between the data blocks when the slave device continuously transmits data blocks after the slave device is activated, and the A clock period determined by the data structure of the block pattern included in the tuning block.
- the block pattern includes at least a continuous bit string "00" or "11”, and a bit string "0" or a bit string "1" is detected. to determine the start bit of the tuning block.
- This enables the host device 100 to receive a predetermined number of tuning blocks by reliably capturing the start bit of the tuning block. Therefore, the host device 100 can correctly receive the data following the predetermined number of tuning blocks as boot data.
- the present disclosure can be applied to a slave device such as an SD card, a corresponding host device, and a data transfer system having the host device and slave device.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
図1は、ホスト装置100にスレーブ装置120が接続されたデータ転送システムの構成について説明したブロック図である。図1に示すように、ホスト装置100は、少なくとも電源101、SoC102を備えている。そして、SoC102は、少なくともレギュレータ103、2つの電源入力のうち一方を選択する電気的スイッチであるSW104、ホスト装置I/F105、コントローラ106を備える。なおレギュレータ103は、SoC102の外部に配置することも可能である。
以下図1から図3を用いて、ホスト装置100にスレーブ装置120が接続されたときに実行されるチューニングブロックとブートデータの転送動作について説明する。
[3.1.従来技術によるチューニングブロックの送信および受信]
以下図4および図5を用いて、従来技術に基づいたコマンドを使用しないチューニングブロックの送信および受信(以下チューニングブロック転送と呼ぶ)について説明する。
FFDFFFDD FFFBFFFB BFFF7FFF 77F7BDEF
FFF0FFF0 0FFCCC3C CC33CCCF FFEFFFEE
FFFDFFFD DFFFBFFF BBFFF7FF F77F7BDE
なお上記チューニングパターンは一例であり、他のパターンを使用してもよい。
以下図4、図6および図7を用いて、本開示におけるチューニングブロック転送について説明する。
以上のように、本出願において開示する技術の例示として実施の形態を説明した。本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施の形態にも適用できる。
101 電源
102 SoC
103 レギュレータ
104 SW
105 ホスト装置I/F
106 コントローラ
110 VDDライン
111 CLKライン
112 CMDライン
113 DATライン
113a DAT0ライン
113b DAT1ライン
113c DAT2ライン
113d DAT3ライン
120 スレーブ装置
121 SoC
122 レギュレータ
123 SW
124 スレーブ装置I/F
125 コントローラ
126 バックエンドモジュール
Claims (9)
- スレーブ装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインで接続されるホスト装置であって、
前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給し、
前記スレーブ装置に第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給し、
ハイレベルになっている前記コマンドラインをローレベルにドライブし、
前記第1のクロックの供給を停止し、
前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給し、
前記第2のクロックの供給後から第1の所定期間内に前記データラインがハイレベルにドライブされた場合に、第2の所定期間内に前記スレーブ装置から少なくとも第3の所定期間の間隔を空けて前記データラインで送信される複数個のチューニングブロックを用いて打ち抜きタイミングを調整するチューニングを行い、
前記スレーブ装置からブートデータを前記データラインで受信し、当該受信したブートデータを用いて起動を行う、
ホスト装置。 - 前記第3の所定期間は、前記スレーブ装置が起動した後のデータブロックを連続送信するときの前記データブロック間のクロック期間と、前記チューニングブロックに含まれるブロックパターンのデータ構成により決定されるクロック期間とで定められることを特徴とする、
請求項1に記載のホスト装置。 - 前記ブロックパターンには、少なくとも連続ビット列「00」もしくは「11」が含まれており、
ビット列「0」もしくはビット列「1」を検出することにより、前記チューニングブロックの開始ビットを判定することを特徴とする、
請求項2に記載のホスト装置。 - ホスト装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインで接続されるスレーブ装置であって、
前記ホスト装置と接続された後に、前記ホスト装置から前記電源ラインで電源を供給され、
前記ホスト装置から第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給され、
ハイレベルになっている前記コマンドラインをローレベルにドライブされ、
前記第1のクロックの供給を停止され、
前記データラインがローレベルにドライブされた状態で前記ホスト装置から第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給され、
前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に少なくとも第3の所定期間の間隔を空けて前記ホスト装置に複数個のチューニングブロックを前記データラインで送信する、
スレーブ装置。 - 前記第3の所定期間は、前記スレーブ装置が起動した後のデータブロックを連続送信するときの前記データブロック間のクロック期間と、前記チューニングブロックに含まれるブロックパターンのデータ構成により決定されるクロック期間とで定められることを特徴とする、
請求項4に記載のスレーブ装置。 - 前記ブロックパターンには、少なくとも連続ビット列「00」もしくは「11」が含まれていることを特徴とする、
請求項5に記載のスレーブ装置。 - スレーブ装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインで前記スレーブ装置と接続されるホスト装置を有するデータ転送システムであって、
前記ホスト装置は、前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給し、
前記ホスト装置は、前記スレーブ装置に第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給し、
前記ホスト装置は、ハイレベルになっている前記コマンドラインをローレベルにドライブし、
前記ホスト装置は、前記第1のクロックの供給を停止し、
前記ホスト装置は、前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給し、
前記スレーブ装置は、前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に前記スレーブ装置から少なくとも第3の所定期間の間隔を空けて前記ホスト装置に複数個のチューニングブロックを前記データラインで送信し、
前記ホスト装置は、前記データラインで受信した前記複数個のチューニングブロックを用いて打ち抜きタイミングを調整するチューニングを行い、
前記ホスト装置は、前記スレーブ装置からブートデータを前記データラインで受信し、当該受信したブートデータを用いて起動を行う、
データ転送システム。 - 前記第3の所定期間は、前記スレーブ装置が起動した後のデータブロックを連続送信するときの前記データブロック間のクロック期間と、前記チューニングブロックに含まれるブロックパターンのデータ構成により決定されるクロック期間とで定められることを特徴とする、
請求項7に記載のデータ転送システム。 - 前記ブロックパターンには、少なくとも連続ビット列「00」もしくは「11」が含まれており、
前記ホスト装置がビット列「0」もしくはビット列「1」を検出することにより、前記チューニングブロックの開始ビットを判定することを特徴とする、
請求項8に記載のデータ転送システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21899295.6A EP4296863A4 (en) | 2021-02-16 | 2021-12-15 | HOST DEVICE, SLAVE DEVICE AND DATA TRANSFER SYSTEM |
JP2022534377A JP7320707B2 (ja) | 2021-02-16 | 2021-12-15 | ホスト装置、スレーブ装置およびデータ転送システム |
CN202180010208.XA CN115226405A (zh) | 2021-02-16 | 2021-12-15 | 主机装置、从机装置以及数据传送系统 |
US17/841,054 US11880225B2 (en) | 2021-02-16 | 2022-06-15 | Host device, slave device, and data transfer system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-022560 | 2021-02-16 | ||
JP2021022560 | 2021-02-16 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/841,054 Continuation US11880225B2 (en) | 2021-02-16 | 2022-06-15 | Host device, slave device, and data transfer system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022176358A1 true WO2022176358A1 (ja) | 2022-08-25 |
Family
ID=82930572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/046255 WO2022176358A1 (ja) | 2021-02-16 | 2021-12-15 | ホスト装置、スレーブ装置およびデータ転送システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11880225B2 (ja) |
EP (1) | EP4296863A4 (ja) |
JP (1) | JP7320707B2 (ja) |
CN (1) | CN115226405A (ja) |
WO (1) | WO2022176358A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010140266A (ja) * | 2008-12-11 | 2010-06-24 | Toshiba Corp | 電子デバイスシステムと電子デバイス |
JP2013101636A (ja) * | 2008-02-29 | 2013-05-23 | Panasonic Corp | ホスト装置用インタフェース装置、スレーブ装置用インタフェース装置、ホスト装置、スレーブ装置、通信システム、及びインタフェース電圧切り替え方法 |
JP2015062131A (ja) | 2006-01-17 | 2015-04-02 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス |
JP2016046781A (ja) | 2014-08-26 | 2016-04-04 | キヤノン株式会社 | 記録再生装置、記録再生装置の制御方法及びプログラム |
JP2018085662A (ja) * | 2016-11-25 | 2018-05-31 | キヤノン株式会社 | 電子機器 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001175606A (ja) * | 1999-12-20 | 2001-06-29 | Sony Corp | データ処理装置、データ処理機器およびその方法 |
JP2004334486A (ja) * | 2003-05-07 | 2004-11-25 | Internatl Business Mach Corp <Ibm> | ブートコードを用いた起動システム、及び起動方法 |
US8996851B2 (en) * | 2010-08-10 | 2015-03-31 | Sandisk Il Ltd. | Host device and method for securely booting the host device with operating system code loaded from a storage device |
KR102320399B1 (ko) * | 2014-08-26 | 2021-11-03 | 삼성전자주식회사 | 전원 관리 칩, 그것을 포함하는 모바일 장치 및 그것의 클록 조절 방법 |
US9886080B2 (en) * | 2014-12-30 | 2018-02-06 | Sandisk Technologies Llc | Low voltage detection and initialization for non-volatile memory systems |
JP2017097825A (ja) * | 2015-11-16 | 2017-06-01 | 株式会社東芝 | ホスト機器および拡張デバイス |
US10129012B2 (en) * | 2016-09-19 | 2018-11-13 | Sandisk Technologies Llc | Tuning circuitry and operations for non-source-synchronous systems |
US11487341B2 (en) * | 2018-08-09 | 2022-11-01 | Nvidia Corporation | Techniques for configuring a processor to execute instructions efficiently |
KR20210069514A (ko) * | 2019-12-03 | 2021-06-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 트레이닝 방법 |
WO2022113601A1 (ja) * | 2020-11-24 | 2022-06-02 | パナソニックIpマネジメント株式会社 | ホスト装置、スレーブ装置およびデータ転送システム |
-
2021
- 2021-12-15 JP JP2022534377A patent/JP7320707B2/ja active Active
- 2021-12-15 WO PCT/JP2021/046255 patent/WO2022176358A1/ja active Application Filing
- 2021-12-15 EP EP21899295.6A patent/EP4296863A4/en active Pending
- 2021-12-15 CN CN202180010208.XA patent/CN115226405A/zh active Pending
-
2022
- 2022-06-15 US US17/841,054 patent/US11880225B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015062131A (ja) | 2006-01-17 | 2015-04-02 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス |
JP2013101636A (ja) * | 2008-02-29 | 2013-05-23 | Panasonic Corp | ホスト装置用インタフェース装置、スレーブ装置用インタフェース装置、ホスト装置、スレーブ装置、通信システム、及びインタフェース電圧切り替え方法 |
JP2010140266A (ja) * | 2008-12-11 | 2010-06-24 | Toshiba Corp | 電子デバイスシステムと電子デバイス |
JP2016046781A (ja) | 2014-08-26 | 2016-04-04 | キヤノン株式会社 | 記録再生装置、記録再生装置の制御方法及びプログラム |
JP2018085662A (ja) * | 2016-11-25 | 2018-05-31 | キヤノン株式会社 | 電子機器 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4296863A4 |
Also Published As
Publication number | Publication date |
---|---|
EP4296863A4 (en) | 2024-08-07 |
US20220308893A1 (en) | 2022-09-29 |
CN115226405A (zh) | 2022-10-21 |
US11880225B2 (en) | 2024-01-23 |
JP7320707B2 (ja) | 2023-08-04 |
JPWO2022176358A1 (ja) | 2022-08-25 |
EP4296863A1 (en) | 2023-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4896450B2 (ja) | 記憶装置 | |
US8055808B2 (en) | Semiconductor memory device and control method for semiconductor memory device | |
JP5341503B2 (ja) | メモリデバイス、ホストデバイスおよびサンプリングクロックの調整方法 | |
WO2011070747A1 (ja) | 不揮発性記憶装置、ホスト装置、記憶システム、データ通信方法およびプログラム | |
JP2001256174A (ja) | カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法 | |
WO2018186456A1 (ja) | ホスト装置及びリムーバブルシステム | |
JP6861348B2 (ja) | スレーブ装置およびホスト装置 | |
US20220137848A1 (en) | Storage device and operating method of storage device | |
JP4588427B2 (ja) | メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法 | |
JP2019057229A (ja) | 通信形式判定方法 | |
JP7243923B2 (ja) | ホスト装置、スレーブ装置およびデータ転送システム | |
JP6620313B2 (ja) | ホスト装置、スレーブ装置及びリムーバブルシステム | |
JP7320707B2 (ja) | ホスト装置、スレーブ装置およびデータ転送システム | |
WO2002048854A1 (fr) | Carte à circuit imprimé, système de carte à circuit imprimé, et processeur de données | |
JP2018156506A (ja) | ホスト装置、スレーブ装置及びリムーバブルシステム | |
KR100423017B1 (ko) | 마이크로컴퓨터 | |
US6917994B2 (en) | Device and method for automatically generating an appropriate number of wait cycles while reading a nonvolatile memory | |
JP2017049873A (ja) | ホスト装置、スレーブ装置及びリムーバブルシステム | |
JP7450143B2 (ja) | スレーブ装置、ホスト装置 | |
US20130019055A1 (en) | Memory control device and method | |
WO2016132733A1 (ja) | ホスト装置、スレーブ装置、インターフェイス半導体装置及びリムーバブルシステム | |
JPH09223203A (ja) | 非接触icカード | |
JP6413077B2 (ja) | ホスト装置、スレーブ装置、インターフェイス半導体装置及びリムーバブルシステム | |
CN118672486A (zh) | 存储器系统 | |
JPH1125241A (ja) | Icカードリーダライタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2022534377 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21899295 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2021899295 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2021899295 Country of ref document: EP Effective date: 20230918 |