JP6709180B2 - メモリシステムおよび制御方法 - Google Patents
メモリシステムおよび制御方法 Download PDFInfo
- Publication number
- JP6709180B2 JP6709180B2 JP2017036932A JP2017036932A JP6709180B2 JP 6709180 B2 JP6709180 B2 JP 6709180B2 JP 2017036932 A JP2017036932 A JP 2017036932A JP 2017036932 A JP2017036932 A JP 2017036932A JP 6709180 B2 JP6709180 B2 JP 6709180B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- nvm
- nvm set
- free
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
Description
まず、図1を参照して、一実施形態に係るメモリシステムを含む情報処理システム1の構成を説明する。
ネームスペース100、101は、一つのNVMサブセット90を共有する。ネームスペース100、101と他のネームスペースとの間のダイコンテンションは生じないが、ネームスペース100、101間のGCコンテンションは生じうる。
ネームスペース102は、一つのNVMサブセット91を専有する。ネームスペース102と他のネームスペースとの間のダイコンテンション、GCコンテンションは生じない。
ネームスペース103は、2つのNVMサブセット92、93を専有する。ネームスペース103とNVMセット62を使用する他のネームスペースとの間のダイコンテンションは生じうるが、ネームスペース103と他のネームスペースとの間のGCコンテンションは生じない。
はじめに、フリーブロックプール80内の1つのフリーブロックがユーザインプットブロック210として割り当てられる。ユーザインプットブロック210とは、ホスト2からのライトデータを書き込むためのブロックのことであり、書き込み先ブロックとも云う。なお、ユーザインプットブロック210がすでに割り当てられていれば、この動作は実行されない。
ホスト2からのライトデータがライトバッファ30からユーザインプットブロック210に書き込まれる。ライトバッファ30にはネームスペース100またはネームスペース101に関連付けられたライトデータが一時的に格納されている。そして、NVMセット60に対応するルックアップテーブルが更新され、これによってライトデータに対応する論理アドレス(LBA)に、このライトデータが書き込まれたユーザインプットブロック210内の物理記憶位置を示す物理アドレスがマッピングされる。
ユーザインプットブロック210がライトデータで満たされると、そのユーザインプットブロック210は、NVMサブセット(データブロックプール)90に移動される。つまり、データで満たされたユーザインプットブロック210はNVMサブセット(データブロックプール)90によって管理される。
NVMセット60においてガベージコレクションの実行が必要になった場合、他のNVMセットとは独立して、NVMサブセット90内のブロック群のためのガベージコレクション動作が実行される。例えば、NVMサブセット90に含まれているブロック数が、NVMサブセット90に対応するある閾値X1よりも多い場合に、ガベージコレクション動作が必要と判断されてもよい。閾値X1は、NVMサブセット90用に割り当て可能なブロックの総数に基づいて決定されてもよい。例えば、NVMサブセット90用に割り当て可能なブロックの総数から所定数を引いた残りの値が、NVMサブセット90に対応するある閾値X1として利用されてもよい。
NVMサブセット90内のブロックの中から有効データと無効データとが混在する一つ以上のブロックがコピー元ブロックとして選択される。その選択されたブロックの有効データのみがGCインプットブロック200にコピーされる。そして、NVMセット60に対応するルックアップテーブルが更新され、これによって、コピーされた有効データに対応する論理アドレス(LBA)に、この有効データがコピーされたGCインプットブロック200内の物理記憶位置を示す物理アドレスがマッピングされる。
GCインプットブロック200が有効データで満たされると、GCインプットブロック200はNVMサブセット90に移動される。つまり、有効データで満たされたGCインプットブロック200はNVMサブセット(データブロックプール)90によって管理される。
NVMサブセット90によって管理されており且つ有効データを保持しないブロックは、NVMサブセット90からフリーブロックプール80に返却される。有効データを保持しないブロックは、ホスト書き込みによってその全てのデータが無効化されたブロック、またはガベージコレクション動作によってその全ての有効データがコピー先ブロックにコピーされたブロックである。
フリーブロックプール81内の1つのフリーブロックがユーザインプットブロック211として割り当てられる。
ホスト2からのライトデータがライトバッファ31からユーザインプットブロック211に書き込まれる。ライトバッファ31にはネームスペース102に関連付けられたライトデータが一時的に格納されている。そして、NVMセット61に対応するルックアップテーブルが更新され、これによってライトデータに対応する論理アドレス(LBA)に、このライトデータが書き込まれたユーザインプットブロック211内の物理記憶位置を示す物理アドレスがマッピングされる。
ユーザインプットブロック211がライトデータで満たされると、そのユーザインプットブロック211は、NVMサブセット(データブロックプール)91に移動される。つまり、データで満たされたユーザインプットブロック211はNVMサブセット(データブロックプール)91によって管理される。
NVMセット61においてガベージコレクションの実行が必要になった場合、他のNVMセットとは独立して、NVMサブセット91内のブロック群のためのガベージコレクション動作が実行される。例えば、NVMサブセット91に含まれているブロック数が、NVMサブセット91に対応するある閾値X1よりも多い場合に、ガベージコレクション動作が必要と判断されてもよい。閾値X1は、NVMサブセット91用に割り当て可能なブロックの総数に基づいて決定されてもよい。例えば、NVMサブセット91用に割り当て可能なブロックの総数から所定数を引いた残りの値が、NVMサブセット91に対応するある閾値X1として利用されてもよい。
NVMサブセット91内のブロックの中から有効データと無効データとが混在する一つ以上のブロックがコピー元ブロックとして選択される。その選択されたブロックの有効データのみがGCインプットブロック201にコピーされる。そして、NVMセット61に対応するルックアップテーブルが更新され、これによって、コピーされた有効データに対応する論理アドレス(LBA)に、この有効データがコピーされたGCインプットブロック201内の物理記憶位置を示す物理アドレスがマッピングされる。
GCインプットブロック201が有効データで満たされると、GCインプットブロック201はNVMサブセット91に移動される。つまり、有効データで満たされたGCインプットブロック201はNVMサブセット(データブロックプール)91によって管理される。
NVMサブセット91によって管理されており且つ有効データを保持しないブロックは、NVMサブセット91からフリーブロックプール81に返却される。有効データを保持しないブロックは、ホスト書き込みによってその全てのデータが無効化されたブロック、またはガベージコレクション動作によってその全ての有効データがコピー先ブロックにコピーされたブロックである。
フリーブロックプール82内の1つのフリーブロックがユーザインプットブロック214として割り当てられる。
ホスト2からのライトデータがライトバッファ34からユーザインプットブロック214に書き込まれる。ライトバッファ34にはネームスペース104または105に関連付けられたライトデータが一時的に格納されている。そして、NVMサブセット94に対応するルックアップテーブルが更新され、これによってライトデータに対応する論理アドレス(LBA)に、このライトデータが書き込まれたユーザインプットブロック214内の物理記憶位置を示す物理アドレスがマッピングされる。
ユーザインプットブロック214がライトデータで満たされると、そのユーザインプットブロック214は、NVMサブセット(データブロックプール)94に移動される。つまり、データで満たされたユーザインプットブロック214はNVMサブセット(データブロックプール)94によって管理される。
NVMサブセット(データブロックプール)94においてガベージコレクションの実行が必要になった場合、他のNVMセットおよびNVMセット62内の他のNVMサブセットとは独立して、NVMサブセット94内のブロック群のためのガベージコレクション動作が実行される。例えば、NVMサブセット94に含まれているブロック数が、NVMサブセット94に対応するある閾値X1よりも多い場合に、ガベージコレクション動作が必要と判断されてもよい。閾値X1は、NVMサブセット94用に割り当て可能なブロックの総数に基づいて決定されてもよい。例えば、NVMサブセット94用に割り当て可能なブロックの総数から所定数を引いた残りの値が、NVMサブセット94に対応するある閾値X1として利用されてもよい。
NVMサブセット94内のブロックの中から有効データと無効データとが混在する一つ以上のブロックがコピー元ブロックとして選択される。その選択されたブロックの有効データのみがGCインプットブロック204にコピーされる。そして、NVMサブセット94に対応するルックアップテーブルが更新され、これによって、コピーされた有効データに対応する論理アドレス(LBA)に、この有効データがコピーされたGCインプットブロック204内の物理記憶位置を示す物理アドレスがマッピングされる。
GCインプットブロック204が有効データで満たされると、GCインプットブロック204はNVMサブセット94に移動される。つまり、有効データで満たされたGCインプットブロック204はNVMサブセット(データブロックプール)94によって管理される。
NVMサブセット94によって管理されており且つ有効データを保持しないブロックは、NVMサブセット94からフリーブロックプール82に返却される。有効データを保持しないブロックは、ホスト書き込みによってその全てのデータが無効化されたブロック、またはガベージコレクション動作によってその全ての有効データがコピー先ブロックにコピーされたブロックである。
図10では、NAND型フラッシュメモリ5内の多数のNAND型フラッシュメモリダイが2つのNVMセット130、131に分類されている場合が例示されている。NVMセット130、131は、図6で説明した分離されたNVMセット110、111にそれぞれ対応する。NVMセット130は、チャンネルCh0にそれぞれ接続されたNAND型フラッシュメモリダイD0〜D7を含み、NVMセット131は、チャンネルCh1にそれぞれ接続されたNAND型フラッシュメモリダイD10〜D17を含む。
コピー先NVMセット(NVMセット61)では、フリーブロックプール81内の1つのフリーブロックがユーザインプットブロック211として割り当てられる。
ホスト2からのライトデータがライトバッファ31からユーザインプットブロック211に書き込まれる。通常、ライトバッファ31には、コピー先NVMセットに対応するネームスペース102に関連付けられたライトデータが格納されるが、NVMセット間コピー動作が開始された後は、コピー元NVMセットに対応するネームスペース100または101に関連付けられたライトデータがライトバッファ31に格納される。そして、NVMサブセット90に対応するルックアップテーブルが更新され、これによってライトデータに対応する論理アドレス(LBA)に、このライトデータが書き込まれたユーザインプットブロック211内の物理記憶位置を示す物理アドレスがマッピングされる。
ユーザインプットブロック211がライトデータで満たされると、そのユーザインプットブロック211は、NVMサブセット(データブロックプール)91に移動される。つまり、データで満たされたユーザインプットブロック211はNVMサブセット(データブロックプール)91によって管理される。
コピー先NVMセット(NVMセット61)において、フリーブロックプール81内の1つのフリーブロックがGCインプットブロック201として割り当てられる。
コピー元NVMセット(NVMセット60)のNVMサブセット90内のブロックから、有効データを保持するブロックがコピー元ブロックとして選択される。そして、このコピー元ブロック内の有効データのみがコピー先NVMセット(NVMセット61)のGCインプットブロック(コピー先ブロック)201にコピーされる。この場合、まず、このコピー元ブロックからコピー対象の有効データが選択される。そして、この選択された有効データがこのコピー元ブロックから読み出され、そしてGCインプットブロック(コピー先ブロック)201に書き込まれる。
コピー先NVMセット(NVMセット61)において、GCインプットブロック201がコピー元NVMセット(NVMセット60)のブロックからの有効データで満たされると、GCインプットブロック201はNVMサブセット91に移動される。つまり、有効データで満たされたGCインプットブロック201はNVMサブセット(データブロックプール)91によって管理される。
コピー先NVMセット(NVMセット61)において、NVMサブセット91によって管理されており且つ有効データを保持しないブロックは、NVMサブセット91からフリーブロックプール81に返却される。例えば、NVMサブセット91内のあるブロックに保持されている全てのデータが、ユーザインプットブロック211への新たなライトデータの書き込みによって無効化されると、このブロックが、NVMサブセット91からフリーブロックプール81に返却される。
コピー元NVMセット(NVMセット60)において、コピー元ブロックの有効データがGCインプットブロック201にコピーされることによってこのコピー元ブロックに有効データが存在しなくなった場合、このコピー元ブロックは、NVMサブセット90からフリーブロックプール80に返却される。
NVMセット間コピー動作が実行される前、NVMサブセット90に対応するLUT40は、コピー元NVMセット(NVMセット60)の物理アドレスのみを保持している。
NVMセット交換動作の実行前において、NVMセット#1(NVMセット60)と、NVMセット#2(NVMセット61)では、ホスト書き込み/ガベージコレクション動作が互いに独立して実行されている。詳しくは、図4で説明した通りである。
(1)ユーザインプットブロックの割り当て
NVMセット#1では、フリーブロックプール80内の1つのブロックがユーザインプットブロック210として割り当てられる。また、NVMセット#2では、フリーブロックプール81内の1つのブロックがユーザインプットブロック211として割り当てられる。
ホスト2からのライトデータがライトバッファ30からユーザインプットブロック210に書き込まれる。通常、ライトバッファ30には、NVMセット#1(NVMセット60)に対応するネームスペース100またはネームスペース101に関連付けられたライトデータが格納されるが、NVMセット交換動作が開始された後は、NVMセット#2(NVMセット61)に対応するネームスペース102に関連付けられたライトデータがライトバッファ30に格納される。そして、NVMセット#2(NVMセット61)に対応するルックアップテーブルが更新され、これによってライトデータに対応する論理アドレス(LBA)に、このライトデータが書き込まれたユーザインプットブロック210内の物理記憶位置を示す物理アドレスがマッピングされる。
ユーザインプットブロック210がライトデータで満たされると、そのユーザインプットブロック210は、NVMサブセット(データブロックプール)90に移動される。つまり、データで満たされたユーザインプットブロック210はNVMサブセット(データブロックプール)90によって管理される。
NVMセット#1(NVMセット60)において、フリーブロックプール80内の1つのフリーブロックがGCインプットブロック200として割り当てられる。
コピー元NVMセット(NVMセット60)のNVMサブセット90内のブロックから、有効データを保持するブロックがコピー元ブロックとして選択される。そして、このコピー元ブロック内の有効データのみが、NVMセット#2(NVMセット61)のGCインプットブロック201にコピーされる。そして、NVMサブセット90に対応するルックアップテーブルが更新され、これによって、コピーされた有効データに対応する論理アドレス(LBA)に、この有効データがコピーされたGCインプットブロック201内の物理記憶位置を示す物理アドレスがマッピングされる。
NVMセット#1(NVMセット60)において、GCインプットブロック200がNVMセット#2(NVMセット61)の1以上のブロックからの有効データで満たされると、GCインプットブロック200はNVMサブセット90に移動される。つまり、有効データで満たされたGCインプットブロック200はNVMサブセット(データブロックプール)90によって管理される。
NVMセット#1(NVMセット60)において、NVMサブセット90によって管理されており且つ有効データを保持しないブロックは、NVMサブセット90からフリーブロックプール80に返却される。例えば、NVMサブセット90内のあるブロックによって保持されている全てのデータが、ユーザインプットブロック210への新たなライトデータの書き込みによって無効化されると、このブロックが、NVMサブセット90からフリーブロックプール80に返却される。
いま、NAND型フラッシュメモリダイ600〜606、610〜616、620〜626、…640〜646を含むNVMセット160が利用されている場合を想定する。このNVMセット160には、フリーブロックプール180が存在する。フリーブロックプール180は、NVMサブセット190BおよびNVMサブセット190Cによって共有されている。さらに、NVMサブセット190Bに対応してライトバッファ130Bが設けられ、NVMサブセット190Cに対応してライトバッファ130Cが設けられている。
元のNVMセット160に対応するフリーブロックプール180内の1つのフリーブロックがNVMサブセット190Bに対応するユーザインプットブロック410として割り当てられる。また、フリーブロックプール180内の1つのフリーブロックがNVMサブセット190Cに対応するユーザインプットブロック411として割り当てられる。なお、ユーザインプットブロック410,411がすでに割り当てられていれば、この動作は実行されない。
ホスト2からのライトデータがライトバッファ130Bからユーザインプットブロック410に書き込まれる。そして、NVMサブセット190Bに対応するルックアップテーブルが更新され、これによってライトデータに対応する論理アドレス(LBA)に、このライトデータが書き込まれたユーザインプットブロック410内の物理記憶位置を示す物理アドレスがマッピングされる。
ユーザインプットブロック410がライトデータで満たされると、そのユーザインプットブロック410は、NVMサブセット(データブロックプール)190Bに移動される。つまり、データで満たされたユーザインプットブロック410はNVMサブセット(データブロックプール)190Bによって管理される。
元のNVMセット(NVMセット160)において、フリーブロックプール180内のフリーブロックから1つのブロックがNVMサブセット190Bに対応するGCインプットブロック400として割り当てられる。また、フリーブロックプール180内のフリーブロックから1つのブロックがNVMサブセット190Cに対応するGCインプットブロック401として割り当てられる。
NVMサブセット190B(またはNVMサブセット190C)内のブロックから、有効データと無効データとが混在する一つ以上のブロックがコピー元ブロックとして選択され、コピー元ブロック内の有効データのみがGCインプットブロック400(またはGCインプットブロック401)にコピーされる。そして、NVMサブセット190B(またはNVMサブセット190C)に対応するルックアップテーブルが更新され、これによって、コピーされた有効データに対応する論理アドレス(LBA)に、この有効データがコピーされたGCインプットブロック400(またはGCインプットブロック401)内の物理記憶位置を示す物理アドレスがマッピングされる。
GCインプットブロック400(またはGCインプットブロック401)が有効データで満たされると、GCインプットブロック400(またはGCインプットブロック401)はNVMサブセット190B(またはNVMサブセット190C)に移動される。つまり、有効データで満たされたGCインプットブロックは対応するNVMサブセット(データブロックプール)によって管理される。
NVMサブセット190B(またはNVMサブセット190C)によって管理されており且つ有効データを保持しないブロックは、フリーブロックに返却される。この場合、新たなNVMセット161に割り当てるべきダイ集合に属さないブロックは、NVMサブセット190B(またはNVMサブセット190C)からフリーブロックプール180に返却される。一方、新たなNVMセット161に割り当てるべきダイ集合に属さないブロックは、NVMサブセット190B(またはNVMサブセット190C)から新NVMセットのフリーブロックプール181に返却される。
図27には、NVMセット#1(NVMセット163)およびNVMセット#2(NVMセット164)をNVMセット#3(NVMセット165)に結合する動作が示されている。
NVMセット結合動作が実行される前において、NVMセット#1〜#3では、互いに独立してライトデータの書き込み動作およびガベージコレクション動作が実行される。
フリーブロックプール183内の1つのフリーブロックがユーザインプットブロック413として割り当てられる。また、フリーブロックプール184内の1つのフリーブロックがユーザインプットブロック414として割り当てられる。さらにフリーブロックプール185内の1つのフリーブロックがユーザインプットブロック415として割り当てられる。なお、ユーザインプットブロック413,414,415がすでに割り当てられていれば、この動作は実行されない。
NVMセット#1(NVMセット163)において、ホスト2からのライトデータがライトバッファ130Aからユーザインプットブロック413に書き込まれる。ライトバッファ130AにはNVMサブセット190Aに対応付けられたライトデータが一時的に格納されている。そして、NVMセット163に対応するルックアップテーブルが更新され、これによってライトデータに対応する論理アドレス(LBA)に、このライトデータが書き込まれたユーザインプットブロック413内の物理記憶位置を示す物理アドレスがマッピングされる。
NVMセット#3において、ユーザインプットブロック415がライトデータで満たされると、そのユーザインプットブロック415は、NVMサブセット(データブロックプール)190Cに移動される。つまり、データで満たされたユーザインプットブロック415はNVMサブセット(データブロックプール)190Cによって管理される。
NVMセット#1内のユーザインプットブロック413がライトデータで満たされると、そのユーザインプットブロック413は、NVMセット#3のNVMサブセット190Cに移動される。つまり、データで満たされたユーザインプットブロック413はNVMサブセット(データブロックプール)190Cによって管理される。
NVMサブセット(データブロックプール)190Aにおいてガベージコレクションの実行が必要になった場合、他のNVMセットとは独立して、NVMサブセット190A内のブロック群のためのガベージコレクション動作が実行される。例えば、NVMサブセット190Aに含まれているブロック数が、NVMサブセット190Aに対応するある閾値X1よりも多い場合に、ガベージコレクション動作が必要と判断されてもよい。閾値X1は、NVMサブセット190A用に割り当て可能なブロックの総数に基づいて決定されてもよい。例えば、NVMサブセット190A用に割り当て可能なブロックの総数から所定数を引いた残りの値が、NVMサブセット190Aに対応するある閾値X1として利用されてもよい。
NVMサブセット190A内のブロックの中から有効データと無効データとが混在する一つ以上のブロックがコピー元ブロックとして選択される。その選択されたブロックの有効データのみがGCインプットブロック403にコピーされる。そして、NVMセット163に対応するルックアップテーブルが更新され、これによって、コピーされた有効データに対応する論理アドレス(LBA)に、この有効データがコピーされたGCインプットブロック403内の物理記憶位置を示す物理アドレスがマッピングされる。
NVMセット#3において、GCインプットブロック405が有効データで満たされると、GCインプットブロック403はNVMサブセット190Cに移動される。つまり、有効データで満たされたGCインプットブロック405はNVMサブセット(データブロックプール)190Cによって管理される。
NVMセット#1内のGCインプットブロック403が有効データで満たされると、GCインプットブロック403はNVMセット#3内のNVMサブセット190Cに移動される。有効データで満たされたユーザインプットブロック403はNVMサブセット(データブロックプール)190Cによって管理される。
NVMセット#3において、NVMサブセット190Cによって管理されており且つ有効データを保持しないブロックは、NVMサブセット190Cからフリーブロックプール185に返却される。有効データを保持しないブロックは、ホスト書き込みによってその全てのデータが無効化されたブロック、またはガベージコレクション動作によってその全ての有効データがコピー先ブロックにコピーされたブロックである。
NVMサブセット190AのブロックがNVMセット#3のNVMサブセット190Cに移動される。つまり、NVMサブセット190AのブロックはNVMサブセット(データブロックプール)190Cによって管理される。
NVMセット#1のフリーブロックプール183内のフリーブロックがNVMセット#3のフリーブロックプール185に移動される。また、NVMセット#2のフリーブロックプール184内のフリーブロックがNVMセット#3のフリーブロックプール185に移動される。
Claims (12)
- ホストに接続可能なメモリシステムであって、
複数のチャンネルに接続された複数の不揮発性メモリダイを含む不揮発性メモリであって、各不揮発性メモリダイが複数のブロックを含む、不揮発性メモリと、
前記複数のチャンネルを介して前記不揮発性メモリを制御するように構成されたコントローラとを具備し、
前記コントローラは、
前記複数の不揮発性メモリダイを、前記複数のチャンネルの第1のチャンネルにそれぞれ接続された複数の第1の不揮発性メモリダイの集合を含む第1のダイグループと、前記複数のチャンネルの第2のチャンネルにそれぞれ接続された複数の第2の不揮発性メモリダイの集合を含む第2のダイグループとに分類し、前記第1のダイグループおよび前記第2のダイグループには、前記ホストによってアクセス対象の領域として指定可能な第1領域および第2領域がそれぞれ関連付けられており、
前記第1のダイグループに対応する前記第1領域を識別するための第1の識別子を指定する前記ホストからの第1のI/Oコマンドに応じて、前記第1のチャンネルを介して前記第1のダイグループに対するデータ書き込み/読み出し動作を実行し、前記第2のダイグループに対応する前記第2領域を識別するための第2の識別子を指定する前記ホストからの第2のI/Oコマンドに応じて、前記第2のチャンネルを介して前記第2のダイグループに対するデータ書き込み/読み出し動作を実行するように構成され、
前記不揮発性メモリは一つ以上のメモリパッケージを備え、各メモリパッケージは、積層された複数の不揮発性メモリダイを備え、前記積層された複数の不揮発性メモリダイは複数の垂直ビアによって相互接続され、少なくとも一つのチャンネルに対応する複数の信号が前記複数の垂直ビアを介して前記積層された複数の不揮発性メモリダイに伝送される、メモリシステム。 - 前記複数の垂直ビアの各々は、前記積層された複数の不揮発性メモリダイそれぞれの半導体基板を貫通する複数の貫通電極と、前記積層された複数の不揮発性メモリダイ間をそれぞれ接続する複数のバンプ電極とを含む請求項1記載のメモリシステム。
- 前記コントローラは、
前記第1のダイグループのフリーブロック群を前記第1のダイグループに対応する第1のフリーブロックプールによって管理し、前記第2のダイグループのフリーブロック群を前記第2のダイグループに対応する第2のフリーブロックプールによって管理し、
前記第1のフリーブロックプール内のフリーブロックの一つを前記第1領域に対応する第1のユーザデータが書き込まれるべきブロックとして割り当て、前記第1のユーザデータを前記割り当てられたブロックに書き込み、前記第1のユーザデータで満たされた前記ブロックを第1のデータブロックプールによって管理し、前記第1のデータブロックプールによって管理され且つ有効データを保持しないブロックを前記第1のフリーブロックプールに返却する、動作を実行し、
前記第2のフリーブロックプール内のフリーブロックの一つを前記第2領域に対応する第2のユーザデータが書き込まれるべきブロックとして割り当て、前記第2のユーザデータを前記割り当てられたブロックに書き込み、前記第2のユーザデータで満たされた前記ブロックを第2のデータブロックプールによって管理し、前記第2のデータブロックプールによって管理され且つ有効データを保持しないブロックを前記第2のフリーブロックプールに返却する、動作を実行するように構成されている請求項1記載のメモリシステム。 - 前記第1のフリーブロックプールは、前記第1のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する第1のデータブロックプールに専用のフリーブロックプールであり、前記第2のフリーブロックプールは、前記第2のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する複数の第2のデータブロックプールによって共有される共有フリーブロックプールである請求項3記載のメモリシステム。
- 前記第1のフリーブロックプールは、前記第1のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する第1のデータブロックプールに専用のフリーブロックプールであり、前記第2のフリーブロックプールは、前記第2のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する第2のデータブロックプールに専用のフリーブロックプールである請求項3記載のメモリシステム。
- 前記コントローラは、
前記第1のデータブロックプール内のブロック群のガベージコレクションにおいては、前記第1のフリーブロックプール内のフリーブロックの一つを第1のコピー先ブロックとして割り当て、前記第1のデータブロックプールに含まれ且つ有効データと無効データとが混在する一つ以上のブロックから有効データのみを前記第1のコピー先ブロックにコピーし、前記第1のコピー先ブロックへの前記有効データのコピーによって無効データのみになった前記一つ以上のブロックを前記第1のフリーブロックプールに返却する、動作を実行し、
前記複数の第2のデータブロックプールの一つの第2のデータブロックプール内のブロック群のガベージコレクションにおいては、前記複数の第2のデータブロックプールによって共有される前記第2のフリーブロックプール内のフリーブロックの一つを第2のコピー先ブロックとして割り当て、前記一つの第2のデータブロックプールに含まれ且つ有効データと無効データとが混在する一つ以上のブロックから有効データのみを前記第2のコピー先ブロックにコピーし、前記第2のコピー先ブロックへの前記有効データのコピーによって無効データのみになった前記一つ以上のブロックを前記第2のフリーブロックプールに返却する、動作を実行するように構成されている請求項5記載のメモリシステム。 - 前記第1のフリーブロックプールは、前記第1のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する第1のデータブロックプールに専用のフリーブロックプールであり、前記第2のフリーブロックプールは、前記第2のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する第2のデータブロックプールに専用のフリーブロックプールである請求項3記載のメモリシステム。
- 前記コントローラは、
前記第1のデータブロックプール内のブロック群のガベージコレクションにおいては、前記第1のフリーブロックプール内のフリーブロックの一つを第1のコピー先ブロックとして割り当て、前記第1のデータブロックプールに含まれ且つ有効データと無効データとが混在する一つ以上のブロックから有効データのみを前記第1のコピー先ブロックにコピーし、前記第1のコピー先ブロックへの前記有効データのコピーによって無効データのみになった前記一つ以上のブロックを前記第1のフリーブロックプールに返却する、動作を実行し、
前記第2のデータブロックプール内のブロック群のガベージコレクションにおいては、前記第2のフリーブロックプール内のフリーブロックの一つを第2のコピー先ブロックとして割り当て、前記第2のデータブロックプールに含まれ且つ有効データと無効データとが混在する一つ以上のブロックから有効データのみを前記第2のコピー先ブロックにコピーし、前記第2のコピー先ブロックへの前記有効データのコピーによって無効データのみになった前記一つ以上のブロックを前記第2のフリーブロックプールに返却する、動作を実行するように構成されている請求項7記載のメモリシステム。 - 前記第1のフリーブロックプールは、前記第1のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する複数の第1のデータブロックプールによって共有される共有フリーブロックプールであり、前記第2のフリーブロックプールは、前記第2のダイグループに属し且つ有効データを保持するブロックそれぞれを管理する複数の第2のデータブロックプールによって共有される共有フリーブロックプールである請求項3記載のメモリシステム。
- 前記コントローラは、
前記複数の第1のデータブロックプールの一つの第1のデータブロックプール内のブロック群のガベージコレクションにおいては、前記複数の第1のデータブロックプールによって共有される前記第1のフリーブロックプール内のフリーブロックの一つを第1のコピー先ブロックとして割り当て、前記一つの第1のデータブロックプールに含まれ且つ有効データと無効データとが混在する一つ以上のブロックから有効データのみを前記第1のコピー先ブロックにコピーし、前記第1のコピー先ブロックへの前記有効データのコピーによって無効データのみになった前記一つ以上のブロックを前記第1のフリーブロックプールに返却する、動作を実行し、
前記複数の第2のデータブロックプールの一つの第2のデータブロックプール内のブロック群のガベージコレクションにおいては、前記複数の第2のデータブロックプールによって共有される前記第2のフリーブロックプール内のフリーブロックの一つを第2のコピー先ブロックとして割り当て、前記一つの第2のデータブロックプールに含まれ且つ有効データと無効データとが混在する一つ以上のブロックから有効データのみを前記第2のコピー先ブロックにコピーし、前記第2のコピー先ブロックへの前記有効データのコピーによって無効データのみになった前記一つ以上のブロックを前記第2のフリーブロックプールに返却する、動作を実行するように構成されている請求項9記載のメモリシステム。 - 複数のチャンネルに接続された複数の不揮発性メモリダイを含む不揮発性メモリを前記複数のチャンネルを介して制御する制御方法であって、各不揮発性メモリダイが複数のブロックを含み、
前記複数の不揮発性メモリダイを、前記複数のチャンネルの第1のチャンネルにそれぞれ接続された複数の第1の不揮発性メモリダイの集合を含む第1のダイグループと、前記複数のチャンネルの第2のチャンネルにそれぞれ接続された複数の第2の不揮発性メモリダイの集合を含む第2のダイグループとに分類することと、前記第1のダイグループおよび前記第2のダイグループには、ホストによってアクセス対象の領域として指定可能な第1領域および第2領域がそれぞれ関連付けられており、
前記第1のダイグループに対応する前記第1領域を識別するための第1の識別子を指定する前記ホストからの第1のI/Oコマンドに応じて、前記第1のチャンネルを介して前記第1のダイグループに対するデータ書き込み/読み出し動作を実行することと、
前記第2のダイグループに対応する前記第2領域を識別するための第2の識別子を指定する前記ホストからの第2のI/Oコマンドに応じて、前記第2のチャンネルを介して前記第2のダイグループに対するデータ書き込み/読み出し動作を実行することとを具備し、
前記不揮発性メモリは一つ以上のメモリパッケージを備え、各メモリパッケージは、積層された複数の不揮発性メモリダイを備え、前記積層された複数の不揮発性メモリダイは複数の垂直ビアによって相互接続され、少なくとも一つのチャンネルに対応する複数の信号が前記複数の垂直ビアを介して前記積層された複数の不揮発性メモリダイに伝送される、制御方法。 - 前記第1のダイグループのフリーブロック群を前記第1のダイグループに対応する第1のフリーブロックプールによって管理し、前記第2のダイグループのフリーブロック群を前記第2のダイグループに対応する第2のフリーブロックプールによって管理することと、
前記第1のフリーブロックプール内のフリーブロックの一つを前記第1領域に対応する第1のユーザデータが書き込まれるべきブロックとして割り当て、前記第1のユーザデータを前記割り当てられたブロックに書き込み、前記第1のユーザデータで満たされた前記ブロックを第1のデータブロックプールによって管理し、前記第1のデータブロックプールによって管理され且つ有効データを保持しないブロックを前記第1のフリーブロックプールに返却する、動作を実行することと、
前記第2のフリーブロックプール内のフリーブロックの一つを前記第2領域に対応する第2のユーザデータが書き込まれるべきブロックとして割り当て、前記第2のユーザデータを前記割り当てられたブロックに書き込み、前記第2のユーザデータで満たされた前記ブロックを第2のデータブロックプールによって管理し、前記第2のデータブロックプールによって管理され且つ有効データを保持しないブロックを前記第2のフリーブロックプールに返却する、動作を実行することとをさらに具備する請求項11記載の制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017036932A JP6709180B2 (ja) | 2017-02-28 | 2017-02-28 | メモリシステムおよび制御方法 |
TW107133459A TW201901453A (zh) | 2017-02-28 | 2017-07-07 | 記憶體系統及控制方法 |
TW106122908A TWI646429B (zh) | 2017-02-28 | 2017-07-07 | Memory system and control method |
CN201710662472.7A CN108509351B (zh) | 2017-02-28 | 2017-08-04 | 存储器系统和控制方法 |
US15/684,826 US10402350B2 (en) | 2017-02-28 | 2017-08-23 | Memory system and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017036932A JP6709180B2 (ja) | 2017-02-28 | 2017-02-28 | メモリシステムおよび制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018142238A JP2018142238A (ja) | 2018-09-13 |
JP6709180B2 true JP6709180B2 (ja) | 2020-06-10 |
Family
ID=63246794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017036932A Active JP6709180B2 (ja) | 2017-02-28 | 2017-02-28 | メモリシステムおよび制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10402350B2 (ja) |
JP (1) | JP6709180B2 (ja) |
CN (1) | CN108509351B (ja) |
TW (2) | TW201901453A (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679787B (zh) | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
CN107391026B (zh) * | 2016-04-27 | 2020-06-02 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
CN107391296B (zh) | 2016-04-27 | 2020-11-06 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
US10019314B2 (en) | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
US10289487B2 (en) | 2016-04-27 | 2019-05-14 | Silicon Motion Inc. | Method for accessing flash memory module and associated flash memory controller and memory device |
JP2019079464A (ja) * | 2017-10-27 | 2019-05-23 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP6982468B2 (ja) | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US20200004448A1 (en) * | 2018-06-28 | 2020-01-02 | Seagate Technology Llc | Data storage system die set mapping |
US10552086B2 (en) * | 2018-06-28 | 2020-02-04 | Seagate Technology Llc | Global pool of garbage collection units (GCUs) in a shared non-volatile memory device |
US10949110B2 (en) * | 2018-06-29 | 2021-03-16 | Seagate Technology Llc | Configurable mapping system in a non-volatile memory |
KR102649213B1 (ko) * | 2018-11-23 | 2024-03-21 | 삼성전자주식회사 | 메모리 칩을 선택하는데 사용되는 인터페이스 칩 그리고 메모리 칩과 인터페이스 칩을 포함하는 스토리지 장치 |
CN109783398B (zh) * | 2019-01-18 | 2020-09-15 | 上海海事大学 | 一种基于相关感知页面级ftl固态硬盘性能优化方法 |
JP7178916B2 (ja) * | 2019-01-29 | 2022-11-28 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11132292B2 (en) * | 2019-12-10 | 2021-09-28 | Micron Technology, Inc. | Active input/output expander of a memory sub-system |
CN111309643B (zh) * | 2020-02-12 | 2021-05-18 | 合肥康芯威存储技术有限公司 | 一种数据存储装置及其控制方法与数据存储装置系统 |
JP2023044330A (ja) * | 2021-09-17 | 2023-03-30 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2023072389A (ja) * | 2021-11-12 | 2023-05-24 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN115145487A (zh) * | 2022-07-01 | 2022-10-04 | 英韧科技(上海)有限公司 | 用于存储器设备的指令传输方法、存储系统 |
TWI852526B (zh) * | 2023-05-03 | 2024-08-11 | 慧榮科技股份有限公司 | 藉助於區塊分類來進行記憶體裝置的垃圾收集管理之方法、記憶體控制器、記憶體裝置以及電子裝置 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4005761B2 (ja) * | 2000-06-09 | 2007-11-14 | 株式会社東芝 | 半導体記憶装置 |
JP2006323739A (ja) * | 2005-05-20 | 2006-11-30 | Renesas Technology Corp | メモリモジュール、メモリシステム、及び情報機器 |
US8586979B2 (en) * | 2008-02-01 | 2013-11-19 | Samsung Electronics Co., Ltd. | Oxide semiconductor transistor and method of manufacturing the same |
US7873619B1 (en) * | 2008-03-31 | 2011-01-18 | Emc Corporation | Managing metadata |
US8325554B2 (en) * | 2008-07-10 | 2012-12-04 | Sanmina-Sci Corporation | Battery-less cache memory module with integrated backup |
CN101727976B (zh) * | 2008-10-15 | 2012-09-19 | 晶天电子(深圳)有限公司 | 一种多层闪存装置、固态硬盘和分割非易失性存储器系统 |
US8972627B2 (en) * | 2009-09-09 | 2015-03-03 | Fusion-Io, Inc. | Apparatus, system, and method for managing operations for data storage media |
US9122579B2 (en) * | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US8285946B2 (en) * | 2009-12-15 | 2012-10-09 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
US8688899B2 (en) * | 2010-09-28 | 2014-04-01 | Fusion-Io, Inc. | Apparatus, system, and method for an interface between a memory controller and a non-volatile memory controller using a command protocol |
KR101784999B1 (ko) * | 2011-04-08 | 2017-11-06 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 행 디코더 |
US20130019057A1 (en) | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
US8806111B2 (en) * | 2011-12-20 | 2014-08-12 | Fusion-Io, Inc. | Apparatus, system, and method for backing data of a non-volatile storage device using a backing store |
US8856431B2 (en) | 2012-08-02 | 2014-10-07 | Lsi Corporation | Mixed granularity higher-level redundancy for non-volatile memory |
US9087846B2 (en) * | 2013-03-13 | 2015-07-21 | Apple Inc. | Systems and methods for high-speed, low-profile memory packages and pinout designs |
US9143369B2 (en) * | 2013-03-15 | 2015-09-22 | Intel Corporation | Adaptive backchannel equalization |
US20150378640A1 (en) * | 2013-06-26 | 2015-12-31 | Cnex Labs, Inc. | Nvm express controller for remote access of memory and i/o over ethernet-type networks |
US9653184B2 (en) * | 2014-06-16 | 2017-05-16 | Sandisk Technologies Llc | Non-volatile memory module with physical-to-physical address remapping |
JP5971423B2 (ja) * | 2014-07-23 | 2016-08-17 | 富士通株式会社 | 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法 |
US9542118B1 (en) * | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
JP6388350B2 (ja) * | 2014-09-17 | 2018-09-12 | 東芝メモリ株式会社 | 半導体装置 |
TWI559314B (zh) * | 2014-12-27 | 2016-11-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US10073627B2 (en) * | 2015-01-13 | 2018-09-11 | Sandisk Technologies Llc | Addressing, interleave, wear leveling, and initialization schemes for different chip enables and memory arrays of different types |
US10229085B2 (en) * | 2015-01-23 | 2019-03-12 | Hewlett Packard Enterprise Development Lp | Fibre channel hardware card port assignment and management method for port names |
JP2016170583A (ja) * | 2015-03-12 | 2016-09-23 | 株式会社東芝 | メモリシステムおよび情報処理システム |
US9811462B2 (en) * | 2015-04-30 | 2017-11-07 | Toshiba Memory Corporation | Memory system executing garbage collection |
US10139884B2 (en) * | 2015-12-23 | 2018-11-27 | Toshiba Memory Corporation | Power loss protection for solid state drives |
KR20170078315A (ko) * | 2015-12-29 | 2017-07-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102664674B1 (ko) * | 2016-06-10 | 2024-05-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US20180032249A1 (en) * | 2016-07-26 | 2018-02-01 | Microsoft Technology Licensing, Llc | Hardware to make remote storage access appear as local in a virtualized environment |
US10228874B2 (en) * | 2016-12-29 | 2019-03-12 | Intel Corporation | Persistent storage device with a virtual function controller |
-
2017
- 2017-02-28 JP JP2017036932A patent/JP6709180B2/ja active Active
- 2017-07-07 TW TW107133459A patent/TW201901453A/zh unknown
- 2017-07-07 TW TW106122908A patent/TWI646429B/zh active
- 2017-08-04 CN CN201710662472.7A patent/CN108509351B/zh active Active
- 2017-08-23 US US15/684,826 patent/US10402350B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10402350B2 (en) | 2019-09-03 |
CN108509351B (zh) | 2022-03-11 |
US20180246821A1 (en) | 2018-08-30 |
TW201833785A (zh) | 2018-09-16 |
TW201901453A (zh) | 2019-01-01 |
CN108509351A (zh) | 2018-09-07 |
TWI646429B (zh) | 2019-01-01 |
JP2018142238A (ja) | 2018-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6709180B2 (ja) | メモリシステムおよび制御方法 | |
JP6765321B2 (ja) | メモリシステムおよび制御方法 | |
JP6765322B2 (ja) | メモリシステムおよび制御方法 | |
TWI674502B (zh) | 記憶體系統及控制方法 | |
CN109144887B (zh) | 存储器系统及控制非易失性存储器的控制方法 | |
JP7342163B2 (ja) | メモリシステム | |
JP7132291B2 (ja) | メモリシステムおよび制御方法 | |
JP7167295B2 (ja) | メモリシステムおよび制御方法 | |
JP2022179798A (ja) | メモリシステムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170531 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190312 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191128 |
|
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: 20200428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200522 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6709180 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |