JPWO2006035500A1 - データ記憶システムおよびメモリカード - Google Patents

データ記憶システムおよびメモリカード Download PDF

Info

Publication number
JPWO2006035500A1
JPWO2006035500A1 JP2006537602A JP2006537602A JPWO2006035500A1 JP WO2006035500 A1 JPWO2006035500 A1 JP WO2006035500A1 JP 2006537602 A JP2006537602 A JP 2006537602A JP 2006537602 A JP2006537602 A JP 2006537602A JP WO2006035500 A1 JPWO2006035500 A1 JP WO2006035500A1
Authority
JP
Japan
Prior art keywords
data
target
bit
memory card
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006537602A
Other languages
English (en)
Inventor
鈴木 慎一
慎一 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
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
Publication of JPWO2006035500A1 publication Critical patent/JPWO2006035500A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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

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

例えば、ターゲット側のメモリ内容を5A’hとして、イニシエータからターゲットに向けたデータ転送により、当該メモリ内容を5B’hに更新する場合を例とすると、イニシエータは、ターゲットに向けて、更新有りのビットを‘1’、更新無しのビットを‘0’とする各ビット毎の更新有無を示すデータ01’hを送信し、ターゲットは、01’hのデータを受けて、自身のメモリ内容のデータの中から更新有りのビットに該当するビット(ここでは最後のビット)のデータを反転して再格納する。

Description

本発明は、データ記憶システムおよびメモリカードに関し、特に、メモリカードを代表とするストレージ機器とこれに対してデータを読み書きするイニシエータとを含めたデータ記憶システムに適用して有効な技術に関するものである。
本発明者が検討したところによれば、データ記憶システムの技術に関しては、以下のような技術が考えられる。
例えば、SD(Secure Digital)メモリカードやメモリースティック(登録商標)などの各種メモリカード規格、USB(Universal Serial Bus)やIEEE(the Institute of Electrical and Electronics Engineers)1394などのネットワーク型の通信形態をとるシリアルバス規格、及びATA(AT Attachment)やSCSI(Small Computer System Interface)などのストレージ関連規格では、バス上のデータ転送は、特に最適化されない生のデータを用いて行われる。
すなわち、例えば図6に示すようなデータ転送となる。図6は、本発明の前提として検討した従来技術のデータ記憶システムにおいて、そのデータ転送方式の一例を説明する図であり、(a)はシステム構成の簡略図、(b)は動作フロー図である。図6では、データ送信側をイニシエータ60、受信側をターゲット61とし、イニシエータ60が、ターゲット61の5A’h(16進数で「5A」、以降同様の表記を用いる)の値を持つメモリ空間のN番地(Nは0以上の整数)に1バイトのデータA(=5B’h)を書き込む場合を例としている。この場合、下記(1)〜(6)のような処理が行われる。
(1)イニシエータ60は、ターゲット61に書き込み先頭アドレス(=N)と書き込みサイズ(=1バイト)を設定し、ライトコマンドを送信する。
(2)ターゲット61は、イニシエータ60からライトコマンドを受信すると、その内容を解析し、書き込みアドレスとサイズを抽出する。
(3)抽出後、ターゲット61は、イニシエータ60からのデータ受信の準備をする。
(4)イニシエータ60は、ターゲット61に生のデータA(=5B’h)を送信する。
(5)ターゲット61は、イニシエータ60からデータAを受信する。
(6)ターゲット61は、自身の対応するメモリ空間(ここではN番地からの1バイト分)をデータAに更新する。
ところで、前記のようなデータ記憶システムの技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
例えば、図6で述べたようなデータ転送方式においては、イニシエータとターゲットとの間で生のデータが転送されるため、特に、対応するアドレスのデータ内容の変化が転送前と転送後で少ない場合に、例えば、以下のような問題が発生する。
(1)ターゲット側で、受信データを自身のメモリやレジスタに書き込み更新する場合、全て上書きを行うと電力と時間を無駄に消費する。また、データバスにおいて、‘H’および‘L’の論理信号が高頻度で変化するため、ノイズや無駄な電力が発生する。
(2)そこで、ターゲット側で、更新するビットのみに着目してデータ更新を行う方法が考えられるが、その更新するビットの検出に手間を要す。すなわち、データ更新は、更新が必要なビットのみを反転する方法を用いると効率が向上する。しかし、その方法を適用した場合、生データを基に反転するビットを検出する際に、更新前のメモリの内容と生データの内容を比較する必要があり効率が低下する。
(3)一般に、メモリへのアクセスは、デバイスドライバなどのシステムソフトウエアで行う場合が多い。システムソフトウエアは、アセンブラ言語やC言語などビット演算に適した言語で作成されるので、生データを扱うのは効率が良くない。
そこで、本発明の目的は、データを記憶する際の時間的な効率を向上させることが可能なデータ記憶システムおよびメモリカードを提供することにある。
また、本発明の他の目的は、データを記憶する際に省電力化を可能にするデータ記憶システムおよびメモリカードを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明によるデータ記憶システムは、データの反転が必要な場合とデータの保持が必要な場合とでそれぞれ異なる信号レベルを備えた第1データを送信するイニシエータと、予め第2データが記憶され、第1データを受信し、第1データの前記信号レベルに基づいて第2データを反転または保持することで第2データを更新するターゲットとを有するものである。
すなわち、ターゲットのメモリ等を更新する際に、従来技術のようにターゲットに向けて生データを送信することで更新を行うのではなく、ターゲットのメモリ等に既に記憶されているデータを反転するか否かの情報を送信することで更新を行う。これによって、ターゲットのメモリ等において、例えば、‘H’データを‘H’データに、または‘L’データを‘L’データに上書き更新するような処理を低減でき、書き込み時間の効率化や書き込み電力の効率化を図ることが可能になる。
ここで、前記ターゲットとしては、例えば、ストレージ機器などが挙げられる。
また、本発明によるデータ記憶システムは、データを送信するイニシエータと、前記送信したデータを受信するターゲットとを有するものである。そして、イニシエータは、ターゲットに記憶されている複数ビットの第2データに対して、反転が必要となるビットと反転が不必要となるビットをそれぞれ第1の信号レベルと第2の信号レベルに対応させた複数ビットの第1データを形成し、この複数ビットの第1データを前記ターゲットに向けて送信するものとなっている。一方、ターゲットは、複数ビットの第1データを受信し、この受信した複数ビットの第1データの中から第1の信号レベルに該当するビットを検出し、複数ビットの第2データに対して、当該検出したビットに対応するビットのデータを反転することで第2データの記憶を更新するものとなっている。
すなわち、イニシエータからターゲットのメモリ等に向けて、例えば、1バイトのデータを書き込むような場合、その1バイト中の8ビットの中で第1の信号レベルとなっているビットがあった場合に、そのビットに対応するメモリ等内のビットのデータを反転し、メモリ等のデータの更新を行う。
ここで、前記ターゲットでは、例えば、ターゲットが備えたコンピュータを用いてシステムソフトウエアの処理が行われ、このシステムソフトウエアの処理は、複数ビットの第1データに対し、それぞれのビットの信号レベルを判定するステップと、この判定したビットの信号レベルが第1の信号レベルであった場合に限り、複数ビットの第2データの中から当該判定したビットに対応するビットのデータを読み出し、この読み出したデータを反転して書き戻しを行うステップとを含むものとなっている。
すなわち、デバイスドライバ等のシステムソフトウエアの処理によって、ターゲットで受信したデータの信号レベルを判定して、この判定結果に基づいてメモリ等への書き込みを制御する機能を実現させる。
また、本発明によるメモリカードは、イニシエータから、書き込みアドレスを含むコマンドと、データの反転または保持に対応してそれぞれ異なる信号レベルが割り当てられたデータとが入力された際に、前記書き込みアドレスに記憶されているデータを、前記入力されたデータの信号レベルに基づいて反転または保持することで、前記書き込みアドレスに記憶されているデータの更新を行うものである。
ここで、メモリカードとしては、例えば、SDメモリカードまたはMMCカードなどが挙げられる。この場合、前記コマンドとして、このようなメモリカードが一般的に備えているブロックまたは複数ブロックへの書き込みコマンドと同様なプロトコルを用いて、新たにブロックまたは複数ブロックへの書き込みコマンドを設けるとよい。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
イニシエータからターゲットに向けて、ターゲットのメモリ等のデータを反転する場合と保持する場合とでそれぞれ異なる信号レベルを備えたデータを転送することで、データを記憶する際の時間的な効率を向上させることが可能になる。さらに、データを記憶する際に省電力化を図ることが可能になる。
本発明の一実施の形態によるデータ記憶システムにおいて、その構成の一例を示すシステム概略図である。 本発明の一実施の形態によるデータ記憶システムにおいて、イニシエータとターゲットとの間のデータ転送方式を従来技術と比較して説明するための概念図である。 本発明の一実施の形態によるデータ記憶システムにおいて、その動作の一例を示す図であり、(a)はシステム構成の簡略図、(b)は動作フロー図である。 本発明の一実施の形態によるデータ記憶システムにおいて、従来技術のデータ転送方式を用いた場合と本発明のデータ転送方式を用いた場合とで、ターゲットのシステムソフトウエア処理を対比する図であり、(a)は従来技術を用いた場合の処理フローの一例、(b)は本発明を用いた場合の処理フローの一例である。 本発明の一実施の形態のデータ記憶システムにおいて、ターゲットにメモリカードを用いる場合に定義されるメモリカードのコマンド仕様の一例を示す説明図であり、(a)は、CMD60の仕様例、(b)は、CMD61の仕様例を示すものである。 本発明の前提として検討した従来技術のデータ記憶システムにおいて、そのデータ転送方式の一例を説明する図であり、(a)はシステム構成の簡略図、(b)は動作フロー図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1は、本発明の一実施の形態によるデータ記憶システムにおいて、その構成の一例を示すシステム概略図である。図1に示すデータ記憶システムは、データを送信するイニシエータ10と、データを受信するターゲット11から構成され、イニシエータ10とターゲット11との間が通信ネットワーク12で接続されている。イニシエータ10およびターゲット11としては、例えば、メモリカードホスト機器、USB機器、またはIEEE1394機器などが挙げられる。
イニシエータ10およびターゲット11は、それぞれ同様な構成となっており、例えば、アプリケーション13aと、ファイルシステム13bと、デバイスドライバ13cと、インタフェースコントローラ13dと、メモリおよび/またはレジスタ等を備えた記憶部13eとを含むものとなっている。
アプリケーション13aは、例えば、フォルダやファイルの操作を行う機能を備えたエクスプローラや、音楽データの再生機能等を備えたオーディオプレーヤーなどといったソフトウエアである。ファイルシステム13bは、例えば、アプリケーション13aによって処理が可能なように、デバイスドライバ13cを介して入出力したデータをファイルに変換するシステムソフトウエアである。具体例としては、FAT16やFAT32などのFAT(File Allocation Table)準拠のもの等が挙げられる。デバイスドライバ13cは、インタフェースコントローラ13dの制御や、トランザクションおよびコマンドシーケンスの管理などを行うソフトウエアである。
なお、図1には示していないが、イニシエータ10およびターゲット11は、例えば、マイクロプロセッサ等のコンピュータを備えており、これによって前述したようなソフトウエアが実行される。また、前述したようなソフトウエアは、イニシエータ10およびターゲット11がPC(Personal Computer)等の場合、ファイルシステムを含むOSと、アプリケーションと、デバイスドライバといった構成でもよい。
インタフェースコントローラ13dは、イニシエータ10とターゲット11との間を接続した通信ネットワーク12を介して、コマンド送信、レスポンス受信、データ送受信などを行うハードウエアである。通信ネットワーク12は、例えば、メモリカードへの配線ライン、USBケーブル、IEEE1394ケーブルなどが挙げられ、通信ネットワーク12上では、電気的信号によりデータ転送が行われる。記憶部13eのメモリは、例えば、ファイルやシステムに必要なデータが格納され、レジスタは、例えば、機器の動作制御など特定の用途等に使用される。
また、イニシエータ10とターゲット11との間のデータ転送は、必ずしも有線の通信ネットワークを用いて行う必要はなく、例えば、インタフェースコントローラ13dを無線コントローラとして、無線によるデータ転送であってもよい。
このようなシステム構成において、本発明の特徴は、デバイスドライバ13cおよびインタフェースコントローラ13dに新たな機能を持たせることで、図2に示すような新たなデータ転送方式に対応することにある。図2は、本発明の一実施の形態によるデータ記憶システムにおいて、イニシエータとターゲットとの間のデータ転送方式を従来技術と比較して説明するための概念図である。
図2においては、例えば、ターゲット側のメモリ内容を5A’hとして、イニシエータからターゲットに向けたデータ転送により、当該メモリ内容を5B’hに更新する場合を想定している。まず、従来技術においては、イニシエータからターゲットに向けて生のデータである5B’h(2進数で「01011011」)が転送され、イニシエータ側のメモリ内容が5B’hに上書き格納される。
一方、本発明においては、イニシエータからターゲットに向けて、各ビット毎の更新有無を示すデータが転送される。すなわち、図2において、更新有りのビットに‘1’(‘H’レベル)を、更新無しのビットに‘0’(‘L’レベル)を設定した場合、最後のビットのみが更新有りとなるので01’hというデータを転送している。そして、ターゲット側は、01’hのデータを受けて、自身のメモリ内容のデータの中から更新有りのビットに該当するビット(ここでは最後のビット)のデータを反転して再格納する。
通常、SDメモリカード、メモリースティックなどに対する各種メモリカード規格、USB、IEEE1394などネットワーク型の通信形態をとるシリアルバス規格、及びATAやSCSIなどのストレージ規格では、データはメモリやレジスタに割り当てられたアドレスと1対1に対応付けられる。また、メモリやレジスタへのアクセスは、ビットマップイメージで処理される。
そこで、データをビットマップイメージで考え、データ転送により更新する(反転する)ビットを‘1’に、そのままの値を保持するビットを‘0’となるように変更する。そして、ターゲットに対して、更新する(反転する)ビット情報を持つデータを転送する。これによって、データ内容の変更が少ない場合には、メモリやレジスタの値のビット単位での更新が容易となり、データ更新の効率化などを図ることが可能になる。すなわち、具体的には、例えば次のような効果を得ることができる。
(1)受信データを自身のメモリやレジスタに書き込み更新する場合、更新が必要なビットの検出が容易かつ効率的になり高速に処理できる。更に、書き込み更新に際し、更新が必要なビットのみに書き込みを行えばよい。したがって、例えば更新が必要なビットが少ない状況においては、全てのビットを上書き更新する場合に比べて書き込み時間を短縮でき、書き込みに伴う電力も節約できる。
(2)データバスにおいて、論理信号が変化する頻度を低くできるため、ノイズや無駄な電力の発生を抑えられる。
(3)ビット演算に適したデータを受信するため、システムソフトウエアでの処理を効率的に行える。
(4)受信データを書き込み更新する時間が短縮され、この時間を製品の他機能(マルチメディアデータのデコード等)に割り当てることができる。
(5)イニシエータとターゲットを含むシステム全体として、省電力化を図ることが可能になる。また、システムの開発期間(特に、ソフトウエア)が短縮できる。
なお、このような効果は、転送するデータ内で更新する箇所が少ないほど大きくなる。一般に、文章などを更新し保存する場合は、更新する部分は少ない。それゆえ、USBフラッシュメモリ、ATA接続などのハードディスクといったデータの保存を目的としたストレージ機器などに適用して特に有益なものとなる。
また、これに限らず、本発明は、転送するデータとメモリ/レジスタの対応するアドレスが1対1に対応付けられる製品全てに適用可能である。特に、ファイルシステムのシステム領域の更新は、セクタ単位(512バイト等)で行われ、更新する部分は2〜3バイト程度とわずかであり、また、前述した1対1の対応関係を備えている。したがって、このようなファイルシステムを持つ製品に適用した場合に効果が大きくなる。
つぎに、これまでに説明したようなデータ転送方式を用いたデータ記憶システム全体としての動作の一例を図3を用いて説明する。図3は、本発明の一実施の形態によるデータ記憶システムにおいて、その動作の一例を示す図であり、(a)はシステム構成の簡略図、(b)は動作フロー図である。
図3(a),(b)においては、イニシエータ30が、ターゲット31における5A’hの値を持つメモリ空間のN番地(Nは0以上の整数)に1バイトのデータA(=5B’h)を書き込む場合を想定している。以下、図3(b)中の番号に対応させて動作の説明を行う。
(1)イニシエータ30は、ターゲット31に対して、書き込み先頭アドレス(=N)と書き込みサイズ(=1)を設定し、ライトコマンドを送信する。
(2)ターゲット31は、イニシエータ30からライトコマンドを受信すると、その内容を解析し、書き込みアドレスとサイズを抽出する。
(3)抽出後、ターゲット31は、イニシエータ30からのデータ受信準備をする。
(4)イニシエータ30は、ターゲット31に対して、更新が必要なビットの情報を持ったデータA’(=01’h(2進数で「00000001」))を送信する。この場合、生データA(=5B’h(2進数で「01011011」))を転送する場合と比べてデータの変化(‘0’→‘1’または‘1’→‘0’)が少ないので、データバスのノイズが抑えられる。
(5)ターゲット31は、イニシエータ30からデータA’を受信する。
(6)ターゲット31は、自身の対応するメモリをデータAに更新する。このデータ更新に際しては、更新が必要なビットのみをデータ反転する方法が用いられるが、データA’自体に更新が必要なビットの情報が備わっているので容易にこの更新方法を用いることが可能になる。
すなわち、本発明のデータ転送方式を用いることで、このような更新方法に伴うターゲット側のシステムソフトウエア処理等が、図4に示すように容易かつ効率的なものとなる。図4は、本発明の一実施の形態によるデータ記憶システムにおいて、従来技術のデータ転送方式を用いた場合と本発明のデータ転送方式を用いた場合とで、ターゲットのシステムソフトウエア処理を対比する図であり、(a)は従来技術を用いた場合の処理フローの一例、(b)は本発明を用いた場合の処理フローの一例である。
なお、ここでは、ターゲット31のN番地の内容(=データN)を更新する場合を例として説明する。まず、従来技術においては、例えば図4(a)に示すような処理フローとなり、以下のような処理が行われる。
S401aにおいて、ターゲット31がデータAを受信する。そしてS402aに移行する。
S402aにおいて、N番地のデータ更新のため、ターゲット31のメモリよりデータNを取り出す。そしてS403aに移行する。
S403aにおいて、ビット取り出し用カウンタを初期化する。そしてS404aに移行する。
S404aにおいて、データAのIビット目を取り出し、それをA[I]とする。そしてS405aに移行する。
S405aにおいて、データNのIビット目を取り出し、それをN[I]とする。そしてS406aに移行する。
S406aにおいて、N[I]とA[I]が互いに異なっているかを比較する。異なっている場合は、S407aに移行し、そうでない場合は、S408aへ移行する。
S407aにおいて、比較の結果互いに異なっていれば、ターゲットのメモリにおけるN番地のIビット目に該当するデータを反転する。そしてS408aに移行する。
S408aにおいて、ビット取り出し用カウンタが有効か否かを判定する。有効ならばS409aに移行し、そうでない場合は終了する。
S409aにおいて、ビット取り出し用カウンタが有効であれば、それを1増やす。そして、S404aに移行し、処理を繰り返す。
一方、本発明においては、例えば図4(b)に示すような処理フローとなり、以下のような処理が行われる。
S401bにおいて、ターゲット31はデータA’を受信する。そして、S403bに移行する。
S403bにおいて、ビット取り出し用カウンタを初期化する。そして、S404bに移行する。
S404bにおいて、データA’のIビット目を取り出し、それをA’[I]とする。そして、S406bに移行する。
S406bにおいて、A’[I]が‘1’であるか否かを判定する。そうである場合はS407bに移行し、そうでない場合はS408bに移行する。
S407bにおいて、判定の結果‘1’であれば、ターゲット31のメモリにおけるN番地のIビット目に該当するデータを反転する。そして、S408bに移行する。
S408bにおいて、ビット取り出し用カウンタが有効か否か判定する。有効である場合はS409bに移行し、そうでない場合は終了する。
S409bにおいて、ビット取り出し用カウンタが有効であれば、それを1増やす。そして、S404bに移行し、処理を繰り返す。
このように、本発明のデータ転送方式を用いることで、従来技術と比較して、S402aのデータNを取り出す処理とS405aのデータNのIビット目を取り出す処理を省略することができる。これによって、システムソフトウエアの処理およびこのソフトウエア処理に伴うハードウエア処理が容易かつ効率的となる。
つぎに、これまでに述べたようなデータ転送方式を、例えば、SDメモリカードまたはMMC(MultiMediaCard(登録商標))カードといったメモリカードをターゲットとするカードシステムへ適用する例を説明する。
SDメモリカード規格またはMMCカード規格では、ブロックへの書き込みコマンドとしてCMD24(=WRITE_BLOCK)、複数ブロックへの書き込みコマンドとしてCMD25(=WRITE_MULTIPLE_BLOCK)が定義されている。そこで、本発明のデータ転送方式を適用した書き込みコマンドとして、SDメモリカード規格またはMMCカード規格で予約されているコマンドを使用する。
つまり、ブロックへの書き込みコマンドとして、例えば、CMD60(=DIFFERENTIAL_WRITE_BLOCK)を、複数ブロックへの書き込みコマンドとして、例えば、CMD61(DIFFERENTIAL_WRITE_MULTIPLE_BLOCK)を定義する。CMD60とCMD61を使用したイニシエータおよびターゲット間の書き込み命令プロトコルは、それぞれCMD24とCMD25と全く同様とし、データ内容だけをビット反転情報を持つものに変更する。すなわち、CMD60とCMD61のコマンドフォーマットは、それぞれ図5(a),(b)のようになる。
図5(a),(b)は、本発明の一実施の形態のデータ記憶システムにおいて、ターゲットにメモリカードを用いる場合に定義されるメモリカードのコマンド仕様の一例を示す説明図であり、(a)は、CMD60の仕様例、(b)は、CMD61の仕様例を示すものである。
CMD60は、図5(a)に示すように、adtc(addressed(point−to−point)data transfer commands)タイプのコマンドとなっている。このタイプでは、CMDラインから指定された特定のメモリカードに対してコマンドが発行され、この特定のメモリカードがレスポンスを返した後に、DATラインを通してメモリカードに向けたデータ転送が行われる。このデータ転送により、メモリカードにおいては、CMD60の発行時に引数で指定したアドレスから、SET_BLOCKLENコマンドにより指定したブロックサイズ分のデータ書き込みが行われる。そして、メモリカードに向けて転送されるデータは、これまでに説明したようなビット反転情報を持つデータである。
一方、CMD61は、図5(b)に示すように、CMD60と同様にadtcタイプのコマンドとなっている。そして、ホストからメモリカードに向けたデータ転送により、メモリカードにおいては、CMD61の発行時に引数で指定したアドレスから、連続してデータ書き込みが行われ、STOP_TRANSMISSIONコマンドにより停止するまで複数ブロックに書き込みが行われる。そして、メモリカードに向けて転送されるデータは、これまでに説明したようなビット反転情報を持つデータである。
このように、SDメモリカードおよびMMCカードといったメモリカードに新たなコマンドを定義し、メモリカード内に、当該コマンドに対応するための機能としてコマンド判定機能や前述したようなビット反転情報を処理する機能等を設けることで、メモリカードのデータ転送効率を向上させることが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明のデータ記憶システムおよびメモリカードは、SDメモリカードおよびメモリースティックなどの各種メモリカードや、USBフラッシュメモリなどといったシリアル転送のストレージ機器を含むデータ記憶システムに適用して特に有益なものである。また、これらに限らず、ATA接続などのハードディスクや、SDオーディオなどのメモリカードホスト機器、IEEE1394で接続されたDVDドライブといった各種ストレージ機器や、更に、ストレージ機器に限らず記憶媒体を備えアドレスとデータが1対1で割り当てられた様々な機器を含むデータ記憶システムに対して広く適用可能である。

Claims (9)

  1. データの反転が必要な場合とデータの保持が必要な場合とでそれぞれ異なる信号レベルを備えた第1データを送信するイニシエータと、
    予め第2データが記憶され、前記第1データを受信し、前記第1データの前記信号レベルに基づいて前記記憶された第2データを反転または保持することで、前記記憶された第2データを更新するターゲットとを有することを特徴とするデータ記憶システム。
  2. 請求項1記載のデータ記憶システムにおいて、
    前記ターゲットは、ストレージ機器であることを特徴とするデータ記憶システム。
  3. データを送信するイニシエータと、前記送信したデータを受信するターゲットとを有するデータ記憶システムであって、
    前記イニシエータは、前記ターゲットに記憶されている複数ビットの第2データに対して、反転が必要となるビットと反転が不必要となるビットをそれぞれ第1の信号レベルと第2の信号レベルに対応させた複数ビットの第1データを形成し、前記複数ビットの第1データを前記イニシエータに向けて送信し、
    前記ターゲットは、前記複数ビットの第1データを受信し、前記受信した複数ビットの第1データの中から前記第1の信号レベルに該当するビットを検出し、前記複数ビットの第2データに対して、前記検出したビットに対応するビットのデータを反転することで前記複数ビットの第2データの記憶を更新することを特徴とするデータ記憶システム。
  4. 請求項3記載のデータ記憶システムにおいて、
    前記ターゲットでは、前記ターゲットが備えたコンピュータを用いてソフトウエアの処理が行われ、
    前記ソフトウエアの処理は、
    前記複数ビットの第1データに対し、それぞれのビットの信号レベルを判定するステップと、
    前記判定したビットの信号レベルが第1の信号レベルであった場合に限り、前記複数ビットの第2データの中から前記判定したビットに対応するビットのデータを読み出し、前記読み出したデータを反転して書き戻しを行うステップとを含むことを特徴とするデータ記憶システム。
  5. 請求項3または4記載のデータ記憶システムにおいて、
    前記ターゲットは、ファイルシステムを含むストレージ機器であることを特徴とするデータ記憶システム。
  6. イニシエータから、書き込みアドレスを含むコマンドと、データの反転または保持に対応してそれぞれ異なる信号レベルが割り当てられたデータとが入力された際に、前記書き込みアドレスに記憶されているデータを、前記入力されたデータの信号レベルに基づいて反転または保持することで、前記書き込みアドレスに記憶されているデータの更新を行うことを特徴とするメモリカード。
  7. 請求項6記載のメモリカードにおいて、
    前記メモリカードは、SDメモリカードまたはMMCカードであることを特徴とするメモリカード。
  8. 請求項7記載のメモリカードにおいて、
    前記コマンドは、ブロックへの書き込みコマンドであることを特徴とするメモリカード。
  9. 請求項7記載のメモリカードにおいて、
    前記コマンドは、複数ブロックへの書き込みコマンドであることを特徴とするメモリカード。
JP2006537602A 2004-09-29 2004-09-29 データ記憶システムおよびメモリカード Pending JPWO2006035500A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/014228 WO2006035500A1 (ja) 2004-09-29 2004-09-29 データ記憶システムおよびメモリカード

Publications (1)

Publication Number Publication Date
JPWO2006035500A1 true JPWO2006035500A1 (ja) 2008-07-31

Family

ID=36118652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006537602A Pending JPWO2006035500A1 (ja) 2004-09-29 2004-09-29 データ記憶システムおよびメモリカード

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1836851A4 (en) * 2005-01-13 2013-07-10 Samsung Electronics Co Ltd HOST DEVICE, PORTABLE MEMORY DEVICE, AND METHOD FOR UPDATING META-INFORMATION RELATING TO CORRECT OBJECTS MEMORIZED IN THE PORTABLE DEVICE

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05191454A (ja) * 1992-01-16 1993-07-30 Nec Corp データ転送方式
JP2002268941A (ja) * 2001-03-09 2002-09-20 Fujitsu Ltd 半導体装置
JP2002358222A (ja) * 2001-06-04 2002-12-13 Hitachi Ltd データ二重化システム及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05191454A (ja) * 1992-01-16 1993-07-30 Nec Corp データ転送方式
JP2002268941A (ja) * 2001-03-09 2002-09-20 Fujitsu Ltd 半導体装置
JP2002358222A (ja) * 2001-06-04 2002-12-13 Hitachi Ltd データ二重化システム及び方法

Also Published As

Publication number Publication date
WO2006035500A1 (ja) 2006-04-06

Similar Documents

Publication Publication Date Title
US7010638B2 (en) High speed bridge controller adaptable to non-standard device configuration
US7058748B1 (en) ATA device control via a packet-based interface
US8255661B2 (en) Data storage system comprising a mapping bridge for aligning host block size with physical block size of a data storage device
US7007127B2 (en) Method and related apparatus for controlling transmission interface between an external device and a computer system
US5564114A (en) Method and an arrangement for handshaking on a bus to transfer information between devices in a computer system
US7069350B2 (en) Data transfer control system, electronic instrument, and data transfer control method
JP2008547068A (ja) 複数個のdmaチャンネルを有するusb−sd保存装置及びその保存方法と記録媒体
CN106919343B (zh) 周边接口电路与周边存储器系统
US7409477B2 (en) Memory card having a processor coupled between host interface and second interface wherein internal storage code provides a generic interface between host interface and processor
US7165124B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
CN115113799A (zh) 主机命令的执行方法及装置
US20120317313A1 (en) Disk device assigned id codes for storage areas of a storage device
US20130275652A1 (en) Methods and structure for transferring additional parameters through a communication interface with limited parameter passing features
US20110072168A1 (en) Data transfer system with different operating modes
JP2013030145A (ja) メモリカードコントローラ、メモリカードアダプタおよびメモリカードドライブ
KR100843199B1 (ko) 고속 아이.디.이. 인터페이스 장치 및 그 방법
US20050198425A1 (en) Combined optical storage and flash card reader using single ide or sata port and method thereof
JPWO2006035500A1 (ja) データ記憶システムおよびメモリカード
CN110633225A (zh) 实体存储对照表产生装置及方法
US20060277326A1 (en) Data transfer system and method
US20070005813A1 (en) Peripheral device and method for interpreting redefined frame information structure
US20040230734A1 (en) Data transfer control system, electronic instrument, and data transfer control method
TW200413940A (en) Method and apparatus for handling data transfers
TWI805505B (zh) 排程和執行主機資料更新命令的方法及電腦程式產品及裝置
TWI835027B (zh) 更新主機與閃存位址對照表的方法及電腦程式產品及裝置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100518