(57)【要約】  例えば、ターゲット側のメモリ内容を５Ａ’ｈとして、イニシエータからターゲットに向けたデータ転送により、当該メモリ内容を５Ｂ’ｈに更新する場合を例とすると、イニシエータは、ターゲットに向けて、更新有りのビットを‘１’、更新無しのビットを‘０’とする各ビット毎の更新有無を示すデータ０１’ｈを送信し、ターゲットは、０１’ｈのデータを受けて、自身のメモリ内容のデータの中から更新有りのビットに該当するビット（ここでは最後のビット）のデータを反転して再格納する。【特許請求の範囲】
【請求項１】
データの反転が必要な場合とデータの保持が必要な場合とでそれぞれ異なる信号レベルを備えた第１データを送信するイニシエータと、
予め第２データが記憶され、前記第１データを受信し、前記第１データの前記信号レベルに基づいて前記記憶された第２データを反転または保持することで、前記記憶された第２データを更新するターゲットとを有することを特徴とするデータ記憶システム。
【請求項２】
請求項１記載のデータ記憶システムにおいて、
前記ターゲットは、ストレージ機器であることを特徴とするデータ記憶システム。
【請求項３】
データを送信するイニシエータと、前記送信したデータを受信するターゲットとを有するデータ記憶システムであって、
前記イニシエータは、前記ターゲットに記憶されている複数ビットの第２データに対して、反転が必要となるビットと反転が不必要となるビットをそれぞれ第１の信号レベルと第２の信号レベルに対応させた複数ビットの第１データを形成し、前記複数ビットの第１データを前記イニシエータに向けて送信し、
前記ターゲットは、前記複数ビットの第１データを受信し、前記受信した複数ビットの第１データの中から前記第１の信号レベルに該当するビットを検出し、前記複数ビットの第２データに対して、前記検出したビットに対応するビットのデータを反転することで前記複数ビットの第２データの記憶を更新することを特徴とするデータ記憶システム。
【請求項４】
請求項３記載のデータ記憶システムにおいて、
前記ターゲットでは、前記ターゲットが備えたコンピュータを用いてソフトウエアの処理が行われ、
前記ソフトウエアの処理は、
前記複数ビットの第１データに対し、それぞれのビットの信号レベルを判定するステップと、
前記判定したビットの信号レベルが第１の信号レベルであった場合に限り、前記複数ビットの第２データの中から前記判定したビットに対応するビットのデータを読み出し、前記読み出したデータを反転して書き戻しを行うステップとを含むことを特徴とするデータ記憶システム。
【請求項５】
請求項３または４記載のデータ記憶システムにおいて、
前記ターゲットは、ファイルシステムを含むストレージ機器であることを特徴とするデータ記憶システム。
【請求項６】
イニシエータから、書き込みアドレスを含むコマンドと、データの反転または保持に対応してそれぞれ異なる信号レベルが割り当てられたデータとが入力された際に、前記書き込みアドレスに記憶されているデータを、前記入力されたデータの信号レベルに基づいて反転または保持することで、前記書き込みアドレスに記憶されているデータの更新を行うことを特徴とするメモリカード。
【請求項７】
請求項６記載のメモリカードにおいて、
前記メモリカードは、ＳＤメモリカードまたはＭＭＣカードであることを特徴とするメモリカード。
【請求項８】
請求項７記載のメモリカードにおいて、
前記コマンドは、ブロックへの書き込みコマンドであることを特徴とするメモリカード。
【請求項９】
請求項７記載のメモリカードにおいて、
前記コマンドは、複数ブロックへの書き込みコマンドであることを特徴とするメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶システムおよびメモリカードに関し、特に、メモリカードを代表とするストレージ機器とこれに対してデータを読み書きするイニシエータとを含めたデータ記憶システムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
本発明者が検討したところによれば、データ記憶システムの技術に関しては、以下のような技術が考えられる。【０００３】
例えば、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードやメモリースティック（登録商標）などの各種メモリカード規格、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ（ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１３９４などのネットワーク型の通信形態をとるシリアルバス規格、及びＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）やＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）などのストレージ関連規格では、バス上のデータ転送は、特に最適化されない生のデータを用いて行われる。【０００４】
すなわち、例えば図６に示すようなデータ転送となる。図６は、本発明の前提として検討した従来技術のデータ記憶システムにおいて、そのデータ転送方式の一例を説明する図であり、（ａ）はシステム構成の簡略図、（ｂ）は動作フロー図である。図６では、データ送信側をイニシエータ６０、受信側をターゲット６１とし、イニシエータ６０が、ターゲット６１の５Ａ’ｈ（１６進数で「５Ａ」、以降同様の表記を用いる）の値を持つメモリ空間のＮ番地（Ｎは０以上の整数）に１バイトのデータＡ（＝５Ｂ’ｈ）を書き込む場合を例としている。この場合、下記（１）〜（６）のような処理が行われる。【０００５】
（１）イニシエータ６０は、ターゲット６１に書き込み先頭アドレス（＝Ｎ）と書き込みサイズ（＝１バイト）を設定し、ライトコマンドを送信する。【０００６】
（２）ターゲット６１は、イニシエータ６０からライトコマンドを受信すると、その内容を解析し、書き込みアドレスとサイズを抽出する。【０００７】
（３）抽出後、ターゲット６１は、イニシエータ６０からのデータ受信の準備をする。【０００８】
（４）イニシエータ６０は、ターゲット６１に生のデータＡ（＝５Ｂ’ｈ）を送信する。【０００９】
（５）ターゲット６１は、イニシエータ６０からデータＡを受信する。【００１０】
（６）ターゲット６１は、自身の対応するメモリ空間（ここではＮ番地からの１バイト分）をデータＡに更新する。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、前記のようなデータ記憶システムの技術について、本発明者が検討した結果、以下のようなことが明らかとなった。【００１２】
例えば、図６で述べたようなデータ転送方式においては、イニシエータとターゲットとの間で生のデータが転送されるため、特に、対応するアドレスのデータ内容の変化が転送前と転送後で少ない場合に、例えば、以下のような問題が発生する。【００１３】
（１）ターゲット側で、受信データを自身のメモリやレジスタに書き込み更新する場合、全て上書きを行うと電力と時間を無駄に消費する。また、データバスにおいて、‘Ｈ’および‘Ｌ’の論理信号が高頻度で変化するため、ノイズや無駄な電力が発生する。【００１４】
（２）そこで、ターゲット側で、更新するビットのみに着目してデータ更新を行う方法が考えられるが、その更新するビットの検出に手間を要す。すなわち、データ更新は、更新が必要なビットのみを反転する方法を用いると効率が向上する。しかし、その方法を適用した場合、生データを基に反転するビットを検出する際に、更新前のメモリの内容と生データの内容を比較する必要があり効率が低下する。【００１５】
（３）一般に、メモリへのアクセスは、デバイスドライバなどのシステムソフトウエアで行う場合が多い。システムソフトウエアは、アセンブラ言語やＣ言語などビット演算に適した言語で作成されるので、生データを扱うのは効率が良くない。【００１６】
そこで、本発明の目的は、データを記憶する際の時間的な効率を向上させることが可能なデータ記憶システムおよびメモリカードを提供することにある。【００１７】
また、本発明の他の目的は、データを記憶する際に省電力化を可能にするデータ記憶システムおよびメモリカードを提供することにある。【００１８】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。【００２０】
本発明によるデータ記憶システムは、データの反転が必要な場合とデータの保持が必要な場合とでそれぞれ異なる信号レベルを備えた第１データを送信するイニシエータと、予め第２データが記憶され、第１データを受信し、第１データの前記信号レベルに基づいて第２データを反転または保持することで第２データを更新するターゲットとを有するものである。【００２１】
すなわち、ターゲットのメモリ等を更新する際に、従来技術のようにターゲットに向けて生データを送信することで更新を行うのではなく、ターゲットのメモリ等に既に記憶されているデータを反転するか否かの情報を送信することで更新を行う。これによって、ターゲットのメモリ等において、例えば、‘Ｈ’データを‘Ｈ’データに、または‘Ｌ’データを‘Ｌ’データに上書き更新するような処理を低減でき、書き込み時間の効率化や書き込み電力の効率化を図ることが可能になる。【００２２】
ここで、前記ターゲットとしては、例えば、ストレージ機器などが挙げられる。【００２３】
また、本発明によるデータ記憶システムは、データを送信するイニシエータと、前記送信したデータを受信するターゲットとを有するものである。そして、イニシエータは、ターゲットに記憶されている複数ビットの第２データに対して、反転が必要となるビットと反転が不必要となるビットをそれぞれ第１の信号レベルと第２の信号レベルに対応させた複数ビットの第１データを形成し、この複数ビットの第１データを前記ターゲットに向けて送信するものとなっている。一方、ターゲットは、複数ビットの第１データを受信し、この受信した複数ビットの第１データの中から第１の信号レベルに該当するビットを検出し、複数ビットの第２データに対して、当該検出したビットに対応するビットのデータを反転することで第２データの記憶を更新するものとなっている。【００２４】
すなわち、イニシエータからターゲットのメモリ等に向けて、例えば、１バイトのデータを書き込むような場合、その１バイト中の８ビットの中で第１の信号レベルとなっているビットがあった場合に、そのビットに対応するメモリ等内のビットのデータを反転し、メモリ等のデータの更新を行う。【００２５】
ここで、前記ターゲットでは、例えば、ターゲットが備えたコンピュータを用いてシステムソフトウエアの処理が行われ、このシステムソフトウエアの処理は、複数ビットの第１データに対し、それぞれのビットの信号レベルを判定するステップと、この判定したビットの信号レベルが第１の信号レベルであった場合に限り、複数ビットの第２データの中から当該判定したビットに対応するビットのデータを読み出し、この読み出したデータを反転して書き戻しを行うステップとを含むものとなっている。【００２６】
すなわち、デバイスドライバ等のシステムソフトウエアの処理によって、ターゲットで受信したデータの信号レベルを判定して、この判定結果に基づいてメモリ等への書き込みを制御する機能を実現させる。【００２７】
また、本発明によるメモリカードは、イニシエータから、書き込みアドレスを含むコマンドと、データの反転または保持に対応してそれぞれ異なる信号レベルが割り当てられたデータとが入力された際に、前記書き込みアドレスに記憶されているデータを、前記入力されたデータの信号レベルに基づいて反転または保持することで、前記書き込みアドレスに記憶されているデータの更新を行うものである。【００２８】
ここで、メモリカードとしては、例えば、ＳＤメモリカードまたはＭＭＣカードなどが挙げられる。この場合、前記コマンドとして、このようなメモリカードが一般的に備えているブロックまたは複数ブロックへの書き込みコマンドと同様なプロトコルを用いて、新たにブロックまたは複数ブロックへの書き込みコマンドを設けるとよい。
【発明の効果】
【００２９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【００３０】
イニシエータからターゲットに向けて、ターゲットのメモリ等のデータを反転する場合と保持する場合とでそれぞれ異なる信号レベルを備えたデータを転送することで、データを記憶する際の時間的な効率を向上させることが可能になる。さらに、データを記憶する際に省電力化を図ることが可能になる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施の形態によるデータ記憶システムにおいて、その構成の一例を示すシステム概略図である。
【図２】本発明の一実施の形態によるデータ記憶システムにおいて、イニシエータとターゲットとの間のデータ転送方式を従来技術と比較して説明するための概念図である。
【図３】本発明の一実施の形態によるデータ記憶システムにおいて、その動作の一例を示す図であり、（ａ）はシステム構成の簡略図、（ｂ）は動作フロー図である。
【図４】本発明の一実施の形態によるデータ記憶システムにおいて、従来技術のデータ転送方式を用いた場合と本発明のデータ転送方式を用いた場合とで、ターゲットのシステムソフトウエア処理を対比する図であり、（ａ）は従来技術を用いた場合の処理フローの一例、（ｂ）は本発明を用いた場合の処理フローの一例である。
【図５】本発明の一実施の形態のデータ記憶システムにおいて、ターゲットにメモリカードを用いる場合に定義されるメモリカードのコマンド仕様の一例を示す説明図であり、（ａ）は、ＣＭＤ６０の仕様例、（ｂ）は、ＣＭＤ６１の仕様例を示すものである。
【図６】本発明の前提として検討した従来技術のデータ記憶システムにおいて、そのデータ転送方式の一例を説明する図であり、（ａ）はシステム構成の簡略図、（ｂ）は動作フロー図である。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。【００３３】
図１は、本発明の一実施の形態によるデータ記憶システムにおいて、その構成の一例を示すシステム概略図である。図１に示すデータ記憶システムは、データを送信するイニシエータ１０と、データを受信するターゲット１１から構成され、イニシエータ１０とターゲット１１との間が通信ネットワーク１２で接続されている。イニシエータ１０およびターゲット１１としては、例えば、メモリカードホスト機器、ＵＳＢ機器、またはＩＥＥＥ１３９４機器などが挙げられる。【００３４】
イニシエータ１０およびターゲット１１は、それぞれ同様な構成となっており、例えば、アプリケーション１３ａと、ファイルシステム１３ｂと、デバイスドライバ１３ｃと、インタフェースコントローラ１３ｄと、メモリおよび／またはレジスタ等を備えた記憶部１３ｅとを含むものとなっている。【００３５】
アプリケーション１３ａは、例えば、フォルダやファイルの操作を行う機能を備えたエクスプローラや、音楽データの再生機能等を備えたオーディオプレーヤーなどといったソフトウエアである。ファイルシステム１３ｂは、例えば、アプリケーション１３ａによって処理が可能なように、デバイスドライバ１３ｃを介して入出力したデータをファイルに変換するシステムソフトウエアである。具体例としては、ＦＡＴ１６やＦＡＴ３２などのＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）準拠のもの等が挙げられる。デバイスドライバ１３ｃは、インタフェースコントローラ１３ｄの制御や、トランザクションおよびコマンドシーケンスの管理などを行うソフトウエアである。【００３６】
なお、図１には示していないが、イニシエータ１０およびターゲット１１は、例えば、マイクロプロセッサ等のコンピュータを備えており、これによって前述したようなソフトウエアが実行される。また、前述したようなソフトウエアは、イニシエータ１０およびターゲット１１がＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の場合、ファイルシステムを含むＯＳと、アプリケーションと、デバイスドライバといった構成でもよい。【００３７】
インタフェースコントローラ１３ｄは、イニシエータ１０とターゲット１１との間を接続した通信ネットワーク１２を介して、コマンド送信、レスポンス受信、データ送受信などを行うハードウエアである。通信ネットワーク１２は、例えば、メモリカードへの配線ライン、ＵＳＢケーブル、ＩＥＥＥ１３９４ケーブルなどが挙げられ、通信ネットワーク１２上では、電気的信号によりデータ転送が行われる。記憶部１３ｅのメモリは、例えば、ファイルやシステムに必要なデータが格納され、レジスタは、例えば、機器の動作制御など特定の用途等に使用される。【００３８】
また、イニシエータ１０とターゲット１１との間のデータ転送は、必ずしも有線の通信ネットワークを用いて行う必要はなく、例えば、インタフェースコントローラ１３ｄを無線コントローラとして、無線によるデータ転送であってもよい。【００３９】
このようなシステム構成において、本発明の特徴は、デバイスドライバ１３ｃおよびインタフェースコントローラ１３ｄに新たな機能を持たせることで、図２に示すような新たなデータ転送方式に対応することにある。図２は、本発明の一実施の形態によるデータ記憶システムにおいて、イニシエータとターゲットとの間のデータ転送方式を従来技術と比較して説明するための概念図である。【００４０】
図２においては、例えば、ターゲット側のメモリ内容を５Ａ’ｈとして、イニシエータからターゲットに向けたデータ転送により、当該メモリ内容を５Ｂ’ｈに更新する場合を想定している。まず、従来技術においては、イニシエータからターゲットに向けて生のデータである５Ｂ’ｈ（２進数で「０１０１１０１１」）が転送され、イニシエータ側のメモリ内容が５Ｂ’ｈに上書き格納される。【００４１】
一方、本発明においては、イニシエータからターゲットに向けて、各ビット毎の更新有無を示すデータが転送される。すなわち、図２において、更新有りのビットに‘１’（‘Ｈ’レベル）を、更新無しのビットに‘０’（‘Ｌ’レベル）を設定した場合、最後のビットのみが更新有りとなるので０１’ｈというデータを転送している。そして、ターゲット側は、０１’ｈのデータを受けて、自身のメモリ内容のデータの中から更新有りのビットに該当するビット（ここでは最後のビット）のデータを反転して再格納する。【００４２】
通常、ＳＤメモリカード、メモリースティックなどに対する各種メモリカード規格、ＵＳＢ、ＩＥＥＥ１３９４などネットワーク型の通信形態をとるシリアルバス規格、及びＡＴＡやＳＣＳＩなどのストレージ規格では、データはメモリやレジスタに割り当てられたアドレスと１対１に対応付けられる。また、メモリやレジスタへのアクセスは、ビットマップイメージで処理される。【００４３】
そこで、データをビットマップイメージで考え、データ転送により更新する（反転する）ビットを‘１’に、そのままの値を保持するビットを‘０’となるように変更する。そして、ターゲットに対して、更新する（反転する）ビット情報を持つデータを転送する。これによって、データ内容の変更が少ない場合には、メモリやレジスタの値のビット単位での更新が容易となり、データ更新の効率化などを図ることが可能になる。すなわち、具体的には、例えば次のような効果を得ることができる。【００４４】
（１）受信データを自身のメモリやレジスタに書き込み更新する場合、更新が必要なビットの検出が容易かつ効率的になり高速に処理できる。更に、書き込み更新に際し、更新が必要なビットのみに書き込みを行えばよい。したがって、例えば更新が必要なビットが少ない状況においては、全てのビットを上書き更新する場合に比べて書き込み時間を短縮でき、書き込みに伴う電力も節約できる。【００４５】
（２）データバスにおいて、論理信号が変化する頻度を低くできるため、ノイズや無駄な電力の発生を抑えられる。【００４６】
（３）ビット演算に適したデータを受信するため、システムソフトウエアでの処理を効率的に行える。【００４７】
（４）受信データを書き込み更新する時間が短縮され、この時間を製品の他機能（マルチメディアデータのデコード等）に割り当てることができる。【００４８】
（５）イニシエータとターゲットを含むシステム全体として、省電力化を図ることが可能になる。また、システムの開発期間（特に、ソフトウエア）が短縮できる。【００４９】
なお、このような効果は、転送するデータ内で更新する箇所が少ないほど大きくなる。一般に、文章などを更新し保存する場合は、更新する部分は少ない。それゆえ、ＵＳＢフラッシュメモリ、ＡＴＡ接続などのハードディスクといったデータの保存を目的としたストレージ機器などに適用して特に有益なものとなる。【００５０】
また、これに限らず、本発明は、転送するデータとメモリ／レジスタの対応するアドレスが１対１に対応付けられる製品全てに適用可能である。特に、ファイルシステムのシステム領域の更新は、セクタ単位（５１２バイト等）で行われ、更新する部分は２〜３バイト程度とわずかであり、また、前述した１対１の対応関係を備えている。したがって、このようなファイルシステムを持つ製品に適用した場合に効果が大きくなる。【００５１】
つぎに、これまでに説明したようなデータ転送方式を用いたデータ記憶システム全体としての動作の一例を図３を用いて説明する。図３は、本発明の一実施の形態によるデータ記憶システムにおいて、その動作の一例を示す図であり、（ａ）はシステム構成の簡略図、（ｂ）は動作フロー図である。【００５２】
図３（ａ），（ｂ）においては、イニシエータ３０が、ターゲット３１における５Ａ’ｈの値を持つメモリ空間のＮ番地（Ｎは０以上の整数）に１バイトのデータＡ（＝５Ｂ’ｈ）を書き込む場合を想定している。以下、図３（ｂ）中の番号に対応させて動作の説明を行う。【００５３】
（１）イニシエータ３０は、ターゲット３１に対して、書き込み先頭アドレス（＝Ｎ）と書き込みサイズ（＝１）を設定し、ライトコマンドを送信する。【００５４】
（２）ターゲット３１は、イニシエータ３０からライトコマンドを受信すると、その内容を解析し、書き込みアドレスとサイズを抽出する。【００５５】
（３）抽出後、ターゲット３１は、イニシエータ３０からのデータ受信準備をする。【００５６】
（４）イニシエータ３０は、ターゲット３１に対して、更新が必要なビットの情報を持ったデータＡ’（＝０１’ｈ（２進数で「０００００００１」））を送信する。この場合、生データＡ（＝５Ｂ’ｈ（２進数で「０１０１１０１１」））を転送する場合と比べてデータの変化（‘０’→‘１’または‘１’→‘０’）が少ないので、データバスのノイズが抑えられる。【００５７】
（５）ターゲット３１は、イニシエータ３０からデータＡ’を受信する。【００５８】
（６）ターゲット３１は、自身の対応するメモリをデータＡに更新する。このデータ更新に際しては、更新が必要なビットのみをデータ反転する方法が用いられるが、データＡ’自体に更新が必要なビットの情報が備わっているので容易にこの更新方法を用いることが可能になる。【００５９】
すなわち、本発明のデータ転送方式を用いることで、このような更新方法に伴うターゲット側のシステムソフトウエア処理等が、図４に示すように容易かつ効率的なものとなる。図４は、本発明の一実施の形態によるデータ記憶システムにおいて、従来技術のデータ転送方式を用いた場合と本発明のデータ転送方式を用いた場合とで、ターゲットのシステムソフトウエア処理を対比する図であり、（ａ）は従来技術を用いた場合の処理フローの一例、（ｂ）は本発明を用いた場合の処理フローの一例である。【００６０】
なお、ここでは、ターゲット３１のＮ番地の内容（＝データＮ）を更新する場合を例として説明する。まず、従来技術においては、例えば図４（ａ）に示すような処理フローとなり、以下のような処理が行われる。【００６１】
Ｓ４０１ａにおいて、ターゲット３１がデータＡを受信する。そしてＳ４０２ａに移行する。【００６２】
Ｓ４０２ａにおいて、Ｎ番地のデータ更新のため、ターゲット３１のメモリよりデータＮを取り出す。そしてＳ４０３ａに移行する。【００６３】
Ｓ４０３ａにおいて、ビット取り出し用カウンタを初期化する。そしてＳ４０４ａに移行する。【００６４】
Ｓ４０４ａにおいて、データＡのＩビット目を取り出し、それをＡ［Ｉ］とする。そしてＳ４０５ａに移行する。【００６５】
Ｓ４０５ａにおいて、データＮのＩビット目を取り出し、それをＮ［Ｉ］とする。そしてＳ４０６ａに移行する。【００６６】
Ｓ４０６ａにおいて、Ｎ［Ｉ］とＡ［Ｉ］が互いに異なっているかを比較する。異なっている場合は、Ｓ４０７ａに移行し、そうでない場合は、Ｓ４０８ａへ移行する。【００６７】
Ｓ４０７ａにおいて、比較の結果互いに異なっていれば、ターゲットのメモリにおけるＮ番地のＩビット目に該当するデータを反転する。そしてＳ４０８ａに移行する。【００６８】
Ｓ４０８ａにおいて、ビット取り出し用カウンタが有効か否かを判定する。有効ならばＳ４０９ａに移行し、そうでない場合は終了する。【００６９】
Ｓ４０９ａにおいて、ビット取り出し用カウンタが有効であれば、それを１増やす。そして、Ｓ４０４ａに移行し、処理を繰り返す。【００７０】
一方、本発明においては、例えば図４（ｂ）に示すような処理フローとなり、以下のような処理が行われる。【００７１】
Ｓ４０１ｂにおいて、ターゲット３１はデータＡ’を受信する。そして、Ｓ４０３ｂに移行する。【００７２】
Ｓ４０３ｂにおいて、ビット取り出し用カウンタを初期化する。そして、Ｓ４０４ｂに移行する。【００７３】
Ｓ４０４ｂにおいて、データＡ’のＩビット目を取り出し、それをＡ’［Ｉ］とする。そして、Ｓ４０６ｂに移行する。【００７４】
Ｓ４０６ｂにおいて、Ａ’［Ｉ］が‘１’であるか否かを判定する。そうである場合はＳ４０７ｂに移行し、そうでない場合はＳ４０８ｂに移行する。【００７５】
Ｓ４０７ｂにおいて、判定の結果‘１’であれば、ターゲット３１のメモリにおけるＮ番地のＩビット目に該当するデータを反転する。そして、Ｓ４０８ｂに移行する。【００７６】
Ｓ４０８ｂにおいて、ビット取り出し用カウンタが有効か否か判定する。有効である場合はＳ４０９ｂに移行し、そうでない場合は終了する。【００７７】
Ｓ４０９ｂにおいて、ビット取り出し用カウンタが有効であれば、それを１増やす。そして、Ｓ４０４ｂに移行し、処理を繰り返す。【００７８】
このように、本発明のデータ転送方式を用いることで、従来技術と比較して、Ｓ４０２ａのデータＮを取り出す処理とＳ４０５ａのデータＮのＩビット目を取り出す処理を省略することができる。これによって、システムソフトウエアの処理およびこのソフトウエア処理に伴うハードウエア処理が容易かつ効率的となる。【００７９】
つぎに、これまでに述べたようなデータ転送方式を、例えば、ＳＤメモリカードまたはＭＭＣ（ＭｕｌｔｉＭｅｄｉａＣａｒｄ（登録商標））カードといったメモリカードをターゲットとするカードシステムへ適用する例を説明する。【００８０】
ＳＤメモリカード規格またはＭＭＣカード規格では、ブロックへの書き込みコマンドとしてＣＭＤ２４（＝ＷＲＩＴＥ＿ＢＬＯＣＫ）、複数ブロックへの書き込みコマンドとしてＣＭＤ２５（＝ＷＲＩＴＥ＿ＭＵＬＴＩＰＬＥ＿ＢＬＯＣＫ）が定義されている。そこで、本発明のデータ転送方式を適用した書き込みコマンドとして、ＳＤメモリカード規格またはＭＭＣカード規格で予約されているコマンドを使用する。【００８１】
つまり、ブロックへの書き込みコマンドとして、例えば、ＣＭＤ６０（＝ＤＩＦＦＥＲＥＮＴＩＡＬ＿ＷＲＩＴＥ＿ＢＬＯＣＫ）を、複数ブロックへの書き込みコマンドとして、例えば、ＣＭＤ６１（ＤＩＦＦＥＲＥＮＴＩＡＬ＿ＷＲＩＴＥ＿ＭＵＬＴＩＰＬＥ＿ＢＬＯＣＫ）を定義する。ＣＭＤ６０とＣＭＤ６１を使用したイニシエータおよびターゲット間の書き込み命令プロトコルは、それぞれＣＭＤ２４とＣＭＤ２５と全く同様とし、データ内容だけをビット反転情報を持つものに変更する。すなわち、ＣＭＤ６０とＣＭＤ６１のコマンドフォーマットは、それぞれ図５（ａ），（ｂ）のようになる。【００８２】
図５（ａ），（ｂ）は、本発明の一実施の形態のデータ記憶システムにおいて、ターゲットにメモリカードを用いる場合に定義されるメモリカードのコマンド仕様の一例を示す説明図であり、（ａ）は、ＣＭＤ６０の仕様例、（ｂ）は、ＣＭＤ６１の仕様例を示すものである。【００８３】
ＣＭＤ６０は、図５（ａ）に示すように、ａｄｔｃ（ａｄｄｒｅｓｓｅｄ（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）ｄａｔａ  ｔｒａｎｓｆｅｒ  ｃｏｍｍａｎｄｓ）タイプのコマンドとなっている。このタイプでは、ＣＭＤラインから指定された特定のメモリカードに対してコマンドが発行され、この特定のメモリカードがレスポンスを返した後に、ＤＡＴラインを通してメモリカードに向けたデータ転送が行われる。このデータ転送により、メモリカードにおいては、ＣＭＤ６０の発行時に引数で指定したアドレスから、ＳＥＴ＿ＢＬＯＣＫＬＥＮコマンドにより指定したブロックサイズ分のデータ書き込みが行われる。そして、メモリカードに向けて転送されるデータは、これまでに説明したようなビット反転情報を持つデータである。【００８４】
一方、ＣＭＤ６１は、図５（ｂ）に示すように、ＣＭＤ６０と同様にａｄｔｃタイプのコマンドとなっている。そして、ホストからメモリカードに向けたデータ転送により、メモリカードにおいては、ＣＭＤ６１の発行時に引数で指定したアドレスから、連続してデータ書き込みが行われ、ＳＴＯＰ＿ＴＲＡＮＳＭＩＳＳＩＯＮコマンドにより停止するまで複数ブロックに書き込みが行われる。そして、メモリカードに向けて転送されるデータは、これまでに説明したようなビット反転情報を持つデータである。【００８５】
このように、ＳＤメモリカードおよびＭＭＣカードといったメモリカードに新たなコマンドを定義し、メモリカード内に、当該コマンドに対応するための機能としてコマンド判定機能や前述したようなビット反転情報を処理する機能等を設けることで、メモリカードのデータ転送効率を向上させることが可能となる。【００８６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８７】
本発明のデータ記憶システムおよびメモリカードは、ＳＤメモリカードおよびメモリースティックなどの各種メモリカードや、ＵＳＢフラッシュメモリなどといったシリアル転送のストレージ機器を含むデータ記憶システムに適用して特に有益なものである。また、これらに限らず、ＡＴＡ接続などのハードディスクや、ＳＤオーディオなどのメモリカードホスト機器、ＩＥＥＥ１３９４で接続されたＤＶＤドライブといった各種ストレージ機器や、更に、ストレージ機器に限らず記憶媒体を備えアドレスとデータが１対１で割り当てられた様々な機器を含むデータ記憶システムに対して広く適用可能である。
【図１】
2006035500.tif 000002
【図２】
2006035500.tif 000003
【図３】
2006035500.tif 000004
【図４】
2006035500.tif 000005
【図５】
2006035500.tif 000006
【図６】
2006035500.tif 000007
【手続補正書】
【提出日】平成18年7月28日(2006.7.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】データの反転が必要な場合とデータの保持が必要な場合とでそれぞれ異なる信号レベルを備えた第１データを第１アドレスに向けて送信するイニシエータと、
複数のアドレスに対応して複数のデータを記憶可能であり、前記第１アドレスに向けた前記第１データを受信した際に、前記第１アドレスに予め記憶されている第２データに対し、前記第１データの前記信号レベルに基づいて前記第２データを反転または保持することで、前記第２データを更新するターゲットとを有することを特徴とするデータ記憶システム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３
【補正方法】変更
【補正の内容】
【請求項３】データを送信するイニシエータと、複数のアドレスに対応して複数のデータを記憶可能であり、前記送信されたデータを受信するターゲットとを有するデータ記憶システムであって、
前記イニシエータは、前記ターゲットの第１アドレスに予め記憶されている複数ビットの第２データに対して、反転が必要となるビットと反転が必要となるビットをそれぞれ第１の信号レベルと第２の信号レベルに対応させた複数ビットの第１データを形成し、前記ターゲットの前記第１アドレスに向けて前記複数ビットの第１データを送信し、
前記ターゲットは、前記第１アドレスに向けた前記複数ビットの第１データを受信し、前記受信した複数ビットの第１データの中から前記第１の信号レベルに該当するビットを検出し、前記複数ビットの第２データに対して、前記検出したビットに対応するビットのデータを反転することで前記複数ビットの第２データの記憶を更新することを特徴とするデータ記憶システム。
【国際調査報告】
2006035500.tif 000008
2006035500.tif 000009