JP6499065B2 - 乱数発生回路および半導体記憶装置 - Google Patents

乱数発生回路および半導体記憶装置 Download PDF

Info

Publication number
JP6499065B2
JP6499065B2 JP2015237706A JP2015237706A JP6499065B2 JP 6499065 B2 JP6499065 B2 JP 6499065B2 JP 2015237706 A JP2015237706 A JP 2015237706A JP 2015237706 A JP2015237706 A JP 2015237706A JP 6499065 B2 JP6499065 B2 JP 6499065B2
Authority
JP
Japan
Prior art keywords
initial value
shift register
feedback shift
linear feedback
memory
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.)
Active
Application number
JP2015237706A
Other languages
English (en)
Other versions
JP2017102844A (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.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2015237706A priority Critical patent/JP6499065B2/ja
Priority to US15/253,757 priority patent/US9921772B2/en
Publication of JP2017102844A publication Critical patent/JP2017102844A/ja
Priority to US15/925,617 priority patent/US10430101B2/en
Application granted granted Critical
Publication of JP6499065B2 publication Critical patent/JP6499065B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1036Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Read Only Memory (AREA)

Description

本発明の実施形態は、乱数発生回路および半導体記憶装置に関する。
NANDセルの信頼性を向上させるため、データをランダマイズすることがある。データをランダマイズするために、乱数発生器が用いられる。乱数発生器には、周期が長く良好な乱数性が得られる線形帰還シフトレジスタを用いたものがある。
特開2013−21461号公報
本発明の一つの実施形態は、乱数性の低下を抑制しつつ、回路規模を低減させることが可能な乱数発生回路を提供することを目的とする。
本発明の一つの実施形態によれば、線形帰還シフトレジスタと初期値設定部と初期値選択部と乱数出力部とを有する乱数発生回路が提供される。線形帰還シフトレジスタは、n(nは4以上の整数)次の線形帰還シフトレジスタである。初期値設定部は、線形帰還シフトレジスタに初期値を設定する。初期値選択部は、線形帰還シフトレジスタに設定される初期値を選択する。乱数出力部は線形帰還シフトレジスタの帰還ループ上で生成されるm(mは2以上のn−2以下の整数)個のXOR演算結果のうちk(kは2以上m以下の整数)個分をk個の乱数として出力する。初期値選択部は、NANDメモリのメモリセルを分類するパラメータと初期値との対応関係に基づいて初期値を選択する。乱数発生回路は、パラメータと初期値との対応関係が可変である。
図1は、第1実施形態に係る乱数発生回路の概略構成を示すブロック図である。 図2は、図1の乱数発生回路が適用されるランダマイズ処理装置の概略構成を示すブロック図である。 図3は、図1の乱数発生回路に適用されるシードテーブルの内容の一例を示す図である。 図4は、入出力ごとに初期値を変化させた時の使用領域の一例を示す図である。 図5は、第2実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。 図6(a)および図6(b)は、図5の乱数発生回路に適用されるシードテーブルのインデックスの入れ替え方法を示す図である。 図7(a)および図7(b)は、図5の乱数発生回路に適用されるシードテーブルのインデックスのマッピング領域の変更方法を示す図である。 図8は、第3実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。 図9は、第4実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。 図10は、第5実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。 図11は、第6実施形態に係る半導体記憶装置の構成例を示すブロック図である。 図12は、図11の不揮発性メモリの概略構成を示すブロック図である。 図13は、図12の不揮発性メモリの概略構成例を示す斜視図である。
以下に添付図面を参照して、実施形態に係る乱数発生回路を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1実施形態)
図1は、第1実施形態に係る乱数発生回路の概略構成を示すブロック図である。なお、図1は、割り算回路であり、32次の多項式を用いたM系列を示す。図1では、32次の原始多項式で割り算した時の余りを乱数で表す線形帰還シフトレジスタを例にとるが、n(2は2以上の整数)次の原始多項式で割り算した時の余りを乱数で表す線形帰還シフトレジスタに適用してもよい。また、線形帰還シフトレジスタはハードウェアで構成してもよいし、ファームウェアで構成してもよい。
図1において、線形帰還シフトレジスタ1には、32個のレジスタ2および13個のXOR演算部3が設けられている。この時、線形帰還シフトレジスタ1は32次の原始多項式M(X)で割り算した時の余りを乱数で表すことができる。この原始多項式M(X)は、例えば、M(X)=X32+X26+X23+X22+X16+X12++X11+X10+X+X++X+X+X+X+1という式で表すことができる。この原始多項式M(X)を用いることでM系列を生成することができる。この時、32次の原始多項式M(X)からは、232−1という周期で疑似乱数を発生させることができる。
32個のレジスタ2は、原始多項式M(X)の1次の項から32次の項にそれぞれ対応させることができる。原始多項式M(X)の係数が1である項X、X、X、X、X、X、X10、X11、X12、X16、X22、X23、X26に対応する各レジスタ2の後段にはXOR(排他的論理和)回路3が設けられている。各XOR回路3は、線形帰還シフトレジスタ1のレジスタ出力b7と、そのXOR回路3の前段のレジスタ2のレジスタ出力とのXORをとり、そのXOR回路3の後段のレジスタ2に出力する。
また、線形帰還シフトレジスタ1には、乱数出力部4が設けられている。乱数出力部4は、線形帰還シフトレジスタ1の帰還ループ上で生成される13個のXOR演算結果のうちk(kは2以上13以下の整数)個分をk個の乱数として出力する。線形帰還シフトレジスタ1では、原始多項式M(X)の係数が1である各項X、X、X、X、X、X、X10、X11、X12、X16、X22、X23、X26について、13個のXOR演算結果を1サイクルごとに生成することができる。図1では、原始多項式M(X)の8個の項X、X、X11、X15、X19、X23、X26から1サイクルごとに1バイトのレジスタ出力b0〜b7を乱数として取り出す例を示した。なお、例えば、項X12のXOR演算結果は項X13→項X14→項X15→項X16という順序で1サイクルごとにシフトされ、そのシフトによって項X12のXOR演算結果は変化しない。このため、項X12のXOR演算結果は、各項X13、X14、X15、X16のうちのどの項から取り出してもよい。
また、図1では、1バイトの乱数を取り出すために、各項X、X、X11、X15、X19、X23、X26からレジスタ出力b0〜b7を取り出す構成を示したが、13個の項X、X、X、X、X、X、X10、X11、X12、X16、X22、X23、X26のうちのどの8個の項が選択されてもよい。
線形帰還シフトレジスタ1で乱数を発生させる場合、各レジスタ2に初期値を設定する。そして、各レジスタ2の値が1サイクルごとに次段に1回シフトされる。これにより、1個の線形帰還シフトレジスタ1から1サイクルごとに8個の乱数を得ることができる。この時、各XOR回路3によるXOR演算結果を乱数として取り出すことにより、1個の線形帰還シフトレジスタ1から複数の乱数を取り出した場合においても、乱数性の低下を抑制することができる。
また、線形帰還シフトレジスタの次数nは、その線形帰還シフトレジスタが発生する乱数の周期YがNANDメモリのブロックサイズSより大きくなるように選択することが好ましい。これにより、NANDメモリの同一ブロックに書き込まれるデータが周期性を持つのを防止することができる。このため、NANDメモリの同一ブロックでセル間干渉が起き難くすることができ、NANDメモリの信頼性を向上させることができる。
図2は、図1の乱数発生回路が適用されるランダマイズ処理装置の概略構成を示すブロック図である。
図2において、ランダマイズ処理装置には、シードテーブル51、レジスタ52、初期値選択部53、初期値設定部54、巡回制御部55およびスクランブル回路56が設けられている。このシードテーブル51はN(Nは2以上の整数)個設けることができる。各シードテーブル51は、インデックスと初期値51Aとの対応関係を保持することができる。インデックスは初期値51Aを特定する番号である。この時、各シードテーブル51に格納される初期値51Aの個数Pはセルlの物理的な配置と相関が得にくい素数であることが好ましい。レジスタ52には、NANDメモリのページ番号52Aおよびフレーム番号52Bが保持される。なお、ページはNANDメモリにおける書き込み単位または読み出し単位である。フレームは、NANDメモリに用いられるECC(Error Correcting Code)回路の処理単位(以下、ECC単位という)である。
初期値選択部53は、ページ番号52Aおよびフレーム番号52Bに基づいてインデックスを求め、そのインデックスに割り当てられたシード値をシードテーブル51に定義された初期値51Aから選択することができる。初期値設定部54には、線形帰還シフトレジスタ1に初期値51Aを設定することができる。なお、線形帰還シフトレジスタ1は、N個設けるようにしてもよい。巡回制御部55は、線形帰還シフトレジスタ1の値を1サイクルごとに1ビットずつ巡回させることができる。スクランブル回路56は、線形帰還シフトレジスタ1のレジスタ出力b0〜b7に基づいて入力データDin[7:0]をランダマイズすることができる。スクランブル回路56には、入力データDin[7:0]の各ビットごとにXOR回路57が設けられている。XOR回路57は、入力データDin[7:0]の各ビットと各レジスタ出力b0〜b7とのXORをとることができる。
入力データDin[7:0]のランダマイズを行う場合、入力データDin[7:0]のページ番号52Aおよびフレーム番号52Bがレジスタ52に格納される。そして、そのページ番号52Aおよびフレーム番号52Bに基づいてインデックスが算出される。そして、そのインデックスをキーとしてシードテーブル51から初期値51Aが選択され、線形帰還シフトレジスタ1に設定される。なお、インデックスをIndex、ページ番号52Aをshiftnum、フレーム番号52Bをoffset、1ページ当たりのECC単位数をframe_maxとすると、これらの関係は、例えば、以下の(1)式で与えることができる。
Index=shiftnum*frame_max+offset・・・(1)
この(1)式で与えられるシードテーブル51の内容を図6(a)に示した。図6(a)の内容はデフォルトとして用いることができる。
初期値51Aが線形帰還シフトレジスタ1に設定されると、入力データDin[7:0]の入力サイクルに従って線形帰還シフトレジスタ1の値が1ビットづつ巡回され、その時のレジスタ出力b0〜b7が線形帰還シフトレジスタ1からスクランブル回路56に入力される。スクランブル回路56において、入力データDin[7:0]の各ビットと各レジスタ出力b0〜b7とのXORがとられることで、入力データDin[7:0]がランダマイズされた出力データDout[7:0]が生成される。
ここで、ページ番号52Aおよびフレーム番号52Bに基づいて線形帰還シフトレジスタ1の初期値51Aを変化させることにより、NANDメモリを消去した後に同一セルに同一データを書き込む場合においても、その同一セルに書き込まれるデータを別の値に変化させることができる。このため、NANDメモリの同一セルに同一の値が何度も繰り返し書き込まれるのを防止することができ、NANDメモリの信頼性の低下を抑制することができる。
図3は、図1の乱数発生回路に適用されるシードテーブルの内容の一例を示す図である。図3の例では、初期値51Aが32ビットで構成されている時の16進数で表した。
図3において、シードテーブルには、67個の初期値51Aが格納されている。この67は素数である。各初期値51Aには、インデックスが付されている。インデックスは初期値を指定することができる。初期値51A間のビット数の間隔は均等であることが好ましい。
ここで、各シードテーブル51に格納される初期値51Aの個数Pを素数とすることにより、NANDメモリにおけるページ間、カラム間またはレイヤ間でのデータの再現性の周期が初期値51Aの周期と一致し難くすることができる。このため、NANDメモリにおける隣接ページ間、隣接カラム間または隣接レイヤ間でのデータの周期を異ならせることができ、NANDメモリのセル間の干渉を抑制することができる。
また、初期値51A間のビット数の間隔を均等とすることにより、初期値51A間のビット数の最小間隔を大きくすることができる。このため、線形帰還シフトレジスタ1の初期値51Aが変更された場合においても、線形帰還シフトレジスタ1が発生する乱数の周期が初期値51Aの変更前後で重なり難くすることができる。
線形帰還シフトレジスタ1に設定可能な初期値の個数をPとすると、Y/P>Sという条件を満たすことが好ましい。例えば、NANDメモリのブロックサイズSが4Mバイト〜6Mバイト程度であるとする。この時、線形帰還シフトレジスタ1に設定可能な初期値の個数P=67に設定したものとする。この場合、Y/P=(232−1)/67≒8Mバイトとなり、Y/P>Sという条件を満たす。これにより、NANDメモリのブロックの書き込みデータの周期をブロックサイズSと同等以上に設定することができ、NANDメモリの同一ブロックでセル間干渉が起き難くすることができる。
図4は、入出力ごとに初期値を変化させた時の使用領域の一例を示す図である。
図4において、線形帰還シフトレジスタ1の周期Y=232−1以下の容量を持つメモリ領域MRがあるものとする。メモリ領域MRには、使用領域と未使用領域があってもよい。また、シードテーブル51および線形帰還シフトレジスタ1の個数N=4であるものとする。この時、メモリ領域MRの入出力IO#1、IO#2、IO#3、IO#4ごとに4個のシードテーブル51を別個に定義することができる。4個のシードテーブル51は、4個の線形帰還シフトレジスタ1にそれぞれ対応付けることができる。
そして、入出力IO#1、IO#2、IO#3、IO#4ごとに別個のシードテーブル51から4個の初期値を選択し、4個の線形帰還シフトレジスタ1を動作させる。この時、1サイクル当たり4個の入力データDin[7:0]をランダマイズすることができる。
また、出力IO#1、IO#2、IO#3、IO#4ごとにシードテーブル51を別個に定義することで、各入出力IO#1、IO#2、IO#3、IO#4に未使用領域がある場合においても、線形帰還シフトレジスタ1の最長周期を効率的に利用することができ、出力データDout[7:0]の乱数性を向上させることができる。
(第2実施形態)
第1実施形態のランダマイズ処理装置では、NANDメモリのメモリセルを分類するパラメータと初期値との対応関係が固定されている場合を示した。ここで言うパラメータは、例えば、ページ、フレーム、カラムおよびレイヤを上げることができる。カラムはNANDメモリの入出力単位である。この時、例えば、1カラム当たり8本のビット線を割り当てることができる。レイヤはメモリセルが積層されている時にどの層に配置されているかを示す。
この第2実施形態のランダマイズ処理装置では、NANDメモリのメモリセルを分類するパラメータと初期値との対応関係が可変である場合を示す。
図5は、第2実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。なお、以下の実施形態では、NANDメモリのメモリセルを分類するパラメータとしてページおよびフレームを例にとる。
図5の構成は図2の構成とほぼ同様である。ただし、レジスタ52には、フレーム番号52Bに対する加算係数52Cおよびページ番号52Aに対する乗算係数52Dが追加して保持される。
この時、初期値選択部53では、フレーム番号52Bに加算係数52Cを加算することで、インデックスとフレーム番号52Bとの対応関係を変化させたり、ページ番号52Aに乗算係数52Dを乗算することで、インデックスとページ番号52Aとの対応関係を変化させたりすることができる。
例えば、加算係数52CをRemap_ofstとすると、インデックスIndexは、以下の(2)式で与えることができる。
Index=shiftnum*frame_max+offset
+Remap_ofst・・・(2)
また、乗算係数52DをRemap_Numとすると、インデックスIndexは、以下の(3)式で与えることができる。
Index=Index+shiftnum*Remap_Num・・・(3)
そして、その変化されたインデックスをキーとしてシードテーブル51から初期値51Aが選択され、線形帰還シフトレジスタ1に設定される。
なお、インデックスIndexの変換式は、(2)式または(3)式に限定されることなく、シードテーブル51の周期性を崩せれば、どのような変換式であってもよい。
ここで、メモリセルを分類するパラメータと初期値との対応関係を可変とすることにより、NANDメモリの設計変更に伴ってページ、フレーム、カラムまたはレイヤが変更された場合においても、NANDメモリに記憶されるデータの周期関係を崩すことができる。このため、NANDメモリの設計変更があった場合においても、NANDメモリの同一ブロックに書き込まれるデータが周期性を持つのを防止することができ、NANDメモリの同一ブロックでセル間干渉が起き難くすることができる。
図6(a)および図6(b)は、図5の乱数発生回路に適用されるシードテーブルのインデックスの入れ替え方法を示す図である。シードテーブル51では、縦軸をページ番号shiftnum、横軸をフレーム番号offsetとし、ページ番号shiftnumとフレーム番号offsetとで特定されるインデックスIndexが登録される。
図6(a)において、シードテーブル51は、(1)式に従ってデフォルト設定されているものとする。(1)式は、(2)式のRemap_ofst=0の場合である。
(2)式において、Remap_ofst=3とすると、図6(b)に示すように、シードテーブル51内でインデックスIndexが3だけシフトされる。このため、ページ番号shiftnumとフレーム番号offsetとで特定されるインデックスIndexを入れ替えることができる。
図7(a)および図7(b)は、図5の乱数発生回路に適用されるシードテーブルのインデックスのマッピング領域の変更方法を示す図である。
図7(a)において、(3)式のRemap_Num=1とすると、インデックスIndexのマッピング領域が図6(a)のマッピング領域に対して変化する。この時、図7(a)のマッピング領域は、offset=1の位置でshiftnumの増大方向に突出させることができる。
また、図7(b)において、(3)式のRemap_Num=2とすると、インデックスIndexのマッピング領域が図6(a)のマッピング領域に対して変化する。この時、図7(b)のマッピング領域は、offset=0の位置でshiftnumの増大方向に突出させることができる。
(第3実施形態)
図8は、第3実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。
図8の構成では、図5の初期値設定部54および巡回制御部55の代わりに初期値設定部54´および巡回制御部55´が設けられている。それ以外の図8の構成は図5の構成と同様である。
図5の巡回制御部55では、1個の線形帰還シフトレジスタ1から1サイクルごとに1バイトのレジスタ出力b0〜b7が乱数として取り出される。これに対して、図8の巡回制御部55´では、1個の線形帰還シフトレジスタ1から1サイクルごとに1ビットのレジスタ出力が乱数として取り出される。この時、1サイクルごとに1バイトの乱数が得られるようにするため、8個の線形帰還シフトレジスタ1を設けることができる。
初期値設定部54´において、8個の線形帰還シフトレジスタ1に初期値が設定される。そして、巡回制御部55´において、入力データDin[7:0]の入力サイクルに従って8個の線形帰還シフトレジスタ1の値が1ビットづつ巡回され、各線形帰還シフトレジスタ1の最終段のレジスタ出力f0〜f7が各線形帰還シフトレジスタ1からスクランブル回路56に入力される。スクランブル回路56において、入力データDin[7:0]の各ビットと各線形帰還シフトレジスタ1の最終段のレジスタ出力f0〜f7とのXORがとられることで、入力データDin[7:0]がランダマイズされた出力データDout[7:0]が生成される。
ここで、初期値選択部53では、メモリセルを分類するパラメータと初期値との対応関係を可変とすることができる。このため、8個の線形帰還シフトレジスタ1の最終段のレジスタ出力f0〜f7を乱数として用いる場合であって、各NANDメモリの設計変更があった場合においても、NANDメモリの同一ブロックに書き込まれるデータが周期性を持つのを防止することが可能となる。
(第4実施形態)
図9は、第4実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。
図9の構成では、図5の構成に対しレジスタ52に撹拌値52Eが追加して保持される。また、図5の構成に対しXOR回路58が追加されている。それ以外の図9の構成は図5の構成と同様である。XOR回路58は、初期値51Aと撹拌値52EとのXORをビットごとにとることができる。初期値51Aが32ビットで構成されている場合、撹拌値52Eも32ビットで構成することができる。
そして、初期値選択部53にて初期値51Aが選択されると、XOR回路58にてその初期値51Aと撹拌値52EとのXORがとられ、初期値設定部54に送られる。初期値設定部54では、XOR回路58でのXOR演算結果が線形帰還シフトレジスタ1に初期値として設定される。
ここで、初期値51Aと撹拌値52EとのXORをとることで、初期値51Aを撹拌値52Eで撹拌することができる。このため、線形帰還シフトレジスタ1から取り出されるレジスタ出力b0〜b7の乱数性を向上させることができる。
(第5実施形態)
図10は、第5実施形態に係るランダマイズ処理装置の概略構成を示すブロック図である。
図10の構成では、図5の構成に対しレジスタ52に撹拌値52Fが追加して保持される。また、図5の構成に対し撹拌回路59が追加されている。それ以外の図10の構成は図5の構成と同様である。撹拌回路59は、線形帰還シフトレジスタ1のレジスタ出力b0〜b7を撹拌することができる。撹拌回路59には、レジスタ出力b0〜b7の各ビットごとにXOR回路60が設けられている。XOR回路60は、レジスタ出力b0〜b7と撹拌値52FとのXORをビットごとにとることができる。レジスタ出力b0〜b7が8ビットである場合、撹拌値52Fも8ビットで構成することができる。
初期値51Aが線形帰還シフトレジスタ1に設定されると、入力データDin[7:0]の入力サイクルに従って線形帰還シフトレジスタ1の値が1ビットづつ巡回され、その時のレジスタ出力b0〜b7が線形帰還シフトレジスタ1から撹拌回路59に入力される。撹拌回路59においてレジスタ出力b0〜b7と撹拌値52Fの各ビットとのXORがとられ、スクランブル回路56に入力される。スクランブル回路56において、入力データDin[7:0]の各ビットと撹拌回路59でのXOR演算結果の各ビットとのXORがとられることで、入力データDin[7:0]がランダマイズされた出力データDout[7:0]が生成される。
ここで、レジスタ出力b0〜b7と撹拌値52FとのXORをとることで、レジスタ出力b0〜b7を撹拌値52Fで撹拌することができる。このため、入力データDin[7:0]のランダマイズに用いられる乱数の乱数性を向上させることができる。なお、図9または図10の撹拌機能は図8の構成に適用してもよい。
(第6実施形態)
図11は、第6実施形態に係る半導体記憶装置の構成例を示すブロック図である。
図11において、半導体記憶装置11には、コントローラ12および不揮発性メモリ13が設けられている。半導体記憶装置11は、ホスト14と接続可能である。ホスト14は、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。
不揮発性メモリ13は、データを不揮発に記憶する半導体メモリであり、例えば、NANDメモリである。NANDメモリでは、ページ単位でデータの書き込みおよび読み出しを行うことができる。NANDメモリでは、ブロック単位でデータの消去を行うことができる。NANDメモリのメモリセルは、1ビットの記憶が可能なシングルレベルセルであってもよいし、2ビット以上の記憶が可能なマルチレベルセルであってもよい。
コントローラ12は、ホスト14からの書込みコマンドに従って不揮発性メモリ13への書込みを制御する。コントローラ12は、ホスト14からの読み出しコマンドに従って不揮発性メモリ13からの読み出しを制御する。コントローラ12には、HostI/F21、メモリI/F22、制御部23、ECC部24およびデータバッファ27が設けられている。HostI/F21、メモリI/F22、制御部23、ECC部24およびデータバッファ27は、内部バス20で互いに接続されている。HostI/F21は、ホスト14から受信したコマンドやユーザデータ(書き込みデータ)などを内部バス20に出力する。また、HostI/F21は、不揮発性メモリ13から読み出されたユーザデータ(読み出しデータ)や制御部23からの応答などをホスト14へ送信する。
メモリI/F22は、制御部23の指示に基づいて、ユーザデータ等を不揮発性メモリ13へ書込む処理および不揮発性メモリ13から読み出す処理を制御する。
制御部23は、半導体記憶装置11を統括的に制御する。制御部23は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等である。制御部23は、ホスト14からHostI/F21経由でコマンドを受けた場合に、そのコマンドに従った制御を行う。例えば、制御部23は、ホスト14からのコマンドに従って、不揮発性メモリ13へのユーザデータの書き込みをメモリI/F22へ指示する。制御部23は、ホスト14からのコマンドに従って、不揮発性メモリ13からのユーザデータの読み出しをメモリI/F22へ指示する。
制御部23は、データバッファ27に蓄積されるユーザデータに対して、不揮発性メモリ13のメモリ領域を決定する。ユーザデータは、内部バス20経由でデータバッファ27に格納される。制御部23は、決定したメモリ領域を指定してユーザデータを不揮発性メモリ13へ書き込むようメモリI/F22へ指示する。制御部23は、ホスト14からの読出しコマンドを受信した場合は、読出しコマンドに含まれるアドレスからのユーザデータの読み出しをメモリI/F22へ指示する。
ECC部24には、符号化部25、復号部26、ランダマイズ処理部31およびランダマイズ解除部32が設けられている。ランダマイズ処理部31は、不揮発性メモリ13の同一ページに書込まれる所定サイズのユーザデータをランダマイズし、符号化部25に送る。符号化部25はランダマイズされたユーザデータを符号化する。復号部26は、不揮発性メモリ13の同一ページから読み出された所定サイズのユーザデータを復号化し、ランダマイズ解除部32に送る。ランダマイズ解除部32は、ランダマイズされたユーザデータのランダマイズを解除する。ランダマイズ処理部31は、図2、図5、図8、図9および図9のいずれかの構成を用いることができる。ランダマイズ解除部32はランダマイズ処理部31と同様に構成することができる。
データバッファ27は、ホスト14から受信したユーザデータを不揮発性メモリ13へ記憶するまでに一時的に格納したり、不揮発性メモリ13から読出したデータをホスト14へ送信するまでに一時的に格納する。データバッファ27は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの揮発性メモリを用いることができる。
NANDメモリでは、データの上書きができない。このため、ページ単位でデータの書き込みを行う場合は、そのページを含むブロックのデータを外部に一旦保持してから、そのブロックのデータを消去する。そして、そのブロックに対し、今回のデータの書き込みが行われるとともに、外部に一旦保持されたデータが書き戻される。
この時、例えば、図2の構成では、ブロックの所定領域に新規にデータを書き込む時と、その所定領域にデータを書き戻す時とで、線形帰還シフトレジスタ1の初期値51Aを変化させることができる。このため、NANDメモリの同一セルに同一の値が何度も繰り返し書き込まれるのを防止することができ、NANDメモリの信頼性の低下を抑制することができる。
図12は、図11の不揮発性メモリの概略構成を示すブロック図である。
図12において、メモリセルアレイ41には、メモリセルが3次元的に配置されている。メモリセルアレイ41には、複数のビット線BL、複数のワード線WLおよび複数のセレクトゲート線SGLが設けられている。ビット線BLはメモリセルをロウ方向DE1に選択することができる。セレクトゲート線SGLはメモリセルをカラム方向DE2に選択することができる。ワード線WLのメモリセルのレイヤを選択することができる。メモリセルアレイ41は、e(eは正の整数)個のブロックB1〜Beに分割されている。各ブロックB1〜Beは、NANDセルユニットをロウ方向DE1およびカラム方向DE2に複数配列して構成することができる。NANDセルユニットでは、直列接続されたメモリセルが積層されている。メモリセルアレイ41には、ビット線BLを制御するビット制御回路42、ワード線WLを制御するワード線制御回路46およびセレクトゲート線SGLを制御するセレクトゲート線制御回路49が接続されている。
ビット線制御回路42は、ビット線BLを介してメモリセルアレイ41中のメモリセルのデータを読み出したり、ビット線BLを介してメモリセルアレイ41中のメモリセルの状態を検出したり、ビット線BLを介してメモリセルアレイ41中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。ビット線制御回路42には、カラムデコーダ43、データ入出力バッファ44が接続されている。ビット線制御回路42内のデータ記憶回路はカラムデコーダ43によって選択される。データ記憶回路に読み出されたメモリセルのデータは、データ入出力バッファ44を介してデータ入出力端子45からコントローラ12へ出力される。コントローラ12から供給されたNANDメモリの動作を制御する各種コマンドCMD、アドレスADDおよびデータDTは、データ入出力端子45に入力される。データ入出力端子45に入力された書き込みデータは、データ入出力バッファ44を介して、カラムデコーダ43によって選択されたデータ記憶回路に供給され、コマンドCMDおよびアドレスADDは制御回路47に供給される。
ワード線制御回路46は、メモリセルアレイ41中のワード線WLを選択し、選択されたワード線WLに対し、読み出し、書き込みあるいは消去に必要な電圧を印加する。
セレクトゲート線制御回路49は、メモリセルアレイ41中のセレクトゲート線SGLを選択し、選択されたセレクトゲート線SGLに対し、読み出し、書き込みあるいは消去に必要な電圧を印加する。
メモリセルアレイ41、ビット線制御回路42、カラムデコーダ43、データ入出力バッファ44、ワード線制御回路46およびセレクトゲート線制御回路49は、制御回路47に接続され、この制御回路47によって制御される。制御回路47は、制御信号入力端子48に接続され、外部から制御信号入力端子48を介して入力される制御信号ALE(アドレス・ラッチ・イネーブル)、CLE(コマンド・ラッチ・イネーブル)、WE(ライト・イネーブル)およびRW(リード・イネーブル)によって制御される。
図13は、図12の不揮発性メモリの概略構成例を示す斜視図である。なお、図13では、1つのブロックにおいて、ワード線WLが4層積層され、ビット線BLが8本設けられ、ドレイン側のセレクトゲート線SGDが4本設けられている場合を例にとった。
図13において、不揮発性メモリ13には、セルアレイ領域RMが設けられている。セルアレイ領域RMでは、ワード線WL1〜WL4が積層方向DE3に順次積層されることで3次元構造体が構成されている。そして、柱状体PSがワード線WL1〜WL4を貫通することで、柱状体PSと各ワード線WL1〜WL4との交点部分にメモリセルが形成される。柱状体PSには、データを記憶するメモリ膜を設けることができる。メモリ膜は、例えば、SiNなどのチャージトラップ膜を用いることができる。各柱状体PSは、NANDセルを構成することができる。この時、柱状体PSがロウ方向DE1およびカラム方向DE2に2次元的に配列されることで、メモリセルがセルアレイ領域RMに3次元的に配置される。図13の例では、メモリセルがロウ方向DE1に8個、カラム方向DE2に4個、積層方向DE3に4個だけ配置されている。この時、各ワード線WL1〜WL4は、同一レイヤのメモリセルで共有することができる。セルアレイ領域RM下には、ソース側セレクトゲート線SGSが設けられている。セルアレイ領域RM上には、ドレイン側セレクトゲート線SGD1〜SGD4が設けられている。ドレイン側セレクトゲート線SGD1〜SGD4はロウごとに分離することができる。この時、同一レイヤかつ同一ロウに属するメモリセルでページPGEを構成することができる。図13の例では、1ページに8個のメモリセルが設けられている。
ソース側セレクトゲート線SGS下にはソース層B2が設けられている。ワード線駆動回路B1、ソース側セレクトゲート線駆動回路B3およびドレイン側セレクトゲート線駆動回路B4がソース層B2に並列して配置されている。ワード線駆動回路B1、ソース層B2、ソース側セレクトゲート線駆動回路B3およびドレイン側セレクトゲート線駆動回路B4は半導体基板に形成することができる。
ソース側セレクトゲート線SGS上には、引き出し線W5が形成されている。そして、ソース側セレクトゲート線SGSは、引き出し線W5を介してソース側セレクトゲート線駆動回路B3に接続されている。ドレイン側セレクトゲート線SGD1〜SGD4上には、ビット線BL0〜BL7がカラム方向DE2に形成されている。ビット線BL0〜BL7は、図12のブロックB1〜Beで共有することができる。また、各ドレイン側セレクトゲート線SGD1〜SGD4上には、引き出し線W6〜W9がロウ方向DE1に形成されている。そして、ドレイン側セレクトゲート線SGD1〜SGD4は、引き出し線W6〜W9をそれぞれ介してドレイン側セレクトゲート線駆動回路B4に接続されている。ワード線WL1〜WL4のロウ方向DE1の一端は階段形状を持っている。この時、ワード線WL1〜WL4のロウ方向DE1の一端では、下層のワード線が上層のワード線から露出される。ワード線WL1〜WL4上には、引き出し線W1〜W4がロウ方向DE1に形成されている。各ワード線WL1〜WL4はコンタクトプラグV1〜V4をそれぞれ介して引き出し線W1〜W4に接続されている。引き出し線W1〜W4はワード線駆動回路B1に接続されている。
そして、ワード線WL1〜WL4のうちのいずれか1本と、ドレイン側セレクトゲート線SGD1〜SGD4のうちのいずれか1本を選択することで、1つのページPGEを指定することができる。この指定されたページPGEの書き込み時に、図2の出力データDout[7:0]が図11のランダマイズ処理部31から符号化部25に送られる。そして、符号化部25で符号化された符号化データが図12のデータDTとしてデータ入出力端子45に入力される。このデータDTに従ってビット線BL0〜BL7の電位が制御されることで、指定ページに書き込みが行われる。
ここで、図13の構成では、ワード線WL1とドレイン側セレクトゲート線SGD4とで特定されるページと、ワード線WL2とドレイン側セレクトゲート線SGD1とで特定されるページとは離れている。このため、これらの2つのページについて同一の初期値51Aを線形帰還シフトレジスタ1に設定した時に、これらの2つのページのデータの周期が一致しても、これらの2つのページのメモリセル間で干渉は起こらない。
一方、図13の構成の設計変更がなされ、ドレイン側セレクトゲート線SGD5が追加されたものとする。そして、設計変更前のワード線WL2とドレイン側セレクトゲート線SGD1とで特定されるページが、設計変更後にはワード線WL1とドレイン側セレクトゲート線SGD5とで特定されるページに移されたものとする。この時、ワード線WL1とドレイン側セレクトゲート線SGD4とで特定されるページと、ワード線WL1とドレイン側セレクトゲート線SGD5とで特定されるページとは隣接する。このため、これらの2つのページについて同一の初期値51Aを線形帰還シフトレジスタ1に設定すると、これらの2つのページのデータの周期が一致し、これらの2つのページのメモリセル間で干渉が起こることがある。
ここで、例えば、図5の構成を用いたものとする。この時、メモリセルを分類するパラメータと初期値51Aとの対応関係を可変とすることができる。このため、ワード線WL1とドレイン側セレクトゲート線SGD4とで特定されるページと、ワード線WL1とドレイン側セレクトゲート線SGD5とで特定されるページとで初期値51Aを異ならせることができ、これらの2つのページのメモリセル間で干渉が起き難くすることができる。
なお、上述した実施形態では、NANDメモリとして3次元NANDフラッシュメモリを例にとったが、2次元NANDフラッシュメモリであってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 線形帰還シフトレジスタ、2 レジスタ、3 XOR演算部、4 乱数出力部

Claims (3)

  1. n(nは以上の整数)次の線形帰還シフトレジスタと、
    前記線形帰還シフトレジスタに初期値を設定する初期値設定部と、
    前記線形帰還シフトレジスタに設定される初期値を選択する初期値選択部と、
    前記線形帰還シフトレジスタの帰還ループ上で生成されるm(mは2以上のn−2以下の整数)個のXOR演算結果のうちk(kは2以上m以下の整数)個分をk個の乱数として出力する乱数出力部と
    備え、
    前記初期値選択部は、NANDメモリのメモリセルを分類するパラメータと前記初期値との対応関係に基づいて前記初期値を選択し、
    前記パラメータと前記初期値との対応関係が可変である
    乱数発生回路。
  2. 前記線形帰還シフトレジスタの原始多項式M(X)はM(X)=X32+X26+X23+X22++X16+X12++X11+X10+X8+X7++X5+X4+X2+X+1で表される請求項1に記載の乱数発生回路。
  3. NANDメモリと、
    前記NANDメモリの読み書きを制御するコンローラとを備え、
    前記コンローラは、
    前記NANDメモリに書き込まれるデータをランダマイズする乱数を発生するn(nは2以上の整数)次の線形帰還シフトレジスタと、
    前記線形帰還シフトレジスタに初期値を設定する初期値設定部とを備え、
    前記線形帰還シフトレジスタが発生する乱数の周期Yが前記NANDメモリのブロックサイズSより大きくなるように前記線形帰還シフトレジスタの次数nが選択され
    前記線形帰還シフトレジスタに設定可能な初期値の個数をPとすると、
    前記Pは、Y/P>Sという条件を満たす素数である
    半導体記憶装置。
