JP4679370B2 - データ処理装置並びにメモリカードの設定方法 - Google Patents

データ処理装置並びにメモリカードの設定方法 Download PDF

Info

Publication number
JP4679370B2
JP4679370B2 JP2005517700A JP2005517700A JP4679370B2 JP 4679370 B2 JP4679370 B2 JP 4679370B2 JP 2005517700 A JP2005517700 A JP 2005517700A JP 2005517700 A JP2005517700 A JP 2005517700A JP 4679370 B2 JP4679370 B2 JP 4679370B2
Authority
JP
Japan
Prior art keywords
memory card
data
retry
host
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005517700A
Other languages
English (en)
Other versions
JPWO2005076203A1 (ja
Inventor
哲志 笠原
智紹 泉
雅浩 中西
和明 田村
公則 松野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2005076203A1 publication Critical patent/JPWO2005076203A1/ja
Application granted granted Critical
Publication of JP4679370B2 publication Critical patent/JP4679370B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1052Bypassing or disabling error detection or correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、書き換え可能な不揮発性メモリを備え、ホストに装着して使用されるメモリカードであって、特に、データ書き込み時のリトライ機能またはデータ読み出し時のエラー訂正機能を有するメモリカード及びそのようなメモリカードにアクセスするデータ処理装置(ホスト)に関する。
近年、デジタル情報を保存する記憶装置として、書き換え可能な不揮発性メモリを搭載したメモリカードや機器が普及してきている。特にメモリカードは、小型かつ耐震性に優れるため、今後、益々携帯機器で多用されることが期待されている。
書き換え可能な不揮発性メモリの代表的なものにNAND型フラッシュメモリ(以下、「フラッシュメモリ」と称す。)がある。フラッシュメモリは、ブロック単位でその使用、未使用が管理されており、例えば、未使用のブロックに関して、管理データにおいて“1”が書き込まれ、データの書き込みを行った場合に、管理データを“1”から“0”に書き換える。
また、一般的に、フラッシュメモリは、正常に書き込まれない場合が希に存在する。このため、フラッシュメモリには、正常書き込みであったか、または異常書き込みであったかを示すステータスをリード(読み出し)する機能が備わっており、データの書き込み後、このステータスをリードすることによって、書き込みが正常に行なわれたか否かを判別することが必要である。メモリカードによっては、フラッシュメモリを制御するコントローラが内蔵されており、コントローラがデータ書き込み後にステータスリードを行い、書き込みエラーが発生した場合は、そのブロックが再び書き込みブロックとして選択されないようにするために、コントローラに内蔵された、エラーが発生したブロックに対応する管理データを“1”から“0”に書き換える。
また、正常にデータが書き込まれなかった場合すなわち書き込み時にエラーが発生した場合、そのデータを再度別のブロックに書き込みを行う処理(以下「リトライ処理」と称す。)も提案されている。なお、書き込み時のエラーは、フラッシュメモリの空き容量がない場合、データを書き込もうとしたフラッシュメモリの領域が不良であるため書き込みが行えない場合、書き込み時のイレース処理の失敗時等に発生する。
また、フラッシュメモリに書き込まれたデータにおいて、他ブロックへのデータ書き込みによって、また、経年変化によって、希にデータ化けが発生する。このため、メモリカードとして所望のデータ信頼性を確保するために、データ読み出し時は、例えば、ブロック単位で、フラッシュメモリの信頼性に応じた誤り訂正符号を生成し、ブロックのデータに付加して、フラッシュメモリに書き込む。また、データ読み出し時には、読み出されたデータに対して誤り訂正処理を行った後、ホストへ転送する。
以上のように、フラッシュメモリに希に発生する書き込みエラー、読み出しエラーは、殆どの場合、メモリカードに内蔵されたコントローラによってリトライ処理、及び誤り訂正処理を行うことによって回避される。このため、ホスト機器はフラッシュメモリのデータ信頼性を考慮することなくメモリカードを使用することができる。
以上のような、フラッシュメモリの書き込みエラーに対するリトライ処理に関する技術として特許文献1に記載されたものが知られている。
特開2002−108720号公報
しかしながら、近年、メモリカードは、民生用途のみならず、業務用途の様々なホスト機器に用いられ始め、ホストによっては、従来のメモリカードの信頼性では、不十分な場合もある。
書き込みエラーが発生しやすいフラッシュメモリにおいて、書き込みエラーが発生した場合のリトライ処理により、ホストに対して書き込みエラーとして通知される頻度が低減される。これにより、ホストによっては、書き込みエラーとして通知された場合の特別な処理を考慮することが無く、ホストの処理負担が軽減するという長所がある。しかしながら、リトライ処理はフラッシュメモリの内部で行われるため、フラッシュメモリ上で書き込みエラーが発生しているのか、リトライ処理が行われているのかどうか、ホスト側では全く分からない。リトライ処理によって書き込み時間が非常に長くなり、更に、リトライ処理においても書き込みエラーが発生した場合、リトライ処理の間、書き込み完了の通知を待たされたあげく、書き込みエラーになることもあった。
静止画を記録するデジタルスチルカメラの場合は、リアルタイムでの処理が要求されないため、書き込みエラー通知された後でもホストによる対応は可能である。しかし、動画を記録するビデオカメラの場合、リアルタイムでの処理が要求される。メモリカードにおいてリトライ処理が実行されると、書き込み時間が長くなる場合があるため、ビデオカメラ(ホスト)側で書き込み時間を見積もりにくく、ビデオカメラ(ホスト)でのデータ処理が非常に難しくなるという課題がある。このように、メモリカードにおけるリトライ処理は、リアルタイム処理を要求するホストにおいては、有効な機能とならない場合もある。
また、従来のメモリカードは、メモリカードとして所望のデータ信頼性となるように、フラッシュメモリの信頼性に応じて、誤り訂正符号を付加している。例えば、高信頼性のフラッシュメモリを内蔵したメモリカードには1ビット訂正回路が、また、低信頼性のフラッシュメモリを内蔵したメモリカードには3ビット訂正回路が搭載される。メモリカードとしては、何れも同等の信頼性を確保している。3ビット訂正回路を搭載したメモリカードは、3ビットまでの誤りは訂正可能であるが、4ビット以上の誤りが発生した場合には訂正不能となり、ホストに対してエラー通知をするが、場合によっては、誤訂正となり、誤ったデータをホストに返すことになる。通常、このようなケースに陥る確率は非常に低くなるように設定されている。しかし、エラーが通知されたり、或いは誤ったデータが正常データとして読み出されたりする以上、例えば、業務用のホスト等のように、非常に高い信頼性を要求するホストの場合、業務用ホスト側の工夫で、メモリカードの誤り訂正能力以上の信頼性を上げることはできないという課題があった。
本発明は上記の課題を解決するためになされたものであり、メモリカードにおけるリトライ処理に起因する弊害を解決するメモリカード及びメモリカードに対する制御方法等を提供する。
(1)本発明の第1の態様において、データの読み出し、書き込みが可能で、かつ、書き込み動作時にエラーが発生したときにリトライ機能を実行するか否かを指定するためのリトライ設定情報及びメモリカード固有の特性情報を管理情報として格納するメモリカードにアクセス可能なデータ処理装置が提供される。
データ処理装置は、メモリカードとの間でコマンドやデータの送受信を行うカードインタフェースと、データ処理装置の動作を制御するコントローラとを備える。
コントローラは、メモリカードがデータ処理装置に装着されたとき又はデータ処理装置の電源投入時に、メモリカードから特性情報を読み出し、読み出した特性情報に基づき、メモリカードにおいてリトライ機能を実行させるか否かの判断を行い、その判断結果にしたがい、リトライ設定情報を設定するためのコマンドをカードインタフェースを介してメモリカードに送信する。
(2)本発明の第2の態様において、データの読み出し、書き込みが可能で、かつ、書き込み動作時にエラーが発生したときにリトライ機能を実行するか否かを指定するためのリトライ設定情報及びメモリカード固有の特性情報を管理情報として格納するメモリカードに対する設定方法が提供される。その設定方法は、メモリカードから前記特性情報を読み出し、読み出した特性情報に基づいて、メモリカードにおいてリトライ処理を実行させるか否かの判断を行い、その判断結果にしたがい、リトライ設定情報を設定するためのコマンドをカードインタフェースを介してメモリカードに送信する。
以上のように本発明によれば、メモリカードにおけるリトライ機能の作動/停止をホスト側から設定可能とする。これにより、ホスト側から、メモリカードにおけるリトライ機能を必要に応じてキャンセルし、ホスト側での書き込み時間に関する見積もりが容易になる。すなわち、リアルタイム性が要求されるアプリケーションにおいて、書き込みエラー時に、リトライ処理を実施せず、速やかにホストに通知されるようにすることにより、ホスト側での対処が容易となり、リアルタイム動作を保証することが可能となる。また、ホストが高いデータの信頼性を要求するが、メモリカードがそれを満たさない場合は、ホスト側からメモリカードにおける誤り訂正機能をキャンセルすることで、ホストの有する高い誤り訂正機能を用いて、読み出しデータの誤り訂正を行うことが可能となり、一定のデータの信頼性を確保することが可能となる。
以下、添付の図面を参照して本発明の実施の形態について説明する。
図1は、本発明の実施形態におけるメモリカード及びデータ処理装置(以下「ホスト」と称する。)の構成を示すブロック図である。
(ホストの構成)
ホスト(データ処理装置)50は、例えばディジタルスチルカメラ、ディジタルビデオカメラ、各種携帯端末機器、パーソナルコンピュータ等の電子機器を含む。
ホスト50は、コントローラ51、データ格納部53、カードインタフェース55、入出力処理部57及びバッファメモリ59を含む。データ格納部53は制御プログラム61を格納する。
カードインタフェース55は、メモリカード1のホストインタフェース2との間でデータのやりとりを行う。すなわち、カードインタフェース55は、メモリカード1に読み書きするデータや各種制御のためのコマンドやクロック信号をホストインタフェース2との間で送受信する。
コントローラ51はホスト50全体の動作制御を行い、データ格納部53に格納されている制御プログラム61と協働して後述する所定の機能を実現する。
入出力処理部57は、ユーザがホスト50に対して行う設定や操作に関する情報やデータを入力する入力手段と、映像、音声等の出力を行う出力手段とを含む。
バッファメモリ59は、メモリカード1に書き込むデータを一時的に格納するメモリであり、メモリカード1に書き込みエラーが発生した場合でも、そのエラーを吸収できるように、ある程度大きな容量を有している。
(メモリカードの構成)
メモリカード1はホスト50に装着されて使用され、ホスト50からデータの書き込み、読み出しが可能な記録媒体である。メモリカード1は、書き込み時にエラーが生じたときに再試行するリトライ機能と、データの誤り訂正を行う誤り訂正機能とを有する。
メモリカード1は、ホストインタフェース2と、コントローラ3と、RAM4と、インストラクションROM5と、バッファメモリ6と、書き換え可能な不揮発性メモリであるフラッシュメモリ7とから構成される。
ホストインタフェース2は、メモリカード1が装着されるホスト50とのインタフェースを行うブロックであり、フラッシュメモリ7に読み書きするデータや各種制御のためのコマンドやクロック信号を送受信する。
コントローラ3は、メモリカード1全体を制御するブロックであり、マイクロプロセッサ(以下、「MPU」と称する。)31と、レジスタ32と、誤り訂正手段33を有している。
MPU31は、インストラクションROM5に格納されている制御プログラムを実行し、RAM4、フラッシュメモリ7及びバッファメモリ6の制御を行う。
レジスタ32はメモリカード1に対する管理情報を保持する記憶手段である。管理情報には、ホストインタフェース2を通してホスト50から転送される設定値及びメモリカード1の固有の特性値が含まれる。図2にレジスタ32に格納される管理情報の例を示す。
図2において、管理情報は、ホスト50から転送される設定値として、リトライイネーブルビットと、誤り訂正イネーブルビットとを含む。リトライイネーブルビットは、メモリカード1においてデータ書き込み時にリトライ処理を実行するか否かを指定する「リトライ設定情報」である。訂正イネーブルビットは、メモリカード1においてデータ読み出し時に、誤り訂正処理を実行するか否かを指定する「誤り訂正設定情報」である。
さらに、管理情報は、メモリカード1に固有の特性値として、データ書き込みの最大所要時間と、リトライ発生頻度と、エラー発生頻度と、誤り率とを保持している。データ書き込みの最大所要時間については、リトライ処理を行う場合と、行わない場合とのそれぞれについての値が格納されている。リトライ発生頻度は、リトライ処理が発生する頻度すなわち確率である。エラー発生頻度は、リトライ処理が行われない場合に、書き込み時にエラーが発生する頻度すなわち確率である。誤り率については、誤り訂正処理を行う場合と、行わない場合とのそれぞれについての値が格納されている。何れの情報もホストインタフェース2を通してホスト50から読み出すことが可能である。なお、メモリカード固有の特性値として管理情報に格納される情報には、上記以外に、メモリ種別、消去ブロックサイズ、管理ブロックサイズ、使用温度条件、消費電力等が含まれてもよい。
図1に戻り、誤り訂正手段33は、データ書き込み時に、ホスト50から転送されたデータに対して、誤り訂正符号を生成して、付加し、さらに、データ読み出し時に、フラッシュメモリ7から読み出したデータに誤りがあるか否かを検出し、誤りがある場合には訂正処理を行う。
インストラクションROM5は、読み出し専用の不揮発性メモリであり、MPU31の制御プログラムが格納されている。バッファメモリ6は、ホストから転送されてきたデータを一時的に保持する。フラッシュメモリ7は、ホストから転送されたデータを格納する。
RAM4は揮発性メモリであり、コントローラ3の作業用領域であるワークRAM41と、ブロック管理テーブル42とから構成されている。ブロック管理テーブル42はフラッシュメモリ7の使用状態を管理するテーブルである。図3に、ブロック管理テーブル42の一例を示す。
一般にフラッシュメモリ7の物理的なブロック(以下「物理ブロック」と称す。)への読み書きは、ホスト50から与えられる論理的なブロック(以下「論理ブロック」と称す。)のアドレスを指定して行われる。ブロック管理テーブル42の1つの役割は、論理ブロックのアドレス(論理アドレス)を物理ブロックのアドレス(物理アドレス)に変換する(あるいは、割り当てる)ことである。
図3のブロック管理テーブル42は、ブロックアドレスである物理アドレスと論理アドレスの対応関係と、その物理アドレス(すなわち、その物理アドレスが指定するブロック)の使用の有無を管理している。
例えば、図3に示すように、物理ブロックの使用の有無、及び各物理ブロックに割り当てられた論理アドレスの番号が書かれている。使用済み(使用の有無を示す欄の値が“0”)であるにもかかわらず、論理アドレスが書かれていない物理アドレス(図2の例では、物理アドレス「6」)が指定する物理ブロックは、その物理ブロックが不良ブロックであることを意味しており、書き込みアドレスとして選択されることはない。
(ホスト側の処理)
図4に示すフローチャートを参照し、ホスト50がメモリカード1の初期化時に行う処理について説明する。図4に示す処理は、ホスト50のコントローラ51により実行され、メモリカード1がホスト50に新たに装着されたときや、メモリカード1が装着された状態でホスト50の電源が投入された時等に実行される。
最初に、コントローラ51はメモリカード1に対し、メモリカード1を初期化するためのコマンドを発行する(S51)。メモリカード1はこのコマンドを受けると、所定の初期化処理を実行する。次に、コントローラ51は、メモリカード1において初期化処理の完了を確認するためのコマンドをメモリカード1に発行する(S52)。メモリカード1はこのコマンドを受けると、初期化処理が完了したか否かを示す応答をホスト50に送信する。コントローラ51はメモリカード1からの応答を受け、初期化処理の完了を判断する(S53)。
初期化処理が完了していれば(ステップS53でYES)、コントローラ51はメモリカード1に対して、「リトライ発生頻度」と、「エラー発生頻度」と、リトライ処理を行う場合と行わない場合のそれぞれに対する「書き込み時間の最大所要時間」とを要求する(S54)。この要求にしたがい、メモリカード1は、レジスタ32に格納されているそれらの情報をホスト50に送信する。コントローラ51は、メモリカード1から受信した情報にしたがい、メモリカード1の使用の可否を判断する(S55)。この判断は例えば以下のように行う。
すなわち、データ処理装置50はメモリカード1に書き込みエラーが発生してもある程度は許容できるようにバッファメモリ59を搭載している。コントローラ51は、メモリカード1から受信した情報にもとづき得られる判定条件がバッファメモリ59の許容量を超えるか否かに基づき、メモリカード1の使用の可否を判断する。判定条件として以下の2点を考慮する。
判定条件1: リトライ発生頻度×リトライ処理を行う場合の書き込み時間の最大所要時間
判定条件2: エラー発生頻度×リトライ処理を行わない場合の書き込み時間の最大所要時間
コントローラ51は、上記の判定条件1、2が双方とも基準値を超える場合は、バッファメモリ59の許容量を超え、システムとして破綻すると判断し、メモリカード1は使用不可であると判断する。判定条件1、2の少なくともいずれかが基準値内であれば、メモリカード1は使用可能であると判断する。メモリカード1が使用不可能であると判断された場合(ステップS55でNO)、エラーとして処理し(S63)、処理を終了する。
一方、メモリカード1が使用可能であると判断された場合(ステップS55でYES)、コントローラ1は、判定条件1に基づいて、さらにメモリカード1のリトライ機能を作動させるか、停止させるかについて判断する(S56)。すなわち、判定条件1を、リトライ機能の作動/停止を判断するための基準値と比較し、判定条件1がその基準値よりも大きい場合、メモリカード1のリトライ機能を停止させるようにする。これは、書き込み時間の最大所要時間が大きいと、ホスト50が動画記録等のリアルタイム処理を要求する場合に、リトライ処理の実行によりデータ記録に時間がかかり、リアルタイム処理が実現できない場合があるからである。
このように、ホスト50はメモリカード1のリトライ機能のON/OFFを設定できるため、リトライ機能が不要な場合はOFFすることで、書き込み時間の見積もり等が容易になる。すなわち、書き込みエラー時に、リトライ処理を実施せず、速やかにホスト50に通知されるようにすることにより、ホスト50側での対処が容易となる。
リトライ機能を停止させると判断した場合(ステップS57でYES)、コントローラ51は、メモリカード1に対し、レジスタ32内のリトライイネーブルビットをOFFに設定するためのコマンドを発行する(S58)。メモリカード1はこのコマンドを受けると、レジスタ32内のリトライイネーブルビットをOFFに設定する。
次に、コントローラ51は、メモリカード1に対し、誤り訂正を行う場合と行わない場合のそれぞれについての誤り率を要求する(S59)。
そして、受信した誤り訂正を行わない場合の誤り率に基づいてメモリカード1の使用の可否を判断する(S60)。例えば、メモリカード1の誤り訂正を行わない場合の誤り率が非常に高く、ホスト側の誤り訂正機能を用いても訂正不能で、許容できるデータ品質が得られないと考えられる場合は、メモリカード1は使用不可能であると判断する。具体的には、メモリカード1の誤り訂正を行わない場合の誤り率を、所定の基準値(第1の基準値)と比較し、そのメモリカード1の誤り率が、第1の基準値よりも大きい場合、そのメモリカード1は使用不可能であると判断する。なお、第1の基準値は、ホスト50側で訂正可能な誤り率よりも高い値に設定する。
メモリカード1が使用不可能であると判断した場合(ステップS60でNO)、エラーとして処理し(S63)、処理を終了する。
メモリカード1が使用可能であると判断した場合(ステップS60でYES)、コントローラ1は、メモリカード1の誤り訂正を行う場合の誤り率に基づいて、メモリカード1の誤り訂正機能を作動させるか、停止させるかについて判断する(S61)。メモリカード1は使用可能であると判断されるが、メモリカード1の誤り訂正機能では十分なデータ品質が得られないと判断される場合は、ホスト50側で誤り訂正を実行する。このため、メモリカード1の誤り訂正機能を停止させる。具体的には、誤り訂正を行う場合のメモリカード1の誤り率が、訂正機能の作動/停止を判断するための基準値(第2の基準値、第2の基準値<第1の基準値)より大きいときは、メモリカード1において誤り訂正機能を停止させるようにする。
メモリカード1の誤り訂正機能を停止させると判断した場合(ステップS61でYES)、コントローラ51は、メモリカード1に対し、レジスタ32内の誤り訂正イネーブルビットをOFFに設定するためのコマンドを発行する(S62)。メモリカード1はこのコマンドを受けると、レジスタ32内の誤り訂正イネーブルビットをOFFに設定する。
このように、ホスト側からメモリカード1の誤り訂正機能のON/OFFを設定できる。このため、高い誤り訂正能力を有するホスト50は、メモリカード1の誤り訂正能力が要求する能力より低いと判断したときは、メモリカード1の誤り訂正機能を停止させ、ホスト側で誤り訂正することが可能となり、これによりデータ信頼性を向上できる。
以上のように、ホスト50は、メモリカード1の初期化処理時において、メモリカード1からそのメモリカードに固有の特性値を読み出し、その特性値に基づき、必要に応じてメモリカード1のリトライ機能及び誤り訂正機能のON/OFFを設定することができる。
(データ書き込み処理)
メモリカード1のデータ書き込み処理について、図5に示すフローチャートを参照して説明する。図5に示すフローチャートは、メモリカード1のコントローラ3により実行される。また、本処理はメモリカード1がホスト50から書き込みコマンドを受信したときに開始される。なお、以下では説明の便宜上、フラッシュメモリ7におけるデータ書き込み単位であるページとデータ消去単位であるブロックとを同じサイズに設定している。よって、データはブロック単位で書き込まれる。
まず、MPU31は、ホストインタフェース2を介して、ホスト50から書き込みコマンドを受信すると、ホスト50から送られてくる書き込みデータをバッファメモリ6に一時的に格納する(S1)。
次に、MPU31は、図3に示すブロック管理テーブル42に書き込まれている情報を参照し、書き込み可能な物理アドレスすなわち未使用(”1”)の物理アドレスをサーチして求める(S2)。
次に、バッファメモリ6からブロック単位でデータを読み出すとともに、誤り訂正手段33によって誤り訂正符号を付加し、フラッシュメモリ7内のレジスタへデータを転送する(S3)。
次に、フラッシュメモリ7に対して書き込みコマンドを発行し、サーチした物理アドレスにデータの書き込みを行う(S4)。書き込み動作後、フラッシュメモリ7においてデータ書き込みの処理ステータスが正常であるか否かを判断する(S5)。そのため、フラッシュメモリ7に対してステータスリードコマンドを発行し、フラッシュメモリ7においてデータ書き込みが正常に完了したか否かを示す状態をフラッシュメモリ7から取得する。ステータスリードにおいて、エラーが返信される場合としては、書き込みエラーに加えて、フラッシュメモリに特有のイレース処理による異常終了した場合等が含まれる。
MPU31は、フラッシュメモリ7からのステータスリードコマンドに対する応答により、データ書き込みが正常に行われたと判断した場合(ステップS5でYES)、ブロック管理テーブル42上の対応するアドレスについて、使用の有無に関する情報を未使用“1”から使用“0”に書き換え、それとともに、論理アドレス(論理ブロック番号)を書き込み(S6)、書き込み処理を正常終了する(S7)。書き込み処理が正常終了すると、その旨がホスト50に通知される。
一方、ステップS5において、データ書き込みが正常に行われなかったと判断された場合(ステップS5でNO)、データ書き込みを行ったアドレスに関し、ブロック管理テーブル42上の使用の有無に関する管理情報を未使用“1”から使用“0”に書き換える(S8)。
次に、レジスタ32に保持されたリトライイネーブルビットを参照し、その値が、ON(イネーブル(enable))かOFF(ディセーブル(disable))かを判断する(S9)。
リトライイネーブルビットがOFFのとき(ステップS9でNO)、これはリトライ機能の停止を意味することから、リトライ処理を実行せずに、所定のエラー処理を実行後(S11)、処理を終了する。所定のエラー処理は、例えば、ホスト50へエラーの発生を通知する。この場合、ブロック管理テーブル42への論理アドレスの書き込みは行われない。すなわち、その物理アドレスは不良ブロックとなる。
一方、リトライイネーブルビットがON(イネーブル)のとき(ステップS9でYES)、その書き込み処理がリトライ処理(2回目の処理)であるか否かを判断する(S10)。リトライ処理であると判断された場合、所定のエラー処理を実行後(S11)、処理を終了する。この場合、ブロック管理テーブル42への論理アドレスの書き込みは行われない。すなわち、その物理アドレスは不良ブロックとなる。
ステップS10においてリトライ処理でなかった場合は、リトライ処理を実行するためにステップS12に進む。ステップS12においては、ステップS2と同様に、ブロック管理テーブル42を参照し、書き込み可能な物理アドレスすなわち未使用(“1”)の物理アドレスをサーチして決定した後、ステップS4に移行する。その後の処理は前述したとおりである。
以上のような手順にしたがい、バッファメモリ6に保持されたデータはブロック単位でフラッシュメモリ7への書き込み(転送)が繰り返され、全てのデータの書き込みが正常終了した時点で、書き込みが完了したことがホスト50に通知される。また、データ書き込み時に異常が発生した場合、リトライ機能がOFFであれば、それ以降のデータの書き込みは行われず、異常発生時点で、ホスト50に通知される。
以上のように本実施の形態によれば、ステップS9において、リトライイネーブルビットがイネーブルの場合(ステップS9でYES)にのみ、リトライ処理が実施される。このため、ホスト50からリトライイネーブルビットをOFF(ディセーブル)に設定しておくことで、書き込み異常があった場合に、リトライ処理を待たずに、異常がホスト50に通知されるようにすることができる。更に、事前にレジスタ32から読み出した、書き込み時間の最大所要時間、リトライ発生頻度を参照することで、それらの値に応じたエラー処理をホスト50側で実施することができる。
なお、上記実施の形態では、リトライ処理時に書き込みデータをホスト50から再度転送しない場合について説明したが、書き込みデータを再度転送するようにしても良い。
(データ読み出し処理)
次にメモリカード1のデータ読み出し処理について、図6に示すフローチャートを参照して説明する。図6に示される処理は、コントローラ3により実行されるものである。また、本処理はメモリカード1がホスト50から読み出しコマンドを受信したときに開始される。
コントローラ3は、ホストインタフェース2を介してホスト50から読み出しコマンドを受信すると、MPU31はブロック管理テーブル42に書き込まれている情報を参照し、ホスト50から読み出しアドレスとして指定された論理アドレスに対応する物理アドレスをサーチして求める(S21)。
次に、サーチした物理アドレスが指定するブロックからデータの読み出しを行う(S22)。このため、MPU31はフラッシュメモリ7に対して読み出しコマンドを発行し、これにより、フラッシュメモリ7内のレジスタに読み出したデータが保持される。
次に、フラッシュメモリ7のレジスタからデータが読み出され、誤り訂正手段33を経由して誤りが検出された後、バッファメモリ6に転送され、一時的に格納される(S23)。
次に、レジスタ32に保持された誤り訂正イネーブルビットがON(イネーブル)か否かを判断する(S24)。誤り訂正イネーブルビットがON(イネーブル)すなわち誤り訂正処理をする場合(ステップS24でYES)は、誤りが検出されたか否かを判断する(S25)。誤りが検出されていない場合(ステップS25でNO)、正常終了する。誤りが検出された場合(ステップS25でYES)は、誤りの位置、大きさを算出し(S26)、それらの情報に基づいて誤り訂正可能か否かを判断する(S27)。
ステップS27において、検出された誤りがメモリカード1の誤り訂正能力以内の場合、バッファメモリ6に保持されたデータの訂正を行い(S28)、正常終了する(S29)。検出された誤りがメモリカード1の訂正能力を超えており、訂正不能と判断した場合(ステップS27でNO)、異常終了する(ステップS30)。
また、誤り訂正イネーブルビットがOFF(ディセーブル)の場合(ステップS24でNO)、誤り訂正を行うことなく正常終了する(S29)。
正常終了(S29)の場合、フラッシュメモリ7からバッファメモリ6へのブロック単位の読み出しが繰り返され、バッファメモリ6上のデータがホストインタフェース2を通してホスト50へ転送される。異常終了(S30)の場合、その旨がホスト50に通知され、異常発生後のフラッシュメモリ7からのデータの読み出しは停止する。
以上のように本実施の形態によれば、ステップS24において、誤り訂正イネーブルビットがイネーブル(ON)の場合のみ誤り訂正処理を行うため、誤り訂正イネーブルビットをディセーブルにしておくことで、たとえ、データの読み出し時に訂正能力を超える誤りがあったとしても、フラッシュメモリ7内の全てのデータを読み出し、出力することが可能となる。
つまり、ホスト50は、レジスタ32から誤り訂正処理を行う場合の誤り率を予め読み出し、それに基づいて誤り訂正イネーブルビットの設定を決定することで、メモリカード1における誤り訂正機能が不要な場合は、その機能を停止させることが可能となる。例えば、ホスト50がメモリカード1よりも強力な誤り訂正機能を有し、かつ、高いデータ信頼性を望む場合は、誤り訂正イネーブルビットをディセーブル(OFF)に設定し、誤り訂正機能を停止させておくことで、データの書き込み時には、ホスト側で強力な誤り訂正符号を付加した後、データの書き込みを行うことが可能となり、また、データ読み出し時には、ホスト側で誤り訂正を行うことが可能となり、これにより、データアクセス時の誤り率を低下させることが可能となる。
なお、上記実施の形態では、不揮発性メモリを搭載したメモリカードに実施した場合について説明したが、その他、例えば電子機器が内蔵する不揮発性メモリに対しても、同様に実施可能であり、本発明の思想の適用はメモリカードに限られるものではないことは言うまでもない。
本発明は、リトライ処理または誤り訂正処理を実施可能なメモリカードや、そのようなメモリカードに対してアクセスするデータ処理装置に適用できる。特に、本発明は、リトライ処理または誤り訂正処理が可能なメモリカードにおいて、ホスト側から必要に応じて、メモリカードにおけるリトライ処理または誤り訂正処理の作動/停止の設定を可能とするため、高い処理能力を有し、メモリカード側の能力に頼らないデータ処理装置(ホスト)及びそれに接続するメモリカードに有用である。
なお、本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。本出願は日本国特許出願、特願2004−026413号(2004年2月3日提出)に関連し、それらの内容は参照することにより本文中に組み入れられる。
本発明の実施形態におけるメモリカード及びホスト(データ処理装置)の構成を示すブロック図 メモリカードのレジスタに格納される管理情報の例を示す図 メモリカードに格納されるブロック管理テーブルの構成とデータ例を示す図 ホストにおけるメモリカードの初期化時に実行される処理の動作を示すフローチャート メモリカードにおける書き込み処理の動作を示すフローチャート メモリカードにおける読み出し処理の動作を示すフローチャート
符号の説明
1 メモリカード
2 ホストインタフェース
3 コントローラ
4 RAM
5 インストラクションROM
6 バッファメモリ
7 フラッシュメモリ
31 マイクロプロセッサ(MPU)
32 レジスタ
33 誤り訂正手段
41 ワークRAM
42 ブロック管理テーブル
50 ホスト(データ処理装置)
51 コントローラ
53 データ格納部
55 カードインタフェース
57 入出力処理部
59 バッファメモリ

Claims (6)

  1. データの読み出し、書き込みが可能で、かつ、書き込み動作時にエラーが発生したときにリトライ機能を実行するか否かを指定するためのリトライ設定情報及びメモリカード固有の特性情報を管理情報として格納するメモリカードにアクセス可能なデータ処理装置であって、
    前記メモリカードとの間でコマンドやデータの送受信を行うカードインタフェースと、
    前記データ処理装置の動作を制御するコントローラとを備え、
    前記コントローラは、前記メモリカードが前記データ処理装置に装着されたとき又はデータ処理装置の電源投入時に、前記メモリカードから前記特性情報を読み出し、該読み出した特性情報に基づき、メモリカードにおいてリトライ機能を実行させるか否かの判断を行い、その判断結果にしたがい、前記リトライ設定情報を設定するためのコマンドを前記カードインタフェースを介して前記メモリカードに送信する、
    データ処理装置。
  2. 前記特性情報は、前記メモリカードにおいてデータ書き込みに要する最大の所要時間に関する情報を含む、請求項1記載のデータ処理装置。
  3. 前記特性情報は、前記メモリカードにおいてリトライ処理が発生する頻度に関する情報を含む、請求項1記載のデータ処理装置。
  4. データの読み出し、書き込みが可能で、かつ、書き込み動作時にエラーが発生したときにリトライ機能を実行するか否かを指定するためのリトライ設定情報及びメモリカード固有の特性情報を管理情報として格納するメモリカードに対する設定方法であって、
    前記メモリカードから前記特性情報を読み出し、
    該読み出した特性情報に基づいて、メモリカードにおいてリトライ処理を実行させるか否かの判断を行い、
    その判断結果にしたがい、前記リトライ設定情報を設定するためのコマンドを前記カードインタフェースを介して前記メモリカードに送信する、
    設定方法。
  5. 前記特性情報は、前記メモリカードにおいてデータ書き込みに要する最大の所要時間に関する情報を含む、請求項4記載の設定方法。
  6. 前記特性情報は、前記メモリカードにおいてリトライ処理が発生する頻度に関する情報を含む、請求項4記載の設定方法。
JP2005517700A 2004-02-03 2005-02-02 データ処理装置並びにメモリカードの設定方法 Expired - Fee Related JP4679370B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004026413 2004-02-03
JP2004026413 2004-02-03
PCT/JP2005/001496 WO2005076203A1 (ja) 2004-02-03 2005-02-02 メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010285813A Division JP5079868B2 (ja) 2004-02-03 2010-12-22 メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法

Publications (2)

Publication Number Publication Date
JPWO2005076203A1 JPWO2005076203A1 (ja) 2007-10-18
JP4679370B2 true JP4679370B2 (ja) 2011-04-27

Family

ID=34835848

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005517700A Expired - Fee Related JP4679370B2 (ja) 2004-02-03 2005-02-02 データ処理装置並びにメモリカードの設定方法
JP2010285813A Expired - Fee Related JP5079868B2 (ja) 2004-02-03 2010-12-22 メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010285813A Expired - Fee Related JP5079868B2 (ja) 2004-02-03 2010-12-22 メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法

Country Status (4)

Country Link
US (1) US7624298B2 (ja)
JP (2) JP4679370B2 (ja)
CN (1) CN100535933C (ja)
WO (1) WO2005076203A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006093201A1 (ja) * 2005-03-03 2006-09-08 Matsushita Electric Industrial Co., Ltd. メモリモジュール、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリの読み書き方法
US7831882B2 (en) 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US9459960B2 (en) 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
JPWO2007049455A1 (ja) * 2005-10-28 2009-04-30 パナソニック株式会社 半導体メモリカード
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
US7809899B2 (en) * 2007-05-29 2010-10-05 Lsi Corporation System for integrity protection for standard 2n-bit multiple sized memory devices
CN101354754B (zh) * 2007-07-26 2011-03-16 上海瀚银信息技术有限公司 一种内嵌cpu ic的智能存储卡及其应用
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
JP2009252036A (ja) * 2008-04-08 2009-10-29 Panasonic Corp メモリカード
US9594679B2 (en) * 2008-05-01 2017-03-14 Sandisk Il Ltd. Flash cache flushing method and system
WO2010137178A1 (en) 2009-05-25 2010-12-02 Hitachi,Ltd. Storage subsystem
TWI416523B (zh) * 2009-06-10 2013-11-21 Silicon Motion Inc 非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
TWI424435B (zh) 2009-08-31 2014-01-21 Phison Electronics Corp 對快閃記憶體下達程式化指令的方法、控制器與儲存系統
CN102023811B (zh) * 2009-09-10 2012-11-28 群联电子股份有限公司 对闪存下达程序化指令的方法和系统
KR101279710B1 (ko) * 2011-04-01 2013-06-27 엘에스산전 주식회사 Plc 데이터 로그모듈 및 이의 데이터 저장 방법
US8656251B2 (en) * 2011-09-02 2014-02-18 Apple Inc. Simultaneous data transfer and error control to reduce latency and improve throughput to a host
US9323608B2 (en) 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US9009570B2 (en) * 2012-06-07 2015-04-14 Micron Technology, Inc. Integrity of an address bus
EP2936496B1 (en) * 2012-12-21 2018-11-28 Hewlett-Packard Enterprise Development LP Memory module having error correction logic
JP6184121B2 (ja) * 2013-02-08 2017-08-23 株式会社メガチップス 記憶装置検査システム、記憶装置検査方法および不揮発性半導体記憶装置
CN103546638B (zh) * 2013-10-29 2016-02-03 广东欧珀移动通信有限公司 一种快闪存储卡的掉卡恢复方法及其移动终端
US11361839B2 (en) 2018-03-26 2022-06-14 Rambus Inc. Command/address channel error detection
US10990463B2 (en) 2018-03-27 2021-04-27 Samsung Electronics Co., Ltd. Semiconductor memory module and memory system including the same
KR102549584B1 (ko) * 2018-03-27 2023-06-30 삼성전자주식회사 메모리 모듈을 포함하는 메모리 시스템, 메모리 모듈, 그리고 메모리 모듈의 동작 방법
US10691377B2 (en) 2018-09-21 2020-06-23 Micron Technology, Inc. Adjusting scan event thresholds to mitigate memory errors
US11537464B2 (en) * 2019-06-14 2022-12-27 Micron Technology, Inc. Host-based error correction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714392A (ja) * 1993-06-14 1995-01-17 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
JPH0728690A (ja) * 1993-07-14 1995-01-31 Hitachi Ltd フラッシュメモリシステム
JPH08235028A (ja) * 1995-02-28 1996-09-13 Toshiba Corp フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
JPH01209552A (ja) * 1988-02-17 1989-08-23 Hitachi Maxell Ltd 半導体ファイルメモリ装置
US5369532A (en) * 1991-11-12 1994-11-29 Storage Technology Corporation Method and apparatus for managing data on rewritable media to define read/write operational status
US5828583A (en) * 1992-08-21 1998-10-27 Compaq Computer Corporation Drive failure prediction techniques for disk drives
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
JP3242890B2 (ja) * 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
JP4031190B2 (ja) 2000-09-29 2008-01-09 株式会社東芝 メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置
US7106744B2 (en) * 2001-01-17 2006-09-12 Broadcom Corporation System and method for a guaranteed delay jitter bound when scheduling bandwidth grants for voice calls via cable network
US7076604B1 (en) * 2002-12-24 2006-07-11 Western Digital Technologies, Inc. Disk drive employing a disk command data structure for tracking a write verify status of a write command
US7177989B1 (en) * 2003-12-31 2007-02-13 Intel Corporation Retry of a device read transaction
JPWO2006033156A1 (ja) * 2004-09-24 2008-05-15 株式会社ルネサステクノロジ 半導体装置
JP2006209525A (ja) * 2005-01-28 2006-08-10 Matsushita Electric Ind Co Ltd メモリシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714392A (ja) * 1993-06-14 1995-01-17 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
JPH0728690A (ja) * 1993-07-14 1995-01-31 Hitachi Ltd フラッシュメモリシステム
JPH08235028A (ja) * 1995-02-28 1996-09-13 Toshiba Corp フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置

Also Published As

Publication number Publication date
CN1914627A (zh) 2007-02-14
CN100535933C (zh) 2009-09-02
JP2011108252A (ja) 2011-06-02
US20070186040A1 (en) 2007-08-09
US7624298B2 (en) 2009-11-24
WO2005076203A1 (ja) 2005-08-18
JP5079868B2 (ja) 2012-11-21
JPWO2005076203A1 (ja) 2007-10-18

Similar Documents

Publication Publication Date Title
JP4679370B2 (ja) データ処理装置並びにメモリカードの設定方法
JP4722839B2 (ja) メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
US7280416B2 (en) Nonvolatile memory system
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
JP3233079B2 (ja) データ処理システム及びデータ処理方法
KR20190022987A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20150052415A1 (en) Data storage device, operating method thereof and data processing system including the same
JP2010529557A (ja) 新たな不良ブロック検出
US11068177B2 (en) Data storage devices and data processing methods for shortening time required for a host device to wait for initialization of the data storage device
KR102444606B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US8151136B2 (en) Method and device for correcting code data error
KR20170086840A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP2004220068A (ja) メモリカード及びメモリへのデータ書き込み方法
TWI779046B (zh) 記憶體裝置及包括其的記憶體系統
KR102527925B1 (ko) 메모리 시스템 및 그것의 동작 방법
JP2009176147A (ja) 電子機器および電子機器のメモリアクセス許可判別方法
US11467910B2 (en) Memory system re-performing access operation and operating method thereof
JP3620478B2 (ja) 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法
US10628067B2 (en) Memory system and operating method thereof
US8627157B2 (en) Storing apparatus
US20230214151A1 (en) Memory system and operating method thereof
JP3444988B2 (ja) 不揮発性半導体ディスク装置およびその制御方法
JP2010079371A (ja) 記憶装置及び電子機器
JP2005234928A (ja) 記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees