WO2006035500A1 - Data storage system and memory card - Google Patents

Data storage system and memory card Download PDF

Info

Publication number
WO2006035500A1
WO2006035500A1 PCT/JP2004/014228 JP2004014228W WO2006035500A1 WO 2006035500 A1 WO2006035500 A1 WO 2006035500A1 JP 2004014228 W JP2004014228 W JP 2004014228W WO 2006035500 A1 WO2006035500 A1 WO 2006035500A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
target
bit
bits
storage system
Prior art date
Application number
PCT/JP2004/014228
Other languages
French (fr)
Japanese (ja)
Inventor
Shinichi Suzuki
Original Assignee
Renesas Technology Corp.
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 Renesas Technology Corp. filed Critical Renesas Technology Corp.
Priority to PCT/JP2004/014228 priority Critical patent/WO2006035500A1/en
Priority to JP2006537602A priority patent/JPWO2006035500A1/en
Publication of WO2006035500A1 publication Critical patent/WO2006035500A1/en

Links

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • 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/0625Power saving in storage systems
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a data storage system and a memory card, and in particular, is effective when applied to a data storage system including a storage device typified by a memory card and an initiator for reading and writing data to and from the storage device. It is about technology.
  • the following technologies can be considered as the data storage system.
  • various memory card standards such as SD (Secure Digital) memory card and Memory Stick (registered trademark), network type communication type such as USB (Universal Serial Bus) and IEEE (the Institute of Electrical and Electronics Engineers) 1394
  • Serial Bus Universal Serial Bus
  • IEEE the Institute of Electrical and Electronics Engineers 1394
  • FIG. 6 is a diagram for explaining an example of the data transfer system in the conventional data storage system examined as a premise of the present invention.
  • (A) is a simplified diagram of the system configuration
  • (b) is a diagram of the system configuration. It is an operation
  • the data transmission side is the initiator 60
  • the reception side is the target 61
  • the initiator 60 has a value of 5A'h (hexadecimal "5A", the same notation is used hereinafter) of the target 61.
  • the following processing (1) -1 (6) is performed.
  • the target 61 When the target 61 receives a write command from the initiator 60, the target 61 prays the content and extracts the write address and size.
  • the target 61 receives data A from the initiator 60.
  • the target 61 updates its corresponding memory space (here, 1 byte from address N) to data A.
  • an object of the present invention is to provide a data storage system and a memory card capable of improving the time efficiency when storing data.
  • Another object of the present invention is to provide a data storage system and a memory card that can save power when data is stored.
  • a data storage system includes: a second controller that transmits first data having different signal levels when data inversion is required and data holding is required; And a target for receiving the first data and updating the second data by inverting or holding the second data based on the signal level of the first data.
  • examples of the target include a storage device.
  • a data storage system includes an initiator that transmits data and a target that receives the transmitted data. Then, the initiator corresponds to the first signal level and the second signal level for the bit that needs to be inverted and the bit that does not need to be inverted for the second data of multiple bits stored in the target. The plurality of bits of the first data is formed, and the plurality of bits of the first data is transmitted to the target.
  • the target receives first data of a plurality of bits, detects a bit corresponding to the first signal level from the received first data of the plurality of bits, and detects the second data of the plurality of bits.
  • the storage of the second data is updated by inverting the bit data corresponding to the detected bit.
  • the bit data in the memory corresponding to that bit is inverted, and the data in the memory is updated.
  • a system software process is performed using a computer provided in the target, and the system software process is performed for each bit signal for a plurality of bits of first data. Only when the signal level of the determined bit and the determined signal level is the first signal level, the bit data corresponding to the determined bit is read from the second data of the plurality of bits, And the step of reversing the read data and writing it back.
  • the signal level of data received by the target is determined by processing of system software such as a device driver, and based on the determination result! Realize the function to control writing to the memory.
  • the memory card receives a command including a write address and data assigned with different signal levels corresponding to inversion or holding of data, from the initiator.
  • the data stored in the write address is updated by inverting or holding the data stored in the write address based on the signal level of the input data.
  • examples of the memory card include an SD memory card and an MMC card.
  • a new write command to a block or a plurality of blocks may be provided as the command by using a protocol similar to a write command to a block or a plurality of blocks generally provided in such a memory card.
  • Initiator power The time required to store data by transferring data with different signal levels depending on whether the data in the target memory or the like is inverted and held toward the target. Efficiency can be improved. In addition, it is possible to save power when storing data.
  • FIG. 1 is a system schematic diagram showing an example of the configuration of a data storage system according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram for explaining a data transfer method between an initiator and a target in comparison with the prior art in the data storage system according to the embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of the operation of the data storage system according to the embodiment of the present invention, where (a) is a simplified diagram of the system configuration and (b) is an operation flow diagram.
  • FIG. 4 In the data storage system according to the embodiment of the present invention, the system software processing of the target is compared between the case of using the conventional data transfer method and the case of using the data transfer method of the present invention.
  • (A) is an example of a processing flow when using the prior art
  • (b) is an example of a processing flow when using the present invention.
  • FIG. 5 is an explanatory diagram showing an example of a command specification of a memory card defined when a memory card is used as a target in the data storage system of one embodiment of the present invention
  • FIG. 6 is a diagram for explaining an example of the data transfer system in the prior art data storage system examined as a premise of the present invention, (a) is a simplified diagram of the system configuration, and (b) Is an operation flow diagram.
  • FIG. 1 is a system schematic diagram showing an example of the configuration of a data storage system according to an embodiment of the present invention.
  • the data storage system shown in FIG. 1 includes an initiator 10 that transmits data and a target 11 that receives data, and the initiator 10 and the target 11 are connected by a communication network 12.
  • Examples of the initiator 10 and the target 11 include a memory card host device, a USB device, or an IEEE 1394 device.
  • the initiator 10 and the target 11 have the same configuration, and include, for example, an application 13a, a file system 13b, a device driver 13c, an interface controller 13d, a memory and / or a register, and the like.
  • an application 13a a file system 13b
  • a device driver 13c an interface controller 13d
  • a memory and / or a register and the like.
  • the application 13a is software including, for example, an explorer having a function of operating folders and files, an audio player having a function of reproducing music data, and the like.
  • the file system 13b is system software that converts data input / output via the device driver 13c into a file so that processing can be performed by the application 13a, for example. Specific examples include those conforming to FAT (File Allocation Table) such as FAT16 and FAT32.
  • the device driver 13c is software that performs control of the interface controller 13d, management of transactions and command sequences, and the like.
  • the initiator 10 and the target 11 include, for example, a computer such as a microphone processor, and thereby the software as described above is executed.
  • the software described above may be configured with an OS including a file system, an application, and a device driver when the initiator 10 and the target 11 are PCs (Personal Computers) or the like.
  • the interface controller 13d is hardware that performs command transmission, response reception, data transmission / reception, and the like via the communication network 12 in which the initiator 10 and the target 11 are connected.
  • Examples of the communication network 12 include a wiring line to a memory card, a USB cable, an IEEE1394 cable, and the like, and data transfer is performed on the communication network 12 by an electrical signal.
  • the memory of the storage unit 13e stores, for example, files and data necessary for the system, and the register is used for specific purposes such as device operation control.
  • the data transfer between the initiator 10 and the target 11 is not necessarily performed using a wired communication network.
  • the interface controller 13d may be a wireless controller and the data may be transferred wirelessly. .
  • FIG. 2 shows a conventional technique for transferring data between an initiator and a target in a data storage system according to an embodiment of the present invention. It is a conceptual diagram for demonstrating compared with a technique.
  • the memory content on the target side is 5A′h
  • the memory content is updated to 5B′h by data transfer from the initiator to the target.
  • the initiator power is also transferred to the target as raw data (5B, M Binary "01011011") and overwritten and stored in the memory content B'h on the initiator side.
  • data indicating the presence / absence of update for each bit is transferred toward the target with the initiator power. That is, in Fig. 2, if '1' ('H, level) is set to the bit with update and' 0, ('L, level) is set to the bit without update, only the last bit is updated. Therefore, the data of 01'h is transferred. Then, the target side receives the data of 0 l 'h, inverts the data of the bit (here, the last bit) corresponding to the bit with the intermediate update of the data in its own memory and stores it again.
  • the data is considered as a bitmap image, and the bit updated (inverted) by data transfer is changed to “1”, and the bit holding the value as it is is changed to “0”. Then, data having bit information to be updated (inverted) is transferred to the target.
  • the following effects can be obtained.
  • Time to write and update received data is reduced, and this time can be allocated to other functions of the product (decoding multimedia data, etc.).
  • the present invention is not limited to this, and the present invention can be applied to all products in which the data to be transferred and the corresponding addresses of the memory Z register are associated one-to-one.
  • the system area of the file system is updated in units of sectors (512 bytes, etc.), and only a few bytes are updated, and the one-to-one correspondence described above is provided. ing. Therefore, the effect becomes large when applied to a product having such a file system.
  • FIG. 3 is a diagram showing an example of the operation of the data storage system according to the embodiment of the present invention.
  • (A) is a simplified diagram of the system configuration, and (b) is an operation flow diagram.
  • the target 31 When the target 31 receives the write command from the initiator 30, the target 31 prays the content and extracts the write address and size. (3) After extraction, the target 31 prepares to receive data from the initiator 30.
  • the target 31 receives the data A from the initiator 30.
  • the target 31 updates its corresponding memory to data A.
  • This data it is possible to use a method that inverts only the bits that need to be updated.
  • the data A 'itself contains information on the bits that need to be updated, so it is possible to use this updating method easily. become.
  • FIG. 4 shows the target system software processing in the data storage system according to the embodiment of the present invention when the conventional data transfer method is used and when the data transfer method of the present invention is used. It is a figure to compare, (a) is an example of the processing flow at the time of using a prior art, (b) is an example of the processing flow at the time of using this invention.
  • S405a the I-th bit of data N is taken out and is designated as N [I]. Then, control goes to S406a. [0066] In S406a, it is compared whether N [I] and A [I] are different from each other. If they are different, the process proceeds to S407a. Otherwise, the process proceeds to S408a.
  • the bit extraction counter determines whether or not the force is effective. If it is valid, the process proceeds to S409b, and if not, the process ends.
  • CMD60 DIFFERENTIAL—WRITE—BLOCK
  • CMD61 DIFFERENTIAL—WRITE—MULTIPLE—BLOCK
  • the write command protocol between the initiator and target using CMD60 and CMD61 is exactly the same as CMD24 and CMD25, respectively, and only the data contents are changed to those with bit inversion information.
  • the command formats of CMD60 and CMD61 are as shown in Fig. 5 (a) and (b), respectively.
  • FIGS. 5A and 5B are diagrams illustrating an example of command specifications of a memory card defined when a memory card is used as a target in the data storage system according to the embodiment of the present invention.
  • (A) shows the specification example of CMD60
  • (b) shows the specification example of CMD61.
  • the CMD60 is an adtc (addressed (point-to-point) data transfer commands) type command.
  • a command is issued to a specific memory card specified from the CMD line, and after this specific memory card returns a response, data is transferred to the memory card through the DAT line.
  • the memory card writes data for the block size specified by the SET-BLOCKLEN command from the address specified by the argument when issuing CMD60.
  • the data transferred to the memory card is data having bit inversion information as described above.
  • CMD61 is an adtc type command and It has become.
  • Data transfer from the host to the memory card causes the memory card to continuously write data from the address specified by the argument when issuing CMD61 until it is stopped by the STOP-TRANSMISION command. Multiple blocks are written.
  • the data transferred to the memory card is data having the bit inversion information as described above.
  • a new command is defined for a memory card such as an SD memory card or an MMC card, and a command determination function or a bit inversion information as described above is provided in the memory card as a function for responding to the command. It is possible to improve the data transfer efficiency of the memory card by providing a function for processing this.
  • the data storage system and the memory card of the present invention are applied to a data storage system including various memory cards such as an SD memory card and a memory stick, a USB flash memory, and so on, and a serial transfer storage device. It is particularly useful. Not only these, but also hard disks with ATA connection, memory-powered host devices such as SD audio, DVD drives connected with IEEE 1394, various storage devices, and storage media not limited to storage devices. It is widely applicable to data storage systems including various devices in which addresses and data are assigned one-to-one.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In an illustrative case of updating the memory content at a target end, which is now, for example, 5A'h, to 5B'h via data transmission from an initiator to the target, the initiator transmits, to the target, data of 01'h indicating whether an updating is to be performed per bit (a bit to be updated is '1' and a bit not to be updated is '0'). When receiving the data of 01'h, the target retrieves, from among the data of its own memory contents, and reverses the data of the bit (in this case, the last bit) corresponding to a bit to be updated, and then restores the data as reversed.

Description

明 細 書  Specification
データ記憶システムおよびメモリカード  Data storage system and memory card
技術分野  Technical field
[0001] 本発明は、データ記憶システムおよびメモリカードに関し、特に、メモリカードを代表 とするストレージ機器とこれに対してデータを読み書きするイニシエータとを含めたデ ータ記憶システムに適用して有効な技術に関するものである。  The present invention relates to a data storage system and a memory card, and in particular, is effective when applied to a data storage system including a storage device typified by a memory card and an initiator for reading and writing data to and from the storage device. It is about technology.
背景技術  Background art
[0002] 本発明者が検討したところによれば、データ記憶システムの技術に関しては、以下 のような技術が考えられる。  According to a study by the present inventor, the following technologies can be considered as the data storage system.
[0003] 例えば、 SD (Secure Digital)メモリカードやメモリースティック(登録商標)などの 各種メモリカード規格、 USB (Universal Serial Bus)や IEEE (the Institute o f Electrical and Electronics Engineers) 1394などのネットワーク型の通信形 態をとるシリアルバス規格、及び ATA (AT Attachment)や SCSI (Small Comp uter System Interface)などのストレージ関連規格では、バス上のデータ転送は 、特に最適化されな 、生のデータを用いて行われる。  [0003] For example, various memory card standards such as SD (Secure Digital) memory card and Memory Stick (registered trademark), network type communication type such as USB (Universal Serial Bus) and IEEE (the Institute of Electrical and Electronics Engineers) 1394 Data transfer on the bus is performed using raw data, which is not particularly optimized in the serial bus standards that take the state and storage-related standards such as ATA (AT Attachment) and SCSI (Small Computer System Interface) .
[0004] すなわち、例えば図 6に示すようなデータ転送となる。図 6は、本発明の前提として 検討した従来技術のデータ記憶システムにお 、て、そのデータ転送方式の一例を説 明する図であり、(a)はシステム構成の簡略図、(b)は動作フロー図である。図 6では 、データ送信側をイニシエータ 60、受信側をターゲット 61とし、イニシエータ 60が、タ 一ゲット 61の 5A' h (16進数で「5A」、以降同様の表記を用いる)の値を持つメモリ空 間の N番地 (Nは 0以上の整数)に 1バイトのデータ A ( = 5B' h)を書き込む場合を例 としている。この場合、下記(1)一(6)のような処理が行われる。  That is, for example, data transfer as shown in FIG. 6 is performed. FIG. 6 is a diagram for explaining an example of the data transfer system in the conventional data storage system examined as a premise of the present invention. (A) is a simplified diagram of the system configuration, and (b) is a diagram of the system configuration. It is an operation | movement flowchart. In FIG. 6, the data transmission side is the initiator 60, the reception side is the target 61, and the initiator 60 has a value of 5A'h (hexadecimal "5A", the same notation is used hereinafter) of the target 61. In this example, 1-byte data A (= 5B'h) is written to N space (N is an integer greater than or equal to 0). In this case, the following processing (1) -1 (6) is performed.
[0005] (1)イニシエータ 60は、ターゲット 61に書き込み先頭アドレス(=N)と書き込みサイ ズ(= 1バイト)を設定し、ライトコマンドを送信する。  (1) The initiator 60 sets a write start address (= N) and a write size (= 1 byte) in the target 61, and transmits a write command.
[0006] (2)ターゲット 61は、イニシエータ 60からライトコマンドを受信すると、その内容を解 祈し、書き込みアドレスとサイズを抽出する。  (2) When the target 61 receives a write command from the initiator 60, the target 61 prays the content and extracts the write address and size.
[0007] (3)抽出後、ターゲット 61は、イニシエータ 60からのデータ受信の準備をする。 [0008] (4)イニシエータ 60は、ターゲット 61に生のデータ A ( = 5B,h)を送信する。 [0007] (3) After extraction, the target 61 prepares to receive data from the initiator 60. (4) The initiator 60 transmits raw data A (= 5B, h) to the target 61.
[0009] (5)ターゲット 61は、イニシエータ 60からデータ Aを受信する。 (5) The target 61 receives data A from the initiator 60.
[0010] (6)ターゲット 61は、自身の対応するメモリ空間(ここでは N番地からの 1バイト分)を データ Aに更新する。 [0010] (6) The target 61 updates its corresponding memory space (here, 1 byte from address N) to data A.
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0011] ところで、前記のようなデータ記憶システムの技術について、本発明者が検討した 結果、以下のようなことが明らかとなった。  [0011] By the way, as a result of examination of the data storage system technology as described above by the present inventors, the following has been clarified.
[0012] 例えば、図 6で述べたようなデータ転送方式においては、イニシエータとターゲット との間で生のデータが転送されるため、特に、対応するアドレスのデータ内容の変化 が転送前と転送後で少ない場合に、例えば、以下のような問題が発生する。  [0012] For example, in the data transfer method as described in FIG. 6, since raw data is transferred between the initiator and the target, the change in the data content of the corresponding address is particularly noticed before and after the transfer. In the case where the number is small, for example, the following problems occur.
[0013] (1)ターゲット側で、受信データを自身のメモリやレジスタに書き込み更新する場合 、全て上書きを行うと電力と時間を無駄に消費する。また、データバスにおいて、 Ή' および' L'の論理信号が高頻度で変化するため、ノイズや無駄な電力が発生する。  (1) On the target side, when the received data is written and updated in its own memory or register, if all are overwritten, power and time are wasted. In addition, in the data bus, the logic signals of 'L' and 'L' change frequently, causing noise and wasted power.
[0014] (2)そこで、ターゲット側で、更新するビットのみに着目してデータ更新を行う方法が 考えられるが、その更新するビットの検出に手間を要す。すなわち、データ更新は、 更新が必要なビットのみを反転する方法を用いると効率が向上する。しかし、その方 法を適用した場合、生データを基に反転するビットを検出する際に、更新前のメモリ の内容と生データの内容を比較する必要があり効率が低下する。  [0014] (2) Therefore, a method of updating data by focusing only on the bit to be updated on the target side can be considered, but it takes time to detect the bit to be updated. In other words, the efficiency of data update is improved by using a method that inverts only the bits that need to be updated. However, when this method is applied, it is necessary to compare the contents of the memory before update with the contents of the raw data when detecting the bit to be inverted based on the raw data.
[0015] (3)一般に、メモリへのアクセスは、デバイスドライバなどのシステムソフトウェアで行 う場合が多い。システムソフトウェアは、アセンブラ言語や C言語などビット演算に適し た言語で作成されるので、生データを扱うのは効率が良くない。  [0015] (3) In general, memory is often accessed by system software such as a device driver. Since system software is written in a language suitable for bit operations, such as assembler language or C language, handling raw data is not efficient.
[0016] そこで、本発明の目的は、データを記憶する際の時間的な効率を向上させることが 可能なデータ記憶システムおよびメモリカードを提供することにある。  Accordingly, an object of the present invention is to provide a data storage system and a memory card capable of improving the time efficiency when storing data.
[0017] また、本発明の他の目的は、データを記憶する際に省電力化を可能にするデータ 記憶システムおよびメモリカードを提供することにある。  [0017] Another object of the present invention is to provide a data storage system and a memory card that can save power when data is stored.
[0018] 本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添 付図面から明らかになるであろう。 課題を解決するための手段 [0018] The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings. Means for solving the problem
[0019] 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、 次のとおりである。  Among the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.
[0020] 本発明によるデータ記憶システムは、データの反転が必要な場合とデータの保持 が必要な場合とでそれぞれ異なる信号レベルを備えた第 1データを送信するィ-シ エータと、予め第 2データが記憶され、第 1データを受信し、第 1データの前記信号レ ベルに基づいて第 2データを反転または保持することで第 2データを更新するターゲ ットとを有するものである。  [0020] A data storage system according to the present invention includes: a second controller that transmits first data having different signal levels when data inversion is required and data holding is required; And a target for receiving the first data and updating the second data by inverting or holding the second data based on the signal level of the first data.
[0021] すなわち、ターゲットのメモリ等を更新する際に、従来技術のようにターゲットに向け て生データを送信することで更新を行うのではなぐターゲットのメモリ等に既に記憶 されて 、るデータを反転するか否かの情報を送信することで更新を行う。これによつ て、ターゲットのメモリ等において、例えば、 'H'データを 'H'データに、または' L'デ ータを' L'データに上書き更新するような処理を低減でき、書き込み時間の効率化や 書き込み電力の効率ィ匕を図ることが可能になる。  [0021] That is, when updating the target memory or the like, the data already stored in the target memory or the like that is not updated by transmitting raw data to the target as in the prior art is stored. Update is performed by transmitting information about whether to invert. As a result, in the target memory etc., for example, the process of overwriting and updating 'H' data to 'H' data or 'L' data to 'L' data can be reduced, and the write time can be reduced. Efficiency and write power efficiency can be improved.
[0022] ここで、前記ターゲットとしては、例えば、ストレージ機器などが挙げられる。  [0022] Here, examples of the target include a storage device.
[0023] また、本発明によるデータ記憶システムは、データを送信するイニシエータと、前記 送信したデータを受信するターゲットとを有するものである。そして、イニシエータは、 ターゲットに記憶されている複数ビットの第 2データに対して、反転が必要となるビット と反転が不必要となるビットをそれぞれ第 1の信号レベルと第 2の信号レベルに対応 させた複数ビットの第 1データを形成し、この複数ビットの第 1データを前記ターゲット に向けて送信するものとなっている。一方、ターゲットは、複数ビットの第 1データを受 信し、この受信した複数ビットの第 1データの中から第 1の信号レベルに該当するビッ トを検出し、複数ビットの第 2データに対して、当該検出したビットに対応するビットの データを反転することで第 2データの記憶を更新するものとなっている。  [0023] A data storage system according to the present invention includes an initiator that transmits data and a target that receives the transmitted data. Then, the initiator corresponds to the first signal level and the second signal level for the bit that needs to be inverted and the bit that does not need to be inverted for the second data of multiple bits stored in the target. The plurality of bits of the first data is formed, and the plurality of bits of the first data is transmitted to the target. On the other hand, the target receives first data of a plurality of bits, detects a bit corresponding to the first signal level from the received first data of the plurality of bits, and detects the second data of the plurality of bits. Thus, the storage of the second data is updated by inverting the bit data corresponding to the detected bit.
[0024] すなわち、イニシエータ力 ターゲットのメモリ等に向けて、例えば、 1バイトのデー タを書き込むような場合、その 1バイト中の 8ビットの中で第 1の信号レベルとなってい るビットがあった場合に、そのビットに対応するメモリ等内のビットのデータを反転し、 メモリ等のデータの更新を行う。 [0025] ここで、前記ターゲットでは、例えば、ターゲットが備えたコンピュータを用いてシス テムソフトウェアの処理が行われ、このシステムソフトウェアの処理は、複数ビットの第 1データに対し、それぞれのビットの信号レベルを判定するステップと、この判定した ビットの信号レベルが第 1の信号レベルであった場合に限り、複数ビットの第 2データ の中から当該判定したビットに対応するビットのデータを読み出し、この読み出したデ ータを反転して書き戻しを行うステップとを含むものとなっている。 That is, for example, when writing 1-byte data to the target memory or the like, there is a bit having the first signal level among 8 bits in the 1-byte. In the event of a failure, the bit data in the memory corresponding to that bit is inverted, and the data in the memory is updated. [0025] Here, in the target, for example, a system software process is performed using a computer provided in the target, and the system software process is performed for each bit signal for a plurality of bits of first data. Only when the signal level of the determined bit and the determined signal level is the first signal level, the bit data corresponding to the determined bit is read from the second data of the plurality of bits, And the step of reversing the read data and writing it back.
[0026] すなわち、デバイスドライバ等のシステムソフトウェアの処理によって、ターゲットで 受信したデータの信号レベルを判定して、この判定結果に基づ!、てメモリ等への書き 込みを制御する機能を実現させる。  That is, the signal level of data received by the target is determined by processing of system software such as a device driver, and based on the determination result! Realize the function to control writing to the memory.
[0027] また、本発明によるメモリカードは、イニシエータから、書き込みアドレスを含むコマ ンドと、データの反転または保持に対応してそれぞれ異なる信号レベルが割り当てら れたデータとが入力された際に、前記書き込みアドレスに記憶されているデータを、 前記入力されたデータの信号レベルに基づ 、て反転または保持することで、前記書 き込みアドレスに記憶されているデータの更新を行うものである。  [0027] Further, the memory card according to the present invention receives a command including a write address and data assigned with different signal levels corresponding to inversion or holding of data, from the initiator. The data stored in the write address is updated by inverting or holding the data stored in the write address based on the signal level of the input data.
[0028] ここで、メモリカードとしては、例えば、 SDメモリカードまたは MMCカードなどが挙 げられる。この場合、前記コマンドとして、このようなメモリカードが一般的に備えてい るブロックまたは複数ブロックへの書き込みコマンドと同様なプロトコルを用いて、新た にブロックまたは複数ブロックへの書き込みコマンドを設けるとよい。  [0028] Here, examples of the memory card include an SD memory card and an MMC card. In this case, a new write command to a block or a plurality of blocks may be provided as the command by using a protocol similar to a write command to a block or a plurality of blocks generally provided in such a memory card.
発明の効果  The invention's effect
[0029] 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に 説明すれば以下のとおりである。  [0029] The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
[0030] イニシエータ力 ターゲットに向けて、ターゲットのメモリ等のデータを反転する場合 と保持する場合とでそれぞれ異なる信号レベルを備えたデータを転送することで、デ ータを記憶する際の時間的な効率を向上させることが可能になる。さらに、データを 記憶する際に省電力化を図ることが可能になる。 [0030] Initiator power The time required to store data by transferring data with different signal levels depending on whether the data in the target memory or the like is inverted and held toward the target. Efficiency can be improved. In addition, it is possible to save power when storing data.
図面の簡単な説明  Brief Description of Drawings
[0031] [図 1]本発明の一実施の形態によるデータ記憶システムにおいて、その構成の一例 を示すシステム概略図である。 [図 2]本発明の一実施の形態によるデータ記憶システムにおいて、イニシエータとタ 一ゲットとの間のデータ転送方式を従来技術と比較して説明するための概念図であ る。 FIG. 1 is a system schematic diagram showing an example of the configuration of a data storage system according to an embodiment of the present invention. FIG. 2 is a conceptual diagram for explaining a data transfer method between an initiator and a target in comparison with the prior art in the data storage system according to the embodiment of the present invention.
[図 3]本発明の一実施の形態によるデータ記憶システムにおいて、その動作の一例 を示す図であり、(a)はシステム構成の簡略図、(b)は動作フロー図である。  FIG. 3 is a diagram showing an example of the operation of the data storage system according to the embodiment of the present invention, where (a) is a simplified diagram of the system configuration and (b) is an operation flow diagram.
[図 4]本発明の一実施の形態によるデータ記憶システムにおいて、従来技術のデー タ転送方式を用いた場合と本発明のデータ転送方式を用いた場合とで、ターゲットの システムソフトウェア処理を対比する図であり、 (a)は従来技術を用いた場合の処理 フローの一例、(b)は本発明を用いた場合の処理フローの一例である。  [FIG. 4] In the data storage system according to the embodiment of the present invention, the system software processing of the target is compared between the case of using the conventional data transfer method and the case of using the data transfer method of the present invention. (A) is an example of a processing flow when using the prior art, and (b) is an example of a processing flow when using the present invention.
[図 5]本発明の一実施の形態のデータ記憶システムにおいて、ターゲットにメモリカー ドを用いる場合に定義されるメモリカードのコマンド仕様の一例を示す説明図であり、 FIG. 5 is an explanatory diagram showing an example of a command specification of a memory card defined when a memory card is used as a target in the data storage system of one embodiment of the present invention;
(a)は、 CMD60の仕様例、(b)は、 CMD61の仕様例を示すものである。 (a) shows a specification example of CMD60, and (b) shows a specification example of CMD61.
[図 6]本発明の前提として検討した従来技術のデータ記憶システムにお 、て、そのデ ータ転送方式の一例を説明する図であり、(a)はシステム構成の簡略図、(b)は動作 フロー図である。 発明を実施するための最良の形態  FIG. 6 is a diagram for explaining an example of the data transfer system in the prior art data storage system examined as a premise of the present invention, (a) is a simplified diagram of the system configuration, and (b) Is an operation flow diagram. BEST MODE FOR CARRYING OUT THE INVENTION
[0032] 以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態 を説明するための全図において、同一の部材には原則として同一の符号を付し、そ の繰り返しの説明は省略する。  Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
[0033] 図 1は、本発明の一実施の形態によるデータ記憶システムにおいて、その構成の一 例を示すシステム概略図である。図 1に示すデータ記憶システムは、データを送信す るイニシエータ 10と、データを受信するターゲット 11から構成され、イニシエータ 10と ターゲット 11との間が通信ネットワーク 12で接続されて 、る。イニシエータ 10および ターゲット 11としては、例えば、メモリカードホスト機器、 USB機器、または IEEE139 4機器などが挙げられる。  FIG. 1 is a system schematic diagram showing an example of the configuration of a data storage system according to an embodiment of the present invention. The data storage system shown in FIG. 1 includes an initiator 10 that transmits data and a target 11 that receives data, and the initiator 10 and the target 11 are connected by a communication network 12. Examples of the initiator 10 and the target 11 include a memory card host device, a USB device, or an IEEE 1394 device.
[0034] イニシエータ 10およびターゲット 11は、それぞれ同様な構成となっており、例えば、 アプリケーション 13aと、ファイルシステム 13bと、デバイスドライバ 13cと、インタフエ一 スコントローラ 13dと、メモリおよび/またはレジスタ等を備えた記憶部 13eとを含むも のとなつている。 [0034] The initiator 10 and the target 11 have the same configuration, and include, for example, an application 13a, a file system 13b, a device driver 13c, an interface controller 13d, a memory and / or a register, and the like. Including the storage unit 13e Of
[0035] アプリケーション 13aは、例えば、フォルダやファイルの操作を行う機能を備えたェ クスプローラや、音楽データの再生機能等を備えたオーディオプレーヤーなどと 、つ たソフトウェアである。ファイルシステム 13bは、例えば、アプリケーション 13aによって 処理が可能なように、デバイスドライバ 13cを介して入出力したデータをファイルに変 換するシステムソフトウェアである。具体例としては、 FAT16や FAT32などの FAT( File Allocation Table)準拠のもの等が挙げられる。デバイスドライバ 13cは、イン タフエースコントローラ 13dの制御や、トランザクションおよびコマンドシーケンスの管 理などを行うソフトウェアである。  [0035] The application 13a is software including, for example, an explorer having a function of operating folders and files, an audio player having a function of reproducing music data, and the like. The file system 13b is system software that converts data input / output via the device driver 13c into a file so that processing can be performed by the application 13a, for example. Specific examples include those conforming to FAT (File Allocation Table) such as FAT16 and FAT32. The device driver 13c is software that performs control of the interface controller 13d, management of transactions and command sequences, and the like.
[0036] なお、図 1には示していないが、イニシエータ 10およびターゲット 11は、例えば、マ イク口プロセッサ等のコンピュータを備えており、これによつて前述したようなソフトゥェ ァが実行される。また、前述したようなソフトウェアは、イニシエータ 10およびターゲッ ト 11が PC (Personal Computer)等の場合、ファイルシステムを含む OSと、アプリ ケーシヨンと、デバイスドライバと ヽつた構成でもよ ヽ。  Although not shown in FIG. 1, the initiator 10 and the target 11 include, for example, a computer such as a microphone processor, and thereby the software as described above is executed. In addition, the software described above may be configured with an OS including a file system, an application, and a device driver when the initiator 10 and the target 11 are PCs (Personal Computers) or the like.
[0037] インタフェースコントローラ 13dは、イニシエータ 10とターゲット 11との間を接続した 通信ネットワーク 12を介して、コマンド送信、レスポンス受信、データ送受信などを行 うハードウェアである。通信ネットワーク 12は、例えば、メモリカードへの配線ライン、 USBケーブル、 IEEE1394ケーブルなどが挙げられ、通信ネットワーク 12上では、 電気的信号によりデータ転送が行われる。記憶部 13eのメモリは、例えば、ファイル やシステムに必要なデータが格納され、レジスタは、例えば、機器の動作制御など特 定の用途等に使用される。  [0037] The interface controller 13d is hardware that performs command transmission, response reception, data transmission / reception, and the like via the communication network 12 in which the initiator 10 and the target 11 are connected. Examples of the communication network 12 include a wiring line to a memory card, a USB cable, an IEEE1394 cable, and the like, and data transfer is performed on the communication network 12 by an electrical signal. The memory of the storage unit 13e stores, for example, files and data necessary for the system, and the register is used for specific purposes such as device operation control.
[0038] また、イニシエータ 10とターゲット 11との間のデータ転送は、必ずしも有線の通信 ネットワークを用いて行う必要はなぐ例えば、インタフェースコントローラ 13dを無線 コントローラとして、無線によるデータ転送であってもよ 、。  [0038] Further, the data transfer between the initiator 10 and the target 11 is not necessarily performed using a wired communication network. For example, the interface controller 13d may be a wireless controller and the data may be transferred wirelessly. .
[0039] このようなシステム構成において、本発明の特徴は、デバイスドライバ 13cおよびィ ンタフェースコントローラ 13dに新たな機能を持たせることで、図 2に示すような新たな データ転送方式に対応することにある。図 2は、本発明の一実施の形態によるデータ 記憶システムにおいて、イニシエータとターゲットとの間のデータ転送方式を従来技 術と比較して説明するための概念図である。 [0039] In such a system configuration, the feature of the present invention is that the device driver 13c and the interface controller 13d are provided with new functions to support a new data transfer method as shown in FIG. is there. FIG. 2 shows a conventional technique for transferring data between an initiator and a target in a data storage system according to an embodiment of the present invention. It is a conceptual diagram for demonstrating compared with a technique.
[0040] 図 2においては、例えば、ターゲット側のメモリ内容を 5A' hとして、イニシエータか らターゲットに向けたデータ転送により、当該メモリ内容を 5B' hに更新する場合を想 定している。まず、従来技術においては、イニシエータ力もターゲットに向けて生のデ ータである 5B, M 2進数で「01011011」)が転送され、イニシエータ側のメモリ内容 力 B' hに上書き格納される。  In FIG. 2, for example, it is assumed that the memory content on the target side is 5A′h, and the memory content is updated to 5B′h by data transfer from the initiator to the target. First, in the prior art, the initiator power is also transferred to the target as raw data (5B, M Binary "01011011") and overwritten and stored in the memory content B'h on the initiator side.
[0041] 一方、本発明においては、イニシエータ力もターゲットに向けて、各ビット毎の更新 有無を示すデータが転送される。すなわち、図 2において、更新有りのビットに' 1 ' ( ' H,レベル)を、更新無しのビットに' 0,('L,レベル)を設定した場合、最後のビットの みが更新有りとなるので 01 ' hというデータを転送している。そして、ターゲット側は、 0 l ' hのデータを受けて、自身のメモリ内容のデータの中力 更新有りのビットに該当 するビット(ここでは最後のビット)のデータを反転して再格納する。  On the other hand, in the present invention, data indicating the presence / absence of update for each bit is transferred toward the target with the initiator power. That is, in Fig. 2, if '1' ('H, level) is set to the bit with update and' 0, ('L, level) is set to the bit without update, only the last bit is updated. Therefore, the data of 01'h is transferred. Then, the target side receives the data of 0 l 'h, inverts the data of the bit (here, the last bit) corresponding to the bit with the intermediate update of the data in its own memory and stores it again.
[0042] 通常、 SDメモリカード、メモリースティックなどに対する各種メモリカード規格、 USB 、 IEEE1394などネットワーク型の通信形態をとるシリアルバス規格、及び ATAや S CSIなどのストレージ規格では、データはメモリやレジスタに割り当てられたアドレスと 1対 1に対応付けられる。また、メモリやレジスタへのアクセスは、ビットマップイメージ で処理される。  [0042] Normally, data is allocated to memory and registers in various memory card standards for SD memory cards, memory sticks, etc., serial bus standards such as USB and IEEE1394, and storage standards such as ATA and SCSI. There is a one-to-one correspondence with the specified address. Access to memory and registers is handled as a bitmap image.
[0043] そこで、データをビットマップイメージで考え、データ転送により更新する(反転する )ビットを' 1,に、そのままの値を保持するビットを' 0,となるように変更する。そして、タ 一ゲットに対して、更新する(反転する)ビット情報を持つデータを転送する。これによ つて、データ内容の変更が少ない場合には、メモリやレジスタの値のビット単位での 更新が容易となり、データ更新の効率ィ匕などを図ることが可能になる。すなわち、具 体的には、例えば次のような効果を得ることができる。  Therefore, the data is considered as a bitmap image, and the bit updated (inverted) by data transfer is changed to “1”, and the bit holding the value as it is is changed to “0”. Then, data having bit information to be updated (inverted) is transferred to the target. As a result, when there is little change in the data contents, it is easy to update the value of the memory or register in units of bits, and it is possible to improve the efficiency of data update. Specifically, for example, the following effects can be obtained.
[0044] (1)受信データを自身のメモリやレジスタに書き込み更新する場合、更新が必要な ビットの検出が容易かつ効率的になり高速に処理できる。更に、書き込み更新に際し 、更新が必要なビットのみに書き込みを行えばよい。したがって、例えば更新が必要 なビットが少な!/、状況にお!、ては、全てのビットを上書き更新する場合に比べて書き 込み時間を短縮でき、書き込みに伴う電力も節約できる。 [0045] (2)データバスにおいて、論理信号が変化する頻度を低くできるため、ノイズや無 駄な電力の発生を抑えられる。 (1) When the received data is written and updated in its own memory or register, it is easy and efficient to detect bits that need to be updated, and processing can be performed at high speed. Furthermore, when writing and updating, it is only necessary to write only the bits that need to be updated. Therefore, for example, the number of bits that need to be updated is small! / In some situations, the writing time can be shortened compared to the case where all bits are overwritten and updated, and the power associated with writing can be saved. [0045] (2) In the data bus, the frequency with which the logic signal changes can be reduced, so that generation of noise and unnecessary power can be suppressed.
[0046] (3)ビット演算に適したデータを受信するため、システムソフトウェアでの処理を効 率的に行える。 [0046] (3) Since data suitable for bit operation is received, processing by the system software can be performed efficiently.
[0047] (4)受信データを書き込み更新する時間が短縮され、この時間を製品の他機能 (マ ルチメディアデータのデコード等)に割り当てることができる。  [0047] (4) Time to write and update received data is reduced, and this time can be allocated to other functions of the product (decoding multimedia data, etc.).
[0048] (5)イニシエータとターゲットを含むシステム全体として、省電力化を図ることが可能 になる。また、システムの開発期間(特に、ソフトウェア)が短縮できる。  (5) As a whole system including the initiator and the target, it is possible to save power. In addition, the system development period (especially software) can be shortened.
[0049] なお、このような効果は、転送するデータ内で更新する箇所が少ないほど大きくなる 。一般に、文章などを更新し保存する場合は、更新する部分は少ない。それゆえ、 U SBフラッシュメモリ、 ATA接続などのハードディスクといったデータの保存を目的とし たストレージ機器などに適用して特に有益なものとなる。  It should be noted that such an effect becomes more significant as the number of locations to be updated in the transferred data is smaller. In general, when updating and saving sentences, there are few parts to be updated. Therefore, it is particularly useful when applied to storage devices such as USB flash memory and ATA connection hard disks.
[0050] また、これに限らず、本発明は、転送するデータとメモリ Zレジスタの対応するァドレ スが 1対 1に対応付けられる製品全てに適用可能である。特に、ファイルシステムのシ ステム領域の更新は、セクタ単位(512バイト等)で行われ、更新する部分は 2— 3バ イト程度とわずかであり、また、前述した 1対 1の対応関係を備えている。したがって、 このようなファイルシステムを持つ製品に適用した場合に効果が大きくなる。  Further, the present invention is not limited to this, and the present invention can be applied to all products in which the data to be transferred and the corresponding addresses of the memory Z register are associated one-to-one. In particular, the system area of the file system is updated in units of sectors (512 bytes, etc.), and only a few bytes are updated, and the one-to-one correspondence described above is provided. ing. Therefore, the effect becomes large when applied to a product having such a file system.
[0051] つぎに、これまでに説明したようなデータ転送方式を用いたデータ記憶システム全 体としての動作の一例を図 3を用いて説明する。図 3は、本発明の一実施の形態によ るデータ記憶システムにおいて、その動作の一例を示す図であり、(a)はシステム構 成の簡略図、(b)は動作フロー図である。  [0051] Next, an example of the operation of the entire data storage system using the data transfer method as described above will be described with reference to FIG. FIG. 3 is a diagram showing an example of the operation of the data storage system according to the embodiment of the present invention. (A) is a simplified diagram of the system configuration, and (b) is an operation flow diagram.
[0052] 図 3 (a) , (b)においては、イニシエータ 30力 ターゲット 31における 5A,hの値を持 つメモリ空間の N番地(Nは 0以上の整数)に 1バイトのデータ A ( = 5B' h)を書き込む 場合を想定している。以下、図 3 (b)中の番号に対応させて動作の説明を行う。  [0052] In Figs. 3 (a) and 3 (b), 1 byte of data A (= = N) in the memory space with the values of 5A and h in the initiator 30 force target 31 (N is an integer greater than or equal to 0) It is assumed that 5B 'h) is written. Hereinafter, the operation will be described with reference to the numbers in FIG.
[0053] (1)イニシエータ 30は、ターゲット 31に対して、書き込み先頭アドレス(=N)と書き 込みサイズ( = 1)を設定し、ライトコマンドを送信する。  (1) The initiator 30 sets a write start address (= N) and a write size (= 1) to the target 31 and transmits a write command.
[0054] (2)ターゲット 31は、イニシエータ 30からライトコマンドを受信すると、その内容を解 祈し、書き込みアドレスとサイズを抽出する。 [0055] (3)抽出後、ターゲット 31は、イニシエータ 30からのデータ受信準備をする。 (2) When the target 31 receives the write command from the initiator 30, the target 31 prays the content and extracts the write address and size. (3) After extraction, the target 31 prepares to receive data from the initiator 30.
[0056] (4)イニシエータ 30は、ターゲット 31に対して、更新が必要なビットの情報を持った データ A' ( = 01 ' M 2進数で「00000001」))を送信する。この場合、生データ A(= 5B' h (2進数で「01011011」))を転送する場合と比べてデータの変化( '0'→ ' 1 ' または ' 1,→ ' 0,)が少な!/、ので、データバスのノイズが抑えられる。 (0056) Initiator 30 transmits data A ′ (= 01′M binary number “00000001”) having information of bits that need to be updated to target 31. In this case, there is less data change ('0' → '1' or '1, →' 0,) than when transferring raw data A (= 5B'h (binary number "01011011"))! /, So data bus noise can be suppressed.
[0057] (5)ターゲット 31は、イニシエータ 30からデータ A,を受信する。 (5) The target 31 receives the data A from the initiator 30.
[0058] (6)ターゲット 31は、自身の対応するメモリをデータ Aに更新する。このデータ更新 に際しては、更新が必要なビットのみをデータ反転する方法が用いられる力 データ A'自体に更新が必要なビットの情報が備わって 、るので容易にこの更新方法を用 いることが可能になる。 (6) The target 31 updates its corresponding memory to data A. When updating this data, it is possible to use a method that inverts only the bits that need to be updated. The data A 'itself contains information on the bits that need to be updated, so it is possible to use this updating method easily. become.
[0059] すなわち、本発明のデータ転送方式を用いることで、このような更新方法に伴うター ゲット側のシステムソフトウェア処理等力 図 4に示すように容易かつ効率的なものと なる。図 4は、本発明の一実施の形態によるデータ記憶システムにおいて、従来技術 のデータ転送方式を用 ヽた場合と本発明のデータ転送方式を用 ヽた場合とで、ター ゲットのシステムソフトウェア処理を対比する図であり、 (a)は従来技術を用いた場合 の処理フローの一例、(b)は本発明を用いた場合の処理フローの一例である。  That is, by using the data transfer method of the present invention, the system software processing power on the target side associated with such an updating method becomes easy and efficient as shown in FIG. FIG. 4 shows the target system software processing in the data storage system according to the embodiment of the present invention when the conventional data transfer method is used and when the data transfer method of the present invention is used. It is a figure to compare, (a) is an example of the processing flow at the time of using a prior art, (b) is an example of the processing flow at the time of using this invention.
[0060] なお、ここでは、ターゲット 31の N番地の内容(=データ N)を更新する場合を例とし て説明する。まず、従来技術においては、例えば図 4 (a)に示すような処理フローとな り、以下のような処理が行われる。  [0060] Here, the case where the contents of address N of target 31 (= data N) are updated will be described as an example. First, in the prior art, the processing flow is as shown in FIG. 4 (a), for example, and the following processing is performed.
[0061] S401aにおいて、ターゲット 31がデータ Aを受信する。そして S402aに移行する。  [0061] In S401a, the target 31 receives data A. Then, control goes to S402a.
[0062] S402aにおいて、 N番地のデータ更新のため、ターゲット 31のメモリよりデータ Nを 取り出す。そして S403aに移行する。  In S402a, data N is extracted from the memory of the target 31 for updating data at address N. Then, the process proceeds to S403a.
[0063] S403a〖こお!/、て、ビット取り出し用カウンタを初期化する。そして S404aに移行する  [0063] S403a Kokoo! /, Initializes the bit extraction counter. And move on to S404a
[0064] S404aにお!/、て、データ Aの Iビット目を取り出し、それを A[I]とする。そして S405 aに移行する。 [0064] In S404a, the I-th bit of data A is taken out and is designated as A [I]. Then, the process proceeds to S405a.
[0065] S405aにおいて、データ Nの Iビット目を取り出し、それを N[I]とする。そして S406 aに移行する。 [0066] S406aにおいて、 N [I]と A[I]が互いに異なっているかを比較する。異なっている 場合は、 S407aに移行し、そうでない場合は、 S408aへ移行する。 In S405a, the I-th bit of data N is taken out and is designated as N [I]. Then, control goes to S406a. [0066] In S406a, it is compared whether N [I] and A [I] are different from each other. If they are different, the process proceeds to S407a. Otherwise, the process proceeds to S408a.
[0067] S407aにおいて、比較の結果互いに異なっていれば、ターゲットのメモリにおける[0067] In S407a, if they are different from each other as a result of comparison, in the target memory
N番地の Iビット目に該当するデータを反転する。そして S408aに移行する。 The data corresponding to the I bit at address N is inverted. Then, the process proceeds to S408a.
[0068] S408aにおいて、ビット取り出し用カウンタが有効力否かを判定する。有効ならば SIn S408a, it is determined whether or not the bit extraction counter is effective. S if valid
409aに移行し、そうでない場合は終了する。 The process proceeds to 409a, and otherwise ends.
[0069] S409aにおいて、ビット取り出し用カウンタが有効であれば、それを 1増やす。そし て、 S404a〖こ移行し、処理を繰り返す。 In S409a, if the bit extraction counter is valid, it is incremented by one. Then, move to S404a and repeat the process.
[0070] 一方、本発明においては、例えば図 4 (b)に示すような処理フローとなり、以下のよ うな処理が行われる。 On the other hand, in the present invention, for example, the processing flow as shown in FIG. 4B is performed, and the following processing is performed.
[0071] S401bにおいて、ターゲット 31はデータ A,を受信する。そして、 S403bに移行す る。  In S401b, the target 31 receives data A. Then, the process proceeds to S403b.
[0072] S403bにおいて、ビット取り出し用カウンタを初期化する。そして、 S404bに移行す る。  In S403b, a bit extraction counter is initialized. Then, the process proceeds to S404b.
[0073] S404bにおいて、データ A,の Iビット目を取り出し、それを A, [I]とする。そして、 S4 06bに移行する。  [0073] In S404b, the I-th bit of data A is extracted and is designated as A, [I]. Then, the process proceeds to S4 06b.
[0074] S406bにおいて、 A' [I]が' 1,であるか否かを判定する。そうである場合は S407b に移行し、そうでない場合は S408bに移行する。  In S406b, it is determined whether or not A ′ [I] is “1”. If so, the process proceeds to S407b. Otherwise, the process proceeds to S408b.
[0075] S407bにおいて、判定の結果' 1,であれば、ターゲット 31のメモリにおける N番地 の Iビット目に該当するデータを反転する。そして、 S408bに移行する。 If the determination result is “1” in S407b, the data corresponding to the I-th bit of the Nth address in the memory of the target 31 is inverted. Then, the process proceeds to S408b.
[0076] S408bにおいて、ビット取り出し用カウンタが有効力否力判定する。有効である場 合は S409bに移行し、そうでない場合は終了する。 In S408b, the bit extraction counter determines whether or not the force is effective. If it is valid, the process proceeds to S409b, and if not, the process ends.
[0077] S409bにおいて、ビット取り出し用カウンタが有効であれば、それを 1増やす。そし て、 S404b〖こ移行し、処理を繰り返す。 In S409b, if the bit extraction counter is valid, it is incremented by one. Then, move to S404b and repeat the process.
[0078] このように、本発明のデータ転送方式を用いることで、従来技術と比較して、 S402a のデータ Nを取り出す処理と S405aのデータ Nの Iビット目を取り出す処理を省略す ることができる。これによつて、システムソフトウェアの処理およびこのソフトウェア処理 に伴うハードウェア処理が容易かつ効率的となる。 [0079] つぎに、これまでに述べたようなデータ転送方式を、例えば、 SDメモリカードまたは MMC (MultiMediaCard (登録商標) )カードと!/、つたメモリカードをターゲットとする カードシステムへ適用する例を説明する。 As described above, by using the data transfer method of the present invention, the process of extracting the data N of S402a and the process of extracting the I-th bit of the data N of S405a can be omitted as compared with the prior art. it can. As a result, the processing of the system software and the hardware processing accompanying this software processing become easy and efficient. [0079] Next, an example of applying the data transfer method as described above to, for example, an SD memory card or MMC (MultiMediaCard (registered trademark)) card and! /, And a card system that targets two memory cards. Will be explained.
[0080] SDメモリカード規格または MMCカード規格では、ブロックへの書き込みコマンドと して CMD24 (= WRITE— BLOCK)、複数ブロックへの書き込みコマンドとして CM D25 (=WRITE— MULTIPLE— BLOCK)が定義されている。そこで、本発明の データ転送方式を適用した書き込みコマンドとして、 SDメモリカード規格または MM Cカード規格で予約されているコマンドを使用する。  [0080] In the SD memory card standard or MMC card standard, CMD24 (= WRITE— BLOCK) is defined as a command to write to a block, and CM D25 (= WRITE— MULTIPLE— BLOCK) is defined as a command to write to multiple blocks. Yes. Therefore, a command reserved in the SD memory card standard or the MMC card standard is used as a write command to which the data transfer method of the present invention is applied.
[0081] つまり、ブロックへの書き込みコマンドとして、例えば、 CMD60 ( = DIFFERENTI AL— WRITE— BLOCK)を、複数ブロックへの書き込みコマンドとして、例えば、 C MD61 (DIFFERENTIAL— WRITE— MULTIPLE— BLOCK)を定義する。 C MD60と CMD61を使用したイニシエータおよびターゲット間の書き込み命令プロト コルは、それぞれ CMD24と CMD25と全く同様とし、データ内容だけをビット反転情 報を持つものに変更する。すなわち、 CMD60と CMD61のコマンドフォーマットは、 それぞれ図 5 (a) , (b)のようになる。  That is, for example, CMD60 (= DIFFERENTIAL—WRITE—BLOCK) is defined as a write command to a block, and CMD61 (DIFFERENTIAL—WRITE—MULTIPLE—BLOCK) is defined as a write command to a plurality of blocks. . The write command protocol between the initiator and target using CMD60 and CMD61 is exactly the same as CMD24 and CMD25, respectively, and only the data contents are changed to those with bit inversion information. In other words, the command formats of CMD60 and CMD61 are as shown in Fig. 5 (a) and (b), respectively.
[0082] 図 5 (a) , (b)は、本発明の一実施の形態のデータ記憶システムにおいて、ターゲッ トにメモリカードを用いる場合に定義されるメモリカードのコマンド仕様の一例を示す 説明図であり、(a)は、 CMD60の仕様例、(b)は、 CMD61の仕様例を示すもので ある。  FIGS. 5A and 5B are diagrams illustrating an example of command specifications of a memory card defined when a memory card is used as a target in the data storage system according to the embodiment of the present invention. (A) shows the specification example of CMD60, and (b) shows the specification example of CMD61.
[0083] CMD60は、図 5 (a)に示すように、 adtc (addressed (point— to— point) data tra nsfer commands)タイプのコマンドとなっている。このタイプでは、 CMDラインから 指定された特定のメモリカードに対してコマンドが発行され、この特定のメモリカード がレスポンスを返した後に、 DATラインを通してメモリカードに向けたデータ転送が行 われる。このデータ転送により、メモリカードにおいては、 CMD60の発行時に引数で 指定したアドレスから、 SET— BLOCKLENコマンドにより指定したブロックサイズ分 のデータ書き込みが行われる。そして、メモリカードに向けて転送されるデータは、こ れまでに説明したようなビット反転情報を持つデータである。  [0083] As shown in FIG. 5 (a), the CMD60 is an adtc (addressed (point-to-point) data transfer commands) type command. In this type, a command is issued to a specific memory card specified from the CMD line, and after this specific memory card returns a response, data is transferred to the memory card through the DAT line. With this data transfer, the memory card writes data for the block size specified by the SET-BLOCKLEN command from the address specified by the argument when issuing CMD60. The data transferred to the memory card is data having bit inversion information as described above.
[0084] 一方、 CMD61は、図 5 (b)に示すように、 CMD60と同様に adtcタイプのコマンドと なっている。そして、ホストからメモリカードに向けたデータ転送により、メモリカードに おいては、 CMD61の発行時に引数で指定したアドレスから、連続してデータ書き込 みが行われ、 STOP— TRANSMISSIONコマンドにより停止するまで複数ブロック に書き込みが行われる。そして、メモリカードに向けて転送されるデータは、これまで に説明したようなビット反転情報を持つデータである。 On the other hand, as shown in FIG. 5 (b), CMD61 is an adtc type command and It has become. Data transfer from the host to the memory card causes the memory card to continuously write data from the address specified by the argument when issuing CMD61 until it is stopped by the STOP-TRANSMISION command. Multiple blocks are written. The data transferred to the memory card is data having the bit inversion information as described above.
[0085] このように、 SDメモリカードおよび MMCカードといったメモリカードに新たなコマン ドを定義し、メモリカード内に、当該コマンドに対応するための機能としてコマンド判定 機能や前述したようなビット反転情報を処理する機能等を設けることで、メモリカード のデータ転送効率を向上させることが可能となる。 [0085] In this way, a new command is defined for a memory card such as an SD memory card or an MMC card, and a command determination function or a bit inversion information as described above is provided in the memory card as a function for responding to the command. It is possible to improve the data transfer efficiency of the memory card by providing a function for processing this.
[0086] 以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが 、本発明は前記実施の形態に限定されるものではなぐその要旨を逸脱しない範囲 で種々変更可能であることは 、うまでもな!/、。  [0086] While the invention made by the inventor has been specifically described based on the embodiments, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention. There's nothing wrong!
産業上の利用可能性  Industrial applicability
[0087] 本発明のデータ記憶システムおよびメモリカードは、 SDメモリカードおよびメモリー スティックなどの各種メモリカードや、 USBフラッシュメモリなどと!/、つたシリアル転送 のストレージ機器を含むデータ記憶システムに適用して特に有益なものである。また 、これらに限らず、 ATA接続などのハードディスクや、 SDオーディオなどのメモリ力 ードホスト機器、 IEEE 1394で接続された DVDドライブと 、つた各種ストレージ機器 や、更に、ストレージ機器に限らず記憶媒体を備えアドレスとデータが 1対 1で割り当 てられた様々な機器を含むデータ記憶システムに対して広く適用可能である。 [0087] The data storage system and the memory card of the present invention are applied to a data storage system including various memory cards such as an SD memory card and a memory stick, a USB flash memory, and so on, and a serial transfer storage device. It is particularly useful. Not only these, but also hard disks with ATA connection, memory-powered host devices such as SD audio, DVD drives connected with IEEE 1394, various storage devices, and storage media not limited to storage devices. It is widely applicable to data storage systems including various devices in which addresses and data are assigned one-to-one.

Claims

請求の範囲 The scope of the claims
[1] データの反転が必要な場合とデータの保持が必要な場合とでそれぞれ異なる信号 レベルを備えた第 1データを送信するイニシエータと、  [1] An initiator that transmits first data with different signal levels when data inversion is required and when data retention is required,
予め第 2データが記憶され、前記第 1データを受信し、前記第 1データの前記信号 レベルに基づ 、て前記記憶された第 2データを反転または保持することで、前記記 憶された第 2データを更新するターゲットとを有することを特徴とするデータ記憶シス テム。  Second data is stored in advance, the first data is received, and the stored second data is inverted or held based on the signal level of the first data, thereby storing the stored second data. A data storage system characterized by having a target for updating data.
[2] 請求項 1記載のデータ記憶システムにお 、て、  [2] In the data storage system according to claim 1,
前記ターゲットは、ストレージ機器であることを特徴とするデータ記憶システム。  The data storage system, wherein the target is a storage device.
[3] データを送信するイニシエータと、前記送信したデータを受信するターゲットとを有 するデータ記憶システムであって、 [3] A data storage system having an initiator for transmitting data and a target for receiving the transmitted data,
前記イニシエータは、前記ターゲットに記憶されている複数ビットの第 2データに対 して、反転が必要となるビットと反転が不必要となるビットをそれぞれ第 1の信号レべ ルと第 2の信号レベルに対応させた複数ビットの第 1データを形成し、前記複数ビット の第 1データを前記イニシエータに向けて送信し、  The initiator sets a bit that requires inversion and a bit that does not need to be inverted to a first signal level and a second signal, respectively, with respect to second data of a plurality of bits stored in the target. Forming first data of a plurality of bits corresponding to a level, transmitting the first data of the plurality of bits to the initiator,
前記ターゲットは、前記複数ビットの第 1データを受信し、前記受信した複数ビット の第 1データの中から前記第 1の信号レベルに該当するビットを検出し、前記複数ビ ットの第 2データに対して、前記検出したビットに対応するビットのデータを反転するこ とで前記複数ビットの第 2データの記憶を更新することを特徴とするデータ記憶シス テム。  The target receives the first data of the plurality of bits, detects a bit corresponding to the first signal level from the received first data of the plurality of bits, and detects second data of the plurality of bits. On the other hand, the data storage system is characterized by updating the storage of the second data of the plurality of bits by inverting the data of the bit corresponding to the detected bit.
[4] 請求項 3記載のデータ記憶システムにお 、て、  [4] In the data storage system according to claim 3,
前記ターゲットでは、前記ターゲットが備えたコンピュータを用いてソフトウェアの処 理が行われ、  In the target, software processing is performed using a computer provided in the target,
前記ソフトウェアの処理は、  The processing of the software is as follows:
前記複数ビットの第 1データに対し、それぞれのビットの信号レベルを判定するステ ップと、  A step of determining a signal level of each bit for the plurality of bits of first data;
前記判定したビットの信号レベルが第 1の信号レベルであった場合に限り、前記複 数ビットの第 2データの中から前記判定したビットに対応するビットのデータを読み出 し、前記読み出したデータを反転して書き戻しを行うステップとを含むことを特徴とす るデータ記憶システム。 Only when the signal level of the determined bit is the first signal level, the bit data corresponding to the determined bit is read from the second data of the plurality of bits. And a step of inverting the read data and writing back the data.
[5] 請求項 3または 4記載のデータ記憶システムにお 、て、  [5] In the data storage system according to claim 3 or 4,
前記ターゲットは、ファイルシステムを含むストレージ機器であることを特徴とするデ ータ記憶システム。  The data storage system, wherein the target is a storage device including a file system.
[6] イニシエータから、書き込みアドレスを含むコマンドと、データの反転または保持に 対応してそれぞれ異なる信号レベルが割り当てられたデータとが入力された際に、前 記書き込みアドレスに記憶されて 、るデータを、前記入力されたデータの信号レベル に基づ!/、て反転または保持することで、前記書き込みアドレスに記憶されて 、るデ一 タの更新を行うことを特徴とするメモリカード。  [6] When an initiator receives a command including a write address and data assigned with different signal levels corresponding to the inversion or retention of data, the data stored in the write address Is updated or stored based on the signal level of the input data, thereby updating the data stored in the write address.
[7] 請求項 6記載のメモリカードにおいて、  [7] The memory card according to claim 6,
前記メモリカードは、 SDメモリカードまたは MMCカードであることを特徴とするメモ リカード。  The memory card is an SD memory card or an MMC card.
[8] 請求項 7記載のメモリカードにおいて、  [8] The memory card according to claim 7,
前記コマンドは、ブロックへの書き込みコマンドであることを特徴とするメモリカード。  The memory card, wherein the command is a write command to a block.
[9] 請求項 7記載のメモリカードにおいて、 [9] The memory card according to claim 7,
前記コマンドは、複数ブロックへの書き込みコマンドであることを特徴とするメモリ力  The memory is characterized in that the command is a write command to a plurality of blocks.
PCT/JP2004/014228 2004-09-29 2004-09-29 Data storage system and memory card WO2006035500A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2004/014228 WO2006035500A1 (en) 2004-09-29 2004-09-29 Data storage system and memory card
JP2006537602A JPWO2006035500A1 (en) 2004-09-29 2004-09-29 Data storage system and memory card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/014228 WO2006035500A1 (en) 2004-09-29 2004-09-29 Data storage system and memory card

