JP5279899B2 - 安全な乱数生成器 - Google Patents

安全な乱数生成器 Download PDF

Info

Publication number
JP5279899B2
JP5279899B2 JP2011510477A JP2011510477A JP5279899B2 JP 5279899 B2 JP5279899 B2 JP 5279899B2 JP 2011510477 A JP2011510477 A JP 2011510477A JP 2011510477 A JP2011510477 A JP 2011510477A JP 5279899 B2 JP5279899 B2 JP 5279899B2
Authority
JP
Japan
Prior art keywords
memory
random number
signal
error correction
number generator
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
JP2011510477A
Other languages
English (en)
Other versions
JP2011521376A (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 JP2011521376A publication Critical patent/JP2011521376A/ja
Application granted granted Critical
Publication of JP5279899B2 publication Critical patent/JP5279899B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Semiconductor Memories (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、概略として電気技術、電子技術、及びコンピュータ技術に関し、より具体的には乱数生成に関する。
電子商取引(eコマース)、ポータブル通信デバイス(例えば、携帯電話)、ソリッドステートメディアストレージデバイスなどを含むがそれらに限定されないいくつかの用途では、記憶されているデータ及び/又はデバイスの使用を保護するためにセキュリティコードが必要とされる。セキュリティコード又はそのようなセキュリティコードが由来するコード若しくは数字は通常、例えばフラッシュメモリ及びワンタイムプログラマブル(OTP)メモリなど、集積回路(IC)チップの中に組み込まれた不揮発性メモリに記憶される。不揮発性メモリは、チップの電源が切られた時にセキュリティコードがホストチップに保持されることを保証するために使用される。安全な環境を提供するためには、セキュリティコードが観察又はリバースエンジニアリングという公知の方法によって検出可能でないことが絶対必要である。残念ながら、セキュリティコードを組込み不揮発性メモリの中に記憶するほとんどの従来の方法は、目視検査法、走査型電子顕微鏡(SEM)画像処理法、及び/又は電荷測定法によって検出されることが可能である。
例えば、組込みフラッシュメモリは、一意のセキュリティコードと共にプログラムされることが可能である不揮発性メモリである。しかし、フラッシュメモリセルのプログラムされたデータ状態は公知の電荷測定方法によって判定されることが可能である。酸化膜破壊アンチヒューズメモリ及び金属若しくはポリシリコン(ポリ)ヒューズメモリを含むOTPメモリは一意のセキュリティコードと共にプログラムされることが可能であり、不揮発性である。しかし、メモリセルのプログラムされたデータ状態はSEM画像処理法又は代替画像処理法を使用して、アンチヒューズメモリ内のゲート酸化膜破壊領域の検査によって判定されることが可能である。同様に、金属又はポリシリコンヒューズメモリ内のそれぞれのセルのプログラムされたデータ状態は層除去及び目視検査によって判定されることが可能である。その結果として、セキュリティコードを不揮発性メモリの中にプログラムするための従来の方法には十分なセキュリティの保証がなく、従って望ましくない。
セキュリティコードを不揮発性メモリの中にプログラムするための代替形態として、セキュリティコードは(例えば、コード又は乱数生成器に少なくとも部分的に基づいて)ホストチップの外部で生成され、チップに伝達され、次いで、チップの中に組み込まれている不揮発性メモリに記憶されることが可能である。しかし、この手法は主にセキュリティコードがホストチップ環境の外部に知られており、従ってインターセプト及び/又は操作される可能性があるので、盗難に遭い易いという点で望ましくない。
従って、従来の手法によって示された制約の1つ以上を欠点として持たない、記憶されているデータ及び/又はデバイスの使用のセキュリティを保証するための技法の必要が存在する。
Roberto Togneri及びChristopher J.S.de Silva、「Fundamentals of Information Theory and Coding Design」、Chapman & Hall/CRC Press、2002年
本発明の諸実施形態は、安全な乱数生成のための技法を提供することにより上記の必要を満たす。知られている観察法及び/又はリバースエンジニアリング法を使用して発見するのが本質的に不可能なチップの中の乱数の反復可能な生成によって、本発明の技法は、セキュリティコードのための事実上盗難防止の不揮発性メモリストレージを提供する。
本発明の一態様によれば、乱数生成器回路が提供される。乱数生成器回路は複数の記憶素子を有する第1のメモリを含む。記憶素子のそれぞれは、第1のメモリに印加される電圧供給源によって電源が入れられた時にそれに対応する初期状態を有する。第1のメモリは、記憶素子のそれぞれの初期状態を示す複数のビットを含む第1の信号を生成するように機能する。乱数生成器回路は第1のメモリに結合された誤り訂正回路をさらに含む。誤り訂正回路は第1の信号を受信し、第1のメモリへの電力の連続印加時に反復可能でない第1の信号内の少なくとも1つのビットを訂正し、それによって第2の信号を生成するように機能する。第2の信号は第1のメモリへの電力の連続印加時に反復可能な乱数である。1つ以上の乱数生成器回路が集積回路に含まれてよい。
本発明の他の態様によれば、安全な乱数を生成するための方法は、複数の記憶素子を備えた第1のメモリの電源を入れるステップであって、記憶素子のそれぞれは電源が入れられた時にそれに対応する初期状態を有するステップ、記憶素子のそれぞれの初期状態を示す複数のビットを備える第1の信号を生成するステップ、及び第1の信号内の反復不可能なビットを訂正し、それによって第2の信号を生成するステップであって、第2の信号は第1のメモリへの電力の連続印加時に反復可能な乱数であるステップを含む。
本発明の他の態様によれば、電子システムは、少なくとも1つの乱数生成器回路を含む少なくとも1つの集積回路を含む。乱数生成器回路は複数の記憶素子を含む第1のメモリを備える。記憶素子のそれぞれは、第1のメモリに印加される電圧供給源によって電源が入れられた時にそれに対応する初期状態を有する。第1のメモリは、記憶素子のそれぞれの初期状態を示す複数のビットを含む第1の信号を生成するように機能する。乱数生成器回路は第1のメモリに結合された誤り訂正回路をさらに含む。誤り訂正回路は第1の信号を受信し、第1の信号内の反復不可能なビットを訂正し、それによって乱数生成器回路の出力として第2の信号を生成するように機能する。第2の信号は第1のメモリへの電力の連続印加時に反復可能な乱数である。1つ以上の乱数生成器回路が集積回路に含まれてよい。
本発明のこれら及び他の特徴、目的及び利点は、添付の図面に関連して読まれるべきである本発明の例示的諸実施形態の以下の詳細な説明から明らかになるであろう。
本発明の一実施形態に関連して使用されることが可能である例示的スタティックランダムアクセスメモリ(SRAM)アレイを示す概略図である。 本発明の一実施形態による例示的乱数生成器回路を示すブロック図である。 本発明の一実施形態による、図2に示されているエラーコードメモリをプログラムするための例示的方法における諸ステップを示す図である。 本発明の一実施形態による、訂正された乱数を呼び出すための例示的方法における諸ステップを示す図である。 本発明の一実施形態による少なくとも1つの安全な乱数生成器回路を備える例示的パッケージICを示す部分的断面図である。
本発明は、本明細書では例示的メモリ回路、乱数生成器回路、及び乱数生成方法のコンテキストで説明される。しかし、本発明の技法は、本明細書で示され説明された回路及び方法に限定されないことが理解されるべきである。そうではなく、本発明の諸実施形態は、記憶されているデータ及び/又はデバイスの使用のセキュリティを保証するための技法を広く対象とする。知られている観察法及び/又はリバースエンジニアリング法を使用して発見するのが本質的に不可能なチップの中の乱数の反復可能な生成によって、例示的諸実施形態はセキュリティコードのための事実上盗難防止の不揮発性メモリストレージを提供する。本発明の好ましい実施形態はシリコンウェハで製作されることが可能であるが、本発明の諸実施形態は、代替として、ガリウムヒ素(GaAs)、リン化インジウム(InP)などを含むがそれらに限定されない他の材料を備えたウェハで製作されることが可能である。
図1は、本発明の一実施形態に関連して使用されることが可能である例示的SRAMアレイ18を示す概略図である。SRAMアレイ18は、N個の行及びM個の列のアレイに配列された複数のSRAMセル20を含み、N及びMは整数であり、セルは行と列の各交差点にある。SRAMアレイ18内の所与の行に対応するSRAMセル20は、好ましくは、語線とも呼ばれる共通の行線(例えば、行0又は行N)に接続される。同様に、所与の列に対応するSRAMセル20は、ビット線とも呼ばれる相補的な列線(例えば、列0及び列C 0、又は列M及び列C M)の共通の対に接続される。列線の各対では、列Cは列の論理的相補を表す。
各SRAMセル20は、好ましくは、2つのnチャネル金属酸化膜半導体(NMOS)プルダウントランジスタデバイス40及び42、2つのpチャネル金属酸化膜半導体(PMOS)プルアップトランジスタデバイス46及び48、並びに2つのNMOSアクセストランジスタデバイス30及び32を備えた6トランジスタセルである。本発明は、図示されている特定のメモリセル構成に限定されない。より具体的には、デバイス46及び48のソースは互いに接続され、VDDでよい第1の電圧供給源への接続に適応され、デバイス46のドレインはノード34においてデバイス40のドレインに接続され、デバイス40及び42のソースは互いに接続され、アースでよい第2の電圧供給源への接続に適応され、デバイス42のドレインはノード36においてデバイス48のドレインに接続され、デバイス46及び40のゲートはノード36においてデバイス48及び42のドレインに接続され、デバイス48及び42のゲートはノード34においてデバイス46及び40のドレインに接続される。アクセストランジスタ30のドレインはノード34に接続され、アクセスデバイス32のドレインはノード36に接続され、デバイス30のソースは対応する列線(例えば、列0)への接続に適応され、デバイス32のソースは対応する相補列線(例えば、列C 0)への接続に適応され、デバイス30及び32のゲートは対応する行線(例えば、行0)に接続される。
SRAMセル20は、図1に示されているように並べて配列されてよい。N個の行及びM個の列のアレイに配列されたメモリセルでは、通常、全てのセルを読み出すのに少なくともN個のメモリリードサイクルを必要とする。代替として、SRAMセル20は、単一の行(図示されていない)に配列され、この場合、セルは全て単一のメモリリードサイクルでアクセスされることが可能である。さらに、行線及び列線は相互に関して実質的に直交であるように、列線は好ましくは事実上垂直方向に向けられ、行線は好ましくは事実上水平方向に向けられる。しかし、本発明は、メモリセルのいかなる特定の配列にも、並びに/又は行線及び列線のいかなる特定の方向にも限定されないことが理解されるべきである。例えば、行線及び列線の他の方向(例えば、対角線)が同様に企図され、本発明の範囲内にある。
最初に電源が入れられた時、典型的なメモリセルは、2つの安定した初期状態、即ち、VDD(例えば、約3.3ボルト)でよい論理高レベル(例えば、二進数「1」)を示す第1の状態、又はゼロボルトでよい論理低レベル(例えば、二進数「0」)を示す第2の状態の1つにあることができる。用語「初期状態」は、本明細書で使用される場合は、メモリセルの電源が入れられた直後であってメモリセルが書き込まれる前におけるメモリセルのデータ状態として定義されるものとする。理想的には、SRAMセルは対称平衡回路であるように設計され、従ってSRAMセルは、電源が入れられた時に二進数1又は二進数0の初期状態にあることの等しい確率を有する。所与のメモリセルの初期状態は主にプロセスの変化及び変動によって判定される。いかなる物理的構造体の場合とも同様に、通常、寸法、構成要素の集中度、及び他の物理的特性の変化がある。
詳細には、ほとんどのタイプのメモリセルの場合、及びとりわけSRAMメモリセルでは、例えば、トランジスタのソース領域及びドレイン領域の中のドーピングレベル、トランジスタのチャネル領域の中のドーピングレベル、トランジスタのゲート酸化膜容量、トランジスタのゲート酸化膜の中のトラップされた電荷、トランジスタのチャネル領域の中のトラップされた電荷、トランジスタの領域間の形状オフセット、トランジスタのチャネル長、及びトランジスタのチャネル幅などを含めて、所与のメモリセルを形成するトランジスタに関連するいくつかの特徴の1つ以上の変化が生じ得る。さらに、例えば、相互接続の厚さ、長さ及び幅の変化、並びにメモリセルの中の抵抗及び容量の変化が生じ得る。メモリセルに関連する物理的パラメータ及び/又はプロセスのパラメータの変化は主としてランダムであり、従って、各メモリセルでは、電源が入れられた後にセルにおいて実現される二進数状態は本質的にランダムである。
本発明による使用に適したメモリセルは、プログラムされていないプロセス及び/又は寸法の変化によってセットされた初期状態を有することができるいかなる回路素子を備えてもよいことが理解されるべきである。そのようなメモリセルは、フリップフロップ、ラッチ、図1に示されている例示的SRAMセルタイプ、他のSRAMセルタイプ、他の相補型金属酸化膜半導体(CMOS)回路素子などを含んでよいがそれらに限定されない。
メモリアレイ内のほとんどのSRAMセルは、セルに関連するプロセス及び/又は寸法の特徴が様々なので、以下では一定の初期状態と呼ばれる反復可能な初期状態を生じさせるのに十分大きなコンポジットアンバランスを有するはずである。この場合、メモリセルの電源が入れられるたびに、その初期状態は常に同じになる、即ち常に二進数0状態、又は常に二進数1状態になる。しかし、メモリアレイには、ある種の、たとえ小さくても、サブセットのメモリセルがある可能性があり、それらはほとんど電気的に平衡しているので、そのようなセルの電源は終始一貫して同じ状態で入れられるとは限らない。この場合、一般に、一定の初期状態を生じさせるほどのネットアンバランスはない。本明細書では不定の初期状態と呼ばれることもある反復不可能な初期状態を示すメモリセルは、チップ温度、電源電圧レベル、電源電圧スルーレート、及びセルの近くの電気ノイズ(例えば、スイッチングノイズ、クロストークなど)のような、しかしそれらに限定されない、他の時間変化する変化要素の影響を受ける可能性がある。
プロセス変化は本質的にランダムなので、所与のメモリセルの反復可能な初期状態は知られない。そのような初期状態は反復可能であるが、二進数1又は二進数0であることのほぼ等しい確率を有する。この理由で、いくつかのメモリセルの初期状態から構成されるセキュリティコードは乱数であるはずである。メモリアレイでは、一定の初期状態を有するメモリセルはメモリアレイの反復可能な署名を提供する。しかし、前述のように、メモリアレイには反復可能な初期状態を示さない小さなサブセットのメモリセルがある可能性がある。そのような場合には、結果として生じるメモリアレイから生成される乱数は、チップの電源が入れられるたびに同じとは限らないはずである。セキュリティコード生成では、結果として生じる乱数をチップの電源が入れられるたびに終始一貫して同じにすることが望ましい。従って、反復可能な乱数を生成するために、不定の初期状態を有するメモリセルが何とかして検討されなければならない。
本発明の一態様によれば、不定の初期状態を有するメモリセルの状態を定義するために、誤り訂正技法が利用されることが有利である。一般に、誤り訂正コード(ECC)はメモリから読み出されたデータを訂正するために使用されることが可能である。ECCのより簡単な形式の1つはブロックコードに基づく。広く使用されるブロックコードはハミングコードである。リードソロモン(RS)コード及びBose−Chaudhuri−Hocquenghem(BCH)コードは、他の知られている誤り訂正コードである。誤り訂正の方法は、当技術分野ではよく知られている(例えば、Roberto Togneri及びChristopher J.S.de Silva、「Fundamentals of Information Theory and Coding Design」、Chapman & Hall/CRC Press、2002年を参照されたい)。従って、誤り訂正理論の詳細な議論は、本明細書では説明の節約のために提供されない。本発明の技法は、ランダムで、信頼可能で、ICの電源を入れる時に反復可能であるセキュリティコードを生成するために使用されることが可能である。さらに、ICプロセス及び/又は寸法の変化によって引き起こされるネットメモリセルアンバランスの関数として生成されるセキュリティコードは、知られている検査法及び/又はリバースエンジニアリング法によって合理的に判定されることは不可能である。
図2は、本発明の一実施形態による例示的乱数生成器回路200を示すブロック図である。乱数生成器回路200は、複数のメモリセル又は代替記憶素子を含むSRAMメモリアレイでよい第1のメモリ201を備える。メモリ201は、メモリにVDDでよい電圧の電源を供給するように機能する電源202への接続に適応される。メモリ201は、好ましくは不揮発性であり、メモリ内の複数のメモリセルのそれぞれの初期状態の関数である未訂正の乱数でよい第1の信号206を出力として生成するように機能する。
普通SRAMは、通常に使用される場合は、SRAMに記憶されているデータはメモリへの電源が除去された時に(即ち、SRAMの電源が切られた時に)失われるので、不揮発性メモリとみなされないことが理解されるべきである。しかし、本明細書に記載された本発明の教示によれば、SRAMは、メモリの電源が入れられるたびごとにSRAM内のメモリセルの少なくとも一部分が同じ(即ち、反復可能な)初期状態を有するはずなので、安全な乱数を生成するために不揮発性記憶媒体として利用される。
メモリ201内のメモリセルは、例えば、N×Mのアレイに配列されてよく、ここでN及びMはどちらも整数である。本発明は、メモリ201内のメモリセルのいかなる特定のサイズ及び/又は配列にも限定されない。例示としてのみ、メモリ201は16ワード×32ビットのアレイ(16×32アレイ)を備えることができる。この配列は512ビットのデータを生成するために、各リードサイクルが1つの32ビットデータワードを生成する16のメモリリードサイクルを必要とする。乱数生成器回路200は、メモリ内のメモリセルへのアクセスを制御するためにメモリ201に結合されたコントローラ205を含んでよい。一実施形態では、コントローラ205は当業者によって知られているはずであるように、行及び/又は列関連の回路を備えてよい。代替として、メモリ201内のメモリセルはM個のセルの単一の行(例えば、1×Mアレイ)に配列されてよい。この場合、例えば、メモリ201は並行して機能するM個の別個のラッチ(明示的には図示されていない)を備えてよい。M個のメモリセルの行全体は単一のメモリリードサイクルの中で同時に読み出されることが可能である。メモリセルのこの配列を使用すれば、必要とされる制御回路は最小になるか必要とされなくなり、この場合、コントローラ205は除去されることが可能である。しかし、この配列はメモリセルの状態を同時に読み出すためにかなり大きな数のセンス増幅器を必要とすることになり、これはICの面積及びコスト全体を増大させる可能性がある。
データワードは、好ましくは、メモリの電源が入れられた後に(例えば、VDDがメモリに印加されてから規定の時間後に)、及びメモリの初期状態が確立された後に、メモリ201から読み出される。メモリ201を読み出すことによって、好ましくは、メモリから乱数生成器回路200内の次に続く処理回路への、未訂正の乱数206がそれに基づいているデータワードの転送が可能になる。
乱数生成器回路200はメモリ201に結合された誤り訂正回路203をさらに含む。前述のように、メモリ201内のサブセットのメモリセルは、メモリの電源投入時に終始一貫して反復可能とは限らない未訂正の乱数206をそうでなければ生成するはずである所与のデータワードの中に不定の初期状態を有する可能性がある。誤り訂正回路203は、好ましくは、メモリ201から読み出される全てのデータビットが一定(反復可能)になるように、不定の初期状態を有するメモリセルによって生成されたデータワードを訂正するように機能する。従って、誤り訂正回路203によって生成される訂正された乱数でよい第2の信号207は、規則的ではないが、反復可能であるはずである。乱数生成器回路200によって生成される出力セキュリティコードは、好ましくは訂正された乱数207の関数である。
誤り訂正回路203によって利用される誤り訂正回路法によれば、エラーコードメモリでよい第2のメモリ204は任意選択で誤り訂正回路に結合されることが可能である。メモリ204は、好ましくは不揮発性であり、誤り訂正回路法によって使用されるECCビットを記憶するように機能する。これらのECCビットは、好ましくは、セキュリティコード(乱数)が確立されつつある段階のある時点でメモリ204の中にプログラムされる。これは、デバイスの工場テスト又はカスタマテストの間、あるいはそのすぐ後でよい。これらのECCビットは一度プログラムされる必要があるだけであるが、セキュリティコードをリセットすることが望ましい場合は、後で再プログラムされてもよい。本発明の一実施形態によれば、メモリ204は、最初にメモリ201の電源を入れ、プログラムするタイミングにおいてメモリ201内のメモリセルの初期状態を記憶することによりプログラムされる。これらのプログラムされた状態は、メモリ201の「正しい」状態とみなされる。次に続く電源投入中に、メモリ201内のメモリセルの初期状態は、メモリ204に記憶されている「正しい」状態と比較され、記憶されている状態に合致しないいかなる不定のビットも誤り訂正回路203によって訂正されることになる。
本発明の様々な実施形態では、誤り訂正回路203は、例えば、訂正された乱数207を生成する際にブロックコード(例えばハミングコード)、RSコード、BCHコードなどを利用することができるが、本発明は、特定の誤り訂正回路法に限定されない。メモリ201がメモリセルの単一の行とし配列される場合は、RSコード及びBCHコードは、一般に、誤りのあるデータビットを検出し訂正するために比較的長い一連のデータビットを必要とするので、好ましくはRS又はBCHコードが誤り訂正回路203によって利用される。いくつかの誤り訂正技法は訂正可能なビットの数及び/又は配列上の制約を有する。例えば、ハミングコードは、実施するのが簡単であるが、データワードごとに1つのビットエラーしか訂正することができない。従って、ハミングコードは、所与のデータワード内のビットの数が比較的小さい(例えば、約16ビットより少ない)場合に好まれる。誤り訂正回路203によって利用される他の誤り訂正技法はメモリコードの記憶を必要とせず、従ってメモリ204は省略されてよい。
次に、図3Aを参照すると、本発明の一実施形態による、図2の例示的エラーコードメモリ204をプログラムするための例示的方法300が示されている。方法300は、少なくともその一部分が誤り訂正回路203において実施されることが可能であり、不定の初期状態を有するメモリ201内のメモリセルの「正しい」状態をセットするために使用されることが可能である(図2参照)。このようにして、方法300は、好ましくは、メモリ201から生成された未訂正の乱数206内の反復不可能なビットを訂正するために利用される。「反復不可能なビット」は、この用語が本明細書で使用される場合は、メモリへの電力の連続印加時に、所与のメモリセルの初期状態が、セルへの電力の1つ以上の前の印加中のその所与のセルの初期状態と必ずしも同じでなくてもよいように、終始一貫して同じ初期状態を有するとは限らないメモリ201内の所与のメモリセルの出力を広く指すものとする。
エラーコードメモリ204をプログラムするために、ステップ302において、最初にメモリ201の電源が入れられる。ステップ303において、誤り訂正回路203に転送される未訂正の乱数206に基づいて第1の乱数を生成するためにメモリ201が読み出される。この第1の乱数は反復不可能なビットを含んでよい。ステップ304において、誤り訂正回路203が、第1の乱数を表す誤り訂正コード208を生成する。ステップ305において、誤り訂正コード208がエラーコードメモリ204の中にプログラムされる。前述のように、誤り訂正コード208はメモリ201から読み出される各データワードのハミングコードでよい。エラーコードメモリ204をプログラムした後に、メモリ201の電源が入れられるたびに、誤り訂正コード208は、いかなる誤りのあるビットをも検出し、訂正し、訂正された乱数207を生成するために使用される。従って、誤り訂正回路203によって生成される訂正された乱数207は、ランダムであるが反復可能なはずである。
図3Bは、本発明の一実施形態による、訂正された乱数(例えば、図2の207)を呼び出すための例示的方法320における諸ステップを示す。呼出しは、好ましくは、例えば図3Aに示されている例示的方法300を使用して、エラーコードメモリ204がプログラムされた後に行われる。方法320は、ステップ322においてメモリ201の電源を入れることから開始する。電源投入中に、未訂正のデータワード内の全てのビットの初期状態が確立される。ステップ323において、第2の乱数が、メモリ201から読み出された未訂正の乱数206に基づいて生成される。反復不可能なビットのために、第2の乱数は、図3Aに関連して上記で説明されたエラーコードメモリプログラミング方法300の間に生成された第1の乱数とは異なる可能性がある。ステップ324において、誤り訂正コード208がエラーコードメモリ204から読み出される。この誤り訂正コード208を使用して、ステップ325において、記憶されている誤り訂正コードによって示された第1の乱数内の対応する状態に合致しない状態を有する第2の乱数内のどの反復不可能なビットも訂正される。訂正された乱数207は第2の乱数から生成されることになる。これは、プログラミング方法300の間に生成された第1の乱数と同じ数のはずである。ステップ323において、第2の乱数が方法300において生成された第1の乱数と同じであることが判定された場合は、訂正は行われる必要がない。この場合はステップ324及び325は省略されてよい。
本発明の技法の少なくとも一部分は1つ以上の集積回路において実施されることが可能である。集積回路を形成する場合、ダイは、通常、半導体ウェハの表面上に反復パターンで製作される。各ダイは本明細書に記載のデバイスを含み、他の構造体又は回路を含んでよい。個々のダイはウェハから切断又はダイシングされ、次いで、集積回路としてパッケージングされる。図4は、本発明の一実施形態による少なくとも1つの安全な乱数生成器を備える例示的パッケージIC400を示す部分的断面図である。パッケージIC400は、リードフレーム402、リードフレームに取り付けられた本発明の一実施形態による安全な乱数生成器を含むダイ404、及びプラスチックカプセル化モールド608を備える。当業者は、集積回路を製造するために、どのようにウェハをダイシングし、ダイをパッケージングするかを知っているはずである。そのように製造された集積回路は本発明の一部とみなされる。
本発明による集積回路は、セキュリティコードを利用するいかなるアプリケーション及び/又は電子システムにおいてでも利用されることが可能である。本発明を実施するのに適したシステムは、パーソナルコンピュータ、通信ネットワーク、電子商取引システム、ポータブル通信デバイス(例えば携帯電話)、ソリッドステートメディアストレージデバイスなどを含んでよいが、それらに限定されない。そのような集積回路を組み込んだシステムは本発明の一部とみなされる。本明細書で提供された本発明の教示を与えられれば、当業者は本発明の技法の他の実施形態及び利用形態を企図することができるはずである。
本明細書では本発明の例示的諸実施形態が添付の図面を参照しながら説明されてきたが、本発明はそれらの厳密な実施形態に限定されず、それらの実施形態において添付の特許請求の範囲の範囲から逸脱するこなく様々な他の変更及び修正が当業者によって行わることが可能であることが理解されるべきである。

Claims (10)

  1. 乱数生成器回路であって、
    複数の記憶素子を含む第1のメモリであって、前記記憶素子のそれぞれは前記第1のメモリに印加される電圧供給源によって電源が入れられた時にそれに対応する初期状態を有し、前記記憶素子の前記それぞれの初期状態を示す複数のビットを備える第1の信号を生成するように機能する第1のメモリ、及び
    前記第1のメモリに結合された誤り訂正回路であって、前記第1の信号を受信し、前記第1のメモリへの電力の連続印加時に反復可能でない前記第1の信号内の少なくとも1つのビットを訂正し、それによって第2の信号を生成するように機能し、前記第2の信号前記第1のメモリへの電力の連続印加時に反復可能ではあるが規則的ではない数である誤り訂正回路
    を備え
    前記それぞれの記憶素子の前記初期状態が、前記素子の電源が入れられた直後であって書き込まれる前である状態を備える乱数生成器回路。
  2. 請求項1記載の乱数生成器回路であって、前記誤り訂正回路に結合された第2のメモリをさらに備え、前記第2のメモリは前記第2の信号を生成する際に前記誤り訂正回路によって使用される誤り訂正コードビットを記憶するように機能する乱数生成器回路。
  3. 請求項1記載の乱数生成器回路であって、前記複数の記憶素子の所与の1つの前記初期状態は、前記所与の記憶素子を形成する少なくとも1つのトランジスタに関連する1つ以上の特徴の変化の関数として判定される乱数生成器回路。
  4. 請求項3記載の乱数生成器回路であって、前記1つ以上の特徴は、前記少なくとも1つのトランジスタのソース領域及びドレイン領域の中のドーピングレベル、前記トランジスタのチャネル領域の中のドーピングレベル、トランジスタのゲート酸化膜容量、トランジスタのゲート酸化膜の中のトラップされた電荷、前記トランジスタのチャネル領域の中のトラップされた電荷、並びにトランジスタの領域間の形状オフセット、トランジスタのチャネル長及びトランジスタのチャネル幅の少なくとも1つからなる乱数生成器回路。
  5. 請求項1記載の少なくとも1つの乱数生成器回路を備える集積回路。
  6. 安全な乱数を生成するための方法であって、
    複数の記憶素子を備える第1のメモリの電源を入れるステップであって、前記記憶素子のそれぞれは電源が入れられた時にそれに対応する初期状態を有する、ステップ、
    前記記憶素子の前記それぞれの初期状態を示す複数のビットを備える第1の信号を生成するステップ、及び
    前記第1のメモリへの電力の連続印加時に反復可能でない前記第1の信号内の少なくとも1つのビットを訂正し、それによって第2の信号を生成するステップであって、前記第2の信号前記第1のメモリへの電力の連続印加時に反復可能ではあるが規則的ではない数であり、前記安全な乱数が前記第2の信号を示す、ステップ
    を備え
    前記それぞれの記憶素子の前記初期状態が、前記素子の電源が入れられた直後であって書き込まれる前である状態を備える方法。
  7. 請求項6記載の方法であって、前記第2の信号を生成する際に使用される誤り訂正コードビットを第2のメモリに記憶するステップをさらに備える方法。
  8. 請求項6記載の方法であって、
    二度目に前記メモリの電源を入れるステップであって、前記メモリは第2の乱数を生成するステップ、
    前記第2のメモリ内の前記誤り訂正コードを読み出すステップ、及び
    前記誤り訂正コードを使用して前記第2の乱数を訂正するステップであって、前記訂正された第2の乱数が前記第1の乱数である、ステップ
    をさらに備える方法。
  9. 請求項6記載の方法であって、前記複数の記憶素子の所与の1つの前記初期状態は、前記所与の記憶素子を形成する少なくとも1つのトランジスタに関連する1つ以上の特徴の変化の関数として判定される方法。
  10. 電子システムであって、
    少なくとも1つの乱数生成器回路を含む少なくとも1つの集積回路であって、前記少なくとも1つの乱数生成器回路は、
    複数の記憶素子を含む第1のメモリであって、前記記憶素子のそれぞれは、前記第1のメモリに印加される電圧供給源によって電源が入れられた時にそれに対応する初期状態を有し、前記記憶素子の前記それぞれの初期状態を示す複数のビットを含む第1の信号を生成するように機能する第1のメモリ、及び
    前記第1のメモリに結合された誤り訂正回路であって、前記誤り訂正回路は、前記第1の信号を受信し、前記第1のメモリへの電力の連続印加時に反復可能でない前記第1の信号内の少なくとも1つのビットを訂正し、それによって第2の信号を生成するように機能し、前記第2の信号前記第1のメモリへの電力の連続印加時に反復可能ではあるが規則的ではない数である、誤り訂正回路
    を備えた少なくとも1つの集積回路
    を備え
    前記それぞれの記憶素子の前記初期状態が、前記素子の電源が入れられた直後であって書き込まれる前である状態を備える電子システム。
JP2011510477A 2008-05-23 2008-05-23 安全な乱数生成器 Expired - Fee Related JP5279899B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/064679 WO2009142645A1 (en) 2008-05-23 2008-05-23 Secure random number generator

Publications (2)

Publication Number Publication Date
JP2011521376A JP2011521376A (ja) 2011-07-21
JP5279899B2 true JP5279899B2 (ja) 2013-09-04

Family

ID=40083710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011510477A Expired - Fee Related JP5279899B2 (ja) 2008-05-23 2008-05-23 安全な乱数生成器

Country Status (7)

Country Link
US (1) US8566377B2 (ja)
EP (1) EP2300909B1 (ja)
JP (1) JP5279899B2 (ja)
KR (1) KR101374427B1 (ja)
CN (1) CN102037441A (ja)
TW (1) TWI435586B (ja)
WO (1) WO2009142645A1 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566377B2 (en) 2008-05-23 2013-10-22 Agere Systems Llc Secure random number generator
WO2010134197A1 (ja) * 2009-05-22 2010-11-25 株式会社 東芝 乱数生成回路およびこれを用いた暗号回路
TWI496075B (zh) * 2010-06-03 2015-08-11 Univ Michigan 隨機化數值之產生
US9224496B2 (en) 2010-08-11 2015-12-29 Shine C. Chung Circuit and system of aggregated area anti-fuse in CMOS processes
US9236141B2 (en) 2010-08-20 2016-01-12 Shine C. Chung Circuit and system of using junction diode of MOS as program selector for programmable resistive devices
US9251893B2 (en) 2010-08-20 2016-02-02 Shine C. Chung Multiple-bit programmable resistive memory using diode as program selector
US9042153B2 (en) 2010-08-20 2015-05-26 Shine C. Chung Programmable resistive memory unit with multiple cells to improve yield and reliability
US10229746B2 (en) 2010-08-20 2019-03-12 Attopsemi Technology Co., Ltd OTP memory with high data security
US9496033B2 (en) 2010-08-20 2016-11-15 Attopsemi Technology Co., Ltd Method and system of programmable resistive devices with read capability using a low supply voltage
US9460807B2 (en) 2010-08-20 2016-10-04 Shine C. Chung One-time programmable memory devices using FinFET technology
US8644049B2 (en) 2010-08-20 2014-02-04 Shine C. Chung Circuit and system of using polysilicon diode as program selector for one-time programmable devices
US10923204B2 (en) 2010-08-20 2021-02-16 Attopsemi Technology Co., Ltd Fully testible OTP memory
US9070437B2 (en) 2010-08-20 2015-06-30 Shine C. Chung Circuit and system of using junction diode as program selector for one-time programmable devices with heat sink
US9431127B2 (en) 2010-08-20 2016-08-30 Shine C. Chung Circuit and system of using junction diode as program selector for metal fuses for one-time programmable devices
US9818478B2 (en) 2012-12-07 2017-11-14 Attopsemi Technology Co., Ltd Programmable resistive device and memory using diode as selector
US9824768B2 (en) 2015-03-22 2017-11-21 Attopsemi Technology Co., Ltd Integrated OTP memory for providing MTP memory
US10249379B2 (en) 2010-08-20 2019-04-02 Attopsemi Technology Co., Ltd One-time programmable devices having program selector for electrical fuses with extended area
US9025357B2 (en) 2010-08-20 2015-05-05 Shine C. Chung Programmable resistive memory unit with data and reference cells
US10916317B2 (en) 2010-08-20 2021-02-09 Attopsemi Technology Co., Ltd Programmable resistance memory on thin film transistor technology
US9019742B2 (en) 2010-08-20 2015-04-28 Shine C. Chung Multiple-state one-time programmable (OTP) memory to function as multi-time programmable (MTP) memory
US9711237B2 (en) 2010-08-20 2017-07-18 Attopsemi Technology Co., Ltd. Method and structure for reliable electrical fuse programming
US8988965B2 (en) 2010-11-03 2015-03-24 Shine C. Chung Low-pin-count non-volatile memory interface
US8923085B2 (en) 2010-11-03 2014-12-30 Shine C. Chung Low-pin-count non-volatile memory embedded in a integrated circuit without any additional pins for access
US9019791B2 (en) 2010-11-03 2015-04-28 Shine C. Chung Low-pin-count non-volatile memory interface for 3D IC
TWI478168B (zh) 2010-12-08 2015-03-21 Chien Shine Chung 反熔絲記憶體及電子系統
US10192615B2 (en) 2011-02-14 2019-01-29 Attopsemi Technology Co., Ltd One-time programmable devices having a semiconductor fin structure with a divided active region
US10586832B2 (en) 2011-02-14 2020-03-10 Attopsemi Technology Co., Ltd One-time programmable devices using gate-all-around structures
US8848423B2 (en) 2011-02-14 2014-09-30 Shine C. Chung Circuit and system of using FinFET for building programmable resistive devices
US9383969B2 (en) * 2011-04-05 2016-07-05 Intrinsic Id B.V. Random number generating system based on memory start-up noise
JP5813380B2 (ja) * 2011-06-03 2015-11-17 株式会社東芝 半導体記憶装置
US9136261B2 (en) 2011-11-15 2015-09-15 Shine C. Chung Structures and techniques for using mesh-structure diodes for electro-static discharge (ESD) protection
US9324849B2 (en) 2011-11-15 2016-04-26 Shine C. Chung Structures and techniques for using semiconductor body to construct SCR, DIAC, or TRIAC
US9007804B2 (en) * 2012-02-06 2015-04-14 Shine C. Chung Circuit and system of protective mechanisms for programmable resistive memories
US9076526B2 (en) 2012-09-10 2015-07-07 Shine C. Chung OTP memories functioning as an MTP memory
US9183897B2 (en) 2012-09-30 2015-11-10 Shine C. Chung Circuits and methods of a self-timed high speed SRAM
US20160028544A1 (en) * 2012-11-15 2016-01-28 Elwha Llc Random number generator functions in memory
US9324447B2 (en) 2012-11-20 2016-04-26 Shine C. Chung Circuit and system for concurrently programming multiple bits of OTP memory devices
JP6103958B2 (ja) * 2013-01-25 2017-03-29 株式会社メガチップス 半導体記憶装置
US9201729B2 (en) * 2013-10-21 2015-12-01 Seagate Technology, Llc Systems and methods for soft data utilization in a solid state memory system
US9529570B2 (en) 2014-03-19 2016-12-27 Seagate Technology Llc Random number generation using pulsed programming parameters
US9984256B2 (en) 2014-05-15 2018-05-29 Seagate Technology Llc Storage device tampering detection
US9412473B2 (en) 2014-06-16 2016-08-09 Shine C. Chung System and method of a novel redundancy scheme for OTP
US10372528B1 (en) 2014-12-15 2019-08-06 Seagate Technology Llc Random values from data errors
US10338890B1 (en) * 2015-01-07 2019-07-02 Seagate Technology Llc Random values from data errors
US9971565B2 (en) 2015-05-07 2018-05-15 Oracle International Corporation Storage, access, and management of random numbers generated by a central random number generator and dispensed to hardware threads of cores
US10116441B1 (en) 2015-06-11 2018-10-30 Amazon Technologies, Inc. Enhanced-security random data
JP6587188B2 (ja) 2015-06-18 2019-10-09 パナソニックIpマネジメント株式会社 乱数処理装置、集積回路カード、および乱数処理方法
KR20170008546A (ko) * 2015-07-14 2017-01-24 에스케이하이닉스 주식회사 난수 발생 회로 및 이를 이용한 반도체 시스템
US9747982B1 (en) * 2016-02-22 2017-08-29 Arm Ltd. Device and method for generating random numbers
US10910079B2 (en) * 2016-05-09 2021-02-02 Intrinsic Id B.V. Programming device arranged to obtain and store a random bit string in a memory device
US10019236B2 (en) 2016-08-11 2018-07-10 Taiwan Semiconductor Manufacturing Co., Ltd. SRAM-based true random number generator
US11062786B2 (en) 2017-04-14 2021-07-13 Attopsemi Technology Co., Ltd One-time programmable memories with low power read operation and novel sensing scheme
US10726914B2 (en) 2017-04-14 2020-07-28 Attopsemi Technology Co. Ltd Programmable resistive memories with low power read operation and novel sensing scheme
US11615859B2 (en) 2017-04-14 2023-03-28 Attopsemi Technology Co., Ltd One-time programmable memories with ultra-low power read operation and novel sensing scheme
US10535413B2 (en) 2017-04-14 2020-01-14 Attopsemi Technology Co., Ltd Low power read operation for programmable resistive memories
US10090309B1 (en) * 2017-04-27 2018-10-02 Ememory Technology Inc. Nonvolatile memory cell capable of improving program performance
US10536266B2 (en) 2017-05-02 2020-01-14 Seagate Technology Llc Cryptographically securing entropy for later use
US10770160B2 (en) 2017-11-30 2020-09-08 Attopsemi Technology Co., Ltd Programmable resistive memory formed by bit slices from a standard cell library
KR102045764B1 (ko) * 2018-02-02 2019-11-18 안상욱 진난수 발생용 에스램 셀 및 이를 구비한 에스램 셀 어레이 구동회로
US10880101B2 (en) 2018-04-11 2020-12-29 Taiwan Semiconductor Manufacturing Co., Ltd. Method and circuit for de-biasing PUF bits
US11709656B2 (en) 2018-07-13 2023-07-25 Ememory Technology Inc. Short channel effect based random bit generator
KR102644274B1 (ko) 2018-11-22 2024-03-06 삼성전자주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 메모리 컨트롤러의 동작 방법
KR102155007B1 (ko) * 2019-02-14 2020-09-11 국민대학교산학협력단 독립성 측정을 이용한 엔트로피 관리 장치 및 방법, 이를 이용한 난수 생성 장치
KR102197744B1 (ko) 2020-02-04 2021-01-04 금오공과대학교 산학협력단 무작위 천이 규칙을 적용한 셀룰러 오토마타 기반 참 난수 생성 장치
US11562784B2 (en) * 2020-08-14 2023-01-24 Micron Technology, Inc. Apparatuses, systems, and methods for voltage based random number generation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738294B2 (en) 2002-09-30 2004-05-18 Agere Systems Inc. Electronic fingerprinting of semiconductor integrated circuits
JP3898682B2 (ja) * 2003-10-03 2007-03-28 株式会社東芝 半導体集積回路
JP4404625B2 (ja) * 2003-12-25 2010-01-27 パナソニック株式会社 情報処理装置および該装置用のromイメージ生成装置
JP4251564B2 (ja) * 2004-10-08 2009-04-08 株式会社リコー 画像形成装置
US7496616B2 (en) * 2004-11-12 2009-02-24 International Business Machines Corporation Method, apparatus and system for resistance to side channel attacks on random number generators
US8566377B2 (en) * 2008-05-23 2013-10-22 Agere Systems Llc Secure random number generator

Also Published As

Publication number Publication date
CN102037441A (zh) 2011-04-27
TW200950455A (en) 2009-12-01
JP2011521376A (ja) 2011-07-21
US8566377B2 (en) 2013-10-22
EP2300909B1 (en) 2015-04-15
TWI435586B (zh) 2014-04-21
KR101374427B1 (ko) 2014-03-17
KR20110010733A (ko) 2011-02-07
EP2300909A1 (en) 2011-03-30
WO2009142645A1 (en) 2009-11-26
US20110022648A1 (en) 2011-01-27

Similar Documents

Publication Publication Date Title
JP5279899B2 (ja) 安全な乱数生成器
CN109493902B (zh) 随机码产生器及其相关控制方法
US10880103B2 (en) SRAM-based authentication circuit
TWI692764B (zh) 用於快閃記憶體裝置的防駭侵機制
US8854866B2 (en) Identification circuit and method for generating an identification bit
TW201926113A (zh) 為積體電路裝置產生安全金鑰的方法
US8339875B2 (en) Method of reducing the occurrence of burn-in due to negative bias temperature instability
US20090011596A1 (en) Electronic device and manufacturing method thereof
US8468419B2 (en) High-reliability memory
JP4817701B2 (ja) 半導体装置
TW201944279A (zh) 用於去偏的物理不可複製函數位元的方法與電路
US9941886B2 (en) Integrated circuit (IC) chip comprising an identification circuit
US9582374B2 (en) Memory array with redundant bits and memory element voting circuits
Li et al. Reliable antifuse one-time-programmable scheme with charge pump for postpackage repair of DRAM
CN105243342B (zh) 一种基于一次可编程查找表的标准单元逻辑电路
Serrano et al. A Unified OTP and PUF Exploiting Post-Program Current on Standard CMOS Technology
US7676726B2 (en) Stabilization for random chip identifier circuit
JP2008146796A (ja) 不揮発性半導体記憶装置
KR20130095008A (ko) 퓨즈 회로

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120308

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121107

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130521

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

LAPS Cancellation because of no payment of annual fees