(57)【要約】【課題】半導体メモリカードに応じて、適切なアクセス性能を引き出すことが困難であるという課題がある。【解決手段】メモリカード制御装置１００は、データを記録する際に、データに関するエラー訂正情報を生成し、データをエラー訂正情報とともに記録するエラー訂正情報生成手段１０８と、取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を取得し、訂正するエラー訂正手段１０４と、メモリカード１１０中のフラッシュメモリ１１２等に関する情報とメモリカード１１０内で実施可能なエラー訂正に関する情報とを基に、エラー訂正情報生成手段１０８及びエラー訂正手段１０４を動作させるかを決定するステータス情報リード手段１０６と、を備える。【選択図】図１
2011192137.tif 000002
【特許請求の範囲】
【請求項１】
半導体メモリカードと、前記半導体メモリカードへのアクセスを制御するメモリカード制御装置とからなるメモリカード制御システムであって、
前記半導体メモリカードは、
少なくとも一つの不揮発メモリと、
前記不揮発メモリに関する情報と、当該半導体メモリカード内で実施可能なエラー訂正に関する情報とを保持するステータス情報保持部と、
前記メモリカード制御装置からのアクセス要求に対して、前記不揮発メモリ又は前記ステータス情報保持部へのアクセスを制御する制御部と、
を備え、
前記メモリカード制御装置は、
前記半導体メモリカードへのアクセスを制御するインターフェイス部と、
前記インターフェイス部を介してデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成部と、
前記インターフェイス部を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス部を介して取得し、前記データを訂正するエラー訂正部と、
前記インターフェイス部を介して取得した前記不揮発性メモリに関する情報と前記エラー訂正に関する情報とを基に、前記エラー訂正情報生成部及び前記エラー訂正部を動作させるかを決定するエラー訂正決定部と、
を備えるメモリカード制御システム。
【請求項２】
前記ステータス情報保持部は、
前記不揮発メモリに関する情報として、前記不揮発メモリが２値又は多値のいずれに対応したものであるかの情報を保持し、
前記半導体メモリカード内で実施可能なエラー訂正に関する情報として、前記半導体メモリカードでエラー訂正を行うかの情報を保持し、
前記エラー訂正決定部は、
前記不揮発メモリが２値に対応したものである場合、または前記不揮発メモリが多値に対応したもので、エラー訂正を行っている場合に、前記エラー訂正情報生成部及び前記エラー訂正部の動作を停止させる
請求項１に記載のメモリカード制御システム。
【請求項３】
前記メモリカード制御装置は、
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードに記録可能な容量が減少する旨の通知を行う通知部を、
さらに備える請求項１又は２に記載のメモリカード制御システム。
【請求項４】
前記メモリカード制御装置は、
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードは第１の領域と第２の領域に分割され、前記第１の領域に前記データを記録し、前記第２の領域に前記エラー訂正情報を記録する
請求項１から３に記載のメモリカード制御システム。
【請求項５】
半導体メモリカードへのアクセスを制御するインターフェイス部と、
前記インターフェイス部を介してデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成部と、
前記インターフェイス部を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス部を介して取得し、前記データを訂正するエラー訂正部と、
前記インターフェイス部を介して取得した前記半導体メモリカード中の不揮発性メモリに関する情報と前記半導体メモリカード内で実施可能なエラー訂正に関する情報とを基に、前記エラー訂正情報生成部及び前記エラー訂正部を動作させるかを決定するエラー訂正決定部と、
を備えるメモリカード制御装置。
【請求項６】
前記エラー訂正決定部は、
前記不揮発メモリに関する情報として、前記不揮発メモリが２値又は多値のいずれに対応したものであるかの情報を、前記半導体メモリカード内で実施可能なエラー訂正に関する情報として、前記半導体メモリカードでエラー訂正を行っているかの情報を取得し、前記不揮発メモリが２値に対応したものである場合、または前記不揮発メモリが多値に対応したもので、エラー訂正を行っている場合に、前記エラー訂正情報生成部及び前記エラー訂正部の動作を停止させる
請求項５に記載のメモリカード制御装置。
【請求項７】
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードに記録可能な容量が減少する旨の通知を行う通知部を、
さらに備える請求項５又は６に記載のメモリカード制御装置。
【請求項８】
前記メモリカード制御装置は、
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードは第１の領域と第２の領域に分割され、前記第１の領域に前記データを記録し、前記第２の領域に前記エラー訂正情報を記録する
請求項５から７に記載のメモリカード制御装置。
【請求項９】
半導体メモリカードへのアクセスを制御するメモリカード制御方法であって、
前記半導体メモリカードへのアクセスを制御するインターフェイス工程と、
前記インターフェイス工程を用いてデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成工程と、
前記インターフェイス工程を用いて取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス工程を介して取得し、前記データを訂正するエラー訂正工程と、
前記インターフェイス工程を用いて取得した前記半導体メモリカード中の不揮発性メモリに関する情報と前記半導体メモリカード内で実施可能なエラー訂正に関する情報とを基に、前記エラー訂正情報生成工程及び前記エラー訂正工程を動作させるかを決定するエラー訂正決定工程と、
を含むメモリカード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体であるメモリカードへのアクセスを制御するメモリカード制御システムに関するものであり、特に、メモリカードの種類、メモリカード内でのエラー訂正の有無に応じて、メモリカードへのアクセス時にエラー訂正を行うかを決定するメモリカード制御システムに関するものである。
【背景技術】
【０００２】
現在、ＳＤカード等のフラッシュメモリが内蔵されたカード型の記録媒体であるメモリカードは、超小型、超薄型であり、その取り扱い易さから、ディジタルスチルカメラ等のディジタル機器に広く利用されている。
【０００３】
メモリカードに内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去できるメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは１セルで２ビット以上のデータが蓄積できる多値フラッシュメモリが商品化されている。
【０００４】
多値のフラッシュメモリでは、閾値電圧Ｖｔｈに複数の状態を設けてフラッシュメモリの電子の蓄積量を制御する多値記録を行い、大容量化を実現している。
【０００５】
しかしながら、フラッシュメモリは、多値化に伴い、書き込みや読み出し時にエラーが発生する割合が大きくなり、エラー訂正への対応が求められている。
【０００６】
フラッシュメモリのエラー訂正に関する技術として、特許文献１に開示の技術がある。特許文献１では、転送データをホスト機器から受信するインタフェース部と、転送データに基づいて第１のコードデータを生成するコードデータ生成部と、転送データと第１のコードデータとを格納する不揮発性半導体メモリと、不揮発性半導体メモリとの間で、転送データと第１のコードデータとの送受信を行うメモリ制御部と、不揮発性半導体メモリから読み出された転送データと当該転送データに対応する第１のコードデータとに基づいて、転送データに含まれるエラービットを訂正することが可能なエラー訂正部とを具備し、インタフェース部は、エラービットを含む転送データをホスト機器に送信するメモリカードが開示されている。
【０００７】
このようなエラー訂正回路が搭載されたメモリカードにおいて、メモリカードは、エラービットを含む転送データを送信することにより、ホスト機器は、エラービットを含む転送データを用いて、より高度なエラー訂正処理を実現できる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１５５４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来の技術では、フラッシュメモリの種類やエラー訂正機能の有無が区別できないため、書き込みや読み出し時にエラーの発生する割合が低く、エラー訂正を行う必要の無い２値のフラッシュメモリや、エラー訂正機能を有するメモリカードに対してもエラー訂正を行うことになり、エラービットを含む転送データが転送されるため、転送レートが低下し、メモリカードの性能を十分に引き出すことができないという課題がある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、メモリカード制御システムは、半導体メモリカードと、前記半導体メモリカードへのアクセスを制御するメモリカード制御装置とからなるメモリカード制御システムであって、前記半導体メモリカードは、少なくとも一つの不揮発メモリと、前記不揮発メモリに関する情報と、当該半導体メモリカード内で実施可能なエラー訂正に関する情報とを保持するステータス情報保持部と、前記メモリカード制御装置からのアクセス要求に対して、前記不揮発性メモリ又は前記ステータス情報保持部へのアクセスを制御する制御部と、を備え、前記メモリカード制御装置は、前記半導体メモリカードへのアクセスを制御するインターフェイス部と、前記インターフェイス部を介してデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成部と、前記インターフェイス部を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス部を介して取得し、前記データを訂正するエラー訂正部と、前記インターフェイス部を介して取得した前記不揮発性メモリに関する情報と前記エラー訂正に関する情報とを基に、前記エラー訂正情報生成部及び前記エラー訂正部を動作させるかを決定するエラー訂正決定部と、を備える。
【発明の効果】
【００１１】
上記の構成によって、メモリカード制御システムは、メモリカード内の不揮発メモリの種類や、メモリカード内でのエラー訂正の有無に応じて、メモリカードへのアクセスを制御することにより、メモリカードに応じたアクセス性能を引き出すことができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態におけるメモリカード制御システムの構成を示すブロック図
【図２】実施の形態におけるメモリカードとの接続を示すブロック図
【図３】実施の形態におけるメモリカードへのアクセスの詳細を示す図
【図４】実施の形態における２値のメモリカードの構成を示すブロック図
【図５】実施の形態におけるエラー訂正機能を有する多値のメモリカードの構成を示すブロック図
【図６】実施の形態におけるエラー訂正機能を有さない多値のメモリカードの構成を示すブロック図
【図７】実施の形態におけるメモリカードのステータス情報の読み出しを示すフローチャート
【図８】実施の形態におけるメモリカードへのデータライトを示すフローチャート
【図９】実施の形態におけるメモリカードからのデータリードを示すフローチャート
【発明を実施するための形態】
【００１３】
以下、実施の形態を図面に基づいて説明する。
【００１４】
図１は本実施の形態におけるメモリカード制御システム１の構成を示すブロック図である。メモリカード制御システム１は、メモリカード制御装置１００とメモリカード１１０とを含む。
【００１５】
図１において、メモリカード制御装置１００は、外部インターフェイス手段１０１と、コマンド解析手段１０２と、メモリカード制御手段１０３とを含む。
【００１６】
外部インターフェイス手段１０１は、ホスト機器とのコマンドの送受信やデータ転送を行う。
【００１７】
コマンド解析手段１０２は、ホスト機器より外部インターフェイス手段１０１を介して発行されたコマンドの解析を行う。例えば解析の結果がメモリカードからのデータリードであった場合はメモリカード制御手段１０３にリード動作を命令する。
【００１８】
メモリカード制御手段１０３は、エラー訂正手段１０４と、データリード手段１０５と、メモリカードステータス情報リード手段１０６と、データライト手段１０７と、エラー訂正情報生成手段１０８と、メモリカードインターフェイス手段１０９とから構成される。
【００１９】
エラー訂正手段１０４は、リードエラー発生時にメモリカード１１０に記録されているエラー訂正情報を、データリード手段１０５を介して読み出し、リードエラーの発生したユーザデータの訂正を行う。なお、エラー訂正手段１０４は接続されるメモリカード１１０の内部構成によって機能をＯＮ／ＯＦＦする事が可能である。
【００２０】
データリード手段１０５はメモリカードインターフェイス手段１０９を介してメモリカード１１０から読み出したユーザデータを、外部インターフェイス手段１０１を介してホスト機器へ転送する。また、データリード手段１０５は、リードエラー発生時はエラー訂正手段１０４からの命令によりメモリカードインターフェイス手段１０９を介してメモリカード１１０からエラー訂正情報を読み出す。
【００２１】
ステータス情報リード手段１０６は、メモリカードインターフェイス手段１０９を介してメモリカード１１０のメモリカードステータス情報１１６の読み出しとメモリカードステータス情報１１６の解析を行い、メモリカード制御手段１０３のエラー訂正機能のＯＮ／ＯＦＦを判断する。
【００２２】
データライト手段１０７はホスト機器から外部インターフェイス手段１０１を介して転送されたライトデータを、メモリカードインターフェイス手段１０９を介してメモリカード１１０へ書き込む。また、エラー訂正情報生成手段１０８によって生成されたエラー訂正情報をライトデータ同様、メモリカードインターフェイス手段１０９を介してメモリカード１１０へ書き込む。
【００２３】
エラー訂正情報生成手段１０８はホスト機器から転送されるライトデータからエラー訂正情報を生成する。ライトデータＮバイトに対してＭバイトのエラー訂正情報が生成され、メモリカード１１０に書き込まれるデータ量はＮ＋Ｍバイトとなる。このため、ホスト機器から書き込み可能なデータ量はメモリカード１１０の容量よりも少なくなる。なお、エラー訂正情報生成手段１０８はエラー訂正手段１０４と同様、接続されるメモリカード１１０の内部構成によって機能をＯＮ／ＯＦＦする事が可能である。
【００２４】
メモリカードインターフェイス手段１０９はメモリカード１１０のインターフェイスプロトコルを用いてデータの読み書きを行う。
【００２５】
メモリカード１１０は、メモリコントローラ１１１と、少なくとも１つのフラッシュメモリと、メモリカードステータス情報１１６と、から構成される。なお、本実施の形態では４枚のフラッシュメモリ１１２から１１５を内蔵している。
【００２６】
メモリコントローラ１１１はメモリカードインターフェイス手段１０９が発行するコマンドの解析を行い、データの読み出しの場合はフラッシュメモリ１１２から１１５よりデータを読み出し、メモリカードインターフェイス手段１０９へ転送する。データの書き込みの場合は転送されたライトデータをフラッシュメモリ１１２から１１５へ書き込む。また、ステータス情報の読み出しの場合は、メモリカードステータス情報１１６よりステータス情報を読み出し、メモリカードインターフェイス手段１０９へ転送する。
【００２７】
フラッシュメモリ１１２から１１５はデータライト手段１０７によって書き込まれたデータを記録する。
【００２８】
メモリカードステータス情報１１６はメモリカード１１０の容量や内蔵されているフラッシュメモリ１１２から１１５のメモリタイプ（２値／多値）、エラー訂正手段の有無などを格納し、メモリカードインターフェイス手段１０９から発行される専用コマンドにて読み出される。
【００２９】
次にメモリカードインターフェイス手段１０９とメモリカード１１０との接続について図２を用いて説明する。
【００３０】
メモリカードインターフェイス手段１０９とメモリカード１１０は「コマンド」、「クロック」、「データ」、「レスポンス」の信号線によって接続され、図２における矢印は信号の向きを示している。なお、「コマンド」、「データ」、「レスポンス」は全てメモリカードインターフェイス手段１０９が出力する「クロック」に同期した転送であり、メモリカード１１０はメモリカードインターフェイス手段１０９から出力される「コマンド」に応じた動作を行う。また、メモリカード１１０は受信した「コマンド」がレスポンスを必要とするコマンドである場合は、受信可能なコマンドに対してのみレスポンスを返す。すなわち、メモリカードインターフェイス手段１０９はメモリカード１１０からのレスポンスの有無によって、発行したコマンドの対応の可否を知る事が可能である。
【００３１】
「データ」はある一定のサイズ単位（以下Ｎバイト）で転送が行われ、転送するデータの先頭にデータの開始を示すスタートフラグが付随し、受信側はスタートフラグを検出してデータの受信を開始する。また、Ｎバイト毎に転送の状態を示すステータスフラグが付随し、ステータスフラグを解析することにより転送が正常に完了した事を検知する事が可能である。
【００３２】
図３にインターフェイスプロトコルの詳細を示す。図３（ａ）はメモリカード１１０のメモリカードステータス情報１１６を読み出す場合を示す。まず、メモリカードインターフェイス手段１０９から「コマンド」信号線に「ステータスリードコマンド」がメモリカード１１０に対して発行される。メモリカード１１０が「ステータスリードコマンド」に対応している場合、メモリカードステータス情報１１６より読み出したステータス情報を「データ」信号線に出力する。転送されるデータは前述したスタートフラグを先頭に付随し、続いてメモリカードステータス情報１１６を含むＮバイトのデータが転送され、最後にステータスフラグが転送される。メモリカード制御手段１０３はステータスフラグにエラーがある場合には再度メモリカードステータス情報の読み込み、あるいはエラー処理等を行う。また、メモリカード１１０は「ステータスリードコマンド」に対応する場合、コマンド受信時のエラーの有無などを「レスポンス」信号線に出力し、対応しない場合は「データ」と「レスポンス」の各信号線に対して何も出力しない。
【００３３】
図３（ｂ）にはメモリカード１１０よりデータを読み出す場合に使用する「データリードコマンド」について示す。なお、ここでは４＊Ｎバイト分のデータを読み出す場合について示す。まず、メモリカードインターフェイス手段１０９から「コマンド」信号線に「データリードコマンド」と読み出し開始のアドレスがメモリカード１１０に対して発行される。メモリカード１１０は内蔵するフラッシュメモリ１１２から１１５よりデータを読み出し、Ｎバイト毎にスタートフラグとステータスフラグを付随し、リードの終了を意味する「ストップコマンド」を受信するまでフラッシュメモリ１１２から１１５からの読み出しとメモリカードインターフェイス手段１０９へのデータの転送を継続する。
【００３４】
図３（ｃ）にはメモリカード１１０にデータを書き込む場合に使用する「データライトコマンド」について示す。なお、ここでは４＊Ｎバイト分のデータを書き込む場合について示す。まず、メモリカードインターフェイス手段１０９から「コマンド」信号線に「データライトコマンド」と書き込み開始のアドレスがメモリカード１１０に対して発行される。メモリカードインターフェイス手段１０９はメモリカード１１０よりレスポンスを受信すると、Ｎバイト毎に書き込むデータの先頭にスタートフラグを付随して転送する。メモリカード１１０は受信したＮバイトをフラッシュメモリ１１２から１１５に書き込むためビジーを返す。書き込みが完了した後にメモリカード１１０はステータスフラグをメモリカードインターフェイス手段１０９へ返して書き込みエラーの有無を通知する。メモリカードインターフェイス手段１０９はステータスフラグを解析し、書き込みエラーが無い場合は先に転送したデータに続くＮバイトを同様に転送する。メモリカードインターフェイス手段１０９は書き込みエラーがある場合はデータの再送あるいはエラー処理を行う。メモリカードインターフェイス手段１０９は最後のデータを転送後にライトの終了を意味する「ストップコマンド」を送信し、最後のデータ転送に対するステータスフラグにエラーが無ければ動作完了となる。
【００３５】
次にメモリカード制御手段１０３に接続されるメモリカードの種類について図４から図６を用いて説明する。
【００３６】
図４において、メモリカード４００は、メモリコントローラ４０１と、４枚のフラッシュメモリ４０２から４０５と、メモリカードステータス情報４０６と、から構成される。メモリコントローラ４０１の機能は前述したメモリコントローラ１１１と基本機能は同一であるため、説明を省略する。内蔵されているフラッシュメモリ４０２から４０５は２値タイプであり、２値タイプは一般的に多値タイプよりも書き換え可能回数が多く、データ保持特性も良いため高品質とされている。メモリカードステータス情報４０６に格納される情報として、メモリカード４００の容量（フラッシュメモリ４０２から４０５の合計容量）、メモリタイプ（２値）及びエラー訂正手段（なし）が格納される。
【００３７】
図５において、メモリカード５００は、メモリコントローラ５０１と、４枚のフラッシュメモリ５０４から５０７と、メモリカードステータス情報５０８と、から構成される。更に、メモリコントローラ５０１はエラー訂正情報生成手段５０２とエラー訂正手段５０３から構成され、エラー訂正情報生成手段５０２はメモリカードコントローラ５０１が受信したコマンドがライトの場合にメモリカードインターフェイス手段１０９を介して転送されたライトデータからエラー訂正情報を生成する。生成されたエラー訂正情報は転送されたライトデータと同様、フラッシュメモリ５０４から５０７に書き込まれる。
【００３８】
エラー訂正手段５０３はメモリカードコントローラ５０１が受信したコマンドがリードの場合において、フラッシュメモリ５０４から５０７から読み出したリードデータで読み出しエラーした場合、フラッシュメモリ５０４から５０７に記録されているエラーの発生したリードデータに対応するエラー訂正情報を読み出し、エラー訂正処理を実行する。エラー訂正処理により復元されたデータは読み出しエラーが発生しなかった場合と同様、メモリカードインターフェイス手段１０９へ転送される。エラー訂正処理により復元できなかった場合はメモリカードインターフェイス手段１０９へ読み出しエラーを通知する。
【００３９】
内蔵されているフラッシュメモリ５０４から５０７は、書き換え可能回数およびデータ保持特性では２値タイプに劣るが、安価で大容量化が可能な多値タイプである。なお、前述したメモリコントローラ５０１のエラー訂正情報生成手段５０２とエラー訂正手段５０３は、２値タイプに比べて劣る品質の改善を目的としている。また、フラッシュメモリ５０４から５０７にはライトデータの他にエラー訂正情報が書き込まれるため、ホスト機器から転送可能なライトデータのサイズは内蔵するフラッシュメモリ５０４から５０７の合計容量よりも少なくなる。例えばメモリカード５００におけるフラッシュメモリ１枚の容量が１ＧＢである場合、合計容量は４ＧＢであるがライトデータ６４ＫＢ毎に１６ＫＢのエラー訂正情報を生成する場合、ホスト機器から転送可能なライトデータの最大サイズは３．２ＧＢとなる。よってメモリカードステータス情報５０８に格納される情報として、メモリカード５００の容量（Ｔ×（Ｗ／（Ｗ＋Ｅ）））（ここで、Ｔ：フラッシュメモリ５０４から５０７の合計容量、Ｗ：エラー訂正情報を生成するために必要なライトデータのサイズ、Ｅ：エラー訂正情報のデータサイズ）、メモリタイプ（多値タイプ）、及びエラー訂正手段（あり）が格納される。
【００４０】
図６において、メモリカード６００はメモリコントローラ６０１と、４枚のフラッシュメモリ６０２から６０５と、メモリカードステータス情報６０６と、から構成される。メモリコントローラ６０１の機能は前述したメモリコントローラ１１１と基本機能は同一であるため、説明を省略する。内蔵されているフラッシュメモリ６０２から６０５は、フラッシュメモリ５０４から５０７と同じ多値タイプであるため説明を省略する。フラッシュメモリ６０２から６０５はメモリカード５００に内蔵されるものと同じ多値タイプであるが、エラー訂正情報の書き込みが無いため合計容量を全てライトデータに割り当てることができる。よってメモリカードステータス情報６０６に格納される情報として、メモリカード６００の容量（フラッシュメモリ６０２から６０５の合計容量）、メモリタイプ（多値タイプ）及びエラー訂正手段（なし）が格納される。
【００４１】
前述した３種類のメモリカードを品質の高い順番に左から並べると、メモリカード４００、メモリカード５００、メモリカード６００の順となる。
【００４２】
また、同一容量におけるコストの安い順番に左から並べると、メモリカード６００、メモリカード５００、メモリカード４００の順となる。
【００４３】
すなわち、記録メディアに品質が要求される場合はメモリカード４００、大容量・低コストが要求される場合はメモリカード６００、容量と品質のバランスが要求される場合にはメモリカード５００、などユーザの要求に応じたメモリカードが選択される。
【００４４】
次にメモリカード制御システム１の動作について、図７から図９のフローチャートを用いて説明する。
【００４５】
メモリカードステータス情報１１６の読み出しの詳細動作について図７を用いて説明する。メモリカードステータス情報１１６の読み出し開始（Ｓ７００）は、メモリカード制御装置１００とメモリカード１１０の電源投入時や、メモリカード制御装置１００がメモリカード１１０に対して最初にリードまたはライトする直前や、メモリカード制御装置にメモリカード１１０が接続された時等に行う。
【００４６】
上記のいずれかに該当した場合、メモリカードインターフェイス手段１０９よりメモリカードステータス情報読み出しコマンドがメモリカード１１０に対して発行される（Ｓ７０１）。メモリカードインターフェイス手段１０９は、メモリカード１１０からのレスポンスの有無のチェックを行い（Ｓ７０２）、レスポンスがある場合（Ｓ７０２のＹｅｓ）は、読み出したメモリカードステータス情報１１６をステータス情報リード手段１０６に転送する。ステータス情報リード手段１０６は、転送されたメモリカードステータス情報１１６の解析を行う（Ｓ７０３）。
【００４７】
ステータス情報リード手段１０６は、メモリカードステータス情報１１６における内蔵メモリタイプのチェックを行い（Ｓ７０４）、２値タイプである場合（Ｓ７０４のＹｅｓ）はメモリカード制御手段１０３に内蔵するエラー訂正機能をＯＦＦに設定する（Ｓ７０９）。また、ステータス情報リード手段１０６は、内蔵メモリタイプのチェックにおいて２値タイプで無い、すなわち多値タイプである場合（Ｓ７０４のＮｏ）はメモリカード１１０のエラー訂正機能の有無についてチェックを行う（Ｓ７０５）。
【００４８】
ステータス情報リード手段１０６は、メモリカード１１０にエラー訂正機能がある場合（Ｓ７０５のＹｅｓ）は、２値タイプの場合と同様にメモリカード制御手段１０３に内蔵するエラー訂正機能をＯＦＦに設定し（Ｓ７０９）、動作を完了する（Ｓ７１０）。
【００４９】
ステータス情報リード手段１０６は、メモリカードステータス情報読み出しコマンドに未対応で一定時間内にメモリカード１１０がレスポンスを返さない場合（Ｓ７０２のＮｏ）および、内蔵メモリタイプが多値タイプでエラー訂正機能を内蔵しない場合（Ｓ７０５のＮｏ）はメモリカード制御手段１０３のデフォルト設定に従い動作する（Ｓ７０６）。なお、デフォルト設定は外部インターフェイス手段１０１を介してホスト機器より変更可能である。なお、デフォルト設定はメモリカード制御手段１０３にユーザインターフェイスを設けて変更しても構わない。
【００５０】
ステータス情報リード手段１０６は、デフォルト設定がメモリカード制御手段１０３に内蔵するエラー訂正機能をＯＦＦにするよう設定されていた場合（Ｓ７０６のＹｅｓ）はメモリカード制御手段１０３に内蔵するエラー訂正機能をＯＦＦに設定し（Ｓ７０９）動作を完了する（Ｓ７１０）。また、エラー訂正機能をＯＮにするよう設定されていた場合（Ｓ７０６のＮｏ）はメモリカード制御手段１０３に内蔵するエラー訂正機能をＯＮに設定し（Ｓ７０７）、エラー訂正情報を転送することによる速度低下および使用可能な容量の減少などのワーニングメッセージを出力（Ｓ７０８）した後動作を完了する（Ｓ７１０）。
【００５１】
次にメモリカード制御装置１００が外部インターフェイス手段１０１を介してホスト機器からメモリカード１１０へのライトコマンドとライトデータを受信した際の動作について、図８のフローチャートを用いて説明する。
【００５２】
メモリカード制御装置１００が外部インターフェイス手段１０１を介してホスト機器からメモリカード１１０へのライトコマンドを受信すると動作を開始する（Ｓ８００）。外部インターフェイス手段１０１を介してホスト機器からメモリカード１１０へのライトデータを受信（Ｓ８０１）すると、メモリカード制御手段１０３のエラー訂正機能の要否をチェックし、エラー訂正機能が必要である場合（Ｓ８０２のＹｅｓ）はエラー訂正情報生成手段１０８によりエラー訂正情報が生成される（Ｓ８０３）。メモリカード制御手段１０３はメモリカード１１０へライトコマンドを発行（Ｓ８０４）後にホスト機器より受信したライトデータとエラー訂正情報をメモリカードへ転送する（Ｓ８０５）。
【００５３】
なお、メモリカード制御手段１０３は、メモリカード１１０に発行するライトアドレスを制御することによりメモリカード１１０の記録領域を分割し、ライトデータとエラー訂正情報とを別々の領域へ記録しても構わない。また、メモリカード１１０のメモリコントローラ１１１が記録領域の分割を行い、メモリコントローラ１１１が受信するコマンドに応じて記録領域を選択する場合、メモリカード制御手段１０３は、ライトデータとエラー訂正情報を別々のコマンドを用いてメモリカード１１０へ記録しても構わない。
【００５４】
なお、メモリカード制御手段１０３は、メモリカード１１０に発行したコマンドのレスポンスをチェックすることによりメモリカード１１０に発行したコマンドの可否を判別することが可能である。
【００５５】
メモリカード制御手段１０３はライトデータおよびエラー訂正情報の転送を完了すると、外部インターフェイス手段１０１を介してホスト機器へ割り込み等を用いて動作完了を通知（Ｓ８０６）することによりライトコマンド処理を完了する（Ｓ８０７）。
【００５６】
一方、メモリカード制御手段１０３のエラー訂正機能が不要である場合（Ｓ８０２のＮｏ）、メモリカード制御手段１０３はメモリカードへライトコマンドを発行（Ｓ８０８）後にホスト機器より受信したライトデータのみをメモリカードへ転送し（Ｓ８０９）、動作を完了する（Ｓ８０７）。
【００５７】
次にメモリカード制御装置１００が外部インターフェイス手段１０１を介してホスト機器からメモリカード１１０へのリードコマンドを受信した際の動作について、図９のフローチャートを用いて説明する。
【００５８】
メモリカード制御装置１００が外部インターフェイス手段１０１を介してホスト機器からメモリカード１１０へのリードコマンドを受信すると動作を開始する（Ｓ９００）。
【００５９】
まず、メモリカード制御手段１０３はメモリカードへリードコマンドを発行し（Ｓ９０１）。メモリカードからリードデータを受信した時（Ｓ９０２）にリードエラーが発生していた場合（Ｓ９０３のＹｅｓ）、メモリカード制御手段１０３がエラー訂正機能の要否をチェックする。
【００６０】
メモリカード制御手段１０３のエラー訂正機能が必要である場合（Ｓ９０４のＹｅｓ）、メモリカード制御手段１０３は、まずエラー訂正の可否についてチェックを行い、エラー訂正が可能であると判断した場合（Ｓ９０５のＹｅｓ）はメモリカード１１０にエラー訂正情報を読み出すためのリードコマンドを発行し、メモリカード１１０からエラー訂正情報を読み出す（Ｓ９０６）。メモリカード制御手段１０３は、読み出したエラー訂正情報を用いてエラー訂正を実施（Ｓ９０７）後に訂正後のデータをホスト機器へ転送し（Ｓ９０８）、ホスト機器へ割り込み等を用いて動作完了を通知（Ｓ９０９）してリードコマンド処理を完了する（Ｓ９１０）。
【００６１】
一方、メモリカード制御手段１０３のエラー訂正機能が不要の場合（Ｓ９０４のＮｏ）は、メモリカード制御手段１０３はホスト機器へエラーを通知するなどのエラー処理を行い（Ｓ９１１）、ホスト機器へ割り込み等を用いて動作完了を通知（Ｓ９０９）してリードコマンド処理を完了する（Ｓ９１０）。
【００６２】
メモリカードから受信したリードデータにリードエラーが発生していない場合（Ｓ９０３のＮｏ）、メモリカード制御手段１０３は、エラー訂正機能の状態に関わらずデータをホスト機器へ転送し（Ｓ９０８）、ホスト機器へ割り込み等を用いて動作完了を通知（Ｓ９０９）してリードコマンド処理を完了する（Ｓ９１０）。
【００６３】
なお、本実施の形態ではメモリカード１１０を接続した場合の制御方法について示したが、メモリカードを複数枚まとめたメモリカードモジュールや、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のようなフラッシュメモリドライブに対しても同様の制御が可能である。
【００６４】
以上のように、メモリカード１１０と、メモリカード１１０へのアクセスを制御するメモリカード制御装置１００とからなるメモリカード制御システム１であって、メモリカード１１０は、フラッシュメモリ１１２から１１５と、フラッシュメモリ１１２から１１５が２値または多値のいずれのタイプであるかの情報とメモリカード１１０内でエラー訂正を行うか否かの情報とからなるメモリカードステータス情報１１６を保持し、メモリカード制御装置１００からのアクセス要求に対して、フラッシュメモリ１１２から１１５又はメモリカードステータス情報１１６へのアクセスを制御するメモリコントローラ１１１と、を備え、メモリカード制御装置１００は、メモリカード１１０へのアクセスを制御するメモリカードインターフェイス手段１０９と、メモリカードインターフェイス手段１０９を介してデータを記録する際に、データに関するエラー訂正情報を生成し、データをエラー訂正情報とともに記録するエラー訂正情報生成手段１０８と、メモリカードインターフェイス手段１０９を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、メモリカードインターフェイス手段１０９を介して取得し、データを訂正するエラー訂正手段１０４と、メモリカードインターフェイス手段１０９を介して取得したメモリカードステータス情報１１６を基に、エラー訂正情報生成手段１０８及びエラー訂正手段１０４を動作させるかを決定するステータス情報リード手段１０６を備えることにより、フラッシュメモリ１１２から１１５が図４に示すメモリカード４００がデータ保持特性の良い２値タイプである場合、及びフラッシュメモリ１１２から１１５が図５に示す多値タイプでメモリカード５００がエラー訂正処理を行う場合には、メモリカード制御装置１００は、エラー訂正手段１０４及びエラー訂正情報生成手段１０８をＯＦＦし、フラッシュメモリ１１２から１１５が図６に示す多値タイプでメモリカード６００がエラー訂正処理を行わずエラー訂正が必要な場合には、メモリカード制御装置１００は、エラー訂正手段１０４及びエラー訂正情報生成手段１０８をＯＮすることにより、メモリカード制御装置１００は、メモリカードに応じた性能でアクセスを実行することができる。
【００６５】
また、メモリカード制御装置１００は、エラー訂正情報生成手段１０８で、データをエラー訂正情報とともに記録する場合に、メモリカード１１０に記録可能な容量が減少する旨の通知を行う通知部をさらに備えることにより、ユーザは信頼性を向上させるためにエラー訂正情報を付加する場合に、記録可能な容量が減少することを認識できる。
【産業上の利用可能性】
【００６６】
本実施の形態にかかるメモリカード制御システムは、メモリカード内の不揮発メモリの種類や、メモリカード内でのエラー訂正の有無に応じて、メモリカードへのアクセスを制御することにより、メモリカードに応じたアクセス性能を引き出すことができ、リアルタイム記録が必要なビデオカメラ等に適用することができ、有用である。
【符号の説明】
【００６７】
１  メモリカード制御システム
１００  メモリカード制御装置
１０１  外部インターフェイス手段
１０２  コマンド解析手段
１０３  メモリカード制御手段
１０４、５０３  エラー訂正手段
１０５  データリード手段
１０６  ステータス情報リード手段
１０７  データライト手段
１０８、５０２  エラー訂正情報生成手段
１０９  メモリカードインターフェイス手段
１１０、４００、５００、６００  メモリカード
１１１、４０１、５０１、６０１  メモリコントローラ
１１２、１１３、１１４、１１５  フラッシュメモリ
４０２、４０３、４０４、４０５  フラッシュメモリ（２値）
５０４、５０５、５０６、５０７、６０２、６０３、６０４、６０５  フラッシュメモリ（多値）
【図１】
2011192137.tif 000003
【図２】
2011192137.tif 000004
【図３】
2011192137.tif 000005
【図４】
2011192137.tif 000006
【図５】
2011192137.tif 000007
【図６】
2011192137.tif 000008
【図７】
2011192137.tif 000009
【図８】
2011192137.tif 000010
【図９】
2011192137.tif 000011