JP6729914B2 - ソリッドステートストレージドライブ、システム、および方法 - Google Patents
ソリッドステートストレージドライブ、システム、および方法 Download PDFInfo
- Publication number
- JP6729914B2 JP6729914B2 JP2017542850A JP2017542850A JP6729914B2 JP 6729914 B2 JP6729914 B2 JP 6729914B2 JP 2017542850 A JP2017542850 A JP 2017542850A JP 2017542850 A JP2017542850 A JP 2017542850A JP 6729914 B2 JP6729914 B2 JP 6729914B2
- Authority
- JP
- Japan
- Prior art keywords
- stream
- write
- sequential write
- sequential
- write stream
- 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
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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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
- 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
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage 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
- 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
- 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
-
- 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
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- 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/60—Details of cache memory
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 Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
すなわち、ヘッドエントリ712cのキューエントリフィールド714c、714dによって定義されるLBA範囲LBA2の始めのLBAアドレスは、前の履歴エントリ712bのキューエントリフィールド714c、714dによって定義されるLBA範囲LBA1である前のLBA範囲の終わりのLBAアドレスから連続して続くことになる。従って、次のエントリ712dおよび前の履歴エントリ712bの書き込みコマンドのパラメータは、それらの2つのエントリの書き込みコマンドは、シーケンシャル書き込みストリームの可能性の高い書き込みコマンドであることを示し、シーケンシャル書き込みストリーム「ヒット」が示される(ブロック760)。
複数のストレージ空間領域を有する不揮発性ストレージと、共通のコマンドキューを有するストレージコントローラとを含むソリッドステートストレージドライブを備え、コントローラは、
複数のコマンド送信キューからの複数の書き込みコマンドを共通のコマンドキューにおいてキュー処理し、
共通のコマンドキューにおいてキュー処理された書き込みコマンドを実行するように構成され、
コントローラは、書き込みコマンドの第1および第2のシーケンシャル書き込みストリームを検出するように構成されるシーケンシャル書き込みストリーム検出ロジックを含むシーケンシャル書き込みストリーム識別ロジックを有し、
シーケンシャル書き込みストリーム識別ロジックは、検出された第1および第2のシーケンシャル書き込みストリームを、検出された第1および第2のシーケンシャル書き込みストリームの特性のファンクションとして、第1および第2の識別シーケンシャル書き込みストリームとそれぞれ識別するように構成され、
コントローラはさらに、書き込みストリーム識別のファンクションとして、ソリッドステートストレージの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを書き込むように構成されるシーケンシャル書き込みストリーム集約ロジックを有し、
ソリッドステートストレージの第1のシーケンシャル書き込みストリームストレージ領域に第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
ソリッドステートストレージの第2のシーケンシャル書き込みストリームストレージ領域に第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含む。
コントローラはさらに、シーケンシャル書き込みストリーム識別ロジックによる書き込みストリーム識別のファンクションとして、転送バッファストレージの異なるシーケンシャル書き込みストリームバッファパーティションへと実行中のコマンドの書き込みデータを書き込むように構成される転送バッファパーティション書き込みストリームデータ集約ロジックを有し、転送バッファパーティション書き込みストリームデータ集約ロジックは、
転送バッファストレージの第1のシーケンシャル書き込みストリームバッファパーティションにおける第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
転送バッファストレージの第2のシーケンシャル書き込みストリームバッファパーティションに第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含むことを任意に含むことができる。
シーケンシャル書き込みストリーム識別ロジックはさらに、第1および第3の検出シーケンシャル書き込みストリームの特性のファンクションとして、検出された第3のシーケンシャル書き込みストリームを第1の識別シーケンシャル書き込みストリームと識別するように構成され、
ストレージコントローラはさらに、書き込みストリーム識別のファンクションとして、ソリッドステートストレージの異なる領域へと実行中のコマンドの書き込みデータを書き込むことは、ソリッドステートストレージの第1の領域エリアにおける第3の検出シーケンシャル書き込みストリームの書き込みデータを集約することを含むように構成される、
ことを任意に含むことができる。
シーケンシャル書き込みストリーム識別ロジックはさらに、第1の識別シーケンシャル書き込みストリームとして検出された第1および第3のシーケンシャル書き込みストリームを識別すること、および、検出された第2のシーケンシャル書き込みストリームを第2の識別シーケンシャル書き込みストリームとして識別することが、第1の範囲に検出された書き込み速度特性を有する検出された第1および第3のシーケンシャル書き込みストリーム、および、第2の範囲に検出された書き込み速度特性を有する検出された第2のシーケンシャル書き込みストリームのファンクションであるように構成される、
ことを任意に含むことができる。
書き込みコマンドの第1および第2のシーケンシャル書き込みストリームを検出することは、共通のコマンドキューの書き込みコマンドのパラメータを確認することであって、パラメータは書き込みデータ宛先パラメータを含む、確認することと、2つの書き込みコマンドの書き込みデータ宛先パラメータが、シーケンシャル書き込みストリームに対する一連の書き込みコマンドの2つの書き込みコマンドのパラメータと一致するかどうかを判定すること
とを含むように構成されることを任意に含むことができる。
第1のシーケンシャル書き込みストリームの書き込み宛先アドレス特性を含む第1の識別シーケンシャル書き込みストリームの特性のファンクションとして、第1の領域内に隣接して第1の識別シーケンシャル書き込みストリームの書き込みデータをシーケンシャルに再オーダおよびパックすることを含むように構成される、
ことを任意に含むことができる。
複数のストレージ空間領域を有する不揮発性ストレージと、共通のコマンドキューを有するストレージコントローラとを含むソリッドステートストレージドライブと、
ストレージに格納されるデータを表すデータを表示するためのビデオコントローラと
を備えるディスプレイと共に使用するためのシステムであり、
ストレージコントローラは、
複数のコマンド送信キューからの複数の書き込みコマンドを共通のコマンドキューにおいてキュー処理し、
共通のコマンドキューにおいてキューされた書き込みコマンドを実行するように構成され、
ストレージコントローラは、書き込みコマンドの第1および第2のシーケンシャル書き込みストリームを検出するように構成されるシーケンシャル書き込みストリーム検出ロジックを含むシーケンシャル書き込みストリーム識別ロジックを有し、
シーケンシャル書き込みストリーム識別ロジックは、検出された第1および第2のシーケンシャル書き込みストリームを、検出された第1および第2の検出シーケンシャル書き込みストリームの特性のファンクションとして、第1および第2の識別シーケンシャル書き込みストリームとそれぞれ識別するように構成され、
ストレージコントローラはさらに、書き込みストリーム識別のファンクションとして、ソリッドステートストレージの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを書き込むように構成されるシーケンシャル書き込みストリーム集約ロジックを有し、
ソリッドステートストレージの第1のシーケンシャル書き込みストリームストレージ領域に第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、ソリッドステートストレージの第2のシーケンシャル書き込みストリームストレージ領域に第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含む。
ストレージコントローラはさらに、シーケンシャル書き込みストリーム識別ロジックによる書き込みストリーム識別のファンクションとして、転送バッファストレージの異なるシーケンシャル書き込みストリームバッファパーティションへと実行中のコマンドの書き込みデータを書き込むように構成される転送バッファパーティション書き込みストリームデータ集約ロジックを有し、転送バッファパーティション書き込みストリームデータ集約ロジックは、
転送バッファストレージの第1のシーケンシャル書き込みストリームバッファパーティションにおける第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
転送バッファストレージの第2のシーケンシャル書き込みストリームバッファパーティションにおける第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含むことを任意に含むことができる。
シーケンシャル書き込みストリーム識別ロジックはさらに、第1および第3の検出シーケンシャル書き込みストリームの特性のファンクションとして、検出された第3のシーケンシャル書き込みストリームを第1の識別シーケンシャル書き込みストリームと識別するように構成され、
メモリストレージコントローラはさらに、書き込みストリーム識別のファンクションとして、ソリッドステートストレージの異なる領域へと実行中のコマンドの書き込みデータを書き込むことは、ソリッドステートストレージの第1の領域エリアにおける第3の検出シーケンシャル書き込みストリームの書き込みデータを集約することを含むように構成される、
ことを任意に含むことができる。
シーケンシャル書き込みストリーム識別ロジックはさらに、第1の識別シーケンシャル書き込みストリームとして検出された第1および第3のシーケンシャル書き込みストリームを識別すること、および、検出された第2のシーケンシャル書き込みストリームを第2の識別シーケンシャル書き込みストリームとして識別することが、第1の範囲に検出された書き込み速度特性を有する検出された第1および第3のシーケンシャル書き込みストリーム、および、第2の範囲に検出された書き込み速度特性を有する検出された第2のシーケンシャル書き込みストリームのファンクションであるように構成される、
ことを任意に含むことができる。
書き込みコマンドの第1および第2のシーケンシャル書き込みストリームを検出することは、共通のコマンドキューの書き込みコマンドのパラメータを確認することであって、パラメータは書き込みデータ宛先パラメータを含む、確認することと、
2つの書き込みコマンドの書き込みデータ宛先パラメータが、シーケンシャル書き込みストリームに対する一連の書き込みコマンドの2つの書き込みコマンドのパラメータと一致するかどうかを判定すること
とを含むように構成されることを任意に含むことができる。
第1のシーケンシャル書き込みストリームの書き込み宛先アドレス特性を含む第1の識別シーケンシャル書き込みストリームの特性のファンクションとして、第1の領域内に隣接して第1の識別シーケンシャル書き込みストリームの書き込みデータをシーケンシャルに再オーダおよびパックすることを含むように構成される、
ことを任意に含むことができる。
共通のコマンドキューにキュー処理された書き込みコマンドを実行する工程と
書き込みコマンドの第1および第2のシーケンシャル書き込みストリームを検出する工程と、
検出された第1および第2のシーケンシャル書き込みストリームを、検出された第1および第2の検出シーケンシャル書き込みストリームの特性のファンクションとして、第1および第2の識別シーケンシャル書き込みストリームとそれぞれ識別する工程と、
書き込みストリーム識別のファンクションとして、ソリッドステートストレージの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを書き込む工程と
を備える方法であって、
書き込みデータを書き込む工程は、
ソリッドステートストレージの第1のシーケンシャル書き込みストリームストレージ領域に第1の識別シーケンシャル書き込みストリームの書き込みデータを集約する工程と、
ソリッドステートストレージの第2のシーケンシャル書き込みストリームストレージ領域に第2の識別シーケンシャル書き込みストリームの書き込みデータを集約する工程と
を有する。
転送バッファストレージの第1のシーケンシャル書き込みストリームバッファパーティションにおける第1の識別シーケンシャル書き込みストリームの書き込みデータを集約する工程と、
転送バッファストレージの第2のシーケンシャル書き込みストリームバッファパーティションにおける第2の識別シーケンシャル書き込みストリームの書き込みデータを集約する工程と
を有する、
ことを任意に含むことができる。
第1および第3の検出シーケンシャル書き込みストリームの特性のファンクションとして、検出された第3のシーケンシャル書き込みストリームを第1の識別シーケンシャル書き込みストリームと識別する工程と
をさらに含み、
書き込みストリーム識別のファンクションとして、ソリッドステートストレージの異なる領域へと実行中のコマンドの書き込みデータを書き込む工程は、
ソリッドステートストレージの第1の領域エリアにおける第3の検出シーケンシャル書き込みストリームの書き込みデータを集約する工程をさらに有する、
ことを任意に含むことができる。
第1の識別シーケンシャル書き込みストリームとして検出された第1および第3のシーケンシャル書き込みストリームを識別する工程、および、検出された第2のシーケンシャル書き込みストリームを第2の識別シーケンシャル書き込みストリームとして識別する工程が、第1の範囲に検出された書き込み速度特性を有する検出された第1および第3のシーケンシャル書き込みストリーム、および、第2の範囲に検出された書き込み速度特性を有する検出された第2のシーケンシャル書き込みストリームのファンクションである、
ことを任意に含むことができる。
2つの書き込みコマンドの書き込みデータ宛先パラメータが、シーケンシャル書き込みストリームに対する一連の書き込みコマンドの2つの書き込みコマンドのパラメータと一致するかどうかを判定する工程
とを有することを任意に含むことができる。
第1のシーケンシャル書き込みストリームの書き込み宛先アドレス特性を含む第1の識別シーケンシャル書き込みストリームの特性のファンクションとして、第1の領域内に隣接して第1の識別シーケンシャル書き込みストリームの書き込みデータをシーケンシャルに再オーダおよびパックする工程を含む、
ことを任意に含むことができる。
Claims (21)
- 複数のプロセッサノードの複数のコマンド送信キューと共に使用するためのソリッドステートストレージドライブであって、
複数のストレージ空間領域を有する不揮発性ストレージと、共通のコマンドキューを有するストレージコントローラとを備え、前記ストレージコントローラは、
前記複数のコマンド送信キューからの複数の書き込みコマンドを前記共通のコマンドキューにおいてキュー処理し、
前記共通のコマンドキューにおいてキュー処理された書き込みコマンドを実行し、
前記ストレージコントローラは、前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを検出するシーケンシャル書き込みストリーム検出ハードウェアロジックを含むシーケンシャル書き込みストリーム識別ハードウェアロジックを有し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックは、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームを、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームの特性のファンクションに基づいて、第1の識別シーケンシャル書き込みストリームおよび第2の識別シーケンシャル書き込みストリームとして、それぞれ識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを書き込むシーケンシャル書き込みストリーム集約ハードウェアロジックを有し、
前記ソリッドステートストレージドライブの第1のシーケンシャル書き込みストリームストレージ領域に前記第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
前記ソリッドステートストレージドライブの第2のシーケンシャル書き込みストリームストレージ領域に前記第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含み、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックは、書き込み速度特性が第1の範囲に含まれる複数のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームとして識別し、
前記シーケンシャル書き込みストリーム集約ハードウェアロジックは、前記ソリッドステートストレージドライブの第1の領域に前記複数のシーケンシャル書き込みストリームを配置し、前記複数のシーケンシャル書き込みストリームの送信キュー元情報または書き込みデータ宛先に基づいて、前記複数のシーケンシャル書き込みストリームを再オーダおよびパックする
ソリッドステートストレージドライブ。 - 複数のプロセッサノードの複数のコマンド送信キューと共に使用するためのソリッドステートストレージドライブであって、
複数のストレージ空間領域を有する不揮発性ストレージと、共通のコマンドキューを有するストレージコントローラとを備え、前記ストレージコントローラは、
前記複数のコマンド送信キューからの複数の書き込みコマンドを前記共通のコマンドキューにおいてキュー処理し、
前記共通のコマンドキューにおいてキュー処理された書き込みコマンドを実行し、
前記ストレージコントローラは、前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを検出するシーケンシャル書き込みストリーム検出ハードウェアロジックを含むシーケンシャル書き込みストリーム識別ハードウェアロジックを有し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックは、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームを、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームの特性のファンクションに基づいて、第1の識別シーケンシャル書き込みストリームおよび第2の識別シーケンシャル書き込みストリームとして、それぞれ識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを書き込むシーケンシャル書き込みストリーム集約ハードウェアロジックを有し、
前記ソリッドステートストレージドライブの第1のシーケンシャル書き込みストリームストレージ領域に前記第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
前記ソリッドステートストレージドライブの第2のシーケンシャル書き込みストリームストレージ領域に前記第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含み、
前記シーケンシャル書き込みストリーム検出ハードウェアロジックはさらに、前記書き込みコマンドの第3のシーケンシャル書き込みストリームを検出し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、検出された前記第1のシーケンシャル書き込みストリームおよび検出された前記第3のシーケンシャル書き込みストリームの特性のファンクションに基づいて、検出された前記第3のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームとして識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なる領域へと実行中のコマンドの書き込みデータを前記書き込むことは、前記ソリッドステートストレージドライブの第1の領域エリアにおける検出された前記第3のシーケンシャル書き込みストリームの書き込みデータを集約することを含むように構成される、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、検出シーケンシャル書き込みストリームごとに書き込み速度特性を決定するシーケンシャル書き込みストリーム書き込み速度検出ハードウェアロジックを含み、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、前記第1の識別シーケンシャル書き込みストリームとして、検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリームを前記識別すること、および、検出された前記第2のシーケンシャル書き込みストリームを前記第2の識別シーケンシャル書き込みストリームとして前記識別することが、第1の範囲に検出された書き込み速度特性を有する検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリーム、および、第2の範囲に検出された書き込み速度特性を有する検出された前記第2のシーケンシャル書き込みストリームのファンクションであるように構成される、
ソリッドステートストレージドライブ。 - 前記ソリッドステートストレージドライブはさらに、シーケンシャル書き込みストリームバッファパーティションを有する転送バッファストレージを含み、
前記ストレージコントローラはさらに、前記シーケンシャル書き込みストリーム識別ハードウェアロジックによる前記書き込みストリーム識別のファンクションに基づいて、前記転送バッファストレージの異なるシーケンシャル書き込みストリームバッファパーティションへと実行中のコマンドの書き込みデータを書き込む転送バッファパーティション書き込みストリームデータ集約ハードウェアロジックを有し、前記転送バッファパーティション書き込みストリームデータ集約ハードウェアロジックは、
前記転送バッファストレージの第1のシーケンシャル書き込みストリームバッファパーティションにおける前記第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
前記転送バッファストレージの第2のシーケンシャル書き込みストリームバッファパーティションに前記第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含む、
請求項1または2に記載のソリッドステートストレージドライブ。 - 前記シーケンシャル書き込みストリーム検出ハードウェアロジックはさらに、前記書き込みコマンドの第3のシーケンシャル書き込みストリームを検出し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、検出された前記第1のシーケンシャル書き込みストリームおよび検出された前記第3のシーケンシャル書き込みストリームの特性のファンクションに基づいて、検出された前記第3のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームとして識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なる領域へと実行中のコマンドの書き込みデータを前記書き込むことは、前記ソリッドステートストレージドライブの第1の領域エリアにおける検出された前記第3のシーケンシャル書き込みストリームの書き込みデータを集約することを含むように構成される、
請求項1に記載のソリッドステートストレージドライブ。 - 前記シーケンシャル書き込みストリーム検出ハードウェアロジックはさらに、
前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを前記検出することは、前記共通のコマンドキューの前記書き込みコマンドのパラメータを確認することであって、前記パラメータは書き込みデータ宛先パラメータを含む、確認することと、
2つの書き込みコマンドの前記書き込みデータ宛先パラメータが、シーケンシャル書き込みストリームに対する一連の書き込みコマンドの2つの書き込みコマンドのパラメータと一致するかどうかを判定することと
を含むように構成される、
請求項1から4のいずれか一項に記載のソリッドステートストレージドライブ。 - 前記パラメータは、前記共通のコマンドキューの書き込みコマンドごとにコマンド送信キュー元パラメータを含む、
請求項5に記載のソリッドステートストレージドライブ。 - 前記シーケンシャル書き込みストリーム集約ハードウェアロジックはさらに、前記ソリッドステートストレージドライブの第1の領域に前記第1の識別シーケンシャル書き込みストリームの前記書き込みデータを前記集約することは、
前記第1のシーケンシャル書き込みストリームの書き込み宛先アドレス特性を含む前記第1の識別シーケンシャル書き込みストリームの特性のファンクションに基づいて、前記第1の領域内に隣接して前記第1の識別シーケンシャル書き込みストリームの書き込みデータをシーケンシャルに再オーダおよびパックすることを含むように構成される、
請求項3に記載のソリッドステートストレージドライブ。 - 複数のコマンド送信キューを有する複数のプロセッサノードと、
複数のストレージ空間領域を有する不揮発性ストレージと、共通のコマンドキューを有するストレージコントローラとを含むソリッドステートストレージドライブと、
前記不揮発性ストレージに格納されるデータを表すデータを表示するためのビデオコントローラと
を備えるディスプレイと共に使用するためのシステムであって、
前記ストレージコントローラは、
前記複数のコマンド送信キューからの複数の書き込みコマンドを前記共通のコマンドキューにおいてキュー処理し、
前記共通のコマンドキューにおいてキュー処理された書き込みコマンドを実行し、
前記ストレージコントローラは、前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを検出するシーケンシャル書き込みストリーム検出ハードウェアロジックを含むシーケンシャル書き込みストリーム識別ハードウェアロジックを有し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックは、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームを、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームの特性のファンクションに基づいて、第1の識別シーケンシャル書き込みストリームおよび第2の識別シーケンシャル書き込みストリームとして、それぞれ識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを書き込むシーケンシャル書き込みストリーム集約ハードウェアロジックを有し、
前記ソリッドステートストレージドライブの第1のシーケンシャル書き込みストリームストレージ領域に前記第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
前記ソリッドステートストレージドライブの第2のシーケンシャル書き込みストリームストレージ領域に前記第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含み、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックは、書き込み速度特性が第1の範囲に含まれる複数のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームとして識別し、
前記シーケンシャル書き込みストリーム集約ハードウェアロジックは、前記ソリッドステートストレージドライブの第1の領域に前記複数のシーケンシャル書き込みストリームを配置し、前記複数のシーケンシャル書き込みストリームの送信キュー元情報または書き込みデータ宛先に基づいて、前記複数のシーケンシャル書き込みストリームを再オーダおよびパックする
システム。 - 複数のコマンド送信キューを有する複数のプロセッサノードと、
複数のストレージ空間領域を有する不揮発性ストレージと、共通のコマンドキューを有するストレージコントローラとを含むソリッドステートストレージドライブと、
前記不揮発性ストレージに格納されるデータを表すデータを表示するためのビデオコントローラと
を備えるディスプレイと共に使用するためのシステムであって、
前記ストレージコントローラは、
前記複数のコマンド送信キューからの複数の書き込みコマンドを前記共通のコマンドキューにおいてキュー処理し、
前記共通のコマンドキューにおいてキュー処理された書き込みコマンドを実行し、
前記ストレージコントローラは、前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを検出するシーケンシャル書き込みストリーム検出ハードウェアロジックを含むシーケンシャル書き込みストリーム識別ハードウェアロジックを有し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックは、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームを、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームの特性のファンクションに基づいて、第1の識別シーケンシャル書き込みストリームおよび第2の識別シーケンシャル書き込みストリームとして、それぞれ識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを書き込むシーケンシャル書き込みストリーム集約ハードウェアロジックを有し、
前記ソリッドステートストレージドライブの第1のシーケンシャル書き込みストリームストレージ領域に前記第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
前記ソリッドステートストレージドライブの第2のシーケンシャル書き込みストリームストレージ領域に前記第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含み、
前記シーケンシャル書き込みストリーム検出ハードウェアロジックはさらに、前記書き込みコマンドの第3のシーケンシャル書き込みストリームを検出し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、検出された前記第1のシーケンシャル書き込みストリームおよび検出された前記第3のシーケンシャル書き込みストリームの特性のファンクションに基づいて、検出された前記第3のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームと識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なる領域へと実行中のコマンドの書き込みデータを前記書き込むことは、前記ソリッドステートストレージドライブの第1の領域エリアにおける検出された前記第3のシーケンシャル書き込みストリームの書き込みデータを集約することを含むように構成され、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、検出シーケンシャル書き込みストリームごとに書き込み速度特性を決定するシーケンシャル書き込みストリーム書き込み速度検出ハードウェアロジックを含み、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、前記第1の識別シーケンシャル書き込みストリームとして、検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリームを前記識別すること、および、検出された前記第2のシーケンシャル書き込みストリームを前記第2の識別シーケンシャル書き込みストリームとして前記識別することが、第1の範囲に検出された書き込み速度特性を有する検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリーム、および、第2の範囲に検出された書き込み速度特性を有する検出された前記第2のシーケンシャル書き込みストリームのファンクションであるように構成される、
システム。 - 前記ソリッドステートストレージドライブはさらに、シーケンシャル書き込みストリームバッファパーティションを有する転送バッファストレージを有する転送バッファストレージを含み、
前記ストレージコントローラはさらに、前記シーケンシャル書き込みストリーム識別ハードウェアロジックによる前記書き込みストリーム識別のファンクションに基づいて、前記転送バッファストレージの異なるシーケンシャル書き込みストリームバッファパーティションへと実行中のコマンドの書き込みデータを書き込む転送バッファパーティション書き込みストリームデータ集約ハードウェアロジックを有し、前記転送バッファパーティション書き込みストリームデータ集約ハードウェアロジックは、
前記転送バッファストレージの第1のシーケンシャル書き込みストリームバッファパーティションにおける前記第1の識別シーケンシャル書き込みストリームの書き込みデータを集約することと、
前記転送バッファストレージの第2のシーケンシャル書き込みストリームバッファパーティションにおける前記第2の識別シーケンシャル書き込みストリームの書き込みデータを集約することと
を含む、
請求項8または9に記載のシステム。 - 前記シーケンシャル書き込みストリーム検出ハードウェアロジックはさらに、前記書き込みコマンドの第3のシーケンシャル書き込みストリームを検出し、
前記シーケンシャル書き込みストリーム識別ハードウェアロジックはさらに、検出された前記第1のシーケンシャル書き込みストリームおよび検出された前記第3のシーケンシャル書き込みストリームの特性のファンクションに基づいて、検出された前記第3のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームと識別し、
前記ストレージコントローラはさらに、前記書き込みストリーム識別のファンクションに基づいて、前記ソリッドステートストレージドライブの異なる領域へと実行中のコマンドの書き込みデータを前記書き込むことは、前記ソリッドステートストレージドライブの第1の領域エリアにおける検出された前記第3のシーケンシャル書き込みストリームの書き込みデータを集約することを含むように構成される、
請求項8に記載のシステム。 - 前記シーケンシャル書き込みストリーム検出ハードウェアロジックはさらに、
前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを前記検出することは、前記共通のコマンドキューの前記書き込みコマンドのパラメータを確認することであって、前記パラメータは書き込みデータ宛先パラメータを含む、確認することと、
2つの書き込みコマンドの前記書き込みデータ宛先パラメータが、シーケンシャル書き込みストリームに対する一連の書き込みコマンドの2つの書き込みコマンドのパラメータと一致するかどうかを判定すること
とを含むように構成される、
請求項8から11のいずれか一項に記載のシステム。 - 前記パラメータは、前記共通のコマンドキューの書き込みコマンドごとにコマンド送信キュー元パラメータを含む、
請求項12に記載のシステム。 - 前記シーケンシャル書き込みストリーム集約ハードウェアロジックはさらに、前記ソリッドステートストレージドライブの第1の領域に前記第1の識別シーケンシャル書き込みストリームの前記書き込みデータを前記集約することは、
前記第1のシーケンシャル書き込みストリームの書き込み宛先アドレス特性を含む前記第1の識別シーケンシャル書き込みストリームの特性のファンクションに基づいて、前記第1の領域内に隣接して前記第1の識別シーケンシャル書き込みストリームの書き込みデータをシーケンシャルに再オーダおよびパックすることを含むように構成される、
請求項11に記載のシステム。 - 共通のコマンドキューの複数のコマンド送信キューからの複数の書き込みコマンドをコンピュータがキュー処理する段階と、
前記共通のコマンドキューにおいてキュー処理される書き込みコマンドを前記コンピュータが実行する段階と
前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを前記コンピュータが検出する段階と、
検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームを、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームの特性のファンクションに基づいて、第1の識別シーケンシャル書き込みストリームおよび第2の識別シーケンシャル書き込みストリームとして、それぞれ前記コンピュータが識別する段階と、
前記書き込みストリーム識別のファンクションに基づいて、ソリッドステートストレージの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを前記コンピュータが書き込む段階と
を備える、前記コンピュータにより実行される方法であって、
前記書き込みデータを書き込む段階は、
前記ソリッドステートストレージの第1のシーケンシャル書き込みストリームストレージ領域に前記第1の識別シーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階と、
前記ソリッドステートストレージの第2のシーケンシャル書き込みストリームストレージ領域に前記第2の識別シーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階と
を有し、
前記識別する段階は、書き込み速度特性が第1の範囲に含まれる複数のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームとして前記コンピュータが識別する段階を含み、
前記集約する段階は、前記ソリッドステートストレージの第1の領域に前記複数のシーケンシャル書き込みストリームを前記コンピュータが配置し、前記複数のシーケンシャル書き込みストリームの送信キュー元情報または書き込みデータ宛先に基づいて、前記複数のシーケンシャル書き込みストリームを前記コンピュータが再オーダおよびパックする段階を含む
方法。 - 共通のコマンドキューの複数のコマンド送信キューからの複数の書き込みコマンドをコンピュータがキュー処理する段階と、
前記共通のコマンドキューにおいてキュー処理される書き込みコマンドを前記コンピュータが実行する段階と
前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを前記コンピュータが検出する段階と、
検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームを、検出された前記第1のシーケンシャル書き込みストリームおよび前記第2のシーケンシャル書き込みストリームの特性のファンクションに基づいて、第1の識別シーケンシャル書き込みストリームおよび第2の識別シーケンシャル書き込みストリームとして、それぞれ前記コンピュータが識別する段階と、
前記書き込みストリーム識別のファンクションに基づいて、ソリッドステートストレージの異なるシーケンシャル書き込みストリーム領域へと実行中のコマンドの書き込みデータを前記コンピュータが書き込む段階と
を備える、前記コンピュータにより実行される方法であって、
前記書き込みデータを書き込む段階は、
前記ソリッドステートストレージの第1のシーケンシャル書き込みストリームストレージ領域に前記第1の識別シーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階と、
前記ソリッドステートストレージの第2のシーケンシャル書き込みストリームストレージ領域に前記第2の識別シーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階と
を有し、
前記方法は、
前記書き込みコマンドの第3のシーケンシャル書き込みストリームを前記コンピュータが検出する段階と、
検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリームの特性のファンクションに基づいて、検出された前記第3のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームとして前記コンピュータが識別する段階と
をさらに備え、
前記書き込みストリーム識別のファンクションに基づいて、ソリッドステートストレージの異なる領域へと実行中のコマンドの書き込みデータを前記コンピュータが前記書き込む段階は、
前記ソリッドステートストレージの第1の領域のエリアにおける検出された前記第3のシーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階をさらに有し、
前記方法は、
検出シーケンシャル書き込みストリームごとに書き込み速度特性を前記コンピュータが決定する段階をさらに備え、
前記第1の識別シーケンシャル書き込みストリームとして、検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリームを前記コンピュータが前記識別する段階、および、検出された前記第2のシーケンシャル書き込みストリームを前記第2の識別シーケンシャル書き込みストリームとして前記コンピュータが前記識別する段階が、第1の範囲に検出された書き込み速度特性を有する検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリーム、および、第2の範囲に検出された書き込み速度特性を有する検出された前記第2のシーケンシャル書き込みストリームのファンクションである、
方法。 - 前記書き込みストリーム識別のファンクションに基づいて、転送バッファストレージの異なるシーケンシャル書き込みストリームバッファパーティションへと実行中のコマンドの書き込みデータを前記コンピュータが書き込む段階をさらに備え、前記転送バッファストレージの前記書き込む段階は、
前記転送バッファストレージの第1のシーケンシャル書き込みストリームバッファパーティションにおける前記第1の識別シーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階と、
前記転送バッファストレージの第2のシーケンシャル書き込みストリームバッファパーティションにおける前記第2の識別シーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階と
を有する、
請求項15または16に記載の方法。 - 前記書き込みコマンドの第3のシーケンシャル書き込みストリームを前記コンピュータが検出する段階と、
検出された前記第1のシーケンシャル書き込みストリームおよび前記第3のシーケンシャル書き込みストリームの特性のファンクションに基づいて、検出された前記第3のシーケンシャル書き込みストリームを前記第1の識別シーケンシャル書き込みストリームとして前記コンピュータが識別する段階と
をさらに備え、
前記書き込みストリーム識別のファンクションに基づいて、ソリッドステートストレージの異なる領域へと実行中のコマンドの書き込みデータを前記コンピュータが前記書き込む段階は、
前記ソリッドステートストレージの第1の領域のエリアにおける検出された前記第3のシーケンシャル書き込みストリームの書き込みデータを前記コンピュータが集約する段階をさらに有する、
請求項15に記載の方法。 - 前記書き込みコマンドの第1のシーケンシャル書き込みストリームおよび第2のシーケンシャル書き込みストリームを前記検出する段階は、前記共通のコマンドキューの前記書き込みコマンドのパラメータを前記コンピュータが確認する段階であって、前記パラメータは書き込みデータ宛先パラメータを含む、段階と、
2つの書き込みコマンドの前記書き込みデータ宛先パラメータが、シーケンシャル書き込みストリームに対する一連の書き込みコマンドの2つの書き込みコマンドのパラメータと一致するかどうかを前記コンピュータが判定する段階と
を有する、請求項15から17のいずれか一項に記載の方法。 - 前記パラメータは、前記共通のコマンドキューの書き込みコマンドごとにコマンド送信キュー元パラメータを含む、
請求項19に記載の方法。 - 前記ソリッドステートストレージの前記第1の領域に前記第1の識別シーケンシャル書き込みストリームの前記書き込みデータを前記コンピュータが前記集約する段階は、
前記第1のシーケンシャル書き込みストリームの書き込み宛先アドレス特性を含む前記第1の識別シーケンシャル書き込みストリームの特性のファンクションに基づいて、前記第1の領域内に隣接して前記第1の識別シーケンシャル書き込みストリームの書き込みデータをシーケンシャルに前記コンピュータが再オーダおよびパックする段階を含む、
請求項18に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/671,968 | 2015-03-27 | ||
US14/671,968 US9760281B2 (en) | 2015-03-27 | 2015-03-27 | Sequential write stream management |
PCT/US2016/018795 WO2016160172A1 (en) | 2015-03-27 | 2016-02-19 | Sequential write stream management |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018511112A JP2018511112A (ja) | 2018-04-19 |
JP6729914B2 true JP6729914B2 (ja) | 2020-07-29 |
Family
ID=56975382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017542850A Active JP6729914B2 (ja) | 2015-03-27 | 2016-02-19 | ソリッドステートストレージドライブ、システム、および方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9760281B2 (ja) |
EP (1) | EP3274806B1 (ja) |
JP (1) | JP6729914B2 (ja) |
KR (2) | KR20230117258A (ja) |
CN (2) | CN107430493B (ja) |
WO (1) | WO2016160172A1 (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013177B2 (en) * | 2015-04-20 | 2018-07-03 | Hewlett Packard Enterprise Development Lp | Low write amplification in solid state drive |
US10282324B2 (en) * | 2015-07-13 | 2019-05-07 | Samsung Electronics Co., Ltd. | Smart I/O stream detection based on multiple attributes |
US11461010B2 (en) | 2015-07-13 | 2022-10-04 | Samsung Electronics Co., Ltd. | Data property-based data placement in a nonvolatile memory device |
US10466908B2 (en) * | 2015-08-25 | 2019-11-05 | Toshiba Memory Corporation | Memory system that buffers data before writing to nonvolatile memory |
JP6403164B2 (ja) * | 2015-09-11 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
US10089039B2 (en) * | 2015-10-30 | 2018-10-02 | Toshiba Memory Corporation | Memory controller, memory device having the same, and memory control method |
CN107347058B (zh) | 2016-05-06 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 数据加密方法、数据解密方法、装置及*** |
US10216417B2 (en) | 2016-10-26 | 2019-02-26 | Samsung Electronics Co., Ltd. | Method of consolidate data streams for multi-stream enabled SSDs |
US10491797B2 (en) * | 2016-12-20 | 2019-11-26 | Shanghai Xiaoyi Technology Co., Ltd. | Apparatus and method for controlling imaging devices |
US10503434B2 (en) | 2017-04-12 | 2019-12-10 | Micron Technology, Inc. | Scalable low-latency storage interface |
US10698808B2 (en) * | 2017-04-25 | 2020-06-30 | Samsung Electronics Co., Ltd. | Garbage collection—automatic data placement |
US11048624B2 (en) * | 2017-04-25 | 2021-06-29 | Samsung Electronics Co., Ltd. | Methods for multi-stream garbage collection |
US10733100B2 (en) * | 2017-06-12 | 2020-08-04 | Western Digital Technologies, Inc. | Method and apparatus for classifying and buffering write commands |
KR102398181B1 (ko) | 2017-07-03 | 2022-05-17 | 삼성전자주식회사 | 쓰기 데이터를 위해 할당될 물리 어드레스를 미리 관리하는 스토리지 장치 |
US10643707B2 (en) * | 2017-07-25 | 2020-05-05 | Western Digital Technologies, Inc. | Group write operations for a data storage device |
US10878859B2 (en) | 2017-12-20 | 2020-12-29 | Micron Technology, Inc. | Utilizing write stream attributes in storage write commands |
US10877691B2 (en) * | 2017-12-29 | 2020-12-29 | Intel Corporation | Stream classification based on logical regions |
US10824562B2 (en) * | 2018-01-09 | 2020-11-03 | Hossein Asadi | Reconfigurable caching |
CN110018784B (zh) | 2018-01-09 | 2023-01-10 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
KR102406340B1 (ko) * | 2018-02-26 | 2022-06-13 | 에스케이하이닉스 주식회사 | 전자 장치 및 그것의 동작 방법 |
US11803325B2 (en) | 2018-03-27 | 2023-10-31 | Micron Technology, Inc. | Specifying media type in write commands |
WO2020000480A1 (zh) * | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 数据存储方法及数据存储装置 |
CN108932155A (zh) * | 2018-07-25 | 2018-12-04 | 迈普通信技术股份有限公司 | 虚拟机存储管理方法、装置、电子设备及可读存储介质 |
CN109450620B (zh) | 2018-10-12 | 2020-11-10 | 创新先进技术有限公司 | 一种移动终端中共享安全应用的方法及移动终端 |
US11188250B2 (en) * | 2018-10-25 | 2021-11-30 | Micron Technology, Inc. | Two-stage hybrid memory buffer for multiple streams |
US11061591B2 (en) | 2018-11-02 | 2021-07-13 | Samsung Electronics Co., Ltd. | Storage device processing stream data, system including the same, and operation method thereof |
US11182101B2 (en) * | 2018-12-03 | 2021-11-23 | Western Digital Technologies, Inc. | Storage system and method for stream management in a multi-host virtualized storage system |
US10990315B2 (en) * | 2018-12-03 | 2021-04-27 | International Business Machines Corporation | Write transfer resource management in a data storage system |
JP6920001B2 (ja) * | 2018-12-04 | 2021-08-18 | 株式会社日立製作所 | マルチノードストレージシステム、及びマルチノードストレージシステムのキュー制御方法 |
US11231873B2 (en) * | 2018-12-07 | 2022-01-25 | Intel Corporation | Apparatus and method for assigning velocities to write data |
CN109558092A (zh) * | 2018-12-17 | 2019-04-02 | 杭州普创电子有限公司 | 一种芯片内部flash存储方法及装置 |
US11347647B2 (en) * | 2018-12-18 | 2022-05-31 | Western Digital Technologies, Inc. | Adaptive cache commit delay for write aggregation |
CN109799959B (zh) * | 2019-01-22 | 2020-07-10 | 华中科技大学 | 一种提高开放通道固态盘写并行性的方法 |
US11055022B2 (en) * | 2019-03-25 | 2021-07-06 | Western Digital Technologies, Inc. | Storage system and method for early host command fetching in a low queue depth environment |
CN111813326B (zh) * | 2019-04-12 | 2024-04-19 | 建兴储存科技(广州)有限公司 | 具多数据流写入的固态存储装置及其相关写入方法 |
KR20210012439A (ko) * | 2019-07-25 | 2021-02-03 | 삼성전자주식회사 | 마스터 지능 소자 및 이의 제어 방법 |
JP2021033845A (ja) * | 2019-08-28 | 2021-03-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN110716699A (zh) * | 2019-10-17 | 2020-01-21 | 北京百度网讯科技有限公司 | 用于写入数据的方法和装置 |
KR20210053384A (ko) | 2019-11-01 | 2021-05-12 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR20210061544A (ko) * | 2019-11-20 | 2021-05-28 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US11429519B2 (en) * | 2019-12-23 | 2022-08-30 | Alibaba Group Holding Limited | System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive |
US11216364B2 (en) * | 2020-02-18 | 2022-01-04 | Micron Technology, Inc. | Sequential read optimization in a memory sub-system that programs sequentially |
CN112015672A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | 一种存储***中数据处理方法、装置、设备及存储介质 |
US11880595B2 (en) * | 2020-11-06 | 2024-01-23 | Micron Technology, Inc. | Memory cell access techniques for memory systems |
KR20220073998A (ko) * | 2020-11-27 | 2022-06-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TW202225987A (zh) | 2020-12-21 | 2022-07-01 | 韓商愛思開海力士有限公司 | 用以分配儲存裝置的多個記憶通道以進行串流資料寫入的方法、儲存裝置及其記錄媒體 |
KR20220104511A (ko) * | 2021-01-18 | 2022-07-26 | 에스케이하이닉스 주식회사 | 컨트롤러 및 이를 포함하는 메모리 시스템 |
US11675539B2 (en) * | 2021-06-03 | 2023-06-13 | International Business Machines Corporation | File system operations for a storage supporting a plurality of submission queues |
CN113703664B (zh) * | 2021-06-24 | 2024-05-03 | 杭州电子科技大学 | 一种eMMC芯片随机写入速率优化实现方法 |
CN115729443A (zh) * | 2021-09-01 | 2023-03-03 | 北京特纳飞电子技术有限公司 | 用于对数据进行排序的方法和装置,存储装置 |
CN113918094B (zh) * | 2021-09-30 | 2024-05-31 | 山东华芯半导体有限公司 | 一种ssd写带宽控制方法 |
CN116166415A (zh) * | 2021-11-25 | 2023-05-26 | 三星电子株式会社 | 装置控制器、存储装置及其方法 |
KR102553878B1 (ko) * | 2021-11-25 | 2023-07-10 | 삼성전자주식회사 | 비휘발성 메모리 기반의 저장 장치, 장치 컨트롤러 및 방법 |
US11899984B1 (en) | 2022-07-26 | 2024-02-13 | Beijing Tenafe Electronic Technology Co., Ltd. | Virtual queue for messages |
US11907147B1 (en) | 2022-07-28 | 2024-02-20 | Beijing Tenafe Electronic Technology Co., Ltd. | Programmable message inspection engine implemented in hardware that generates an output message using a content modification plan and a destination control plan |
US11989458B2 (en) | 2022-09-12 | 2024-05-21 | Western Digital Technologies, Inc. | Splitting sequential read commands |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001001262A1 (fr) * | 1999-06-24 | 2001-01-04 | Fujitsu Limited | Controleur de peripherique et systeme d'entree/sortie |
JP2001222380A (ja) * | 2000-02-07 | 2001-08-17 | Hitachi Ltd | 外部記憶装置とそれを備えた情報処理システム |
US7917903B2 (en) * | 2003-03-27 | 2011-03-29 | Hewlett-Packard Development Company, L.P. | Quality of service controller and method for a data storage system |
US8416657B2 (en) * | 2007-12-03 | 2013-04-09 | Mediatek Inc. | Method and system for managing data from host to optical disc |
US8725928B1 (en) * | 2008-12-17 | 2014-05-13 | Micron Technology, Inc. | Method and apparatus for configuring write performance for electrically writable memory devices |
US9230002B2 (en) | 2009-01-30 | 2016-01-05 | Oracle International Corporation | High performant information sharing and replication for single-publisher and multiple-subscriber configuration |
US20120110291A1 (en) | 2009-04-06 | 2012-05-03 | Kaminario Technologies Ltd. | System and method for i/o command management |
US8463983B2 (en) * | 2009-09-15 | 2013-06-11 | International Business Machines Corporation | Container marker scheme for reducing write amplification in solid state devices |
US8806143B1 (en) * | 2009-10-09 | 2014-08-12 | Netapp, Inc. | Queuing received write blocks for reducing file fragmentation |
US9753847B2 (en) * | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
JP2011154547A (ja) * | 2010-01-27 | 2011-08-11 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP2011175615A (ja) * | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
WO2011153478A2 (en) | 2010-06-04 | 2011-12-08 | Flashsoft Corporation | Cache management and acceleration of storage media |
CN102004698B (zh) * | 2010-11-23 | 2012-07-04 | 深圳市江波龙电子有限公司 | 一种闪存管理方法及*** |
US8458435B1 (en) * | 2010-12-20 | 2013-06-04 | Western Digital Technologies, Inc. | Sequential write thread detection |
US8521948B2 (en) * | 2011-01-03 | 2013-08-27 | Apple Inc. | Handling dynamic and static data for a system having non-volatile memory |
EP2715510B1 (en) * | 2011-05-24 | 2018-05-02 | Marvell World Trade Ltd. | Method for storage devices to achieve low write amplification with low over provision |
CN102521269B (zh) * | 2011-11-22 | 2013-06-19 | 清华大学 | 一种基于索引的计算机连续数据保护方法 |
JP2013131060A (ja) * | 2011-12-21 | 2013-07-04 | Panasonic Corp | 情報処理装置 |
US20130173842A1 (en) * | 2011-12-28 | 2013-07-04 | King Ying Ng | Adaptive Logical Group Sorting to Prevent Drive Fragmentation |
US8930619B2 (en) | 2012-05-29 | 2015-01-06 | Dot Hill Systems Corporation | Method and apparatus for efficiently destaging sequential I/O streams |
US9552297B2 (en) * | 2013-03-04 | 2017-01-24 | Dot Hill Systems Corporation | Method and apparatus for efficient cache read ahead |
WO2014110095A1 (en) * | 2013-01-08 | 2014-07-17 | Violin Memory Inc. | Method and system for data storage |
US9223698B2 (en) * | 2013-01-15 | 2015-12-29 | Kaminario Technologies Ltd. | SSD-block aligned writes |
JP2014167763A (ja) * | 2013-02-28 | 2014-09-11 | Canon Inc | 電子機器及びその制御方法 |
US8966164B1 (en) * | 2013-09-27 | 2015-02-24 | Avalanche Technology, Inc. | Storage processor managing NVME logically addressed solid state disk array |
KR102074329B1 (ko) * | 2013-09-06 | 2020-02-06 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 처리 방법 |
TWI515735B (zh) * | 2013-12-09 | 2016-01-01 | 群聯電子股份有限公司 | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 |
CN103631940B (zh) * | 2013-12-09 | 2017-02-08 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及*** |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
CN104331250B (zh) * | 2014-11-18 | 2017-05-24 | 苏州佳世达电通有限公司 | 资料写入方法 |
US9658966B2 (en) * | 2014-11-24 | 2017-05-23 | Sandisk Technologies Llc | Systems and methods of write cache flushing |
CN104461935B (zh) * | 2014-11-27 | 2018-03-13 | 华为技术有限公司 | 一种进行数据存储的方法、装置及*** |
-
2015
- 2015-03-27 US US14/671,968 patent/US9760281B2/en active Active
-
2016
- 2016-02-19 KR KR1020237025668A patent/KR20230117258A/ko not_active Application Discontinuation
- 2016-02-19 WO PCT/US2016/018795 patent/WO2016160172A1/en active Application Filing
- 2016-02-19 CN CN201680019082.1A patent/CN107430493B/zh active Active
- 2016-02-19 EP EP16773650.3A patent/EP3274806B1/en active Active
- 2016-02-19 KR KR1020177023540A patent/KR102561727B1/ko active IP Right Grant
- 2016-02-19 CN CN202311259099.2A patent/CN117687568A/zh active Pending
- 2016-02-19 JP JP2017542850A patent/JP6729914B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR20170130376A (ko) | 2017-11-28 |
CN107430493B (zh) | 2023-10-03 |
KR20230117258A (ko) | 2023-08-07 |
KR102561727B1 (ko) | 2023-07-31 |
US9760281B2 (en) | 2017-09-12 |
JP2018511112A (ja) | 2018-04-19 |
EP3274806B1 (en) | 2023-12-06 |
US20160283116A1 (en) | 2016-09-29 |
WO2016160172A1 (en) | 2016-10-06 |
CN117687568A (zh) | 2024-03-12 |
EP3274806A1 (en) | 2018-01-31 |
CN107430493A (zh) | 2017-12-01 |
EP3274806A4 (en) | 2018-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6729914B2 (ja) | ソリッドステートストレージドライブ、システム、および方法 | |
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
US11307992B2 (en) | Method and apparatus for performing operations to namespaces of a flash memory device | |
US9348747B2 (en) | Solid state memory command queue in hybrid device | |
EP3608787A1 (en) | Virtualizing isolation areas of solid-state storage media | |
JP2012508428A (ja) | 単一のコマンドにより複数の非連続アドレス範囲の転送をキューイングするための方法及びシステム | |
US10209897B2 (en) | Storage device and control method of the same | |
US10983701B2 (en) | Memory system that constructs virtual storage regions for virtual machines | |
US9983826B2 (en) | Data storage device deferred secure delete | |
US20120221809A1 (en) | Storage apparatus and data processing method of the same | |
US10649909B2 (en) | Logical block addressing range collision crawler | |
Jung et al. | Architecture exploration of flash memory storage controller through a cycle accurate profiling | |
US8683161B2 (en) | Method and apparatus for increasing file copy performance on solid state mass storage devices | |
CN114610654A (zh) | 一种固态存储设备以及向其写入数据的方法 | |
TWI601058B (zh) | 減少在固態驅動機中混植輸入與輸出操作的技術 | |
US9898208B2 (en) | Storage system with hybrid logical volumes utilizing in-band hinting | |
TWI805505B (zh) | 排程和執行主機資料更新命令的方法及電腦程式產品及裝置 | |
WO2016098202A1 (ja) | ストレージ装置およびその制御方法 | |
TW202416108A (zh) | 排程和執行主機資料更新命令的方法及電腦程式產品及裝置 | |
Jeremic et al. | Dataset Management-Aware Software Architecture for Storage Systems Based on SSDs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200427 |
|
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: 20200602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200626 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6729914 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |