説明

記憶装置、バステスト方法、及びデータ転送モード切替方法

【課題】ホスト機器との間で安定してデータを伝送可能であることを確認した上でデータ転送モードを切り替え可能であって、データ転送モードの確認による劣化を低減可能な記憶装置等を提供すること。
【解決手段】データを記憶する不揮発性メモリであるNAND型フラッシュメモリ15と、データを一時的に保存するデータバッファ12と、を有し、ホスト機器20と記憶装置との間におけるデータ転送モードを選択するためのテスト開始要求がホスト機器20により発行され、不揮発性メモリへのアクセスに使用されるパケットと同じデータサイズのパケットであるテスト用データがホスト機器20から入力された場合に、テスト用データをデータバッファ12に保存するとともに、データバッファ12に保存されたテスト用データをホスト機器20による読み出し要求に応じて出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶装置、バステスト方法、及びデータ転送モード切替方法、特に、ホスト機器と記憶装置との間におけるデータ転送モードを選択するためのバステスト方法に関する。
【背景技術】
【0002】
従来、機器間において大容量のデータを円滑に伝送するため、バスを通じたデータ転送の高速化が求められている。従来、バスを伝送するパケットのエラー状況など、バスを通じたデータの転送状況をチェックする技術が提案されている(例えば、特許文献1参照)。
【0003】
ホスト機器に装着して使用される記憶装置、例えばメモリカードとホスト機器とを接続するバスについて、テスト用データを用いたバステストにより、接続状況のチェックが行われている。例えば、マルチメディアカード(以下、MMCと称す)は、バス幅が1ビット、4ビット、8ビットのものがあり、ホスト機器のスロットに挿入されたMMCがいずれのビット幅でアクセス可能であるかが、バステストにより調査される。バステストは、テスト開始コマンドを発行した後、所定のパターンのテスト用データをMMCからホスト機器へ送出することにより行う。MMCについてアクセス可能なビット幅の調査には、8クロックのパターンからなるテスト用データが用いられている。例えば、8ビットまでのバス幅を調査する場合、BUS0〜BUS7の8本のバスを使用して、HighレベルからLowレベルになるタイミング、LowレベルからHighレベルになるタイミングが受信した信号と送信した信号とで一致するか否かを各バスについて確認する。
【0004】
このようなバステストは、端子の接続状況によりバス幅を確認可能である一方、バスにおけるデータ転送を高速化させることに対しての挙動、ノイズの影響やクロック信号のジッタの影響について、8クロック程度のデータパタンから状況を判断することは困難である。データ転送を高速化させる場合、ホスト機器における信号のドライバ、レシーバと、メモリカードにおける信号のドライバ、レシーバとの相性に関する問題も起き易くなる。相性に関する問題として、信号の反射による影響が挙げられる。特に、バスのクロック信号の反射については、若干のずれが大きく影響を及ぼす場合があることから、問題が生じている場合であっても、8クロック程度のバステストでは正常であると判断されることが多くなる。
【0005】
また、メモリカードは、あらゆる機器のスロットでの挿抜を繰り返して使用される。エンドユーザがメモリカードに直接触れながら挿抜を行うため、静電気の影響を受け易く、ゴミ、手の油などの汚れが端子に付着することによる接触不良が生じる可能性も高い。このようなことから、ホスト機器及びメモリカードの間でデータを安定して伝送可能か否かを的確に把握できることが望ましい。さらに、メモリカードは、データの書き込み及び消去を繰り返すことにより劣化するため、バステストにおいて通常のデータと同様にテスト用データを書き込み及び読み出しを行うことで、ユーザが実際にメモリカードを使用可能である期間を短くすることにもなる。
【0006】
【特許文献1】特開2002−198976号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、ホスト機器との間で安定してデータを伝送可能であることを確認した上でデータ転送モードを切り替え可能であって、バステストによる劣化を低減可能な記憶装置、バステスト方法、及びデータ転送モード切替方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本願発明の一態様によれば、ホスト機器に装着して使用される記憶装置であって、データを記憶する不揮発性メモリと、ホスト機器から入力されたデータ、及びホスト機器へ出力するため不揮発性メモリから取り出されたデータを一時的に保存するデータバッファと、を有し、ホスト機器と記憶装置との間におけるデータ転送モードを選択するためのテスト開始要求がホスト機器により発行され、不揮発性メモリへのアクセスに使用されるパケットと同じデータサイズのパケットであるテスト用データがホスト機器から入力された場合に、テスト用データをデータバッファに保存するとともに、データバッファに保存されたテスト用データをホスト機器による読み出し要求に応じて出力することを特徴とする記憶装置が提供される。
【0009】
また、本願発明の一態様によれば、ホスト機器と、ホスト機器に装着して使用される記憶装置との間におけるデータ転送モードを選択するためのバステスト方法であって、記憶装置の不揮発性メモリへのアクセスに使用されるパケットと同じデータサイズのパケットであるテスト用データをホスト機器から記憶装置へ送出する送出工程と、ホスト機器から送出されたテスト用データを、記憶装置のデータバッファに一時的に保存する工程と、データバッファに保存されているテスト用データを記憶装置からホスト機器へ返送する返送工程と、送出工程においてホスト機器から送出したテスト用データと、返送工程において記憶装置から返送されたテスト用データとを比較する工程と、を含むことを特徴とするバステスト方法が提供される。
【0010】
また、本願発明の一態様によれば、ホスト機器と、ホスト機器に装着して使用される記憶装置との間におけるデータ転送モードを切り替えるデータ転送モード切替方法であって、データ転送モードの切り替え要求に対して、記憶装置の不揮発性メモリへのアクセスに使用されるパケットと同じデータサイズのパケットであるテスト用データをホスト機器から記憶装置へ送出する送出工程と、ホスト機器から送出されたテスト用データを、記憶装置のデータバッファに一時的に保存する工程と、データバッファに保存されたテスト用データを記憶装置からホスト機器へ返送する返送工程と、を含み、送出工程においてホスト機器から送出したテスト用データと、返送工程において記憶装置から返送されたテスト用データとが一致する場合に、データ転送モードを切り替えることを特徴とするデータ転送モード切替方法が提供される。
【発明の効果】
【0011】
本発明によれば、ホスト機器及び記憶装置の間で安定してデータを伝送可能であることを確認した上でデータ転送モードを切り替え可能であって、バステストによる記憶装置の劣化を低減可能であるという効果を奏する。
【発明を実施するための最良の形態】
【0012】
以下に添付図面を参照して、この発明に係る記憶装置、バステスト方法、及びデータ転送モード切替方法の最良な実施の形態を詳細に説明する。
【0013】
(実施の形態)
図1は、本発明の実施の形態に係る記憶装置であるSDメモリカード10の構成を示すブロック図である。SDメモリカード10は、デジタルビデオカメラ等のホスト機器20に装着して使用される。SDメモリカード10は、本発明が属する分野の技術者によって、以下の説明要綱に基づき、適宜変形可能である。従って、以下の説明は、当該分野に対して開示される内容として広く理解されるべきであり、本発明を限定するものではない。
【0014】
SDメモリカード10のインターフェース11と、ホスト機器20のインターフェース21とは、SDバス30により電気的に接続されている。SDバス30は、1本のクロックライン(SDCLK)、1本のコマンドライン(SDCMD)、及び4本のデータライン(SDDAT)を備える。クロックラインは、ホスト機器20からSDメモリカード10へ、SDバス30の動作クロックを供給する。コマンドラインは、ホスト機器20からSDメモリカード10への命令、命令に対してSDメモリカード10がホスト機器20へ出力する結果(レスポンス)を伝送する。データラインは、ホスト機器20からSDメモリカード10へ書き込まれるデータと、SDメモリカード10からホスト機器20へ読み出されるデータとを伝送する。SDバス30のバス幅、及びデータ転送モードは、レジスタの値を参照することにより確認される。
【0015】
NAND型フラッシュメモリ15は、データや管理データを記憶する不揮発性メモリである。データバッファ12は、ホスト機器20から入力されたデータ、及びホスト機器20へ出力するためNAND型フラッシュメモリ15から取り出されたデータを一時的に保存する。NAND型フラッシュメモリインターフェース14は、NAND型フラッシュメモリ15を制御するとともに、データバッファ12に保存されたデータをNAND型フラッシュメモリ15に保存させる。また、ホスト機器20からのデータの読み出し要求に対して、NAND型フラッシュメモリインターフェース14は、NAND型フラッシュメモリ15からデータを読み出し、データバッファ12に保存させる。マイクロプロセッサ13は、インターフェース11、データバッファ12、NAND型フラッシュメモリインターフェース14を制御する。SDメモリカード10は、512バイトのパケットを単位として、データの読み出し、書き込みを行う。
【0016】
図2は、ホスト機器20の電源投入から、SDメモリカード10のデータの読み出し、書き込みまでの手順の概要を説明するフローチャートである。ここでは、SDメモリカード10の初期化を行う際にデータ転送モードを切り替える場合を例として説明する。ホスト機器20の電源を投入する(ステップS1)と、ホスト機器20は、初期化コマンドを発行する(ステップS2)。ホスト機器20からの初期化コマンドに応じて、SDメモリカード10の初期化が開始される。初期化処理中において、ホスト機器20は、SDメモリカード10との間で切り替え可能なデータ転送モードを確認する(ステップS3)。
【0017】
SDメモリカード10には、SPIモード、SD1ビットモード、SD4ビットモードがあり、さらに、SDバス30の動作周波数を高くしてアクセス可能なハイスピードモードがある。切り替え可能なデータ転送モードは、レジスタの値を参照することにより確認される。初期化開始時はSDメモリカード10のデータ転送モードが確認される前であることから、初期化の際のアクセスは、SDメモリカード10のインターフェース11が動作可能な最高周波数より低い周波数、例えば400kHzとする。例えば、SDメモリカード10がハイスピードモードに対応していないものである場合、SDバス30の最大動作周波数は25MHzと規定される。SDメモリカード10がハイスピードモードに対応しているものである場合、SDバス30の最大動作周波数は50MHzと規定される。
【0018】
SDメモリカード10の初期化が終了(ステップS4)した後、SDバス30におけるデータ転送モードを切り替える(ステップS5)。その後、SDメモリカード10のデータの読み出し、書き込み処理を行う(ステップS6)。従来の技術では、データ転送モードの確認によりハイスピードモードに対応しているものと確認された場合、これに応じてデータ転送モードをハイスピードモードに切り替える。本発明は、データ転送モードがハイスピードモードに対応するものであっても、以下に説明するバステストをパスした場合に限り、データ転送モードをハイスピードモードに切り替えることを特徴とする。
【0019】
図3は、SDメモリカード10の初期化を行う際にバステストを実施し、データ転送モードを選択する手順を説明するフローチャートである。ここでは、データ転送モードの確認(ステップS3)により、SDメモリカード10がハイスピードモードに対応することが確認された場合に、高速モード(50MHz)、低速モード(25MHz)のいずれかを選択する場合について説明する。ステップS1からステップS4の工程は、図2を用いた説明と同様である。
【0020】
ホスト機器20は、初期化終了(ステップS4)の後、データ転送モード切り替えコマンド(切り替え要求)を発行する(ステップS11)。データ転送モード切り替えコマンドにより、テスト用としてデータ転送モードを高速モードに設定する。さらに、ホスト機器20がテスト開始コマンド(テスト開始要求)を発行(ステップS12)することにより、バステストが実施される(ステップS13)。
【0021】
図4は、バステストにおけるホスト機器20の動作の手順を説明するものである。図5は、バステストにおけるSDメモリカード10の動作の手順を説明するものである。ホスト機器20がテスト開始コマンドを発行する(ステップS12)と、SDメモリカード10は、ホスト機器20からのテスト開始コマンドを受信する(ステップS31)。マイクロプロセッサ13は、テスト開始コマンドの受信により、制御をバステストモードに切り替える。次に、ホスト機器20はデータ書き込みコマンドを発行する(ステップS21)と、SDメモリカード10は、ホスト機器20からのデータ書き込みコマンドを受信する(ステップS32)。
【0022】
ホスト機器20は、テスト用データを準備し、SDメモリカード10へ送出する(ステップS22、送出工程)。テスト用データとしては、NAND型フラッシュメモリ15へのアクセスに使用されるパケットと同じデータサイズである512バイトのパケットが用いられる。テスト用データには、検査符号であるCRC(Cyclic Redundancy Check;巡回冗長検査)符号が付加される。SDメモリカード10は、ホスト機器20から送出されたテスト用データをデータバッファ12に一時的に保存する(ステップS33)。マイクロプロセッサ13は、バステスト以外の通常における書き込みコマンドに対しては、データバッファ12を通じてNAND型フラッシュメモリ15にデータを書き込む制御を行う。バステストモードにおいては、マイクロプロセッサ13は、テスト用データの保存をデータバッファ12にとどめ、NAND型フラッシュメモリ15への書き込みを行わない。
【0023】
SDメモリカード10は、ホスト機器20から入力されたテスト用データについて、インターフェース11でのCRC計算により、エラーの有無を検査する(ステップS34)。かかる検査により、ホスト機器20からSDメモリカード10へデータを正確に伝送可能か否かが確認される。SDメモリカード10は、CRC計算の結果であるCRCステータスをホスト機器20へ送出する(ステップS35)。ホスト機器20は、SDメモリカード10から送出されたCRCステータスを受信する(ステップS23)。
【0024】
次に、ホスト機器20は、データ読み出しコマンド(読み出し要求)を発行する(ステップS24)。SDメモリカード10は、ホスト機器20からのデータ読み出しコマンドを受信する(ステップS36)と、データバッファ12に保存されているテスト用データをSDメモリカード10からホスト機器20へ返送する(ステップS37、返送工程)。ホスト機器20は、SDメモリカード10から返送されたテスト用データを受信する(ステップS25)。ステップS26において、ホスト機器20は、送出工程においてホスト機器20から送出したテスト用データと、返送工程においてSDメモリカード10から返送されたテスト用データとを比較する。かかる比較により、ホスト機器20及びSDメモリカード10の間を往復する間におけるデータ化けの有無が確認される。さらに、ホスト機器20は、SDメモリカード10から返送されたテスト用データについて、CRC計算によりエラーの有無を検査する。かかる検査により、SDメモリカード10からホスト機器20へデータを正確に伝送可能か否かが確認される。
【0025】
図3に戻って、バステストが終了した後、ホスト機器20は、テスト結果読み出しコマンドを発行し(ステップS14)、上述のステップS23で受信したSDメモリカード10のCRCステータス、ステップS26におけるテスト用データの比較結果、ホスト機器20のCRCステータスを読み出す。これらの結果から、ホスト機器20は、バステストをパスしたか否かを判断する(ステップS15)。SDメモリカード10、ホスト機器20のいずれにおいてもテスト用データのエラーが検出されず、ホスト機器20において比較したテスト用データが一致した場合、バステストをパスしたものとして、ステップS16において高速モードを選択し、高速モードに切り替えられる。ステップS6では、高速モードで読み出し、書き込み処理を行う。
【0026】
SDメモリカード10でのエラー検出、ホスト機器20でのエラー検出、ホスト機器20におけるテスト用データの比較結果の不一致の少なくとも一つがあった場合、バステストをパスしなかったものとして、ステップS17において低速モードを選択する。ステップS6では、低速モードで読み出し、書き込み処理を行う。
【0027】
通常のアクセスに使用されるパケットと同じデータサイズのテスト用データを使用することで、例えば、データ転送モードを高速モードに切り替えることによりノイズ、クロック信号のジッタ、信号の反射等がデータへ影響を及ぼすような場合、バステストに結果として反映されることになる。本発明によると、切り替え可能なデータ転送モードを確認した後にバステストを実施することで、安定してSDメモリカード10を使用可能であることを確認した上でデータ転送モードを高速モードに切り替える。
【0028】
また、バステストのテスト用データはデータバッファ12に保存することとし、NAND型フラッシュメモリ15への書き込みを行わないことで、バステストによるNAND型フラッシュメモリ15の劣化を抑制できる。これにより、ホスト機器および記憶装置の間で安定してデータを伝送可能であることを確認した上でデータ転送モードを切り替え可能であって、バステストによる記憶装置の劣化を低減可能であるという効果を奏する。
【0029】
なお、SDメモリカード10は、最大動作周波数が50MHz及び25MHzの二段階に切り替え可能であるものに限られず、互いに異なる最大動作周波数の複数のデータ転送モードに切り替え可能であれば良く、適宜変形可能である。本発明は、SDメモリカード10に限られず、例えば他のメモリカードや他の記憶媒体に適用しても良い。
【図面の簡単な説明】
【0030】
【図1】本発明の実施の形態に係る記憶装置であるSDメモリカードの構成を示すブロック図。
【図2】ホスト機器の電源投入から、SDメモリカードのデータの読み出し、書き込みまでの手順の概要を説明するフローチャート。
【図3】SDメモリカードの初期化を行う際にバステストを実施し、データ転送モードを選択する手順を説明するフローチャート。
【図4】バステストにおけるホスト機器の動作の手順を説明する図。
【図5】バステストにおけるSDメモリカードの動作の手順を説明する図。
【符号の説明】
【0031】
10 SDメモリカード、12 データバッファ、15 NAND型フラッシュメモリ、20 ホスト機器。

