JP7337006B2 - メモリシステムおよび制御方法 - Google Patents
メモリシステムおよび制御方法 Download PDFInfo
- Publication number
- JP7337006B2 JP7337006B2 JP2020035746A JP2020035746A JP7337006B2 JP 7337006 B2 JP7337006 B2 JP 7337006B2 JP 2020035746 A JP2020035746 A JP 2020035746A JP 2020035746 A JP2020035746 A JP 2020035746A JP 7337006 B2 JP7337006 B2 JP 7337006B2
- Authority
- JP
- Japan
- Prior art keywords
- queue
- weight
- command
- queues
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0653—Monitoring storage devices or systems
-
- 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
- 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)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
図1は、実施形態に係るメモリシステムとホストとの関係を示すブロック図である。
SSD3は、コントローラ4と、不揮発性メモリ(例えば、NAND型フラッシュメモリ5)とを備える。SSD3は、ランダムアクセスメモリ、例えば、DRAM6も備えていてもよい。
コントローラ4は、NAND型フラッシュメモリ5のデータ管理およびブロック管理を実行するように構成されたフラッシュトランスレーション層(FTL)として機能し得る。このFTLによって実行されるデータ管理には、(1)論理アドレスそれぞれとNAND型フラッシュメモリ5の物理アドレスそれぞれとの間の対応関係を示すマッピング情報の管理、(2)NAND型フラッシュメモリ5の制約(例えば、ページ単位のリード/ライト動作とブロック単位の消去動作)を隠蔽するための処理、等が含まれる。論理アドレスは、SSD3の論理アドレス空間内の論理アドレスをアドレス指定するためにホスト2によって使用されるアドレスである。この論理アドレスとしては、通常、論理ブロックアドレス(LBA)が使用される。
例えば、キュー#0をライト用のキューとして使用し、キュー#1をリード用のキューとして使用するケースにおいて、ライト用のキュー#0の重みWpを10、リード用のキュー#1の重みWrを1に設定した場合には、ライト用のキュー#0のプログラムコマンドが実行される度にW0から10が減算される。一方、W1については、リード用のキュー#1のリードコマンドが実行される度にW1から1が減算される。従って、リードコマンドをプログラムコマンドの10倍の頻度で実行することかできる。
例えば、ある時刻tにおいては、W0、W1、W2、W3の現在の値は-10、-5、-3、0である。W3の現在の値が最も大きいので、キュー#3内のコマンドが実行される。
例えば、ある時刻tにおいては、キュー#0に格納されていたプログラムコマンドに対応するプログラム動作がNAND型フラッシュメモリダイにおいて実行中である。W0の値はプログラムコマンドに対応する重みだけ既に減算されており、W0、W1、W2の現在の値は-5、-6、-4である。キュー#1に格納されている次の実行対象コマンドはリードコマンドであり、キュー#2に格納されている次の実行対象コマンドもリードコマンドである。
例えば、ある時刻tにおいては、キュー#0に格納されていたプログラムコマンドに対応するプログラム動作がNAND型フラッシュメモリダイにおいて実行中である。W0の値はプログラムコマンドに対応する重みだけ既に減算されており、W0、W1、W2の現在の値は-5、-6、-7である。キュー#1に格納されている次の実行対象コマンドはリードコマンドであり、キュー#2に格納されている次の実行対象コマンドもリードコマンドである。
例えば、ある時刻tにおいては、キュー#0に格納されていたプログラムコマンドに対応するプログラム動作がNAND型フラッシュメモリダイにおいて実行中である。W0の値はプログラムコマンドに対応する重みだけ既に減算されており、W0、W1、W2の現在の値は-5、-4、-4である。キュー#1に格納されている次の実行対象コマンドはリードコマンドであり、キュー#2に格納されている次の実行対象コマンドもリードコマンドである。
「SSDにライトされたデータの総量」は、ホストからSSDにライトされたデータの総量とガベージコレクションによって内部的にSSDにライトされたデータの総量との和に相当する。
ここで、Invalidated/Validは、有効データに対する無効データの割合を示す。
コントローラ4は、プログラムコマンド(またはイレーズコマンド)が実行中であるか否かを判定する(ステップS121)。ステップS121では、選択されたキューからフェッチされた先行するコマンドがプログラムコマンド(またはイレーズコマンド)である場合、プログラムコマンド(またはイレーズコマンド)が実行中であると判定されてもよい。
Claims (19)
- 不揮発性メモリと、
前記不揮発性メモリに電気的に接続され、前記不揮発性メモリを制御するように構成されたコントローラとを具備し、
前記コントローラは、
前記不揮発性メモリをアクセスするための複数のコマンドが各々に格納される複数のキューと、前記複数のキューにそれぞれ対応する複数の第1の重みと、前記複数のキューにそれぞれ対応する複数の第2の重みとを管理し、前記複数のキューの一つのキューに対応する前記第2の重みは、前記一つのキューに格納されているコマンドの実行が開始される場合に、前記一つのキューに対応する前記第1の重みを前記一つのキューに対応する前記第2の重みから減算または前記一つのキューに対応する前記第2の重みに加算することによって得られる値に更新され、
前記複数のキューのうち前記第2の重みが最も大きいまたは最も小さいキューを最も高優先度のキューとして選択し、
前記選択したキューに格納されているコマンドの実行を開始し、
前記選択したキューに対応する前記第2の重みから前記選択したキューに対応する前記第1の重みを減算することによって、または前記選択したキューに対応する前記第2の重みに前記選択したキューに対応する前記第1の重みを加算することによって、前記選択したキューに対応する前記第2の重みを更新するように構成されている、メモリシステム。 - 前記コントローラは、
前記複数のキューの各々について、イレーズコマンドに関連付けられた重みと、プログラムコマンドに関連付けられた重みと、リードコマンドに関連付けられた重みを、前記第1の重みとして管理し、
前記選択したキューに格納されている前記コマンドのタイプに応じて、前記選択したキューの前記イレーズコマンドに関連付けられている前記重み、前記選択したキューの前記プログラムコマンドに関連付けられている前記重み、または前記選択したキューの前記リードコマンドに関連付けられている前記重みを前記第1の重みとして選択し、選択した重みを前記選択したキューに対応する前記第2の重みから減算または前記選択したキューに対応する前記第2の重みに加算することによって前記選択したキューに対応する前記第2の重みを更新するように構成されている請求項1記載のメモリシステム。 - 前記コントローラは、
リードコマンドが次の実行対象コマンドとして格納されており且つ前記複数のキューのうちで最も大きいまたは最も小さい第2の重みを有する、という条件を満たすキューが存在し、且つ前記不揮発性メモリにおいて実行中のコマンドがイレーズコマンドまたはプログラムコマンドである場合、
前記不揮発性メモリにサスペンドコマンドを送信することによって前記イレーズコマンドまたはプログラムコマンドの実行を中断し、
前記条件を満たす前記キューに格納されている前記リードコマンドの実行を開始するように構成されている請求項1記載のメモリシステム。 - 前記コントローラは、
前記条件を満たす前記キューに格納されている前記リードコマンドの実行の完了後、前記条件を満たす別のキューが存在する場合、前記別のキューに格納されているリードコマンドの実行を開始し、前記条件を満たす別のキューが存在しない場合、前記中断されたイレーズコマンドまたはプログラムコマンドの実行を再開するように構成されている請求項3記載のメモリシステム。 - 前記複数のキューは、ホストからのデータを前記不揮発性メモリに書き込むために使用される第1のキューと、前記不揮発性メモリのガベージコレクションのためにコピーすべきデータを前記不揮発性メモリに書き込むために使用される第2のキューとを含み、
前記コントローラは、
前記不揮発性メモリの複数のブロックから選択される一つ以上のコピー元ブロックに格納されている、有効データと無効データの割合を求め、
前記有効データと前記無効データの割合に基づいて、前記第1のキューに対応する前記第1の重みと前記第2のキューに対応する前記第1の重みをそれぞれ設定するように構成されている請求項1記載のメモリシステム。 - 前記複数のキューは、ホストからのデータを前記不揮発性メモリに書き込むために使用される第1のキューと、前記不揮発性メモリのガベージコレクションのためにコピーすべき有効データを前記不揮発性メモリに書き込むために使用される第2のキューとを含み、
前記コントローラは、
前記不揮発性メモリの複数のブロックから選択される一つ以上のコピー元ブロックに格納されている、有効データと無効データの割合を求め、
前記有効データと前記無効データの割合に基づいて、前記第1のキューの前記プログラムコマンドに関連付けられた前記重みと前記第2のキューの前記プログラムコマンドに関連付けられた前記重みをそれぞれ設定するように構成されている請求項2記載のメモリシステム。 - 前記コントローラは、第1の時間が経過する度にまたは一つのコマンドが実行される度に、第1の値を前記複数の第2の重みの各々に加算または前記複数の第2の重みの各々から減算することによって前記複数の第2の重みの各々を各第2の重みの初期値に近づける動作を実行するように構成されている請求項1記載のメモリシステム。
- 前記コントローラは、一つのコマンドを実行する度に、前記実行された前記一つのコマンドが格納されていた第1のキューに対応する前記第1の重みを前記第1のキュー以外の他のキューにそれぞれ対応する前記第2の重みに分配することによって前記第1のキュー以外の他のキューにそれぞれ対応する前記第2の重みの各々を各第2の重みの初期値に近づける動作を実行するように構成されている請求項1記載のメモリシステム。
- 前記コントローラは、2つ以上のキューに対応する前記第2の重みが同じであり且つ前記2つ以上のキューに対応する前記第2の重みが最も大きいまたは最も小さい場合、前記2つ以上のキューのうち、より小さいキュー識別子またはより大きいキュー識別子を有するキューを前記最も高優先度のキューとして選択するように構成されている請求項1記載のメモリシステム。
- 不揮発性メモリと、
前記不揮発性メモリに電気的に接続され、前記不揮発性メモリを制御するように構成されたコントローラとを具備し、
前記コントローラは、
前記不揮発性メモリをアクセスするための複数のコマンドを各々が格納する複数のキューの各々について、イレーズコマンドに関連付けられた重みと、プログラムコマンドに関連付けられた重みと、リードコマンドに関連付けられた重みを、第1の重みとして管理し、且つ前記複数のキューの各々について、前記複数のキュー間の優先順位を定めるための第2の重みを管理し、前記複数のキューの一つのキューに対応する前記第2の重みは、前記一つのキューに格納されているコマンドの実行が開始される場合に、前記一つのキューに対応する前記第1の重みを前記一つのキューに対応する前記第2の重みから減算または前記一つのキューに対応する前記第2の重みに加算することによって得られる値に更新され、
前記複数のキューのうち前記第2の重みが最も大きいまたは最も小さいキューを最も高優先度のキューとして選択し、
前記選択したキューに格納されているコマンドの実行を開始し、
前記選択したキューに格納されている前記コマンドのタイプに応じて、前記選択したキューの前記イレーズコマンドに関連付けられている前記重み、前記選択したキューの前記プログラムコマンドに関連付けられている前記重み、または前記選択したキューの前記リードコマンドに関連付けられている前記重みを前記第1の重みとして選択し、選択した重みを前記選択したキューに対応する前記第2の重みから減算または前記選択したキューに対応する前記第2の重みに加算することによって前記選択したキューに対応する前記第2の重みを更新するように構成されているメモリシステム。 - 前記コントローラは、
リードコマンドが次の実行対象コマンドとして格納されており且つ前記複数のキューのうちで最も大きいまたは最も小さい第2の重みを有する、という条件を満たすキューが存在し、且つ前記不揮発性メモリにおいて実行中のコマンドがイレーズコマンドまたはプログラムコマンドである場合、
前記不揮発性メモリにサスペンドコマンドを送信することによって前記イレーズコマンドまたはプログラムコマンドの実行を中断し、
前記条件を満たす前記キューに格納されている前記リードコマンドの実行を開始するように構成されている請求項10記載のメモリシステム。 - 前記コントローラは、
前記条件を満たす前記キューに格納されている前記リードコマンドの実行の完了後、前記条件を満たす別のキューが存在する場合、前記別のキューに格納されているリードコマンドの実行を開始し、前記条件を満たす別のキューが存在しない場合、前記中断されたイレーズコマンドまたはプログラムコマンドの実行を再開するように構成されている請求項11記載のメモリシステム。 - 前記複数のキューは、ホストからのデータを前記不揮発性メモリに書き込むために使用される第1のキューと、前記不揮発性メモリのガベージコレクションのためにコピーすべき有効データを前記不揮発性メモリに書き込むために使用される第2のキューとを含み、
前記コントローラは、
前記不揮発性メモリの複数のブロックから選択される一つ以上のコピー元ブロックに格納されている、有効データと無効データの割合を求め、
前記有効データと前記無効データの割合に基づいて、前記第1のキューの前記プログラムコマンドに関連付けられている前記重みと前記第2のキューの前記プログラムコマンドに関連付けられている前記重みをそれぞれ設定するように構成されている請求項10記載のメモリシステム。 - 不揮発性メモリを制御する制御方法であって、
前記不揮発性メモリをアクセスするための複数のコマンドが各々に格納される複数のキューと、前記複数のキューにそれぞれ対応する複数の第1の重みと、前記複数のキューにそれぞれ対応する複数の第2の重みとを管理することと、前記複数のキューの一つのキューに対応する前記第2の重みは、前記一つのキューに格納されているコマンドの実行が開始される場合に、前記一つのキューに対応する前記第1の重みを前記一つのキューに対応する前記第2の重みから減算または前記一つのキューに対応する前記第2の重みに加算することによって得られる値に更新され、
前記複数のキューのうち前記第2の重みが最も大きいまたは最も小さいキューを最も高優先度のキューとして選択することと、
前記選択したキューに格納されているコマンドの実行を開始することと、
前記選択したキューに対応する前記第2の重みから前記選択したキューに対応する前記第1の重みを減算することによって、または前記選択したキューに対応する前記第2の重みに前記選択したキューに対応する前記第1の重みを加算することによって、前記選択したキューに対応する前記第2の重みを更新することと
を具備する制御方法。 - 前記複数のキューの各々について、イレーズコマンドに関連付けられた重みと、プログラムコマンドに関連付けられた重みと、リードコマンドに関連付けられた重みを、対応するキューの前記第1の重みとして管理することをさらに具備し、
前記更新することは、前記選択したキューに格納されている前記コマンドのタイプに応じて、前記選択したキューの前記イレーズコマンドに関連付けられている前記重み、前記選択したキューの前記プログラムコマンドに関連付けられている前記重み、または前記選択したキューの前記リードコマンドに関連付けられている前記重みを前記第1の重みとして選択し、選択した重みを前記選択したキューに対応する前記第2の重みから減算または前記選択したキューに対応する前記第2の重みに加算することによって前記選択したキューに対応する前記第2の重みを更新することを含む請求項14記載の制御方法。 - リードコマンドが次の実行対象コマンドとして格納されており且つ前記複数のキューのうちで最も大きいまたは最も小さい第2の重みを有する、という条件を満たすキューが存在し、且つ前記不揮発性メモリにおいて実行中のコマンドがイレーズコマンドまたはプログラムコマンドである場合、
前記不揮発性メモリにサスペンドコマンドを送信することによって前記イレーズコマンドまたはプログラムコマンドの実行を中断することと、
前記条件を満たす前記キューに格納されている前記リードコマンドの実行を開始することをさらに具備する請求項14記載の制御方法。 - 前記条件を満たす前記キューに格納されている前記リードコマンドの実行の完了後、前記条件を満たす別のキューが存在する場合、前記別のキューに格納されているリードコマンドの実行を開始し、前記条件を満たす別のキューが存在しない場合、前記中断されたイレーズコマンドまたはプログラムコマンドの実行を再開することをさらに具備する請求項16記載の制御方法。
- 前記複数のキューは、ホストからのデータを前記不揮発性メモリに書き込むために使用される第1のキューと、前記不揮発性メモリのガベージコレクションのためにコピーすべき有効データを前記不揮発性メモリに書き込むために使用される第2のキューとを含み、
前記不揮発性メモリの複数のブロックから選択される一つ以上のコピー元ブロックに格納されている、有効データと無効データの割合を求めることと、
前記有効データと前記無効データの割合に基づいて、前記第1のキューに対応する前記第1の重みと前記第2のキューに対応する前記第1の重みをそれぞれ設定することとをさらに具備する請求項14記載の制御方法。 - 前記複数のキューは、ホストからのデータを前記不揮発性メモリに書き込むために使用される第1のキューと、前記不揮発性メモリのガベージコレクションのためにコピーすべき有効データを前記不揮発性メモリに書き込むために使用される第2のキューとを含み、
前記不揮発性メモリの複数のブロックから選択される一つ以上のコピー元ブロックに格納されている、有効データと無効データの割合を求めることと、
前記有効データと前記無効データの割合に基づいて、前記第1のキューの前記プログラムコマンドに関連付けられた前記重みと前記第2のキューの前記プログラムコマンドに関連付けられた前記重みをそれぞれ設定することとをさらに具備する請求項15記載の制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020035746A JP7337006B2 (ja) | 2020-03-03 | 2020-03-03 | メモリシステムおよび制御方法 |
US17/016,762 US11392323B2 (en) | 2020-03-03 | 2020-09-10 | Memory system and method of controlling nonvolatile memory |
US17/836,397 US11762598B2 (en) | 2020-03-03 | 2022-06-09 | Memory system and method of controlling nonvolatile memory |
US18/347,905 US20230350607A1 (en) | 2020-03-03 | 2023-07-06 | Memory system and method of controlling nonvolatile memory |
JP2023130115A JP7524426B2 (ja) | 2020-03-03 | 2023-08-09 | メモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020035746A JP7337006B2 (ja) | 2020-03-03 | 2020-03-03 | メモリシステムおよび制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023130115A Division JP7524426B2 (ja) | 2020-03-03 | 2023-08-09 | メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021140306A JP2021140306A (ja) | 2021-09-16 |
JP7337006B2 true JP7337006B2 (ja) | 2023-09-01 |
Family
ID=77555698
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020035746A Active JP7337006B2 (ja) | 2020-03-03 | 2020-03-03 | メモリシステムおよび制御方法 |
JP2023130115A Active JP7524426B2 (ja) | 2020-03-03 | 2023-08-09 | メモリシステム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023130115A Active JP7524426B2 (ja) | 2020-03-03 | 2023-08-09 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (3) | US11392323B2 (ja) |
JP (2) | JP7337006B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7337006B2 (ja) * | 2020-03-03 | 2023-09-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7443195B2 (ja) | 2020-08-21 | 2024-03-05 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CA3105553A1 (en) * | 2021-01-11 | 2022-07-11 | Walmart Apollo, Llc | Cloud-based sftp server system |
US20220374149A1 (en) * | 2021-05-21 | 2022-11-24 | Samsung Electronics Co., Ltd. | Low latency multiple storage device system |
TWI793966B (zh) * | 2022-01-10 | 2023-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009528609A (ja) | 2006-03-28 | 2009-08-06 | ノキア コーポレイション | 不揮発性メモリの読み出し待ち時間を減少させる方法及びデバイス |
US20160266934A1 (en) | 2015-03-11 | 2016-09-15 | Sandisk Technologies Inc. | Task queues |
US20190079702A1 (en) | 2017-09-08 | 2019-03-14 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, controller and operating method of nonvolatile memory device |
JP2019164487A (ja) | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | メモリシステム |
US20190303039A1 (en) | 2018-03-28 | 2019-10-03 | Intel Corporation | Dynamic major mode for efficient memory traffic control |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392633B2 (en) * | 2008-06-25 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Scheduling requesters of a shared storage resource |
JP5171602B2 (ja) | 2008-12-25 | 2013-03-27 | 京セラドキュメントソリューションズ株式会社 | Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法 |
JP2011192260A (ja) | 2010-02-16 | 2011-09-29 | Toshiba Corp | 半導体記憶装置 |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
WO2017141413A1 (ja) | 2016-02-19 | 2017-08-24 | 株式会社日立製作所 | 計算機、通信ドライバ、および通信制御方法 |
JP2018073038A (ja) * | 2016-10-27 | 2018-05-10 | 東芝メモリ株式会社 | メモリシステム |
CN108009006B (zh) * | 2016-11-02 | 2022-02-18 | 华为技术有限公司 | I/o请求的调度方法及装置 |
US10635617B2 (en) * | 2017-05-19 | 2020-04-28 | Western Digital Technologies, Inc. | Context-aware dynamic command scheduling for a data storage system |
TWI640920B (zh) | 2017-06-30 | 2018-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置、非揮發式記憶體操作方法及操作指令執行方法 |
US11029859B2 (en) * | 2017-08-23 | 2021-06-08 | Toshiba Memory Corporation | Credit based command scheduling |
JP2019053795A (ja) * | 2017-09-13 | 2019-04-04 | 東芝メモリ株式会社 | メモリシステム |
KR20190032809A (ko) | 2017-09-20 | 2019-03-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
KR102670097B1 (ko) * | 2018-03-27 | 2024-05-27 | 삼성전자주식회사 | NVMe 컨트롤러에 의한 명령 인출 관리 방법 및 시스템 |
US11392320B2 (en) * | 2018-07-03 | 2022-07-19 | Western Digital Technologies, Inc. | Quality of service based arbitrations optimized for enterprise solid state drives |
US20200364163A1 (en) * | 2019-05-14 | 2020-11-19 | Goke Us Research Laboratory | Dynamic performance enhancement for block i/o devices |
US11481342B2 (en) * | 2019-06-25 | 2022-10-25 | Seagate Technology Llc | Data storage system data access arbitration |
US11321022B2 (en) * | 2019-12-31 | 2022-05-03 | Kioxia Corporation | Systems and methods for scheduling flash operations |
JP7337006B2 (ja) * | 2020-03-03 | 2023-09-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
-
2020
- 2020-03-03 JP JP2020035746A patent/JP7337006B2/ja active Active
- 2020-09-10 US US17/016,762 patent/US11392323B2/en active Active
-
2022
- 2022-06-09 US US17/836,397 patent/US11762598B2/en active Active
-
2023
- 2023-07-06 US US18/347,905 patent/US20230350607A1/en active Pending
- 2023-08-09 JP JP2023130115A patent/JP7524426B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009528609A (ja) | 2006-03-28 | 2009-08-06 | ノキア コーポレイション | 不揮発性メモリの読み出し待ち時間を減少させる方法及びデバイス |
US20160266934A1 (en) | 2015-03-11 | 2016-09-15 | Sandisk Technologies Inc. | Task queues |
US20190079702A1 (en) | 2017-09-08 | 2019-03-14 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, controller and operating method of nonvolatile memory device |
JP2019164487A (ja) | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | メモリシステム |
US20190303039A1 (en) | 2018-03-28 | 2019-10-03 | Intel Corporation | Dynamic major mode for efficient memory traffic control |
Also Published As
Publication number | Publication date |
---|---|
JP2021140306A (ja) | 2021-09-16 |
US20220300214A1 (en) | 2022-09-22 |
US20230350607A1 (en) | 2023-11-02 |
US11762598B2 (en) | 2023-09-19 |
JP2023138744A (ja) | 2023-10-02 |
JP7524426B2 (ja) | 2024-07-29 |
US11392323B2 (en) | 2022-07-19 |
US20210279001A1 (en) | 2021-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7337006B2 (ja) | メモリシステムおよび制御方法 | |
JP7091203B2 (ja) | メモリシステムおよび制御方法 | |
TWI741671B (zh) | 記憶體系統 | |
JP6414852B2 (ja) | メモリシステムおよび制御方法 | |
JP6785204B2 (ja) | メモリシステムおよび制御方法 | |
JP7443195B2 (ja) | メモリシステムおよび制御方法 | |
JP2018049522A (ja) | メモリシステム及び制御方法 | |
US11762591B2 (en) | Memory system and method of controlling nonvolatile memory by controlling the writing of data to and reading of data from a plurality of blocks in the nonvolatile memory | |
JP2019191909A (ja) | メモリシステムおよび制御方法 | |
US12014090B2 (en) | Memory system and method of controlling nonvolatile memory and for reducing a buffer size | |
JP7337228B2 (ja) | メモリシステムおよび制御方法 | |
US20230244383A1 (en) | Memory system and method of controlling nonvolatile memory | |
JP6721765B2 (ja) | メモリシステムおよび制御方法 | |
US20240201904A1 (en) | Memory system and method of controlling nonvolatile memory | |
JP2024030903A (ja) | メモリシステム | |
JP2019016386A (ja) | メモリシステムおよび制御方法 | |
WO2017163322A1 (ja) | 管理計算機、および計算機システムの管理方法 | |
JP2019016383A (ja) | メモリシステムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220912 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230724 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230822 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7337006 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |