JP4369660B2 - バンク衝突回避機能を備える動的ランダムアクセスメモリシステム - Google Patents

バンク衝突回避機能を備える動的ランダムアクセスメモリシステム Download PDF

Info

Publication number
JP4369660B2
JP4369660B2 JP2002364520A JP2002364520A JP4369660B2 JP 4369660 B2 JP4369660 B2 JP 4369660B2 JP 2002364520 A JP2002364520 A JP 2002364520A JP 2002364520 A JP2002364520 A JP 2002364520A JP 4369660 B2 JP4369660 B2 JP 4369660B2
Authority
JP
Japan
Prior art keywords
memory
bank
access
banks
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002364520A
Other languages
English (en)
Other versions
JP2003208353A5 (ja
JP2003208353A (ja
Inventor
エー. ボーチャード グレッグ
カレ マーリシオ
ラマスワミ ラヴィ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agere Systems LLC
Original Assignee
Agere Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agere Systems LLC filed Critical Agere Systems LLC
Publication of JP2003208353A publication Critical patent/JP2003208353A/ja
Publication of JP2003208353A5 publication Critical patent/JP2003208353A5/ja
Application granted granted Critical
Publication of JP4369660B2 publication Critical patent/JP4369660B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は一般的には網プロセッサ或いは他の処理デバイスとの関連で用いるためのメモリ、より詳細には複数のメモリバンク間の衝突を回避するように構成されたメモリアーキテクチャに関する。
【0002】
【従来の技術】
網プロセッサは、一般には、例えば、非同期転送モード(ATM)網或いは同期光網(SONET)の物理層部分などの物理伝送媒体と、ルータ或いは他のタイプのパケットスイッチ内のスイッチファブリックの間のパケットの流れを制御する。動的ランダムアクセスメモリ(DRAM)は、DRAMはある制限された電力消費にて大きなメモリ容量を提供できるという点で、このような網プロセッサとの関連で用いるのに適したメモリ技術である。
【0003】
網プロセッサ内の、或いはこれと関連するDRAMは、典型的には多重メモリバンクの形式に構成される。これら複数のバンクのある与えられた1つ内の1つ或いは複数のアドレスへの一連の読出し或いは書込みアクセスには、ある要求されたアクセスプレチャージプロセス(access pre−charge process)が完結するまでのランダムサイクル時間(random cycle time)だけ待つことを要求される。ただし、バンクが異なるときはたとえ同一アドレスへのアクセスであっても、以降バンク衝突ペナルティ(bank conflict penalty)とも呼ばれるこのTrc待ち時間を待つことは要求されない。
【0004】
静的ランダムアクセスメモリ(static random access memories, SRAMs)の場合は、このバンク衝突ペナルティが完全に回避される。つまり、メモリ内のあらゆるアドレスに、DRAMと関連するTrc待ち時間の発生を伴うことなく、固定時間にてアクセスすることができる。ただし、SRAMSは、匹敵するサイズのDRAMと比較して、メモリ容量は典型的には一桁小さく、電力消費は二桁大きい、という短所がある。
【0005】
当分野において周知の幾つかのDRAMは、上述のTrc待ち時間を低減するように特別に構成されている。例えば、いわゆる高速サイクルDRAM(Fast Cycle DRAM)は、Trcが最小となるように特別に設計されている。FCDRAMのより具体的な例として、東芝から市販されるパーツ番号TC59LM814CFT−50によって識別されるFCDRAMがある。FCDRAMのこの特定のタイプにおいては、ランダムサイクル時間Trcは5Tに制限されるが、ここでTはメモリクロック期間を表す。メモリアクセスには、読出しか書込みかをとわず、2クロック期間が必要とされ、最大データスループットはいわゆる「4バースト(four burst)」モードを用いて達成される。例えば、200MHzメモリクロックと4つのバンクに構成されたFCDRAMが用いられ、各バンクが各々16ビットの4Mメモリ語を含む場合は、メモリクロック期間Tは5ナノ秒となり、Trcは25ナノ秒となり、この4バーストモードを用いたときの最大データスループットは約6.4ギガビット/秒(Gbps)となる。ただし、一連のメモリアクセスがこれら4バンクの同一の1つに向かう場合は、データスループットは、Trc待ち時間の結果として、約2.5Gbpsに低減する。
【0006】
【課題を解決するための手段】
上述から明らかなように、網プロセッサ或いは他の処理デバイスとの関連で用いるための、DRAMの長所である高いメモリ容量と低い電力消費能力を活かせ、同時に上述のバンク衝突ペナルティと関連する問題を回避できるというSRAMの長所も活かせる、改善されたDRAMベースのメモリアーキテクチャに対する必要性が存在する。
【0007】
【課題を解決するための手段】
本発明は、網プロセッサ或いは他の処理デバイスと用いるのに適するDRAM-ベースのメモリを実現するための改善された技法を提供する。
【0008】
本発明の一面によると、複数のメモリバンクを有するメモリシステムはアクセスリクエスト間のバンク衝突を回避するように構成される。このメモリシステムは、メモリコントローラと、このメモリコントローラに接続された、各々が複数のデータ項目を格納するように構成された複数のメモリバンクを含む。より具体的には、ある与えられたデータ項目は、そのデータ項目の複数のコピーとして、これら複数のコピーがメモリバンクの指定される最小数の各々の1つに格納されるやり方にて格納される。メモリコントローラは、これらメモリバンク内に格納されているこれらデータ項目へのアクセスに対するリクエストを、ある指定されるバンクアクセスシーケンス、例えばこれらアクセスリクエストの特定の1つがセットのバンクキューの先頭位置から選択され、これらメモリバンクの対応する1つに加えられるラウンドロビンシーケンスに従って処理するように適合される。
【0009】
一つの実施例においては、メモリシステムは、少なくとも第一と第二のメモリチャネルを含むように構成され、各チャネルは同一セットのデータ項目を格納するある数のメモリバンクを含む。上述のメモリコントローラは、第一のセットのアドレス、データ及び制御バスを介して第一のチャネルの各メモリバンクに接続された第一のコントローラと、第ニのセットのアドレス、データ及び制御バスを介して第ニのチャネルの各メモリバンクに接続された第ニのコントローラを含む。メモリコントローラは、更に、アクセスリクエストを格納し、各々がこれらメモリバンクの対応する1つと関連するセットのキューと、これらセットのキューに接続された、それらからアクセスリクエストのある与えられた1つを指定されるバンクアクセスシーケンスに従って選択するように構成されたメモリアクセスアービタを含む。ある与えられた実施例のデータスループットはそのメモリシステムのチャネルの数を増やすことで増加することができる。
【0010】
本発明のもう一面によると、与えられたデータ項目の複数のコピーを格納するためのメモリバンクの最小数は、それらメモリバンクのランダムサイクル時間とランダムバンクアクセス遅延の関数として、例えばランダムサイクル時間のランダムバンクアクセス遅延に対する比より大きいかこれに等しい整数として選択される。
【0011】
本発明のもう一面によると、メモリシステムは、好ましくは、上述のバンク衝突回避モードと、通常のランダムアクセスモードにて動作できるように構成される。システムの特定の動作モードは、ホストプロセッサ或いは他の関連するデバイスを介してプログラム制御下で選択される。
【0012】
このメモリシステムは、特に、不平衡な読出し/書込み比が存在するようなメモリ用途、つまり、典型的には書込みアクセスよりかなり多くの読出しアクセスを伴うようなメモリ用途に用いるのに適する。一つのこのようなメモリ用途は、網プロセッサ集積回路に対する外部木メモリ(tree memory)としての用途であるが、本発明は様々な他の処理デバイスメモリ用途にも用いることができる。
【0013】
長所として、本発明によるメモリシステムは、10Gbps或いはそれ以上の最大データスループットを達成するように構成することができる。
【0014】
【発明の実施の形態】
本発明はここでは網プロセッサとの関連で外部メモリとして用いるのに特に適する一例としてのDRAM−ベースのメモリアーキテクチャとの関連で説明される。ただし、本発明はより一般的に内部或いは外部ランダムアクセスメモリの複数のバンクにおける上述のバンク衝突ペナルティを緩和することが要望されるあらゆる処理デバイスに適用することができる。
【0015】
ここで用いられる「処理デバイス(processing device)」なる用語は、例えば、これらに制限されるものではないが、網プロセッサ、マイクロプロセッサ、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、及びその他のタイプのデータ処理デバイス、並びにこれら及び他のデバイスの一部及び組合せ等を含むことを意図される。
【0016】
本発明は一つの実施例においては、網プロセッサ或いは他の処理デバイスと関連する多重バンクDRAM−ベースメモリシステムにおける上述のバンク衝突ペナルティをシステムの異なるメモリバンク内に、所定の数の同一データのコピーを格納することで回避する。必要とされるデータ項目のコピーの最小数は、この実施例においては、用いられるDRAMデバイスのランダムサイクル時間Trcとランダムバンクアクセス遅延Trdbの関数として決定される。例えば、メモリシステムのある与えられた多重バンクチャネルに対するデータ項目のコピーの最小数は、TrcのTrbdに対する比より大きいかこれと等しい整数として決定され、例えば、Trcが25ナノ秒で、Trbdが10ナノ秒である場合は、異なるバンク内に格納されるべきある与えられたデータ項目の同一コピーの数は3とされる。
【0017】
図1は本発明に従って構成されたメモリシステム100を示す。メモリシステム100は、ここではChannel 0若しくはCh0とも呼ばれる第一のチャネル102と、ここではChannel 1若しくはCh1とも呼ばれる第二のチャネル104を含む。チャネル102と104は、各々、バンクB0,B1,...,BNと呼ばれるセットのN個のメモリバンクを含む。チャネル102は、さらに、図示されるようにアドレスバス112、データバス114、及び制御バス116を介してそれと関連するChannel 0のバンクB0,B1,...BNの各々に接続されたChannel 0メモリコントローラ110を含む。同様に、チャネル104は、さらに、図示されるようにアドレスバス122、データバス124、及び制御バス126を介してそれと関連するChannel1のバンクB0,B1,...BNの各々に接続されたChannel 1メモリコントローラ120を含む。メモリシステム100は、さらに、セットの入力先入れ先出し(FIFO)キュー130とメモリアクセスアービタ132を含む。
【0018】
メモリシステム100は、これらメモリバンクに対しては外部のデコーダ論理を設け、図1には示されないが、このデコーダ論理をアドレス及び制御バス信号を従来のやり方にて処理するように構成することもできる。別個のセットのこのようなデコーダ論理をチャネル102と104のおのおのに対応させ、これらの全体或いは一部を関連するメモリコントローラ110或いは120内に組込むこともできる。
チャネル102と104のメモリバンクB0,B1,...BNは、各々、一つ或いは複数のDRAMデバイスとして実現することもできる。例えば、これらメモリバンクは、各々、先に説明の一つ或いは複数の高速サイクルDRAM(FCDRAM)として実現することもできる。これらデバイスを構成するやり方は当分野において周知であり、従ってここではこれ以上詳しくは説明しない。
【0019】
本発明は、不平衡な読出し/書込み比が存在するようなメモリ用途、つまり、典型的には実質的に書込みアクセスより多くの読出しアクセスを伴うメモリ用途に用いるのに特に適する。不平衡な読出し/書込み比を有する用途の一例には、95%の読出しアクセスと5%の書込みアクセスを有する用途がある。本発明は、ただし、読出しと書込みの特定の比、或いは不平衡のタイプを要求するものではない。
【0020】
コントローラ110、120、キュー130、及びアクセスアービタ132は、集合的にシステム100に対するメモリコントローラと見ることもできる。ここで用いられる「メモリコントローラ(memory controller)」なる用語は、従って、より一般的に、コントローラ110や120など単一のチャネルコントローラを意味するものと解することも、或いは複数のチャネルコントローラ、並びに1つ或いは複数のアービタ、キュー或いは、他の関連する要素を含むより複雑な構成を意味するものと解することもできる。
【0021】
図1に示すメモリシステム100の特定の構成は、単に例示に過ぎず、本発明の範囲を任意の特定の実施態様或いは一群の実施態様に制限することを意図するものと解されるべきではない。例えば、各々がN個のメモリバンクを有する二つのチャネルを含むものとして示されるが、当業者においては理解できるように、本発明は、二つより多くのチャネルを用いて実現することも、たった1つのチャネルを用いて実現することもでき、更に、ある与えられた多重チャネル実現において、各チャネルが同数のメモリバンクを有することも必要とされない。
【0022】
ある与えられた実施態様のデータスループットは、メモリシステムのチャネルの数を増やすことで増加することができる。換言すれば、データスループットは用いられるチャネルの数に比例する。
【0023】
バンク衝突回避モードの動作においては、入力アクセスリクエストは、複数のFIFOキュー130の特定の1つに向けられる。これらキューは、好ましくは、バンク毎に、Channel 0或いはChannel 1の複数のバンクの特定の1つに向けられたリクエストが、セットのFIFOキュー130内のそのバンクと関連するある特定のFIFOキュー内に格納されるように編成される。次に、メモリアクセスアービタ132によって、これらFIFOキュー130からアクセスリクエストが、異なるバンクに向けられたアクセスリクエスト間での前述のバンク衝突問題が回避されるように構成されたある指定されるバンクアクセスシーケンスに従って選択される。このシーケンス動作の例については後により詳細に説明される。
【0024】
説明の目的に対しては、FIFOキュー130内に格納されるべきアクセスリクエストの各々は、これらバンクのある与えられた1つ内のある指定されるアドレスからある特定のデータ項目を読み出す動作を伴うものと想定される。メモリシステム100は、本発明の教示に従って上述のバンク衝突回避モードにて動作するように構成することができる。このモードにおいては、ある指定される数の同一データのコピーが、チャネル102と104内の、バンクB0,B1,...BNの異なる1つ内に格納される。前述のように、必要とされるデータ項目のコピーの最小数は、説明の実施例においては、Channel 0とChannel 1のバンクB0,B1,...BN内で用いられる特定のDRAMデバイスのランダムサイクル時間Trcとランダムバンクアクセス遅延Trbdの関数として決定される。より具体的には、ある与えられたデータ項目の複数のコピーを格納するためのメモリバンクの最小数は、ランダムサイクル時間Trcのランダムバンクアクセス遅延Trbdに対する比より大きいかこれに等しい整数として決定される。上述の例においては、データ項目のコピーの最小数は、TrcのTrbdに対する比より大きいかこれに等しい整数として決定される。従って、用いられる特定のDRAMデバイスが、25ナノ秒なるTrcと10ナノ秒なるTrbdを有する場合は、ある与えられたメモリチャネルの異なるバンク内に格納されるべきある与えられたデータ項目の同一コピーの数は3となる。
【0025】
図2はデータ項目の複数のコピーがバンク衝突回避モードにおいて指定される最小数のメモリバンク内に格納されるやり方を示す。この例においては、ある与えられたチャネル内のN個のバンクのバンクB0,B1及びBの各々は、データ項目1、データ項目2、...データ項目Kと呼ばれる同一セットのK個のデータ項目を格納する。図面にはたった3つのバンクしか示されないが、説明の実施例においては、チャネル102と104の両方において同一のメモリ構成が利用され、全体で2N個のバンクの内の、全部で6個のバンクが同一セットのデータ項目を格納するものと想定される。各データ項目は、この実施例においては、あるメモリバンクのある特定のアドレス可能なワードに対応する。上述の入力アクセスリクエストは、好ましくは、これらメモリバンクのある特定の1つ内のこのようなアドレス可能なワードに向けられる。
【0026】
図3は本発明の技術を用いる図1のシステム内で実現されるバンク衝突回避プロセスの流れ図である。ステップ300において、システムはバンク衝突回避モードに入る。これは、当業者においては明らかなやり方にて、コントローラ110、120、キュー130及びアービタ132をプログラマブルに構成することで達成される。
【0027】
次に、ステップ302において、同一セットのデータ項目が、上述のやり方にて、各チャネル内の最小数のバンク内に格納される。バンクの最小数は、ある与えられた既知のメモリシステム構成に基づいて予め決定しておくことも、或いはシステムメモリコントローラ内の論理回路を用いて動的に決定することもできる。システム100がいったんバンク衝突回避モードに入り、複数のセットのデータ項目が前述のやり方にてメモリバンク内に格納されると、システム100は、ステップ304において、入りアクセスリクエストを、バンク毎にセットのFIFOキュー130内に置く。次に、ステップ306において、これらアクセスリクエストがFIFOキュー130から、ラウンドロビン選択プロセス或いは他の指定されるバンクアクセスシーケンスに従って選択される。例えば、ラウンドロビン選択プロセスにおいては、これら複数のアクセスリクエストの特定の1つがこれらセットのキュー130の先頭位置からラウンドロビンシーケンスにて選択され、これらメモリバンクの対応する1つに加えられる。より具体的な例としては、これらアクセスリクエストは、Ch0−B0、Ch1−B0、Ch0−B1、Ch1−B1、Ch0−B2、Ch1−B2、Ch0−B0、Ch1−B0、...のようなバンクアクセスシーケンスパターンに基づいて選択される。本発明から逸脱することなく、チャネルとバンクの他の組合せを他のバンクアクセスシーケンスと共に用いることもできる。
【0028】
図4は、図1のシステムの二つのチャネル102、104内のある数の異なるアクセスリクエストを、上述のバンク衝突回避モードを用いて、処理する際のタイミング図を示す。ここでも、図2との関連で説明したように、二重のセットのデータ項目がChannel 0とChannel 1の各々のバンクB0,B1及びB2の各々の中に格納されるものと想定される。この一例としてのタイミング図においては、読出しアクセスリクエストは各々約10ナノ秒を要することがわかる。これは上述のランダムバンクアクセス遅延Trbdに対応する。Channel 0とChannel 1のバンクは、この実施例においては、完全に独立である。Channel 0内のある特定のバンクに対する読出しアクセスリクエストは、従って、図に示されるように、このタイプのスタガリング(ふらつき)は単に例示に過ぎず、本発明の要件ではないが、Channel 1内のある特定のバンクに対する読出しアクセスリクエストと重なる。図4のタイミング図から、さらにバンクB0,B1及びB2の内容を更新するために、30ナノ秒の書込みアクセスリクエストが用いられることもわかる。ランダムサイクル時間Trcは、この実施例においては、25ナノ秒であるものと想定される。この図面に示されるこれらの特定のタイミング間隔は単に例示であることに注意する。
【0029】
図4に示される一例としてのセットの書込みアクセスリクエストの前後において、Trcと等しい或いはこれより小さな遅延が発生する。これとの関連で、このメモリシステムは、ある与えられた実施態様における実際の待ち時間を低減するための追加の論理を設けることもできることに注意する。例えば、このような追加の論理は、図4内のバンクBa,Bb及びBcへの書込みアクセスの特定の順番を、更新前の(バンクBxへの)最後の読出しアクセスと更新後の(バンクByへの)最初の読出しアクセスに基づいて決定するように構成することもできる。ここで、a、b、c、x及びyは、この実施例においては、0、1、或いは2のいずれかの値を取る。
【0030】
長所として、本発明の上述の幾つかの実施例によると、10Gbps或いはそれ以上のオーダの最大データスループットを達成することができる。この場合、各チャネルは4つのバンクを含むように構成され、前述のように、これら4バンクの内の3つに同一のデータ項目が格納される。このDRAMデバイスは、東芝から市販されるTC59LM814CFT−50なるパーツ番号にて識別される上述のFCDRAMデバイスとすることもできるが、これは4−バーストモードにて動作し、200MHzメモリクロックを用い、これらバンクの各々は、各々16ビットの4Mメモリワードを含む。本発明との関連で用いるのに適する他の市販のDRAMメモリバンクには、例えば、単に一例として、東芝から市販されるパーツ番号TC59LM806CFT−50、TC59LM806BFT−22及びTC59LM814BFT−22や、富士通から市販されるパーツ番号MB81N251647−50及びMB81N25847−50などがあるが、ただし、達成可能な最大データスループットは用いられるデバイスによって異なる。
【0031】
メモリシステム100は、好ましい実施例においては、上述のバンク衝突回避モードと少なくとも1つの他のモードを含む複数のモードにて動作できるようにされる。この他のモードは、例えば、従来のDRAM動作モードとされ、このモードにおいてはメモリシステム100は実質的に従来のDRAM−ベースのシステムとして動作し、従って上述のバンク衝突ペナルティを被る。この従来のDRAM動作モードにおいては、各チャネル102、104内の各バンクB0,B1,...BNは、異なるセットのデータ項目を格納し、これらデータ項目はランダムにアクセスされる。換言すれば、バンク衝突回避モードと関連する指定されるバンクアクセスシーケンスは用いられない。システム100内に実現することができる従来のDRAM動作は当分野において周知であり、従ってここでは詳細には説明されない。更に、DRAM動作モードにおいて、バンク衝突ペナルティの影響を最小限に押さえるためにランダムアクセスをスケジュールするための特定の技法を用いることもできる。システム100のこの特定の動作モードは、率直なやり方にてプログラム制御下で選択することもできる。
【0032】
図5は内部に本発明の技法によるメモリシステム100を実現することができる一例としての処理システムを示す。この実施例においては、処理システム100はラインカード500を含み、この上には集積回路502が搭載される。この集積回路502は、処理デバイス504を含み、これは内部メモリ506を有する。処理デバイス504はラインカード500上の外部メモリとやりとりするが、この外部メモリは図1との関連で説明したメモリシステム100から成る。
図5に示す処理システムは説明を明快にするためにかなり簡略化されている。ただし、この処理システムは、各々が複数の集積回路を含む複数のラインカードを含むルータ或いはスイッチから構成されることも考えられる。本発明の類似の実現をルータ或いはスイッチの1つ或いは複数のポートカードに基づいて構成することもできる。
【0033】
集積回路502の少なくとも一部として実現される処理デバイス504は、網プロセッサを構成する。上述のように、メモリシステム100は、不平衡な読出し/書込み比が存在するようなメモリ用途、つまり、典型的には書込みアクセスよりかなり多くの読出しアクセスを伴うようなメモリ用途に用いるのに特に適する。本発明のこのような用途においては、メモリシステム100は、例えば、網プロセッサ集積回路に対する外部木メモリ(tree memory)として機能する。木メモリは、探索オブジェクトとある特定の格納されているデータ項目との間の一致の存在或いは不在を決定することを試みる二進或いは非二進木探索アルゴリズム(tree search algorithm)との関連で用いられる。当分野において周知の非二進木探索アルゴリズムの一例が1998年9月22日付けでV.A.Bennettらに交付された「Method forperforming optimized intelligent searches of knowledge bases using submaps associated with search objects」なる名称の合衆国特許No.5,813,001において説明されている。本発明のメモリシステム100は、特に木メモリ探索用途に用いるのに適するが、ただし、様々な他の用途及び多様な他の処理システム構成にも利用できる。例えば、メモリシステム100は、網プロセッサ或いは他の処理デバイス内の内部メモリとして用いることもできる。
【0034】
本発明の上述の実施例はもっぱら解説のみを意図するものである。例えば、前述のように、本発明はメモリシステム要素の他の構成を用いて実現することもできる。加えて、ある与えられたデータ項目の複数のコピーを格納するために要求されるメモリバンクの最小数は、メモリバンクのランダムサイクル時間、メモリタスクのランダムバンクアクセス遅延、或いは両者の組合せなど別の関数に基づいて決定することもできる。更に説明の実施例は、二つの独立なメモリチャネルを利用し、各チャネルは、その中にデータコピーが格納される3つの最小数のメモリバンクを有し、各バンクには同一のデータ項目が格納されるが、他のチャネル数、チャネル当たりのバンク数、及びこれらバンクへのデータコピーの分配方式を用いることもできる。当業者においては明らかなように、クレームの範囲から逸脱することなく、これら及び他の様々な実施の形態が可能である。
【図面の簡単な説明】
【図1】本発明の技法に従って構成されたメモリシステムを示す略ブロック図である。
【図2】本発明によるバンク衝突回避モードにおいて図1のメモリシステムの各メモリバンク内に同一セットのデータ項目が格納されるやり方を示す図である。
【図3】本発明によるバンク衝突回避プロセスの流れ図を示す図である。
【図4】本発明の一つの実施例に従って図1のシステムの二つのチャネル内のアクセスリクエストが処理される際のタイミング図である。
【図5】図1のメモリシステムが内部メモリを含む処理デバイスに対する外部メモリとして用いられる様子を示す図である。
【符号の説明】
100 メモリシステム
102 第一のチャネル
104 第二のチャネル
110 メモリコントローラ
112 アドレスバス
114 データバス
116 制御バス
120 メモリコントローラ
122 アドレスバス
124 データバス
126 制御バス
130 セットの入力先入れ先出し(FIFO)キュー
132 メモリアクセスアービタ
500 ラインカード
502 集積回路
504 処理デバイス
506 内部メモリ

Claims (9)

  1. メモリコントローラと、
    該メモリコントローラに接続され、各々が複数のデータ項目を格納するように構成された複数のメモリバンクであって、
    ある与えられたデータ項目が該データ項目の複数のコピーとして、これら複数のコピーが該メモリバンクの指定される最小数の各々の1つに格納されるやり方にて格納されている複数のメモリバンクを備えるメモリシステムにおいて、
    該メモリコントローラは、該メモリバンク内に格納された該データ項目へのアクセスに対するリクエストをアクセスリクエスト間のバンク衝突が回避されるように構成されたある指定されるバンクアクセスシーケンスに従って処理するように適合され
    該メモリコントローラがさらに:
    該アクセスリクエストを格納するように構成された、各々が該複数のメモリバンクの対応する1つと関連するセットのキューと、
    該セットのキューに接続された、そこから該アクセスリクエストのある与えられた1つを該指定されるバンクアクセスシーケンスに従って選択するためのアービタと、を備えることを特徴とするメモリシステム。
  2. 該与えられたデータ項目の複数のコピーを格納するための該メモリバンクの最小数が該メモリバンクのランダムサイクル時間の関数として決定される請求項1記載のメモリシステム。
  3. 該与えられたデータ項目の複数のコピーを格納するための該メモリバンクの最小数が該メモリバンクのランダムサイクル時間と該メモリバンクのランダムバンクアクセス遅延の関数として決定される請求項2記載のメモリシステム。
  4. 該与えられたデータ項目の複数のコピーを格納するための該メモリバンクの最小数が該メモリバンクのランダムサイクル時間の該メモリバンクのランダムバンクアクセス遅延に対する比より大きいかこれと等しい整数として決定される請求項3記載のメモリシステム。
  5. 更に、該複数のメモリバンクを第一の複数のメモリバンクとして含む第一のメモリチャネルと、第二の複数のメモリバンクを含む第二のメモリチャネルを備える請求項1記載のメモリシステム。
  6. 該指定されるバンクアクセスシーケンスがラウンドロビン選択シーケンスから成り、該アクセスリクエストの特定の1つがあるラウンドアクセスシーケンスに従って該セットのキューの先頭位置から選択され、該複数のメモリバンクの対応する1つに加えられる請求項記載のメモリシステム。
  7. 多重モードにて動作することができ、これら多重モードが、少なくとも:
    ある与えられたデータ項目がデータ項目の複数のコピーとして、これら複数のコピーが該メモリバンクの指定される最小数の各々の1つに格納されるやり方にて格納され、該メモリコントローラが該メモリバンク内に格納されたこれらデータ項目へのアクセスに対するリクエストを該指定されるバンクアクセスシーケンスに従って処理するように適合される第一のモードと、
    該与えられたデータ項目がそのデータ項目の単一のコピーとしてその単一のコピーが該複数のメモリバンクのある特定の1つの中に格納されるやり方にて格納され、該メモリコントローラが該メモリバンク内に格納されたこれらデータ項目へのアクセスに対するリクエストを該指定されるバンクアクセスシーケンスとは異なるあるシーケンスに従って処理するように適合される第ニのモードと、
    を含む請求項1記載のメモリシステム。
  8. 処理デバイスと、
    該処理デバイスに接続されたメモリシステムとを備える処理システムにおいて、
    該メモリシステムが:
    メモリコントローラと、
    該メモリコントローラに接続された、各々が複数のデータ項目を格納するように構成された複数のメモリバンクであって、ある与えられたデータ項目がデータ項目の複数のコピーとして、これら複数のコピーが該メモリバンクの指定される最小数の各々の1つに格納されるやり方にて格納されている複数のメモリバンクとを備え、
    該メモリコントローラは、該処理デバイスから受信される該メモリバンク内に格納されたこれらデータ項目へのアクセスに対するリクエストを該アクセスリクエスト間のバンク衝突を回避するように構成されたある指定されるバンクアクセスシーケンスに従って処理するように適合され
    該メモリコントローラがさらに:
    該アクセスリクエストを格納するように構成された、各々が該複数のメモリバンクの対応する1つと関連するセットのキューと、
    該セットのキューに接続された、そこから該アクセスリクエストのある与えられた1つを該指定されるバンクアクセスシーケンスに従って選択するためのアービタと、を備える、ことを特徴とする処理システム。
  9. メモリコントローラと、このメモリコントローラに接続された、各々が複数のデータ項目を格納するように構成された複数のメモリバンクとを備えるメモリシステム内で用いるための方法であって、
    ある与えられたデータ項目をデータ項目の複数のコピーとして、これら複数のコピーが該メモリバンクの指定される最小数の各々の1つに格納されるやり方にて格納するステップと、
    該メモリコントローラを用いて該メモリバンク内に格納された該データ項目へのアクセスに対するリクエストを該アクセスリクエスト間のバンク衝突を回避するように構成されたある指定されるバンクアクセスシーケンスに従って処理するステップと、を含み、
    該メモリコントローラが:
    該アクセスリクエストを格納するように構成された、各々が該複数のメモリバンクの対応する1つと関連するセットのキューと、
    該セットのキューに接続された、そこから該アクセスリクエストのある与えられた1つを該指定されるバンクアクセスシーケンスに従って選択するためのアービタと、を備える方法。
JP2002364520A 2001-12-19 2002-12-17 バンク衝突回避機能を備える動的ランダムアクセスメモリシステム Expired - Fee Related JP4369660B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/025331 2001-12-19
US10/025,331 US6944731B2 (en) 2001-12-19 2001-12-19 Dynamic random access memory system with bank conflict avoidance feature

Publications (3)

Publication Number Publication Date
JP2003208353A JP2003208353A (ja) 2003-07-25
JP2003208353A5 JP2003208353A5 (ja) 2005-12-22
JP4369660B2 true JP4369660B2 (ja) 2009-11-25

Family

ID=21825396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002364520A Expired - Fee Related JP4369660B2 (ja) 2001-12-19 2002-12-17 バンク衝突回避機能を備える動的ランダムアクセスメモリシステム

Country Status (5)

Country Link
US (1) US6944731B2 (ja)
EP (1) EP1345125B1 (ja)
JP (1) JP4369660B2 (ja)
KR (1) KR100963721B1 (ja)
TW (1) TWI255990B (ja)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
JP2003029932A (ja) * 2001-07-18 2003-01-31 Hitachi Ltd ディスク制御装置
US6839797B2 (en) * 2001-12-21 2005-01-04 Agere Systems, Inc. Multi-bank scheduling to improve performance on tree accesses in a DRAM based random access memory subsystem
US7286543B2 (en) * 2002-02-27 2007-10-23 International Business Machines Corporation Memory system with apparatus and method to enable balanced bandwidth utilization
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7167942B1 (en) * 2003-06-09 2007-01-23 Marvell International Ltd. Dynamic random access memory controller
US7360026B1 (en) * 2003-10-06 2008-04-15 Altera Corporation Method and apparatus for synchronizing data with a reduced clock cycle response time
US20050138276A1 (en) * 2003-12-17 2005-06-23 Intel Corporation Methods and apparatus for high bandwidth random access using dynamic random access memory
JP4534488B2 (ja) * 2004-01-05 2010-09-01 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
JP4735008B2 (ja) * 2004-04-19 2011-07-27 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7277982B2 (en) * 2004-07-27 2007-10-02 International Business Machines Corporation DRAM access command queuing structure
US7941585B2 (en) * 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
EP1794979B1 (en) 2004-09-10 2017-04-12 Cavium, Inc. Selective replication of data structure
US7594081B2 (en) 2004-09-10 2009-09-22 Cavium Networks, Inc. Direct access to low-latency memory
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US7801174B2 (en) * 2004-12-29 2010-09-21 Alcatel-Lucent Usa Inc. Techniques for efficient control of aggregating wireless voice communications
US7228472B2 (en) * 2005-01-11 2007-06-05 Hewlett-Packard Development Company, L.P. System and method to control data capture
US7752016B2 (en) * 2005-01-11 2010-07-06 Hewlett-Packard Development Company, L.P. System and method for data analysis
US7809991B2 (en) * 2005-01-11 2010-10-05 Hewlett-Packard Development Company, L.P. System and method to qualify data capture
US8478947B2 (en) * 2005-07-05 2013-07-02 Arm Limited Memory controller
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US8572349B2 (en) * 2006-01-31 2013-10-29 Agere Systems Llc Processor with programmable configuration of logical-to-physical address translation on a per-client basis
US7461216B2 (en) * 2006-02-23 2008-12-02 Hewlett-Packard Development Company, L.P. Memory controller
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US7949841B2 (en) * 2006-12-08 2011-05-24 Microsoft Corporation Protection of critical memory using replication
US8395996B2 (en) 2007-01-11 2013-03-12 Foundry Networks, Llc Techniques for processing incoming failure detection protocol packets
US8327057B1 (en) 2007-04-16 2012-12-04 Juniper Networks, Inc. Ordering write bursts to memory
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8347005B2 (en) * 2007-07-31 2013-01-01 Hewlett-Packard Development Company, L.P. Memory controller with multi-protocol interface
US8099564B1 (en) * 2007-08-10 2012-01-17 Xilinx, Inc. Programmable memory controller
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US8254191B2 (en) * 2008-10-30 2012-08-28 Micron Technology, Inc. Switched interface stacked-die memory architecture
US8370557B2 (en) * 2008-12-19 2013-02-05 Intel Corporation Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory
US8086783B2 (en) * 2009-02-23 2011-12-27 International Business Machines Corporation High availability memory system
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US8293198B2 (en) * 2009-12-18 2012-10-23 Basf Corporation Process of direct copper exchange into Na+-form of chabazite molecular sieve, and catalysts, systems and methods
US9612775B1 (en) 2009-12-30 2017-04-04 Micron Technology, Inc. Solid state drive controller
US9442866B1 (en) 2009-12-30 2016-09-13 Micron Technology Self-adaptive solid state drive controller
US10229139B2 (en) 2011-08-02 2019-03-12 Cavium, Llc Incremental update heuristics
CN102681946B (zh) * 2012-05-11 2015-03-11 龙芯中科技术有限公司 内存访问方法和装置
US10083200B2 (en) 2013-03-14 2018-09-25 Cavium, Inc. Batch incremental update
US9430511B2 (en) * 2013-03-15 2016-08-30 Cavium, Inc. Merging independent writes, separating dependent and independent writes, and error roll back
US9595003B1 (en) 2013-03-15 2017-03-14 Cavium, Inc. Compiler with mask nodes
US9195939B1 (en) 2013-03-15 2015-11-24 Cavium, Inc. Scope in decision trees
US9361973B2 (en) 2013-10-28 2016-06-07 Cypress Semiconductor Corporation Multi-channel, multi-bank memory with wide data input/output
US9652415B2 (en) * 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US9436397B2 (en) 2014-09-23 2016-09-06 Sandisk Technologies Llc. Validating the status of memory operations
US9558125B2 (en) 2014-10-27 2017-01-31 Sandisk Technologies Llc Processing of un-map commands to enhance performance and endurance of a storage device
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
CN105760315A (zh) * 2014-12-15 2016-07-13 深圳市中兴微电子技术有限公司 一种提高同步动态随机存储器访问效率的方法及装置
US9647697B2 (en) 2015-03-16 2017-05-09 Sandisk Technologies Llc Method and system for determining soft information offsets
US9772796B2 (en) 2015-04-09 2017-09-26 Sandisk Technologies Llc Multi-package segmented data transfer protocol for sending sub-request to multiple memory portions of solid-state drive using a single relative memory address
US9753653B2 (en) 2015-04-14 2017-09-05 Sandisk Technologies Llc High-priority NAND operations management
US9864545B2 (en) 2015-04-14 2018-01-09 Sandisk Technologies Llc Open erase block read automation
US10372529B2 (en) 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US10241941B2 (en) * 2015-06-29 2019-03-26 Nxp Usa, Inc. Systems and methods for asymmetric memory access to memory banks within integrated circuit systems
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US9837146B2 (en) 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
JP2019091191A (ja) * 2017-11-14 2019-06-13 ルネサスエレクトロニクス株式会社 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム
US11422707B2 (en) * 2017-12-21 2022-08-23 Advanced Micro Devices, Inc. Scheduling memory requests for a ganged memory device
US10679320B1 (en) * 2018-07-23 2020-06-09 Ambarella International Lp High dynamic range sensor system with row increment operation
CN110187835B (zh) * 2019-05-24 2023-02-03 北京百度网讯科技有限公司 用于管理访问请求的方法、装置、设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912698A (en) * 1983-09-26 1990-03-27 Siemens Aktiengesellschaft Multi-processor central control unit of a telephone exchange system and its operation
US4766535A (en) * 1985-12-20 1988-08-23 International Business Machines Corporation High-performance multiple port memory
US5966143A (en) * 1997-10-14 1999-10-12 Motorola, Inc. Data allocation into multiple memories for concurrent access
US6088771A (en) * 1997-10-24 2000-07-11 Digital Equipment Corporation Mechanism for reducing latency of memory barrier operations on a multiprocessor system
US6430527B1 (en) * 1998-05-06 2002-08-06 Avici Systems Prefix search circuitry and method
US6308219B1 (en) * 1998-07-31 2001-10-23 Cisco Technology, Inc. Routing table lookup implemented using M-trie having nodes duplicated in multiple memory banks
JP4043151B2 (ja) * 1998-08-26 2008-02-06 富士通株式会社 高速ランダムアクセス可能なメモリデバイス
JP4083944B2 (ja) * 1999-12-13 2008-04-30 東芝マイクロエレクトロニクス株式会社 半導体記憶装置

Also Published As

Publication number Publication date
KR20030051406A (ko) 2003-06-25
KR100963721B1 (ko) 2010-06-14
TW200304066A (en) 2003-09-16
EP1345125A2 (en) 2003-09-17
EP1345125B1 (en) 2013-09-25
US6944731B2 (en) 2005-09-13
TWI255990B (en) 2006-06-01
US20030115403A1 (en) 2003-06-19
EP1345125A3 (en) 2007-04-04
JP2003208353A (ja) 2003-07-25

Similar Documents

Publication Publication Date Title
JP4369660B2 (ja) バンク衝突回避機能を備える動的ランダムアクセスメモリシステム
JP4299536B2 (ja) Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
US6418077B1 (en) Memory access methods and devices for use with random access memories
JP4124491B2 (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
US5784582A (en) Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline
JP3598321B2 (ja) 異なる周波数で動作するバス間でやりとりされるバッファリングデータ
US6393512B1 (en) Circuit and method for detecting bank conflicts in accessing adjacent banks
US6507886B1 (en) Scheduler for avoiding bank conflicts in issuing concurrent requests to main memory
US6408367B2 (en) Data path architecture and arbitration scheme for providing access to a shared system resource
US20140153582A1 (en) Method and apparatus for providing a packet buffer random access memory
US20060047919A1 (en) Atomic read/write support in a multi-module memory configuration
US7822915B2 (en) Memory controller for packet applications
JP2001222465A (ja) ネットワーク・プロセッサのためのdramデータ記憶及び移動
JPH03147037A (ja) 記憶装置
KR100288177B1 (ko) 메모리 액세스 제어 회로
CN107835134B (zh) 应用于以太网交换芯片的端口访问仲裁方法及装置
JP3384770B2 (ja) コマンド・スタッキングを有する高帯域幅で狭い入出力のメモリ装置
US7127547B2 (en) Processor with multiple linked list storage feature
WO2022145209A1 (ja) メモリ制御装置及びメモリ制御方法
JPH09269937A (ja) プロセッサ間通信におけるパケット送信方法およびその装置
WO2003014948A1 (en) System architecture of a high bit rate switch module between functional units in a system on a chip
JPH11110289A (ja) バッファ制御方式
JPH1185605A (ja) 記憶制御装置
JPH06214869A (ja) 記憶装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090212

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: 20090805

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: 20090828

R150 Certificate of patent or registration of utility model

Ref document number: 4369660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees