JP4201927B2 - データ処理管理装置 - Google Patents
データ処理管理装置 Download PDFInfo
- Publication number
- JP4201927B2 JP4201927B2 JP23811999A JP23811999A JP4201927B2 JP 4201927 B2 JP4201927 B2 JP 4201927B2 JP 23811999 A JP23811999 A JP 23811999A JP 23811999 A JP23811999 A JP 23811999A JP 4201927 B2 JP4201927 B2 JP 4201927B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- processing
- cpu
- work
- 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
- 238000012545 processing Methods 0.000 title claims description 179
- 238000000034 method Methods 0.000 claims description 100
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 230000007704 transition Effects 0.000 claims description 9
- 239000000872 buffer Substances 0.000 description 97
- 238000007726 management method Methods 0.000 description 41
- 230000015654 memory Effects 0.000 description 29
- 238000012546 transfer Methods 0.000 description 21
- 239000004065 semiconductor Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000012790 confirmation Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
この発明は、複数のデータ処理を同時にないしは並列に行なう環境において各データの処理状況を管理するための技術に関する。
【0002】
【従来の技術】
一般的に、CPU(Central Processing Unit)がプログラムを実行する場合、例えば(1)命令のフェッチ、(2)命令のデコード、(3)命令の実行等の単純な処理の複数を組み合わた一連の処理を繰り返す。例えばデータ転送処理も、このような一連の処理を繰り返すことにより行われる。
【0003】
ここで、半導体記憶装置がホスト・コンピュータ(以下、単に「ホスト」とも呼ぶ)からセクタ単位のデータを受け取る場合において、上記記憶装置の内部のCPUが実行する処理を説明する。図7は、データD1に対する各処理ないしは処理段階ST1〜ST4を実行した後に、次のデータD2に対して各処理ST1〜ST4を実行する場合を図示したタイミングチャートである。図7に示すように、記憶装置内のCPUは、▲1▼データを取得して記憶装置内のセクタバッファヘ保存する(処理ST1)、▲2▼受け取ったデータに誤り訂正符号(ECC:Error Correcting Codes)を付加する(処理ST2)、▲3▼記憶装置内のフラッシュメモリにデータを書き込む(処理ST3)、▲4▼書き込み結果を確認する(処理ST4)という一連の処理を繰り返す。なお、処理ST4→処理ST3→処理ST2→処理ST1の順に、CPUが実行すべき優先順位が低くなる。
【0004】
上記処理ST1〜ST4から成る一連の処理を高速に実行するための有効な方法の一例として、データ処理のパイプライン化が挙げられる。即ち、各処理ST1〜ST4用の回路を独立に且つ並列に稼働させることによって、処理効率を上げる。このようなパイプライン処理の様子を図8のタイミングチャートに示す。図8に示すように、例えばデータ取得処理ST1用の回路は複数のデータD1〜D5に対して処理ST1を連続して実行する。図7及び図8を比較すれば分かるように、このようなパイプライン処理化によって時刻t0〜時刻t8の同一時間内に2.5倍の処理量を実行可能である。
【0005】
ところで、データ転送処理を実行している間、CPUは、データ転送に使用される上記各セクタバッファの状態や実行中の全処理の状態等を常に管理している。即ち、CPUは、各回路があるデータに対する処理が終了し、次のデータに対する処理が実行可能か否かを確認して、実行可能な状態であれば次のデータに対する処理を実行する。また、データ取得処理ST1においてホストからのデータ読み出し順序を間違わないように管理している。
【0006】
ここで、パイプライン化されたデータ転送処理及びCPUによる上述のデータ処理の管理をより具体的に説明する。図9は、CPUが使用するRAM(Random Access Memory)12P内の従来のアドレス空間の模式図である。図9に示すように、RAM12Pは、CPUを動作させるために必要な命令ないしはプログラム(一般にファームウェア(F/W)と呼ばれる)を格納するための領域であるファームウェア(F/W)処理領域13Pと、パイプライン処理の管理のための処理領域(以下、「ワークバッファ」と呼ぶ)14Pとを備える。
【0007】
ワークバッファ14Pは第1乃至第4ワークバッファ141P〜144Pから成り、4つのワークバッファ141P〜144Pにはそれぞれ処理中の所定のデータの現在の処理状況等が格納される。例えば、図8において、時刻t0において(状態S1を参照)、CPUは、処理ST1用の回路を制御することによってデータD1の取得処理ST1を実行する一方で、データD1が処理ST1中であることを示す情報を第1ワークバッファ141Pに記述する。その後、時刻t1(状態S2を参照)において、CPUは、処理ST2用の回路を制御することによって、セクタバッファに収められたデータD1に対するECC付加処理ST2を実行すると共に、データD1が処理ST2中であることを示す情報を第1ワークバッファ141Pに記述する。他方、同時刻t1において、CPUは、処理ST1用の回路を制御することによってデータD2の取得処理ST1を実行すると共に、上述の状態S1と同様にデータD2が処理ST1中であることを第2ワークバッファ143Pに記述する。このようにして順次に処理を進めていく。なお、例えば第1ワークバッファ141Pは、データD1に対する一連の処理ST1〜ST4が終了するまでデータD1用のワークバッファとして占有される。
【0008】
このとき、CPUが各ワークバッファ141P〜144Pを利用する際の従来のアクセス方法として、(a)各ワークバッファ141P,142P,143P,144Pの絶対アドレスAD141P,AD142P,AD143P,AD144Pをファームウェアないしプログラム中で指定する方法や、(b)第1ワークバッファ141PのアドレスAD141Pをベースアドレスとして他のワークバッファ142P,143P,144Pをオフセットアドレスで指定する方法等がある。
【0009】
なお、上記アドレスAD141P,AD142P,AD143P,AD144PはそれぞれCPUが有するアドレス空間内のアドレスP1P,P2P,P3P,P4Pにマッピングされており、CPUはアドレスP1P,P2P,P3P,P4Pにアクセスすることによってそれぞれ上記アドレスAD141P,AD142P,AD143P,AD144Pにアクセスする。
【0010】
【発明が解決しようとする課題】
一般的に、CPUが上述の処理管理を実行する場合、その分だけCPUが実行すべき処理量、即ち、処理時間が増大する。その結果、データ処理の速度ないしはデータ転送のパフォーマンスが低下する。かかる傾向はパイプライン処理するデータ数が多いほど顕著である。複数のデータ処理を並列処理する場合に上述のデータ処理の管理は必要であるので、そのような処理管理を実行しつつもCPUの処理効率を向上させることが強く望まれている。かかる要請に応えうる手段の一つとして、CPUのワークバッファへのアクセスの改善が挙げられる。即ち、上述した従来の両アクセス方法(a),(b)は、以下の問題点を有している。
【0011】
詳細には、両アクセス方法(a),(b)では、各データD1〜D5と第1乃至第4ワークバッファ141P〜144Pとの対応をCPUが管理しなければならない。例えば図8において、CPUが最優先に処理すべき処理ST4の処理対象は、時刻t3〜時刻t4間の状態S4から時刻t4〜時刻t5間の状態S5に移行する場合、データD1からデータD2に変わる。このとき、処理ST4の処理対象の変更に伴って、処理ST4の実行時にCPUがアクセスすべきワークバッファは第1ワークバッファ141Pから第2ワークバッファ142Pに変わる。このため、従来の両アクセス方法(a),(b)では、各処理ST1,ST2,ST3,ST4の実行時にCPUがアクセスすべきワークバッファのアドレスAD141P〜AD144Pを、CPU自体が常に記憶・管理しなければならない。
【0012】
更に、例えば状態S4から状態S5に移行する場合、データD1用として占有されていた第1ワークバッファ141Pが開放されて(空き状態にされて)次のデータD5用に利用可能になる。即ち、第1乃至第4ワークバッファ141P〜144Pの内のいずれがデータ取得処理ST1に利用可能であるかを、CPUが常に記憶・管理する必要がある。
【0013】
このように、従来の両アクセス方法(a),(b)では、上述のデータ処理の状況管理に加えて、その状況管理のためにアクセスするワークバッファのアドレス及びそれの空き状態をもCPUが管理しなければならない。
【0014】
かかるワークバッファのアドレス及び空き状態の管理を軽減しうると考えられる管理方法の一つとして、以下の方法がある。即ち、第2ワークバッファ142P内の情報を開放された第1ワークバッファ141Pヘコピーし、第3ワークバッファ143P内の情報を第2ワークバッファ142Pへコピーするというように、各バッファ142P〜144P内の情報を順次にコピー(移転)する方法が考えられる。この管理方法によれば、第1乃至第4ワークバッファ141P〜144Pはそれぞれが特定のデータに対応していたアクセス方法(a),(b)とは異なり、この順序で処理ST4〜ST1の優先順位に対応する。このため、例えば処理ST4の実行時にCPUは常に第1ワークバッファ141Pにアクセスすればよい。また、上記空き状態を調べるためには、CPUは第4ワークバッファ144Pをアクセスすれば済む。しかしながら、全てのワークバッファ141P〜144Pについて上述のコピーを実行するためには、CPUは数十μsecオーダーの処理時間を費やさなければならない。即ち、かかる管理方法では、CPUの処理効率の向上という所期の目的の達成、換言すればデータ処理の高速化は難しいと考えられる。
【0015】
本発明は、上述の問題点に鑑みてなされたものであり、CPUの処理効率が改善されたデータ処理管理装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
(1)請求項1に記載の発明に係るデータ処理管理装置は、同時に処理可能な複数の処理段階によって各々が順次に処理される複数のデータの各処理状況を、前記処理段階に対応した互いに異なる複数の第1のアドレスを用いて管理するCPUと、各々が互いに異なる第2のアドレスを有し、前記データに関する情報を前記データ毎に格納する、複数の管理用記憶部と、前記処理状況の進行に伴い、前記第2のアドレスに対応する前記第1のアドレスを循環的に変化させ、前記変化させた対応関係に基づき前記第1のアドレスを前記第2のアドレスに変換するアドレス変換部とを備えることを特徴とする。
【0017】
(2)請求項2に記載の発明に係るデータ処理管理装置は、請求項1に記載のデータ処理管理装置であって、第1の前記データが処理される前記処理段階が第2の前記データが処理される前記処理段階よりも後である状態から、前記第1の前記データが処理される前記処理段階が前記第2の前記データが処理される前記処理段階よりも先である状態へ遷移するのに伴って、前記第1の前記データについての前記第2のアドレスに対応する前記第1のアドレスと、前記第2の前記データについての前記第2のアドレスに対応する前記第1のアドレスとを交替することを特徴とする。
【0018】
(3)請求項3に記載の発明に係るデータ処理管理装置は、同時に処理可能な複数の処理段階によって各々が順次に処理される複数のデータの各処理状況を、前記処理段階に対応した互いに異なる複数の第1のアドレスを用いて管理するCPUと、各々が互いに異なる第2のアドレスを有し、前記データに関する情報を前記データ毎に格納する、複数の管理用記憶部と、前記第1のアドレスを前記第2のアドレスに変換するアドレス変換部とを備え、前記データ処理管理装置は、第1の前記データが処理される前記処理段階が第2の前記データが処理される前記処理段階よりも後である状態から、前記第1の前記データが処理される前記処理段階が前記第2の前記データが処理される前記処理段階よりも先である状態へ遷移するのに伴って、前記第1の前記データについての前記第2のアドレスに対応する前記第1のアドレスと、前記第2の前記データについての前記第2のアドレスに対応する前記第1のアドレスとを交替し、前記交替した対応関係に基づき前記第1のアドレスを前記第2のアドレスに変換することを特徴とする。
【0019】
【発明の実施の形態】
<実施の形態1>
図1に、実施の形態1に係る半導体記憶装置1の構成の模式的なブロック図を示す。図1に示すように、半導体記憶装置1はホスト2と接続されている。そして、半導体記憶装置1は、ホスト2とのデータの受け渡しを行なうホストインタフェース回路41と、データを記憶するフラッシュメモリ45と、両者41,45間に介在するセクタバッファ43とを備える。セクタバッファ43は、ホスト2からフラッシュメモリ45へ転送するデータ又はフラッシュメモリ45からホスト2へ転送するデータを一時的に格納する。なお、図1に示すように、セクタバッファ43は第1乃至第4セクタバッファ431〜434から成る。また、上記フラッシュメモリ45は複数個のフラッシュメモリで構成しても良い。
【0020】
第1乃至第4セクタバッファ431〜434のそれぞれは、バスセレクタ回路42を介してホストインタフェース回路41と接続されていると共に、バスセレクタ回路44を介してフラッシュメモリ45に接続されている。バスセレクタ回路42のデータバスの選択によって、ホストインタフェース回路41と第1乃至第4セクタバッファ431〜434との接続形態が制御される。同様に、バスセレクタ回路44によって、フラッシュメモリ45と第1乃至第4セクタバッファ431〜434との接続形態が制御される。
【0021】
また、半導体記憶装置1はバスセレクタ回路44に接続されたECC回路46を備える。ECC回路46は、ホスト2から受取ったデータに対するエラー訂正用の符号(ECC)を生成したり、フラッシュメモリ45から読み出したデータにエラーが発生していないかを検出・訂正する。
【0022】
なお、以下の説明では、回路41〜46から成る要素を「転送処理部40」とも呼ぶ。
【0023】
更に、半導体記憶装置1は、CPU11と、シーケンサ回路30とを備える。CPU11は上記各回路41〜46の制御及び各回路41〜46とのデータ・信号のやり取りを直接に又はシーケンサ回路30を介して行う。これにより、ホスト2とフラッシュメモリ45との間で既述の処理ないしは処理段階ST1〜ST4に基づくデータ転送処理が実行される。なお、シーケンサ回路30はCPU11の命令に基づいて所定の制御信号ないしは制御信号波形を生成・出力することによって各回路41〜46を制御する。
【0024】
例えばデータ取得処理ST1は以下のように実行される。まず、CPU11の命令に基づいてシーケンサ回路30がデータ取得処理ST1用の制御信号を生成し、当該制御信号によってホストインタフェース回路41,バスセレクタ回路42及びセクタバッファ43を制御する。かかる制御により、処理ST1であるホスト−セクタバッファ間転送処理が実行される。このとき、ホストインタフェース回路41,バスセレクタ42及びセクタバッファ43が処理ST1用の回路に該当する。
【0025】
同様に、ECC付加処理ST2は、シーケンサ回路30が処理ST2用の制御信号で以てセクタバッファ43,バスセレクタ回路44及びECC回路46を制御することにより実行される。このとき、セクタバッファ43,バスセレクタ回路44及びECC回路46が処理ST2用の回路に該当する。なお、ECC回路46での処理は後に詳述する。また、書き込み処理ST3は、処理ST3用の制御信号で以て、処理ST3用の回路に該当する、セクタバッファ43,バスセレクタ回路44及びフラッシュメモリ45を制御することにより実行される。これらに対して、書き込み確認処理ST4は、CPU11が直接にフラッシュメモリ45のステータスを確認することにより実行される。
【0026】
このとき、シーケンサ回路30が上記各処理ST1〜ST3用の制御信号を独立に生成することによって、処理ST1〜ST4のパイプライン化が実現される。
【0027】
ここで、ECC付加処理ST2におけるECC回路46の動作に説明を加える。
【0028】
まず、ホスト2からフラッシュメモリ45へデータ転送する場合、即ち、データを符号化する場合を説明する。データ取得処理ST1においてセクタバッファ43、例えば第1セクタバッファ431へ転送されたデータを、バスセレクタ回路44を介してECC回路46へコピーする。そして、ECC回路46はコピーされたデータに基づいてECCを生成して当該回路46内のレジスタに保存する。次に、CPU11が上記保存されたECCを利用して第1セクタバッファ431内のデータに付加する。その後、書き込み処理ST3において、ECCが付加されたデータがバスセレクタ回路44を介してフラッシュメモリ45へ転送される。
【0029】
また、フラッシュメモリ45からホスト2へデータを転送する場合、即ち、データを復号化する場合は、ECC回路46は以下の処理を実行する。まず、シーケンサ回路30によって、フラッシュメモリ45内のECC付きデータがバスセレクタ回路44を介してECC回路46及び例えば第1セクタバッファ431の双方に転送される。ECC回路46は転送されたデータを復号化し、その結果を保存する。このとき、エラーが発生してはいるがそれが訂正可能な場合、ECC回路46は訂正用データを生成してECC回路46内のレジスタに保存する。そして、CPU11が上記復号化結果を確認し、エラーが発生している場合にはCPU11が上記訂正用データを利用して第1セクタバッファ431内のデータを修正する。その後、第1セクタバッファ431内のデータは、シーケンサ回路30によってバスセレクタ回路42及びホストインタフェース回路41を介してをホスト2へ転送される。
【0030】
更に、半導体記憶装置1は、CPU11のアドレス空間(図示せず)内のアドレス(第1のアドレス)を所定のアドレスに変換するアドレスデコーダ(アドレス変換部)21と、CPU11が使用するRAM12とを備える。上述のデータ処理ST1〜ST4は、CPU11とアドレスデコーダ21とRAM12(特に、RAM12内の後述のワークバッファ14及びワークレジスタ151)とから成るデータ処理管理部(データ処理管理装置)10によって管理される。図1に加えて図2及び図3を参照しつつ、データ処理管理部10を説明する。なお、図2はRAM12のアドレス空間を示す模式図であり、図3はデータ処理管理部10、特にアドレスデコーダ21での処理を説明するためのブロック図である。
【0031】
図2に示すように、RAM12は、CPU11を動作させるために必要なファームウェア(F/W)を格納するための領域であるファームウェア処理領域13と、パイプライン処理の管理のためのワークバッファ(管理用記憶部)14と、ワークレジスタ151とを備える。ワークバッファ14は第1乃至第4ワークバッファ141〜144から成り、各ワークバッファ141,142,143,144は、一連の処理ST1〜処理ST4が終了するまで各々異なる所定のデータ用として占有される。各ワークバッファ141〜144には所定のデータに関する情報、例えばそのデータの名前、或いは更にその現在の処理状況等の情報がデータ毎に格納される。ワークレジスタ151は、CPU11がアクセス可能であり、CPU11が設定する所定の値(後述する)を格納する。
【0032】
CPU11が有するアドレス空間には、RAM12やシーケンサ回路30等の周辺回路が有するレジスタがマッピングされている。マッピング方法、即ち、アドレスデコーダ21でのアドレス変換処理を図3を用いて説明する。CPU11が上記アドレス空間内の所定のアドレスAD11にアクセスすると、そのアドレスAD11と、当該アドレスAD11がどのアクセス先のアドレスであるか、即ち、F/W処理領域13,ワークバッファ14,ワークレジスタ151又はシーケンサ回路30のいずれのアドレスであるかを示す選択信号SG11とを、CPU11がアドレスデコーダ21に対して出力する。アドレスデコーダ21は選択信号SG11に基づいてアドレスAD11を所定のアクセス先のアドレスAD21に変換する。そして、選択信号SG11で特定されたアクセス先に対してのみ選択信号SG21を送信することにより、CPU11は所望のアクセス先、即ち、F/W処理領域13,ワークバッファ14,ワークレジスタ151又はシーケンサ回路30における所望のアドレスAD21へアクセスすることができる。
【0033】
特に、CPU11が第1乃至第4ワークバッファ141〜144へアクセスする場合、実施の形態1に係るアドレスデコーダ21はワークレジスタ151の値R151に基づいてアドレス変換を行う。図2に示すように、ワークレジスタ151の値R151が”1”の場合、CPU11のアドレス空間内のアドレス(第1のアドレス)P1,P2,P3,P4はそれぞれワークバッファ141,142,143,144のアドレス(第2のアドレス)AD141,AD142,AD143,AD144(先頭アドレス)に変換される(マッピングされる)。また、ワークレジスタ151の値R151が”2”の場合、アドレスP1,P2,P3,P4はそれぞれアドレスAD142,AD143,AD144,AD141に変換される。図2に示すように、各アドレスP1,P2,P3,P4は、第1乃至第4ワークバッファ141〜144に対してワークレジスタ151の値R151に基づいて循環的に変化する(ローテイションする)。
【0034】
ここで、上述の「循環的に変化する(循環する)」を説明する。図4に示すように、アドレスP1→アドレスP2→アドレスP3→アドレスP4→アドレスP1というようにアドレスP1〜P4が環状に関連付けられる。また、アドレスデコーダ21の基本機能として、各アドレスP1,P2,P3,P4はアドレスAD141〜AD144のいずれかに対応付けられる(変換される)。なお、図4に示すアドレスの対応付けは、図2に示すようにワークレジスタ151の値R151が”1”の場合である。このように、各アドレスP1,P2,P3,P4が上述の環状の関連付けを保ったままアドレスAD141〜AD144に対して順次にシフトすることを「(アドレスP1,P2,P3,P4が)循環的に変化する」と表現する。ここでは、アドレスP1が順次にアドレスAD141→アドレスAD142→・・・に対応付けられる方向にアドレスP1〜P4を循環させる。
【0035】
かかる循環により得られた各対応付けは、図2に示すように、更にワークレジスタ151の値R151(=”1”〜”4”)に関連付けられる。これにより、ワークレジスタ151の値R151(=”1”〜”4”)に基づいて、CPU11のアドレス空間内のアドレスP1〜P4が第1乃至第4ワークバッファ141〜144のアドレスAD141〜AD144に変換される。
【0036】
アドレスデコーダ21では例えば以下のようにしてアドレス変換を行う。例えばワークレジスタの値R151が”1”の場合における、アドレスP1〜P4とアドレスAD141〜AD144との対応をアドレスデコーダ21に予めに付与しておく。そして、図3に示すように、アドレスデコーダ21がワークバッファ14を選択する信号SG11を受信すると、選択信号SG21によらず、アドレスデコーダ21はワークレジスタ151の値R151を参照する。例えば参照した値R151が”3”であれば、予めに付与された上記対応付けを上述の循環方向に2回シフト(循環)することにより所定の対応付けが得られる。当該得られた所定の対応付けに基づいてアドレスデコーダ21はアドレス変換を行う。
【0037】
データ処理管理部10は、パイプライン処理される各データD1〜D5(図8参照)に関する情報を以下のように管理する。なお、データ処理管理部10では、CPU11の第1乃至第4ワークバッファ141〜144へのアクセス方法に特徴があるため、かかる点を中心に説明する。
【0038】
まず、従来の半導体記憶装置と同様に、既述の図8における状態S1〜状態S4の間、第1乃至第4ワークバッファ141,142,143,144をそれぞれデータD1,D2,D3,D4用として割り当てる。このとき、CPU11はワークレジスタ151の値R151を”1”に設定している。かかる設定により、CPU11はアドレスP1,P2,P3,P4へアクセスすることによってそれぞれ第1乃至第4ワークバッファ141,142,143,144へアクセスすることができる。
【0039】
次に、状態S4から状態S5へ移行すると、状態S4までの間データD1用として占有されていた第1ワークバッファ141が開放され、次に取得するデータD5用として使用される。かかる移行に伴って、CPU11はワークレジスタ151に”2”を書き込む。これにより、CPU11はアドレスP1,P2,P3,P4へアクセスすることによってそれぞれワークバッファ142,143,144,141へアクセスすることができる(図2参照)。このとき、CPU11は、データD2〜D4に関して、引き続きCPU11のアドレス空間内のアドレスを採用して処理を進める。
【0040】
同様に、CPU11は、状態S5から状態S6への移行に伴いワークレジスタ151を”3”に変更し、状態S6から状態S7への移行に伴いワークレジスタ151を”4”に変更する。このように、データ処理の状況に伴ってCPU11がワークバッファ151の値R151を変化させることによって、アドレスデコーダ21がアドレスP1〜P4をアドレスAD141〜AD144に対して循環的に変化させる。このようにして、アドレスデコーダ21は、アドレスP1〜P4とアドレスAD141〜AD144とを、処理状況の進行に伴って変動する対応関係で対応付ける。
【0041】
特に、図2及び図8を参照すれば分かるように、アドレスP1〜P4とアドレスAD141〜AD144との上述の対応付け(図2参照)によれば、以下の対応関係が常に成立する。なお、処理ST1〜ST4の優先順位に対応させてパイプライン処理されている複数のデータを処理ST4に最も近い順番から降順に順位付けし、最も高い順位のデータに関する情報が格納されているワークバッファを「最高順位のワークバッファ」のように表現する。例えば状態S4以前での最高順位のワークバッファは第1ワークバッファ141であり、状態S5における最高順位のワークバッファは第2ワークバッファ142である。このとき、最高順位のワークバッファのアドレスAD141,AD142,AD143又はAD144とアドレスP1とが常に対応する。つまり、CPU11はアドレスP1へアクセスすることによって、最高順位のワークバッファへ常にアクセスすることができる。同様に、各アドレスP2,P3,P4は、第2番目の順位のワークバッファ、第3番目の順位のワークバッファ、最低順位のワークバッファに常に対応付けられる。即ち、アドレスP1→アドレスP2→アドレスP3→アドレスP4という順序は、常に、ワークバッファ141〜144の順位の降順、即ち、処理段階ST1〜ST4の優先順位の降順に対応している。
【0042】
このように、CPU11のアドレス空間内のアドレスP1〜P4は処理段階ST1〜ST4に対応し、また、アドレスデコーダ21によってアドレスP1〜P4はデータの処理状況の進行に伴って変動する対応関係で以てアドレスAD141〜AD144と対応付けられる。このため、各ワークバッファ141〜144が格納している内容ないしは情報を処理状況の進行に伴って移転する必要がない。しかも、CPU11はどのデータD1〜D5がどの処理段階ST1〜ST4において処理されているかを管理することなく、アドレスP1〜P4の選択によって処理ST1〜ST4の所望の処理段階での処理状況を把握することができる。従って、CPU11が処理状況を管理するために必要な処理量及び処理時間を従来よりも削減できる。これにより、CPUの処理効率を向上することができる。このとき、ファームウェア中に上述の移転処理やデータD1〜D5と処理段階ST1〜ST4との対応付けを記述する必要が無いので、ファームウェアを単純化及び小容量化することができる。即ち、効率の良いファームウェアを構築することができる。
【0043】
ここで、図8に示すパイプライン処理のように複数のデータD1〜D5がいずれも順次に同一の処理を受ける際に各処理段階ST1,ST2,ST3,ST4での(複数の)データD1〜D5の処理の順番が処理段階ST1,ST2,ST3,ST4毎に変わらない又は異ならない場合には、図2に示すように、アドレスP1〜P4を循環的に変化させても、アドレスP1〜P4の順序とアドレスAD141〜AD144の順序との相対関係が崩れない。このため、例えばアドレスP1をベースアドレスとした場合のオフセットアドレスを各アドレスP1〜P4として利用することができる。このとき、ファームウェア中にアドレスP1〜P4の全てを記述する必要性は無いので、ファームウェアの単純化及び小容量化を更に容易にすることができる。かかる点からもCPU22の処理効率を向上することができる。
【0044】
その結果、半導体記憶装置1によれば、従来の半導体記憶装置と比較して、効率良く且つ高速にデータ転送を行うことができる。
【0045】
なお、例えば、ワークレジスタ151の値R151として”1”〜”4”の代わりに”0”〜”3”を用いる場合、CPU11が処理ST4の終了に伴って+1ずつインクリメントするカウンタ(図示せず)を準備して、当該カウンタの値を4で除算した余りをワークレジスタ151に書き込んでも良い。
【0046】
<実施の形態2>
次に、実施の形態2に係る半導体記憶装置を説明する。当該装置は既述の半導体記憶装置1(図1及び図3参照)と同等の構成を有しており、アドレスデコーダ21におけるアドレス変換処理に特徴がある。このため、かかる点を中心に説明し、既述の構成要素と同等のものには同一の符号を付してその詳細な説明を援用する。図5に、アドレスデコード21での実施の形態2に係るアドレス変換処理を説明するための模式図を示す。図5中のワークレジスタ152は既述のワークレジスタ151(図2参照)に相当する。
【0047】
特に、実施の形態2に係るデータ処理管理部10では、CPU11がワークバッファ141〜144の各順位を直接に指定してワークレジスタ152へ記述する。図5に示すように、例えばワークバッファ141,142,143,144をこの順序で順位付けする場合、CPU11は”4321”をワークレジスタ152へ書き込む。これにより、アドレスデコーダ21はワークレジスタ152の値R152(=”4321”)を参照して、ワークバッファ141,142,143,144にこの順序で降順の順位を付与し、当該降順の順位とアドレスP1→アドレスP2→アドレスP3→アドレスP4という順序(処理段階ST1〜ST4の降順の優先順位に対応)とを対応付ける。なお、この順位は、既述のワークレジスタ151に”1”を設定した場合に相当する(図2参照)。ここでは、”4321”を成す数字の並びの内で右側又は下位側ほど順位が高いものとする。このとき、”1”〜”4”の4種の数字(文字)から成る4桁の値を表記するために、ワークレジスタ152は16bitレジスタで構成される。
【0048】
同様に、ワークレジスタ152に”1432”を書き込むことにより、既述のワークレジスタ151に”4”を設定した場合に相当する順位付け及び対応付けができる(図2参照)。また、他の一例として、ワークレジスタ152の値R152が”3421”の場合、アドレスP1,P2,P3,P4とアドレスAD141,AD142,AD144,AD143とがこの順序で対応付けられる。このとき、実施の形態1と同様に、各ワークバッファ141〜144が格納している内容ないしは情報を順次に移転する必要がない。
【0049】
実施の形態2に係るデータ処理管理部10によれば、各ワークバッファ141〜144の順位をワークレジスタ152へ書き込む値R152で以て任意に指定することができる。このため、一連の複数のデータ処理ST1〜ST4を各データの処理状況に応じて順序を変更してパイプライン処理する場合にも、当該管理部10を適用可能である。以下に、このような処理順序を入れ替える場合の一例を挙げて、実施の形態2に係るデータ処理管理部10をより詳しく説明する。なお、ここでは、フラッシュメモリ45が2つのフラッシュメモリから成るものとする。
【0050】
例えば図8中の状態S4(時刻t3〜時刻t4)においてデータD2が一方のフラッシュメモリに対して書き込まれている最中に、データD3に対するECC付加処理ST2が終了している場合、図8に相当する図6中の状態S4aに示すように、データD3を、待機中である他方のフラッシュメモリに書き込むことができる。ここでは、説明の理解を助けるため、データD1,D4はそれぞれ次の処理に移行しないものとする。
【0051】
ところで、フラッシュメモリは例えば512Byte〜数KByte程度の大きさのブロック単位で消去及び書き込みをすることができる。上述の大きさ程度のブロックの書き込みには数μsecc〜数msecかかるが、この書き込み時間は書き込みブロック毎にばらつきがある。かかる書き込み時間のばらつきに起因して、データD3の書き込みの方がデータD2のそれよりも先に終了する場合が生じうる。このとき、図6中の状態S4bに示すように、データD2の書き込み処理ST3及び確認処理ST4の終了を待つことなく、CPU11がデータD3の書き込み確認処理ST4を実行する。これにより、データD3の処理のために占有されていた第3ワークバッファ143を開放することができる。この開放の後、図6中の状態S4cに示すように、次のデータD5の取得処理ST1を実行する。
【0052】
このとき、データD3が処理される処理段階ST2がデータD2が処理される処理段階ST3よりも後である状態S4aから、データD3が処理される処理段階ST4がデータD2が処理される処理段階ST3よりも先である状態S4bへ遷移するのに伴って、CPU11は、ワークレジスタ152の値R152を”4321(図5参照)から”4231(図5参照)”へ変更する。即ち、図5に示す対応関係において、データD3に関する情報が格納されている第3ワークバッファ143のアドレスAD143に対応するアドレスP3と、データD2に関する情報が格納されている第2ワークバッファ142のアドレスAD142に対応するアドレスP2とを交替する。かかる交替により、ワークバッファ141〜144の降順の順位と、アドレスP1→アドレスP2→アドレスP3→アドレスP4という順序(即ち、処理段階ST1〜ST4の降順の優先順位)とを対応付けを変更することができる。このため、アドレスP1〜P4を用いることにより、処理段階ST1〜ST4に対応した、処理状況の管理を確実に行うことができる。
【0053】
実際には、データD1に対する書き込み確認処理ST4は状態S4aの時点で終了可能であるので、第1ワークバッファ141をも開放してそれの順位を下げることができる。また、データD2が書き込み処理ST3へ移行した時点で、データD4に対するECC付加処理ST2が実行可能である。
【0054】
なお、両データD2,D3のフラッシュメモリ45への転送は、以下のように実施可能である。即ち、書き込み処理ST3は、(i)セクタバッファ43からフラッシュメモリ45へのデータ転送処理と、(ii)フラッシュメモリ45内で実行されるメモリセルへのデータ書き込み処理とに大別される。このため、前者のデータ転送処理(i)の終了後にバスセレクタ回路44を切り替えたとしても、後者の書き込み処理(ii)を実行可能である。また、前者(i)の処理時間はμsecオーダーであるのに対して、後者(ii)のそれはmsecオーダーである。従って、データD2,D3の一方が上述のメモリセルへのデータ転送処理(i)が終了した後に、バスセレクタ回路44を切り替えることによってデータD2,D3の他方を所定のフラッシュメモリへ転送する処理(i)を行うことができる。勿論、バスセレクタ回路44を、2つのデータの各々に対してバスを形成しうる構成としても良い。
【0055】
このように、実施の形態2に係るデータ処理管理部10によれば、各データに対する処理状況に応じてデータ処理の順序を入れ替える場合にも、ワークレジスタ152の値R152を適宜に変更することによって柔軟に対応することができる。その結果、処理順序の適正な変更によりパイプライン処理の高効率化が実現可能であるので、実施の形態1に係る半導体記憶装置1と比較して、より高効率で高速なデータ転送を実行することができる。
【0056】
<実施の形態3>
データ処理管理部10を、アドレスデコーダ21を実施の形態1,2に係る双方のアドレス変換を実行可能な構成としても良い。このとき、例えばアドレスデコーダ21内での制御によって又はCPU11による制御によって、ワークレジスタ151,152の双方の値R151,R152が互いに反映されるようにする。例えば、実施の形態2に係るアドレス変換の後に実施の形態1に係るアドレス変換を行う場合、ワークレジスタ152に書き込んだ値R152を基にし、ワークレジスタ151の値R151に基づいてアドレスP1〜P4を循環的に変化させる。
【0057】
かかる構成によれば、各データの処理状況に応じていずれかの方法で以てアドレスP1〜P4とアドレスAD141〜AD144との対応関係を変更することにより、双方のアドレス変換方法が奏する効果を適宜に得ることできる。従って、両アドレス変換方法のいずれか一方のみを用いる場合と比較して、更に効率的なデータ転送を実行することができる。
【0058】
なお、以上の説明ではホスト2からフラッシュメモリ45へのデータ転送を主に述べたが、フラッシュメモリ45からホスト2へデータを転送する場合にも上述のデータ処理管理部10は適用可能である。また、データ処理管理部10は、フラッシュメモリ45に相当する記憶部とホスト2に相当する他の記憶部とが同一の装置内に存在する場合にも適用可能であることは明らかである。更に、各ワークレジスタ151,152へ書き込む値R151,R152の上記各表記方法はあくまで一例であり、種々の形式で表記可能であることは言うまでもない。
【0059】
また、アドレスP1〜P4とアドレスAD141〜144とを、処理状況の進行に伴って変動する対応関係で対応付ける処理は、パイプライン処理にも適用可能である。即ち、各データ処理が一連の処理を構成しない場合、換言すれば、複数のデータの全てが同一の処理を受けない場合であっても、同時に処理可能な複数の処理段階によって複数のデータの各々が順次に処理される場合には、上述の対応付けは可能であり、それによって各データの処理状況を管理することができる。
【0060】
【発明の効果】
(1)請求項1に係る発明によれば、第1のアドレスはデータの処理段階に対応し、また、第1のアドレスはデータの処理状況の進行に伴って変動する対応関係で以て第2のアドレスと対応付けられる。このため、各管理用記憶部が格納している内容を処理状況の進行に伴って移転する必要がない。しかも、CPUはどのデータがどの処理段階において処理されているかを管理することなく、(複数の)第1のアドレスの選択によって所望の処理段階での処理状況を把握することができる。従って、処理状況を管理するために必要な処理量及び処理時間を従来よりも削減できる。このとき、処理状況を管理するためにCPUが実行するプログラムを従来よりも単純化及び小容量化することができる。これらの結果、CPUの処理効率を向上することができる。
【0061】
(2)請求項1に係る発明によれば、複数のデータがいずれも同一の処理を受ける際に各処理段階での(複数の)データの処理の順番が処理段階毎に変わらない又は異ならない場合には、第1のアドレスを循環的に変化させても、第1のアドレスの順序と第2のアドレスの順序との相対関係が崩れない。このため、CPUが所望の管理用記憶部にアクセスする際に、複数の第1のアドレスの内の一つに対するオフセットアドレスを用いることができる。このとき、CPUが実行するプログラム中に(複数の)第1のアドレスの全てを記述する必要性は無いので、上記プログラムの単純化及び小容量化を更に容易にすることができる。
【0062】
(3)請求項2,3に係る発明によれば、第1のデータが処理されている処理段階と第2のデータが処理されている処理段階との先後関係がデータの処理状況に応じて変わる場合でも、(複数の)第1のデータを用いることにより、処理段階に対応した、処理状況の管理を確実に行うことができる。
【図面の簡単な説明】
【図1】 実施の形態1に係る半導体記憶装置の構成を説明するための模式的なブロック図である。
【図2】 実施の形態1に係るアドレス変換を説明するための模式図である。
【図3】 実施の形態1に係るデータ処理管理部の構成を説明するための模式的なブロック図である。
【図4】 アドレスの循環を説明するための模式的図である。
【図5】 実施の形態2に係るアドレス変換を説明するための模式図である。
【図6】 実施の形態2に係る半導体記憶装置の構成を説明するための模式的なブロック図である。
【図7】 CPUがパイプライン処理を行わずに一連の処理を実行する場合のタイミングチャートである。
【図8】 CPUがパイプライン処理を行って一連の処理を実行する場合のタイミングチャートである。
【図9】 CPUが使用するRAMの従来のアドレス空間の模式図である。
【符号の説明】
11 CPU、14,141〜144 ワークバッファ(管理用記憶部)、10 データ処理管理部(データ処理管理装置)、21 アドレスデコーダ(アドレス変換部)、AD141〜AD144 アドレス(第2のアドレス)、D1〜D5 データ、P1〜P4 アドレス(第1のアドレス)、S1〜S8,S4a,S4b,S4c 状態、ST1〜ST4 処理段階。
Claims (3)
- 同時に処理可能な複数の処理段階によって各々が順次に処理される複数のデータの各処理状況を、前記処理段階に対応した互いに異なる複数の第1のアドレスを用いて管理するCPUと、
各々が互いに異なる第2のアドレスを有し、前記データに関する情報を前記データ毎に格納する、複数の管理用記憶部と、
前記処理状況の進行に伴い、前記第2のアドレスに対応する前記第1のアドレスを循環的に変化させ、前記変化させた対応関係に基づき前記第1のアドレスを前記第2のアドレスに変換するアドレス変換部とを備えることを特徴とする、
データ処理管理装置。 - 請求項1に記載のデータ処理管理装置であって、
第1の前記データが処理される前記処理段階が第2の前記データが処理される前記処理段階よりも後である状態から、前記第1の前記データが処理される前記処理段階が前記第2の前記データが処理される前記処理段階よりも先である状態へ遷移するのに伴って、
前記第1の前記データについての前記第2のアドレスに対応する前記第1のアドレスと、前記第2の前記データについての前記第2のアドレスに対応する前記第1のアドレスとを交替することを特徴とする、
データ処理管理装置。 - データ処理管理装置であって、
同時に処理可能な複数の処理段階によって各々が順次に処理される複数のデータの各処理状況を、前記処理段階に対応した互いに異なる複数の第1のアドレスを用いて管理するCPUと、
各々が互いに異なる第2のアドレスを有し、前記データに関する情報を前記データ毎に格納する、複数の管理用記憶部と、
前記第1のアドレスを前記第2のアドレスに変換するアドレス変換部とを備え、
前記データ処理管理装置は、第1の前記データが処理される前記処理段階が第2の前記データが処理される前記処理段階よりも後である状態から、前記第1の前記データが処理される前記処理段階が前記第2の前記データが処理される前記処理段階よりも先である状態へ遷移するのに伴って、前記第1の前記データについての前記第2のアドレスに対応する前記第1のアドレスと、前記第2の前記データについての前記第2のアドレスに対応する前記第1のアドレスとを交替し、前記交替した対応関係に基づき前記第1のアドレスを前記第2のアドレスに変換することを特徴とする、
データ処理管理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23811999A JP4201927B2 (ja) | 1999-08-25 | 1999-08-25 | データ処理管理装置 |
US09/517,577 US6408372B1 (en) | 1999-08-25 | 2000-03-02 | Data processing control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23811999A JP4201927B2 (ja) | 1999-08-25 | 1999-08-25 | データ処理管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001067264A JP2001067264A (ja) | 2001-03-16 |
JP4201927B2 true JP4201927B2 (ja) | 2008-12-24 |
Family
ID=17025471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23811999A Expired - Fee Related JP4201927B2 (ja) | 1999-08-25 | 1999-08-25 | データ処理管理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6408372B1 (ja) |
JP (1) | JP4201927B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101787A (ja) * | 1999-09-27 | 2001-04-13 | Internatl Business Mach Corp <Ibm> | ディスクドライブ装置、ディスクドライブコントローラ、ディスク装置の制御方法 |
GB0123416D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123412D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
KR100528482B1 (ko) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
US20060246975A1 (en) * | 2005-04-07 | 2006-11-02 | Frank J. Pellegrini | Character matching game |
KR100849212B1 (ko) * | 2006-10-12 | 2008-07-31 | 삼성전자주식회사 | 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법 |
JP2010277352A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | メモリシステム |
CN105122158B (zh) * | 2013-04-16 | 2017-12-22 | 西门子公司 | 具有短延迟时间的可编程控制装置 |
TWI625620B (zh) * | 2017-05-12 | 2018-06-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其讀取方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0394624B1 (en) * | 1989-04-24 | 1997-06-18 | International Business Machines Corporation | Multiple sequence processor system |
JP2779044B2 (ja) * | 1990-06-05 | 1998-07-23 | 株式会社日立製作所 | バッファ記憶制御方法 |
JPH04367936A (ja) * | 1991-06-17 | 1992-12-21 | Mitsubishi Electric Corp | スーパースカラープロセッサ |
JPH0736805A (ja) | 1993-07-19 | 1995-02-07 | Hitachi Ltd | 受信フレームデータ処理方式 |
US6101596A (en) * | 1995-03-06 | 2000-08-08 | Hitachi, Ltd. | Information processor for performing processing without register conflicts |
JP3541623B2 (ja) * | 1997-06-27 | 2004-07-14 | 松下電器産業株式会社 | データ処理装置 |
-
1999
- 1999-08-25 JP JP23811999A patent/JP4201927B2/ja not_active Expired - Fee Related
-
2000
- 2000-03-02 US US09/517,577 patent/US6408372B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6408372B1 (en) | 2002-06-18 |
JP2001067264A (ja) | 2001-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4524416A (en) | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system | |
US6721820B2 (en) | Method for improving performance of a flash-based storage system using specialized flash controllers | |
JPH0636515B2 (ja) | 通信プロセッサ装置 | |
JP4966404B2 (ja) | メモリ制御装置、記憶装置、及びメモリ制御方法 | |
JPH10187533A (ja) | キャッシュシステム、プロセッサ及びプロセッサを動作させる方法 | |
JP2006012163A (ja) | マルチレベル・レジスタ・ファイルを有するディジタル・データ処理装置 | |
US6473845B1 (en) | System and method for dynamically updating memory address mappings | |
JP4201927B2 (ja) | データ処理管理装置 | |
JP5469066B2 (ja) | データを交換する方法及びシステム | |
US20200089496A1 (en) | Arithmetic processing device, information processing apparatus, and method for controlling arithmetic processing device | |
PT94556A (pt) | Instrumento e metodo incluidos num sistema de processamento de dados para controlar a execucao de instrucoes em modo pipeline | |
JP6342013B2 (ja) | 不揮発性メモリ・アレイを含むデータ・ストレージ・システムを動作させるための方法、システム及びコンピュータ・プログラム | |
JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
WO2016188392A1 (zh) | 一种数据地址产生***和方法 | |
CN117648270A (zh) | 存储器操作方法、存储器和电子设备 | |
JP3747213B1 (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
CN100342328C (zh) | 带有复制寄存器文件的vliw处理器 | |
EP0465847B1 (en) | Memory access control having commonly shared pipeline structure | |
JP4431492B2 (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
US7404068B2 (en) | Single operation per-bit memory access | |
JP2005537580A (ja) | スタックタイプのスナップショットバッファがネスト化されたインタラプトを処理すること | |
JPH1011387A (ja) | 情報処理装置 | |
US20110320769A1 (en) | Parallel computing device, information processing system, parallel computing method, and information processing device | |
JP2001297056A (ja) | 調停回路及びdmaコントローラ | |
JP2006344244A (ja) | データ転送方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080626 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080911 |
|
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: 20081007 |
|
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: 20081008 |
|
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: 20111017 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 3 |
|
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: 20111017 Year of fee payment: 3 |
|
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: 20111017 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131017 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |