JP2004118937A - Nonvolatile memory and data storage device having the same - Google Patents
Nonvolatile memory and data storage device having the same Download PDFInfo
- Publication number
- JP2004118937A JP2004118937A JP2002280956A JP2002280956A JP2004118937A JP 2004118937 A JP2004118937 A JP 2004118937A JP 2002280956 A JP2002280956 A JP 2002280956A JP 2002280956 A JP2002280956 A JP 2002280956A JP 2004118937 A JP2004118937 A JP 2004118937A
- Authority
- JP
- Japan
- Prior art keywords
- flag
- block
- blocks
- state
- data
- 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.)
- Granted
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、消去などの自身の制御のために参照されるフラグを記憶する不揮発性メモリおよびこれを有したデータ記憶装置に関する。
【0002】
【従来の技術】
フラッシュメモリ等の不揮発性メモリは、記憶されたデータを更新することができるものとして知られている。しかしフラッシュメモリの記憶データを更新する際には、元のデータに上書きするのではなく、元のデータを一旦消去した後に新たなデータを書き込むことになる。
フラッシュメモリの記憶領域は複数のブロックで構成され、各ブロックには複数個のメモリセルが含まれている。データの消去はブロック単位に行なわれる。データを書き込む単位に比べて大きなブロック単位で記憶内容を消去される。例えば、書き込む領域を指定する一つのアドレスによりデータが書き込める容量は数バイトであるに対し、消去するブロックを指定する一つのアドレスによりデータが消去される容量は数Kバイトになる。
【0003】
ここで一つ問題となるのは、ブロックの消去動作の途中に電源が遮断された場合である。再び電源を投入したときにブロック内の消去が完全に行なわれていない状態となる。正常に消去されていないブロックに書き込みを行なうと正常なデータの記憶ができず不揮発性メモリの動作にエラーが生じる。
この問題を防ぐため、ある従来技術によると、複数のブロックにそれぞれ対応した消去情報ビットを不揮発性メモリに設けている。この消去情報ビットは対応のブロックの消去状態を示す。電源が投入されたときに消去情報ビットを参照することにより対応のブロックが完全に消去されたかどうかが判断できる。もし完全に消去されていないならば、対応のブロックに再度消去を施せばよい。このような技術は、例えば次の特許文献1に開示されている。
【0004】
【特許文献1】
特開2001−250388号公報
【0005】
【発明が解決しようとする課題】
この特許文献1の図1を参照すると、データの記憶領域であるブロック(メモリセル領域)とは別の領域(消去情報記憶領域)を設け、この領域に各ブロックに対応する消去情報ビットが記憶されている。この領域は、ブロックとは独立に消去可能な不揮発性の記憶素子で構成される。しかしながら、消去情報ビットの記憶専用にこの独立に消去可能な領域を別途設けることとなり、不揮発性メモリのコスト上昇を招く。
【0006】
そこで特許文献1の図3において、専用の記憶領域を設けるのでなくデータを記憶するブロック内に消去情報ビットを設ける例が開示されている。しかし、各ブロック内にそのブロック自身の消去情報ビットを設けている。したがってこの例でもブロックの消去動作中に不意に電源が遮断されたときやはり問題がある。ブロックの消去動作中に電源が遮断されたときブロックの一部の領域は消去され他の部分は消去されない不完全消去の状態がありえる。よってそのブロックに関する消去情報がこの消去情報が誤った情報をもつ可能性がある。例えば特許文献1の図4によると、ステップS15の途中で電源が遮断されると、消去情報の部分が「10」と誤った値となりうる。この状態で再度電源が投入される場合、誤って消去か完了したと判断され、ブロックが不完全のままデータの書き込みが行われることになる。
【0007】
また不揮発性メモリには書き込みにより記憶した状態が途中で変化してしまう揮発エラーが存在する。特許文献1でも一つの消去情報として“00”、“10”、“11”の3値でそれぞれ異なる状態を示している。例えば“11”が揮発エラーにより“10”に変化してしまうと、消去情報を誤って判断することになる。特に特許文献1の図3のようにブロック内に消去情報ビットをもたせるような場合に、不揮発性メモリによっては、揮発エラーを修正するためにはブロックを一旦消去しなければならないものもある。そのとき、ブロック内などのデータを別のメモリに待避させた後ブロックを消去するなどの処置を要する。
【0008】
よってこの発明の目的は、自身の制御のために参照されるフラグを記憶する不揮発性メモリに関し、ブロックの消去途中に電源が遮断されてもそのフラグの内容を正しく表現できるとともに、フラグを設けるにあたってはコストを抑えた不揮発性メモリを提供することにある。
この発明の別の目的は、電源が遮断されてもブロックの消去状態を正しく把握することのできる不揮発性メモリおよびこれを有したデータ記憶装置を提供することにある。
この発明のさらに別の目的は、不揮発性エラーが発生しても参照されるべき情報を正しく認識することのできる不揮発性メモリおよびこれを有したデータ記憶装置を提供することにある。
【0009】
【課題を解決するための手段】
この発明に係る不揮発性メモリは、その一つ一つが消去の単位となる第1及び第2のブロックにそれぞれ対応して設けられ第1及び第2のブロックそれぞれに関する情報を表すフラグを有する。第1及び第2のブロックの一方に対応したフラグを第1及び第2のブロックの他方に持たせている。第1及び第2のブロックの一方の消去動作中に電源が遮断されても、フラグの内容は不意に変化することはないので、フラグは正しい内容を保持している。しかもその一方のブロックに対応するフラグを設けるために特別な記憶領域を設ける必要もないので、コストも抑えられる。
またその他方のブロックに対応するフラグもその一方のブロックに持たせることにより、その他方のブロックの消去途中に電源が遮断されても、対応するフラグの内容が不意に変化することもない。よってフラグは正しい内容を保持している。しかもその他方のブロックに対応するフラグを設けるために特別な記憶領域を設ける必要もないので、さらにコストが抑えられる。
【0010】
またこの発明に係る不揮発性メモリは、その一つ一つが消去の単位となる複数のブロックにそれぞれ対応して設けられブロックそれぞれに関する情報を表すそれぞれフラグを有するときに、各フラグをその複数のブロックの他のブロック内に持たせている。複数のブロックのいずれかの消去動作中に電源が遮断されたとしてもフラグの内容が不意に変化することはない。しかも複数のブロックそれぞれ対応するフラグを設けるために特別な記憶領域を持たせる必要もない。
【0011】
フラグは特にブロックの消去に関する状態を示すものとし、例えば、ブロックが消去可能な状態であることを示す第1のフラグと、ブロックの消去が完了したことを示す第2のフラグとを含む。これにより電源が途中で遮断されてもこれらのフラグを参照すればブロックの消去状態を正しく知ることができる。
第1のフラグがセットされたが第2のフラグがセットされていない場合には、対応のブロックが消去できる状態にあると判断でき、第1及び第2のフラグが共にセットされている場合には、ブロックは消去が終了しておりデータの書きこみが行なえる状態にあるかすでに書きこみに使用している状態にあると判断できる。このように電源再投入後にブロックの消去状態がわかるので、ブロックを消去不充分のままデータが書きこまれるのを防げる。
【0012】
また各フラグは各々が複数のビットからなる複数のフラグ領域を有する。この複数のフラグ領域のうち少なくとも一つがある特定の値を有するとき各フラグがある特定の状態を示すこととする。複数のフラグ領域のいずれかに揮発エラーが生じても別の領域で一つでも揮発エラーを起こしていなければ、フラグは正常な状態を示すことになる。
【0013】
従ってこの発明に係るデータ記憶装置に従えば、不揮発性メモリに設けられたフラグを参照して不揮発性メモリを制御するコントローラは、フラグにおける複数のフラグ領域の少なくとも一つがある特定の値を有するときにフラグがある特定の状態であると判断するようにし、その状態に応じて適切な処理を行なうことができる。
【0014】
【発明の実施の形態】
本発明の実施の形態を、図面を用いて説明する。なお図面において同一の符号は、同一のもの又は相当するものを表す。
実施の形態1.
図1は実施の形態1によるセキュリティ機能付きコンピュータシステム10の構成図を示す。このシステム10は単一の半導体チップ上に形成された集積回路で構成され、バス11に共通に接続されたマイクロコントローラ(MCU)12、不揮発性メモリ13、ランダムアクセスメモリ(RAM)14、リードオンリーメモリ(ROM)15及び暗号/復号回路16を備える。データ及びプログラムはバス11を介してMCU12と不揮発性メモリ13、RAM14、ROM15及び暗号/復号回路16との間で転送される。MCU12はROM15又は不揮発性メモリ13に記憶されたプログラムを実行してシステム全体を制御する。またシステム10とその外部との間でデータの通信が行なわれる際、暗号/復号回路16は送信データを暗号化し、その暗号化データが外部に送信される。また暗号/復号回路16は外部から受信した暗号化データを復号し、その復号データはシステム10内で処理される。
【0015】
不揮発性メモリ13は、従来技術と同様、その一つ一つがデータの消去単位(一回のアドレス指定で消去されるメモリセルの単位)となる複数のブロックを有する再書き込み可能なメモリで、よく知られているフラッシュメモリが好ましい。複数のブロックはそれぞれ同じ容量を有し、一ブロック当たり例えば2Kないし64Kバイト程度である。一方データの書き込み単位(一回のアドレス指定で書き込めるデータのビット数)は、消去単位(一つのブロックの容量)よりも少ない。例えば書き込み単位は2バイト(=16ビット)である。
【0016】
図2は、不揮発性メモリ13の構造およびその記憶内容を示す。不揮発性メモリ13は、例えば5つのブロック#0〜#4を有する。3つのブロック#2〜#4には、書換えないことを前提とした内容が記憶される。MCU12が実行するプログラム、管理番号、暗号/復号回路16がデータの暗号化及び復号化の際に使用する秘密鍵及び公開鍵、等が不揮発性メモリ13に記憶される。
一方、2つのブロック#0、#1各々は、システム10の動作中に頻繁にデータが書き込まれるデータ記憶領域21と、それぞれフラグを格納する2つのフラグ領域22、23が記憶される。
【0017】
ブロック#0、#1にそれぞれ対応するフラグが設けられる。フラグは対応のブロックの消去に関する情報を示す。各ブロックに対応するフラグは、ブロック#0、#1のうち対応のブロックとは異なる別のブロックのフラグ領域22、23に記憶される。消去に関する情報を意味するフラグを参照しながらMCU12は不揮発性メモリ13の消去及びデータ書きこみを制御する。したがって不揮発性メモリ13およびそれを制御するMCU12により一つのデータ記憶装置が構成される。
【0018】
消去に関する情報を示すフラグは、具体的には消去開始フラグと消去完了フラグとを含む。消去開始フラグは対応のブロックが消去可能な状態かどうかを示し、消去完了フラグは対応のブロックの消去が完了したかどうかを示す。ブロックが消去可能な状態にあるとき、対応の消去開始フラグはオンし、ブロックの消去が完了した状態にあるとき、対応の消去開始フラグはオンする。ブロック#0の消去開始フラグF0S、F0Cはブロック#1に記憶され、ブロック#1の消去開始フラグF1S、F1Cはブロック#0に記憶される。
【0019】
データが消去されるとブロック内の全メモリセルはゼロクリアされるものとする。よってブロック#0が消去されればブロック#1に対応する2つのフラグF1S、F1Cもゼロにクリアされる。このクリアされた状態をフラグF1S、F1Cのオフとする。同じくブロック#1が消去されればブロック#0に対応する2つのフラグF0S、F0Cもクリアされる。このクリアされた状態をフラグF0S、F0Cのオフとする。またフラグF0S、F0C、F1S、F1Cの各々に特定の値が書き込まれた状態をフラグF0S、F0Cのオンとする。
【0020】
図3はフラグF0S、F0C、F1S、F1C各々のフラグの具体的構成例を示す。
フラグは複数のビットで構成され、特に不揮発性メモリ13の書き込み単位と同じビット数(16ビット)とする。フラグが図3(a)のように全ビットがすべて0である“0000H”の値(第1の値)を有するとき、フラグのオフとする(Hはその前の4桁“0000”が16進数で表現されていることを示す。以下同じ)。フラグが第2の値、ここでは図3(b)のようにフラグの全ビットが1である“1111H”の値(第2の値)を有するとき、フラグのオンとする。またフラグの16ビットが他の値を有するときはフラグエラーとされる。例えばフラグのオフ状態時にフラグ内の1ビットに揮発エラーが生じた場合(例えば“0001H”と変化するような場合)、それはエラーとして判断され、言い換えればオン状態とは判断されない。
【0021】
MCU12は、4つのフラグF0S、F0C、F1S、F1Cの内容を参照し、ブロック#0、#1がいかなる状態にあるかを判定する。
図4は4つのフラグに対するブロック#0、#1の状態を示したものである。4つのフラグがすべてオフである状態▲1▼では、ブロック#0、#1がともに使用されていない初期状態(セットアップ前)にある。消去開始フラグF1Sがオンで他の3つのフラグがオフである状態▲2▼では、ブロック#0は書き込み及び読み出しで使用されている状態(使用中)にあり、ブロック#1はこれ以上データの書き込みができず消去を待っている状態(消去待ち)にある。消去開始フラグF1S、消去完了フラグF1Cがともにオンし、消去開始フラグF0S、消去完了フラグF0Cがともにオフしている状態▲3▼では、ブロック#0は使用中の状態にあり、ブロック#1は消去が完了し使用されることを待っている状態(消去完了)にある。消去開始フラグF0Sがオンし他の3つのフラグがともにオフしている状態▲4▼では、ブロック#0が消去待ちの状態にあり、ブロック#1は使用中の状態にある。
【0022】
消去完了フラグF0Cがオフし他の3つのフラグがオンしている状態▲5▼では、ブロック#0は消去待ちの状態にありブロック#1は使用中の状態にある。消去開始フラグF0S、消去完了フラグF0Cがともにオフし、消去開始フラグF1S、消去完了フラグF1Cがともにオフしている状態▲6▼では、ブロック#0が消去完了の状態にあり、ブロック#1は使用中の状態にある。消去完了フラグF1Cがオフし他の3つのフラグがオンしている状態▲5▼では、ブロック#0は使用中の状態にありブロック#1は消去待ちの状態にある。状態▲1▼〜▲7▼以外の状態▲8▼はフラグエラーである。
【0023】
次に不揮発性メモリ13の消去及び書き込み動作について説明する。図5は電源投入時における不揮発性メモリ13の動作を示すフローチャート図である。
本実施の形態では、不揮発性メモリ13のブロック内の消去は電源の投入時に行われるようになっている。電源が投入されると、MCU12は先ず不揮発性メモリ13に記憶されているフラグF0S、F0C、F1S、F1CをRAM14にコピーする(S21)。次いでMCU12は、RAM14に保持されたフラグF0S、F0C、F1S、F1Cの内容をチェックする(S23)。
【0024】
フラグのチェックの結果、状態▲1▼にある場合はセットアップ前と判断され、ブロック#0、#1のどちらにも書き込みが可能である。ここではブロック#0に最初にデータが書き込まれる側のブロックとし、MCU12はブロック#1に対応する消去開始フラグF1S、F1Cをともにオンする(S25)。その結果、全フラグは状態▲3▼となる。そして電源投入後にデータが最初に書き込まれるブロック#0の記憶場所を特定するために、MCU12はブロック#0内の先頭アドレスをRAM14に記憶する(S27)。
【0025】
ステップS23で全フラグが状態▲7▼であると判断されると、MCU12は消去待ちであるブロック#1を選択しその記憶内容を消去する(S29)。ブロック#1の消去により消去開始フラグF0S、消去完了フラグF0Cはともにオフとなる。このとき全フラグは状態▲2▼を示す。その後、MCU12はブロック#0上の消去完了フラグF1Cをオンする(S31)。このとき全フラグは状態▲3▼となる。そして電源投入後にデータが最初に書き込まれるブロック#0の記憶場所、すなわち、ブロック#0に最後にデータ書き込みのあった場所に後続する場所を決定する(S33)。MCU12はブロック#0の記憶内容を先頭アドレスから順に読み出し、最後に書き込まれたデータのアドレスをサーチする。例えば書き込みデータには必ず「1」が含まれるようにすれば、その最後に記憶された「1」がどのデータに存在するかを探せば、最後に書き込まれたデータのアドレスは容易にわかる。そして、その次アドレスをデータが最初に書き込まれる記憶場所としてRAM14に記憶される(S35)。
【0026】
なお、ステップS29において消去途中で電源がオフされると、フラグは状態▲2▼に変化したにも拘わらずブロック#1が完全に消去されていない場合もある。このときは電源を再度投入し再度ブロック#1を消去すればよい。よってステップS23で全フラグが状態▲2▼であると判断されたときMCU12はステップS29の消去を行う。
【0027】
ステップS23で全フラグが状態▲5▼であると判断されると、MCU12は消去待ちであるブロック#0を選択しその記憶内容を消去する(S37)。ブロック#0の消去により消去開始フラグF1S、消去完了フラグF1Cはともにオフとなり、フラグ全体は状態▲4▼を示す。その後、MCU12は不揮発性メモリ13上の消去完了フラグF0Cをオンにセットする(S39)。このときフラグは状態▲6▼となる(S39)。そして電源投入後にデータが最初に書き込まれるブロック#1の記憶場所を決定する(S41)。ステップS33と同様にして、MCU12はブロック#1の記憶内容を先頭アドレスから順に読み出し、最後に書き込まれたデータのアドレスをサーチする。その次アドレスをデータが最初に書き込まれる記憶場所としてRAM14に記憶される(S43)。
【0028】
なお、ステップS37で消去途中に電源がオフされると、フラグは状態▲4▼に変化したにも拘わらずブロック#0が完全に消去されていない場合もある。このときは電源を再度投入して再度ブロック#0を消去すればよい。よってステップS23で全フラグが状態▲4▼であると判断されたときにもステップS37の処理を行う。
【0029】
ステップS23で全フラグが状態▲3▼であると判断されると、ブロックの消去動作を行なうことなくMCU12はステップS33、S35の処理を行う。さらにステップS23で全フラグが状態▲6▼であると判断されると、ブロックの消去動作を行なうことなくMCU12はステップS41、S43の処理を行う。ステップS23で全フラグが状態▲8▼と判断されると、MCU12はエラーと判断し、必要に応じてエラー処理を行なう。
【0030】
なおMCU12は、ステップS25、S31、S39で書き換えられた不揮発性メモリ13のフラグの状態を、RAM14にコピーされたフラグにも反映するようRAM14のデータも書き換える。
【0031】
電源投入後に実際にデータが書き込まれる場合の不揮発性メモリ13の動作を図6のフローチャートを用いて説明する。
図6を参照し、書き込み処理が開始されると、まず不揮発性メモリ13と同じ内容がコピーされているRAM14のフラグF0S、F0C、F1S、F1Cの内容をチェックする(S51)。ステップS51で全フラグが状態▲3▼であると判断されたときブロック#0が現在使用中であることがわかるので、MCU12はブロック#0にデータを書き込む(S53)。ステップS27、S35等で、データが書き込まれるべきブロック#0のアドレスがRAM14に保持されているので、そのアドレスを参照してデータが書き込まれる。
【0032】
次いでMCU12は、ブロック#0のデータを記憶する領域に次のデータが書き込むことができるどうか判断する(S55)。これは、ブロック#0のデータ記憶領域の全体に書きこみが行なわれたかどうかで判断され、例えばステップS53で参照したアドレスがブロック#0におけるデータの記憶領域の最終アドレスであるかどうかで容易に判断される。ステップS55でYesの場合、MCU12は、ステップS53でデータを書き込んだ場所のアドレスに所定の値を加算して次にデータが書き込まれるべきブロック#0内のアドレスを生成する。そしてRAM14に記憶されたアドレスをその生成された新たなアドレスに書き換える(S57)。一方ステップS55で、フラグが状態▲3▼のときNoの場合には、MCU12はブロック#1内の消去開始フラグF0Sをオンにセットする(S59)。またMCU12はRAM14にコピーされた消去開始フラグF0Sにもオン状態を反映させる。このとき全フラグは状態▲5▼となる。次にデータが書き込まれるのは消去済みのブロック#1であり、RAM14に記憶されたアドレスをブロック#1の先頭アドレスに書き換える(S61)。
【0033】
ステップS51で全フラグが状態▲6▼であると判断されたときブロック#1が現在使用中であることがわかるので、MCU12はブロック#1にデータを書き込む(S63)。ステップS43等でRAM14にはデータが書き込まれるべきブロック#1のアドレスが保持されるので、そのアドレスを参照してデータが書き込まれる。
【0034】
次いでMCU12は、ブロック#1のデータの記憶領域に次のデータが書きこむことができるかどうか判断する(S65)。これは、ブロック#1のデータ記憶領域の全体に書きこみが行なわれたかどうかで判断され、例えば、ステップS63で参照したアドレスがブロック#1におけるデータ記憶領域の最終アドレスであるかどうかで容易に判断される。ステップS65でYesの場合、MCU12は、ステップS63でデータを書き込んだ場所のアドレスに所定の値を加算して次のデータが書き込まれるブロック#1内のアドレスを生成する。RAM14に記憶されたアドレスをその生成された新たなアドレスに書き換える(S67)。ステップS65でNoの場合には、MCU12はブロック#0内の消去開始フラグF1Sをオンにセットする(S69)。またMCU12はRAM14にコピーされた消去開始フラグF1Sにもオン状態を反映させる。このとき全フラグは状態▲7▼となる。次にデータが書き込まれるのは消去済みのブロック#0であり、RAM14に記憶されたアドレスをブロック#0の先頭アドレスに書き換える(S71)。
【0035】
ステップS51で全フラグが状態▲7▼であると判断されたときは、状態▲3▼の場合と同様にMCU12はステップS53の処理を行なう。次いでステップS55でYesの場合、状態▲3▼の場合と同様にステップ57の処理を行なう。状態▲7▼は、ブロック#0が使用中で且つブロック#1はまだ消去されていない消去待ちの状態にある。よってステップS55でNoの場合には、ブロック#0、#1のいずれかが消去されない限り書きこみができない。よってMCU12はエラーと判断し、必要に応じてエラー処理を行なう。
【0036】
ステップS51で全フラグが状態▲5▼であると判断されたときは、状態▲6▼の場合と同様にMCU12はステップS63の処理を行なう。次いでステップS65でYesの場合、状態▲6▼の場合と同様にステップ67の処理を行なう。状態▲6▼は、ブロック#1が使用中で且つブロック#0はまだ消去されていない消去待ちの状態にある。よってステップS65でNoの場合には、ブロック#0、#1のいずれかが消去されない限り書きこみができない。よってMCU12はエラーと判断し、必要に応じてエラー処理を行なう。
【0037】
ステップS51で全フラグが状態▲8▼にあると判断されたときには、MCU112はエラーと判定し、必要に応じてエラー処理を行なう。
【0038】
ステップS61の終了時で全フラグが状態▲5▼である場合、電源が遮断されることなく次データの書きこみがあるならば、MCU12はステップS51のフラグチェックによりステップS63に移行しブロック#1へ次データを書きこむ。また次データの書きこみがなく電源が遮断されるならば、電源再投入によりMCU12は、図5のステップS23のフラグチェックによりステップS37に移行しブロック#0の消去を行なう。
【0039】
ステップS71の終了時で全フラグが状態▲7▼である場合、電源が遮断されることなく次データの書きこみがあるならば、MCU12はステップS51のフラグチェックによりステップS53に移行しブロック#0へ次データを書きこむ。逆に次データの書きこみが発生せずに電源が遮断されるならば、電源再投入によりMCU12は、図5のステップS23のフラグチェックによりステップS29に移行しブロック#1の消去を行なう。
【0040】
ステップS57の終了後、次データの書きこみがなく電源が遮断された場合、そのときのフラグ状態が状態▲7▼であれば図5を参照して、ステップS23のチェックによりステップS29に移行しMCU12はブロック#1を消去する。また全フラグが状態▲3▼であればブロック#1の消去はすでに完了しているから図5のステップ23のフラグチェックにより処理はステップS33に移行する。ステップS57の後に電源が遮断されることなく次のデータの書きこみがある場合には、そのときのフラグが状態▲7▼であろうと状態▲3▼であろうとステップS51のチェックによりMCU12は再度ステップS53の処理を行ないブロック#0へ次データを書きこむことになる。
【0041】
ステップS67の終了後、次データの書きこみがなく電源が遮断された場合、そのときのフラグ状態が状態▲5▼であれば図5を参照して、ステップS23のチェックによりステップS37に移行しMCU12はブロック#0を消去する。また全フラグが状態▲6▼であればブロック#0の消去はすでに完了しているから図5のステップ23のフラグチェックにより処理はステップS41に移行する。ステップS67の後に電源が遮断されることなく次のデータの書きこみがある場合には、そのときのフラグが状態▲5▼であろうと状態▲6▼であろうと、ステップS51のチェックによりMCU12は再度ステップS63の処理を行ないブロック#1へ次データを書きこむことになる。
【0042】
この実施の形態によれば、複数のブロック(ブロック#0、#1)の各々の消去に関する情報を示すフラグをその複数のブロック内の他のブロック(ブロック#1、#0)に設けることで、ブロック自身が消去されても、その消去されたブロックに対応するフラグは変化しない。従ってブロックの消去途中で電源が遮断されてもブロックに対応するフラグの状態が不用意に変化することはなくフラグは正常な状態を示すことができる。またブロックとは独立に消去可能な記憶領域をこのフラグの保持専用に不揮発性メモリ13内に設ける必要もないので、メモリのコストも抑えられる。
【0043】
このとき、ブロックの消去に関する情報を示すフラグとして、消去開始フィラグ及び消去完了フラグの2種類が用意されたことにより、ブロックの消去途中に電源が遮断されても、またはブロックの消去完了の後に電源が遮断されても、フラグからブロックの正しい状態を知ることができる。
例えば図5を参照して、ステップS29でブロック#1の消去途中で電源が遮断されても、ブロック#0に存在する対応の消去開始フラグF1S、消去完了フラグF1Cはそれぞれオンおよびオフを維持する。電源が再度投入されたときブロック#1は消去待ち状態と判断できるので、ブロック#1を再び消去する処理を行うことで、消去された状態のブロック#1に正常にデータ書き込みができる。またステップS29でブロック#1の消去完了後に電源が遮断されても、ブロック#0に存在する対応の消去開始フラグF1S、消去完了フラグF1Cはともにオンを示す。電源が再度投入されたときブロック#1は消去完了であると判断できるので、ブロック#1の消去処理は不要となる。
【0044】
この実施の形態では、システム10が動作中にデータが逐次書き込まれる不揮発性メモリ13内のブロック数は2つで説明したが、3以上の任意のN個であってもよい。このとき各ブロックの消去に関する情報(消去開始フラグおよび消去完了フラグ)は、データが書き込まれる他の(N−1)個のブロックの各々に設ければよい。例えば3個のブロックであれば、図7を参照して、ブロック#0に対応する消去開始フラグF0S−1、F0S−2及び消去完了フラグF0C−1、F0C−2は、他の2つのブロックの各々に設け、ブロック#1に対応する消去開始フラグF1S−2、F1S−0及び消去完了フラグF1C−2、F2C−0は、他の2つのブロックの各々に設け、ブロック#2に対応する消去開始フラグF2S−0、F2S−1及び消去完了フラグF2C−0、F2C−1は、他の2つのブロックの各々に設ける。
【0045】
また、MCU12は、システム10の他のユニットを制御するため、不揮発性メモリ13の制御以外にも種々の機能を実現している。しかし、MCU12に不揮発性メモリ13の書きこみおよび消去の制御をさせるのではなく、別途専用のメモリコントローラを設け、この専用コントローラにメモリ13の書き込み、消去の制御をさせてもよい。このコントローラは、プログラムを実行して機能するマイクロコンピュータでもよいし、ハードワイヤードロジック回路で構成してもよい。
【0046】
実施の形態2.
図7は、フラグF0S、F0C、F1S、F1Cの各々の別の構成例を示す。各フラグは、図7(a)のように、各々が複数のビットからなる複数のフラグ領域80a〜80hを有する。各フラグ領域は、例えば一回のアドレス指定で書き込まれるデータのビット数(2バイト=16ビット)で表現される。フラグ領域80の数は例えば8個とする。
【0047】
フラグをオフにするためにブロックが消去されると、その消去されるブロックに設けられたフラグの全ビットは図7(b)のようにゼロとなり、フラグ領域すべてが“0000H”の第1の値をもつ。またフラグをオンにセットするときには、図7(c)のようにフラグの全ビットを“1”とする、つまり、フラグ領域すべてが“FFFFH”の第2の値をもつ。
【0048】
ここで、図7(b)のようにブロック消去により全ビットがゼロとなったとしても、不揮発性メモリの揮発エラーによりビットの状態が変化する可能性がある。例えば図7(d)では揮発エラーが生じた一例を示す。フラグ領域80aが“0010H”、フラグ領域80cが“0030H”、フラグ領域80dが“00d0”と状態が変化している。この不揮発性メモリ13では、ある1ビットでも状態が0から1に変化すると、その変化したビットを含む書き込み単位の2バイトは追加書き込みすることができないものを想定している。よって揮発エラーを修正するためにはブロックを一旦消去するしかない。
【0049】
そこで複数のフラグ領域80a〜80hのうち任意の少なくとも一つのフラグ領域に第1の値である“0000H”の値を有するときにフラグがオフ状態であるとMCU12が判定するようにする。したがって、図7(b)の状態から一部に揮発エラーが生じても、揮発エラーを修正するためにブロックを消去することなく、フラグをオフと正しく判定できる。
【0050】
さらに図7(d)のように揮発エラーが発生しているがオフ状態を示すフラグをオンにセットするとき、MCU12は、フラグ内の複数のフラグ領域を読み出し揮発エラーが生じているかどうか判断する。そしてMCU12は、図7(e)のように、全ビットがゼロであるフラグ領域すべて(80b、80e〜80hの5つ)に対し“FFFFH”を書き込み、揮発エラーが生じているフラグ領域(80a、80c、80dの3つ)はそのままの状態にしておく。そして複数のフラグ領域80a〜80hのうち任意の少なくとも一つのフラグ領域に第2の値である“FFFFH”の値を有するときフラグがオン状態にあるとMCU12が判断するようにする。したがって、揮発エラーが一部のフラグ領域に発生しても、フラグをオンと正しく判定できる。また図7(e)で“FFFFH”を保持する複数のフラグ領域のうちさらに揮発エラーを起こし別の状態に変化してしまう可能性もある。この場合でもサブ領域のいずれか一つでも“FFFFH”の値があればフラグはオン状態と判断できる。よって揮発エラーが生じても、そのエラーを適宜修正することなくフラグのオン状態及びオフ状態を正しく判定できる。
【0051】
なお、フラグ内の複数のフラグ領域80a〜80hに、“0000H”の値を有するものと“FFFFH”の値を有するものとが混在する場合、または複数のフラグ領域80a〜80hに“0000H”、“FFFFH”のいずれの値とも存在しない場合には、フラグエラーとして扱う。
【0052】
この実施の形態ではフラグ領域の数および各フラグ領域を構成するビットの数は、上記のそれぞれ8個及び16個ビットに限定されるものではなく、他の複数個の値でもよい。
【図面の簡単な説明】
【図1】この発明の実施の形態1によるコンピュータシステムを示すブロック図である。
【図2】図1のシステムで使用される不揮発性メモリ13の記憶領域の構成を示す構成図である。
【図3】消去開始フラグF0S、F1S、消去完了フラグF0C、F1Cの具体的な構成を示す構成図である。
【図4】消去開始フラグF0S、F1S、消去完了フラグF0C、F1Cにより示されるブロック#0、#1の状態を説明するための説明図である。
【図5】不揮発性メモリ13の電源投入時の動作を示すフローチャート図である。
【図6】不揮発性メモリ13の書き込み動作を示すフローチャート図である。
【図7】不揮発性メモリ13の記憶領域の別の構成を示す構成図である。
【図8】この発明の実施の形態2による消去開始フラグF0S、F1S、消去完了フラグF0C、F1Cの具体的な構成図である。
【符号の説明】10…コンピュータシステム、12…マイクロコントローラ(MCU)、13…不揮発性メモリ、14…ランダムアクセスメモリ(らM)、F0S、F1S…消去開始フラグ、F0C、F1C…消去完了フラグ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a nonvolatile memory for storing a flag referred to for its own control such as erasing, and a data storage device having the same.
[0002]
[Prior art]
Non-volatile memories such as flash memories are known as those that can update stored data. However, when updating the storage data of the flash memory, new data is written after erasing the original data once instead of overwriting the original data.
The storage area of the flash memory is composed of a plurality of blocks, and each block includes a plurality of memory cells. Data is erased in block units. The stored contents are erased in block units larger than the data write unit. For example, the capacity of writing data by one address designating a writing area is several bytes, whereas the capacity of data erasing by one address designating a block to be erased is several kilobytes.
[0003]
One problem here is that the power is shut off during the block erasing operation. When the power is turned on again, the erasure in the block is not completely performed. If data is written to a block that has not been erased normally, normal data cannot be stored and an error occurs in the operation of the nonvolatile memory.
In order to prevent this problem, according to a conventional technique, erase information bits respectively corresponding to a plurality of blocks are provided in a nonvolatile memory. This erase information bit indicates the erase state of the corresponding block. By referring to the erase information bit when the power is turned on, it can be determined whether the corresponding block has been completely erased. If the data has not been completely erased, the corresponding block may be erased again. Such a technique is disclosed, for example, in
[0004]
[Patent Document 1]
JP 2001-250388 A
[0005]
[Problems to be solved by the invention]
Referring to FIG. 1 of
[0006]
Therefore, FIG. 3 of
[0007]
In addition, there is a volatile error in the nonvolatile memory in which the state stored by writing changes in the middle.
[0008]
Therefore, an object of the present invention is to provide a nonvolatile memory for storing a flag referred to for its own control, which can express the contents of the flag correctly even if the power is cut off during erasing of the block, and provide the flag. Another object of the present invention is to provide a nonvolatile memory with reduced cost.
Another object of the present invention is to provide a nonvolatile memory capable of correctly grasping the erase state of a block even when power is cut off, and a data storage device having the same.
Still another object of the present invention is to provide a nonvolatile memory capable of correctly recognizing information to be referred even when a nonvolatile error occurs, and a data storage device having the same.
[0009]
[Means for Solving the Problems]
The non-volatile memory according to the present invention has flags each of which is provided corresponding to each of the first and second blocks, which are units of erasing, and represents information on each of the first and second blocks. A flag corresponding to one of the first and second blocks is provided in the other of the first and second blocks. Even if the power is cut off during the erasing operation of one of the first and second blocks, the contents of the flag do not change unexpectedly, so that the flag holds the correct content. Moreover, since it is not necessary to provide a special storage area for providing a flag corresponding to one of the blocks, the cost can be reduced.
By providing a flag corresponding to the other block in one of the blocks, even if the power is cut off while the other block is being erased, the contents of the corresponding flag do not change suddenly. Therefore, the flag holds the correct content. Moreover, since it is not necessary to provide a special storage area for providing a flag corresponding to the other block, the cost can be further reduced.
[0010]
Further, the nonvolatile memory according to the present invention, when each of the plurality of blocks is provided corresponding to each of a plurality of blocks serving as an erasing unit and has a flag indicating information on each block, each flag is stored in the plurality of blocks. In other blocks. Even if the power is cut off during the erase operation of any of the plurality of blocks, the contents of the flag do not change suddenly. Moreover, it is not necessary to provide a special storage area for providing a flag corresponding to each of the plurality of blocks.
[0011]
The flag particularly indicates a state related to erasure of the block, and includes, for example, a first flag indicating that the block is in an erasable state and a second flag indicating that the erasure of the block is completed. As a result, even if the power is cut off in the middle, the erase state of the block can be correctly known by referring to these flags.
If the first flag is set but the second flag is not set, it can be determined that the corresponding block is in an erasable state, and if both the first and second flags are set, Can be determined that the block has been erased and data can be written or has already been used for writing. Since the erase state of the block can be known after the power is turned on again, it is possible to prevent data from being written while the block is not sufficiently erased.
[0012]
Each flag has a plurality of flag areas each consisting of a plurality of bits. When at least one of the plurality of flag areas has a certain value, each flag indicates a certain state. Even if a volatilization error occurs in any of the plurality of flag areas, if at least one volatilization error does not occur in another area, the flag indicates a normal state.
[0013]
Therefore, according to the data storage device of the present invention, when the controller that controls the nonvolatile memory with reference to the flag provided in the nonvolatile memory has at least one of a plurality of flag areas in the flag having a certain value, Is determined to be in a specific state, and appropriate processing can be performed according to the state.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described with reference to the drawings. The same reference numerals in the drawings denote the same or corresponding components.
FIG. 1 shows a configuration diagram of a
[0015]
The
[0016]
FIG. 2 shows the structure of the
On the other hand, each of the two
[0017]
Flags respectively corresponding to
[0018]
The flag indicating the information about the erasure specifically includes an erasure start flag and an erasure completion flag. The erase start flag indicates whether the corresponding block is in an erasable state, and the erase completion flag indicates whether the corresponding block has been erased. When the block is in the erasable state, the corresponding erase start flag is turned on, and when the block is completely erased, the corresponding erase start flag is turned on. The erase start flags F0S and F0C of the
[0019]
When data is erased, all memory cells in the block are cleared to zero. Therefore, if the
[0020]
FIG. 3 shows a specific configuration example of each of the flags F0S, F0C, F1S, and F1C.
The flag is composed of a plurality of bits, and particularly has the same bit number (16 bits) as the write unit of the
[0021]
The
FIG. 4 shows the states of
[0022]
In a state (5) in which the erase completion flag F0C is off and the other three flags are on,
[0023]
Next, the erasing and writing operations of the
In the present embodiment, the erasure in the block of the
[0024]
As a result of the flag check, if the flag is in the state (1), it is determined that the setup has not been performed, and writing can be performed in both the
[0025]
When it is determined in step S23 that all the flags are in the state (7), the
[0026]
If the power is turned off during the erasure in step S29, the
[0027]
If it is determined in step S23 that all the flags are in the state (5), the
[0028]
If the power is turned off during the erasing in step S37, the
[0029]
If it is determined in step S23 that all the flags are in state (3), the
[0030]
The
[0031]
The operation of the
Referring to FIG. 6, when the writing process is started, first, the contents of flags F0S, F0C, F1S, and F1C of
[0032]
Next, the
[0033]
When it is determined in step S51 that all the flags are in the state (6), it is known that the
[0034]
Next, the
[0035]
If it is determined in step S51 that all the flags are in the state (7), the
[0036]
When it is determined in step S51 that all the flags are in state (5), the
[0037]
When it is determined in step S51 that all flags are in the state (8), the MCU 112 determines that an error has occurred, and performs error processing as necessary.
[0038]
If all the flags are in state (5) at the end of step S61, and if the next data is to be written without turning off the power, the
[0039]
If all the flags are in state (7) at the end of step S71, and if the next data is to be written without turning off the power, the
[0040]
After the end of step S57, if the power is turned off without writing the next data, and if the flag state at that time is state {7}, the process proceeds to step S29 by referring to FIG. The
[0041]
After the end of step S67, if the power is turned off without writing the next data, and if the flag state at that time is state (5), the process proceeds to step S37 by checking step S23 with reference to FIG. The
[0042]
According to this embodiment, a flag indicating information relating to erasure of each of a plurality of blocks (
[0043]
At this time, since two types of flags indicating information relating to block erasure, ie, an erase start flag and an erase completion flag, are prepared, even if the power is cut off during the erasure of the block, or Even if is blocked, the correct state of the block can be known from the flag.
For example, with reference to FIG. 5, even if the power is cut off during the erasure of
[0044]
In this embodiment, the number of blocks in the
[0045]
Further, the
[0046]
FIG. 7 shows another configuration example of each of the flags F0S, F0C, F1S, and F1C. As shown in FIG. 7A, each flag has a plurality of
[0047]
When a block is erased to turn off the flag, all bits of the flag provided in the erased block become zero as shown in FIG. 7B, and the entire flag area is set to the first of "0000H". Has a value. When the flag is set to ON, all bits of the flag are set to "1" as shown in FIG. 7C, that is, the entire flag area has the second value of "FFFFH".
[0048]
Here, even if all bits become zero by block erasure as shown in FIG. 7B, there is a possibility that the state of the bits changes due to a volatile error of the nonvolatile memory. For example, FIG. 7D shows an example in which a volatile error has occurred. The state has changed to “0010H” in the
[0049]
Therefore, the
[0050]
Further, when the flag indicating the off state is set to on as shown in FIG. 7D, the
[0051]
In addition, when the plurality of
[0052]
In this embodiment, the number of flag areas and the number of bits constituting each flag area are not limited to the above-mentioned 8 and 16 bits, respectively, but may be other plural values.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a computer system according to
FIG. 2 is a configuration diagram showing a configuration of a storage area of a
FIG. 3 is a configuration diagram showing a specific configuration of erase start flags F0S and F1S and erase completion flags F0C and F1C.
FIG. 4 is an explanatory diagram for explaining states of
FIG. 5 is a flowchart showing an operation of the
FIG. 6 is a flowchart showing a write operation of the
FIG. 7 is a configuration diagram showing another configuration of a storage area of the
FIG. 8 is a specific configuration diagram of erase start flags F0S and F1S and erase completion flags F0C and F1C according to the second embodiment of the present invention.
[Description of Signs] 10 ... Computer system, 12 ... Microcontroller (MCU), 13 ... Non-volatile memory, 14 ... Random access memory (etc.), F0S, F1S ... Erase start flag, F0C, F1C ... Erase complete flag
Claims (8)
前記不揮発性メモリの書き込み及び消去を制御するコントローラを備え、
前記第1及び第2のブロックの各々は、それぞれフラグを記憶する第1および第2のフラグ領域と、データを記憶するデータ記憶領域とを有し、
前記コントローラは、
前記第1のブロックのデータ記憶領域にこれ以上データを書き込まないとき前記第2のブロックにおける第1のフラグ領域のフラグをある値にセットし、
前記第1のブロックの消去が完了したとき前記第2のブロックにおける第2のフラグ領域のフラグをある値にセットし、
前記第2のブロックのデータ記憶領域にこれ以上データを書き込まないとき前記第1のブロックにおける第1のフラグ領域のフラグをある値にセットし、
前記第2のブロックの消去が完了したとき前記第1のブロックにおける第2のフラグ領域のフラグをある値にセットするように、前記不揮発性メモリを制御するデータ記憶装置。A non-volatile memory including first and second blocks each of which is a unit of erasing, and
A controller for controlling writing and erasing of the nonvolatile memory,
Each of the first and second blocks has first and second flag areas for storing flags and a data storage area for storing data, respectively.
The controller is
When no more data is to be written to the data storage area of the first block, a flag of a first flag area in the second block is set to a certain value;
When the erasure of the first block is completed, a flag of a second flag area in the second block is set to a certain value;
When no more data is to be written to the data storage area of the second block, a flag in a first flag area of the first block is set to a certain value;
A data storage device that controls the nonvolatile memory such that a flag in a second flag area in the first block is set to a certain value when erasing of the second block is completed.
前記不揮発性メモリに設けられたフラグを参照して前記不揮発性メモリを制御するコントローラを備え、
前記フラグは、各々が複数のビットからなるフラグ複数の領域を有し、
前記コントローラは、前記複数のフラグ領域の任意の少なくとも一つがある特定の値を有するとき前記フラグがある特定の状態であると判断するデータ記憶装置。A nonvolatile memory including a plurality of blocks each of which is a unit of erasing,
A controller that controls the nonvolatile memory with reference to a flag provided in the nonvolatile memory,
The flag has a plurality of areas each consisting of a plurality of bits,
The data storage device, wherein the controller determines that the flag is in a certain state when any one of the plurality of flag areas has a certain value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280956A JP4031693B2 (en) | 2002-09-26 | 2002-09-26 | Nonvolatile memory and data storage device having the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280956A JP4031693B2 (en) | 2002-09-26 | 2002-09-26 | Nonvolatile memory and data storage device having the same |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004118937A true JP2004118937A (en) | 2004-04-15 |
JP2004118937A5 JP2004118937A5 (en) | 2005-09-22 |
JP4031693B2 JP4031693B2 (en) | 2008-01-09 |
Family
ID=32275529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002280956A Expired - Fee Related JP4031693B2 (en) | 2002-09-26 | 2002-09-26 | Nonvolatile memory and data storage device having the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4031693B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013003655A (en) * | 2011-06-13 | 2013-01-07 | Denso Corp | Control device for writing data in flash memory |
WO2015194100A1 (en) * | 2014-06-19 | 2015-12-23 | 株式会社デンソー | Storage device, flash memory control device, and program |
US9257192B2 (en) | 2013-02-12 | 2016-02-09 | Samsung Electronics Co., Ltd. | Memory system performing multi-step erase operation based on stored metadata |
WO2019159716A1 (en) * | 2018-02-14 | 2019-08-22 | 日立オートモティブシステムズ株式会社 | Electronic control device |
-
2002
- 2002-09-26 JP JP2002280956A patent/JP4031693B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013003655A (en) * | 2011-06-13 | 2013-01-07 | Denso Corp | Control device for writing data in flash memory |
US9257192B2 (en) | 2013-02-12 | 2016-02-09 | Samsung Electronics Co., Ltd. | Memory system performing multi-step erase operation based on stored metadata |
WO2015194100A1 (en) * | 2014-06-19 | 2015-12-23 | 株式会社デンソー | Storage device, flash memory control device, and program |
JP2016004558A (en) * | 2014-06-19 | 2016-01-12 | 株式会社デンソー | Storage device, flash memory control device, and program |
WO2019159716A1 (en) * | 2018-02-14 | 2019-08-22 | 日立オートモティブシステムズ株式会社 | Electronic control device |
JPWO2019159716A1 (en) * | 2018-02-14 | 2020-12-17 | 日立オートモティブシステムズ株式会社 | Electronic control device |
US11231871B2 (en) | 2018-02-14 | 2022-01-25 | Hitachi Automotive Systems, Ltd. | Electronic control device with non-volatile memory |
Also Published As
Publication number | Publication date |
---|---|
JP4031693B2 (en) | 2008-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4188744B2 (en) | Memory card | |
US6154808A (en) | Method and apparatus for controlling data erase operations of a non-volatile memory device | |
JP4160625B1 (en) | Error detection control system | |
JP4713867B2 (en) | Memory controller, memory device, and memory controller control method | |
US20090100290A1 (en) | Memory controller, nonvolatile memory device, nonvolatile memory system, and data writing method | |
US20040139310A1 (en) | Information processing apparatus, memory management apparatus, memory management method, and information processing method | |
JP2006164273A (en) | Protection booting device and method | |
JP2006048893A (en) | Flash memory device with defective block managing function and defective block managing method of the same | |
US20160321083A1 (en) | Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region | |
WO2007000862A1 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method | |
JP2011514568A (en) | Write once memory device and storage subsystem of a computer comprising a write many memory device and associated method | |
JP2004258946A (en) | Memory card | |
US11720249B2 (en) | Data storage device and method for rewriting parameters thereof | |
JP4843222B2 (en) | Semiconductor memory device control method, memory card, and host device | |
JP3830867B2 (en) | Single-chip microcomputer and its boot area switching method | |
JP2008225672A (en) | Semiconductor memory device | |
JP4031693B2 (en) | Nonvolatile memory and data storage device having the same | |
JP2006338083A (en) | Memory controller | |
JP3730432B2 (en) | Storage system, storage device, and storage data protection method | |
JP2000250817A (en) | Storage system, storage device and stored data protecting method | |
JP2011175361A (en) | Data storage device and method | |
JP2006504202A (en) | Method for driving a memory structure | |
JP4580724B2 (en) | Nonvolatile memory control method | |
US20050068842A1 (en) | Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory | |
WO2023084645A1 (en) | Memory controller and flash memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050406 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050415 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070828 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070903 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070903 |
|
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: 20071016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071019 |
|
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: 20101026 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131026 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |