JP2018142237A - メモリシステムおよび制御方法 - Google Patents
メモリシステムおよび制御方法 Download PDFInfo
- Publication number
- JP2018142237A JP2018142237A JP2017036931A JP2017036931A JP2018142237A JP 2018142237 A JP2018142237 A JP 2018142237A JP 2017036931 A JP2017036931 A JP 2017036931A JP 2017036931 A JP2017036931 A JP 2017036931A JP 2018142237 A JP2018142237 A JP 2018142237A
- Authority
- JP
- Japan
- Prior art keywords
- block
- nvm
- nvm set
- data
- valid data
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/30—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
- H10B41/35—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region with a cell select transistor, e.g. NAND
-
- 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
-
- 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
-
- 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/0614—Improving the reliability of storage systems
-
- 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
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B99/00—Subject matter not provided for in other groups of this subclass
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2236—Copy
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)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Vehicle Body Suspensions (AREA)
- Selective Calling Equipment (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
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 (11)
- ホストに接続可能なメモリシステムであって、
複数のチャンネルに接続された複数の不揮発性メモリダイを含む不揮発性メモリであって、各揮発性メモリダイが複数のブロックを含む、不揮発性メモリと、
前記複数のチャンネルを介して前記不揮発性メモリを制御するように構成されたコントローラとを具備し、
前記コントローラは、
前記複数の不揮発性メモリダイの各々が一つのダイグループにのみ属するように前記複数の不揮発性メモリダイを複数のダイグループに分類し、
各ダイグループに対応する少なくとも一つの領域を含む複数の領域のいずれか一つを指定する前記ホストからのI/Oコマンドに応じて、前記複数のダイグループ内の一つのダイグループに対するデータ書き込み/読み出し動作を実行し、
前記不揮発性メモリのフリーブロック群を、前記複数のダイグループに対応する複数のフリーブロックプールによってダイグループ毎に個別に管理し、
コピー元ダイグループとコピー先ダイグループとを指定するパラメータを含むコマンドを前記ホストから受信した場合、(1)前記コピー元ダイグループに属するブロックから有効データを保持するブロックをコピー元ブロックとして選択し、(2)前記コピー元ブロック内の有効データのみを、前記コピー先ダイグループに対応するフリーブロックプールから割り当てられたコピー先ブロックにコピーし、(3)論理アドレスそれぞれと前記コピー元ダイグループの物理アドレスそれぞれとの間のマッピングを管理するアドレス変換テーブルを更新して、前記コピーされた有効データに対応する論理アドレスに、前記有効データがコピーされた前記コピー先ブロック内の物理記憶位置を示す物理アドレスをマッピングし、(4)前記コピー元ブロックから有効データが無くなった場合、前記コピー元ブロックを、前記コピー元ダイグループに対応するフリーブロックプールに返却し、(5)前記コピー元ダイグループに有効データを保持するブロックが存在しなくなるまで前記(1)〜(4)の動作を繰り返すように構成されている、メモリシステム。 - 前記コピー元ダイグループから前記コピー先ダイグループへ有効データをコピーする動作の実行中に前記ホストから前記コピー元ダイグループに向けたライトデータが受信された場合、前記コントローラは、
前記ライトデータを、前記コピー先ダイグループに対応する前記フリーブロックプールから割り当てられた書き込み先ブロックに書き込み、
前記アドレス変換テーブルを更新して、前記ライトデータに対応する論理アドレスに、前記ライトデータが書き込まれた前記書き込み先ブロック内の物理記憶位置を示す物理アドレスをマッピングするように構成されている請求項1記載のメモリシステム。 - 第1のダイグループから新たなダイグループを作成することを要求するコマンドを前記ホストから受信した場合、前記コントローラは、
前記第1のダイグループに含まれる複数の不揮発性メモリダイから、前記新たなダイグループ用に確保すべき複数の不揮発性メモリダイを決定し、
(6)前記決定された複数の不揮発性メモリダイに属するブロックから有効データを保持するブロックをコピー元ブロックとして選択し、(7)前記コピー元ブロック内の有効データのみを、前記第1のダイグループに対応するフリーブロックプールから割り当てられたコピー先ブロックにコピーし、(8)論理アドレスそれぞれと前記第1のダイグループの物理アドレスそれぞれとの間のマッピングを管理するアドレス変換テーブルを更新して、前記コピーされた有効データに対応する論理アドレスに、前記有効データがコピーされた前記コピー先ブロック内の物理記憶位置を示す物理アドレスをマッピングし、(9)前記コピー元ブロックから有効データが無くなった場合、前記コピー元ブロックを、前記新たなダイグループに対応するフリーブロックプールに返却し、(10)前記決定された複数の不揮発性メモリダイに有効データを保持するブロックが存在しなくなるまで前記(6)〜(9)の動作を繰り返すように構成されている、請求項1記載のメモリシステム。 - 第1のダイグループから新たなダイグループを作成することを要求するコマンドを前記ホストから受信した場合、前記コントローラは、
前記第1のダイグループに含まれる複数の不揮発性メモリダイから、前記新たなダイグループ用に確保すべき複数の不揮発性メモリダイを決定し、
(6)前記第1のダイグループに属するブロックから有効データと無効データとが混在するブロックをコピー元ブロックとして選択し、(7)前記コピー元ブロック内の有効データのみを、前記第1のダイグループに対応するフリーブロックプールから割り当てられたコピー先ブロックにコピーし、(8)論理アドレスそれぞれと前記第1のダイグループの物理アドレスそれぞれとの間のマッピングを管理するアドレス変換テーブルを更新して、前記コピーされた有効データに対応する論理アドレスに、前記有効データがコピーされた前記コピー先ブロック内の物理記憶位置を示す物理アドレスをマッピングし、(9)前記コピー元ブロックから有効データが無くなった場合、前記コピー元ブロックが前記決定された複数の不揮発性メモリダイに属するブロックであるならば、前記コピー元ブロックを、前記新たなダイグループに対応するフリーブロックプールに返却し、前記コピー元ブロックが前記決定された複数の不揮発性メモリダイに属するブロックではないならば、前記コピー元ブロックを、前記第1のダイグループに対応する前記フリーブロックプールに返却し、(10)前記決定された複数の不揮発性メモリダイに有効データを保持するブロックが存在しなくなるまで前記(6)〜(9)の動作を繰り返すように構成されている、請求項1記載のメモリシステム。 - 格納されているデータを交換すべき第1および第2のダイグループを指定するパラメータを含むコマンドを前記ホストから受信した場合、前記コントローラは、
(6)前記第1のダイグループに属するブロックから有効データを保持するブロックを第1のコピー元ブロックとして選択し、(7)前記第1のコピー元ブロック内の有効データのみを、前記第2のダイグループに対応するフリーブロックプールから割り当てられた第1のコピー先ブロックにコピーし、(8)論理アドレスそれぞれと前記第1のダイグループの物理アドレスそれぞれとの間のマッピングを管理する第1のアドレス変換テーブルを更新して、前記コピーされた有効データに対応する論理アドレスに、前記有効データがコピーされた前記第1のコピー先ブロック内の物理記憶位置を示す物理アドレスをマッピングし、(9)前記第1のコピー元ブロックから有効データが無くなった場合、前記第1のコピー元ブロックを、前記第1のダイグループに対応するフリーブロックプールに返却し、(10)前記第1のダイグループに有効データを保持するブロックが存在し無くなるまで前記(6)〜(9)の動作を繰り返し、
(11)前記第2のダイグループに属するブロックから有効データを保持するブロックを第2のコピー元ブロックとして選択し、(12)前記第2のコピー元ブロック内の有効データのみを、前記第1のダイグループに対応する前記フリーブロックプールから割り当てられた第2のコピー先ブロックにコピーし、(13)論理アドレスそれぞれと前記第2のダイグループの物理アドレスそれぞれとの間のマッピングを管理する第2のアドレス変換テーブルを更新して、前記コピーされた有効データに対応する論理アドレスに、前記有効データがコピーされた前記第2のコピー先ブロック内の物理記憶位置を示す物理アドレスをマッピングし、(14)前記第2のコピー元ブロックから有効データが無くなった場合、前記第2のコピー元ブロックを、前記第2のダイグループに対応する前記フリーブロックプールに返却し、(15)前記第2のダイグループに有効データを保持するブロックが存在し無くなるまで前記(11)〜(14)の動作を繰り返すように構成されている請求項1記載のメモリシステム。 - 前記複数のダイグループは、前記複数のチャンネルに跨がる第1のダイグループであって、前記複数のチャンネルにそれぞれ接続された複数の第1の不揮発性メモリダイの集合を含む第1のダイグループと、前記複数のチャンネルに跨がる第2のダイグループであって、前記複数のチャンネルにそれぞれ接続された複数の第2の不揮発性メモリダイの集合を含む第2のダイグループとを含む請求項1記載のメモリシステム。
- 前記複数のダイグループは、前記複数のチャンネルの第1のチャンネルにそれぞれ接続された複数の第1の不揮発性メモリダイの集合を含む第1のダイグループと、前記複数のチャンネルの第2のチャンネルにそれぞれ接続された複数の第2の不揮発性メモリダイの集合を含む第2のダイグループとを含む請求項1記載のメモリシステム。
- 複数のチャンネルに接続された複数の不揮発性メモリダイを含む不揮発性メモリを前記複数のチャンネルを介して制御する制御方法であって、各揮発性メモリダイが複数のブロックを含み、
前記複数の不揮発性メモリダイの各々が一つのダイグループにのみ属するように前記複数の不揮発性メモリダイを複数のダイグループに分類することと、
各ダイグループに対応する少なくとも一つの領域を含む複数の領域のいずれか一つを指定するホストからのI/Oコマンドに応じて、前記複数のダイグループ内の一つのダイグループに対するデータ書き込み/読み出し動作を実行することと、
前記不揮発性メモリのフリーブロック群を、前記複数のダイグループに対応する複数のフリーブロックプールによってダイグループ毎に個別に管理することと、
コピー元ダイグループとコピー先ダイグループとを指定するパラメータを含むコマンドを前記ホストから受信した場合、(1)前記コピー元ダイグループに属するブロックから有効データを保持するブロックをコピー元ブロックとして選択し、(2)前記コピー元ブロック内の有効データのみを、前記コピー先ダイグループに対応するフリーブロックプールから割り当てられたコピー先ブロックにコピーし、(3)論理アドレスそれぞれと前記コピー元ダイグループの物理アドレスそれぞれとの間のマッピングを管理するアドレス変換テーブルを更新して、前記コピーされた有効データに対応する論理アドレスに、前記有効データがコピーされた前記コピー先ブロック内の物理記憶位置を示す物理アドレスをマッピングし、(4)前記コピー元ブロックから有効データが無くなった場合、前記コピー元ブロックを、前記コピー元ダイグループに対応するフリーブロックプールに返却し、(5)前記コピー元ダイグループに有効データを保持するブロックが存在しなくなるまで前記(1)〜(4)の動作を繰り返す、動作を実行する制御方法。 - 前記コピー元ダイグループから前記コピー先ダイグループへ有効データをコピーする動作の実行中に前記ホストから前記コピー元ダイグループに向けたライトデータが受信された場合、前記ライトデータを、前記フリーブロックプールから割り当てられた書き込み先ブロックに書き込み、前記アドレス変換テーブルを更新して、前記ライトデータに対応する論理アドレスに、前記ライトデータが書き込まれた前記書き込み先ブロック内の物理記憶位置を示す物理アドレスをマッピングする、動作を実行することとをさらに具備する請求項8記載の制御方法。
- 前記分類することは、前記複数の不揮発性メモリダイを、前記複数のチャンネルに跨がる第1のダイグループであって、前記複数のチャンネルにそれぞれ接続された複数の第1の不揮発性メモリダイの集合を含む第1のダイグループと、前記複数のチャンネルに跨がる第2のダイグループであって、前記複数のチャンネルにそれぞれ接続された複数の第2の不揮発性メモリダイの集合を含む第2のダイグループとに分類することを含む請求項8記載の制御方法。
- 前記分類することは、前記複数のダイグループを、前記複数のチャンネルの第1のチャンネルにそれぞれ接続された複数の第1の不揮発性メモリダイの集合を含む第1のダイグループと、前記複数のチャンネルの第2のチャンネルにそれぞれ接続された複数の第2の不揮発性メモリダイの集合を含む第2のダイグループとに分類することを含む請求項8記載の制御方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017036931A JP6765322B2 (ja) | 2017-02-28 | 2017-02-28 | メモリシステムおよび制御方法 |
TW107129148A TWI767042B (zh) | 2017-02-28 | 2017-07-07 | 記憶體系統及控制方法 |
TW106122909A TWI643127B (zh) | 2017-02-28 | 2017-07-07 | Memory system and control method |
TW111110910A TWI803257B (zh) | 2017-02-28 | 2017-07-07 | 控制器及控制方法 |
CN201710659261.8A CN108509145B (zh) | 2017-02-28 | 2017-08-04 | 存储***和控制方法 |
CN202110148464.7A CN112965656A (zh) | 2017-02-28 | 2017-08-04 | 存储***和控制方法 |
US15/700,376 US10411024B2 (en) | 2017-02-28 | 2017-09-11 | Memory system and method for controlling nonvolatile memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017036931A JP6765322B2 (ja) | 2017-02-28 | 2017-02-28 | メモリシステムおよび制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020145848A Division JP2020198128A (ja) | 2020-08-31 | 2020-08-31 | メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018142237A true JP2018142237A (ja) | 2018-09-13 |
JP6765322B2 JP6765322B2 (ja) | 2020-10-07 |
Family
ID=63246967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017036931A Active JP6765322B2 (ja) | 2017-02-28 | 2017-02-28 | メモリシステムおよび制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10411024B2 (ja) |
JP (1) | JP6765322B2 (ja) |
CN (2) | CN108509145B (ja) |
TW (3) | TWI767042B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020046963A (ja) * | 2018-09-19 | 2020-03-26 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2022507523A (ja) * | 2018-11-15 | 2022-01-18 | マイクロン テクノロジー,インク. | メモリのためのアドレス難読化 |
JP2022111330A (ja) * | 2018-09-19 | 2022-07-29 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324762A (zh) * | 2018-10-11 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种存储***的构建方法、装置、设备及存储介质 |
CN109902033B (zh) * | 2019-02-13 | 2023-03-14 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
JP6727365B1 (ja) * | 2019-03-27 | 2020-07-22 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN112115067A (zh) * | 2019-06-21 | 2020-12-22 | 慧荣科技股份有限公司 | 闪存物理资源集合管理装置及方法及计算机可读取存储介质 |
US11704056B2 (en) * | 2019-07-26 | 2023-07-18 | Kioxia Corporation | Independent set data lanes for IOD SSD |
CN111273859B (zh) * | 2020-01-14 | 2023-09-15 | 北京百度网讯科技有限公司 | 分发模式下复制组成员的变更方法、装置、设备和介质 |
US11087846B1 (en) * | 2020-02-12 | 2021-08-10 | SK Hynix Inc. | Memory system with single decoder, multiple memory sets and method for decoding multiple codewords from memory sets using the single decoder |
US11561713B2 (en) * | 2021-03-11 | 2023-01-24 | Western Digital Technologies, Inc. | Simplified high capacity die and block management |
TWI830363B (zh) * | 2022-05-19 | 2024-01-21 | 鈺立微電子股份有限公司 | 用於提供三維資訊的感測裝置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009086849A (ja) * | 2007-09-28 | 2009-04-23 | Toshiba Corp | 半導体記憶装置 |
JP2010182266A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US20110145475A1 (en) * | 2009-12-15 | 2011-06-16 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
JP2013137665A (ja) * | 2011-12-28 | 2013-07-11 | Toshiba Corp | 半導体記憶装置、半導体記憶装置の制御方法、およびメモリコントローラ |
US20140185376A1 (en) * | 2012-12-31 | 2014-07-03 | Alan Welsh Sinclair | Method and system for asynchronous die operations in a non-volatile memory |
WO2015008358A1 (ja) * | 2013-07-18 | 2015-01-22 | 株式会社日立製作所 | 情報処理装置 |
JP2015222590A (ja) * | 2015-07-24 | 2015-12-10 | 株式会社東芝 | メモリシステム |
WO2016013076A1 (ja) * | 2014-07-23 | 2016-01-28 | 富士通株式会社 | 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法 |
JP2016525240A (ja) * | 2013-07-16 | 2016-08-22 | インテル・コーポレーション | メモリシステムにおける消去管理 |
US20170046256A1 (en) * | 2015-08-11 | 2017-02-16 | Ocz Storage Solutions, Inc. | Pool level garbage collection and wear leveling of solid state devices |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4683218B2 (ja) * | 2004-01-27 | 2011-05-18 | 日本電気株式会社 | 高速再起動方法および情報処理装置ならびにプログラム |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
JP2010055210A (ja) * | 2008-08-26 | 2010-03-11 | Hitachi Ltd | ストレージシステム及びデータ保証方法 |
US8769190B1 (en) * | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US8626989B2 (en) * | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
US20130019057A1 (en) | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
WO2013046463A1 (ja) * | 2011-09-30 | 2013-04-04 | 株式会社日立製作所 | 不揮発半導体記憶システム |
US9208070B2 (en) * | 2011-12-20 | 2015-12-08 | Sandisk Technologies Inc. | Wear leveling of multiple memory devices |
WO2013136362A1 (en) * | 2012-03-13 | 2013-09-19 | Hitachi, Ltd. | Storage system having nonvolatile semiconductor storage device with nonvolatile semiconductor memory |
KR101989850B1 (ko) * | 2012-04-03 | 2019-06-18 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법 |
CN103996412A (zh) * | 2013-02-19 | 2014-08-20 | 北京同方微电子有限公司 | 一种用于智能卡非易失性存储器的掉电保护方法 |
US9477295B2 (en) * | 2014-05-15 | 2016-10-25 | Dell Products, L.P. | Non-volatile memory express (NVMe) device power management |
US9959203B2 (en) * | 2014-06-23 | 2018-05-01 | Google Llc | Managing storage devices |
CN104063186B (zh) * | 2014-06-30 | 2016-04-06 | 成都万维图新信息技术有限公司 | 一种电子设备的数据访问方法 |
KR20160004073A (ko) * | 2014-07-02 | 2016-01-12 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 구동 방법 |
KR20160005264A (ko) * | 2014-07-04 | 2016-01-14 | 삼성전자주식회사 | 저장 장치 및 그것의 읽기 방법들 |
US20160041762A1 (en) | 2014-08-08 | 2016-02-11 | Kabushiki Kaisha Toshiba | Memory system, host device and information processing system |
TW201606778A (zh) * | 2014-08-08 | 2016-02-16 | Toshiba Kk | 記憶體系統、主機裝置、資訊處理系統 |
US9582201B2 (en) * | 2014-09-26 | 2017-02-28 | Western Digital Technologies, Inc. | Multi-tier scheme for logical storage management |
US9678677B2 (en) * | 2014-12-09 | 2017-06-13 | Intel Corporation | Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device |
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 |
KR102301772B1 (ko) * | 2015-03-09 | 2021-09-16 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법 |
-
2017
- 2017-02-28 JP JP2017036931A patent/JP6765322B2/ja active Active
- 2017-07-07 TW TW107129148A patent/TWI767042B/zh active
- 2017-07-07 TW TW111110910A patent/TWI803257B/zh active
- 2017-07-07 TW TW106122909A patent/TWI643127B/zh active
- 2017-08-04 CN CN201710659261.8A patent/CN108509145B/zh active Active
- 2017-08-04 CN CN202110148464.7A patent/CN112965656A/zh active Pending
- 2017-09-11 US US15/700,376 patent/US10411024B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009086849A (ja) * | 2007-09-28 | 2009-04-23 | Toshiba Corp | 半導体記憶装置 |
JP2010182266A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US20110145475A1 (en) * | 2009-12-15 | 2011-06-16 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
JP2013513881A (ja) * | 2009-12-15 | 2013-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | フラッシュ型メモリ・システムにおけるアクセス競合の低減方法、プログラム及びシステム |
JP2013137665A (ja) * | 2011-12-28 | 2013-07-11 | Toshiba Corp | 半導体記憶装置、半導体記憶装置の制御方法、およびメモリコントローラ |
US20140185376A1 (en) * | 2012-12-31 | 2014-07-03 | Alan Welsh Sinclair | Method and system for asynchronous die operations in a non-volatile memory |
JP2016525240A (ja) * | 2013-07-16 | 2016-08-22 | インテル・コーポレーション | メモリシステムにおける消去管理 |
WO2015008358A1 (ja) * | 2013-07-18 | 2015-01-22 | 株式会社日立製作所 | 情報処理装置 |
WO2016013076A1 (ja) * | 2014-07-23 | 2016-01-28 | 富士通株式会社 | 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法 |
JP2015222590A (ja) * | 2015-07-24 | 2015-12-10 | 株式会社東芝 | メモリシステム |
US20170046256A1 (en) * | 2015-08-11 | 2017-02-16 | Ocz Storage Solutions, Inc. | Pool level garbage collection and wear leveling of solid state devices |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020046963A (ja) * | 2018-09-19 | 2020-03-26 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7091203B2 (ja) | 2018-09-19 | 2022-06-27 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2022111330A (ja) * | 2018-09-19 | 2022-07-29 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7337228B2 (ja) | 2018-09-19 | 2023-09-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7508667B2 (ja) | 2018-09-19 | 2024-07-01 | キオクシア株式会社 | メモリシステム |
JP2022507523A (ja) * | 2018-11-15 | 2022-01-18 | マイクロン テクノロジー,インク. | メモリのためのアドレス難読化 |
US11853230B2 (en) | 2018-11-15 | 2023-12-26 | Micron Technology, Inc. | Address obfuscation for memory |
Also Published As
Publication number | Publication date |
---|---|
TW202230123A (zh) | 2022-08-01 |
CN108509145B (zh) | 2021-02-26 |
TWI767042B (zh) | 2022-06-11 |
TW201843585A (zh) | 2018-12-16 |
TWI643127B (zh) | 2018-12-01 |
CN108509145A (zh) | 2018-09-07 |
TW201833765A (zh) | 2018-09-16 |
US10411024B2 (en) | 2019-09-10 |
JP6765322B2 (ja) | 2020-10-07 |
US20180247948A1 (en) | 2018-08-30 |
TWI803257B (zh) | 2023-05-21 |
CN112965656A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6765321B2 (ja) | メモリシステムおよび制御方法 | |
JP6709180B2 (ja) | メモリシステムおよび制御方法 | |
JP6765322B2 (ja) | メモリシステムおよび制御方法 | |
US10564872B2 (en) | System and method for dynamic allocation to a host of memory device controller memory resources | |
TWI674502B (zh) | 記憶體系統及控制方法 | |
CN108228092B (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: 20191127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200218 |
|
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: 20200818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200915 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6765322 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |