JP2023514307A - 順次的にプログラムするメモリサブシステムにおける順次読み出し最適化 - Google Patents
順次的にプログラムするメモリサブシステムにおける順次読み出し最適化 Download PDFInfo
- Publication number
- JP2023514307A JP2023514307A JP2022549407A JP2022549407A JP2023514307A JP 2023514307 A JP2023514307 A JP 2023514307A JP 2022549407 A JP2022549407 A JP 2022549407A JP 2022549407 A JP2022549407 A JP 2022549407A JP 2023514307 A JP2023514307 A JP 2023514307A
- Authority
- JP
- Japan
- Prior art keywords
- command
- physical address
- data
- memory
- lba
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 240
- 238000005457 optimization Methods 0.000 title description 14
- 239000000872 buffer Substances 0.000 claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000012005 ligant binding assay Methods 0.000 claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 41
- 238000013507 mapping Methods 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 239000003795 chemical substances by application Substances 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 15
- 238000013519 translation Methods 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004242 micellar liquid chromatography Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000004809 thin layer chromatography Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/7207—Details relating to flash memory management management of metadata or control data
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Read Only Memory (AREA)
Abstract
Description
そのようなバッファ管理アルゴリズム(例えば、バッファ割り振りおよび使用状況を追跡するための)により使用され得るメタデータは、LTU/LBA(それに関してデータがソートされる)、どのバッファスロットにおいてデータが所在するかを指示するバッファアドレス(または、インデックス付けのために使用される他のバッファ識別子)、および、別個の読み出しまたは書き込みパスにおける複数個のユーザ(例えば、ホストアプリケーション)が一緒に追跡されることを可能とするバッファ使用状況カウントを含む。この手立てにおいて、バッファマネージャ113は、表1において例解されるように、割り振られるバッファが順次的に番号付けされないことがあるが、コマンドの任意のセットが、順次的に格納されるデータに書き込むこと、または、そのデータから読み出すことのいずれかであり得る、複数個のゾーンに書き込む、および、それらのゾーンから読み出す、複数個のアプリケーションを管理し得る。バッファにおけるデータが追跡されるならば、ハードウェアアクセラレーションが、バッファにおけるデータの追跡および管理を手助けするために使用され得る。
Claims (20)
- メモリデバイスと、
バッファを含む揮発性メモリと、
前記メモリデバイスおよび前記揮発性メモリに結合される処理デバイスであって、前記処理デバイスのコマンド生成プロセッサは、
ホストシステムから、前記メモリデバイスに対する論理ブロックアドレス(LBA)アドレス空間の第1のLBAを含む読み出し要求を受信することと、
前記第1のLBAを含むように第1の論理転送ユニット(LTU)を創出することであって、前記第1のLTUは、前記メモリデバイスの第1の物理アドレスにマッピングされることになる、創出することと、
前記揮発性メモリから、前記第1のLTUが前記LBAアドレス空間のゾーンと関連付けられるということを決定するためのフラグを読み出すことであって、前記ゾーンは、複数の順次物理アドレスに順次的にマッピングされる複数の順次LBAを含む、読み出すことと、
前記メモリデバイスからデータを取得し、前記バッファのセットにおいて前記データを格納するように、前記処理デバイスのコマンド実行プロセッサに指図するためのものである、コマンドタグのセットを生成することであって、コマンドタグの前記セットは、前記第1の物理アドレスと関連付けられる第1のコマンドタグと、順次的に前記第1の物理アドレスの後に続く第2の物理アドレスと関連付けられる第2のコマンドタグとを含む、生成することと
を行うことになる、処理デバイスと
を含むシステム。 - コマンドタグの前記セットの各コマンドタグは、
前記メモリデバイスの物理アドレス空間の物理アドレスにマッピングされるLTUを識別するLTU番号と、
前記バッファの前記セットの中の位置のバッファアドレスと
を含む、請求項1に記載のシステム。 - コマンドタグの前記セットは、前記第2の物理アドレスの後に続いて順次的に番号付けされる後続の物理アドレスと関連付けられる追加的なコマンドタグをさらに含み、各後続の物理アドレスは、前記第1の物理アドレスから読み出し窓サイズの端部に達するまで、ページ数によりインクリメントされる、請求項1に記載のシステム。
- 前記処理デバイスの前記コマンド生成プロセッサは、さらに、
前記揮発性メモリから、前記第1の物理アドレスを取得することと、
前記ホストシステムに、前記第1の物理アドレスから取得される、および、前記バッファの前記セットの第1のバッファにおいて格納される、前記データの第1のサブセットを返すことと
を行うことになる、請求項1に記載のシステム。 - 第2の読み出し要求に応じて、前記コマンド生成プロセッサは、
前記第2の読み出し要求の第2のLBAが、前記第2の物理アドレスに対応するということを決定することと、
前記バッファの前記セットの第2のバッファから前記データの第2のサブセットを取得することであって、前記第2のバッファは、前記第2のコマンドタグと関連付けられるバッファアドレスを有する、取得することと、
前記ホストシステムに前記データの前記第2のサブセットを送信することと
を行うことになる、請求項4に記載のシステム。 - 前記処理デバイスの変換プロセッサは、前記データが前記メモリデバイスに順次的に書き込まれることに基づいて、前記揮発性メモリにおいて前記フラグをセットすることになる、請求項1に記載のシステム。
- 前記コマンド生成プロセッサは、さらに、前記処理デバイスの前記コマンド実行プロセッサに、コマンドタグの前記セットのうちの1つのコマンドタグをそれぞれ含むコマンドのグループを送信することになり、コマンドタグの前記セットの受信に応じて、前記コマンド実行プロセッサは、前記メモリデバイスから前記データを取得し、コマンドタグの前記セットのそれぞれのバッファアドレスによって、前記バッファの前記セットにおいて前記データを格納することになる、請求項1に記載のシステム。
- 前記コマンド生成プロセッサは、さらに、
コマンドタグの前記セットをコマンドチェーンへと相互連結することと、
前記コマンド実行プロセッサに、単一のコマンドメッセージにおいて前記コマンドチェーンを送信することと
を行うことになる、請求項1に記載のシステム。 - 前記コマンド生成プロセッサは、さらに、
前記バッファがLTU番号によりソートされるニサン木アルゴリズム、または、
ハッシュアルゴリズムを用いるNウェイキャッシュ
のうちの1つを使用して、前記揮発性メモリの中の前記バッファを、割り振り、追跡することになる、請求項1に記載のシステム。 - 処理デバイスのコマンド生成プロセッサにより、メモリデバイスに対する論理ブロックアドレス(LBA)アドレス空間の第1のLBAを含む読み出し要求を受信することと、
前記コマンド生成プロセッサにより、前記第1のLBAを含むように第1の転送ユニット(LTU)を創出することであって、前記第1のLTUは、前記メモリデバイスの第1の物理アドレスにマッピングされることになる、創出することと、
前記コマンド生成プロセッサにより、揮発性メモリから、前記第1のLTUが前記LBAアドレス空間のゾーンと関連付けられるということを決定するためのビットマップのビット値を読み出すことであって、前記ゾーンは、複数の順次物理アドレスに順次的にマッピングされる複数の順次LBAを含む、読み出すことと、
前記コマンド生成プロセッサにより、前記揮発性メモリにおいてバッファのセットを割り振ることであって、バッファの前記セットの容量は、前記第1の物理アドレスにおいて、および、前記第1の物理アドレスにおいて開始する読み出し窓サイズの中で順次的に番号付けされる後続の物理アドレスにおいて格納されるデータの量にマッチングする、割り振ることと、
前記コマンド生成プロセッサにより、前記メモリデバイスから前記データを取得し、バッファの前記セットにおいて前記データを格納するように、前記処理デバイスのコマンド実行プロセッサに指図するためのものである、コマンドタグのセットを生成することであって、コマンドタグの前記セットは、少なくとも、前記第1の物理アドレスと関連付けられる第1のコマンドタグと、順次的に前記第1の物理アドレスの後に続く、前記後続の物理アドレスのうちの第2の物理アドレスと関連付けられる第2のコマンドタグとを含む、生成することと
を含む方法。 - 前記コマンド生成プロセッサにより、
前記揮発性メモリから、前記第1の物理アドレスを取得することと、
前記第1の物理アドレスと関連付けられるダイ利用可能フラグがセットされているということを決定することと、
要求エージェントに、前記第1の物理アドレスから取得される、および、バッファの前記セットの第1のバッファにおいてキャッシュされる、前記データの第1のサブセットを返すことと
をさらに含む、請求項10に記載の方法。 - 第2の読み出し要求を受信することと、
前記第2の読み出し要求の第2のLBAが、前記第1の物理アドレスから前記読み出し窓サイズの中の前記第2の物理アドレスに対応するということを決定することと、
バッファの前記セットの第2のバッファから前記データの第2のサブセットを取得することであって、前記第2のバッファは、前記第2のコマンドタグと関連付けられるバッファアドレスを有する、取得することと、
前記要求エージェントに前記データの前記第2のサブセットを送信することと
をさらに含む、請求項11に記載の方法。 - 各バッファに対するフラグまたはカウンタのうちの1つの使用によって、バッファの前記セットの使用状況を追跡することをさらに含み、前記追跡することは、複数個のゾーンに対応する複数個のホストアプリケーションによる、バッファの前記セットの使用を可能にする、請求項10に記載の方法。
- コマンドタグの前記セットは、前記第2のコマンドタグを含むように、前記後続の物理アドレスと関連付けられる追加的なコマンドタグをさらに含み、前記方法は、前記第1の物理アドレスから前記読み出し窓サイズの端部に達するまで、ページ数により前記第1の物理アドレスをインクリメントすることにより、前記後続の物理アドレスを決定することをさらに含む、請求項10に記載の方法。
- コマンドタグの前記セットを生成することは、前記揮発性メモリのコマンドバッファの中で、
前記第1のLTUの第1のLTU番号と、バッファの前記セットの第1のバッファアドレスとを伴う前記第1のコマンドタグ、および、
第2のLBAに対応する、第2のLTUの第2のLTU番号と、バッファの前記セットの第2のバッファアドレスとを伴う前記第2のコマンドタグ
を更新することをさらに含む、請求項10に記載の方法。 - 前記処理デバイスの変換プロセッサにより、
前記第1のLBAが前記ゾーンと関連付けられるということを決定することと、
前記データが前記メモリデバイスに順次的に書き込まれることに基づいて、前記揮発性メモリにおいて、前記第1の物理アドレスと関連付けられる前記ビット値をセットすることと
をさらに含む、請求項10に記載の方法。 - コマンドタグの前記セットは、前記第2のコマンドタグを含むように、前記後続の物理アドレスと関連付けられる追加的なコマンドタグをさらに含み、前記方法は、
前記コマンド生成プロセッサにより、前記コマンド実行プロセッサに、コマンドタグの前記セットをそれぞれ含むコマンドのグループを送信することと、
前記コマンド実行プロセッサにより、前記メモリデバイスの、前記第1の物理アドレスから、および、前記後続の物理アドレスから前記データを取得することと、
コマンドタグの前記セットのそれぞれのバッファアドレスによって、バッファの前記セットにおいて前記データを格納することと
をさらに含む、請求項10に記載の方法。 - コマンドタグの前記セットをコマンドチェーンへと相互連結することと、
前記コマンド実行プロセッサに、単一のコマンドメッセージにおいて前記コマンドチェーンを送信することと
をさらに含む、請求項10に記載の方法。 - バッファの前記セットがLTUによりソートされるニサン木アルゴリズム、または、
ハッシュアルゴリズムを用いるNウェイキャッシュ
のうちの1つによって、前記揮発性メモリの中のバッファの前記セットの割り振りを追跡することをさらに含む、請求項10に記載の方法。 - サブシステムメモリコントローラの処理デバイスのコマンド生成プロセッサにより実行されるときに、
メモリデバイスに対する論理ブロックアドレス(LBA)アドレス空間の第1のLBAを含む読み出し要求を受信することと、
前記コマンド生成プロセッサにより、前記第1のLBAを含むように第1の論理転送ユニット(LTU)を創出することであって、前記第1のLTUは、前記メモリデバイスの第1の物理アドレスにマッピングされることになる、創出することと、
揮発性メモリから、前記第1のLTUが前記LBAアドレス空間のゾーンと関連付けられるということを決定するためのフラグを読み出すことであって、前記ゾーンは、複数の順次物理アドレスに順次的にマッピングされる複数の順次LBAを含む、読み出すことと、
前記揮発性メモリにおいてバッファのセットを割り振ることであって、バッファの前記セットの容量は、前記第1の物理アドレスにおいて、および、前記第1の物理アドレスにおいて開始する読み出し窓サイズの中で順次的に番号付けされる後続の物理アドレスにおいて格納されるデータの量にマッチングする、割り振ることと、
前記メモリデバイスから前記データを取得し、バッファの前記セットにおいて前記データを格納するように、前記処理デバイスのコマンド実行プロセッサに指図するためのものである、コマンドタグのセットを生成することであって、コマンドタグの前記セットは、少なくとも、前記第1の物理アドレスと関連付けられる第1のコマンドタグと、順次的に前記第1の物理アドレスの後に続く、前記後続の物理アドレスのうちの第2の物理アドレスと関連付けられる第2のコマンドタグとを含む、生成することと
を含む複数の動作を遂行することを前記処理デバイスに行わせる命令を格納する非一時的コンピュータ可読メディア。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/794,016 US11216364B2 (en) | 2020-02-18 | 2020-02-18 | Sequential read optimization in a memory sub-system that programs sequentially |
US16/794,016 | 2020-02-18 | ||
PCT/US2021/018429 WO2021168020A1 (en) | 2020-02-18 | 2021-02-17 | Sequential read optimization in a memory sub-system that programs sequentially |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023514307A true JP2023514307A (ja) | 2023-04-05 |
JP7375215B2 JP7375215B2 (ja) | 2023-11-07 |
Family
ID=77272691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022549407A Active JP7375215B2 (ja) | 2020-02-18 | 2021-02-17 | 順次的にプログラムするメモリサブシステムにおける順次読み出し最適化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11216364B2 (ja) |
EP (1) | EP4107624A1 (ja) |
JP (1) | JP7375215B2 (ja) |
KR (1) | KR20220129662A (ja) |
CN (1) | CN115427935A (ja) |
WO (1) | WO2021168020A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11435914B2 (en) * | 2020-03-30 | 2022-09-06 | Western Digital Technologies, Inc. | Dynamic ZNS open zone active limit |
US11789612B2 (en) * | 2020-06-16 | 2023-10-17 | Sandisk Technologies Llc | Plane programming scheme for non-volatile memory with large block sizes |
US11675695B2 (en) * | 2020-06-29 | 2023-06-13 | Micron Technology, Inc. | Namespace management for memory sub-systems |
KR20220022318A (ko) * | 2020-08-18 | 2022-02-25 | 에스케이하이닉스 주식회사 | 컨트롤러 및 메모리 시스템 |
JP2023088772A (ja) * | 2021-12-15 | 2023-06-27 | キオクシア株式会社 | メモリシステムおよび方法 |
CN114627938A (zh) * | 2022-03-16 | 2022-06-14 | 英韧科技(上海)有限公司 | 数据写入方法和装置以及存储介质 |
CN116126239B (zh) * | 2022-12-30 | 2024-01-23 | 武汉麓谷科技有限公司 | 一种提高zns固态硬盘nor flash写入性能的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353874B1 (en) | 2000-03-17 | 2002-03-05 | Ati International Srl | Method and apparatus for controlling and caching memory read operations in a processing system |
JP2004318940A (ja) | 2003-04-14 | 2004-11-11 | Renesas Technology Corp | 記憶装置 |
US7162550B2 (en) * | 2003-07-21 | 2007-01-09 | Intel Corporation | Method, system, and program for managing requests to an Input/Output device |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US8756399B2 (en) | 2006-01-25 | 2014-06-17 | Seagate Technology Llc | Mutable association of a set of logical block addresses to a band of physical storage blocks |
JP2009116834A (ja) * | 2007-11-09 | 2009-05-28 | Sony Corp | データ記録装置,データ記録装置の内部制御方法及びデータ記録システム |
TWI454906B (zh) | 2009-09-24 | 2014-10-01 | Phison Electronics Corp | 資料讀取方法、快閃記憶體控制器與儲存系統 |
JP2011154547A (ja) | 2010-01-27 | 2011-08-11 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP2012064158A (ja) | 2010-09-17 | 2012-03-29 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
WO2012039002A1 (en) | 2010-09-21 | 2012-03-29 | Hitachi, Ltd. | Semiconductor storage device and data control method thereof |
US10031850B2 (en) | 2011-06-07 | 2018-07-24 | Sandisk Technologies Llc | System and method to buffer data |
US9235346B2 (en) | 2012-05-04 | 2016-01-12 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Dynamic map pre-fetching for improved sequential reads of a solid-state media |
KR20150057069A (ko) | 2013-11-18 | 2015-05-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10656842B2 (en) * | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US9760281B2 (en) * | 2015-03-27 | 2017-09-12 | Intel Corporation | Sequential write stream management |
US9507711B1 (en) * | 2015-05-22 | 2016-11-29 | Sandisk Technologies Llc | Hierarchical FTL mapping optimized for workload |
US10733100B2 (en) * | 2017-06-12 | 2020-08-04 | Western Digital Technologies, Inc. | Method and apparatus for classifying and buffering write commands |
US10643707B2 (en) * | 2017-07-25 | 2020-05-05 | Western Digital Technologies, Inc. | Group write operations for a data storage device |
-
2020
- 2020-02-18 US US16/794,016 patent/US11216364B2/en active Active
-
2021
- 2021-02-17 KR KR1020227030921A patent/KR20220129662A/ko unknown
- 2021-02-17 EP EP21756718.9A patent/EP4107624A1/en active Pending
- 2021-02-17 JP JP2022549407A patent/JP7375215B2/ja active Active
- 2021-02-17 CN CN202180019738.0A patent/CN115427935A/zh active Pending
- 2021-02-17 WO PCT/US2021/018429 patent/WO2021168020A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2021168020A1 (en) | 2021-08-26 |
CN115427935A (zh) | 2022-12-02 |
EP4107624A1 (en) | 2022-12-28 |
US11216364B2 (en) | 2022-01-04 |
US20210255949A1 (en) | 2021-08-19 |
KR20220129662A (ko) | 2022-09-23 |
JP7375215B2 (ja) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036625B1 (en) | Host-resident translation layer write command associated with logical block to physical address of a memory device | |
US11119940B2 (en) | Sequential-write-based partitions in a logical-to-physical table cache | |
JP7375215B2 (ja) | 順次的にプログラムするメモリサブシステムにおける順次読み出し最適化 | |
US11269778B1 (en) | Mapping supporting non-sequential writes at sequentially-written memory devices | |
US11640354B2 (en) | Logical-to-physical mapping of data groups with data locality | |
US11314446B2 (en) | Accelerated read translation path in memory sub-system | |
US11681629B2 (en) | Direct cache hit and transfer in a memory sub-system that programs sequentially | |
CN114077549A (zh) | 基于数据特性寻址区域命名空间和非分区存储器 | |
CN115718564A (zh) | 保持存储器装置中的应用程序数据次序 | |
US20240069739A1 (en) | Effective storage allocation for sequentially-written memory devices | |
US20230350798A1 (en) | Namespace management for memory sub-systems | |
KR20220062629A (ko) | 하이브리드 dimm에서의 비휘발성 메모리를 위한 낮은 레이턴시 캐시 | |
CN112805692A (zh) | 混合式双列直插式存储器模块中的高速缓存操作 | |
CN113918479B (zh) | 用于并行独立线程的低位密度存储器高速缓存的方法及系统 | |
CN113094293B (zh) | 存储器系统及相关方法和计算机可读存储介质 | |
CN117999547A (zh) | 用于存储器子系统中的两遍次编程的虚拟管理单元方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220916 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220916 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230921 |
|
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: 20230926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231025 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7375215 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |