JP6950149B2 - メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 - Google Patents
メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 Download PDFInfo
- Publication number
- JP6950149B2 JP6950149B2 JP2016096618A JP2016096618A JP6950149B2 JP 6950149 B2 JP6950149 B2 JP 6950149B2 JP 2016096618 A JP2016096618 A JP 2016096618A JP 2016096618 A JP2016096618 A JP 2016096618A JP 6950149 B2 JP6950149 B2 JP 6950149B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- commands
- memory
- write
- read
- 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
- 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/10—Address translation
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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
- 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
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.第1の実施の形態(待機中のコマンド数に基づいて優先モードを切り替える例)
2.第2の実施の形態(処理したコマンド数に基づいて優先モードを切り替える例)
3.第3の実施の形態(一定時間が経過するたびに優先モードを切り替える例)
4.第4の実施の形態(処理したコマンド数または切替コマンドに基づいて優先モードを切り替える例)
5.第5の実施の形態(ホストコマンド数に基づいて優先モードを切り替える例)
6.第6の実施の形態(動的に変更される閾値に基づいて優先モードを切り替える例)
[メモリシステムの構成例]
図1は、実施の形態におけるメモリシステムの一構成例を示すブロック図である。このメモリシステムは、ホストコンピュータ100およびストレージ200を備える。
図2は、第1の実施の形態におけるメモリコントローラ300の一構成例を示すブロック図である。このメモリコントローラ300は、RAM(Random Access Memory)312、CPU(Central Processing Unit)313、ECC処理部314およびROM(Read Only Memory)315を備える。また、メモリコントローラ300は、ホストインターフェース311、バス316およびメモリインターフェース317を備える。
図4は、第1の実施の形態におけるリクエスト発行制御部320の一構成例を示すブロック図である。このリクエスト発行制御部320は、待機中リードコマンド数計数部321、コマンドデコーダ322、待機中ライトコマンド数計数部323、優先モード切替部324、コマンドキュー340およびリクエスト発行管理部350を備える。
図11は、第1の実施の形態における不揮発性メモリ410の一構成例を示すブロック図である。この不揮発性メモリ410は、データバッファ411、メモリセルアレイ412、ドライバ413、アドレスデコーダ414、バス415、制御インターフェース416、および、メモリ制御部417を備える。
状に配列された複数のメモリセルを備える。各々のメモリセルとして、ReRAMなどの不揮発性の記憶素子が用いられる。
図13は、第1の実施の形態におけるメモリコントローラ300の動作の一例を示すフローチャートである。この動作は、例えば、メモリコントローラ300に電源が投入されたときに開始する。メモリコントローラ300は、ホストコンピュータ100からのコマンドをデコードし(ステップS901)、コマンドキュー340に追加する(ステップS902)。また、メモリコントローラ300は、待機中のリードコマンド数およびライトコマンド数のそれぞれを計数する(ステップS903)。
上述の第1の実施の形態では、メモリコントローラ300は、コマンドキュー340に保持されているコマンドの数を計数していたが、コマンドキュー340から取り出されたコマンド数を計数して、閾値と比較することもできる。この第2の実施の形態のメモリコントローラ300は、コマンドキュー340から取り出されたコマンド数を計数する点において第1の実施の形態と異なる。
上述の第2の実施の形態では、メモリコントローラ300は、コマンドキュー340から取り出されたコマンドの数に基づいて優先モードを切り替えていた。しかし、ホストコンピュータ100によるリードコマンドおよびライトコマンドのそれそれの発行頻度が一方に偏っていると、優先モードの切り替えに時間がかかるおそれがある。例えば、リードコマンドの発行頻度がライトコマンドより高いと、ライト優先モードの継続時間が長くなる。この結果、書込み速度が速くなる一方で読出し速度が遅くなる。この第3の実施の形態におけるメモリコントローラ300は、ライト優先モードおよびリード優先モードのそれぞれの継続時間を均等にする点において第1の実施の形態と異なる。
上述の第2の実施の形態では、メモリコントローラ300は、コマンドキュー340から取り出されたコマンドの数に基づいて優先モードを切り替えていた。しかし、ホストコンピュータ100によるリードコマンドおよびライトコマンドのそれぞれの発行頻度が一方に偏っていると、優先モードの切り替えに時間がかかるおそれがある。例えば、リードコマンドの発行頻度がライトコマンドより高いと、ライト優先モードの継続時間が長くなる。この結果、書込み速度が速くなる一方で読出し速度が遅くなる。この第4の実施の形態におけるメモリコントローラ300は、書込み速度と読出し速度とを同程度にする点において第2の実施の形態と異なる。
上述の第1の実施の形態では、メモリコントローラ300は、コマンドキュー340内のデコード後のコマンド数を計数し、その計数値によりモードを切り替えていた。しかし、このモード制御では、デコード前のコマンドを保持するホストコマンドキューをさらに設けた場合にスループットが低下するおそれがある。例えば、デコード前はライトコマンドの方がリードコマンドより多く、デコード後はライトコマンドおよびホストコマンドの個数が同程度であると仮定する。このときには、ライト優先モードにおいて、ホストコマンドキュー内にデコード前のライトコマンドがまだ残っているのに、メモリコントローラ300がデコード後のライトコマンドを全て実行してリード優先モードに遷移することがある。このようなときには、モードの切替えが煩雑に生じ、スループットが低下するおそれがある。この第5の実施の形態のメモリコントローラ300は、ホストコマンドキューを設けた構成において、スループットを向上させる点において第1の実施の形態と異なる。
上述の第2の実施の形態では、メモリコントローラ300は、取り出して実行したコマンド数が固定の閾値を超えるか否かにより優先モードを切り替えていた。しかし、閾値が不適切であると、切替えが効率的に行われず、スループットが十分に向上しないことがある。この第6の実施の形態のメモリコントローラ300は、適切な閾値を設定する点において第2の実施の形態と異なる。
なお、本技術は以下のような構成もとることができる。
(1)種類の異なる2つのコマンドのいずれかが入力されるたびに当該入力されたコマンドを保持する保持部と、
前記2つのコマンドのうち優先すべき優先コマンドを前記2つのコマンドの一方から他方に切り替える切替部と、
前記優先コマンドを優先して前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出すコマンド処理部と
を具備するメモリコントローラ。
(2)前記コマンド処理部は、前記優先コマンドの全てを前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出す
前記(1)記載のメモリコントローラ。
(3)前記2つのコマンドのそれぞれの数を計数して計数値を生成する計数部をさらに具備し、
前記切替部は、前記2つのコマンドのそれぞれの計数値が所定の閾値を超えたか否かに基づいて前記優先コマンドを切り替える
前記(1)記載のメモリコントローラ。
(4)前記計数部は、前記保持部に保持された前記コマンドの数を計数する
前記(3)記載のメモリコントローラ。
(5)前記計数部は、前記保持部から取り出された前記コマンドの数を計数する
前記(3)記載のメモリコントローラ。
(6)前記コマンドの指定する論理アドレスを物理アドレスに変換する論物アドレス変換を行うアドレス変換部をさらに具備し、
前記保持部は、
前記論物アドレス変換が行われた後の前記コマンドをメモリコマンドとして保持するメモリコマンド保持部と、
前記アドレス変換が行われる前の前記コマンドをホストコマンドとして保持するホストコマンド保持部と
を備える前記(3)記載のメモリコントローラ。
(7)前記計数部は、前記ホストコマンド保持部に保持された前記ホストコマンドの数を計数する
前記(6)記載のメモリコントローラ。
(8)前記計数部は、前記メモリコマンド保持部に保持された前記メモリコマンドの数を待機中コマンド数として計数し、前記メモリコマンド保持部から取り出された前記メモリコマンドの数を処理コマンド数として計数し、
前記閾値は、前記優先コマンドを切り替えたときの前記待機中コマンド数であり、
前記切替部は、前記処理コマンド数が前記閾値を超えるか否かに基づいて前記優先コマンドを切り替える
前記(6)記載のメモリコントローラ。
(9)前記優先モード切替部は、一定時間が経過するたびに前記優先コマンドを切り替える
前記(1)乃至(8)のいずれかに記載のメモリコントローラ。
(10)前記切替部は、前記優先コマンドの切り替えを指示する特定のコマンドに従って前記優先コマンドを切り替える
前記(1)乃至(8)のいずれかに記載のメモリコントローラ。
(11)前記2つのコマンドの一方は、データの読出しを指示するリードコマンドであり、
前記2つのコマンドの他方は、データの書込みを指示するライトコマンドであり、
前記保持部は、
前記リードコマンドを保持するリードコマンド保持部と、
前記ライトコマンドを保持するライトコマンド保持部と
を備える前記(1)乃至(10)のいずれかに記載のメモリコントローラ。
(12)メモリセルと、
前記メモリセルにアクセスするための互いに異なる2つのコマンドのいずれかが入力されるたびに当該入力されたコマンドを保持する保持部と、
前記2つのコマンドのうち優先すべき優先コマンドを前記2つのコマンドの一方から他方に切り替える切替部と、
前記優先コマンドを優先して前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出すコマンド処理部と
を具備するメモリシステム。
(13)種類の異なる2つのコマンドのいずれかが入力されるたびに当該入力されたコマンドを保持部に保持する保持手順と、
前記2つのコマンドのうち優先すべき優先コマンドを前記2つのコマンドの一方から他方に切り替える切替手順と、
前記優先コマンドを優先して前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出すコマンド処理手順と
を具備するメモリコントローラの制御方法。
200 ストレージ
300 メモリコントローラ
311 ホストインターフェース
312 RAM
313 CPU
314 ECC処理部
315 ROM
316、415 バス
317 メモリインターフェース
320 リクエスト発行制御部
321 待機中リードコマンド数計数部
322、329 コマンドデコーダ
323 待機中ライトコマンド数計数部
324、326、328、330、367 優先モード切替部
325 コマンド処理数計数部
327 クロックサイクルカウンタ
340 コマンドキュー
341 コマンド保持部
345、365 ライトコマンドキュー
346、366 リードコマンドキュー
350 リクエスト発行管理部
351 取り出しコマンド切替制御部
352 取り出し部
353 リクエスト発行部
361 ホストコマンドキュー
362 ホストリードコマンド数計数部
363 ホストライトコマンド数計数部
364 メモリコマンドキュー
400 メモリバンク
410 不揮発性メモリ
411 データバッファ
412 メモリセルアレイ
413 ドライバ
414 アドレスデコーダ
416 制御インターフェース
417 メモリ制御部
Claims (5)
- 種類の異なる第1および第2のコマンドのいずれかが入力されるたびに当該入力されたコマンドを保持する保持部と、
前記第1および第2のコマンドのうち優先すべき優先コマンドを前記第1および第2のコマンドの一方から他方に切り替える切替部と、
前記優先コマンドを優先して前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出すコマンド処理部と、
前記第1および第2のコマンドのそれぞれの数を計数して計数値を生成する計数部と、
前記第1および第2のコマンドのそれぞれの指定する論理アドレスを物理アドレスに変換する論物アドレス変換を行うアドレス変換部と
を具備し、
前記保持部は、
前記論物アドレス変換が行われた後の前記第1のコマンドを第1のメモリコマンドとして保持し、前記論物アドレス変換が行われた後の前記第2のコマンドを第2のメモリコマンドとして保持するメモリコマンド保持部と、
前記論物アドレス変換が行われる前の前記第1および第2のコマンドのそれぞれをホストコマンドとして保持するホストコマンド保持部と
を備え、
前記計数部は、前記メモリコマンド保持部に保持された前記第1および第2のメモリコマンドのそれぞれの数を待機中コマンド数として計数し、前記優先コマンドを前記第1のコマンドから前記第2のコマンドに切り替える前に前記メモリコマンド保持部から取り出された前記第1のメモリコマンドの数を処理コマンド数として計数し、
前記切替部は、前記第1のメモリコマンドに対応する第1の閾値と前記第2のメモリコマンドに対応する第2の閾値とのうち前記第1の閾値を前記処理コマンド数が超えるか否かに基づいて前記優先コマンドを切り替え、
前記切替部は、前記優先コマンドを前記第1のコマンドから前記第2のコマンドに切り替えたときに前記第2のメモリコマンドに対応する前記待機中コマンド数を前記第2の閾値に設定する
メモリコントローラ。 - 前記コマンド処理部は、前記優先コマンドの全てを前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出す
請求項1記載のメモリコントローラ。 - 前記第1および第2のコマンドの一方は、データの読出しを指示するリードコマンドであり、
前記第1および第2のコマンドの他方は、データの書込みを指示するライトコマンドであり、
前記保持部は、
前記リードコマンドを保持するリードコマンド保持部と、
前記ライトコマンドを保持するライトコマンド保持部と
を備える請求項1記載のメモリコントローラ。 - メモリセルと、
前記メモリセルにアクセスするための互いに異なる第1および第2のコマンドのいずれかが入力されるたびに当該入力されたコマンドを保持する保持部と、
前記2つのコマンドのうち優先すべき優先コマンドを前記第1および第2のコマンドの一方から他方に切り替える切替部と、
前記優先コマンドを優先して前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出すコマンド処理部と、
前記第1および第2のコマンドのそれぞれの数を計数して計数値を生成する計数部と、
前記第1および第2のコマンドのそれぞれの指定する論理アドレスを物理アドレスに変換する論物アドレス変換を行うアドレス変換部と
を具備し、
前記保持部は、
前記論物アドレス変換が行われた後の前記第1のコマンドを第1のメモリコマンドとして保持し、前記論物アドレス変換が行われた後の前記第2のコマンドを第2のメモリコマンドとして保持するメモリコマンド保持部と、
前記論物アドレス変換が行われる前の前記第1および第2のコマンドのそれぞれをホストコマンドとして保持するホストコマンド保持部と
を備え、
前記計数部は、前記メモリコマンド保持部に保持された前記第1および第2のメモリコマンドのそれぞれの数を待機中コマンド数として計数し、前記優先コマンドを前記第1のコマンドから前記第2のコマンドに切り替える前に前記メモリコマンド保持部から取り出された前記第1のメモリコマンドの数を処理コマンド数として計数し、
前記切替部は、前記第1のメモリコマンドに対応する第1の閾値と前記第2のメモリコマンドに対応する第2の閾値とのうち前記第1の閾値を前記処理コマンド数が超えるか否かに基づいて前記優先コマンドを切り替え、
前記切替部は、前記優先コマンドを前記第1のコマンドから前記第2のコマンドに切り替えたときに前記第2のメモリコマンドに対応する前記待機中コマンド数を前記第2の閾値に設定する
メモリシステム。 - 種類の異なる第1および第2のコマンドのいずれかが入力されるたびに当該入力されたコマンドを保持部に保持する保持手順と、
前記第1および第2のコマンドのうち優先すべき優先コマンドを前記2つのコマンドの一方から他方に切り替える切替手順と、
前記優先コマンドを優先して前記保持部から順に取り出してから前記優先コマンドに該当しない方のコマンドを前記保持部から順に取り出すコマンド処理手順と、
前記第1および第2のコマンドのそれぞれの数を計数して計数値を生成する計数手順と、
前記第1および第2のコマンドのそれぞれの指定する論理アドレスを物理アドレスに変換する論物アドレス変換を行うアドレス変換手順と
を具備し、
前記保持部は、
前記論物アドレス変換が行われた後の前記コマンドをメモリコマンドとして保持するメモリコマンド保持部と、
前記論物アドレス変換が行われる前の前記コマンドをホストコマンドとして保持するホストコマンド保持部と
を備え、
前記計数手順において、前記メモリコマンド保持部に保持された前記第1および第2のメモリコマンドのそれぞれの数を待機中コマンド数として計数し、前記優先コマンドを前記第1のコマンドから前記第2のコマンドに切り替える前に前記メモリコマンド保持部から取り出された前記第1のメモリコマンドの数を処理コマンド数として計数し、
前記切替手順において、前記第1のメモリコマンドに対応する第1の閾値と前記第2のメモリコマンドに対応する第2の閾値とのうち前記第1の閾値を前記処理コマンド数が超えるか否かに基づいて前記優先コマンドを切り替え、
前記切替手順において、前記優先コマンドを前記第1のコマンドから前記第2のコマンドに切り替えたときに前記第2のメモリコマンドに対応する前記待機中コマンド数を前記第2の閾値に設定する
メモリコントローラの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/750,280 US20180232178A1 (en) | 2015-09-08 | 2016-06-15 | Memory controller, memory system, and method of controlling memory controller |
PCT/JP2016/067731 WO2017043140A1 (ja) | 2015-09-08 | 2016-06-15 | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015176786 | 2015-09-08 | ||
JP2015176786 | 2015-09-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017054483A JP2017054483A (ja) | 2017-03-16 |
JP6950149B2 true JP6950149B2 (ja) | 2021-10-13 |
Family
ID=58320880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016096618A Active JP6950149B2 (ja) | 2015-09-08 | 2016-05-13 | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180232178A1 (ja) |
JP (1) | JP6950149B2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180114649A (ko) * | 2017-04-11 | 2018-10-19 | 에스케이하이닉스 주식회사 | 복수의 프로세서를 포함하는 컨트롤러 및 컨트롤러의 동작방법 그리고 멀티 프로세서 시스템 |
KR102322740B1 (ko) * | 2017-04-24 | 2021-11-09 | 에스케이하이닉스 주식회사 | 복수의 프로세서를 포함하는 컨트롤러 및 컨트롤러의 동작방법 |
US11294594B2 (en) * | 2017-08-07 | 2022-04-05 | Kioxia Corporation | SSD architecture supporting low latency operation |
KR20190023777A (ko) * | 2017-08-30 | 2019-03-08 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작 방법 |
KR102293069B1 (ko) * | 2017-09-08 | 2021-08-27 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 제어기를 포함하는 스토리지 장치, 제어기, 그리고 스토리지 장치의 동작 방법 |
JP6961445B2 (ja) * | 2017-10-02 | 2021-11-05 | キヤノン株式会社 | 記録装置及びその制御方法 |
US11436080B2 (en) | 2017-11-21 | 2022-09-06 | Sony Semiconductor Solutions Corporation | Memory controller, memory, memory system, information processing system, and method of control thereof |
JP7060784B2 (ja) * | 2017-12-19 | 2022-04-27 | 富士通株式会社 | 演算処理装置、メモリアクセスコントローラおよび演算処理装置の制御方法 |
US11061600B2 (en) * | 2018-01-12 | 2021-07-13 | Western Digital Technologies, Inc. | Tiered storage data evacuation within solid state devices |
US10642746B2 (en) * | 2018-03-22 | 2020-05-05 | Western Digital Technologies, Inc. | Controlling cached/non-cached memory access decisions based on memory access queue fill levels |
KR20200018156A (ko) * | 2018-08-10 | 2020-02-19 | 에스케이하이닉스 주식회사 | 메모리장치에 대한 에러정정코드 기능을 갖는 메모리 시스템 및 그 운영방법 |
US11579798B2 (en) * | 2018-11-16 | 2023-02-14 | SK Hynix Inc. | Memory system and operating method thereof |
US10764455B2 (en) | 2018-12-31 | 2020-09-01 | Kyocera Document Solutions Inc. | Memory control method, memory control apparatus, and image forming method that uses memory control method |
US10579317B1 (en) * | 2018-12-31 | 2020-03-03 | Kyocera Document Solutions Inc. | Memory control method, memory control apparatus, and image forming method that uses memory control method |
US11288185B2 (en) * | 2019-01-03 | 2022-03-29 | Silicon Motion, Inc. | Method and computer program product for performing data writes into a flash memory |
US11048437B2 (en) * | 2019-02-28 | 2021-06-29 | Micron Technology, Inc. | Double threshold controlled scheduling of memory access commands |
CN110209597B (zh) * | 2019-05-24 | 2021-10-15 | 北京百度网讯科技有限公司 | 处理访问请求的方法、装置、设备和存储介质 |
US11126375B2 (en) * | 2019-07-18 | 2021-09-21 | Micron Technology, Inc. | Arbiter circuit for commands from multiple physical functions in a memory sub-system |
US20210303340A1 (en) * | 2020-03-24 | 2021-09-30 | Micron Technology, Inc. | Read counter for quality of service design |
JP2022128226A (ja) | 2021-02-22 | 2022-09-01 | キヤノン株式会社 | メモリ制御回路およびその制御方法 |
JP2022163404A (ja) | 2021-04-14 | 2022-10-26 | キヤノン株式会社 | メモリ制御回路、情報処理システム及びメモリ制御方法 |
KR20220165563A (ko) * | 2021-06-08 | 2022-12-15 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11907573B2 (en) * | 2021-06-21 | 2024-02-20 | Western Digital Technologies, Inc. | Performing background operations during host read in solid state memory device |
US11907119B2 (en) * | 2021-07-14 | 2024-02-20 | Micron Technology, Inc. | Array access with receiver masking |
US11893280B2 (en) * | 2021-08-27 | 2024-02-06 | Micron Technology, Inc. | Concurrent command limiter for a memory system |
US20240103728A1 (en) * | 2022-09-21 | 2024-03-28 | SK hynix NAND Product Solutions Corporation | Systems, methods, and media for recovering worker shares from read prioritization |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5948081A (en) * | 1997-12-22 | 1999-09-07 | Compaq Computer Corporation | System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed |
JP2000194683A (ja) * | 1998-12-28 | 2000-07-14 | Nec Kofu Ltd | 共有メモリの調停回路およびその調停方法 |
JP2001135083A (ja) * | 1999-11-04 | 2001-05-18 | Matsushita Electric Ind Co Ltd | マルチポートメモリ |
US6704817B1 (en) * | 2000-08-31 | 2004-03-09 | Hewlett-Packard Development Company, L.P. | Computer architecture and system for efficient management of bi-directional bus |
JP2003271445A (ja) * | 2002-03-15 | 2003-09-26 | Sony Corp | メモリ制御装置及び方法 |
US7188219B2 (en) * | 2004-01-30 | 2007-03-06 | Micron Technology, Inc. | Buffer control system and method for a memory system having outstanding read and write request buffers |
US7277982B2 (en) * | 2004-07-27 | 2007-10-02 | International Business Machines Corporation | DRAM access command queuing structure |
US20060064535A1 (en) * | 2004-09-22 | 2006-03-23 | Walker Robert M | Efficient multi-bank memory queuing system |
US7346713B2 (en) * | 2004-11-12 | 2008-03-18 | International Business Machines Corporation | Methods and apparatus for servicing commands through a memory controller port |
US7272692B2 (en) * | 2004-11-12 | 2007-09-18 | International Business Machines Corporation | Arbitration scheme for memory command selectors |
US7877558B2 (en) * | 2007-08-13 | 2011-01-25 | Advanced Micro Devices, Inc. | Memory controller prioritization scheme |
US8127087B2 (en) * | 2009-02-12 | 2012-02-28 | International Business Machines Corporation | Memory controller for improved read port selection in a memory mirrored system |
JP2011232917A (ja) * | 2010-04-27 | 2011-11-17 | Renesas Electronics Corp | 半導体集積回路、及びリクエスト制御方法 |
JP5754273B2 (ja) * | 2011-07-11 | 2015-07-29 | 株式会社リコー | メモリ制御装置、情報処理装置およびメモリ制御方法 |
US9361236B2 (en) * | 2013-06-18 | 2016-06-07 | Arm Limited | Handling write requests for a data array |
US10318420B2 (en) * | 2014-10-31 | 2019-06-11 | Hewlett Packard Enterprise Development Lp | Draining a write queue based on information from a read queue |
US9965323B2 (en) * | 2015-03-11 | 2018-05-08 | Western Digital Technologies, Inc. | Task queues |
-
2016
- 2016-05-13 JP JP2016096618A patent/JP6950149B2/ja active Active
- 2016-06-15 US US15/750,280 patent/US20180232178A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20180232178A1 (en) | 2018-08-16 |
JP2017054483A (ja) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6950149B2 (ja) | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 | |
JP7162102B2 (ja) | メモリアクセス技術およびコンピュータシステム | |
JP5942781B2 (ja) | 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法 | |
CN107025069B (zh) | 非易失性存储器的数据路径控制 | |
KR102393427B1 (ko) | 반도체장치 및 반도체시스템 | |
CN109815172B (zh) | 设备控制器以及包括其的储存设备 | |
US9710192B2 (en) | Apparatuses and methods for providing data from a buffer | |
CN109947362B (zh) | 管理闪存存储器读取操作 | |
US9928171B2 (en) | Apparatuses and methods for providing data to a configurable storage area | |
US11669267B2 (en) | Completion entry throttling using host memory | |
EP3477461A1 (en) | Devices and methods for data storage management | |
TWI671757B (zh) | 記憶裝置中支援增進式流通量 | |
JP6497394B2 (ja) | メモリシステム、記憶装置、および、メモリシステムの制御方法 | |
JP2009015832A (ja) | アクセス間調停回路、半導体装置およびアクセス間調停方法 | |
US10503438B1 (en) | Memory sub-system supporting non-deterministic commands | |
CN107870866B (zh) | Io命令调度方法与nvm接口控制器 | |
US20170160952A1 (en) | Memory controller, memory system, and information processing system | |
WO2017043140A1 (ja) | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 | |
CN113467704A (zh) | 通过智能阈值检测的命令优化 | |
US20180018104A1 (en) | Dynamic write latency for memory controller using data pattern extraction | |
US20160110119A1 (en) | Direct memory access for command-based memory device | |
JP2015011421A (ja) | 記憶制御装置、記憶装置、および、その記憶制御方法 | |
JP6711281B2 (ja) | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 | |
CN103365783A (zh) | 存储控制装置、存储装置、信息处理***和处理方法 | |
JP6107625B2 (ja) | 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200707 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210329 |
|
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: 20210824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210906 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6950149 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |