(57)【要約】【課題】  データ転送時のノイズの影響を低減出来る半導体メモリカードを提供する。【解決手段】  半導体メモリカード１００は、ＤＡＴ０乃至ＤＡＴ３端子を使用して４ビット幅単位でデータ転送を行う第１の動作モードと、ＤＡＴ０端子を使用して１ビット幅単位でデータ転送を行う第２の動作モードを備える。第２の動作モードにおいて、ＤＡＴ１端子はＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５に入力することで生成される論理反転信号を転送し、ＤＡＴ２端子はＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を転送レート変換部１６に入力することで生成される転送レートを１／２倍に変換した信号を転送し、ＤＡＴ３端子はＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５、及び転送レート変換部１６に入力することで生成される１／２倍の転送レートの論理反転信号を転送する。【選択図】  図２
2008117157.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に着脱自在に取り付け可能な半導体メモリカードにおいて、
複数のデータ端子と、
前記複数のデータ端子のうちの特定のデータ端子にデータを転送し、且つ前記特定のデータ端子への転送データに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送する内部回路と、
を具備することを特徴とする半導体メモリカード。
【請求項２】
ホスト装置に着脱自在に取り付け可能な半導体メモリカードにおいて、
複数のデータ端子と、
前記ホスト装置からのコマンドに応じて第１の動作モード及び第２の動作モードの一方に設定され、前記第１の動作モードにおいては、前記複数のデータ端子のそれぞれに複数ビット幅単位でデータを転送し、前記第２の動作モードにおいては、前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータを転送し、且つ前記特定のデータ端子への転送データに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送する内部回路と、
を具備することを特徴とする半導体メモリカード。
【請求項３】
前記第２の動作モードにおいて、更に、前記特定のデータ端子に転送されるデータ及び前記特定のデータ端子以外のデータ端子に転送される論理演算を施したデータを、前記複数のデータ端子のうちの当該データが転送されないデータ端子にそれぞれ転送することを特徴とする請求項２に記載の半導体メモリカード。
【請求項４】
前記第２の動作モードにおいて、更に、前記特定のデータ端子を使用して転送されるデータ及び前記特定のデータ端子以外のデータ端子を使用して転送される論理演算を施したデータの転送に使用されないデータ端子を使用して、前記特定のデータ端子に転送されるデータの転送レートを変換したデータ及び前記論理演算を施したデータの転送レートを変換したデータをそれぞれ転送することを特徴とする請求項２に記載の半導体メモリカード。
【請求項５】
ホスト装置に着脱自在に取り付け可能な半導体メモリカードにおいて、
複数のデータ端子と、
前記複数のデータ端子のそれぞれに複数ビット幅単位でデータ転送を行う第１の動作モードにおける転送データと前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータ転送を行う第２の動作モードにおける転送データとを切り替えるデータ切り替え部と、
前記第２の動作モードにおいて前記特定のデータ端子に転送されるデータに論理演算を施す論理演算部と、
前記第２の動作モードにおいて前記特定のデータ端子に転送されるデータ及び前記論理演を施したデータのそれぞれを異なる転送レートに変換する転送レート変換部と、
を具備することを特徴とする半導体メモリカード。
【請求項６】
前記論理演算部は、前記ホスト装置からのコマンドに応じてゲート回路の組み合わせを変更できるプログラマブルデバイスであることを特徴とする請求項５に記載の半導体メモリカード。
【請求項７】
前記第２の動作モードにおいて、前記論理演算は論理反転であり、論理反転前のデータと併せて差動信号によるデータ転送を行うことを特徴とする請求項２乃至請求項６のいずれか１項に記載の半導体メモリカード。
【請求項８】
前記第２の動作モードにおいて、前記特定のデータ端子は１本であって、前記第１の動作モードよりも少ないビット幅単位は１ビットであることを特徴とする請求項２乃至請求項７のいずれか１項に記載の半導体メモリカード。
【請求項９】
前記第１の動作モード及び前記第２の動作モードの一方に動作モードを設定するための前記ホスト装置からのコマンドは、前記半導体メモリカードから前記ホスト装置に転送されるレスポンスに応じて発行されることを特徴とする請求項２乃至請求項８のいずれか１項に記載の半導体メモリカード。
【請求項１０】
半導体メモリカードを着脱自在に取り付け可能なホスト装置において、
複数のデータ端子を備えるカードスロットと、
第１の動作モード及び第２の動作モードの一方で動作し、前記第１の動作モードにおいては、前記複数のデータ端子のそれぞれに複数ビット幅単位でデータを転送し、前記第２の動作モードにおいては、前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータを転送し、且つ前記特定のデータ端子に転送されるデータに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送する内部回路と、
を具備することを特徴とするホスト装置。
【請求項１１】
半導体メモリカードを着脱自在に取り付け可能なホスト装置において、
複数のデータ端子を備えるカードスロットと、
前記複数のデータ端子のそれぞれに複数ビット幅単位でデータ転送を行う第１の動作モードにおける転送データと前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータ転送を行う第２の動作モードにおける転送データとを切り替えるデータ切り替え部と、
前記第２の動作モードにおいて前記特定のデータ端子に転送されるデータに論理演算を施したデータを生成する論理演算部と、
前記第２の動作モードにおいて前記特定のデータ端子を使用して転送されるデータ及び前記論理演算部により論理演算を施したデータのそれぞれを異なる転送レートに変換する転送レート変換部と、
を具備することを特徴とするホスト装置。
【請求項１２】
複数のデータ端子を備える半導体メモリカードのデータ転送方法であって、
ホスト装置からのコマンドに応じて前記半導体メモリカードの動作モードが第１の動作モード及び第２の動作モードの一方に設定され、
前記第１の動作モードにおいては、前記複数のデータ端子のそれぞれに複数ビット幅単位でデータを転送し、
前記第２の動作モードにおいては、前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータを転送し、且つ前記特定のデータ端子に転送されるデータに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリカード、半導体メモリカードを取り付け可能なホスト装置、及び半導体メモリカードのデータ転送方法に関する。
【背景技術】
【０００２】
近年、地上波デジタル放送映像（最大１７Ｍｂｐｓ）やＢＳデジタル放送映像（最大２４Ｍｂｐｓ）のような高画質、高解像度の大容量動画データや、映像を長時間録画した動画データ等の大容量デジタルコンテンツが増えている。これらの動画データを半導体メモリカードに保存する場合、半導体メモリカードの大容量化が必須となる。現状では４ＧＢの記憶容量を持つ半導体メモリカードが商品化されているが、今後も更なる半導体メモリカードの大容量化が進むと考えられる。
【０００３】
このように半導体メモリカードの大容量化が進めば、現状の技術である高圧縮率のＭＰＥＧ４圧縮技術や、データのビットレートを低ビットレートへ変換する技術等を使用せず、高品質なデータをそのまま記憶し、再生したいという要請から高ビットレートでのデータ転送が要求される。  
しかし、高ビットレートでのデータ転送はノイズによる影響を受けやすく、データが正しく転送出来なくなるという問題が発生する。
【０００４】
一方、半導体メモリカードの利用が可能な携帯電話等では、バッテリー駆動時間を延ばしたいという要求から、消費電力を抑える為に動作電圧の低電圧化が図られている。その結果、ノイズの影響を受けやすくなり、データが正しく転送できなくなるという問題が発生する。
【０００５】
従来技術の半導体メモリカードでは、データ転送の高速化、及び動作電圧の低電圧化によるノイズの影響は考慮されていない（例えば、特許文献１参照。）。
【特許文献１】特開２０００−３５７１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明では、データ転送時のノイズの影響を低減し、正常にデータ転送を行うことが可能な半導体メモリカード、ホスト装置、及びデータ転送方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る半導体メモリカードは、ホスト装置に着脱自在に取り付け可能な半導体メモリカードにおいて、複数のデータ端子と、前記複数のデータ端子のうちの特定のデータ端子にデータを転送し、且つ前記特定のデータ端子への転送データに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送する内部回路とを具備することを特徴とする。
【０００８】
又、本発明の別態様に係る半導体メモリカードは、ホスト装置に着脱自在に取り付け可能な半導体メモリカードにおいて、複数のデータ端子と、前記ホスト装置からのコマンドに応じて第１の動作モード及び第２の動作モードの一方に設定され、前記第１の動作モードにおいては、前記複数のデータ端子のそれぞれに複数ビット幅単位でデータを転送し、前記第２の動作モードにおいては、前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータを転送し、且つ前記特定のデータ端子への転送データに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送をする内部回路とを具備することを特徴とする。
【０００９】
又、本発明の更に別態様に係るホスト装置は、半導体メモリカードを着脱自在に取り付け可能なホスト装置において、複数のデータ端子を備えるカードスロットと、第１の動作モード及び第２の動作モードの一方で動作し、前記第１の動作モードにおいては、前記複数のデータ端子のそれぞれに複数ビット幅単位でデータを転送し、前記第２の動作モードにおいては、前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータを転送し、且つ前記特定のデータ端子に転送されるデータに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送する内部回路とを具備することを特徴とする。
【００１０】
又、本発明の更に別態様に係るデータ転送方法は、複数のデータ端子を備える半導体メモリカードのデータ転送方法であって、ホスト装置からのコマンドに応じて前記半導体メモリカードの動作モードが第１の動作モード及び第２の動作モードの一方に設定され、
前記第１の動作モードにおいては、前記複数のデータ端子のそれぞれに複数ビット幅単位でデータを転送し、前記第２の動作モードにおいては、前記複数のデータ端子のうちの特定のデータ端子に前記第１の動作モードよりも少ないビット幅単位でデータを転送し、且つ前記特定のデータ端子に転送されるデータに論理演算を施したデータを前記特定のデータ端子以外のデータ端子に転送することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、データ転送時のノイズの影響を低減し、正常にデータ転送を行うことが可能な半導体メモリカード、ホスト装置、及びデータ転送方法を提供出来る。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
【００１３】
図１は、本発明の実施形態に係る半導体メモリカード（以下メモリカードと略称する）１００の構成を示す概略図である。
【００１４】
メモリカード１００は、その外観が例えば９つの端子群を有するＳＤＴＭメモリカード形状に形成されており、ホスト装置（以下ホスト）２００に対し一種の外部記憶装置として用いられる。ホスト２００は具体的には、画像データ、音楽データ、或いはＩＤデータ等の各種データを処理するパーソナルコンピュータや、ＰＤＡ、デジタルスチルカメラ、携帯電話等の各種電子機器である。
【００１５】
メモリカード１００は、全体の動作を制御する内部回路としてのプロセッサモジュール１０１、データ装置としての記憶装置１０２、及びホスト２００と信号の授受を行うインタフェース用信号端子１０３から構成されている。
【００１６】
メモリカード１００の内部構成を、図２を用いて説明する。図２は、メモリカード１００の内部構成を示すブロック図である。
【００１７】
図２に示すように、プロセッサモジュール１０１は、メモリカード１００の主制御部をなすカードコントローラ１１、制御プログラムが格納されるＲＯＭ１２、ワーク・バッファメモリとして使用されるＲＡＭ１３、記憶装置１０２とのインタフェースである記憶装置インタフェース部１４に加え、論理演算部１５、転送レート変換部１６、データ切り替え部１７、及びエラーチェック部１８の４つの制御部、又これら４つの制御部とのインタフェースをなす、ＩＯインタフェース部１９から構成されている。論理演算部１５、転送レート変換部１６、データ切り替え部１７、及びエラーチェック部１８に関しては後述する。
【００１８】
記憶装置１０２は、例えばフラッシュＥＥＰＲＯＭ等の不揮発性半導体であり、ホスト２００から転送される各種データを記憶する。
【００１９】
インタフェース用信号端子１０３には、ホスト２００からメモリカード１００へのクロック信号の転送に使用されるＣＬＫ端子、コマンド転送と当該コマンドに対するレスポンス転送に使用されるＣＭＤ端子、読み書きされるデータの入出力端子として使用されるＤＡＴ０、ＤＡＴ１、ＤＡＴ２、及びＤＡＴ３端子、電源供給に使用されるＶＤＤ端子、及び接地に使用される２つのＧＮＤ端子の合計９個の信号端子が配置されている。
【００２０】
メモリカード１００のデータ転送には、複数のデータ端子、例えばＤＡＴ０乃至ＤＡＴ３端子を使用して４ビット幅単位でデータ転送を行う、第１の動作モードとしての４ビットバスモードと、特定のデータ端子、例えばＤＡＴ０端子を使用して１ビット幅単位でデータ転送を行う、第２の動作モードとしての１ビットバスモードの２つの転送モードが存在し、ホスト２００からのコマンドによりどちらか一方の動作モードに設定される。尚、１ビットバスモードで使用する特定のデータ端子はＤＡＴ０端子に限らず、ＤＡＴ１、ＤＡＴ２及びＤＡＴ３端子から1つを選択すればよい。
【００２１】
次に、図３を用いてホスト２００について説明する。図３はホスト２００の内部構成を示すブロック図である。ホスト２００はメモリカード１００が着脱自在に取り付け可能なカードインタフェース部２０１、ホスト２００の制御中枢である制御装置２０２、例えばＲＡＭ等で構成されるシステムメモリ２０３、及び例えばハードディスク装置等で構成される記憶装置２０４を備えている。
【００２２】
カードインタフェース部２０１は、メモリカード１００が挿入されるカードスロット２６に加え、論理演算部２１、転送レート変換部２２、データ切り替え部２３、及びエラーチェック部２４の４つの制御部、又これら４つの制御部とのインタフェースをなす、ＩＯインタフェース部２５から構成されている。論理演算部２１、転送レート変換部２２、データ切り替え部２３、及びエラーチェック部２４は、メモリカード１００に備えた同一名称の４つの制御部と実質的に同じ機能を有する。又、カードスロット２６はメモリカード１００の備える９個のインタフェース用信号端子１０３に対応した図示せぬ信号端子を備える。
【００２３】
次に、メモリカード１００及びホスト２００に備えられた論理演算部１５、２１、転送レート変換部１６、２２、データ切り替え部１７、２３、及びエラーチェック部１８、２４の４つの制御部それぞれに関して説明する。尚、上述したようにメモリカード１００とホスト２００において上記４つの制御部の機能は実質的に同一である為、メモリカード１００側のみについて説明する。
【００２４】
論理演算部１５は、１ビットバスモードでデータ転送を行う場合に、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号に論理演算を施した信号を生成する機能を有する。論理演算部１５は、ＡＮＤゲートやＯＲゲート等を組み合わせたゲート回路で構成され、ホスト２００からのコマンドによって、ゲート回路の組み合わせを変更できるプログラマブルデバイスとなっている。本実施形態においては、論理演算として論理反転を想定する。これにより、バスＢ０上の信号とその論理反転信号とを併せて差動信号によるデータ転送が可能となる。尚、論理演算は論理反転に限らず適宜設定可能である。
【００２５】
転送レート変換部１６は、１ビットバスモードで信号転送を行う場合に、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を異なる転送レートの信号に変換した信号を生成する機能を有する。本実施形態においては、元の転送レートに対して、１／２倍の転送レートに変換することを想定する。尚、転送レートの変換は１／２倍に限らず、例えば１倍、即ち転送レートを変換せずに出力することや、２倍の転送レートに変換すること等も可能である。
【００２６】
データ切り替え部１７は、４ビットバスモードと１ビットバスモードの切り替えに対応して、ＤＡＴ０乃至ＤＡＴ３端子を使用して転送される信号を切り替える機能を有する。図４は、データ切り替え部１７の内部構成を示すブロック図である。ＤＡＴ０端子に接続されるバスＢ０以外は、論理演算部１５及び転送レート変換部１６で生成された信号を出力するための信号切り替えセレクタ回路Ｓ１、Ｓ２、及びＳ３を有する。
【００２７】
即ち、セレクタＳ１は、１ビットバスモードにおいてＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５に入力することにより生成される論理反転信号と、４ビットバスモードにおける信号とを切り替える。セレクタＳ２は、１ビットバスモードにおいてＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を転送レート変換部１６に入力することにより生成される転送レートを１／２倍に変換した信号と、４ビットバスモードにおける信号とを切り替える。セレクタＳ３は、１ビットバスモードにおいてＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５、及び転送レート変換部１６に入力することにより生成される１／２倍の転送レートの論理反転信号と、４ビットバスモードにおける信号とを切り替える。本実施形態においては、ＤＡＴ０、及びＤＡＴ１端子のペアを使用した差動信号によるデータ転送と、１／２倍の転送レートのＤＡＴ２、及びＤＡＴ３端子のペアを使用した差動信号によるデータ転送との２系統でのデータ転送が行われる。
【００２８】
エラーチェック部１８は、１ビットバスモードでメモリカード１００へのデータライトを行った場合に使用され、メモリカード１００へ入力されるデータを正しく受信できたかどうかを確認する為のエラーチェック機能を有する。即ち、メモリカード１００へのデータライト時に、ＤＡＴ０端子から入力されるデータとＤＡＴ１乃至ＤＡＴ３端子から入力されるデータとを比較し、ライトデータのエラーチェックを行う。ここで、ＤＡＴ１乃至ＤＡＴ３端子から入力される信号は、メモリカード１００側の論理演算部１５、及び転送レート変換部１６で説明したのと同様に、ホスト２００側の論理演算部２１、及び転送レート変換部２２により生成される信号である。
【００２９】
エラーチェック部１８は、ＤＡＴ０端子から入力された信号にＤＡＴ１端子から入力される信号の生成条件と同じ論理演算を施し、ＤＡＴ１端子から入力される信号とを比較する。同様にＤＡＴ２及びＤＡＴ３端子から入力されるデータについても転送レート変換部１７でＤＡＴ０端子から入力されるデータの転送レートと同じ転送レートに変換した後比較を行い、比較結果をカードコントローラ１１へ通知する。通知を受け取ったカードコントローラ１１は、転送中にエラーの発生した系統のデータを破棄し、エラーのない系統データをホスト２００から取得する。  
続いて、メモリカード１００から転送されるデータのフォーマットについて図５乃至図７を用いて説明する。
【００３０】
メモリカード１００へのアクセス方法には、シングルリード、マルチリード、シングルライト、及びマルチライトが考えられる。シングルリード（ライト）、マルチリード（ライト）動作の違いは、コマンドの通信部分で手順が異なる点、及び１ブロックのリード（ライト）を行うか、複数ブロックのリード（ライト）を行うかという点にある。本実施形態ではシングルリード（ライト）を想定し、図４を用いて動作を説明する。尚、本実施形態はマルチリード（ライト）にも適用可能である。
【００３１】
図５はメモリカード１００のシングルリード時、及びシングルライト時におけるＣＭＤ端子とＤＡＴ端子のタイミングチャートである。
【００３２】
先ず、図５（ａ）シングルリード動作について説明する。先ず、ＣＭＤ端子を使用してホスト２００からリードコマンドがメモリカード１００へ送られる。リードコマンドを受け取ったメモリカード１００はＣＭＤ端子を使用してホスト２００へレスポンスを返し、ＤＡＴ端子を使用して、記憶装置１０２からリードした１ブロック分のリードデータと当該リードデータに付加したＣＲＣｂｉｔｓを出力し、シングルリード動作を完了する。ここで、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）ｂｉｔｓは、プロセッサモジュール１０１が備える図示せぬＣＲＣ回路により生成される。
【００３３】
次に、図５（ｂ）シングルライト動作について説明する。先ず、ＣＭＤ端子を使用してホスト２００から、ライトコマンドがメモリカード１００へ送られる。ライトコマンドを受け取ったメモリカード１００はＣＭＤ端子を使用してホスト２００へレスポンスを返し、ＤＡＴ端子を使用して、ホスト２００から出力される1ブロック分のライトデータと当該ライトデータに付加したＣＲＣｂｉｔｓを受信後に、ホスト側へＣＲＣに対するレスポンスとＢｕｓｙを返し、記憶装置１０２へデータをライトしてシングルライトを完了する。ここで、ＣＲＣｂｉｔｓは、カードインタフェース部２０１が備える図示せぬＣＲＣ回路により生成される。
【００３４】
上記シングルリード、シングルライト動作において、データ信号のフォーマットは同じである。次に、図６を用いて、データフォーマットを説明する。
【００３５】
図６は、４ビットバスモードと１ビットバスモードのデータフォーマットである。各ＤＡＴ端子から出力されるデータのフォーマットは、［Ｓｔａｒｔ  Ｂｉｔ］＋［Ｄａｔａ  Ｂｉｔｓ］＋［ＣＲＣ  Ｂｉｔｓ］＋［Ｅｎｄ  Ｂｉｔ］で、４ビットバスモードも１ビットバスモードも同じである。
【００３６】
先ず、シングルリード動作について説明する。メモリカード１００において、シングルリードは１ブロック単位４０９６ビットのリードである。４ビットバスモードでシングルリードを行う場合は、図６（ａ）に示すようにメモリカード１００はＤＡＴ０乃至ＤＡＴ３端子を使用し、１ブロック分のデータをＳｔａｒｔ Ｂｉｔを先頭に、上位ビット側から４本の信号に分けて出力する。一方、１ビットバスモードに切り替えてシングルリードを行う場合は、図６（ｂ）に示すようにＤＡＴ０端子から１ブロック分の全データを、Ｓｔａｒｔ Ｂｉｔを先頭に上位ビット側からから出力し、この時空き端子となったＤＡＴ１端子から、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５に入力することにより生成される論理反転信号を出力する。
【００３７】
又、ＤＡＴ２端子からは、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を転送レート変換部１６に入力することにより生成される転送レートを１／２倍に変換した信号を出力し、ＤＡＴ３端子からは、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５、及び転送レート変換部１６に入力することにより生成される１／２倍の転送レートの論理反転信号を出力する。
【００３８】
次に、シングルライト動作について説明する。メモリカード１００において、シングルライトは１ブロック単位４０９６ビットのライトである。４ビットバスモードでシングルライトを行う場合は、図６（ａ）に示すようにホスト２００はＤＡＴ０乃至ＤＡＴ３端子を使用し、１ブロック分のデータを４本の信号に分けて出力する。一方、１ビットバスモードに切り替えてシングルライトを行う場合は、図６（ｂ）に示すように、ＤＡＴ０端子に１ブロック分の全データを出力し、この時空き端子となったＤＡＴ１端子に、ＤＡＴ０端子を使用したデータ転送に関わるバス上の信号を論理演算部２１に入力することにより生成される論理反転信号を出力する。
【００３９】
又、ＤＡＴ２端子には、ＤＡＴ０端子を使用したデータ転送に関わるバス上の信号を転送レート変換部２２に入力することにより生成される転送レートを１／２倍に変換した信号を出力し、ＤＡＴ３端子には、ＤＡＴ０端子を使用したデータ転送に関わるバス上の信号を論理演算部２１、及び転送レート変換部２２に入力することにより生成される１／２倍の転送レートの論理反転信号を出力する。
【００４０】
更に、図７を用いてシングルリード時のデータフォーマットについて詳細に説明する。図７は、メモリカード１００からリードされるデータが「０ｘＡＣ５６・・・」であった場合に、図６（ｂ）に示した１ビットバスモードにおいてＤＡＴ０乃至ＤＡＴ３端子から出力される信号の先頭から数バイト分を拡大したバス波形図である。尚、０ｘという添え字は１６進数表記であることを示す。
【００４１】
ＤＡＴ０乃至ＤＡＴ３から出力される信号については、図６（ｂ）を用いて説明した通りであるが、図７においては、ＤＡＴ０、及びＤＡＴ１端子のペアの転送レートが、ＤＡＴ２、及びＤＡＴ３端子のペアの転送レートよりも速い為、１ブロックリードの転送終了を合わせる為にＤＡＴ０、及びＤＡＴ１端子のペアから８ビット単位で同じデータを再度出力させている。ホスト２００のエラーチェック部２４でこれらのデータを比較してデータが正しく受信出来たかを確認し、正しく受信できなかった場合にはエラーステータスを立てることで、データ転送のリトライを要求することが可能である。尚、シングルライト時のバス波形についてはシングルリード時と同様である為説明を省略する。
【００４２】
次に、本実施形態に係るメモリカード１００の動作について図８を用いて説明する。図８はメモリカード１００のシングルリード動作を示すフローチャートである。
【００４３】
シングルリード動作時において、４ビットバスモードでのデータ転送中に受信データにエラーを検出した場合に、４ビットバスモードから１ビットバスモードに切り替えてデータ転送を実施する動作について説明する。
【００４４】
先ず、ホスト２００の電源が投入された状態でメモリカード１００をホスト２００へ挿入する（ステップ８０１）。この時、メモリカード１００は電源が投入された状態となり、ホスト２００がメモリカード１００の挿入を認識する（ステップ８０２）。メモリカード１００をアクセス可能な状態にする為にメモリカード１００の初期化を行い（ステップ８０３）、ホスト２００からのアクセスが可能になる。
【００４５】
次に、ホスト２００はメモリカード１００内のデータを読み出す為にリードコマンドを発行する（ステップ８０４）。メモリカード１００はリードコマンドを受信する（ステップ８０５）と、４ビットバスモードでデータをホスト２００へ送信する（ステップ８０６）。ホスト２００はメモリカード１００からのデータを受信し（ステップ８０７）、受信データのＣＲＣチェックを行い（ステップ８０８）、エラーを検出した場合は、ホスト２００は動作モードを１ビットバスモードに切り替える動作モード切り替えコマンドとしての１ビットバスモード切り替えコマンドを発行する（ステップ８０９）。
【００４６】
次に、メモリカード１００は１ビットバスモード切り替えコマンドを受信し（ステップ８１０）、４ビットバスモードから１ビットバスモードへ動作モードを切り替え（ステップ８１１）、レスポンスをホスト２００へ返す（ステップ８１２）。メモリカード１００が１ビットバスモードに切り替わった後、ホスト２００は再度リードコマンドを発行する（ステップ８１３）。
【００４７】
メモリカード１００はリードコマンドを受信する（ステップ８１４）と、１ビットバスモードでＤＡＴ０端子からデータを再送信すると同時に、空き端子となったＤＡＴ１端子から、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５に入力することにより生成された論理反転信号を出力する。
【００４８】
又、ＤＡＴ２端子からはＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を転送レート変換部１６に入力することにより生成される、転送レートを１／２倍に変換した信号を出力し、ＤＡＴ３端子からは、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５、及び転送レート変換部１６に入力することにより生成される１／２倍の転送レートの論理反転信号を出力する（ステップ８１５）。ホスト２００は、メモリカード１００から１ビットバスモードでの送信データを受信し、エラーチェック部２４で比較を行った後、エラーの無い系統データを取得する（ステップ８１６）。
【００４９】
図９は、メモリカード１００のシングルライト動作を示すフローチャートである。
【００５０】
シングルライト動作において、４ビットバスモードでのデータ転送中に、メモリカード１００からのレスポンスで受信データのエラーを検出した場合に、４ビットバスモードから１ビットバスモードに切り替えてデータ転送を実施する動作について説明する。
【００５１】
先ず、ホスト２００の電源が投入された状態でメモリカード１００をホスト２００へ挿入する（ステップ９０１）。この時、メモリカード１００は電源が投入された状態となり、ホスト２００はメモリカード１００の挿入を認識する（ステップ９０２）。メモリカード１００をアクセス可能な状態にするためにメモリカード１００の初期化を行い（ステップ９０３）、ホスト２００からのアクセスが可能になる。
【００５２】
次に、ホスト２００はメモリカード１００内へデータを書き込むためにライトコマンドを発行する（ステップ９０４）。メモリカード１００はライトコマンドを受信する（ステップ９０５）と、レスポンスをホスト２００へ返す（ステップ９０６）。ホスト２００はメモリカード１００からのレスポンスを受信した後、メモリカード１００へ４ビットデータを送信する（ステップ９０７）。メモリカード１００は４ビットバスモードでデータを受信（ステップ９０８）した後、ＣＲＣチェックを行いホスト２００へレスポンスを返す（ステップ９０９）。ホスト２００はエラーを検出した場合に、１ビットバスモードに切り替える動作モード切り替えコマンドとしての１ビットバスモード切り替えコマンドを発行する（ステップ９１０）。
【００５３】
メモリカード１００は１ビットバスモード切り替えコマンドを受信し（ステップ９１１）、４ビットバスモードから１ビットバスモードへ動作モードを切り替え（ステップ９１２）、レスポンスをホスト２００へ返す（ステップ９１３）。メモリカード１００が１ビットバスモードに切り替わった後、ホスト２００は再度ライトコマンドを発行する（ステップ９１４）。
【００５４】
メモリカード１００はライトコマンドを受信（ステップ９１５）すると、レスポンスをホスト２００へ返す（ステップ９１６）。ホスト２００はメモリカード１００からのレスポンスを受信した後、メモリカード１００へ１ビットバスモードでＤＡＴ０端子からデータを再送信すると同時に、空き端子となったＤＡＴ１端子に、ＤＡＴ０端子を使用したデータ転送に関わるバス上の信号を論理演算部２１に入力することにより生成された論理反転信号を入力する。又、ＤＡＴ２端子にはＤＡＴ０端子を使用したデータ転送に関わるバス上の信号を転送レート変換部２２に入力することにより生成される、転送レートを１／２倍に変換した信号を入力し、ＤＡＴ３端子には、ＤＡＴ０端子を使用したデータ転送に関わるバス上の信号を論理演算部２１、及び転送レート変換部２２に入力することにより生成される１／２倍の転送レートの論理反転信号をホスト２００へ入力する（ステップ９１７）。
【００５５】
メモリカード１００はホスト２００から１ビットバスモードでの送信データを受信（ステップ９１８）し、エラーチェック部１８で比較を行った後、比較結果をプロセッサモジュール１０１のカードコントローラ１１へ通知する。通知を受け取ったカードコントローラ１１は、転送中にエラーの発生した系統のデータを破棄し、エラーの無い系統データを取得して記憶装置１０２へのデータ書き込みを実行する。
【００５６】
上記の動作フローを実施することで、ユーザが転送バスモードを切り替えることなく、ノイズの発生状況に応じて自動でデータ動作モードを切り替えて、正常にデータ転送を完了させることが可能となる。尚、ホスト２００からのコマンドによりユーザが４ビットバスモードと１ビットバスモードを切り替え、どちらかのモードに固定して通信を行うことも当然可能である。又、メモリカード起動時の動作モードが４ビットバスモードであるとして説明したが、これに限らず、起動時の動作モードが1ビットバスモードであってもよい。
【００５７】
又、半導体メモリカードが本実施形態の場合のように１ビットモードをサポートしている場合に、半導体メモリカードの起動時に１ビットバスモードをサポートしているというレスポンスをホスト２００に対して送るようにし、当該レスポンスの有無により起動時の動作モードを決定してもよい。
【００５８】
以上のように、本実施形態に係るメモリカードにおいては、4ビットバスモードでのデータ転送中に受信データのエラーを検出した場合に、4ビットバスモードから１ビットバスモードに切り替えてＤＡＴ０端子を使用したデータ転送を行い、この時空き端子となるＤＡＴ１端子から、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５に入力することにより生成された論理反転信号を出力し、又、ＤＡＴ２端子からはＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を転送レート変換部１６に入力することにより生成される、転送レートを１／２倍に変換した信号を出力し、ＤＡＴ３端子からは、ＤＡＴ０端子を使用したデータ転送に関わるバスＢ０上の信号を論理演算部１５、及び転送レート変換部１６に入力することにより生成される１／２倍の転送レートの論理反転信号を出力する。
【００５９】
即ち、論理演算部１５により論理反転させた信号を生成することで、ＤＡＴ０、及びＤＡＴ１端子の２本をペアとして差動信号としノイズを打ち消し、データ転送が高速になった場合、及び動作電圧の低電圧化が図られた場合にも正常にデータ転送を行うことが可能となる。ＤＡＴ２、及びＤＡＴ３端子も２本のペアとし差動信号としているので同様の効果があり、更に転送レートを１／２倍に変換することによってもノイズの影響を低減出来る。
【００６０】
又、本実施形態に係る半導体メモリカードにおいては、１ビットバスモードにおける空き端子を有効に使用することで、従来のＳＤTMカードのピン数を変えることなくノイズに強いデータ転送を実現出来るという効果が得られる。
【００６１】
尚、1ビットバスモードにおいて、ＤＡＴ０乃至ＤＡＴ３端子を使用して転送されるデータの割り当ては本実施形態に限定されるものではなく、半導体メモリカード内部の配線状況等を考慮して適宜設定すればよい。
【００６２】
又、本実施形態に係る半導体メモリカードにおいては、ＤＡＴ２端子とＤＡＴ３端子のペアの転送レートが遅いため、ＤＡＴ０、及びＤＡＴ１端子側のデータ転送終了を、ＤＡＴ２、及びＤＡＴ３端子側のデータ転送終了に合わせるために、ＤＡＴ０端子とＤＡＴ１端子から２度同じデータを転送しているが、これを実施しなくても構わない。
【００６３】
又、本実施形態に係る半導体メモリカードにおいては、ＤＡＴ０、及びＤＡＴ１端子のペアと、ＤＡＴ２、及びＤＡＴ３端子のペアとからなる２系統のデータ転送を例に説明したが、ＤＡＴ０、及びＤＡＴ１端子のペア、ＤＡＴ２、及びＤＡＴ３端子のペアとのどちらかのみの系統でデータ転送を行ってもよい。
【００６４】
又、本実施形態に係る半導体メモリカードにおいては、ＤＡＴ０、及びＤＡＴ１端子のペアと、ＤＡＴ２、及びＤＡＴ３端子のペアとからなる２系統のデータ転送を例に説明したが、ＤＡＴ２、及びＤＡＴ３端子のペアの１ブロック分のデータ転送が終了した時点でエラーチェックを行い、ＤＡＴ０、ＤＡＴ１端子のペアを使用したデータ転送にエラーが検出されなければ、ＤＡＴ２、及びＤＡＴ３端子のペアを用いたデータ転送を行わず、ＤＡＴ０、ＤＡＴ１端子のペアのみを使用して通常の転送レートで差動信号による通信を行い、ＤＡＴ０、ＤＡＴ１端子のペアを使用したデータ転送にエラーが検出されれば、ＤＡＴ０、ＤＡＴ１端子のペアを用いたデータ転送を行わず、ＤＡＴ２、及びＤＡＴ３端子のペアのみを使用して１／２倍の転送レートで差動信号によるデータ転送を行ってもよい。
【００６５】
又、本実施形態に係る半導体メモリカードにおいては、９つの端子群を有するＳＤＴＭカード形状のメモリカードについて説明したが、端子は９つに限るものでなく、データ端子も４つに限るものではない。又、他の半導体メモリカードやメモリデバイスにも適用可能である。
【００６６】
又、本実施形態に係る半導体メモリカードにおいては、第２の動作モードが１ビット幅単位での信号転送を行うとしたが、これに限るものではなく、例えば２ビット幅単位で信号転送を行い、空きとなる２本のデータ端子を使用して論理反転信号を転送し、差動信号によるデータ転送を行ってもよい。
【００６７】
又、１ビットバスモードにおける転送クロック周波数の値を４ビットバスモードにおける転送クロック周波数の値よりも大きい値としてもよい。
【００６８】
又、本実施形態における半導体メモリカードは、複数のデータ端子を備える半導体メモリカード及び当該半導体メモリカードを着脱自在に取り付け可能なホスト装置を有するデータ通信システムであって、前記ホスト装置からのコマンドに応じて前記半導体メモリカードの動作モードが第１の動作モード及び第２の動作モードの一方に設定され、前記第１の動作モードにおいては、前記複数のデータ端子のそれぞれを使用して複数ビット幅単位で前記ホスト装置との間のデータ通信を行い、前記第２の動作モードにおいては、前記複数のデータ端子のうちの特定のデータ端子を使用して前記第１の動作モードよりも少ないビット幅単位で転送されるデータと、前記特定のデータ端子を使用して転送されるデータに論理反転を施したデータであって前記特定のデータ端子以外のデータ端子を使用して転送されるデータとを併せて、前期ホスト装置との間で差動信号によるデータ通信を行うことを特徴とするデータ通信システムに対して用いてもよい。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態に係る半導体メモリカードの構成を示す概略図。
【図２】本発明の一実施形態に係る半導体メモリカードの構成を示すブロック図。
【図３】本発明の一実施形態に係る半導体メモリカードと信号の授受を行うホスト装置の構成を示すブロック図。
【図４】本発明の一実施形態に係る半導体メモリカードにおけるデータ切り替え部の構成を示すブロック図。
【図５】本発明の一実施形態に係る半導体メモリカードにおけるシングルリード、及びシングルライト動作を示すタイミングチャート。
【図６】本発明の一実施形態に係る半導体メモリカードで転送されるデータのデータフォーマット図。
【図７】本発明の一実施形態に係る半導体メモリカードのデータリード時におけるバス波形図。
【図８】本発明の一実施形態に係る半導体メモリカードにおけるシングルリード動作を示すフローチャート。
【図９】本発明の一実施形態に係る半導体メモリカードにおけるシングルライト動作を示すフローチャート。
【符号の説明】
【００７０】
１００  半導体メモリカード
１０１  プロセッサモジュール
１０２  記憶装置
１０３  インタフェース用端子
１１  カードコントローラ
１２  ＲＯＭ
１３  ＲＡＭ
１４  記憶装置インタフェース部
１５  論理演算部
１６  転送レート変換部
１７  データ切り替え部
１８  エラーチェック部
１９  ＩＯインタフェース部
２００  ホスト装置
２０１  カードインタフェース部
２０２  制御装置
２０３  システムメモリ
２０４  記憶装置
２１  論理演算部
２２  転送レート変換部
２３  データ切り替え部
２４  エラーチェック部
２５  ＩＯインタフェース部
２６  カードスロット
【図１】
2008117157.tif 000003
【図２】
2008117157.tif 000004
【図３】
2008117157.tif 000005
【図４】
2008117157.tif 000006
【図５】
2008117157.tif 000007
【図６】
2008117157.tif 000008
【図７】
2008117157.tif 000009
【図８】
2008117157.tif 000010
【図９】
2008117157.tif 000011