JP7051546B2 - メモリシステムおよび制御方法 - Google Patents
メモリシステムおよび制御方法 Download PDFInfo
- Publication number
- JP7051546B2 JP7051546B2 JP2018078422A JP2018078422A JP7051546B2 JP 7051546 B2 JP7051546 B2 JP 7051546B2 JP 2018078422 A JP2018078422 A JP 2018078422A JP 2018078422 A JP2018078422 A JP 2018078422A JP 7051546 B2 JP7051546 B2 JP 7051546B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- data
- host
- write data
- shared
- 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
- 230000015654 memory Effects 0.000 title claims description 237
- 238000000034 method Methods 0.000 title claims description 28
- 239000000872 buffer Substances 0.000 claims description 221
- 238000012546 transfer Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 3
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- 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/10—Programming or data input circuits
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
データセンターのサーバにおいても、SSDのようなメモリシステムがストレージデバイスとして使用されている。
まず、図1を参照して、ホストと実施形態に係るメモリシステムとの関係を説明する。
このメモリシステムは、不揮発性メモリにデータを書き込み、不揮発性メモリからデータを読み出すように構成された半導体ストレージデバイスである。このメモリシステムは、NANDフラッシュ技術ベースのフラッシュストレージデバイス3として実現されている。
ホスト(サーバコンピュータ)2と複数のフラッシュストレージデバイス3は、インタフェース50を介して相互接続される(内部相互接続)。この相互接続のためのインタフェース50としては、これに限定されないが、PCI Express(PCIe)(登録商標)、NVM Express(NVMe)(登録商標)、Ethernet(登録商標)、NVMe over Fabrics(NVMeOF)等を使用し得る。
ホスト2がデータセンター内のサーバによって実現されるケースにおいては、このホスト(サーバ)2は、ネットワーク51を介して複数のエンドユーザ端末(クライアント)61に接続されてもよい。ホスト2は、これらエンドユーザ端末61に対して様々なサービスを提供することができる。
フラッシュストレージデバイス3は、NAND型フラッシュメモリのような不揮発性メモリを含む。一つのフラッシュストレージデバイス3は、不揮発性メモリ内の複数のブロックから割り当てられた複数の書き込み先ブロックを管理する。書き込み先ブロックとは、データが書き込まれるべきブロックを意味する。
一方、複数のフラッシュストレージデバイス3、例えば、8台のフラッシュストレージデバイス3がホスト(サーバ)2に接続されており、ホスト2がこれら8台のフラッシュストレージデバイス3に同数のクライアントを均等に割り当てたならば、各フラッシュストレージデバイス3においては、クライアントの総数の1/8の数のブロックが書き込み先ブロックとして割り当てられてもよい。
したがって、同時に利用可能な複数の書き込み先ブロックがフラッシュストレージデバイス3に存在する環境においては、これら書き込み先ブロックの数と同数のライトバッファを用意することが必要となる。換言すれば、クライアントの数と同数のライトバッファを用意することが必要となる。
例えば、3つのワード線を往復するフォギー・ファイン書き込み動作では、複数ページ分の第1のライトデータがNAND型フラッシュメモリに転送され、そして第1のライトデータが最初の物理ページ(最初のワード線に接続された複数のメモリセル)に書き込まれる(フォギー書き込み動作)。次に、複数ページ分の第2のライトデータがNAND型フラッシュメモリに転送され、そして第2のライトデータが次の物理ページ(次のワード線に接続された複数のメモリセル)に書き込まれる(フォギー書き込み動作)。次に、複数ページ分の第3のライトデータがNAND型フラッシュメモリに転送され、そして第3のライトデータがさらに次の物理ページ(さらに次のワード線に接続された複数のメモリセル)に書き込まれる(フォギー書き込み動作)。そして、書き込み対象の物理ページが最初の物理ページ(最初のワード線に接続された複数のメモリセル)に戻され、複数ページ分の上述の第1のライトデータがNAND型フラッシュメモリに再び転送され、そしてこの第1のライトデータが最初の物理ページ(最初のワード線に接続された複数のメモリセル)に書き込まれる(ファイン書き込み動作)。
よって、フラッシュストレージデバイス3が複数のクライアントによって共有されるケースにおいては、クライアント毎に、つまり書き込み先ブロック毎にライトバッファを用意し、且つ各ライトバッファに多数のページ数分のデータを保持することが必要とされる。
このため、本実施形態では、ホスト2のメモリ上の所定の記憶領域が、複数の書き込み先ブロックにそれぞれ対応する複数のライトバッファとして利用される。複数の書き込み先ブロックは複数のクライアントにそれぞれ対応しているので、これら複数のライトバッファはこれら複数のクライアントにそれぞれ対応する。
図2は、ホスト2に設けられる複数のライトバッファ(ホスト側ライトバッファ)とフラッシュストレージデバイス3に設けられる共有ライトバッファ(共有デバイス側ライトバッファ)との関係を示す。
各仮想マシン401においては、対応するクライアント(テナント)によって使用される、オペレーティングシステム402およびユーザアプリケーション403が実行される。
また、キー・バリュー・ストアサービスにおいては、キーそれぞれとこれらキーに対応するデータが格納されているフラッシュストレージデバイス3の物理アドレスそれぞれとの間のマッピングを管理するLUTが使用されてもよい。このLUTにおいては、タグと、このタグによって識別されるデータが格納されている物理アドレスと、このデータのデータ長との対応関係が管理されてもよい。
ここでは、フラッシュストレージデバイス3においては、各書き込み先ブロックへのデータ書き込みが上述のフォギー・ファイン書き込み動作によって実行される場合を想定する。
例えば、ページサイズ=16Kバイト、NAND型フラッシュメモリチップ当たりのプレーン数=2、往復するワード線数=3、メモリセル当たりに書き込まれるビット数=4(QLC)、並列アクセスされるNAND型フラッシュメモリチップの数=32の場合には、各ホスト側ライトバッファ405の容量は、12Mバイト(=16Kバイト×2×3×4×32)となる。ホスト側ライトバッファ405の数はクライアント(テナント)の数と同数であるので、これらホスト側ライトバッファ405の総容量は、12Mバイトとクライアント(テナント)数との積で表される。例えば、クライアント(テナント)の数が1000であるならば、これらホスト側ライトバッファ405の総容量は12Gバイトとなる。
フラッシュストレージデバイス3のコントローラは、フォギー・ファイン書き込み動作によって各書き込み先ブロック602にライトデータを書き込む。
そして、第1のライトデータのファイン書き込み動作を実行すべき時点において、フラッシュストレージデバイス3のコントローラは、共有デバイス側ライトバッファ601に対して第1のライトデータを要求する。共有デバイス側ライトバッファ601に第1のライトデータが存在しているならば(ヒット)、フラッシュストレージデバイス3のコントローラは、この第1のライトデータをファイン書き込み動作用のライトデータ(ファインデータ)として共有デバイス側ライトバッファ601から取得する。そして、フラッシュストレージデバイス3のコントローラは、ファイン書き込み動作によってこの第1のライトデータ(ファインデータ)を書き込み先ブロック#0内の上述の複数の第1のメモリセルに書き込む。
フラッシュストレージデバイス3のコントローラは、例えば、書き込み先ブロック#m-1を指定する一つ以上のライト要求に関連付けられた複数ページ分のライトデータ(第2のライトデータ)をフォギー書き込み動作用のライトデータ(フォギーデータ)として共有デバイス側ライトバッファ601から取得する。そして、フラッシュストレージデバイス3のコントローラは、フォギー書き込み動作によってこの第2のライトデータ(フォギーデータ)を書き込み先ブロック#m-1内の書き込み対象の一つのワード線に接続された複数のメモリセル(複数の第2のメモリセル)に書き込む。
そして、第2のライトデータのファイン書き込み動作を実行すべき時点において、フラッシュストレージデバイス3のコントローラは、共有デバイス側ライトバッファ601に対して第2のライトデータを要求する。本実施形態では、共有デバイス側ライトバッファ601に空き領域がない状態でホスト2から新たなライトデータが受信された場合には、フォギー書き込み動作が終了している共有デバイス側ライトバッファ601内のあるライトデータが破棄され、これによって新たなライトデータを格納するための空き領域が共有デバイス側ライトバッファ601に確保される。新たなライトデータはこの確保された空き領域に格納される。換言すれば、フォギー書き込み動作が終了している共有デバイス側ライトバッファ601内のあるライトデータが共有デバイス側ライトバッファ601から追い出され、このライトデータが格納されていた共有デバイス側ライトバッファ601内の領域の内容がこの新たなライトデータで置き換えられる。
もし上述の第2のライトデータが共有デバイス側ライトバッファ601に存在しない場ならば(ミス)、フラッシュストレージデバイス3のコントローラは、第2のライトデータを取得するための要求(転送要求)をホスト2に送信することによって、ホスト2のホスト側ライトバッファ#m-1から第2のライトデータをファイン書き込み動作用のライトデータ(ファィンデータ)として取得する。この場合、第2のライトデータが、ホスト2のホスト側ライトバッファ#m-1からフラッシュストレージデバイス3に転送される。この転送された第2のライトデータは、共有デバイス側ライトバッファ601に格納されてもよい。
ここで、フォギー・ファイン書き込み動作をサポートするために必要な各ホスト側ライトバッファ405の容量が12Mバイトであり、1000個のクライアント(テナント)に対応する1000個のホスト側ライトバッファ405の総容量が12Gバイトである場合を想定する。共有デバイス側ライトバッファ601の容量(総容量)が3Gバイトに設定されている場合においては、クライアント(テナント)の数が250個以下であれば、同じライトデータをホスト2からフラッシュストレージデバイス3に複数回転送すること無く、フォギー・ファイン書き込み動作のような複数段階の書き込み動作を実行することができる。
ここでは、フラッシュストレージデバイス3内のNAND型フラッシュメモリが、メモリセル当たりに4ビットのデータを格納するQLC-フラッシュである場合を想定する。あるNAND型フラッシュメモリ内の一つの特定の書き込み先ブロックに対するフォギー・ファイン書き込み動作は以下のように実行される。
ここでは、フラッシュストレージデバイス3内のNAND型フラッシュメモリが、メモリセル当たりに4ビットのデータを格納するQLC-フラッシュである場合を想定する。あるNAND型フラッシュメモリ内の一つの特定の書き込み先ブロックに対するフォギー・ファイン書き込み動作は以下のように実行される。
フラッシュストレージデバイス3は、コントローラ4および不揮発性メモリ(NAND型フラッシュメモリ)5を備える。フラッシュストレージデバイス3は、ランダムアクセスメモリ、例えば、DRAM6も備えていてもよい。
次に、図6のコントローラ4の構成について説明する。
コントローラ4は、ホストインタフェース11、CPU12、NANDインタフェース13、およびDRAMインタフェース14等を含む。これらホストインタフェース11、CPU12、NANDインタフェース13、DRAMインタフェース14は、バス10を介して相互接続される。
CPU12は、ホストインタフェース11、NANDインタフェース13、DRAMインタフェース14を制御するように構成されたプロセッサである。CPU12は、フラッシュストレージデバイス3の電源オンに応答してNAND型フラッシュメモリ5または図示しないROMから制御プログラム(ファームウェア)をDRAM6にロードし、そしてこのファームウェアを実行することによって様々な処理を行う。なお、ファームウェアはコントローラ4内の図示しないSRAM上にロードされてもよい。このCPU12は、ホスト2からの様々なコマンドを処理するためのコマンド処理等を実行することができる。CPU12の動作は、CPU12によって実行される上述のファームウェアによって制御される。なお、コマンド処理の一部または全部は、コントローラ4内の専用ハードウェアによって実行してもよい。
ライト制御部21は、複数ページ分のデータをNAND型フラッシュメモリ5に転送することを伴う第1段階の書き込み動作とこのデータをNAND型フラッシュメモリ5に転送することを伴う第2段階の書き込み動作とを少なくとも含む複数段階の書き込み動作によってこのデータをNAND型フラッシュメモリ5の特定の書き込み先ブロック内の同じワード線に接続された複数のメモリセルに書き込むように構成されている。この複数段階の書き込み動作の典型例には、上述したように、フォギー・ファイン書き込み動作がある。
例えば、ライト制御部21は、あるライトデータのファイン書き込み動作が終了した場合、つまりこのライトデータの複数段階の書き込み動作が終了した場合、このライトデータを共有デバイス側ライトバッファ601から破棄する。
DRAMインタフェース14は、CPU12の制御の下、DRAM6を制御するように構成されたDRAM制御回路である。DRAM6の記憶領域の一部は、共有デバイス側ライトバッファ601として使用される。
図9は、ホスト2とフラッシュストレージデバイス3とによって実行されるデータ書き込み処理の例を示す。
ここでは、ある書き込み先ブロックのあるワード線に対するファイン書き込み動作を実行すべきタイミングで、このワード線に接続された複数のメモリセルに書き込むべきライトデータが共有デバイス側ライトバッファ601に存在している場合を想定する。
ここでは、ある書き込み先ブロックのあるワード線に対するファイン書き込み動作を実行すべきタイミングで、このワード線に接続された複数のメモリセルに書き込むべきライトデータが共有デバイス側ライトバッファ601に存在しない場合を想定する。
図11においては、図示の簡単化のために、共有デバイス側ライトバッファ601が、領域101~109を含む場合が例示されている。これら領域101~109の各々は、例えば4ページ分のサイズを有している。また、図11においては、3つのワード線WLを往復しながらフォギー・ファイン書き込み動作が実行される場合を想定する。
図13のフローチャートは、フラッシュストレージデバイス3のコントローラ4によって実行されるデータ書き込み処理の手順を示す。
ステップS103、S104では、コントローラ4は、取得した複数ページ分の第1のライトデータをNAND型フラッシュメモリ5に転送し、フォギー書き込み動作によってこの第1のライトデータをこの書き込み先ブロック内の書き込み対象の一つのワード線に接続された複数の第1のメモリセルに書き込む。
この第1のライトデータが共有デバイス側ライトバッファ601に存在するならば(ステップS106のYES)、ステップS107で、コントローラ4は、第1のライトデータを共有デバイス側ライトバッファ601から取得する。ステップS108、S109で、コントローラ4は、取得した複数ページ分の第1のライトデータをNAND型フラッシュメモリ5に転送し、ファイン書き込み動作によってこの第1のライトデータをこの書き込み先ブロック内の上述の複数の第1のメモリセルに書き込む。そして、ステップS110で、コントローラ4は、第1のライトデータを共有デバイス側ライトバッファ601から破棄する。
ホスト2のI/Oサービス404は、ブロック割り当て要求およびライト要求をフラッシュストレージデバイス3に送出する。
データ書き込み動作は以下の手順で実行される。
(1)’ホスト2がフラッシュストレージデバイス3からデータをリードすることが必要な時、ホスト2は、LUT404Aを参照することによって、リードすべきデータのタグに対応する物理アドレス(ブロックアドレス、ページアドレス)をLUT404Aから取得する。
ブロックアロケートコマンドは、フラッシュストレージデバイス3に書き込み先ブロック(フリーブロック)の割り当てを要求するコマンド(ブロック割り当て要求)である。ホスト2は、ブロックアロケートコマンドをフラッシュストレージデバイス3に送信することによって、書き込み先ブロックを割り当てるようにフラッシュストレージデバイス3に要求し、これによってブロックアドレス(割り当てられた書き込み先ブロックのブロックアドレス)を取得することができる。
ブロックアロケートコマンドをホスト2から受信した時、フラッシュストレージデバイス3は、フリーブロックリストから、ホスト2に割り当てるべきフリーブロックを選択し、選択したフリーブロックを書き込み先ブロックとして割り当て、そしてこの書き込み先ブロックのブロックアドレスを含むレスポンスをホスト2に返す。
ライトコマンドは、フラッシュストレージデバイス3にデータの書き込みを要求するコマンドである。このライトコマンドは、コマンドID、ブロックアドレス、タグ、長さ、等を含んでもよい。
ブロックアドレスは、データが書き込まれるべき書き込み先ブロックを指定する物理アドレスである。
ライトコマンドは、さらに、ライトデータが格納されているホスト側ライトバッファ405内の位置を示す記憶位置情報を含んでいてもよい。
ホスト2からライトコマンドを受信した時、コントローラ4は、ライトコマンドによって指定されたブロックアドレスを有する書き込み先ブロック内の書き込み先位置(書き込み先ページ)を決定する。この書き込み先ページは、ページ書き込み順序の制約およびバッドページ等を考慮して決定される。そして、コントローラ4は、ホスト2からのデータを、この書き込み先ブロック内のこの書き込み先位置(書き込み先ページ)に書き込む。
このレスポンスは、ページアドレス、長さを含む。ページアドレスは、データが書き込まれた、書き込み先ブロック内の物理記憶位置を示す物理アドレスである。この物理アドレスは、ブロック内オフセット(つまりページアドレスとページ内オフセットとの組)によって表されてもよい。長さは、書き込まれたデータの長さを示す。
リードコマンドは、フラッシュストレージデバイス3にデータの読み出しを要求するコマンドである。このリードコマンドは、コマンドID、タグ、ブロックアドレス、ページアドレス、長さを含む。
ブロックアドレスは、リードすべきデータが格納されているブロックを指定する。ページアドレスは、リードすべきデータが格納されているページを指定する。このページアドレスは、リードすべきデータが格納されているブロック内の物理記憶位置を示すブロック内オフセット(つまりページアドレスとページ内オフセットとの組)によって表されてもよい。長さは、リードすべきデータの長さを示す。
これまでの説明では、DRAM6のようなランダムアクセスメモリによって共有デバイス側ライトバッファ601が実現される場合が想定されていた。しかし、メモリセル当たりに1ビットのデータが書き込まれるSLC-ブロックのデータ書き込み速度は、メモリセル当たりに複数ビットのデータが書き込まれるブロックのデータ書き込み速度よりも速いため、共有デバイス側ライトバッファ601は、図20に示すように、メモリセル当たりに1ビットのデータが書き込まれる一つ以上のSLC-ブロックによって実現されてもよい。この場合、各書き込み先ブロックは、メモリセル当たりに複数ビットのデータが書き込まれるブロック、例えば、メモリセル当たりに4ビットのデータが書き込まれるQLC-ブロックによって実現されてもよい。
Claims (15)
- ホストに接続可能なメモリシステムであって、
複数のブロックを含む不揮発性メモリと、
前記不揮発性メモリに電気的に接続されたコントローラであって、少なくとも第1段階の書き込み動作と第2段階の書き込み動作とを含み、前記不揮発性メモリに複数ページ分の同じデータを複数回転送する複数段階の書き込み動作を前記ホストから受信した1つのライト要求に応じて実行するように構成されたコントローラとを具備し、
前記コントローラは、
前記ホストから前記ライト要求を受信する度に、前記複数のブロックから割り当てられた複数の書き込み先ブロックにそれぞれ対応する前記ホストのメモリ上の複数のライトバッファのいずれかに格納されているライトデータを前記ホストから受信し、前記受信したライトデータを前記複数の書き込み先ブロック間で共有される共有ライトバッファに格納し、
前記複数の書き込み先ブロック内の第1の書き込み先ブロックに書き込むべき複数ページ分の第1のライトデータを前記共有ライトバッファから取得し、前記第1段階の書き込み動作によって前記第1のライトデータを前記第1の書き込み先ブロックに書き込み、
前記共有ライトバッファに空き領域がない状態で前記ホストからライトデータを受信した場合、前記第1段階の書き込み動作が終了している前記共有ライトバッファ内のライトデータを破棄して前記空き領域を前記共有ライトバッファに確保し、
前記第1のライトデータの前記第2段階の書き込み動作を実行すべき時点において前記第1のライトデータが前記共有ライトバッファに存在しない場合、前記第1のライトデータを取得するための要求を前記ホストに送信することによって前記ホストから前記第1のライトデータを取得するように構成されている、メモリシステム。 - 前記コントローラは、前記第1のライトデータの前記第2段階の書き込み動作を実行すべき時点において前記第1のライトデータが前記共有ライトバッファに存在する場合、前記第1のライトデータを前記共有ライトバッファから取得し、前記第2段階の書き込み動作によって前記第1のライトデータを前記第1の書き込み先ブロックに書き込むように構成されている請求項1記載のメモリシステム。
- 前記コントローラは、前記第1のライトデータの前記複数段階の書き込み動作が終了した場合、前記第1のライトデータを前記共有ライトバッファから破棄するように構成されている請求項2記載のメモリシステム。
- 前記コントローラは、前記共有ライトバッファに空き領域がない状態で前記ホストからライトデータを受信した場合、前記第1段階の書き込み動作が終了している前記共有ライトバッファ内のライトデータのうちで最も古いライトデータを破棄するように構成されている請求項1記載のメモリシステム。
- 前記受信されるライト要求の各々は書き込み先ブロックを指定するブロックアドレスを含み、前記コントローラは、前記第1の書き込み先ブロックを指定する一つ以上のライト要求に関連付けられた複数ページ分のライトデータを前記第1のライトデータとして前記共有ライトバッファから取得するように構成されている請求項1記載のメモリシステム。
- 前記共有ライトバッファは、前記メモリシステムに含まれるランダムアクセスメモリによって実現される請求項1記載のメモリシステム。
- 前記複数の書き込み先ブロックの各々はメモリセル当たりに複数ビットのデータが書き込まれるブロックによって実現され、前記共有ライトバッファはメモリセル当たりに1ビットのデータが書き込まれる一つ以上のシングルレベルセル-ブロックによって実現される請求項1記載のメモリシステム。
- ホストに接続可能なメモリシステムであって、
複数のブロックを含む不揮発性メモリと、
前記不揮発性メモリに電気的に接続され、前記ホストから受信した1つのライト要求に応じて、複数ページ分のデータを前記不揮発性メモリに転送することを伴う第1段階の書き込み動作と前記データを前記不揮発性メモリに転送することを伴う第2段階の書き込み動作とを少なくとも含む複数段階の書き込み動作によって前記データを前記不揮発性メモリの書き込み先ブロック内の同じワード線に接続された複数のメモリセルに書き込むように構成されたコントローラとを具備し、
前記コントローラは、
前記複数のブロックのいずれか一つを指定するブロックアドレスを含む前記ライト要求を前記ホストから受信する度に、前記複数のブロックから割り当てられた複数の書き込み先ブロックにそれぞれ対応する前記ホストのメモリ上の複数のライトバッファのいずれかに格納されているライトデータを前記ホストから受信し、前記受信したライトデータを前記複数の書き込み先ブロック間で共有される共有ライトバッファに格納し、
前記複数の書き込み先ブロック内の第1の書き込み先ブロックを指定する一つ以上のライト要求に関連付けられた複数ページ分の第1のライトデータを前記共有ライトバッファから取得し、前記第1段階の書き込み動作によって前記第1のライトデータを前記第1の書き込み先ブロック内の書き込み対象の一つのワード線に接続された複数の第1のメモリセルに書き込み、
前記共有ライトバッファに空き領域がない状態で前記ホストからライトデータを受信した場合、前記第1段階の書き込み動作が終了している前記共有ライトバッファ内のライトデータを破棄して前記空き領域を前記共有ライトバッファに確保し、
前記第1のライトデータの前記第2段階の書き込み動作を実行すべき時点において前記第1のライトデータが前記共有ライトバッファに存在する場合には、前記第1のライトデータを前記共有ライトバッファから取得し、前記第2段階の書き込み動作によって前記第1のライトデータを前記第1の書き込み先ブロックの前記複数の第1のメモリセルに書き込み、
前記第1のライトデータの前記第2段階の書き込み動作を実行すべき時点において前記第1のライトデータが前記共有ライトバッファに存在しない場合には、前記第1のライトデータを取得するための要求を前記ホストに送信することによって前記ホストから前記第1のライトデータを取得し、前記第2段階の書き込み動作によって前記第1のライトデータを前記第1の書き込み先ブロックの前記複数の第1のメモリセルに書き込むように構成されている、メモリシステム。 - 前記コントローラは、前記共有ライトバッファに空き領域がない状態で前記ホストからライトデータを受信した場合、前記第1段階の書き込み動作が終了している前記共有ライトバッファ内のライトデータのうちで最も古いライトデータを破棄するように構成されている請求項8記載のメモリシステム。
- 前記コントローラは、前記第1のライトデータの前記複数段階の書き込み動作が終了した場合、前記第1のライトデータを前記共有ライトバッファから破棄するように構成されている請求項8記載のメモリシステム。
- 複数のブロックを含む不揮発性メモリを制御し、少なくとも第1段階の書き込み動作と第2段階の書き込み動作とを含み、不揮発性メモリに複数ページ分の同じデータを複数回転送する複数段階の書き込み動作をホストから受信した1つのライト要求に応じて実行する、コントローラによる制御方法であって、前記コントローラが、
前記ホストから前記ライト要求を受信する度に、前記複数のブロックから割り当てられた複数の書き込み先ブロックにそれぞれ対応する前記ホストのメモリ上の複数のライトバッファのいずれかに格納されているライトデータを前記ホストから受信し、前記受信したライトデータを前記複数の書き込み先ブロック間で共有される共有ライトバッファに格納することと、
前記複数の書き込み先ブロック内の第1の書き込み先ブロックに書き込むべき複数ページ分の第1のライトデータを前記共有ライトバッファから取得し、前記第1段階の書き込み動作によって前記第1のライトデータを前記第1の書き込み先ブロックに書き込むことと、
前記共有ライトバッファに空き領域がない状態で前記ホストからライトデータを受信した場合、前記第1段階の書き込み動作が終了している前記共有ライトバッファ内のライトデータを破棄して前記空き領域を前記共有ライトバッファに確保することと、
前記第1のライトデータの前記第2段階の書き込み動作を実行すべき時点において前記第1のライトデータが前記共有ライトバッファに存在しない場合、前記第1のライトデータを取得するための要求を前記ホストに送信することによって前記ホストから前記第1のライトデータを取得することとを具備する制御方法。 - 前記第1のライトデータの前記第2段階の書き込み動作を実行すべき時点において前記第1のライトデータが前記共有ライトバッファに存在する場合、前記コントローラが、前記第1のライトデータを前記共有ライトバッファから取得し、前記第2段階の書き込み動作によって前記第1のライトデータを前記第1の書き込み先ブロックに書き込むことをさらに具備する請求項11記載の制御方法。
- 前記第1のライトデータの前記複数段階の書き込み動作が終了した場合、前記コントローラが、前記第1のライトデータを前記共有ライトバッファから破棄することをさらに具備する請求項11記載の制御方法。
- 前記破棄されるライトデータは、前記第1段階の書き込み動作が終了している前記共有ライトバッファ内のライトデータのうちで最も古いライトデータである請求項11記載の制御方法。
- 前記受信されるライト要求の各々は書き込み先ブロックを指定するブロックアドレスを含み、
前記第1の書き込み先ブロックを指定する一つ以上のライト要求に関連付けられた複数ページ分のライトデータが前記第1のライトデータとして前記共有ライトバッファから取得される請求項11記載の制御方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018078422A JP7051546B2 (ja) | 2018-04-16 | 2018-04-16 | メモリシステムおよび制御方法 |
US16/126,038 US11003385B2 (en) | 2018-04-16 | 2018-09-10 | Memory system and method for controlling nonvolatile memory in which write data are stored in a shared device side write buffer shared by a plurality of write destination blocks |
TW107143109A TWI703494B (zh) | 2018-04-16 | 2018-11-30 | 記憶體系統及非揮發性記憶體之控制方法 |
CN202310413148.7A CN116414314A (zh) | 2018-04-16 | 2018-12-14 | 存储系统及非易失性存储器的控制方法 |
CN201811532009.1A CN110389718B (zh) | 2018-04-16 | 2018-12-14 | 存储系统及非易失性存储器的控制方法 |
US17/223,094 US11669269B2 (en) | 2018-04-16 | 2021-04-06 | Memory system and method for controlling nonvolatile memory |
US18/122,760 US11868653B2 (en) | 2018-04-16 | 2023-03-17 | Memory system and method for controlling nonvolatile memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018078422A JP7051546B2 (ja) | 2018-04-16 | 2018-04-16 | メモリシステムおよび制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019185596A JP2019185596A (ja) | 2019-10-24 |
JP7051546B2 true JP7051546B2 (ja) | 2022-04-11 |
Family
ID=68161773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018078422A Active JP7051546B2 (ja) | 2018-04-16 | 2018-04-16 | メモリシステムおよび制御方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11003385B2 (ja) |
JP (1) | JP7051546B2 (ja) |
CN (2) | CN110389718B (ja) |
TW (1) | TWI703494B (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190135746A (ko) * | 2018-05-29 | 2019-12-09 | 삼성전자주식회사 | 쓰기 버퍼 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
JP7353934B2 (ja) | 2019-11-19 | 2023-10-02 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7346311B2 (ja) * | 2020-01-16 | 2023-09-19 | キオクシア株式会社 | メモリシステム |
US11137944B1 (en) | 2020-03-13 | 2021-10-05 | Western Digital Technologies, Inc. | Combined QLC programming method |
US11894075B2 (en) | 2020-08-27 | 2024-02-06 | Yangtze Memory Technologies Co. Ltd. | Non-destructive mode cache programming in NAND flash memory devices |
KR102678390B1 (ko) | 2020-08-27 | 2024-06-24 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | Nand 플래시 메모리 디바이스의 비파괴 모드 캐시 프로그래밍 |
TWI756810B (zh) * | 2020-09-02 | 2022-03-01 | 瑞昱半導體股份有限公司 | 晶片與相關的晶片系統 |
JP2022125787A (ja) | 2021-02-17 | 2022-08-29 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7516300B2 (ja) * | 2021-03-17 | 2024-07-16 | キオクシア株式会社 | メモリシステム |
US11507303B2 (en) * | 2021-04-21 | 2022-11-22 | Western Digital Technologies, Inc. | User controlled data-in for lower and middle page in MLC-fine QLC memories |
JP2022171208A (ja) | 2021-04-30 | 2022-11-11 | キオクシア株式会社 | メモリシステムおよび制御方法 |
KR20220169642A (ko) * | 2021-06-21 | 2022-12-28 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
JP2023012773A (ja) | 2021-07-14 | 2023-01-26 | キオクシア株式会社 | メモリシステムおよび制御方法 |
KR20230069642A (ko) * | 2021-11-12 | 2023-05-19 | 에스케이하이닉스 주식회사 | 저장 장치 공유 시스템 및 그 방법 |
JP2023136082A (ja) | 2022-03-16 | 2023-09-29 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN118585141A (zh) * | 2024-08-06 | 2024-09-03 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128660A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | 半導体記憶装置 |
JP2014182832A (ja) | 2013-03-15 | 2014-09-29 | Samsung Electronics Co Ltd | 不揮発性格納装置及びその運営体系イメージプログラム方法 |
JP2017162068A (ja) | 2016-03-08 | 2017-09-14 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867429A (en) * | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
TW463092B (en) * | 1998-03-20 | 2001-11-11 | Accton Technology Corp | Quasi-pushout method with upper layer packet discarding discipline and packet communication system implementing the method |
JP4303803B2 (ja) * | 1998-04-22 | 2009-07-29 | 株式会社東芝 | キャッシュフラッシュ装置 |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
KR101518228B1 (ko) * | 2007-03-07 | 2015-05-08 | 샌디스크 테크놀로지스, 인코포레이티드 | 비휘발성 메모리 및 캐시 페이지 카피를 위한 방법 |
US8144512B2 (en) * | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
US8472280B2 (en) * | 2010-12-21 | 2013-06-25 | Sandisk Technologies Inc. | Alternate page by page programming scheme |
TW201621670A (zh) * | 2014-09-06 | 2016-06-16 | Neo半導體股份有限公司 | 非揮發性記憶體之多頁編程寫入方法與裝置 |
JP6270934B2 (ja) * | 2015-12-14 | 2018-01-31 | 株式会社東芝 | 磁気メモリ |
US20170286114A1 (en) * | 2016-04-02 | 2017-10-05 | Intel Corporation | Processors, methods, and systems to allocate load and store buffers based on instruction type |
JP6967959B2 (ja) * | 2017-12-08 | 2021-11-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7048289B2 (ja) * | 2017-12-08 | 2022-04-05 | キオクシア株式会社 | 情報処理装置および方法 |
JP7353934B2 (ja) * | 2019-11-19 | 2023-10-02 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7366795B2 (ja) * | 2020-02-14 | 2023-10-23 | キオクシア株式会社 | メモリシステムおよび制御方法 |
-
2018
- 2018-04-16 JP JP2018078422A patent/JP7051546B2/ja active Active
- 2018-09-10 US US16/126,038 patent/US11003385B2/en active Active
- 2018-11-30 TW TW107143109A patent/TWI703494B/zh active
- 2018-12-14 CN CN201811532009.1A patent/CN110389718B/zh active Active
- 2018-12-14 CN CN202310413148.7A patent/CN116414314A/zh active Pending
-
2021
- 2021-04-06 US US17/223,094 patent/US11669269B2/en active Active
-
2023
- 2023-03-17 US US18/122,760 patent/US11868653B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128660A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | 半導体記憶装置 |
US20130191705A1 (en) | 2010-12-15 | 2013-07-25 | Kabushiki Kaisha Toshiba | Semiconductor storage device |
JP2014182832A (ja) | 2013-03-15 | 2014-09-29 | Samsung Electronics Co Ltd | 不揮発性格納装置及びその運営体系イメージプログラム方法 |
JP2017162068A (ja) | 2016-03-08 | 2017-09-14 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
US20170262228A1 (en) | 2016-03-08 | 2017-09-14 | Kabushiki Kaisha Toshiba | Storage system, information processing system and method for controlling nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
US11868653B2 (en) | 2024-01-09 |
US20210223986A1 (en) | 2021-07-22 |
JP2019185596A (ja) | 2019-10-24 |
US20190317691A1 (en) | 2019-10-17 |
US11003385B2 (en) | 2021-05-11 |
US20230221886A1 (en) | 2023-07-13 |
TW201944229A (zh) | 2019-11-16 |
CN110389718A (zh) | 2019-10-29 |
TWI703494B (zh) | 2020-09-01 |
CN116414314A (zh) | 2023-07-11 |
US11669269B2 (en) | 2023-06-06 |
CN110389718B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7051546B2 (ja) | メモリシステムおよび制御方法 | |
US20230315342A1 (en) | Memory system and control method | |
CN113138713B (zh) | 存储器系统 | |
US11861218B2 (en) | Memory system and method for controlling nonvolatile memory | |
JP2021114038A (ja) | メモリシステムおよび制御方法 | |
US11726707B2 (en) | System and method of writing to nonvolatile memory using write buffers | |
JP7358594B2 (ja) | メモリシステム | |
JP2021033849A (ja) | メモリシステムおよび制御方法 | |
US20240264776A1 (en) | Memory system and method of controlling nonvolatile memory and for reducing a buffer size | |
JP2021033848A (ja) | メモリシステムおよび制御方法 | |
JP2021033845A (ja) | メモリシステムおよび制御方法 | |
JP7463598B2 (ja) | メモリシステム | |
JP7281585B2 (ja) | メモリシステム | |
US12124735B2 (en) | System and method of writing to nonvolatile memory using write buffers | |
JP2022111330A (ja) | メモリシステムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20210318 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220216 |
|
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: 20220301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220330 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7051546 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |