JP2012523612A - いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法 - Google Patents
いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法 Download PDFInfo
- Publication number
- JP2012523612A JP2012523612A JP2012504666A JP2012504666A JP2012523612A JP 2012523612 A JP2012523612 A JP 2012523612A JP 2012504666 A JP2012504666 A JP 2012504666A JP 2012504666 A JP2012504666 A JP 2012504666A JP 2012523612 A JP2012523612 A JP 2012523612A
- Authority
- JP
- Japan
- Prior art keywords
- command
- commands
- host
- channels
- backend
- 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 250
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 title claims description 29
- 239000007787 solid Substances 0.000 title claims description 24
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000003860 storage Methods 0.000 claims description 84
- 238000009826 distribution Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 19
- 239000000872 buffer Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000003491 array Methods 0.000 description 8
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 101710108416 Robin Proteins 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013403 standard screening design Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 102000012698 DDB1 Human genes 0.000 description 2
- 101100170004 Dictyostelium discoideum repE gene Proteins 0.000 description 2
- 101100170005 Drosophila melanogaster pic gene Proteins 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 101150077768 ddb1 gene Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 1
- 208000003035 Pierre Robin syndrome Diseases 0.000 description 1
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- 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
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
Abstract
【選択図】図3
Description
本開示の1つ以上の実施形態に従い、フロントエンドDMA、例えば、図3の316は、コマンドキュー386を含むことができる。フロントエンドDMA、例えば、図3の316は、アプリケーション層320およびコマンドディスパッチャ318を通して、ホストから受信されるいくつかのコマンドを保持することができる。コマンドディスパッチャ318は、コマンドを処理し、コマンドをフロントエンドDMA316およびいくつかの適切なバックエンドチャネル、例えば、図3の350−1、・・・、350−Nに分配することができる。コマンドディスパッチャ、例えば、図3の318によって実行される操作は、ハードウェア、ソフトウェア、またはこれらの組み合わせに実装することができる。コマンドディスパッチャ、例えば、図3の318は、コマンドプロセッサ部と、ディスパッチャ部とを含むことができる。コマンドプロセッサ部およびディスパッチャ部は、ディスクリートハードウェアモジュールである場合がある、または、それぞれの機能が、制御回路によって統合様式で実装される場合がある。
図9Aは、本開示の1つ以上の実施形態に従って実装される、ダイレクトメモリアクセスモジュール(DMA)ディスクリプタブロックの機能ブロック図である。DDBは、ホストとバックエンドチャネルとの間のデータフローを制御し、コマンドキュー、例えば、図3の386、から、多様なバックエンドチャネルへのコマンドの分配の効率を向上し、それによって、コマンドキュー、例えば、図3の386、を通してコマンドの速度を上げるために、例えば、コマンドキュー、例えば、図3の386、内に保持されるコマンドに関して行う知的意思決定を使用する等、システムの処理能力を最適化するように機能する。
本開示は、いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法を含む。1つ以上の実施形態において、メモリコントローラは、複数のバックエンドチャネルと、複数のバックエンドチャネルに通信可能に結合されるコマンドキュー、例えば、図3の386、と、を含む。コマンドキュー386は、ホストから受信されるホストコマンドを保持するように構成することができる。回路は、コマンドキュー386内のいくつかのホストコマンドに少なくとも応答して、いくつかのバックエンドコマンドを生成し、いくつかのバックエンドコマンドを複数のバックエンドチャネルのうちのいくつかに分配するように構成される。
Claims (68)
- メモリコントローラであって、
複数のバックエンドチャネルと、
前記複数のバックエンドチャネルに通信可能に結合されるコマンドキューであって、ホストによって通信されるホストコマンドを保持するように構成される、コマンドキューと、
前記コマンドキュー内の前記ホストコマンドのうちのいくつかに少なくとも応答していくつかのバックエンドコマンドを生成し、
前記いくつかのバックエンドコマンドを前記複数のバックエンドチャネルのうちのいくつかに分配するように構成される、
回路と、を備える、メモリコントローラ。 - バックエンドコマンドの数は、前記ホストコマンドの数よりも少ない、請求項1に記載のメモリコントローラ。
- バックエンドコマンドの数は、前記ホストコマンドの数よりも多い、請求項1に記載のメモリコントローラ。
- 前記回路は、
単一のホストコマンドに応答して、前記複数のバックエンドチャネルの各々に対応するそれぞれのバックエンドコマンドを生成し、
前記バックエンドコマンドが実質的に並列に処理されるように、前記それぞれのバックエンドコマンドをその対応するバックエンドチャネルに分配するように構成される、請求項3に記載のメモリコントローラ。 - 前記回路は、前記複数のバックエンドコマンドのうちの特定の1つの実行からの結果を、前記複数のバックエンドコマンドのうちの前記特定の1つの完了時に、前記複数のバックエンドコマンドのうちの任意の他の実行の完了にも関係なく、前記ホストに通信するように構成される、請求項4に記載のメモリコントローラ。
- 前記回路は、複数のホストコマンドが実質的に同時に実行されるように、前記複数のホストコマンドを異なる複数のバックエンドチャネルの間で分配するように構成される、請求項1から5のうちのいずれか1項に記載のメモリコントローラ。
- 前記いくつかのバックエンドコマンドを生成することは、前記いくつかのホストコマンドのうちの少なくとも1つを修正することと、前記いくつかのホストコマンドのうちの少なくとも別の1つを削除することとの組み合わせを含む、請求項1から5のうちのいずれか1項に記載のメモリコントローラ。
- ダイレクトメモリアクセスモジュール(DMA)は、生成される前記いくつかのバックエンドコマンドに対応するホストコマンドに関連するデータを分配するように構成される、請求項1から5のうちのいずれか1項に記載のメモリコントローラ。
- 前記回路は、前記複数のバックエンドチャネルの間の前記コマンドの分配を最適化するように、ホストコマンドを修正するように構成されるコマンドプロセッサ部と、前記修正されたコマンドを前記複数のバックエンドチャネルの間で分配するように構成されるディスパッチャ部とを有する、コマンドディスパッチャである、請求項1から5のうちのいずれか1項に記載のメモリコントローラ。
- 前記回路は、前記複数のバックエンドチャネルに通信可能に結合されるフロントエンドプロセッサ(FEP)であって、前記FEPは、前記複数のバックエンドチャネルの間の前記コマンドの分配を最適化するように、ホストコマンドを修正するように構成される、請求項1から5のうちのいずれか1項に記載のメモリコントローラ。
- メモリコントローラであって、
複数のバックエンドチャネルと、
前記複数のバックエンドチャネル、およびいくつかの読み出しコマンドを保持するように構成されるコマンドキューに通信可能に結合されるフロントエンドコマンドディスパッチャと、を備え、
前記コマンドディスパッチャは、前記いくつかの読み出しコマンドによって達成される、メモリからのネット読み出しを判定し、前記複数のバックエンドチャネルの間の前記いくつかの読み出しコマンドの分配を最適化するために、前記いくつかの読み出しコマンドのうちの1つ以上を修正するように構成される、メモリコントローラ。 - 前記フロントエンドコマンドディスパッチャは、前記複数のバックエンドチャネルの間の前記コマンドの分配を最適化するように、1つ以上のコマンドを修正するように構成されるコマンドプロセッサ部と、前記複数のバックエンドチャネルの間でコマンドを分配するように構成されるディスパッチャ部とを含む、請求項11に記載のメモリコントローラ。
- 前記フロントエンドコマンドディスパッチャは、ハードウェアの中でホストコマンド整合性チェックを実行するように構成される、請求項11に記載のメモリコントローラ。
- 前記複数のバックエンドチャネルに通信可能に結合されるフロントエンドプロセッサ(FEP)を含み、
前記FEPは、前記いくつかの読み出しコマンドによって達成される、メモリからのネット読み出しを判定し、前記複数のバックエンドチャネルの間で前記いくつかの読み出しコマンドの分配を最適化するために、前記いくつかの読み出しコマンドのうちの1つ以上を修正するように構成される、請求項11から13のうちのいずれか1項に記載のメモリコントローラ。 - メモリコントローラであって、
複数のバックエンドチャネルと、
前記複数のバックエンドチャネル、およびいくつかの書き込みコマンドを保持するように構成されるコマンドキューに通信可能に結合されるフロントエンドコマンドディスパッチャと、を備え、
前記コマンドディスパッチャは、前記いくつかの書き込みコマンドによって達成される、メモリへのネット変更を判定し、前記複数のバックエンドチャネルの中の前記いくつかの書き込みコマンドの分配を最適化するために、前記いくつかの書き込みコマンドのうちの1つ以上を修正するように構成される、メモリコントローラ。 - 前記コマンドディスパッチャは、前記複数のバックエンドチャネルがビジーである時のみ、分配を最適化するために、前記いくつかの書き込みコマンドのうちの1つ以上を修正するように構成される、請求項15に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、前記いくつかの書き込みコマンドによって前記判定されるメモリへのネット変更を変更することなく、前記コマンドキューからの前記いくつかの書き込みコマンドのうちの1つを分配しないように構成される、請求項15に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、前記コマンドキュー内の第1の書き込みコマンドに関連するメモリ範囲を、前記コマンドキュー内の第2の書き込みコマンドの前記メモリ範囲の部分を含むように修正し、それ以降、前記いくつかの書き込みコマンドによって前記判定されるメモリへのネット変更を変更することなく、前記コマンドキューからの前記第2の書き込みコマンドを分配しないように構成される、請求項17に記載のメモリコントローラ。
- 前記いくつかの書き込みコマンドは、最初の順序で前記コマンドキュー内に受信され、前記コマンドディスパッチャは、前記コマンドキュー内の前記いくつかの書き込みコマンドの順序を前記最初の順序から変更された順序に変更するように構成される、請求項15から18のうちのいずれか1項に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、前記最初の順序ではなく、前記コマンドキュー内の前記いくつかの書き込みコマンドの前記変更された順序に従って、コマンドを分配するように構成される、請求項19に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、コマンドを重複するメモリ位置に組み合わせることによって、前記コマンドキュー内の前記いくつかの書き込みコマンドのうちの少なくとも1つを修正するように構成される、請求項15〜18のうちのいずれか1項に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、前記いくつかの書き込みコマンドのうちの少なくとも1つが修正されることに応答して、前記コマンドキュー内の前記いくつかの書き込みコマンドの順序を変更された順序に変更するように構成される、請求項21に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、前記コマンドキュー内の次に実行される書き込みコマンドによって上書きされる、いくつかのメモリ位置に関与することが判定された書き込みコマンドを分配しないように構成される、請求項21に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、介在する読み出し動作が前記いくつかのメモリ位置に関与することなく、次に実行される書き込みコマンドによって上書きされる、前記いくつかのメモリ位置に関与することが判定された書き込みコマンドを実行しないように構成される、請求項21に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、複数の書き込みコマンドを単一の書き込みコマンドにグループ化するように構成される、請求項21に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、少なくとも2つの書き込みコマンドが、論理的に隣接したメモリ位置に関与する同じ動作であると判定し、前記少なくとも2つの書き込みコマンドを、前記論理的に隣接したメモリ位置に関与する単一の書き込みコマンドに組み合わせるように構成される、請求項25に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、少なくとも2つの書き込みコマンドが、論理的に重複するメモリ位置に関与する同じ動作であると判定し、前記少なくとも2つの書き込みコマンドを、前記論理的に重複するメモリ位置に関与する単一の書き込みコマンドに組み合わせるように構成される、請求項25に記載のメモリコントローラ。
- 特定の書き込みコマンドに関連する前記ペイロードは、前記複数のバックエンドチャネルのうちの2つ以上の間で分配され、前記コマンドディスパッチャは、前記特定の書き込みコマンドを前記複数のバックエンドチャネルのうちの2つ以上の各々に分配するように構成される、請求項15から18のうちのいずれか1項に記載のメモリコントローラ。
- 前記コマンドディスパッチャは、前記複数のバックエンドチャネルのうちの2つ以上の各々に関連する前記ペイロードの部分に対して、関連論理ブロックアドレスおよびセクタカウントを決定し、前記ペイロードの前記関連部分に対して、前記論理ブロックアドレスおよびセクタカウントで、それぞれのバックエンドチャネルに分配される前記特定の書き込みコマンドを修正するように構成される、請求項28に記載のメモリコントローラ。
- 前記コマンドディスパッチャが前記複数のバックエンドチャネルにコマンドを分配することを阻止される間、前記コマンドディスパッチャは、前記コマンドキュー内の書き込みコマンドを修正するように構成される、請求項15から18のうちのいずれか1項に記載のメモリコントローラ。
- メモリシステムであって、
いくつかの記憶装置と、
フロントエンドダイレクトメモリアクセスモジュール(DMA)、ならびに前記いくつかの記憶装置のそれぞれ1つと前記フロントエンドDMAとの間で通信可能に結合されるいくつかのバックエンドチャネルを有するコントローラであって、前記フロントエンドDMAは、ホストにより通信される単一のホストコマンドに関連するペイロードを処理するように構成される、コントローラと、を備え、前記ペイロードのそれぞれの部分は、前記いくつかのバックエンドチャネルにわたって実質的に同時に実行されている、対応する複数のバックエンドコマンドに関連する、メモリシステム。 - 前記単一のホストコマンドは、書き込みコマンドであって、前記フロントエンドDMAは、前記複数のバックエンドコマンドに対応する前記いくつかのバックエンドチャネルのうちの2つ以上の間で前記単一のホストコマンドに関連する前記ペイロードを分配するように構成される、請求項31に記載のメモリシステム。
- 前記単一のホストコマンドは、読み出しコマンドであって、前記フロントエンドDMAは、前記複数のバックエンドコマンドに対応する前記いくつかのバックエンドチャネルのうちの2つ以上の中から、前記単一のホストコマンドに関連するペイロードを組み立てるように構成される、請求項31に記載のメモリシステム。
- 前記フロントエンドDMAは、前記複数のバックエンドコマンドの各々に関連する前記ペイロードの各それぞれの部分に対して、論理ブロックアドレスおよびセクタカウントを決定するように構成され、前記複数のバックエンドコマンドの各々は、前記ホストコマンドを模倣するが、前記いくつかのバックエンドチャネルのそれぞれの1つに対応する、修正されたそれぞれの論理ブロックアドレスおよびセクタカウントを含む、請求項31に記載のメモリシステム。
- 前記フロントエンドDMAは、前記複数のバックエンドコマンドに関連する前記ペイロードの部分を、単一のバックエンドチャネルによって実行されていた場合に前記ホストコマンドが前記ペイロードを生成したであろう順序とは異なる順序で、ホストに通信するように構成される、請求項31から34のうちのいずれか1項に記載のメモリシステム。
- 前記フロントエンドDMAは、前記複数のバックエンドコマンドに関連する前記ペイロードの部分を、前記部分が前記複数のバックエンドチャネルから受信される順序で、通信するように構成される、請求項35に記載のメモリシステム。
- 前記フロントエンドDMAは、ホストコマンドが前記ホストによって通信される順序とは異なる順序で、コマンド完了ステータスのインジケータを前記ホストに通信するように構成される、請求項31から34のうちのいずれか1項に記載のメモリシステム。
- 前記フロントエンドDMAは、バックエンドコマンドが前記いくつかのバックエンドチャネルによって完了される順序で、コマンド完了ステータスのインジケータを前記ホストに通信するように構成される、請求項37に記載のメモリシステム。
- 前記部分の各々は、特定のバックエンドチャネルに対応し、前記フロントエンドDMAは、前記部分の各々を個別に、他の部分とは別に前記ホストに通信するように構成される、請求項31から34のうちのいずれか1項に記載のメモリシステム。
- 前記フロントエンドDMAは、前記部分を前記単一のホストコマンドに関連する完全なペイロードに組み立てることなく、前記いくつかのバックエンドチャネルのうちの1つからの前記それぞれの部分の受信後、前記部分のうちの1つを前記ホストに通信するように構成される、請求項39に記載のメモリシステム。
- 前記単一のホストコマンドは、読み出しコマンドで、前記部分の各々は、異なるバックエンドチャネルに関連する、請求項40に記載のメモリシステム。
- 前記フロントエンドDMAは、前記いくつかのバックエンドチャネルのうちの1つが、それに関連する前記部分の処理を完了すると、前記部分の各々を前記ホストに通信するように構成される、請求項40に記載のメモリシステム。
- 前記単一のホストコマンドは、第1の順序のホストコマンドの一部として前記フロントエンドDMAで受信される書き込みコマンドであり、前記ホストコマンドは、第2の順序で完了され、前記フロントエンドDMAは、前記第2の順序に従って、前記単一のホストコマンドのコマンド完了ステータスのインジケータを前記ホストに通信するように構成される、請求項31から34のうちのいずれか1項に記載のメモリシステム。
- ソリッドステートドライブであって、
複数のフラッシュ記憶装置と、
メモリコントローラであって、
各々が前記複数の記憶装置のうちのいくつかに通信可能に結合される、複数のバックエンドチャネルと、
前記複数のバックエンドチャネルに通信可能に結合されるフロントエンドダイレクトメモリアクセス(DMA)と、
いくつかのコマンドを保持するように構成されるコマンドキューを有する前記DMAに通信可能に結合されるフロントエンドコマンドディスパッチャと、を備える、メモリコントローラと、を備え、
前記コマンドディスパッチャは、前記いくつかのコマンドに基づいて、前記複数のバックエンドチャネルの間のそれらの分配を最適化するようにコマンドを処理し、その後前記コマンドキュー内に保持されるように構成され、前記フロントエンドDMAは、前記複数のバックエンドチャネルのうちの2つ以上に関与する少なくとも1つのコマンドに関連するそれぞれのペイロードを処理するように構成される、ソリッドステートドライブ。 - 前記メモリコントローラに通信可能に結合されるシリアルアドバンストテクノロジーアタッチメント(SATA)インターフェースを含み、前記SATAインターフェースは、ホストと通信するように構成される、請求項44に記載のソリッドステートドライブ。
- 前記複数のバックエンドチャネルの各々は、前記複数の記憶装置のうちのそれぞれ1つに通信可能に結合される、請求項44に記載のソリッドステートドライブ。
- 前記複数のフラッシュメモリ装置は、8つのNANDフラッシュメモリ装置を備え、前記複数のバックエンドチャネルは、8つのバックエンドチャネルを備える、請求項46に記載のソリッドステートドライブ。
- 前記コマンドディスパッチャは、コマンドの順序を選択的に変更すること、コマンドを選択的に組み合わせること、および/またはコマンドを選択的に削除することによって、前記コントローラのバックエンドに対するそれらの分配を最適化するために、前記コントローラのフロントエンド上でコマンドを処理するように構成される、請求項44から47のうちのいずれか1項に記載のソリッドステートドライブ。
- 前記複数のバックエンドチャネルの各々は、受信したコマンドの順序を選択的に変更すること、受信したコマンドを選択的に組み合わせること、および/またはコマンドを選択的に削除することによって、それぞれ受信したコマンドの実行を早めるように、前記それぞれ受信したコマンドをさらに処理するように構成される、請求項48に記載のソリッドステートドライブ。
- 複数のバックエンドチャネルの間でいくつかのコマンドを分配する前に、前記いくつかのコマンドを処理する方法であって、
ホストからいくつかのコマンドをある順序で受信することと、
フロントエンド処理能力を改善するために、前記いくつかのコマンドを処理することと、を含み、
前記処理することは、
前記コマンドの順序を変更すること、
複数のコマンドを単一のコマンドに組み合わせること、および/または
その次に実行されるコマンドによって上書きされることが判定されるメモリ位置に関与するコマンドであって、介在する動作が前記メモリ位置に関与することのない、コマンドを削除すること、を含み、
前記いくつかのコマンドのうちの少なくとも1つは、2つ以上のバックエンドチャネルに分配される、方法。 - 前記処理は、前記バックエンドチャネルがビジーである時のみに発生する、請求項50に記載の方法。
- 前記順序の変更は、少なくとも部分的に、コマンドを組み合わせること、またはコマンドを削除することに応答する、請求項50に記載の方法。
- 複数のコマンドを組み合わせることは、隣接したメモリ位置に関与するコマンドを単一のコマンドにグループ化することを含む、請求項50から52のうちのいずれか1項に記載の方法。
- 複数のコマンドを組み合わせることは、前記いくつかの同じメモリ位置に関与するコマンドを単一のコマンドにグループ化することを含む、請求項50から52のうちのいずれか1項に記載の方法。
- コマンドを組み合わせることは、特定の記憶装置上の逐次的なメモリ位置に関与するコマンドを単一のコマンドに融合することを含む、請求項50から52のうちのいずれか1項に記載の方法。
- コマンドを組み合わせることは、特定の記憶装置上の重複するメモリ位置に関与するコマンドを単一のコマンドに融合することを含む、請求項50から52のうちのいずれか1項に記載の方法。
- 前記処理することは、前記いくつかのコマンドのうちの少なくとも1つに対して、前記いくつかのコマンドのうちの前記少なくとも1つに関連するペイロードの各部分に対するそれぞれの論理ブロックアドレスおよびセクタカウントを決定することと、前記それぞれの論理ブロックアドレスおよびセクタカウントで、前記特定のバックエンドチャネルに分配された前記いくつかのコマンドのうちの前記少なくとも1つを修正すること、を含む、請求項50から52のうちのいずれか1項に記載の方法。
- いくつかのコマンドを処理する方法であって、
ホストからいくつかのコマンドをある順序で受信することと、
複数のバックエンドチャネルのうちの2つ以上が関与するペイロードに関連する少なくとも1つのコマンドを処理することと、を含む、方法。 - 前記複数のバックエンドチャネルのうちの2つ以上の間で前記少なくとも1つのコマンドに関連する前記ペイロードを分配することを含み、前記少なくとも1つのコマンドは、書き込みコマンドである、請求項58に記載の方法。
- 前記複数のバックエンドチャネルのうちの2つ以上から、前記少なくとも1つのコマンドに関連する前記ペイロードを組み立てることを含み、前記少なくとも1つのコマンドは、読み出しコマンドである、請求項58に記載の方法。
- 前記少なくとも1つのコマンドに関連する前記複数のバックエンドチャネルのうちのそれぞれ1つに関与する前記ペイロードの各部分に対して、関連の論理ブロックアドレスおよびセクタカウントを決定することと、
前記それぞれのバックエンドチャネルに特定の前記決定された論理ブロックアドレスおよびセクタカウントで、前記それぞれのバックエンドチャネルに分配される前記少なくとも1つのコマンドを修正することと、を含む、請求項58に記載の方法。 - 前記バックエンドチャネルから、前記いくつかのコマンドのうちの1つに関連するペイロードを受信することと、
前記いくつかのコマンドが前記ホストによって通信された順序とは異なる順序に従って、前記受信されたペイロードを前記ホストに通信することと、を含む、
請求項58に記載の方法。 - 前記バックエンドチャネルのうちの別の1つから、前記ペイロードの別の部分を受信することを待つことなく、前記バックエンドチャネルのうちの別の1つから受信される前記ペイロードの別の部分を、前記ホストに通信することを含む、請求項58から62のうちのいずれか1項に記載の方法。
- 前記ペイロードを再び組み立てることなく、前記バックエンドチャネルのうちの前記1つから受信された前記ペイロードの前記部分を、前記ホストに通信することを含む、請求項63に記載の方法。
- 前記特定のコマンドの完了時に、前記コマンドが前記ホストによって通信された前記順序とは無関係に、前記いくつかのコマンドのうちの特定のコマンドの完了ステータスのインジケータを、前記ホストに通信することを含む、請求項58から62のうちのいずれか1項に記載の方法。
- 前記特定のコマンドを受信する前に第1のコマンドを受信することと、
前記第1のコマンドを第1のバックエンドチャネルに分配することと、
前記特定のコマンドを第2のバックエンドチャネルに分配することと、
前記特定のコマンドの完了時に、前記第1のコマンドの完了とは無関係に、前記特定のコマンドの前記完了ステータスの前記インジケータを、前記ホストに通信することと、を含む、請求項65に記載の方法。 - 前記いくつかのコマンドを前記複数のバックエンドチャネルの間で分配する前に、フロントエンドの処理能力を向上するように、前記いくつかのコマンドを処理することを含み、前記コマンドの処理は、
前記コマンドの順序を変更すること、
複数のコマンドを組み合わせること、および/または
コマンドを削除すること、のうちの1つ以上を含む、請求項58から62のうちのいずれか1項に記載の方法。 - 前記複数のバックエンドチャネルのうちの2つ以上の間で、少なくとも1つの組み合わされたコマンドに関連する前記ペイロードを分配することを含み、組み合わされるコマンドは、前記複数のバックエンドチャネルのうちの特定の1つに関与するそれらのペイロードのうちの少なくとも部分を有する、請求項67に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/421,093 US8055816B2 (en) | 2009-04-09 | 2009-04-09 | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US12/421,093 | 2009-04-09 | ||
PCT/US2010/000732 WO2010117404A2 (en) | 2009-04-09 | 2010-03-11 | Memory controllers, memory systems, solid state drivers and methods for processing a number of commands |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012523612A true JP2012523612A (ja) | 2012-10-04 |
JP5729774B2 JP5729774B2 (ja) | 2015-06-03 |
Family
ID=42935228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012504666A Active JP5729774B2 (ja) | 2009-04-09 | 2010-03-11 | いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法 |
Country Status (7)
Country | Link |
---|---|
US (7) | US8055816B2 (ja) |
EP (2) | EP2958027B1 (ja) |
JP (1) | JP5729774B2 (ja) |
KR (1) | KR101371815B1 (ja) |
CN (1) | CN102439576B (ja) |
TW (1) | TWI418989B (ja) |
WO (1) | WO2010117404A2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015215774A (ja) * | 2014-05-12 | 2015-12-03 | Tdk株式会社 | メモリコントローラ、メモリシステム及びメモリ制御方法 |
JP5866032B2 (ja) * | 2013-08-19 | 2016-02-17 | 株式会社東芝 | メモリシステム |
US9760295B2 (en) | 2014-09-05 | 2017-09-12 | Toshiba Memory Corporation | Atomic rights in a distributed memory system |
JP2019164487A (ja) * | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | メモリシステム |
Families Citing this family (173)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681282A (zh) | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
KR101006748B1 (ko) * | 2009-01-29 | 2011-01-10 | (주)인디링스 | 패드들의 동시 스위칭을 제어하는 고체 상태 디스크를 위한컨트롤러 |
US8271720B1 (en) | 2009-03-02 | 2012-09-18 | Marvell International Ltd. | Adaptive physical allocation in solid-state drives |
KR101662729B1 (ko) * | 2009-05-08 | 2016-10-06 | 삼성전자주식회사 | 시리얼 인터페이스 프로토콜을 사용하여 호스트와 인터페이스하는 비휘발성 메모리 기반 저장 장치의 커맨드 처리 방법 및 상기 방법을 수행하기 위한 메모리 컨트롤러 |
US20110004742A1 (en) * | 2009-07-06 | 2011-01-06 | Eonsil, Inc. | Variable-Cycle, Event-Driven Multi-Execution Flash Processor |
WO2011019494A1 (en) * | 2009-08-11 | 2011-02-17 | Marvell World Trade Ltd. | Controller for reading data from non-volatile memory |
TW201111986A (en) * | 2009-09-29 | 2011-04-01 | Silicon Motion Inc | Memory apparatus and data access method for memories |
US9213628B2 (en) | 2010-07-14 | 2015-12-15 | Nimble Storage, Inc. | Methods and systems for reducing churn in flash-based cache |
JP4966404B2 (ja) * | 2010-10-21 | 2012-07-04 | 株式会社東芝 | メモリ制御装置、記憶装置、及びメモリ制御方法 |
JP2012128644A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
US20120233401A1 (en) * | 2011-03-08 | 2012-09-13 | Skymedi Corporation | Embedded memory system |
US8856482B2 (en) * | 2011-03-11 | 2014-10-07 | Micron Technology, Inc. | Systems, devices, memory controllers, and methods for memory initialization |
US9021215B2 (en) * | 2011-03-21 | 2015-04-28 | Apple Inc. | Storage system exporting internal storage rules |
US8924627B2 (en) | 2011-03-28 | 2014-12-30 | Western Digital Technologies, Inc. | Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency |
WO2012143944A2 (en) * | 2011-04-18 | 2012-10-26 | Ineda Systems Pvt. Ltd | Multi-host nand flash controller |
US9436594B2 (en) * | 2011-05-27 | 2016-09-06 | Seagate Technology Llc | Write operation with immediate local destruction of old content in non-volatile memory |
US8543758B2 (en) | 2011-05-31 | 2013-09-24 | Micron Technology, Inc. | Apparatus including memory channel control circuit and related methods for relaying commands to logical units |
KR101835604B1 (ko) * | 2011-06-03 | 2018-03-07 | 삼성전자 주식회사 | 메모리를 위한 스케줄러 |
GB2494625A (en) * | 2011-09-06 | 2013-03-20 | St Microelectronics Grenoble 2 | Minimizing the latency of a scrambled memory access by sending a memory access operation to the encryption engine and the memory controller in parallel |
US8255618B1 (en) * | 2011-10-06 | 2012-08-28 | Google Inc. | Performance isolation in a shared memory device |
US8886872B1 (en) | 2011-10-06 | 2014-11-11 | Google Inc. | Memory command dispatch in a data storage device |
WO2013068862A1 (en) * | 2011-11-11 | 2013-05-16 | International Business Machines Corporation | Memory module and memory controller for controlling a memory module |
US9274937B2 (en) * | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US8904091B1 (en) * | 2011-12-22 | 2014-12-02 | Western Digital Technologies, Inc. | High performance media transport manager architecture for data storage systems |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US8811913B2 (en) * | 2012-02-21 | 2014-08-19 | Htc Corporation | RF calibration data management in portable device |
US9146856B2 (en) * | 2012-04-10 | 2015-09-29 | Micron Technology, Inc. | Remapping and compacting in a memory device |
US9141296B2 (en) | 2012-05-31 | 2015-09-22 | Sandisk Technologies Inc. | Method and host device for packing and dispatching read and write commands |
CN102789439B (zh) * | 2012-06-16 | 2016-02-10 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法与存储设备 |
US9557800B2 (en) * | 2012-08-31 | 2017-01-31 | Micron Technology, Inc. | Sequence power control |
US10095433B1 (en) * | 2012-10-24 | 2018-10-09 | Western Digital Technologies, Inc. | Out-of-order data transfer mechanisms for data storage systems |
KR101988287B1 (ko) | 2012-11-26 | 2019-06-12 | 삼성전자주식회사 | 저장 장치 및 그것을 포함하는 컴퓨팅 시스템, 및 그것의 데이터 전송 방법 |
US9256384B2 (en) * | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
US9244877B2 (en) | 2013-03-14 | 2016-01-26 | Intel Corporation | Link layer virtualization in SATA controller |
US9170755B2 (en) | 2013-05-21 | 2015-10-27 | Sandisk Technologies Inc. | Command and data selection in storage controller systems |
JP6160294B2 (ja) * | 2013-06-24 | 2017-07-12 | 富士通株式会社 | ストレージシステム、ストレージ装置及びストレージシステムの制御方法 |
TWI493455B (zh) * | 2013-07-02 | 2015-07-21 | Phison Electronics Corp | 命令佇列管理方法、記憶體控制器及記憶體儲存裝置 |
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
US10331583B2 (en) * | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
US9292903B2 (en) | 2013-10-03 | 2016-03-22 | Google Inc. | Overlap aware reordering of rendering operations for efficiency |
US8854385B1 (en) * | 2013-10-03 | 2014-10-07 | Google Inc. | Merging rendering operations for graphics processing unit (GPU) performance |
US9824004B2 (en) | 2013-10-04 | 2017-11-21 | Micron Technology, Inc. | Methods and apparatuses for requesting ready status information from a memory |
US9880777B1 (en) * | 2013-12-23 | 2018-01-30 | EMC IP Holding Company LLC | Embedded synchronous replication for block and file objects |
US10108372B2 (en) | 2014-01-27 | 2018-10-23 | Micron Technology, Inc. | Methods and apparatuses for executing a plurality of queued tasks in a memory |
US9454310B2 (en) * | 2014-02-14 | 2016-09-27 | Micron Technology, Inc. | Command queuing |
TW201533657A (zh) * | 2014-02-18 | 2015-09-01 | Toshiba Kk | 資訊處理系統及記憶體系統 |
US20150261473A1 (en) * | 2014-03-11 | 2015-09-17 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
US9507722B2 (en) | 2014-06-05 | 2016-11-29 | Sandisk Technologies Llc | Methods, systems, and computer readable media for solid state drive caching across a host bus |
US9563382B2 (en) | 2014-06-05 | 2017-02-07 | Sandisk Technologies Llc | Methods, systems, and computer readable media for providing flexible host memory buffer |
US9652415B2 (en) | 2014-07-09 | 2017-05-16 | Sandisk Technologies Llc | Atomic non-volatile memory data transfer |
US9904621B2 (en) | 2014-07-15 | 2018-02-27 | Sandisk Technologies Llc | Methods and systems for flash buffer sizing |
US9645744B2 (en) | 2014-07-22 | 2017-05-09 | Sandisk Technologies Llc | Suspending and resuming non-volatile memory operations |
US10268584B2 (en) | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
US10228854B2 (en) | 2014-08-20 | 2019-03-12 | Sandisk Technologies Llc | Storage devices and methods for optimizing use of storage devices based on storage device parsing of file system metadata in host write operations |
US10007442B2 (en) * | 2014-08-20 | 2018-06-26 | Sandisk Technologies Llc | Methods, systems, and computer readable media for automatically deriving hints from accesses to a storage device and from file system metadata and for optimizing utilization of the storage device based on the hints |
US20160062729A1 (en) * | 2014-09-03 | 2016-03-03 | Qualcomm Incorporated | Multi-channel audio communication in a serial low-power inter-chip media bus (slimbus) system |
TWI512609B (zh) * | 2014-09-05 | 2015-12-11 | Silicon Motion Inc | 讀取命令排程方法以及使用該方法的裝置 |
US10101943B1 (en) * | 2014-09-25 | 2018-10-16 | EMC IP Holding Company LLC | Realigning data in replication system |
US20160094619A1 (en) * | 2014-09-26 | 2016-03-31 | Jawad B. Khan | Technologies for accelerating compute intensive operations using solid state drives |
US9910621B1 (en) | 2014-09-29 | 2018-03-06 | EMC IP Holding Company LLC | Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements |
US9753649B2 (en) | 2014-10-27 | 2017-09-05 | Sandisk Technologies Llc | Tracking intermix of writes and un-map commands across power cycles |
US9952978B2 (en) | 2014-10-27 | 2018-04-24 | Sandisk Technologies, Llc | Method for improving mixed random performance in low queue depth workloads |
US9817752B2 (en) | 2014-11-21 | 2017-11-14 | Sandisk Technologies Llc | Data integrity enhancement to protect against returning old versions of data |
US9824007B2 (en) | 2014-11-21 | 2017-11-21 | Sandisk Technologies Llc | Data integrity enhancement to protect against returning old versions of data |
US9575669B2 (en) * | 2014-12-09 | 2017-02-21 | Western Digital Technologies, Inc. | Programmable solid state drive controller and method for scheduling commands utilizing a data structure |
US9778848B2 (en) * | 2014-12-23 | 2017-10-03 | Intel Corporation | Method and apparatus for improving read performance of a solid state drive |
TWI553476B (zh) | 2015-03-05 | 2016-10-11 | 光寶電子(廣州)有限公司 | 區域描述元管理方法及其電子裝置 |
US10073714B2 (en) * | 2015-03-11 | 2018-09-11 | Western Digital Technologies, Inc. | Task queues |
US9772796B2 (en) | 2015-04-09 | 2017-09-26 | Sandisk Technologies Llc | Multi-package segmented data transfer protocol for sending sub-request to multiple memory portions of solid-state drive using a single relative memory address |
US10372529B2 (en) | 2015-04-20 | 2019-08-06 | Sandisk Technologies Llc | Iterative soft information correction and decoding |
US9778878B2 (en) * | 2015-04-22 | 2017-10-03 | Sandisk Technologies Llc | Method and system for limiting write command execution |
KR102398611B1 (ko) * | 2015-05-07 | 2022-05-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US10698607B2 (en) * | 2015-05-19 | 2020-06-30 | Netapp Inc. | Configuration update management |
KR102367982B1 (ko) | 2015-06-22 | 2022-02-25 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US9870149B2 (en) | 2015-07-08 | 2018-01-16 | Sandisk Technologies Llc | Scheduling operations in non-volatile memory devices using preference values |
JP2017027479A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | データ読出し方法及び情報処理システム |
US9715939B2 (en) | 2015-08-10 | 2017-07-25 | Sandisk Technologies Llc | Low read data storage management |
US9904635B2 (en) * | 2015-08-27 | 2018-02-27 | Samsung Electronics Co., Ltd. | High performance transaction-based memory systems |
CN106547701B (zh) * | 2015-09-17 | 2020-01-10 | 慧荣科技股份有限公司 | 记忆装置及数据读取方法 |
TWI587141B (zh) * | 2015-09-17 | 2017-06-11 | 慧榮科技股份有限公司 | 記憶裝置及資料讀取方法 |
US9886196B2 (en) | 2015-10-21 | 2018-02-06 | Western Digital Technologies, Inc. | Method and system for efficient common processing in memory device controllers |
US10108340B2 (en) | 2015-10-21 | 2018-10-23 | Western Digital Technologies, Inc. | Method and system for a common processing framework for memory device controllers |
US10452596B2 (en) * | 2015-10-29 | 2019-10-22 | Micron Technology, Inc. | Memory cells configured in multiple configuration modes |
US9904609B2 (en) * | 2015-11-04 | 2018-02-27 | Toshiba Memory Corporation | Memory controller and memory device |
US10228990B2 (en) | 2015-11-12 | 2019-03-12 | Sandisk Technologies Llc | Variable-term error metrics adjustment |
US10126970B2 (en) | 2015-12-11 | 2018-11-13 | Sandisk Technologies Llc | Paired metablocks in non-volatile storage device |
US10437483B2 (en) * | 2015-12-17 | 2019-10-08 | Samsung Electronics Co., Ltd. | Computing system with communication mechanism and method of operation thereof |
US10275160B2 (en) * | 2015-12-21 | 2019-04-30 | Intel Corporation | Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller |
US9927997B2 (en) | 2015-12-21 | 2018-03-27 | Sandisk Technologies Llc | Methods, systems, and computer readable media for automatically and selectively enabling burst mode operation in a storage device |
US9837146B2 (en) | 2016-01-08 | 2017-12-05 | Sandisk Technologies Llc | Memory system temperature management |
US10732856B2 (en) | 2016-03-03 | 2020-08-04 | Sandisk Technologies Llc | Erase health metric to rank memory portions |
JP6502879B2 (ja) * | 2016-03-08 | 2019-04-17 | 東芝メモリ株式会社 | 記憶装置 |
US20170344262A1 (en) * | 2016-05-25 | 2017-11-30 | SK Hynix Inc. | Data processing system and method for operating the same |
US10521118B2 (en) | 2016-07-13 | 2019-12-31 | Sandisk Technologies Llc | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) |
US10481830B2 (en) | 2016-07-25 | 2019-11-19 | Sandisk Technologies Llc | Selectively throttling host reads for read disturbs in non-volatile memory system |
US10200376B2 (en) | 2016-08-24 | 2019-02-05 | Intel Corporation | Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network |
CN109643093A (zh) * | 2016-08-30 | 2019-04-16 | 三菱电机株式会社 | 程序编辑装置、程序编辑方法及程序编辑程序 |
US10176116B2 (en) * | 2016-09-28 | 2019-01-08 | Intel Corporation | Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources |
US10402168B2 (en) | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
KR102387922B1 (ko) * | 2017-02-07 | 2022-04-15 | 삼성전자주식회사 | 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템 |
US20180336034A1 (en) * | 2017-05-17 | 2018-11-22 | Hewlett Packard Enterprise Development Lp | Near memory computing architecture |
US10621117B2 (en) * | 2017-06-15 | 2020-04-14 | Micron Technology, Inc. | Controlling memory devices using a shared channel |
US10521375B2 (en) | 2017-06-22 | 2019-12-31 | Macronix International Co., Ltd. | Controller for a memory system |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
KR20190032809A (ko) | 2017-09-20 | 2019-03-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10409739B2 (en) * | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
CN108628759B (zh) * | 2017-12-29 | 2020-09-01 | 贵阳忆芯科技有限公司 | 乱序执行nvm命令的方法与装置 |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
KR102516547B1 (ko) * | 2018-03-08 | 2023-04-03 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20190110360A (ko) | 2018-03-20 | 2019-09-30 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 시스템 및 그 동작 방법 |
US10705747B2 (en) * | 2018-03-21 | 2020-07-07 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
JP2019175292A (ja) * | 2018-03-29 | 2019-10-10 | 東芝メモリ株式会社 | 電子機器、コンピュータシステム、および制御方法 |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
CN108874685B (zh) * | 2018-06-21 | 2021-10-29 | 郑州云海信息技术有限公司 | 固态硬盘的数据处理方法以及固态硬盘 |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
KR102649657B1 (ko) * | 2018-07-17 | 2024-03-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
US10884920B2 (en) | 2018-08-14 | 2021-01-05 | Western Digital Technologies, Inc. | Metadata-based operations for use with solid state devices |
CN110851073B (zh) * | 2018-08-20 | 2023-06-02 | 慧荣科技股份有限公司 | 储存装置及巨集指令的执行方法 |
CN110851372B (zh) | 2018-08-20 | 2023-10-31 | 慧荣科技股份有限公司 | 储存装置及快取区定址方法 |
CN110858127B (zh) * | 2018-08-22 | 2023-09-12 | 慧荣科技股份有限公司 | 数据存储装置 |
US11188496B2 (en) * | 2018-09-13 | 2021-11-30 | Toshiba Memory Corporation | System and method for storing data using ethernet drives and ethernet open-channel drives |
US11340810B2 (en) | 2018-10-09 | 2022-05-24 | Western Digital Technologies, Inc. | Optimizing data storage device operation by grouping logical block addresses and/or physical block addresses using hints |
US11249664B2 (en) | 2018-10-09 | 2022-02-15 | Western Digital Technologies, Inc. | File system metadata decoding for optimizing flash translation layer operations |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US11455402B2 (en) | 2019-01-30 | 2022-09-27 | Seagate Technology Llc | Non-volatile memory with precise write-once protection |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
CN110187835B (zh) * | 2019-05-24 | 2023-02-03 | 北京百度网讯科技有限公司 | 用于管理访问请求的方法、装置、设备和存储介质 |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US20210064368A1 (en) * | 2019-08-28 | 2021-03-04 | Micron Technology, Inc. | Command tracking |
CN110737540B (zh) * | 2019-09-29 | 2023-06-06 | 深圳忆联信息系统有限公司 | 用于ssd读取异常的恢复优化方法、装置、设备、存储介质 |
KR20210053384A (ko) | 2019-11-01 | 2021-05-12 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US11797188B2 (en) * | 2019-12-12 | 2023-10-24 | Sk Hynix Nand Product Solutions Corp. | Solid state drive with multiplexed internal channel access during program data transfers |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
US11137943B2 (en) * | 2020-03-04 | 2021-10-05 | Micron Technology, Inc. | Internal commands for access operations |
US11138115B2 (en) * | 2020-03-04 | 2021-10-05 | Micron Technology, Inc. | Hardware-based coherency checking techniques |
US11222258B2 (en) | 2020-03-27 | 2022-01-11 | Google Llc | Load balancing for memory channel controllers |
US11579801B2 (en) * | 2020-06-09 | 2023-02-14 | Samsung Electronics Co., Ltd. | Write ordering in SSDs |
US11681465B2 (en) * | 2020-06-12 | 2023-06-20 | Advanced Micro Devices, Inc. | Dynamic multi-bank memory command coalescing |
US11307806B2 (en) | 2020-07-22 | 2022-04-19 | Seagate Technology Llc | Controlling SSD performance by queue depth |
US11347394B2 (en) | 2020-08-03 | 2022-05-31 | Seagate Technology Llc | Controlling SSD performance by the number of active memory dies |
US11507298B2 (en) * | 2020-08-18 | 2022-11-22 | PetaIO Inc. | Computational storage systems and methods |
US11847037B2 (en) | 2020-09-16 | 2023-12-19 | Kioxia Corporation | Device and method for high performance memory debug record generation and management |
US11966343B2 (en) | 2021-07-19 | 2024-04-23 | Samsung Electronics Co., Ltd. | Universal mechanism to access and control a computational device |
US20230120600A1 (en) * | 2021-10-20 | 2023-04-20 | Western Digital Technologies, Inc. | Data Storage Devices, Systems, and Related Methods for Grouping Commands of Doorbell Transactions from Host Devices |
KR20230082377A (ko) | 2021-12-01 | 2023-06-08 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 시스템 |
CN114416178A (zh) * | 2021-12-16 | 2022-04-29 | 北京小米移动软件有限公司 | 数据访问方法、装置及非临时性计算机可读存储介质 |
CN114721984B (zh) * | 2022-03-30 | 2024-03-26 | 湖南长城银河科技有限公司 | 面向低延时应用的sata接口数据传输方法和系统 |
US20230393784A1 (en) * | 2022-06-03 | 2023-12-07 | Micron Technology, Inc. | Data path sequencing in memory systems |
US20240004788A1 (en) * | 2022-07-01 | 2024-01-04 | Micron Technology, Inc. | Adaptive configuration of memory devices using host profiling |
US20240061615A1 (en) * | 2022-08-22 | 2024-02-22 | Micron Technology, Inc. | Command scheduling for a memory system |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09128159A (ja) * | 1995-11-06 | 1997-05-16 | Matsushita Electric Ind Co Ltd | 記憶装置 |
JP2002510079A (ja) * | 1998-01-23 | 2002-04-02 | サン・マイクロシステムズ・インコーポレーテッド | メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置 |
US20020199072A1 (en) * | 2001-06-22 | 2002-12-26 | Fanning Blaise B. | Method and mechanism for common scheduling in a RDRAM system |
JP2004013473A (ja) * | 2002-06-06 | 2004-01-15 | Hitachi Ltd | 磁気ディスク装置におけるデータ書き込み制御方法 |
US20050021921A1 (en) * | 2003-07-24 | 2005-01-27 | International Business Machines Corporation | Methods and systems for re-ordering commands to access memory |
JP2006514386A (ja) * | 2003-10-29 | 2006-04-27 | 松下電器産業株式会社 | ドライブ装置、プログラム |
US20070283109A1 (en) * | 2002-05-15 | 2007-12-06 | Kelly James D | Memory controller configurable to allow bandwidth/latency tradeoff |
US20080016294A1 (en) * | 2004-10-21 | 2008-01-17 | International Business Machines Corporation | Memory controller and method for optimized read/modify/write performance |
WO2008138249A1 (en) * | 2007-05-10 | 2008-11-20 | Memoright Memoritech (Shenzhen) Co., Ltd | Parallel flash memory controller, chip and control method thereof |
US20080320209A1 (en) * | 2000-01-06 | 2008-12-25 | Super Talent Electronics, Inc. | High Performance and Endurance Non-volatile Memory Based Storage Systems |
JP2009020883A (ja) * | 2007-07-10 | 2009-01-29 | Internatl Business Mach Corp <Ibm> | コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5924485A (ja) * | 1982-07-30 | 1984-02-08 | Toshiba Corp | 入出力ペ−ジング機構 |
DE3241376A1 (de) * | 1982-11-09 | 1984-05-10 | Siemens AG, 1000 Berlin und 8000 München | Dma-steuereinrichtung zur uebertragung von daten zwischen einem datensender und einem datenempfaenger |
US4797812A (en) * | 1985-06-19 | 1989-01-10 | Kabushiki Kaisha Toshiba | System for continuous DMA transfer of virtually addressed data blocks |
JPS63175970A (ja) * | 1987-01-16 | 1988-07-20 | Hitachi Ltd | 記憶制御方式 |
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5182800A (en) * | 1990-11-16 | 1993-01-26 | International Business Machines Corporation | Direct memory access controller with adaptive pipelining and bus control features |
US5640596A (en) * | 1992-03-10 | 1997-06-17 | Hitachi, Ltd. | Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed |
US5526484A (en) * | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
US5517670A (en) * | 1992-12-30 | 1996-05-14 | International Business Machines Corporation | Adaptive data transfer channel employing extended data block capability |
US5564055A (en) * | 1994-08-30 | 1996-10-08 | Lucent Technologies Inc. | PCMCIA slot expander and method |
US5717952A (en) * | 1994-11-16 | 1998-02-10 | Apple Computer, Inc. | DMA controller with mechanism for conditional action under control of status register, prespecified parameters, and condition field of channel command |
JP3287203B2 (ja) * | 1996-01-10 | 2002-06-04 | 株式会社日立製作所 | 外部記憶制御装置及び外部記憶制御装置間データ転送方法 |
US6185521B1 (en) * | 1996-02-16 | 2001-02-06 | Emc Corporation | System and method for emulating mainframe channel programs by open systems computer systems |
US5889935A (en) * | 1996-05-28 | 1999-03-30 | Emc Corporation | Disaster control features for remote data mirroring |
US5928370A (en) * | 1997-02-05 | 1999-07-27 | Lexar Media, Inc. | Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure |
US6034897A (en) * | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6012104A (en) * | 1997-10-24 | 2000-01-04 | International Business Machines Corporation | Method and apparatus for dynamic extension of channel programs |
US6076137A (en) * | 1997-12-11 | 2000-06-13 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
US6192444B1 (en) * | 1998-01-05 | 2001-02-20 | International Business Machines Corporation | Method and system for providing additional addressable functional space on a disk for use with a virtual data storage subsystem |
US8171204B2 (en) * | 2000-01-06 | 2012-05-01 | Super Talent Electronics, Inc. | Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels |
US7102671B1 (en) * | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
US20020120741A1 (en) * | 2000-03-03 | 2002-08-29 | Webb Theodore S. | Systems and methods for using distributed interconnects in information management enviroments |
US6948031B2 (en) * | 2000-12-19 | 2005-09-20 | Emc Corporation | Methods and apparatus for transferring a data element within a data storage system |
US6915378B2 (en) * | 2003-04-23 | 2005-07-05 | Hypernova Technologies, Inc. | Method and system for improving the performance of a processing system |
US7058735B2 (en) * | 2003-06-02 | 2006-06-06 | Emulex Design & Manufacturing Corporation | Method and apparatus for local and distributed data memory access (“DMA”) control |
TW200506733A (en) * | 2003-08-15 | 2005-02-16 | Via Tech Inc | Apparatus and method for the co-simulation of CPU and DUT modules |
KR100585136B1 (ko) * | 2004-03-04 | 2006-05-30 | 삼성전자주식회사 | 메모리 시스템의 데이터 채널 초기화 방법 |
US7353301B2 (en) * | 2004-10-29 | 2008-04-01 | Intel Corporation | Methodology and apparatus for implementing write combining |
JP4366298B2 (ja) * | 2004-12-02 | 2009-11-18 | 富士通株式会社 | 記憶装置、その制御方法及びプログラム |
US8332526B2 (en) * | 2005-05-25 | 2012-12-11 | Microsoft Corporation | Data communication protocol including negotiation and command compounding |
JP2007058646A (ja) * | 2005-08-25 | 2007-03-08 | Hitachi Ltd | データ処理システム |
US20070162642A1 (en) * | 2005-12-19 | 2007-07-12 | Ivo Tousek | A dma controller with multiple intra-channel software request support |
JP2008021380A (ja) * | 2006-07-14 | 2008-01-31 | Fujitsu Ltd | シーク制御装置、シーク制御方法、記憶装置 |
US7822887B2 (en) * | 2006-10-27 | 2010-10-26 | Stec, Inc. | Multi-channel solid-state storage system |
US20080107275A1 (en) * | 2006-11-08 | 2008-05-08 | Mehdi Asnaashari | Method and system for encryption of information stored in an external nonvolatile memory |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7934025B2 (en) * | 2007-01-24 | 2011-04-26 | Qualcomm Incorporated | Content terminated DMA |
TW200844841A (en) * | 2007-05-10 | 2008-11-16 | Realtek Semiconductor Corp | Method for expediting data access of universal serial bus stoarage device |
JP4963088B2 (ja) * | 2007-07-13 | 2012-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをキャッシュする技術 |
JP2009128159A (ja) | 2007-11-22 | 2009-06-11 | Ogata Institute For Medical & Chemical Research | キャピラリ等電点電気泳動装置 |
-
2009
- 2009-04-09 US US12/421,093 patent/US8055816B2/en active Active
-
2010
- 2010-03-11 JP JP2012504666A patent/JP5729774B2/ja active Active
- 2010-03-11 EP EP15020115.0A patent/EP2958027B1/en active Active
- 2010-03-11 KR KR1020117026247A patent/KR101371815B1/ko active IP Right Grant
- 2010-03-11 WO PCT/US2010/000732 patent/WO2010117404A2/en active Application Filing
- 2010-03-11 EP EP10761951.2A patent/EP2417527B1/en active Active
- 2010-03-11 CN CN201080022747.7A patent/CN102439576B/zh active Active
- 2010-03-26 TW TW99109201A patent/TWI418989B/zh active
-
2011
- 2011-09-23 US US13/242,535 patent/US8260973B2/en active Active
-
2012
- 2012-08-30 US US13/599,594 patent/US8396995B2/en active Active
-
2013
- 2013-03-12 US US13/796,851 patent/US8751700B2/en active Active
-
2014
- 2014-05-02 US US14/268,125 patent/US9015356B2/en active Active
-
2015
- 2015-04-07 US US14/680,614 patent/US10331351B2/en active Active
-
2019
- 2019-05-14 US US16/411,922 patent/US10949091B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09128159A (ja) * | 1995-11-06 | 1997-05-16 | Matsushita Electric Ind Co Ltd | 記憶装置 |
JP2002510079A (ja) * | 1998-01-23 | 2002-04-02 | サン・マイクロシステムズ・インコーポレーテッド | メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置 |
US20080320209A1 (en) * | 2000-01-06 | 2008-12-25 | Super Talent Electronics, Inc. | High Performance and Endurance Non-volatile Memory Based Storage Systems |
US20020199072A1 (en) * | 2001-06-22 | 2002-12-26 | Fanning Blaise B. | Method and mechanism for common scheduling in a RDRAM system |
US20070283109A1 (en) * | 2002-05-15 | 2007-12-06 | Kelly James D | Memory controller configurable to allow bandwidth/latency tradeoff |
JP2004013473A (ja) * | 2002-06-06 | 2004-01-15 | Hitachi Ltd | 磁気ディスク装置におけるデータ書き込み制御方法 |
US20050021921A1 (en) * | 2003-07-24 | 2005-01-27 | International Business Machines Corporation | Methods and systems for re-ordering commands to access memory |
JP2006514386A (ja) * | 2003-10-29 | 2006-04-27 | 松下電器産業株式会社 | ドライブ装置、プログラム |
US20080016294A1 (en) * | 2004-10-21 | 2008-01-17 | International Business Machines Corporation | Memory controller and method for optimized read/modify/write performance |
WO2008138249A1 (en) * | 2007-05-10 | 2008-11-20 | Memoright Memoritech (Shenzhen) Co., Ltd | Parallel flash memory controller, chip and control method thereof |
JP2009020883A (ja) * | 2007-07-10 | 2009-01-29 | Internatl Business Mach Corp <Ibm> | コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5866032B2 (ja) * | 2013-08-19 | 2016-02-17 | 株式会社東芝 | メモリシステム |
JPWO2015025357A1 (ja) * | 2013-08-19 | 2017-03-02 | 株式会社東芝 | メモリシステム |
US9799406B2 (en) | 2013-08-19 | 2017-10-24 | Toshiba Memory Corporation | Memory system |
JP2015215774A (ja) * | 2014-05-12 | 2015-12-03 | Tdk株式会社 | メモリコントローラ、メモリシステム及びメモリ制御方法 |
US9760295B2 (en) | 2014-09-05 | 2017-09-12 | Toshiba Memory Corporation | Atomic rights in a distributed memory system |
JP2019164487A (ja) * | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | メモリシステム |
JP7013294B2 (ja) | 2018-03-19 | 2022-01-31 | キオクシア株式会社 | メモリシステム |
US11494082B2 (en) | 2018-03-19 | 2022-11-08 | Kioxia Corporation | Memory system |
Also Published As
Publication number | Publication date |
---|---|
EP2958027A1 (en) | 2015-12-23 |
EP2417527B1 (en) | 2015-09-23 |
US8751700B2 (en) | 2014-06-10 |
KR101371815B1 (ko) | 2014-03-07 |
JP5729774B2 (ja) | 2015-06-03 |
EP2958027B1 (en) | 2019-09-04 |
CN102439576A (zh) | 2012-05-02 |
TW201104440A (en) | 2011-02-01 |
US9015356B2 (en) | 2015-04-21 |
US20100262721A1 (en) | 2010-10-14 |
US10949091B2 (en) | 2021-03-16 |
US20150212734A1 (en) | 2015-07-30 |
EP2417527A2 (en) | 2012-02-15 |
US8260973B2 (en) | 2012-09-04 |
US20130268701A1 (en) | 2013-10-10 |
EP2417527A4 (en) | 2012-12-19 |
WO2010117404A3 (en) | 2011-03-31 |
CN102439576B (zh) | 2015-04-15 |
US20120011335A1 (en) | 2012-01-12 |
US10331351B2 (en) | 2019-06-25 |
US8396995B2 (en) | 2013-03-12 |
TWI418989B (zh) | 2013-12-11 |
KR20120015313A (ko) | 2012-02-21 |
WO2010117404A2 (en) | 2010-10-14 |
US20190265889A1 (en) | 2019-08-29 |
US20120324180A1 (en) | 2012-12-20 |
US8055816B2 (en) | 2011-11-08 |
US20140310431A1 (en) | 2014-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5729774B2 (ja) | いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法 | |
US10534560B2 (en) | Data storage device and data processing system having the same | |
JP6163532B2 (ja) | メモリシステムコントローラを含む装置 | |
US9123409B2 (en) | Memory device for a hierarchical memory architecture | |
EP2715730B1 (en) | Apparatus including memory system controllers and related methods for memory management using blok tables | |
US11042300B2 (en) | Command load balancing for NVME dual port operations | |
JP5918359B2 (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
CN108153482B (zh) | Io命令处理方法与介质接口控制器 | |
CN207008602U (zh) | 一种基于NandFlash存储器多通道的存储阵列控制装置 | |
US8713204B2 (en) | High-performance AHCI interface | |
CN114253461A (zh) | 混合通道存储设备 | |
CN114253462A (zh) | 提供混合通道存储设备的方法 | |
CN213338708U (zh) | 一种控制部件及存储设备 | |
Bougioukou et al. | Prototyping and performance evaluation of a dynamically adaptable block device driver for PCIe-based SSDs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130423 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130722 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130722 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130823 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130823 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140409 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140409 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140416 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20140613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5729774 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |