説明

メモリカード制御システム、メモリカード制御装置及びメモリカード制御方法

【課題】半導体メモリカードに応じて、適切なアクセス性能を引き出すことが困難であるという課題がある。
【解決手段】メモリカード制御装置100は、データを記録する際に、データに関するエラー訂正情報を生成し、データをエラー訂正情報とともに記録するエラー訂正情報生成手段108と、取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を取得し、訂正するエラー訂正手段104と、メモリカード110中のフラッシュメモリ112等に関する情報とメモリカード110内で実施可能なエラー訂正に関する情報とを基に、エラー訂正情報生成手段108及びエラー訂正手段104を動作させるかを決定するステータス情報リード手段106と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体であるメモリカードへのアクセスを制御するメモリカード制御システムに関するものであり、特に、メモリカードの種類、メモリカード内でのエラー訂正の有無に応じて、メモリカードへのアクセス時にエラー訂正を行うかを決定するメモリカード制御システムに関するものである。
【背景技術】
【0002】
現在、SDカード等のフラッシュメモリが内蔵されたカード型の記録媒体であるメモリカードは、超小型、超薄型であり、その取り扱い易さから、ディジタルスチルカメラ等のディジタル機器に広く利用されている。
【0003】
メモリカードに内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去できるメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは1セルで2ビット以上のデータが蓄積できる多値フラッシュメモリが商品化されている。
【0004】
多値のフラッシュメモリでは、閾値電圧Vthに複数の状態を設けてフラッシュメモリの電子の蓄積量を制御する多値記録を行い、大容量化を実現している。
【0005】
しかしながら、フラッシュメモリは、多値化に伴い、書き込みや読み出し時にエラーが発生する割合が大きくなり、エラー訂正への対応が求められている。
【0006】
フラッシュメモリのエラー訂正に関する技術として、特許文献1に開示の技術がある。特許文献1では、転送データをホスト機器から受信するインタフェース部と、転送データに基づいて第1のコードデータを生成するコードデータ生成部と、転送データと第1のコードデータとを格納する不揮発性半導体メモリと、不揮発性半導体メモリとの間で、転送データと第1のコードデータとの送受信を行うメモリ制御部と、不揮発性半導体メモリから読み出された転送データと当該転送データに対応する第1のコードデータとに基づいて、転送データに含まれるエラービットを訂正することが可能なエラー訂正部とを具備し、インタフェース部は、エラービットを含む転送データをホスト機器に送信するメモリカードが開示されている。
【0007】
このようなエラー訂正回路が搭載されたメモリカードにおいて、メモリカードは、エラービットを含む転送データを送信することにより、ホスト機器は、エラービットを含む転送データを用いて、より高度なエラー訂正処理を実現できる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−155408号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上記従来の技術では、フラッシュメモリの種類やエラー訂正機能の有無が区別できないため、書き込みや読み出し時にエラーの発生する割合が低く、エラー訂正を行う必要の無い2値のフラッシュメモリや、エラー訂正機能を有するメモリカードに対してもエラー訂正を行うことになり、エラービットを含む転送データが転送されるため、転送レートが低下し、メモリカードの性能を十分に引き出すことができないという課題がある。
【課題を解決するための手段】
【0010】
上記課題を解決するために、メモリカード制御システムは、半導体メモリカードと、前記半導体メモリカードへのアクセスを制御するメモリカード制御装置とからなるメモリカード制御システムであって、前記半導体メモリカードは、少なくとも一つの不揮発メモリと、前記不揮発メモリに関する情報と、当該半導体メモリカード内で実施可能なエラー訂正に関する情報とを保持するステータス情報保持部と、前記メモリカード制御装置からのアクセス要求に対して、前記不揮発性メモリ又は前記ステータス情報保持部へのアクセスを制御する制御部と、を備え、前記メモリカード制御装置は、前記半導体メモリカードへのアクセスを制御するインターフェイス部と、前記インターフェイス部を介してデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成部と、前記インターフェイス部を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス部を介して取得し、前記データを訂正するエラー訂正部と、前記インターフェイス部を介して取得した前記不揮発性メモリに関する情報と前記エラー訂正に関する情報とを基に、前記エラー訂正情報生成部及び前記エラー訂正部を動作させるかを決定するエラー訂正決定部と、を備える。
【発明の効果】
【0011】
上記の構成によって、メモリカード制御システムは、メモリカード内の不揮発メモリの種類や、メモリカード内でのエラー訂正の有無に応じて、メモリカードへのアクセスを制御することにより、メモリカードに応じたアクセス性能を引き出すことができる。
【図面の簡単な説明】
【0012】
【図1】実施の形態におけるメモリカード制御システムの構成を示すブロック図
【図2】実施の形態におけるメモリカードとの接続を示すブロック図
【図3】実施の形態におけるメモリカードへのアクセスの詳細を示す図
【図4】実施の形態における2値のメモリカードの構成を示すブロック図
【図5】実施の形態におけるエラー訂正機能を有する多値のメモリカードの構成を示すブロック図
【図6】実施の形態におけるエラー訂正機能を有さない多値のメモリカードの構成を示すブロック図
【図7】実施の形態におけるメモリカードのステータス情報の読み出しを示すフローチャート
【図8】実施の形態におけるメモリカードへのデータライトを示すフローチャート
【図9】実施の形態におけるメモリカードからのデータリードを示すフローチャート
【発明を実施するための形態】
【0013】
以下、実施の形態を図面に基づいて説明する。
【0014】
図1は本実施の形態におけるメモリカード制御システム1の構成を示すブロック図である。メモリカード制御システム1は、メモリカード制御装置100とメモリカード110とを含む。
【0015】
図1において、メモリカード制御装置100は、外部インターフェイス手段101と、コマンド解析手段102と、メモリカード制御手段103とを含む。
【0016】
外部インターフェイス手段101は、ホスト機器とのコマンドの送受信やデータ転送を行う。
【0017】
コマンド解析手段102は、ホスト機器より外部インターフェイス手段101を介して発行されたコマンドの解析を行う。例えば解析の結果がメモリカードからのデータリードであった場合はメモリカード制御手段103にリード動作を命令する。
【0018】
メモリカード制御手段103は、エラー訂正手段104と、データリード手段105と、メモリカードステータス情報リード手段106と、データライト手段107と、エラー訂正情報生成手段108と、メモリカードインターフェイス手段109とから構成される。
【0019】
エラー訂正手段104は、リードエラー発生時にメモリカード110に記録されているエラー訂正情報を、データリード手段105を介して読み出し、リードエラーの発生したユーザデータの訂正を行う。なお、エラー訂正手段104は接続されるメモリカード110の内部構成によって機能をON/OFFする事が可能である。
【0020】
データリード手段105はメモリカードインターフェイス手段109を介してメモリカード110から読み出したユーザデータを、外部インターフェイス手段101を介してホスト機器へ転送する。また、データリード手段105は、リードエラー発生時はエラー訂正手段104からの命令によりメモリカードインターフェイス手段109を介してメモリカード110からエラー訂正情報を読み出す。
【0021】
ステータス情報リード手段106は、メモリカードインターフェイス手段109を介してメモリカード110のメモリカードステータス情報116の読み出しとメモリカードステータス情報116の解析を行い、メモリカード制御手段103のエラー訂正機能のON/OFFを判断する。
【0022】
データライト手段107はホスト機器から外部インターフェイス手段101を介して転送されたライトデータを、メモリカードインターフェイス手段109を介してメモリカード110へ書き込む。また、エラー訂正情報生成手段108によって生成されたエラー訂正情報をライトデータ同様、メモリカードインターフェイス手段109を介してメモリカード110へ書き込む。
【0023】
エラー訂正情報生成手段108はホスト機器から転送されるライトデータからエラー訂正情報を生成する。ライトデータNバイトに対してMバイトのエラー訂正情報が生成され、メモリカード110に書き込まれるデータ量はN+Mバイトとなる。このため、ホスト機器から書き込み可能なデータ量はメモリカード110の容量よりも少なくなる。なお、エラー訂正情報生成手段108はエラー訂正手段104と同様、接続されるメモリカード110の内部構成によって機能をON/OFFする事が可能である。
【0024】
メモリカードインターフェイス手段109はメモリカード110のインターフェイスプロトコルを用いてデータの読み書きを行う。
【0025】
メモリカード110は、メモリコントローラ111と、少なくとも1つのフラッシュメモリと、メモリカードステータス情報116と、から構成される。なお、本実施の形態では4枚のフラッシュメモリ112から115を内蔵している。
【0026】
メモリコントローラ111はメモリカードインターフェイス手段109が発行するコマンドの解析を行い、データの読み出しの場合はフラッシュメモリ112から115よりデータを読み出し、メモリカードインターフェイス手段109へ転送する。データの書き込みの場合は転送されたライトデータをフラッシュメモリ112から115へ書き込む。また、ステータス情報の読み出しの場合は、メモリカードステータス情報116よりステータス情報を読み出し、メモリカードインターフェイス手段109へ転送する。
【0027】
フラッシュメモリ112から115はデータライト手段107によって書き込まれたデータを記録する。
【0028】
メモリカードステータス情報116はメモリカード110の容量や内蔵されているフラッシュメモリ112から115のメモリタイプ(2値/多値)、エラー訂正手段の有無などを格納し、メモリカードインターフェイス手段109から発行される専用コマンドにて読み出される。
【0029】
次にメモリカードインターフェイス手段109とメモリカード110との接続について図2を用いて説明する。
【0030】
メモリカードインターフェイス手段109とメモリカード110は「コマンド」、「クロック」、「データ」、「レスポンス」の信号線によって接続され、図2における矢印は信号の向きを示している。なお、「コマンド」、「データ」、「レスポンス」は全てメモリカードインターフェイス手段109が出力する「クロック」に同期した転送であり、メモリカード110はメモリカードインターフェイス手段109から出力される「コマンド」に応じた動作を行う。また、メモリカード110は受信した「コマンド」がレスポンスを必要とするコマンドである場合は、受信可能なコマンドに対してのみレスポンスを返す。すなわち、メモリカードインターフェイス手段109はメモリカード110からのレスポンスの有無によって、発行したコマンドの対応の可否を知る事が可能である。
【0031】
「データ」はある一定のサイズ単位(以下Nバイト)で転送が行われ、転送するデータの先頭にデータの開始を示すスタートフラグが付随し、受信側はスタートフラグを検出してデータの受信を開始する。また、Nバイト毎に転送の状態を示すステータスフラグが付随し、ステータスフラグを解析することにより転送が正常に完了した事を検知する事が可能である。
【0032】
図3にインターフェイスプロトコルの詳細を示す。図3(a)はメモリカード110のメモリカードステータス情報116を読み出す場合を示す。まず、メモリカードインターフェイス手段109から「コマンド」信号線に「ステータスリードコマンド」がメモリカード110に対して発行される。メモリカード110が「ステータスリードコマンド」に対応している場合、メモリカードステータス情報116より読み出したステータス情報を「データ」信号線に出力する。転送されるデータは前述したスタートフラグを先頭に付随し、続いてメモリカードステータス情報116を含むNバイトのデータが転送され、最後にステータスフラグが転送される。メモリカード制御手段103はステータスフラグにエラーがある場合には再度メモリカードステータス情報の読み込み、あるいはエラー処理等を行う。また、メモリカード110は「ステータスリードコマンド」に対応する場合、コマンド受信時のエラーの有無などを「レスポンス」信号線に出力し、対応しない場合は「データ」と「レスポンス」の各信号線に対して何も出力しない。
【0033】
図3(b)にはメモリカード110よりデータを読み出す場合に使用する「データリードコマンド」について示す。なお、ここでは4*Nバイト分のデータを読み出す場合について示す。まず、メモリカードインターフェイス手段109から「コマンド」信号線に「データリードコマンド」と読み出し開始のアドレスがメモリカード110に対して発行される。メモリカード110は内蔵するフラッシュメモリ112から115よりデータを読み出し、Nバイト毎にスタートフラグとステータスフラグを付随し、リードの終了を意味する「ストップコマンド」を受信するまでフラッシュメモリ112から115からの読み出しとメモリカードインターフェイス手段109へのデータの転送を継続する。
【0034】
図3(c)にはメモリカード110にデータを書き込む場合に使用する「データライトコマンド」について示す。なお、ここでは4*Nバイト分のデータを書き込む場合について示す。まず、メモリカードインターフェイス手段109から「コマンド」信号線に「データライトコマンド」と書き込み開始のアドレスがメモリカード110に対して発行される。メモリカードインターフェイス手段109はメモリカード110よりレスポンスを受信すると、Nバイト毎に書き込むデータの先頭にスタートフラグを付随して転送する。メモリカード110は受信したNバイトをフラッシュメモリ112から115に書き込むためビジーを返す。書き込みが完了した後にメモリカード110はステータスフラグをメモリカードインターフェイス手段109へ返して書き込みエラーの有無を通知する。メモリカードインターフェイス手段109はステータスフラグを解析し、書き込みエラーが無い場合は先に転送したデータに続くNバイトを同様に転送する。メモリカードインターフェイス手段109は書き込みエラーがある場合はデータの再送あるいはエラー処理を行う。メモリカードインターフェイス手段109は最後のデータを転送後にライトの終了を意味する「ストップコマンド」を送信し、最後のデータ転送に対するステータスフラグにエラーが無ければ動作完了となる。
【0035】
次にメモリカード制御手段103に接続されるメモリカードの種類について図4から図6を用いて説明する。
【0036】
図4において、メモリカード400は、メモリコントローラ401と、4枚のフラッシュメモリ402から405と、メモリカードステータス情報406と、から構成される。メモリコントローラ401の機能は前述したメモリコントローラ111と基本機能は同一であるため、説明を省略する。内蔵されているフラッシュメモリ402から405は2値タイプであり、2値タイプは一般的に多値タイプよりも書き換え可能回数が多く、データ保持特性も良いため高品質とされている。メモリカードステータス情報406に格納される情報として、メモリカード400の容量(フラッシュメモリ402から405の合計容量)、メモリタイプ(2値)及びエラー訂正手段(なし)が格納される。
【0037】
図5において、メモリカード500は、メモリコントローラ501と、4枚のフラッシュメモリ504から507と、メモリカードステータス情報508と、から構成される。更に、メモリコントローラ501はエラー訂正情報生成手段502とエラー訂正手段503から構成され、エラー訂正情報生成手段502はメモリカードコントローラ501が受信したコマンドがライトの場合にメモリカードインターフェイス手段109を介して転送されたライトデータからエラー訂正情報を生成する。生成されたエラー訂正情報は転送されたライトデータと同様、フラッシュメモリ504から507に書き込まれる。
【0038】
エラー訂正手段503はメモリカードコントローラ501が受信したコマンドがリードの場合において、フラッシュメモリ504から507から読み出したリードデータで読み出しエラーした場合、フラッシュメモリ504から507に記録されているエラーの発生したリードデータに対応するエラー訂正情報を読み出し、エラー訂正処理を実行する。エラー訂正処理により復元されたデータは読み出しエラーが発生しなかった場合と同様、メモリカードインターフェイス手段109へ転送される。エラー訂正処理により復元できなかった場合はメモリカードインターフェイス手段109へ読み出しエラーを通知する。
【0039】
内蔵されているフラッシュメモリ504から507は、書き換え可能回数およびデータ保持特性では2値タイプに劣るが、安価で大容量化が可能な多値タイプである。なお、前述したメモリコントローラ501のエラー訂正情報生成手段502とエラー訂正手段503は、2値タイプに比べて劣る品質の改善を目的としている。また、フラッシュメモリ504から507にはライトデータの他にエラー訂正情報が書き込まれるため、ホスト機器から転送可能なライトデータのサイズは内蔵するフラッシュメモリ504から507の合計容量よりも少なくなる。例えばメモリカード500におけるフラッシュメモリ1枚の容量が1GBである場合、合計容量は4GBであるがライトデータ64KB毎に16KBのエラー訂正情報を生成する場合、ホスト機器から転送可能なライトデータの最大サイズは3.2GBとなる。よってメモリカードステータス情報508に格納される情報として、メモリカード500の容量(T×(W/(W+E)))(ここで、T:フラッシュメモリ504から507の合計容量、W:エラー訂正情報を生成するために必要なライトデータのサイズ、E:エラー訂正情報のデータサイズ)、メモリタイプ(多値タイプ)、及びエラー訂正手段(あり)が格納される。
【0040】
図6において、メモリカード600はメモリコントローラ601と、4枚のフラッシュメモリ602から605と、メモリカードステータス情報606と、から構成される。メモリコントローラ601の機能は前述したメモリコントローラ111と基本機能は同一であるため、説明を省略する。内蔵されているフラッシュメモリ602から605は、フラッシュメモリ504から507と同じ多値タイプであるため説明を省略する。フラッシュメモリ602から605はメモリカード500に内蔵されるものと同じ多値タイプであるが、エラー訂正情報の書き込みが無いため合計容量を全てライトデータに割り当てることができる。よってメモリカードステータス情報606に格納される情報として、メモリカード600の容量(フラッシュメモリ602から605の合計容量)、メモリタイプ(多値タイプ)及びエラー訂正手段(なし)が格納される。
【0041】
前述した3種類のメモリカードを品質の高い順番に左から並べると、メモリカード400、メモリカード500、メモリカード600の順となる。
【0042】
また、同一容量におけるコストの安い順番に左から並べると、メモリカード600、メモリカード500、メモリカード400の順となる。
【0043】
すなわち、記録メディアに品質が要求される場合はメモリカード400、大容量・低コストが要求される場合はメモリカード600、容量と品質のバランスが要求される場合にはメモリカード500、などユーザの要求に応じたメモリカードが選択される。
【0044】
次にメモリカード制御システム1の動作について、図7から図9のフローチャートを用いて説明する。
【0045】
メモリカードステータス情報116の読み出しの詳細動作について図7を用いて説明する。メモリカードステータス情報116の読み出し開始(S700)は、メモリカード制御装置100とメモリカード110の電源投入時や、メモリカード制御装置100がメモリカード110に対して最初にリードまたはライトする直前や、メモリカード制御装置にメモリカード110が接続された時等に行う。
【0046】
上記のいずれかに該当した場合、メモリカードインターフェイス手段109よりメモリカードステータス情報読み出しコマンドがメモリカード110に対して発行される(S701)。メモリカードインターフェイス手段109は、メモリカード110からのレスポンスの有無のチェックを行い(S702)、レスポンスがある場合(S702のYes)は、読み出したメモリカードステータス情報116をステータス情報リード手段106に転送する。ステータス情報リード手段106は、転送されたメモリカードステータス情報116の解析を行う(S703)。
【0047】
ステータス情報リード手段106は、メモリカードステータス情報116における内蔵メモリタイプのチェックを行い(S704)、2値タイプである場合(S704のYes)はメモリカード制御手段103に内蔵するエラー訂正機能をOFFに設定する(S709)。また、ステータス情報リード手段106は、内蔵メモリタイプのチェックにおいて2値タイプで無い、すなわち多値タイプである場合(S704のNo)はメモリカード110のエラー訂正機能の有無についてチェックを行う(S705)。
【0048】
ステータス情報リード手段106は、メモリカード110にエラー訂正機能がある場合(S705のYes)は、2値タイプの場合と同様にメモリカード制御手段103に内蔵するエラー訂正機能をOFFに設定し(S709)、動作を完了する(S710)。
【0049】
ステータス情報リード手段106は、メモリカードステータス情報読み出しコマンドに未対応で一定時間内にメモリカード110がレスポンスを返さない場合(S702のNo)および、内蔵メモリタイプが多値タイプでエラー訂正機能を内蔵しない場合(S705のNo)はメモリカード制御手段103のデフォルト設定に従い動作する(S706)。なお、デフォルト設定は外部インターフェイス手段101を介してホスト機器より変更可能である。なお、デフォルト設定はメモリカード制御手段103にユーザインターフェイスを設けて変更しても構わない。
【0050】
ステータス情報リード手段106は、デフォルト設定がメモリカード制御手段103に内蔵するエラー訂正機能をOFFにするよう設定されていた場合(S706のYes)はメモリカード制御手段103に内蔵するエラー訂正機能をOFFに設定し(S709)動作を完了する(S710)。また、エラー訂正機能をONにするよう設定されていた場合(S706のNo)はメモリカード制御手段103に内蔵するエラー訂正機能をONに設定し(S707)、エラー訂正情報を転送することによる速度低下および使用可能な容量の減少などのワーニングメッセージを出力(S708)した後動作を完了する(S710)。
【0051】
次にメモリカード制御装置100が外部インターフェイス手段101を介してホスト機器からメモリカード110へのライトコマンドとライトデータを受信した際の動作について、図8のフローチャートを用いて説明する。
【0052】
メモリカード制御装置100が外部インターフェイス手段101を介してホスト機器からメモリカード110へのライトコマンドを受信すると動作を開始する(S800)。外部インターフェイス手段101を介してホスト機器からメモリカード110へのライトデータを受信(S801)すると、メモリカード制御手段103のエラー訂正機能の要否をチェックし、エラー訂正機能が必要である場合(S802のYes)はエラー訂正情報生成手段108によりエラー訂正情報が生成される(S803)。メモリカード制御手段103はメモリカード110へライトコマンドを発行(S804)後にホスト機器より受信したライトデータとエラー訂正情報をメモリカードへ転送する(S805)。
【0053】
なお、メモリカード制御手段103は、メモリカード110に発行するライトアドレスを制御することによりメモリカード110の記録領域を分割し、ライトデータとエラー訂正情報とを別々の領域へ記録しても構わない。また、メモリカード110のメモリコントローラ111が記録領域の分割を行い、メモリコントローラ111が受信するコマンドに応じて記録領域を選択する場合、メモリカード制御手段103は、ライトデータとエラー訂正情報を別々のコマンドを用いてメモリカード110へ記録しても構わない。
【0054】
なお、メモリカード制御手段103は、メモリカード110に発行したコマンドのレスポンスをチェックすることによりメモリカード110に発行したコマンドの可否を判別することが可能である。
【0055】
メモリカード制御手段103はライトデータおよびエラー訂正情報の転送を完了すると、外部インターフェイス手段101を介してホスト機器へ割り込み等を用いて動作完了を通知(S806)することによりライトコマンド処理を完了する(S807)。
【0056】
一方、メモリカード制御手段103のエラー訂正機能が不要である場合(S802のNo)、メモリカード制御手段103はメモリカードへライトコマンドを発行(S808)後にホスト機器より受信したライトデータのみをメモリカードへ転送し(S809)、動作を完了する(S807)。
【0057】
次にメモリカード制御装置100が外部インターフェイス手段101を介してホスト機器からメモリカード110へのリードコマンドを受信した際の動作について、図9のフローチャートを用いて説明する。
【0058】
メモリカード制御装置100が外部インターフェイス手段101を介してホスト機器からメモリカード110へのリードコマンドを受信すると動作を開始する(S900)。
【0059】
まず、メモリカード制御手段103はメモリカードへリードコマンドを発行し(S901)。メモリカードからリードデータを受信した時(S902)にリードエラーが発生していた場合(S903のYes)、メモリカード制御手段103がエラー訂正機能の要否をチェックする。
【0060】
メモリカード制御手段103のエラー訂正機能が必要である場合(S904のYes)、メモリカード制御手段103は、まずエラー訂正の可否についてチェックを行い、エラー訂正が可能であると判断した場合(S905のYes)はメモリカード110にエラー訂正情報を読み出すためのリードコマンドを発行し、メモリカード110からエラー訂正情報を読み出す(S906)。メモリカード制御手段103は、読み出したエラー訂正情報を用いてエラー訂正を実施(S907)後に訂正後のデータをホスト機器へ転送し(S908)、ホスト機器へ割り込み等を用いて動作完了を通知(S909)してリードコマンド処理を完了する(S910)。
【0061】
一方、メモリカード制御手段103のエラー訂正機能が不要の場合(S904のNo)は、メモリカード制御手段103はホスト機器へエラーを通知するなどのエラー処理を行い(S911)、ホスト機器へ割り込み等を用いて動作完了を通知(S909)してリードコマンド処理を完了する(S910)。
【0062】
メモリカードから受信したリードデータにリードエラーが発生していない場合(S903のNo)、メモリカード制御手段103は、エラー訂正機能の状態に関わらずデータをホスト機器へ転送し(S908)、ホスト機器へ割り込み等を用いて動作完了を通知(S909)してリードコマンド処理を完了する(S910)。
【0063】
なお、本実施の形態ではメモリカード110を接続した場合の制御方法について示したが、メモリカードを複数枚まとめたメモリカードモジュールや、SSD(Solid State Drive)のようなフラッシュメモリドライブに対しても同様の制御が可能である。
【0064】
以上のように、メモリカード110と、メモリカード110へのアクセスを制御するメモリカード制御装置100とからなるメモリカード制御システム1であって、メモリカード110は、フラッシュメモリ112から115と、フラッシュメモリ112から115が2値または多値のいずれのタイプであるかの情報とメモリカード110内でエラー訂正を行うか否かの情報とからなるメモリカードステータス情報116を保持し、メモリカード制御装置100からのアクセス要求に対して、フラッシュメモリ112から115又はメモリカードステータス情報116へのアクセスを制御するメモリコントローラ111と、を備え、メモリカード制御装置100は、メモリカード110へのアクセスを制御するメモリカードインターフェイス手段109と、メモリカードインターフェイス手段109を介してデータを記録する際に、データに関するエラー訂正情報を生成し、データをエラー訂正情報とともに記録するエラー訂正情報生成手段108と、メモリカードインターフェイス手段109を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、メモリカードインターフェイス手段109を介して取得し、データを訂正するエラー訂正手段104と、メモリカードインターフェイス手段109を介して取得したメモリカードステータス情報116を基に、エラー訂正情報生成手段108及びエラー訂正手段104を動作させるかを決定するステータス情報リード手段106を備えることにより、フラッシュメモリ112から115が図4に示すメモリカード400がデータ保持特性の良い2値タイプである場合、及びフラッシュメモリ112から115が図5に示す多値タイプでメモリカード500がエラー訂正処理を行う場合には、メモリカード制御装置100は、エラー訂正手段104及びエラー訂正情報生成手段108をOFFし、フラッシュメモリ112から115が図6に示す多値タイプでメモリカード600がエラー訂正処理を行わずエラー訂正が必要な場合には、メモリカード制御装置100は、エラー訂正手段104及びエラー訂正情報生成手段108をONすることにより、メモリカード制御装置100は、メモリカードに応じた性能でアクセスを実行することができる。
【0065】
また、メモリカード制御装置100は、エラー訂正情報生成手段108で、データをエラー訂正情報とともに記録する場合に、メモリカード110に記録可能な容量が減少する旨の通知を行う通知部をさらに備えることにより、ユーザは信頼性を向上させるためにエラー訂正情報を付加する場合に、記録可能な容量が減少することを認識できる。
【産業上の利用可能性】
【0066】
本実施の形態にかかるメモリカード制御システムは、メモリカード内の不揮発メモリの種類や、メモリカード内でのエラー訂正の有無に応じて、メモリカードへのアクセスを制御することにより、メモリカードに応じたアクセス性能を引き出すことができ、リアルタイム記録が必要なビデオカメラ等に適用することができ、有用である。
【符号の説明】
【0067】
1 メモリカード制御システム
100 メモリカード制御装置
101 外部インターフェイス手段
102 コマンド解析手段
103 メモリカード制御手段
104、503 エラー訂正手段
105 データリード手段
106 ステータス情報リード手段
107 データライト手段
108、502 エラー訂正情報生成手段
109 メモリカードインターフェイス手段
110、400、500、600 メモリカード
111、401、501、601 メモリコントローラ
112、113、114、115 フラッシュメモリ
402、403、404、405 フラッシュメモリ(2値)
504、505、506、507、602、603、604、605 フラッシュメモリ(多値)

【特許請求の範囲】
【請求項1】
半導体メモリカードと、前記半導体メモリカードへのアクセスを制御するメモリカード制御装置とからなるメモリカード制御システムであって、
前記半導体メモリカードは、
少なくとも一つの不揮発メモリと、
前記不揮発メモリに関する情報と、当該半導体メモリカード内で実施可能なエラー訂正に関する情報とを保持するステータス情報保持部と、
前記メモリカード制御装置からのアクセス要求に対して、前記不揮発メモリ又は前記ステータス情報保持部へのアクセスを制御する制御部と、
を備え、
前記メモリカード制御装置は、
前記半導体メモリカードへのアクセスを制御するインターフェイス部と、
前記インターフェイス部を介してデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成部と、
前記インターフェイス部を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス部を介して取得し、前記データを訂正するエラー訂正部と、
前記インターフェイス部を介して取得した前記不揮発性メモリに関する情報と前記エラー訂正に関する情報とを基に、前記エラー訂正情報生成部及び前記エラー訂正部を動作させるかを決定するエラー訂正決定部と、
を備えるメモリカード制御システム。
【請求項2】
前記ステータス情報保持部は、
前記不揮発メモリに関する情報として、前記不揮発メモリが2値又は多値のいずれに対応したものであるかの情報を保持し、
前記半導体メモリカード内で実施可能なエラー訂正に関する情報として、前記半導体メモリカードでエラー訂正を行うかの情報を保持し、
前記エラー訂正決定部は、
前記不揮発メモリが2値に対応したものである場合、または前記不揮発メモリが多値に対応したもので、エラー訂正を行っている場合に、前記エラー訂正情報生成部及び前記エラー訂正部の動作を停止させる
請求項1に記載のメモリカード制御システム。
【請求項3】
前記メモリカード制御装置は、
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードに記録可能な容量が減少する旨の通知を行う通知部を、
さらに備える請求項1又は2に記載のメモリカード制御システム。
【請求項4】
前記メモリカード制御装置は、
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードは第1の領域と第2の領域に分割され、前記第1の領域に前記データを記録し、前記第2の領域に前記エラー訂正情報を記録する
請求項1から3に記載のメモリカード制御システム。
【請求項5】
半導体メモリカードへのアクセスを制御するインターフェイス部と、
前記インターフェイス部を介してデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成部と、
前記インターフェイス部を介して取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス部を介して取得し、前記データを訂正するエラー訂正部と、
前記インターフェイス部を介して取得した前記半導体メモリカード中の不揮発性メモリに関する情報と前記半導体メモリカード内で実施可能なエラー訂正に関する情報とを基に、前記エラー訂正情報生成部及び前記エラー訂正部を動作させるかを決定するエラー訂正決定部と、
を備えるメモリカード制御装置。
【請求項6】
前記エラー訂正決定部は、
前記不揮発メモリに関する情報として、前記不揮発メモリが2値又は多値のいずれに対応したものであるかの情報を、前記半導体メモリカード内で実施可能なエラー訂正に関する情報として、前記半導体メモリカードでエラー訂正を行っているかの情報を取得し、前記不揮発メモリが2値に対応したものである場合、または前記不揮発メモリが多値に対応したもので、エラー訂正を行っている場合に、前記エラー訂正情報生成部及び前記エラー訂正部の動作を停止させる
請求項5に記載のメモリカード制御装置。
【請求項7】
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードに記録可能な容量が減少する旨の通知を行う通知部を、
さらに備える請求項5又は6に記載のメモリカード制御装置。
【請求項8】
前記メモリカード制御装置は、
前記エラー訂正情報生成部で、前記データを前記エラー訂正情報とともに記録する場合に、前記半導体メモリカードは第1の領域と第2の領域に分割され、前記第1の領域に前記データを記録し、前記第2の領域に前記エラー訂正情報を記録する
請求項5から7に記載のメモリカード制御装置。
【請求項9】
半導体メモリカードへのアクセスを制御するメモリカード制御方法であって、
前記半導体メモリカードへのアクセスを制御するインターフェイス工程と、
前記インターフェイス工程を用いてデータを記録する際に、前記データに関するエラー訂正情報を生成し、前記データを前記エラー訂正情報とともに記録するエラー訂正情報生成工程と、
前記インターフェイス工程を用いて取得したデータに対してエラーが発生した場合に、エラー訂正に必要なエラー訂正情報を、前記インターフェイス工程を介して取得し、前記データを訂正するエラー訂正工程と、
前記インターフェイス工程を用いて取得した前記半導体メモリカード中の不揮発性メモリに関する情報と前記半導体メモリカード内で実施可能なエラー訂正に関する情報とを基に、前記エラー訂正情報生成工程及び前記エラー訂正工程を動作させるかを決定するエラー訂正決定工程と、
を含むメモリカード制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−192137(P2011−192137A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−59034(P2010−59034)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】