Publications (1)

Publication Number Publication Date
WO2006035500A1 true WO2006035500A1 (en) 2006-04-06

Family

ID=36118652

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/014228 WO2006035500A1 (en) 2004-09-29 2004-09-29 Data storage system and memory card

Country Status (2)

Country Link
JP (1) JPWO2006035500A1 (en)
WO (1) WO2006035500A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527535A (en) * 2005-01-13 2008-07-24 サムスン エレクトロニクス カンパニー リミテッド A host device, a portable storage device, and a method for updating meta information of a rights object stored in a portable storage device.

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268941A (en) * 2001-03-09 2002-09-20 Fujitsu Ltd Semiconductor device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05191454A (en) * 1992-01-16 1993-07-30 Nec Corp Data transfer system
JP2002358222A (en) * 2001-06-04 2002-12-13 Hitachi Ltd Data dual system and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268941A (en) * 2001-03-09 2002-09-20 Fujitsu Ltd Semiconductor device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527535A (en) * 2005-01-13 2008-07-24 サムスン エレクトロニクス カンパニー リミテッド A host device, a portable storage device, and a method for updating meta information of a rights object stored in a portable storage device.

Also Published As

Publication number Publication date
JPWO2006035500A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
US7010638B2 (en) High speed bridge controller adaptable to non-standard device configuration
TWI507869B (en) System,apparatus,and method for virtualizing storage devices
TWI428917B (en) Flash memory device, data storage system, and operation method of a data storage system
US7069350B2 (en) Data transfer control system, electronic instrument, and data transfer control method
TW200406680A (en) Method, system, and program for handling input/output commands
EP1532533B1 (en) Method, system, and program for memory based data transfer
US20130275652A1 (en) Methods and structure for transferring additional parameters through a communication interface with limited parameter passing features
US20040167995A1 (en) Data transfer control system, electronic instrument, program, and data transfer control method
KR100843199B1 (en) High speed IDE interface device and method for the same
TWI578163B (en) Peripheral interface circuit and peripheral memory system
TW200941226A (en) Systems and methods for accessing hard disk drives
CN101911035B (en) Bridge circuit interfacing a processor to external devices via memory address mapping
CN115113799A (en) Host command execution method and device
WO2006035500A1 (en) Data storage system and memory card
US20060277326A1 (en) Data transfer system and method
TWI805505B (en) Method and computer program product and apparatus for scheduling and executing host data-update commands
US20040186949A1 (en) XIP system and method for serial memory
US8667188B2 (en) Communication between a computer and a data storage device
TWI835027B (en) Method and computer program product and apparatus for updating host-to-flash address mapping table
TWI822516B (en) Method and computer program product and apparatus for executing host write commands
TW200413940A (en) Method and apparatus for handling data transfers
TWI818762B (en) Method and computer program product and apparatus for scheduling and executing host data-update commands
JP2006059201A (en) Data transfer system and interface
TWI810876B (en) Method and computer program product and apparatus for data access in response to host discard commands
TWI736092B (en) Usb device and accessing method thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006537602

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase