JP3675748B2 - Data storage controller - Google Patents
Data storage controller Download PDFInfo
- Publication number
- JP3675748B2 JP3675748B2 JP2001288489A JP2001288489A JP3675748B2 JP 3675748 B2 JP3675748 B2 JP 3675748B2 JP 2001288489 A JP2001288489 A JP 2001288489A JP 2001288489 A JP2001288489 A JP 2001288489A JP 3675748 B2 JP3675748 B2 JP 3675748B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error detection
- correction
- stored
- requested
- 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
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、計算機システムにおけるデータの記憶制御装置に係わり、特に、データの誤りを検出訂正して、メモリに格納又はメモリからの読み出しを制御するデータ記憶制御装置に関する。
【0002】
【従来の技術】
半導体の分野では、微細化技術が著しく進展している。各種メモリ素子では、この微細化技術の進展によりメモリ素子1個あたりの記憶容量が増大するが、記憶セル1個の占める体積の縮小による蓄積電荷量の減少や、微小欠陥の発生確率の上昇、動作の高速化に伴う電気的なノイズの印加等の外部要因等により、データ中のエラービットの発生確率が高くなる。
一般に、メモリにおけるデータの信頼性向上の方法としては、パリティチェック方式とECC(エラー検出訂正)方式が知られている(例えば、特開昭59−3800号公報記載のメモリシステム)。
【0003】
パリティチェック方式では、データビットに1ビットのパリティビットを付加し、パリティビットによりデータビットとパリティビット中のビットの値が“1”であるビットの数を奇数若しくは偶数に統一してメモリに書き込み、読み出し時にはデータビットとパリティビット中のビットの値が“1”であるビットの数をチェックすることにより誤りの検出を行う。
【0004】
また、ECC方式では、拡張ハミングコードを用いてデータビットよりチェックビットを生成し、データビットとチェックビットとをメモリに書き込む。そして、読み出し時にはメモリから読み出したデータビットとチェックビットとからシンドロームを生成し、このシンドロームにより1ビットの誤り訂正及び2ビットの誤り検出を行う。
【0005】
【発明が解決しようとする課題】
しかしながら、上述したパリティチェック方式では奇数個ビットの誤り検出のみが可能で、偶数個ビットの誤り検出はできない。また、奇数個ビットの誤り検出時もデータ中のどのビットに誤りがあるかを指定できないため誤りが訂正できない欠点があった。
【0006】
これに対し、ECC方式では、1ビットの誤り訂正及び2ビットの誤り検出が可能である。しかしながら、ECC方式では、パリティチェック方式より、誤り検出訂正の手法が複雑であるため、ECC実行によるメモリアクセスの時間が必要で、オーバヘッドタイムが長くなる欠点があった。
【0007】
本発明の目的は、これら従来技術の欠点を解消し、誤り検出訂正及びメモリアクセスを高速に行い、メモリの使用効率を向上可能なデータ記憶制御装置を実現することである。
【0008】
【課題を解決するための手段】
本発明は、上記目的を達成するため、次のように構成される。
データとこのデータの誤り検出訂正用情報とを記憶するデータ記憶手段を有し、データプロセッサからのデータ読みだし及び書き込み要求に応じて、データ記憶手段のデータ読みだし及び書き込みを制御するデータ記憶制御装置において、データ記憶手段に記憶されたデータとこのデータの誤り検出訂正用情報とが供給され、供給されたデータの誤りを検出し、訂正するデータ誤り検出訂正手段と、上記データ誤り検出訂正手段により誤り訂正されたデータを記憶するバッファメモリと、データプロセッサから書き込み要求されるデータのデータ誤り検出訂正用情報を生成し、書き込み要求されたデータと、生成したデータ誤り検出訂正用情報とをデータ記憶手段に記憶させるデータ誤り検出訂正用情報生成手段と、データ書き込み要求に応答し、書き込み要求されたデータがデータ記憶手段に記憶されたデータのデータ長未満であり、かつ、書き込み要求されたデータを記憶すべきアドレスに対応するアドレスのデータが、バッファメモリに記憶されていない場合には、上記アドレスのデータをデータ記憶手段から読みだし、データ誤り検出訂正手段及びデータ誤り検出訂正用情報生成手段に供給し、データの誤りを検出させるとともに、このデータの誤り検出と平行して、データ記憶手段から読みだしたデータと書き込み要求されたデータとを組み合わせ、上記データ長と等しいデータ長となるように組み合わせ、組み合わせたデータの誤り検出訂正用情報を生成させ、その後、データ誤り検出訂正手段により、データの誤りが検出されなかったときには、上記組み合わせたデータ及び生成したデータ誤り検出訂正用情報を、データ記憶手段に記憶させ、データ書き込み要求に応答し、書き込み要求されたデータがデータ記憶手段に記憶されたデータのデータ長未満であり、かつ、書き込み要求されたデータを記憶すべきアドレスに対応するアドレスのデータが、上記バッファメモリに記憶されている場合には、このバッファメモリに記憶されたデータと上記書き込み要求されたデータとを上記データ長と等しいデータ長となるように組み合わせ、組み合わせたデータに対して、データ誤り検出訂正用情報を生成し、上記組み合わせたデータ及び生成したデータ誤り検出訂正用 情報を、データ記憶手段に記憶させるデータ制御手段とを備える。
【0009】
読みだし要求されたデータがバッファメモリに記憶されていない場合には、読みだし要求されたデータと、このデータに関連するデータとがデータ記憶手段から読みだされ、複数のデータ誤り検出訂正手段に供給される。これら複数のデータ誤り検出訂正手段は、データ制御手段により、ほぼ同時に動作される。そして、誤り検出訂正された複数のデータは、バッファメモリに記憶される。読みだし要求されたデータに関連するデータは、続いて、データプロセッサから読みだし要求される確率が高く、読みだし要求された場合には、既に、誤り検出訂正されたデータがバッファメモリに格納されているので、データの読みだしが高速化される。
【0010】
また、書き込み要求されたデータがデータ記憶手段に記憶されたデータのデータ長未満であり、かつ、書き込み要求されたデータを記憶すべきアドレスに対応するアドレスのデータが、バッファメモリに記憶されている場合には、このバッファメモリに記憶されたデータを書き込み要求されたデータに組み合わせることができる。これにより、書き込み要求されたデータを格納すべきアドレスに対応するデータの読みだし及び読みだしたデータの誤り検出訂正を省略でき、データの書き込み動作時間が短縮される。
【0011】
また、書き込み要求されたデータがデータ記憶手段に記憶されたデータのデータ長未満であり、かつ、書き込み要求されたデータを記憶すべきアドレスに対応するアドレスのデータが、バッファメモリに記憶されていない場合には、上記アドレスのデータをデータ記憶手段から読みだし、データの誤りの検出並びに書き込み要求されたデータとの組み合わせ及び組み合わせたデータの誤り検出訂正用情報の生成が、並列して実行される。そして、データの誤りが検出されなかったときには、上記組み合わせたデータ及び生成したデータ誤り検出訂正用情報が、データ記憶手段に記憶される。
【0012】
したがって、データ記憶手段から読みだしたデータの誤り訂正、誤り訂正されたデータと書き込み要求されたデータとの組み合わせ及びそれに続く誤り検出訂正用情報の生成に要する時間が省略され、データ書き込み時間の短縮化が可能となる。
【0013】
【発明の実施の形態】
以下、本発明の実施例を添付図面に基づいて説明する。
図1は本発明の第1実施例であるデータ記録制御装置の概略構成図である。 図1において、MPU(メインプロセッサ(データプロセッサ))14から読み出し要求するデータのアドレスが、制御信号とともにアドレスバス12及び制御信号線13を介して制御ユニット7に供給される。制御ユニット7は、メモリ15から読み出すべきデータのアドレス及び制御信号とをアドレスバス10及び信号線11を介してメモリ15に供給する。
【0014】
メモリ15は、制御ユニット7から要求されたアドレスのデータ及びチェクビットを、メモリデータバス8及びチェックビットバス9を介して、データの誤り検出訂正用のECC実行ユニット4a、4b及び4cに供給する。ECC実行ユニット4a、4b及び4cは、制御ユニット7からの制御信号に従って、供給されたチェックビットデータ(データ誤り検出訂正用情報)を基に読み出しデータの誤り検出訂正を行う。
【0015】
ECC実行ユニット4a、4b、4cからの誤り検出訂正実行後のデータは、それぞれバッファメモリ3a、3b、3cに格納される。出力制御部5は、制御ユニット7からの制御信号に従って、バッファメモリ3a、3b、3cからのデータをMPUデータバス6を介してMPU14に出力する。
【0016】
図2は、制御ユニット7の内部ブロック図である。
図2において、アドレス比較部71は、MPUアドレスバス12上のMPU14がアクセスするメモリのアドレスに対応するデータがバッファメモリ3a、3b、3cに格納されているかどうかを判断する。そして、アドレス比較部71は、MPU14がアクセスするデータがバッファメモリ3a、3b、3c内に存在する場合、データが格納されているバッファメモリの位置をデータ位置通知バス72に出力する。また、MPU14がアクセスするデータがバッファメモリ3a、3b、3c内に存在しない場合は、MPU14がアクセスするメモリのアドレスをデータ位置通知バス72に出力する。
【0017】
さらに、アドレス比較部71は、MPU14がアクセスするデータがバッファ3a、3b、3c内に存在するかしないかの情報をデータヒット情報線73に出力する。制御信号発生部74は、メモリアドレスバス10に、MPU14がアクセスするメモリのアドレスを出力する。また、制御信号発生部74は、MPU制御信号線13上のMPUからの制御信号、データ位置通知バス72、データヒット情報線73上のデータから、ECC実行ユニット4a、4b、4c、バッファメモリ3a、3b、3c、出力制御部5及びメモリ15を制御する信号を生成し、制御信号線11に出力する。
図3は、メモリ15のアドレスとそのアドレスに格納されたデータの対応関係を示す図である。
図4は、図1の例の動作フローチャートである。図4のステップ100において、MPU14からのデータ読みだし要求があれば、ステップ101に進む。そして、このステップ101において、制御ユニット7は、読みだし要求されたアドレスnのデータは、バッファメモリ3a、3b又は3cに格納されているか否かを判定する。
【0018】
要求されたデータがバッファメモリ3a、3b又は3cに格納されていなければ、ステップ102に進み、メモリ15から要求されたアドレスnのデータを読み出すとともに、このアドレスnに関連するアドレスn+1、n+2のデータを読み出す。そして、ステップ103、104、105において、アドレスn、n+1、n+2のデータのエラー検出訂正が、それぞれECC実行ユニット4a、4b、4cにて並列に実行される。次に、ステップ106、107、108において、エラー検出訂正されたデータが、バッファメモリ3a、3b、3cにそれぞれ格納される。
そして、ステップ109において、MPU14から要求されたアドレスnのデータが、バッファメモリ3aからMPU14に転送される。
【0019】
また、ステップ101において、要求されたアドレスのデータがバッファメモリ3a、3b又は3cに格納されていれば、ステップ109に進み、そのデータが格納されたバッファメモリから出力制御部5を介してMPU14にデータが転送される。
つまり、MPU14からアドレス0001のデータ1が読みだし要求されると、このアドレス0001のデータ1とともに、データ1に関連するアドレス0002及び0003のデータ2及び3が(これら関連するデータは、読みだし要求されたデータに続いて、読みだし要求される確率が高い)、メモリ15が読み出され、これらのデータ1、2及び3の誤り検出訂正が並列に実行される。そして、誤り検出訂正が行われたデータ1、2及び3がバッファメモリ3a、3b及び3cに格納され、MPU14から要求されたデータ1がMPU14に転送される。
【0020】
次に、MPU14からアドレス0002又は0003のデータ2又は3が要求されると、制御ユニット7は、図5に示すように(ただし、図5の例はデータ0002が読みだし要求された場合を示す)、バッファメモリ3b又は3cから要求されたデータをMPU14に転送する。
図6は、図1の例におけるデータ1、2及び3に対して並列に誤り検出訂正の実行タイミングを示し、図7は、図1の例と異なり、関連するデータ1、2及び3に対して順に誤り検出訂正を行う場合の実行タイミングを示す。
図6において、時点t0からデータ1に対する誤り検出訂正が開始され、時点t3にて終了し、MPU14にデータを転送する(図6の(A)、(B)及び(E))。そして、時点t3以前の時点t1からデータ2に対する誤り検出訂正が開始され、時点t4にて終了し、バッファメモリ3bに格納される(図6の(A)及び(C))。次に、時点t3以前の時点t2からデータ3に対する誤り検出訂正が開始され、時点t5にて終了し、バッファメモリ3cに格納される(図6の(A)及び(D))。
【0021】
これに対して、図7の例の場合は、時点t0からデータ1に対する誤り検出訂正が開始され、時点t3にて終了し、MPU14にデータ1が転送される。続いて、時点t3からデータ2に対する誤り検出訂正が開始され、時点t6にて、終了し、この時点t6からデータ3に対する誤り検出訂正が開始され、時点t7にて終了する。
【0022】
図6の例においては、データ1に対する誤り検出訂正が終了する時点t3以前に、データ2及び3に対する誤り訂正検出が開始されている。したがって、図6の例の場合には、図7の例におけるデータ2の誤り検出訂正が終了する時点t6以前にデータ3の誤り検出訂正が終了する。
【0023】
以上のように、本発明の第1実施例によれば、MPU14から読みだし要求されたアドレスのデータと、このアドレスのデータに関連する複数のアドレスのデータとを読みだし、これら複数のデータの誤り検出訂正を複数のECC実行ユニットにより並列に実行する。そして、誤り検出訂正されたデータは、データバッファに格納される。
【0024】
したがって、複数のデータの誤り検出訂正を高速に実行可能であるとともに、関連するデータの読みだしが高速に実行でき、メモリの使用効率を向上可能なデータ記憶制御装置を実現することができる。
【0025】
なお、上述した例においては、関連するデータは、連続したアドレスのデータとしたが、必ずしも連続したアドレスのデータでなくてもよい。
また、上述した例においては、各ECC実行ユニット毎に、別個のバッファメモリを配置したが、一つのメモリに、誤り検出訂正された複数のデータを格納するように構成することも可能である。
【0026】
さて、データ記憶制御装置において、パーシャルライト、つまり、チェックビット生成の対象となるデータ長よりも小さいデータ長のデータをメモリに書き込む場合においては、まず、チェックビット生成の対象となるデータ長のデータをメモリから読み出す。そして、読みだしたデータの誤り検出訂正をECC実行ユニットにより行い、誤り検出訂正後のデータとMPUからの書き込みデータ(データ長小)を組合せる。この組み合わせたデータに対し、さらに、ECC実行ユニットによりチェックビット生成を行った後にメモリに書き込みを行っていた。
【0027】
つまり、ECC実行ユニット200では、ある固定長のデータに対して、拡張ハミングコードによりチェックビットが生成される。例えば、データ長8、16、32ビットのデータに対して、それぞれ5、6、7ビットのチェックビットが生成される。データとそのデータに対するチェックビットをメモリに書き込み、メモリからのデータ読み出し時にチェックビットも同時に読み出し、このチェックビットを基にデータの誤り検出訂正を行う。
【0028】
32ビットのデータに対して、7ビットのチェックビットが生成されると仮定すると、MPU14からの書き込みデータが8又は16ビットであり、チェックビット生成の対象となるデータ長(32ビット)よりも小さい場合、データをそのままメモリに書き込むと、チェックビットがデータに対応した値にならなくなる。
【0029】
そこで、図8の(A)に示すようにパーシャルライトでは、まず、MPU14が8、16ビットの書き込みを行うメモリ15のアドレスから、32ビットデータ(d1d2d3d4)と対応するチェックビットを読み出し、ECC実行ユニット200により誤り検出訂正を行ってから、マルチプレクサ1により、誤り検出訂正実行後の32ビットデータとMPU14からの8又は16ビットの書き込みデータ(D1D2)とを組み合わせて、32ビットデータ(D1D2d3d4)とする。
【0030】
そして、図8の(B)に示すように、上記32ビットデータ(D1D2d3d4)に対してECC実行ユニット200によりチェックビットを生成し、この32ビットデータとチェックビットとをメモリ15へ書き込む。
【0031】
この結果、パーシャルライトは、メモリからの32ビットデータの読み出し、読みだしたデータの誤り検出訂正をし、8又は16ビットデータと32ビットデータとを組み合わせたデータに対してチェックビットを生成して、メモリ書き込みを実行する必要があった。
【0032】
パーシャルライトを無くし、メモリからの読み出し、ECC実行による誤り検出訂正の時間を省くために、メモリアクセスの最小単位であるバイト(8ビット)毎にチェックビット5ビットを生成するように構成することも考えられる。しかし、8ビット毎にチェックビットを5ビット生成すると、32ビットデータに対しては、チェックビット長が20ビットとなってしまう。この結果、データ長に対するチェックビット長の割合が大きくなりメモリの使用効率が悪くなる。
【0033】
図9は、本発明の第2実施例であるデータ記憶制御装置の概略構成図であり、上述したパーシャルライトにおけるデータのメモリ書き込み時間を短縮可能な例である。この図9の例において、図1の例と同等なものには、同一の符号が付してある。
【0034】
そして、図9の例においては、図1の例に、バッファメモリ3a、3b、3c、MPU14からのデータが供給されるマルチプレクサ1と、このマルチプレクサ1からのデータに対してチェックビットを生成し、この生成したデータとチェックビットとをメモリ15に格納するチェックビット生成用ECC実行ユニット2が追加されている。
【0035】
図10は、図9の例の動作フローチャートである。
図10のステップ110において、MPU14からのデータ書き込み要求があると、ステップ111に進み、制御ユニット7が書き込みデータが所定長(例えば、32ビット長)未満か否かを判定し、所定長未満でなければ、ステップ114に進む。そして、このステップ114において、書き込みデータは、MPU14からマルチプレクサ1を介して、チェックビット生成用ECC実行ユニット2に供給され、チェックビットが生成される。次に、ステップ115に進み、MPU14からのデータとチェックビットとが、ECC実行ユニット2からメモリ15に転送され、格納される。
【0036】
ステップ111において、書き込みデータが所定長未満であれば、ステップ112に進み、制御ユニット7はデータを書き込むアドレスが、バッファメモリ3a、3b、3cに格納されたデータのアドレスと一致するか否かを判定する。そして、書き込み要求されたアドレスとバッファメモリに格納されたアドレスとが一致すると、ステップ113に進み、バッファメモリに格納されたデータと書き込み要求されたデータとが、マルチプレクサ1を介してECC実行ユニット2に供給され、両データが組み合わされる。次に、ステップ114において、組み合わされたデータのチェックビットが、ECC実行ユニット2にて生成される。続いて、ステップ115において、組み合わされたデータと、チェックビットとがメモリ15に格納される。上記ステップ113、114及び115の状態を図11に示す。
【0037】
ステップ112において、バッファメモリに格納されたアドレスと一致しなければ、図8に示したように、メモリ15から対応するデータを読みだして、誤り検出訂正、データ組み合わせ、チェックビット生成が実行される。
【0038】
つまり、バッファメモリに格納されたアドレスと一致しなければ、ステップ112から、ステップ116に進み、メモリ15から所定長の対応するデータ(32ビット)を読み出す。次に、読みだしたデータは、ステップ117において、ECC実行ユニット4a、4b又は4cにより誤り検出訂正が実行される。
【0039】
そして、ステップ118において、ECC実行ユニット2は誤り検出訂正されたデータと、書き込み要求されたデータとを組み合わせる。次に、ステップ114において、チェックビットを生成し、ステップ115において、組み合わせたデータと、生成したチェックビットとが、メモリ15に格納される。
【0040】
以上のように、本発明の第2実施例によれば、第1実施例と同様な効果が得られる他、次のような効果がある。
つまり、パーシャルライトの場合、バッファメモリに格納されたアドレスと書き込み要求されたデータのアドレスとが一致するときには、メモリ15からのデータ2の読みだし及び読みだしたデータの誤り検出訂正が不要となり、パーシャルライトを高速化できる。これより、チェックビット長を増やすことなく、バイト毎にチェックビットを生成した場合と同様なパーシャルライトの高速化ができ、メモリアクセスの高速化と共にメモリの使用効率が向上可能となる。
【0041】
図12は、本発明の第3実施例の概略構成図であり、図9の例と同等なものには、同一の符号を付してある。また、図13は、第3実施例の動作フローチャートである。
そして、図12及び図13に示す例は、パーシャルライトにおいて、書き込み要求されたデータのアドレスがバッファメモリに格納されていない場合にも、書き込み動作を高速化できる例である。
【0042】
図13のステップ110〜115は、図10のステップ110〜115と同様であるので、説明は省略する。
図13のステップ112において、バッファメモリに格納されたアドレスと書き込み要求されたデータのアドレスとが一致しない場合には、ステップ116に進む。そして、このステップ116において、書き込み要求されたデータに対応するデータをメモリ15から読み出す。
【0043】
続いて、ステップ117及び119に進み、ECC実行ユニット4aにて読みだしたデータの誤り検出を実行するとともに、ECC実行ユニット2にて、読みだしたデータと、書き込み要求されたデータとを組み合わせ、ステップ120において、組み合わせたデータのチェックビットを生成する(図12参照)。
【0044】
次に、ステップ117及びステップ120からステップ121に進み、ECC実行ユニット4aにて読みだしたデータに誤りが検出されたか否かを制御ユニット7が判定する。読みだしたデータに誤りが検出されない場合には、ステップ115に進み、ECC実行ユニット2にて、組み合わされたデータと生成されたチェクビットとが、メモリ15に格納される(図14参照)。
【0045】
ステップ121において、読みだしたデータに誤りが検出された場合には、ステップ122に進み、ECC実行ユニット4aによりデータの誤り訂正が実行される。次に、ステップ123において、ECC実行ユニット4aにより、誤り訂正されたデータは、マルチプレクサ1を介してECC実行ユニット2に供給され、書き込みデータと組み合わされる。続いて、ステップ114及び15によりチェックビットが生成され、この生成されたチェックビットとデータとがメモリ15に格納される。
図12及び図14は、パーシャルライトがアドレス0004に格納されているデータ4に対して行われる場合の例である。
このように、バッファメモリに格納されていないアドレスのデータに対してパーシャルライトの要求があった場合、メモリから対応するデータを読みだし、誤りを検出するとともに、これと平行して、読みだしたデータと書き込み要求されたデータとの組み合わせ及びチェックビット生成を行う。そして、誤りが検出されなかったときは、組み合わされたデータとチェックビットとがメモリ15に格納される。読み出されたデータに誤りが検出される可能性は低いため、大半のデータは、誤り訂正すること無しに、書き込みデータと組み合わされ、メモリ15に格納される。
【0046】
したがって、読みだしたデータに誤りがない場合は、データの訂正、それに続く、訂正されたデータと書き込みデータとの組み合わせ、チェックビットの生成に必要な時間を省略することができる。
【0047】
以上のように、本発明の第3実施例によれば、第2実施例と同様な効果が得られる他、パーシャルライトの場合、バッファメモリに格納されたアドレスと書き込み要求されたデータのアドレスとが一致しないときであり、読みだしたデータに誤りが検出されないときには、データの訂正、それに続く、訂正されたデータと書き込みデータとの組み合わせ、チェックビットの生成に必要な時間を省略することができ、さらに、パーシャルライトの高速化が可能となる。
【0048】
図15は、本発明の第4実施例の概略構成図であり、図16は、図15の例の動作フローチャートである。
この図15の例は、一つの誤り検出訂正用ECC実行ユニット4aと、一つのチェックビット生成用ECC実行ユニット2とを備え、データの読みだしに際しては、上記第1〜第3の例と異なり、関連するデータは、読み出さない例である。そして、この図15の例は、パーシャルライトにおいて、第3の実施例と同様に、メモリから対応するデータを読みだし、誤りを検出するとともに、これと平行して、読みだしたデータと書き込み要求されたデータとの組み合わせ及びチェックビット生成を行い、誤りが検出されなかったときは、組み合わされたデータとチェックビットとをメモリ15に格納する例である。
【0049】
このため、図16に示したフローチャートは、図13に示したフローチャートからステップ112及び113が省略されている。そして、ステップ111からステップ116に進み、図13の例と同様に、ステップ116、117、119〜123が実行される。
以上のように、本発明の第4実施例によれば、パーシャルライトの場合、読みだしたデータに誤りが検出されないときには、データの訂正、それに続く、訂正されたデータと書き込みデータとの組み合わせ、チェックビットの生成に必要な時間を省略することができ、パーシャルライトの高速化が可能となる。
【0050】
なお、上述した例においては、誤り検出訂正用ECC実行ユニットが3つの例を示したが、3つに限らず、2つ又は4つ以上であってもよい。
【0051】
【発明の効果】
本発明は、以上説明したように構成されているため、次のような効果がある。
読みだし要求されたアドレスのデータと、このアドレスのデータに関連する複数のアドレスのデータとを読みだし、これら複数のデータの誤り検出訂正を複数のECC実行ユニットにより並列に実行する。そして、誤り検出訂正されたデータは、データバッファに格納される。
したがって、複数のデータの誤り検出訂正を高速に実行可能であるとともに、関連するデータの読みだしが高速に実行でき、メモリの使用効率を向上可能なデータ記憶制御装置を実現することができる。
パーシャルライトの場合、バッファメモリに格納されたアドレスと書き込み要求されたデータのアドレスとが一致するときには、メモリからのデータの読みだし及び読みだしたデータの誤り検出訂正が不要となり、パーシャルライトを高速化できる。これより、チェックビット長を増やすことなく、バイト毎にチェックビットを生成した場合と同様なパーシャルライトの高速化ができ、メモリアクセスの高速化と共にメモリの使用効率が向上可能となる。
【0052】
また、パーシャルライトの場合、書き込むデータのアドレスに対応するデータをデータ記憶手段から読みだし、データの誤りの検出並びに書き込み要求されたデータとの組み合わせ及び組み合わせたデータの誤り検出訂正用情報の生成が、並列して実行される。そして、データの誤りが検出されなかったときには、組み合わせたデータ及び生成したデータ誤り検出訂正用情報が、データ記憶手段に記憶される。
【0053】
したがって、データ記憶手段から読みだしたデータの誤り訂正、誤り訂正されたデータと書き込み要求されたデータとの組み合わせ及びそれに続く誤り検出訂正用情報の生成に要する時間が省略され、データ書き込み時間の短縮化が可能となる。
【図面の簡単な説明】
【図1】本発明の第1実施例の概略構成図である。
【図2】図1の例のおける制御ユニットの機能ブロック図である。
【図3】メモリの各アドレスに格納されたデータを示す図である。
【図4】図1の例の動作フローチャートである。
【図5】図1の例において、バッファメモリに読みだし要求データが格納されている場合の動作説明図である。
【図6】図1の例のデータ誤り検出訂正の動作タイミングチャートである。
【図7】本発明とは異なる例におけるデータ誤り検出訂正の動作タイミングチャートである。
【図8】チェックビット生成の対象となるデータ幅より小さいデータを書き込む場合の動作説明図である。
【図9】本発明第2実施例の概略構成図である。
【図10】図9の例の動作フローチャートである。
【図11】図9の例において、バッファメモリに書き込み要求されたデータに対応するデータが格納されている場合のパーシャルライトの動作説明図である。
【図12】本発明の第3実施例の概略構成図である。
【図13】図12の例の動作フローチャートである。
【図14】図12の例の動作説明図である。
【図15】本発明の第4実施例の概略構成図である。
【図16】図15の例の動作フローチャートである。
【符号の説明】
1 マルチプレクサ
2 チェックビット生成用ECC実行ユニット
3a、3a、3b バッファメモリ
4a、4b、4c 誤り検出訂正用のECC実行ユニット
5 出力制御部
6 MPUデータバス
7 制御ユニット
8 メモリデータバス
9 チェックビットバス
10 メモリアドレスバス
11 制御信号線
12 MPUアドレスバス
13 MPU制御信号線
14 MPU
15 メモリ
71 アドレス比較部
72 データ位置通知バス
73 データヒット情報線
74 制御信号発生部
200 ECC実行ユニット[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data storage control apparatus in a computer system, and more particularly to a data storage control apparatus that detects and corrects data errors and controls storage in a memory or reading from a memory.
[0002]
[Prior art]
In the field of semiconductors, miniaturization technology has made significant progress. In various memory devices, the storage capacity per memory device increases due to the progress of this miniaturization technology. However, the amount of accumulated charges decreases due to the reduction in volume occupied by one memory cell, and the probability of occurrence of micro defects increases. Due to external factors such as the application of electrical noise accompanying an increase in operation speed, the probability of occurrence of error bits in the data increases.
In general, as a method for improving the reliability of data in a memory, a parity check method and an ECC (error detection and correction) method are known (for example, a memory system described in Japanese Patent Application Laid-Open No. 59-3800).
[0003]
In the parity check method, one parity bit is added to the data bit, and the number of bits in which the data bit and the bit value in the parity bit are “1” is unified to the odd number or even number by the parity bit and written to the memory At the time of reading, an error is detected by checking the number of bits in which the value of the data bit and the parity bit is “1”.
[0004]
In the ECC method, a check bit is generated from a data bit using an extended Hamming code, and the data bit and the check bit are written in a memory. At the time of reading, a syndrome is generated from the data bits read from the memory and the check bits, and 1-bit error correction and 2-bit error detection are performed using the syndrome.
[0005]
[Problems to be solved by the invention]
However, the parity check method described above can detect only an odd number of bits and cannot detect an even number of bits. Further, even when an odd number of bits of error is detected, it is impossible to specify which bit in the data has an error, so that the error cannot be corrected.
[0006]
In contrast, in the ECC system, 1-bit error correction and 2-bit error detection are possible. However, in the ECC method, the error detection and correction method is more complicated than in the parity check method, so that it takes time for memory access by ECC execution and there is a disadvantage that the overhead time becomes longer.
[0007]
An object of the present invention is to realize a data storage control device capable of solving these drawbacks of the prior art, performing error detection and correction and memory access at high speed, and improving the use efficiency of the memory.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is configured as follows.
Data storage control having data storage means for storing data and information for error detection and correction of the data, and controlling data reading and writing of the data storage means in response to data reading and writing requests from the data processor In the apparatus, data stored in the data storage means and information for error detection and correction of the data are supplied, and data error detection and correction means for detecting and correcting an error in the supplied data; and the data error detection and correction means The buffer memory for storing the data corrected by the error, the data error detection correction information of the data requested to be written by the data processor, and the data requested to be written and the generated data error detection correction information A data error detection / correction information generation means to be stored in the storage means and a data write request. However, the data requested to be written is less than the data length of the data stored in the data storage means, and the data at the address corresponding to the address where the data requested to be written is stored is not stored in the buffer memory. In this case, the data at the address is read from the data storage means and supplied to the data error detection / correction means and the data error detection / correction information generation means so as to detect the data error and in parallel with the error detection of the data. The data read from the data storage means and the data requested to be written are combined so that the data length is equal to the data length, and the error detection / correction information of the combined data is generated. If no error is detected by the detection / correction means, Data and the generated data error detection and correction information, is stored in the data storage meansIn response to the data write request, the write requested data is less than the data length of the data stored in the data storage means, and the data at the address corresponding to the address where the write requested data is to be stored is If the data is stored in the buffer memory, the data stored in the buffer memory and the data requested to be written are combined so that the data length is equal to the data length. Generate detection / correction information, and use the combined data and generated data error detection / correction Store information in data storage meansData control means.
[0009]
When the data requested to be read is not stored in the buffer memory, the data requested to be read and the data related to this data are read from the data storage means, and are sent to a plurality of data error detection and correction means. Supplied. The plurality of data error detection and correction means are operated almost simultaneously by the data control means. The plurality of data subjected to error detection and correction are stored in the buffer memory. There is a high probability that the data related to the data requested to be read will be requested to be read from the data processor. When the data is requested to be read, the error detection and correction data is already stored in the buffer memory. Therefore, the data reading speed is increased.
[0010]
Further, the data requested to be written is less than the data length of the data stored in the data storage means, and the data at the address corresponding to the address where the data requested to be written is stored is stored in the buffer memory. In some cases, the data stored in the buffer memory can be combined with the data requested to be written. As a result, it is possible to omit reading data corresponding to the address where the write-requested data should be stored and error detection and correction of the read data, thereby shortening the data writing operation time.
[0011]
Further, the data requested to be written is less than the data length of the data stored in the data storage means, and the data at the address corresponding to the address where the data requested to be written is stored is not stored in the buffer memory. In this case, the data at the address is read from the data storage means, and the detection of the data error, the combination with the data requested to be written, and the generation of the error detection correction information of the combined data are executed in parallel. . When no data error is detected, the combined data and the generated data error detection / correction information are stored in the data storage means.
[0012]
Accordingly, error correction of data read from the data storage means, a combination of error-corrected data and write-requested data, and subsequent generation of error detection / correction information are omitted, and data writing time is shortened. Can be realized.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the accompanying drawings.
FIG. 1 is a schematic configuration diagram of a data recording control apparatus according to a first embodiment of the present invention. In FIG. 1, the address of data requested to be read from an MPU (main processor (data processor)) 14 is supplied to the
[0014]
The
[0015]
Data after execution of error detection and correction from the
[0016]
FIG. 2 is an internal block diagram of the
In FIG. 2, the address comparison unit 71 determines whether data corresponding to the address of the memory accessed by the
[0017]
Further, the address comparison unit 71 outputs information on whether or not the data accessed by the
FIG. 3 is a diagram showing the correspondence between the address of the
FIG. 4 is an operation flowchart of the example of FIG. If there is a data read request from the
[0018]
If the requested data is not stored in the
In
[0019]
In
That is, when
[0020]
Next, when the
FIG. 6 shows the execution timing of error detection and correction in parallel with the
In FIG. 6, time t0Starts the error detection and correction for
[0021]
On the other hand, in the example of FIG.0Starts the error detection and correction for
[0022]
In the example of FIG. 6, the time t when the error detection and correction for the
[0023]
As described above, according to the first embodiment of the present invention, the data of the address requested to be read from the
[0024]
Therefore, it is possible to realize a data storage control device that can execute error detection and correction of a plurality of data at high speed, can read related data at high speed, and can improve memory use efficiency.
[0025]
In the above-described example, the related data is data at continuous addresses. However, the data is not necessarily data at continuous addresses.
In the above-described example, a separate buffer memory is arranged for each ECC execution unit. However, it is also possible to store a plurality of pieces of data that have been subjected to error detection and correction in one memory.
[0026]
In the data storage control device, in the case of partial write, that is, when writing data having a data length smaller than the data length that is the target of check bit generation into the memory, first, the data of the data length that is the target of check bit generation Is read from memory. Then, the ECC execution unit performs error detection and correction of the read data, and combines the data after error detection and correction and the write data (data length is small) from the MPU. The combined data is further written to the memory after generating check bits by the ECC execution unit.
[0027]
That is, in the
[0028]
Assuming that 7-bit check bits are generated for 32-bit data, the write data from the
[0029]
Therefore, as shown in FIG. 8A, in the partial write, first, the
[0030]
Then, as shown in FIG. 8B, check bits are generated by the
[0031]
As a result, partial write reads 32-bit data from the memory, performs error detection and correction of the read data, and generates check bits for data that is a combination of 8 or 16-bit data and 32-bit data. There was a need to perform a memory write.
[0032]
In order to eliminate the partial write, and to save time for error detection and correction by reading from the memory and executing ECC, it is also possible to generate 5 check bits for each byte (8 bits) which is the minimum unit of memory access. Conceivable. However, if 5 check bits are generated for every 8 bits, the check bit length is 20 bits for 32-bit data. As a result, the ratio of the check bit length to the data length increases and the use efficiency of the memory deteriorates.
[0033]
FIG. 9 is a schematic configuration diagram of a data storage control apparatus according to the second embodiment of the present invention, and is an example in which the memory write time of data in the partial write can be shortened. In the example of FIG. 9, the same reference numerals are given to the same components as in the example of FIG.
[0034]
In the example of FIG. 9, in the example of FIG. 1, the
[0035]
FIG. 10 is an operation flowchart of the example of FIG.
In
[0036]
In
[0037]
If the address does not match the address stored in the buffer memory in
[0038]
That is, if the address does not match the address stored in the buffer memory, the process proceeds from
[0039]
In
[0040]
As described above, according to the second embodiment of the present invention, the same effects as the first embodiment can be obtained and the following effects can be obtained.
That is, in the case of partial write, when the address stored in the buffer memory matches the address of the data requested to be written, reading of the
[0041]
FIG. 12 is a schematic configuration diagram of the third embodiment of the present invention. Components equivalent to those in the example of FIG. 9 are denoted by the same reference numerals. FIG. 13 is an operation flowchart of the third embodiment.
The examples shown in FIGS. 12 and 13 are examples in which the speed of the write operation can be increased even when the address of the data requested to be written is not stored in the buffer memory in the partial write.
[0042]
If the address stored in the buffer memory does not match the address of the data requested to be written in
[0043]
Subsequently, the process proceeds to
[0044]
Next, the process proceeds from
[0045]
In
FIGS. 12 and 14 are examples in the case where the partial write is performed on the
In this way, when there is a partial write request for data at an address not stored in the buffer memory, the corresponding data is read from the memory, an error is detected, and the data is read in parallel with this. A combination of data and data requested to be written and check bit generation are performed. When no error is detected, the combined data and check bits are stored in the
[0046]
Therefore, when there is no error in the read data, it is possible to omit the time required for the correction of the data, the subsequent combination of the corrected data and the write data, and the generation of the check bit.
[0047]
As described above, according to the third embodiment of the present invention, the same effect as in the second embodiment can be obtained. In the case of partial write, the address stored in the buffer memory and the address of the data requested to be written When the data does not match and no error is detected in the read data, the time required to correct the data, the subsequent combination of the corrected data and the write data, and the generation of the check bit can be omitted. Furthermore, it is possible to increase the speed of partial write.
[0048]
FIG. 15 is a schematic configuration diagram of the fourth embodiment of the present invention, and FIG. 16 is an operation flowchart of the example of FIG.
The example of FIG. 15 includes one error detection / correction
[0049]
Therefore, in the flowchart shown in FIG. 16,
As described above, according to the fourth embodiment of the present invention, in the case of partial write, when no error is detected in the read data, the correction of the data, and the subsequent combination of the corrected data and the write data, The time required for generating the check bit can be omitted, and the partial write can be speeded up.
[0050]
In the above example, three examples of error detection and correction ECC execution units are shown, but the number is not limited to three and may be two or four or more.
[0051]
【The invention's effect】
Since the present invention is configured as described above, it has the following effects.
Data of the address requested to be read and data of a plurality of addresses related to the data of this address are read, and error detection and correction of the plurality of data are executed in parallel by a plurality of ECC execution units. The data subjected to error detection and correction is stored in the data buffer.
Therefore, it is possible to realize a data storage control device that can execute error detection and correction of a plurality of data at high speed, can read related data at high speed, and can improve memory use efficiency.
In the case of partial write, when the address stored in the buffer memory matches the address of the data requested to be written, reading of data from the memory and error detection / correction of the read data are not required, and partial write is performed at high speed. Can be As a result, the partial write speed can be increased as in the case where the check bit is generated for each byte without increasing the check bit length, and the memory use efficiency can be improved along with the higher memory access speed.
[0052]
In the case of partial write, the data corresponding to the address of the data to be written is read from the data storage means, the error of the data is detected, the combination with the data requested to be written, and the error detection / correction information of the combined data is generated. Executed in parallel. When no data error is detected, the combined data and the generated data error detection / correction information are stored in the data storage means.
[0053]
Accordingly, error correction of data read from the data storage means, a combination of error-corrected data and write-requested data, and subsequent generation of error detection / correction information are omitted, and data writing time is shortened. Can be realized.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a first embodiment of the present invention.
FIG. 2 is a functional block diagram of a control unit in the example of FIG.
FIG. 3 is a diagram illustrating data stored in each address of a memory.
4 is an operation flowchart of the example of FIG.
5 is an operation explanatory diagram when read request data is stored in a buffer memory in the example of FIG. 1; FIG.
FIG. 6 is an operation timing chart of data error detection / correction in the example of FIG. 1;
FIG. 7 is an operation timing chart of data error detection and correction in an example different from the present invention.
FIG. 8 is an operation explanatory diagram in the case of writing data smaller than the data width to be a check bit generation target.
FIG. 9 is a schematic configuration diagram of a second embodiment of the present invention.
10 is an operation flowchart of the example of FIG.
11 is an explanatory diagram of partial write operation when data corresponding to data requested to be written is stored in the buffer memory in the example of FIG. 9;
FIG. 12 is a schematic configuration diagram of a third embodiment of the present invention.
13 is an operation flowchart of the example of FIG.
14 is an operation explanatory diagram of the example of FIG. 12. FIG.
FIG. 15 is a schematic configuration diagram of a fourth embodiment of the present invention.
16 is an operation flowchart of the example of FIG.
[Explanation of symbols]
1 Multiplexer
2 ECC execution unit for check bit generation
3a, 3a, 3b Buffer memory
4a, 4b, 4c ECC execution unit for error detection and correction
5 Output controller
6 MPU data bus
7 Control unit
8 Memory data bus
9 Check bit bus
10 Memory address bus
11 Control signal line
12 MPU address bus
13 MPU control signal line
14 MPU
15 memory
71 Address comparison part
72 Data position notification bus
73 Data hit information line
74 Control signal generator
200 ECC execution unit
Claims (1)
上記データ誤り検出訂正手段により誤り訂正されたデータを記憶するバッファメモリと、
データプロセッサから書き込み要求されるデータのデータ誤り検出訂正用情報を生成し、書き込み要求されたデータと、生成したデータ誤り検出訂正用情報とをデータ記憶手段に記憶させるデータ誤り検出訂正用情報生成手段と、
データ書き込み要求に応答し、書き込み要求されたデータがデータ記憶手段に記憶されたデータのデータ長未満であり、かつ、書き込み要求されたデータを記憶すべきアドレスに対応するアドレスのデータが、バッファメモリに記憶されていない場合には、上記アドレスのデータをデータ記憶手段から読みだし、データ誤り検出訂正手段及びデータ誤り検出訂正用情報生成手段に供給し、データの誤りを検出させるとともに、このデータの誤り検出と平行して、データ記憶手段から読みだしたデータと書き込み要求されたデータとを組み合わせ、上記データ長と等しいデータ長となるように組み合わせ、組み合わせたデータの誤り検出訂正用情報を生成させ、その後、データ誤り検出訂正手段により、データの誤りが検出されなかったときには、上記組み合わせたデータ及び生成したデータ誤り検出訂正用情報を、データ記憶手段に記憶させ、データ書き込み要求に応答し、書き込み要求されたデータがデータ記憶手段に記憶されたデータのデータ長未満であり、かつ、書き込み要求されたデータを記憶すべきアドレスに対応するアドレスのデータが、上記バッファメモリに記憶されている場合には、このバッファメモリに記憶されたデータと上記書き込み要求されたデータとを上記データ長と等しいデータ長となるように組み合わせ、組み合わせたデータに対して、データ誤り 検出訂正用情報を生成し、上記組み合わせたデータ及び生成したデータ誤り検出訂正用情報を、データ記憶手段に記憶させるデータ制御手段と、
を備えることを特徴とするデータ記憶制御手段。Data storage control having data storage means for storing data and information for error detection and correction of the data, and controlling data reading and writing of the data storage means in response to data reading and writing requests from the data processor In the apparatus, data stored in the data storage means and information for error detection and correction of this data are supplied, and data error detection and correction means for detecting and correcting an error in the supplied data;
A buffer memory for storing data error-corrected by the data error detection and correction means;
Data error detection / correction information generating means for generating data error detection / correction information for data requested to be written by the data processor and storing the data requested for writing and the generated data error detection / correction information in the data storage means When,
In response to the data write request, the write requested data is less than the data length of the data stored in the data storage means, and the data at the address corresponding to the address where the write requested data is to be stored is the buffer memory. The data at the address is read from the data storage means and supplied to the data error detection / correction means and the data error detection / correction information generation means to detect data errors and In parallel with the error detection, the data read from the data storage means and the data requested to be written are combined so that the data length is equal to the data length, and the error detection / correction information of the combined data is generated. After that, when no data error is detected by the data error detection and correction means The combined data and the generated data error detection and correction information, is stored in the data storage means, in response to a data write request, the write requested data is located in the data below length of the data stored in the data storage means When the data at the address corresponding to the address where the requested data is to be stored is stored in the buffer memory, the data stored in the buffer memory and the requested data are Data error detection and correction information is generated for the combined data so that the data length is equal to the data length, and the combined data and the generated data error detection and correction information are stored in the data storage means. and data control means Ru is,
A data storage control means comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001288489A JP3675748B2 (en) | 2001-09-21 | 2001-09-21 | Data storage controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001288489A JP3675748B2 (en) | 2001-09-21 | 2001-09-21 | Data storage controller |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7003373A Division JPH08190512A (en) | 1995-01-12 | 1995-01-12 | Data storage controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002149501A JP2002149501A (en) | 2002-05-24 |
| JP3675748B2 true JP3675748B2 (en) | 2005-07-27 |
Family
ID=19111128
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001288489A Expired - Fee Related JP3675748B2 (en) | 2001-09-21 | 2001-09-21 | Data storage controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3675748B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4865016B2 (en) * | 2009-08-27 | 2012-02-01 | 株式会社東芝 | Processor |
-
2001
- 2001-09-21 JP JP2001288489A patent/JP3675748B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002149501A (en) | 2002-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11726665B1 (en) | Memory extension with error correction | |
| US6158040A (en) | Rotated data-aligmnent in wade embedded DRAM for page-mode column ECC in a DVD controller | |
| JP5132687B2 (en) | Error detection and correction method and apparatus using cache in memory | |
| US9003260B2 (en) | Partial-writes to ECC (error check code) enabled memories | |
| KR20090028507A (en) | Nonvolatile Memory Error Correction System and Method | |
| US7984363B2 (en) | Integrated circuit device including a circuit to generate error correction code for correcting error bit for each of memory circuits | |
| CN1770312A (en) | Integrated circuit memory devices that support detection of write errors occuring during power failures and methods of operating same | |
| US20040225944A1 (en) | Systems and methods for processing an error correction code word for storage in memory components | |
| JP2006190425A (en) | Semiconductor memory device | |
| JP5134569B2 (en) | Memory device | |
| CN1963950A (en) | Semiconductor storage device equipped with ecc function | |
| JP3922844B2 (en) | Cache TAG control method and information processing apparatus using the control method | |
| US20040250177A1 (en) | Flash memory device with fast reading rate | |
| US7689895B2 (en) | On-the fly error checking and correction CODEC system and method for supporting non-volatile memory | |
| JP2004246754A (en) | Semiconductor memory and its controller | |
| JP3675748B2 (en) | Data storage controller | |
| US7752527B2 (en) | Microcontroller and RAM | |
| JPWO2012046343A1 (en) | Memory module redundancy method, storage processing device, and data processing device | |
| JP2012003569A (en) | Memory controller, flash memory system including memory controller, and method of controlling flash memory | |
| US20220385304A1 (en) | Storage device and control method for storage device | |
| JP2020102087A (en) | Semiconductor device, memory controller, and memory access method | |
| JP2012059337A (en) | Semiconductor memory device | |
| JP5446931B2 (en) | Error detection and correction device and memory device | |
| JPH08190512A (en) | Data storage controller | |
| US12051480B2 (en) | Semiconductor storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040115 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
| 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: 20050419 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050426 |
|
| 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: 20080513 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120513 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120513 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |