(57)【要約】【課題】メモリカード装置を用いたシステム全体の消費電力を低減する。【解決手段】メモリカード装置であって、データを格納するフラッシュメモリと、前記フラッシュメモリに格納されるべきデータを外部から受け取り、一時的に保持して出力するバッファメモリと、前記バッファメモリから出力されたデータ、又は、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータのいずれか一方を選択し、前記フラッシュメモリに出力する第１のセレクタとを備える。前記第１のセレクタは、前記フラッシュメモリに格納されるべきデータの速度が、前記フラッシュメモリへの書き込み可能速度未満である場合には、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータを選択する。【選択図】図１
2008040945.tif 000002
【特許請求の範囲】
【請求項１】
データを格納するフラッシュメモリと、
前記フラッシュメモリに格納されるべきデータを外部から受け取り、一時的に保持して出力するバッファメモリと、
前記バッファメモリから出力されたデータ、又は、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータのいずれか一方を選択し、前記フラッシュメモリに出力する第１のセレクタとを備え、
前記第１のセレクタは、
前記フラッシュメモリに格納されるべきデータの速度が、前記フラッシュメモリへの書き込み可能速度未満である場合には、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータを選択するものである
ことを特徴とするメモリカード装置。
【請求項２】
請求項１記載のメモリカード装置において、
前記フラッシュメモリに格納されるべきデータの誤り訂正符号を求めて出力する訂正符号計算回路と、
前記誤り訂正符号、又は、前記第１のセレクタから出力されたデータのいずれか一方を選択し、前記フラッシュメモリに出力する第２のセレクタとを更に備える
ことを特徴とするメモリカード装置。
【請求項３】
請求項１記載のメモリカード装置において、
前記第１のセレクタは、
前記フラッシュメモリに格納されるべきデータの速度が、前記フラッシュメモリへの書き込み可能速度未満であっても、前記フラッシュメモリがビジー状態である場合には、前記バッファメモリから出力されたデータを選択するものである
ことを特徴とするメモリカード装置。
【請求項４】
請求項３記載のメモリカード装置において、
前記フラッシュメモリに格納されるべきデータの速度が、前記フラッシュメモリへの書き込み可能速度未満であり、かつ、前記フラッシュメモリがビジー状態からビジーではない状態になった場合には、
前記バッファメモリは、
前記フラッシュメモリに格納されるべきデータの新たな格納を停止して、保持していたデータを出力し、
前記第１のセレクタは、
前記バッファメモリに保持されていたデータの出力が終了すると、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータを選択する
ことを特徴とするメモリカード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部のホスト機器等から受け取ったデータを格納する、フラッシュメモリを備えたメモリカード装置に関する。
【背景技術】
【０００２】
昨今、コンピュータ等の電子機器で用いられるデータを記憶する外部記憶装置として、書換え可能な不揮発性メモリを用いた、主としてカード形態の記憶装置（以下では、メモリカード装置と称する）の使用が広がっている（例えば、特許文献１を参照）。
【０００３】
このメモリカード装置の記憶手段である不揮発性メモリの代表的なものに、フラッシュメモリがある。フラッシュメモリに保持されるデータはブロック単位で管理され、データの消去もブロック単位で行われる。また、各ブロックは、複数のページによって構成される。このページは、フラッシュメモリへのデータの読出し及び書き込みの最小単位である。ここで、フラッシュメモリの消去とは全ビットを１とする処理を示し、書き込みとは指定のビットを０とする処理を示している。
【０００４】
また、各ページは、データとは別に冗長部をそれぞれ有しており、この冗長部に、当該ページに割り当てられている論理アドレスに関した情報や、データの誤り訂正符号（以下では、ＥＣＣ：error correction codeと称する）が保持される。各ページにはフラッシュメモリ内で一意な物理アドレスが割り当てられており、フラッシュメモリの制御を行うコントローラは、フラッシュメモリにコマンドを送る際に、物理アドレスを指定することで、処理を制御することができる。また、一般に書き込み、もしくは消去中のフラッシュメモリに対して、新たな書き込みコマンド及び書き込みデータを送信することはできない。
【０００５】
図６は、従来のメモリカード装置１１０の構成を示すブロック図である。メモリカード装置１１０は、フラッシュメモリ１２０と、コントローラ１３０とを備える。コントローラ１３０は、バッファメモリ１３１と、データ転送制御回路１３２と、ＥＣＣ計算回路１３３と、セレクタ１３４とを有し、フラッシュメモリ１２０の制御を行う。
【０００６】
バッファメモリ１３１は、ホスト機器１５０から受け取った、フラッシュメモリ１２０に格納されるべきデータを保持する。ＥＣＣ計算回路１３３は、フラッシュメモリ１２０に格納されるデータのＥＣＣを求めて出力する。セレクタ１３４は、バッファメモリ１３１から出力されたデータ、又は、ＥＣＣ計算回路１３３から出力されたＥＣＣのいずれか一方を選択して、フラッシュメモリ１２０に出力する。データ転送制御回路１３２は、バッファメモリ１３１及びセレクタ１３４を制御する。
【０００７】
メモリカード装置１１０においては、ホスト機器１５０から送信されたフラッシュメモリ１２０に書き込まれるべきデータは、必ずバッファメモリ１３１に保持される。その後、保持されたデータは、フラッシュメモリ１２０に書き込まれる。
【特許文献１】特開平７−１６０５６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
近年、携帯電話やデジタルカメラ等のフラッシュメモリを使用したカード形状の記憶装置を用いたホスト機器が、種類、数ともに著しく増加している。特に、携帯用途を中心としたホスト機器の市場においては、使用可能時間の長時間化に対して強い要望がある。
【０００９】
しかしながら、従来のメモリカード装置では、ホスト機器から受け取ったデータは、常にコントローラ内部のバッファメモリを介してフラッシュメモリに転送される。このため、ホスト機器からメモリカード装置へのデータ送信速度に関わらず、データの転送には、メモリカード装置内で発生させた周波数が一定のクロックが使用される。このため、メモリカード装置を用いるホスト機器からは、メモリカード装置の消費電力を制御することが困難であるという問題があった。
【００１０】
本発明は、フラッシュメモリにデータを書き込むメモリカード装置において、メモリカード装置を用いたシステム全体の消費電力を低減することを目的とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するため、請求項１の発明が講じた手段は、メモリカード装置であって、データを格納するフラッシュメモリと、前記フラッシュメモリに格納されるべきデータを外部から受け取り、一時的に保持して出力するバッファメモリと、前記バッファメモリから出力されたデータ、又は、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータのいずれか一方を選択し、前記フラッシュメモリに出力する第１のセレクタとを備え、前記第１のセレクタは、前記フラッシュメモリに格納されるべきデータの速度が、前記フラッシュメモリへの書き込み可能速度未満である場合には、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータを選択するものである。
【００１２】
請求項１の発明によると、フラッシュメモリに格納されるべきデータを送信するホスト機器からメモリカード装置へのデータ送信速度が、フラッシュメモリへの書き込み可能速度よりも低速である場合に、ホスト機器から受け取ったデータを、バッファメモリを介さずにフラッシュメモリに転送する。ホスト機器から供給される低速なクロックに従って動作させることができるので、メモリカード装置の消費電力を低減することができる。
【００１３】
請求項２の発明は、請求項１記載のメモリカード装置において、前記フラッシュメモリに格納されるべきデータの誤り訂正符号を求めて出力する訂正符号計算回路と、前記誤り訂正符号、又は、前記第１のセレクタから出力されたデータのいずれか一方を選択し、前記フラッシュメモリに出力する第２のセレクタとを更に備えるものである。
【００１４】
請求項３の発明は、請求項１記載のメモリカード装置において、前記第１のセレクタは、前記フラッシュメモリに格納されるべきデータの速度が、前記フラッシュメモリへの書き込み可能速度未満であっても、前記フラッシュメモリがビジー状態である場合には、前記バッファメモリから出力されたデータを選択するものである。
【００１５】
請求項３の発明によると、フラッシュメモリの状態がビジーであっても、ホスト機器からのデータ送信を停止する必要がなくなるため、書き込み処理時におけるメモリカード装置全体としての処理速度を向上することができる。
【００１６】
請求項４の発明は、請求項３記載のメモリカード装置において、前記フラッシュメモリに格納されるべきデータの速度が、前記フラッシュメモリへの書き込み可能速度未満であり、かつ、前記フラッシュメモリがビジー状態からビジーではない状態になった場合には、前記バッファメモリは、前記フラッシュメモリに格納されるべきデータの新たな格納を停止して、保持していたデータを出力し、前記第１のセレクタは、前記バッファメモリに保持されていたデータの出力が終了すると、前記バッファメモリを経由せずに入力された前記フラッシュメモリに格納されるべきデータを選択するものである。
【００１７】
請求項４の発明によると、フラッシュメモリの状態がビジーであったために、ホスト機器から受け取ったデータの一部をバッファメモリに保持した場合であっても、状態がビジーでなくなった後に、バッファメモリを介さずに、残りのデータをフラッシュメモリに転送する。このため、メモリカード装置の書き込み処理全体としての速度を低下させることなく、メモリカード装置の消費電力を低減することができる。
【発明の効果】
【００１８】
本発明によれば、ホスト機器から受け取ったデータを、バッファメモリを介さずにフラッシュメモリに転送することができるので、メモリカード装置の消費電力を低減することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２０】
図１は、本発明の実施形態に係るメモリカード装置１０の構成を示すブロック図である。図１のメモリカード装置１０は、フラッシュメモリ２０と、コントローラ３０とを備えている。コントローラ３０は、バッファメモリ３１と、データ転送制御回路３２と、訂正符号計算回路としてのＥＣＣ計算回路３３と、セレクタ３４，３５とを有し、フラッシュメモリ２０の制御を行う。
【００２１】
バッファメモリ３１は、フラッシュメモリ２０に格納されるべきデータをホスト機器５０から受け取り、保持する。データ転送制御回路３２は、バッファメモリ３１及びセレクタ３４，３５を制御する。ＥＣＣ計算回路３３は、セレクタ３５から出力されフラッシュメモリ２０に格納されるデータのＥＣＣを求めて、出力する。セレクタ３５は、データ転送制御回路３２の制御に従って、バッファメモリ３１から出力されたデータ、又は、バッファメモリ３１を経由せずにホスト機器５０から直接受け取ったデータのいずれか一方を選択して、ＥＣＣ計算回路３３及びセレクタ３４に出力する。セレクタ３４は、データ転送制御回路３２の制御に従って、セレクタ３５から出力されたデータ、又は、ＥＣＣ計算回路３３から出力されたＥＣＣのいずれか一方を選択して、フラッシュメモリ２０に出力する。
【００２２】
図２は、図１のメモリカード装置１０において、ホスト機器５０からフラッシュメモリ２０にデータを書き込む処理を示すフローチャートである。ホスト機器５０からの書き込みコマンドの発生によって、図２の処理が開始される。
【００２３】
ステップＳ４−２では、ホスト機器５０からメモリカード装置１０へのデータ送信速度とフラッシュメモリ２０への書き込み可能速度とを比較する。ホスト機器５０からメモリカード装置１０へのデータ送信速度が、フラッシュメモリ２０への書き込み可能速度未満である場合には、処理はステップＳ４−３に進む。
【００２４】
ステップＳ４−３では、セレクタ３４は、フラッシュメモリ２０に出力するデータとして、セレクタ３５から出力されたデータを選択する。ステップＳ４−４では、セレクタ３５は、ＥＣＣ計算回路３３及びセレクタ３４に出力するデータとして、バッファメモリ３１を経由せずにホスト機器５０から直接受け取ったデータを選択する。ステップＳ４−５では、バッファメモリ３１は、ホスト機器５０から受け取ったデータの格納を停止する。ステップＳ４−６では、セレクタ３４，３５は、選択したデータをそれぞれ出力する。ホスト機器５０からのデータは直接、フラッシュメモリ２０に出力される。
【００２５】
ステップＳ４−７では、セレクタ３４は、フラッシュメモリ２０に出力するデータとして、ＥＣＣ計算回路３３から受け取るＥＣＣを選択する。ステップＳ４−８では、フラッシュメモリ２０にＥＣＣコードを出力する。ステップＳ４−９では、フラッシュメモリ２０は、受け取ったデータの書き込みを行う。
【００２６】
ステップＳ４−１０では、フラッシュメモリ２０の書き込みの完了を待つ。書き込みが完了すれば、処理はステップＳ４−１１に進む。ステップＳ４−１１では、ホスト機器５０からの書き込みコマンドによる処理が完了したか否かを判定する。完了していない場合には、ステップＳ４−３に戻り、データの書き込み処理を継続する。完了している場合には、メモリカード装置１０のデータの書き込み処理が終了する。
【００２７】
図３は、図２のステップＳ４−２で、ホスト機器５０からメモリカード装置１０へのデータ送信速度が、フラッシュメモリ２０への書き込み可能速度未満ではない場合の処理を示すフローチャートである。
【００２８】
図３のステップＳ４−１４では、セレクタ３５は、ＥＣＣ計算回路３３及びセレクタ３４に出力するデータとして、バッファメモリ３１から出力されたデータを選択する。ステップＳ４−１５では、バッファメモリ３１は、ホスト機器５０から受け取ったデータの格納を開始する。ステップＳ４−１６では、セレクタ３４は、フラッシュメモリ２０に出力するデータとして、セレクタ３５から出力されたデータを選択する。ステップＳ４−１７では、セレクタ３４，３５は、選択したデータをそれぞれ出力する。バッファメモリ３１は、保持しているデータを、コントローラ３０の動作クロックを用いて、セレクタ３４，３５を介してフラッシュメモリ２０に出力する。フラッシュメモリ２０の書き込みサイズ分のデータが出力されると、処理はステップＳ４−１８に進む。
【００２９】
ステップＳ４−１８では、セレクタ３４は、フラッシュメモリ２０に出力するデータとして、ＥＣＣ計算回路３３から受け取るＥＣＣを選択する。ステップＳ４−１９では、フラッシュメモリ２０にＥＣＣコードを出力する。ステップＳ４−２０では、フラッシュメモリ２０は、受け取ったデータの書き込みを行う。
【００３０】
ステップＳ４−２１では、フラッシュメモリ２０の書き込みの完了を待つ。書き込みが完了すれば、処理はステップＳ４−２２に進む。ステップＳ４−２２では、ホスト機器５０からの書き込みコマンドによる処理が完了したか否かを判定する。完了していない場合には、ステップＳ４−１６に戻り、データの書き込み処理を継続する。完了している場合には、処理を終了する。
【００３１】
以上のように、本実施形態では、ホスト機器からメモリカード装置へのデータ送信速度がフラッシュメモリへの書き込み可能速度よりも低速な場合には、ホスト機器からの送信データを、バッファメモリを介さずに直接フラッシュメモリに送信する。このため、ホスト機器がメモリカード装置へのデータ送信速度を低減させることによって、メモリカード装置の消費電力を低減させることが可能となる。
【００３２】
（第１の変形例）
図４は、図１のメモリカード装置１０において、ホスト機器５０からフラッシュメモリ２０にデータを書き込む処理における第１の変形例を示すフローチャートである。ホスト機器５０からの書き込みコマンドの発生によって、図４の処理が開始される。
【００３３】
ステップＳ５−２では、ホスト機器５０からメモリカード装置１０へのデータ送信速度とフラッシュメモリ２０への書き込み可能速度とを比較する。ホスト機器５０からメモリカード装置１０へのデータ送信速度が、フラッシュメモリ２０への書き込み可能速度未満である場合には、処理はステップＳ５−３に進む。そうでない場合は、処理は図３のステップＳ４−１４に進む。
【００３４】
ステップＳ５−３では、セレクタ３４は、フラッシュメモリ２０に出力するデータとして、セレクタ３５から出力されたデータを選択する。ステップＳ５−４では、フラッシュメモリ２０の状態が、他のデータの書き込み中のためにビジーであるか否かを判定する。ビジーである場合には、処理はステップＳ５−２３に進む。ビジーではなく、データをフラッシュメモリ２０に出力可能な場合は、処理はステップＳ５−５に進む。
【００３５】
ステップＳ５−５，Ｓ５−６，Ｓ５−７，Ｓ５−８，Ｓ５−９及びＳ５−１０では、図２のステップＳ４−４，Ｓ４−５，Ｓ４−６，Ｓ４−７，Ｓ４−８及びＳ４−９と、それぞれ同様の処理が行われる。
【００３６】
ステップＳ５−１１では、フラッシュメモリ２０の書き込みの完了を待たずに、ホスト機器５０からの書き込みコマンドによる処理が完了したか否かを、先に判定する。完了していない場合には、ステップＳ５−３に戻り、データの書き込み処理を継続する。完了している場合には、処理はステップＳ５−１２に進む。ステップＳ５−１２では、フラッシュメモリ２０の書き込みの完了を待つ。書き込みが完了すれば、メモリカード装置１０のデータの書き込み処理が終了する。
【００３７】
ステップＳ５−２３では、セレクタ３５は、ＥＣＣ計算回路３３及びセレクタ３４に出力するデータとして、バッファメモリ３１から出力されたデータを選択する。ステップＳ５−２４では、バッファメモリ３１は、ホスト機器５０から受け取ったデータの格納を開始する。ステップＳ５−２５では、フラッシュメモリ２０で先に処理されているデータの書き込みの完了を待つ。書き込みが完了すれば、処理はステップＳ５−２６に進む。ステップＳ５−２６では、バッファメモリ３１は、保持しているデータを、コントローラ３０の動作クロックを用いて、セレクタ３４，３５を介してフラッシュメモリ２０に出力する。フラッシュメモリ２０の書き込みサイズ分のデータが出力されると、処理はステップＳ５−８に進む。
【００３８】
以上のように、本変形例では、フラッシュメモリにおいてデータを書き込み中であっても、ホスト機器から新たに送信されたデータを受け付けることができる。このため、メモリカード装置における書き込み処理の速度を向上させることが可能である。
【００３９】
（第２の変形例）
図５は、図１のメモリカード装置１０において、ホスト機器５０からフラッシュメモリ２０にデータを書き込む処理における第２の変形例を示すフローチャートである。ホスト機器５０からの書き込みコマンドの発生によって、図５の処理が開始される。
【００４０】
ステップＳ６−２，Ｓ６−３，Ｓ６−４，Ｓ６−５，Ｓ６−６，Ｓ６−７，Ｓ６−８，Ｓ６−９，Ｓ６−１０，Ｓ６−１１，Ｓ６−１２，Ｓ６−２３，Ｓ６−２４及びＳ６−２５では、図４のステップＳ５−２，Ｓ５−３，Ｓ５−４，Ｓ５−５，Ｓ５−６，Ｓ５−７，Ｓ５−８，Ｓ５−９，Ｓ５−１０，Ｓ５−１１，Ｓ５−１２，Ｓ５−２３，Ｓ５−２４及びＳ５−２５と、それぞれ同様の処理が行われる。
【００４１】
ステップＳ６−２６では、バッファメモリ３１は、ステップＳ６−２４で開始されたホスト機器５０から受け取ったデータの新たな格納を停止する。ステップＳ６−２７では、バッファメモリ３１は、保持しているデータを、コントローラ３０の動作クロックを用いて、セレクタ３４，３５を介してフラッシュメモリ２０に出力する。バッファメモリ３１に保持されていたデータの出力が終了すると、処理はステップＳ６−５に進み、残りのデータは、ホスト機器５０から直接、フラッシュメモリ２０に出力される。
【００４２】
以上のように、本変形例では、第１の変形例と同様に、フラッシュメモリにおいて他のデータを書き込み中に、ホスト機器からの新たなデータの送信を受け付ける。そして、フラッシュメモリに新たなデータを書き込めるようになると、残りのデータを、バッファメモリを介さずにホスト機器から直接フラッシュメモリへ送信する。このため、メモリカード装置における書き込み処理の時間を短縮し、かつ、メモリカード装置の消費電力を低減させることが可能である。
【産業上の利用可能性】
【００４３】
以上説明したように、本発明は、メモリカード装置の消費電力を低減するので、電池で駆動される携帯型の端末等、メモリカード装置を用いる機器やシステム等について有用である。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態に係るメモリカード装置１０の構成を示すブロック図である。
【図２】図１のメモリカード装置１０において、ホスト機器５０からフラッシュメモリ２０にデータを書き込む処理を示すフローチャートである。
【図３】図２のステップＳ４−２で、ホスト機器５０からメモリカード装置１０へのデータ送信速度が、フラッシュメモリ２０への書き込み可能速度未満ではない場合の処理を示すフローチャートである。
【図４】図１のメモリカード装置１０において、ホスト機器５０からフラッシュメモリ２０にデータを書き込む処理における第１の変形例を示すフローチャートである。
【図５】図１のメモリカード装置１０において、ホスト機器５０からフラッシュメモリ２０にデータを書き込む処理における第２の変形例を示すフローチャートである。
【図６】従来のメモリカード装置１１０の構成を示すブロック図である。
【符号の説明】
【００４５】
１０  メモリカード装置
２０  フラッシュメモリ
３１  バッファメモリ
３３  ＥＣＣ計算回路（訂正符号計算回路）
３４，３５  セレクタ
【図１】
2008040945.tif 000003
【図２】
2008040945.tif 000004
【図３】
2008040945.tif 000005
【図４】
2008040945.tif 000006
【図５】
2008040945.tif 000007
【図６】
2008040945.tif 000008