【特許請求の範囲】
【請求項1】
ホスト機器に装着して使用される記憶装置であって、
データを記憶する不揮発性メモリと、
前記ホスト機器から入力されたデータ、及び前記ホスト機器へ出力するため前記不揮発性メモリから取り出されたデータを一時的に保存するデータバッファと、を有し、
前記ホスト機器と前記記憶装置との間におけるデータ転送モードを選択するためのテスト開始要求が前記ホスト機器により発行され、前記不揮発性メモリへのアクセスに使用されるパケットと同じデータサイズのパケットであるテスト用データが前記ホスト機器から入力された場合に、前記テスト用データを前記データバッファに保存するとともに、前記データバッファに保存された前記テスト用データを前記ホスト機器による読み出し要求に応じて出力することを特徴とする記憶装置。
【請求項2】
前記テスト用データには検査符号が付加され、前記ホスト機器から入力された前記テスト用データについてエラーの有無を検査した結果を前記ホスト機器へ出力することを特徴とする請求項1に記載の記憶装置。
【請求項3】
ホスト機器と、前記ホスト機器に装着して使用される記憶装置との間におけるデータ転送モードを選択するためのバステスト方法であって、
前記記憶装置の不揮発性メモリへのアクセスに使用されるパケットと同じデータサイズのパケットであるテスト用データを前記ホスト機器から前記記憶装置へ送出する送出工程と、
前記ホスト機器から送出された前記テスト用データを、前記記憶装置のデータバッファに一時的に保存する工程と、
前記データバッファに保存されている前記テスト用データを前記記憶装置から前記ホスト機器へ返送する返送工程と、
前記送出工程において前記ホスト機器から送出した前記テスト用データと、前記返送工程において前記記憶装置から返送された前記テスト用データとを比較する工程と、を含むことを特徴とするバステスト方法。
【請求項4】
前記テスト用データには検査符号が付加され、
前記ホスト機器から前記記憶装置へ送出された前記テスト用データについて、前記検査符号によりエラーの有無を検査する工程と、
前記記憶装置から前記ホスト機器へ返送された前記テスト用データについて、前記検査符号によりエラーの有無を検査する工程と、をさらに含むことを特徴とする請求項3に記載のバステスト方法。
【請求項5】
ホスト機器と、前記ホスト機器に装着して使用される記憶装置との間におけるデータ転送モードを切り替えるデータ転送モード切替方法であって、
前記データ転送モードの切り替え要求に対して、前記記憶装置の不揮発性メモリへのアクセスに使用されるパケットと同じデータサイズのパケットであるテスト用データを前記ホスト機器から前記記憶装置へ送出する送出工程と、
前記ホスト機器から送出された前記テスト用データを、前記記憶装置のデータバッファに一時的に保存する工程と、
前記データバッファに保存された前記テスト用データを前記記憶装置から前記ホスト機器へ返送する返送工程と、を含み、
前記送出工程において前記ホスト機器から送出した前記テスト用データと、前記返送工程において前記記憶装置から返送された前記テスト用データとが一致する場合に、前記データ転送モードを切り替えることを特徴とするデータ転送モード切替方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−79372(P2010−79372A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2008−243987(P2008−243987)
【出願日】平成20年9月24日(2008.9.24)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】