JP2015237706A 2015-12-04 2015-12-04 乱数発生回路および半導体記憶装置 Active JP6499065B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015237706A JP6499065B2 (ja) 2015-12-04 2015-12-04 乱数発生回路および半導体記憶装置
US15/253,757 US9921772B2 (en) 2015-12-04 2016-08-31 Semiconductor memory device that randomizes data and randomizer thereof
US15/925,617 US10430101B2 (en) 2015-12-04 2018-03-19 Semiconductor memory device that randomizes data and randomizer thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015237706A JP6499065B2 (ja) 2015-12-04 2015-12-04 乱数発生回路および半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2017102844A JP2017102844A (ja) 2017-06-08
JP6499065B2 true JP6499065B2 (ja) 2019-04-10

Family

ID=58798220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015237706A Active JP6499065B2 (ja) 2015-12-04 2015-12-04 乱数発生回路および半導体記憶装置

Country Status (2)

Country Link
US (2) US9921772B2 (ja)
JP (1) JP6499065B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11543977B2 (en) 2020-06-02 2023-01-03 Kioxia Corporation Semiconductor device and semiconductor storage device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6542171B2 (ja) 2016-09-15 2019-07-10 東芝メモリ株式会社 ランダマイザおよび半導体記憶装置
CN110147200A (zh) * 2018-02-13 2019-08-20 矽创电子股份有限公司 闪存的控制器及控制方法
US20190286365A1 (en) * 2018-03-14 2019-09-19 Q-Silicon Technologies Corp. Flash memory controller and method for controlling flash memory
US11055065B2 (en) * 2018-04-18 2021-07-06 Ememory Technology Inc. PUF-based true random number generation system
CN108958666A (zh) * 2018-07-26 2018-12-07 浪潮电子信息产业股份有限公司 一种数据处理方法及主控芯片
JP2021068930A (ja) 2019-10-17 2021-04-30 キオクシア株式会社 半導体集積回路およびコントローラ

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5721799B2 (ja) * 1975-02-01 1982-05-10
US5033048A (en) * 1988-04-01 1991-07-16 Digital Equipment Corporation Memory selftest method and apparatus same
JP2541480B2 (ja) * 1993-10-06 1996-10-09 日本電気株式会社 擬似乱数発生装置
JPH07114498A (ja) * 1993-10-15 1995-05-02 Toshiba Corp マイクロプロセッサ
JPH07134647A (ja) * 1993-11-09 1995-05-23 Matsushita Electric Ind Co Ltd 乱数発生装置
KR100419902B1 (ko) * 2001-06-19 2004-03-04 삼성전자주식회사 선형 피드백 쉬프트 레지스터를 이용한 고속 자체 테스트회로
JP4141775B2 (ja) * 2002-09-20 2008-08-27 株式会社ルネサステクノロジ 半導体集積回路装置
JP2012226822A (ja) 2011-04-15 2012-11-15 Samsung Electronics Co Ltd 不揮発性メモリ装置
JP5813380B2 (ja) * 2011-06-03 2015-11-17 株式会社東芝 半導体記憶装置
JP2013021461A (ja) * 2011-07-08 2013-01-31 Toshiba Corp ランダムデータ生成回路及びこれを備えたメモリシステム
JP2013073664A (ja) 2011-09-29 2013-04-22 Elpida Memory Inc 半導体装置
JP2013137708A (ja) 2011-12-28 2013-07-11 Toshiba Corp メモリコントローラ、データ記憶装置およびメモリ制御方法
JP2014222394A (ja) * 2013-05-13 2014-11-27 株式会社東芝 半導体記憶装置および乱数発生器
JP5786144B2 (ja) * 2013-06-18 2015-09-30 パナソニックIpマネジメント株式会社 乱数発生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11543977B2 (en) 2020-06-02 2023-01-03 Kioxia Corporation Semiconductor device and semiconductor storage device
US11875041B2 (en) 2020-06-02 2024-01-16 Kioxia Corporation Semiconductor device and semiconductor storage device

Also Published As

Publication number Publication date
US20170160939A1 (en) 2017-06-08
US10430101B2 (en) 2019-10-01
US20180210654A1 (en) 2018-07-26
JP2017102844A (ja) 2017-06-08
US9921772B2 (en) 2018-03-20

Similar Documents

Publication Publication Date Title
JP6499065B2 (ja) 乱数発生回路および半導体記憶装置
TWI417885B (zh) 非揮發記憶體中以頁及區塊為基礎之置亂方法
US8743604B2 (en) Nonvolatile memory devices having improved read reliability
US10438684B2 (en) Memory device, memory system, and method of operating the memory system
US11403174B2 (en) Controller and memory system
US7843728B2 (en) Nonvolatile semiconductor storage device
US9576624B2 (en) Multi-dimentional data randomization
CN113535075B (zh) 具有增强的物理安全性的数据加扰器
KR102479483B1 (ko) 메모리 시스템 및 이의 동작 방법
KR20160074836A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11875041B2 (en) Semiconductor device and semiconductor storage device
US9971523B2 (en) Memory controller with data compression and padding features, method of controlling nonvolatile memory and memory system
US20150128010A1 (en) Protection against word line failure in memory devices
US9672105B2 (en) Device and method for processing data using logical information and physical information
JP2009157836A (ja) メモリシステム
KR20150143150A (ko) 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
TWI656529B (zh) 資料儲存裝置及其操作方法
JP2008102693A (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2012216154A (ja) 乱数発生回路及び半導体記憶装置
KR20130042336A (ko) 랜더마이저 회로 및 반도체 장치의 구동방법
KR20210128240A (ko) 컨트롤러 및 이의 동작 방법
CN112148212A (zh) 用于存储器装置的多维伪随机二进制序列分析
CN112435705A (zh) 存储器系统
JP2010165454A (ja) 不揮発性半導体記憶装置及びデータ記憶システム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170605

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180820

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190314

R150 Certificate of patent or registration of utility model

Ref document number: 6499065

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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