JP5296041B2 - メモリシステムおよびメモリシステムの制御方法 - Google Patents
メモリシステムおよびメモリシステムの制御方法 Download PDFInfo
- Publication number
- JP5296041B2 JP5296041B2 JP2010279376A JP2010279376A JP5296041B2 JP 5296041 B2 JP5296041 B2 JP 5296041B2 JP 2010279376 A JP2010279376 A JP 2010279376A JP 2010279376 A JP2010279376 A JP 2010279376A JP 5296041 B2 JP5296041 B2 JP 5296041B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- read
- management information
- queue
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
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)
- Memory System (AREA)
- Read Only Memory (AREA)
Description
図1は、第1の実施形態によるメモリシステムの構成の一例を模式的に示すブロック図である。ここでは、メモリシステムの一例としてSSDを例に挙げて説明するが、本実施形態の適用対象はSSDに限定されない。
図12は、リオーダ処理の概略を模式的に示す図である。新しいコマンドがコマンドキュー420に登録されると(ステップS201)、制御部470はコマンドキュー420内の新規コマンドを検索し(ステップS202)、ライトコマンドまたはリードコマンドを取得する(ステップS203,S204)。なお、この図でWはライトコマンドを示している。
図13は、リード処理時のリオーダ処理の概略を模式的に示す図である。新しいコマンドがコマンドキュー420に登録されると(ステップS301)、制御部470はコマンドキュー420内の新規コマンドを検索し(ステップS302)、リードコマンドを取得する(ステップS303)。
図14は、チャネルの利用状況に応じたリオーダ処理の概略を模式的に示す図である。この図は、図13のリオーダバッファ462からリードキュー451に登録する処理の詳細を示している。なお、ここでは、リードキュー451に既にリードコマンドR1〜R7が登録されているものとする。
上記したフローチャートを用いた説明では、管理情報読み出しコマンドのリードキュー451への投入は、リードコマンドと同様の手順によって行われる場合を示したが、このような方法に限定されず、他の方法で管理情報読み出しコマンドをリードキュー451へ投入してもよい。
図17は、再利用性を考慮したリードコマンドの実行順序の入れ替え処理を模式的に示す図である。ここでは、リオーダバッファ462の並列動作要素31a(チャネルch0)に対応するキューに、4つのリードコマンドRa〜Rdが登録されているものとする。また、リードコマンドRaはブロック0のページ0へのリード要求であり、リードコマンドRbはブロック99のページ0内の領域(1)へのリード要求であり、リードコマンドRcはブロック0のページ0へのリード要求であり、リードコマンドRdはブロック99のページ0内の領域(2)へのリード要求であるものとする。
図18は、SSDを搭載したパーソナルコンピュータ1200の一例を示す斜視図である。パーソナルコンピュータ1200は、本体1201、及び表示ユニット1202を備えている。表示ユニット1202は、ディスプレイハウジング1203と、このディスプレイハウジング1203に収容された表示装置1204とを備えている。
Claims (20)
- 揮発性メモリと、
ホスト装置からの書き込みデータをそれぞれ記憶し、前記書き込みデータの物理的な記憶位置である物理アドレスと前記ホスト装置から指定される論理アドレスとを対応付けた不揮発性アドレス管理情報が格納された不揮発性メモリと、
前記ホスト装置からのコマンドを格納するコマンドキューと、
前記不揮発性メモリ内の前記不揮発性アドレス管理情報の一部である揮発性アドレス管理情報を格納するアドレス情報キャッシュと、
前記ホスト装置からコマンドの実行時に、前記コマンドの実行に使用するアドレス管理情報を前記不揮発性メモリから前記アドレス情報キャッシュに読み出して、前記不揮発性メモリに対してリード/ライトを実行するコントローラと、
を備え、
前記コントローラは、前記コマンドキューに格納されたリードコマンドのうち、1つのリードコマンドに含まれるアクセス先のすべてが前記揮発性アドレス管理情報に存在するリードコマンドから優先的に実行するようにリオーダ制御することを特徴とするメモリシステム。 - 前記コントローラは、前記コマンドキューに格納されたコマンド中の依存関係を調べ、依存関係がないリードコマンドについて前記リオーダ制御することを特徴とする請求項1に記載のメモリシステム。
- 前記不揮発性メモリは、それぞれ個別にリード/ライトされる並列動作要素を複数備え、少なくとも1つの前記並列動作要素に前記不揮発性アドレス管理情報を格納し、
前記コントローラは、前記複数の並列動作要素に対してリード/ライトを同時に実行可能な構成を有し、前記アクセス先のすべてが前記揮発性アドレス管理情報に存在するリードコマンドのうち、コマンドの処理状況が少ない前記並列動作要素から所定の順序で前記リードコマンドを実行させるようにリオーダ制御することを特徴とする請求項2に記載のメモリシステム。 - 前記コントローラでリオーダ制御された順にリードコマンドを登録するリードキューと、
前記リードキューに登録された順に前記リードコマンドを実行する転送順序制御手段と、
前記揮発性アドレス管理情報で前記不揮発性メモリにアクセス可能なリードコマンドを記憶するリオーダバッファと、
前記揮発性アドレス管理情報では前記不揮発性メモリにアクセスできないリードコマンドを格納するウェイトキューと、
をさらに備え、
前記コントローラは、前記コマンドキューに格納されたリードコマンドのうち、前記リードコマンドに含まれるすべてのアクセス先の論理アドレスを前記揮発性アドレス管理情報によって前記不揮発性メモリ上の記憶位置を特定できるリードコマンドを前記リオーダバッファに登録し、前記不揮発性メモリ上の記憶位置を特定できないリードコマンドを前記ウェイトキューに登録する第1の処理手段を有することを特徴とする請求項1に記載のメモリシステム。 - 前記不揮発性メモリは、それぞれ個別にリード/ライトされる並列動作要素を複数備え、少なくとも1つの前記並列動作要素に前記不揮発性アドレス管理情報を格納し、
前記リオーダバッファは、前記並列動作要素ごとに対応したキューを有し、
前記第1の処理手段は、前記不揮発性メモリ上の記憶位置を特定できるリードコマンドを、そのアクセス先の前記並列動作要素に対応する前記リオーダバッファ中の前記キューに登録することを特徴とする請求項4に記載のメモリシステム。 - 前記コントローラは、コマンドの処理状況が少ない前記並列動作要素から所定の順序で前記リードコマンドを実行させるように、前記リオーダバッファに登録されたリードコマンドを前記リードキューに登録する第2の処理手段を有することを特徴とする請求項5に記載のメモリシステム。
- 前記コントローラは、前記コマンドキューに格納されたコマンド中の依存関係を判断し、依存関係がないリードコマンドを前記リオーダバッファと前記ウェイトキューに振り分ける第3の処理手段を有することを特徴とする請求項4〜6のいずれか1つに記載のメモリシステム。
- 前記不揮発性メモリと前記揮発性メモリとの間でのデータ転送をコマンドにしたがって行う不揮発性メモリインタフェースを備え、
前記転送順序制御手段は、先行するリードコマンドのデータ転送中に、前記リードキュー中の前記先行するリードコマンドに後続するリードコマンドの要求を前記不揮発性メモリインタフェースに発行し、
前記不揮発性メモリインタフェースは、前記先行するリードコマンドのデータ転送が終了した後、発行された前記後続するリードコマンドの要求によるデータ転送処理を開始することを特徴とする請求項4〜7のいずれか1つに記載のメモリシステム。 - 前記ウェイトキューに登録された前記リードコマンドについての管理情報読み出しコマンドを記憶するウェイトキュー用リオーダバッファをさらに備え、
前記コントローラは、前記ウェイトキューに登録された前記リードコマンドの論理アドレスで指定される前記不揮発性メモリ上の記憶位置を特定できるアドレス管理情報を前記不揮発性メモリの前記不揮発性アドレス管理情報から取得して、前記アドレス情報キャッシュに登録する管理情報読み出しコマンドを生成し、前記ウェイトキュー用リオーダバッファに登録し、前記管理情報読み出しコマンドによって前記アドレス情報キャッシュに前記ウェイトキューに登録された前記リードコマンド用のアドレス管理情報が登録された後、前記リードコマンドを前記リオーダバッファに登録する第4の処理手段をさらに有することを特徴とする請求項4〜8のいずれか1つに記載のメモリシステム。 - 前記第2の処理手段は、前記リードキューに投入しようとするリードコマンドと同じアドレスまたは連続するアドレスの他のリードコマンドがある場合には、前記リードコマンドとともに前記他のリードコマンドも前記リードキューに投入することを特徴とする請求項9に記載のメモリシステム。
- 前記コントローラは、前記コマンドキューに格納されたライトコマンドのうち転送するデータ量分の空きが前記揮発性メモリにあるものを優先的に処理する書き込み制御手段を有することを特徴とする請求項1〜10のいずれか1つに記載のメモリシステム。
- 前記書き込み制御手段は、前記コマンドキューに格納されたライトコマンドのうち依存関係がないライトコマンドを依存関係があるライトコマンドよりも優先的に処理することを特徴とする請求項11に記載のメモリシステム。
- 前記書き込み制御手段は、前記依存関係がないライトコマンドのうち前記転送するデータ量分の空きが前記揮発性メモリにない場合に、前記揮発性メモリに前記転送するデータ量分の空きを作るように前記揮発性メモリに開き領域を確保するコマンドを生成し、実行することを特徴とする請求項11または12に記載のメモリシステム。
- 揮発性メモリと、
ホスト装置からの書き込みデータをそれぞれ記憶し、前記書き込みデータの物理的な記憶位置である物理アドレスと前記ホスト装置から指定される論理アドレスとを対応付けた不揮発性アドレス管理情報が格納された不揮発性メモリと、
前記ホスト装置からのコマンドを格納するコマンドキューと、
前記不揮発性メモリ内の前記不揮発性アドレス管理情報の一部である揮発性アドレス管理情報を格納するアドレス情報キャッシュと、
前記ホスト装置からコマンドの実行時に、前記コマンドの実行に使用するアドレス管理情報を前記不揮発性メモリから前記アドレス情報キャッシュに読み出して、前記不揮発性メモリに対してリード/ライトを実行するコントローラと、
を備えるメモリシステムの制御方法であって、
前記コントローラは、前記コマンドキューに格納されたリードコマンドのうち、1つのリードコマンドに含まれるアクセス先のすべてが前記揮発性アドレス管理情報に存在するリードコマンドから優先的に実行するようにリオーダ制御することを特徴とするメモリシステムの制御方法。 - 前記コントローラは、前記コマンドキューに格納されたコマンド中の依存関係を調べ、依存関係がないリードコマンドについて前記リオーダ制御することを特徴とする請求項14に記載のメモリシステムの制御方法。
- 前記不揮発性メモリは、それぞれ個別にリード/ライトされる並列動作要素を複数備え、少なくとも1つの前記並列動作要素に前記不揮発性アドレス管理情報を格納し、
前記コントローラは、前記複数の並列動作要素に対してリード/ライトを同時に実行可能な構成を有し、前記アクセス先のすべてが前記揮発性アドレス管理情報に存在するリードコマンドのうち、コマンドの処理状況が少ない前記並列動作要素から所定の順序で前記リードコマンドを実行させるようにリオーダ制御することを特徴とする請求項15に記載のメモリシステムの制御方法。 - 前記不揮発性メモリと前記揮発性メモリとの間でのデータ転送をコマンドにしたがって行う不揮発性メモリインタフェースと、
前記コントローラによってリオーダ制御された順に前記不揮発性メモリインタフェースを介して前記リードコマンドを実行する転送順序制御手段と、
をさらに備え、
前記転送順序制御手段は、先行するリードコマンドのデータ転送中に、前記先行するリードコマンドに後続するリードコマンドの要求を前記不揮発性メモリインタフェースに発行し、
前記不揮発性メモリインタフェースは、前記先行するリードコマンドのデータ転送が終了した後、発行された前記後続するリードコマンドの要求によるデータ転送処理を開始することを特徴とする請求項14〜16のいずれか1つに記載のメモリシステムの制御方法。 - 前記コントローラは、前記コマンドキューに格納されたライトコマンドのうち転送するデータ量分の空きが前記揮発性メモリにあるものを優先的に処理することを特徴とする請求項14〜17のいずれか1つに記載のメモリシステムの制御方法。
- 前記コントローラは、前記コマンドキューに格納されたライトコマンドのうち依存関係がないライトコマンドを依存関係があるライトコマンドよりも優先的に処理することを特徴とする請求項18に記載のメモリシステムの制御方法。
- 前記コントローラは、前記依存関係がないライトコマンドのうち前記転送するデータ量分の空きが前記揮発性メモリにない場合に、前記揮発性メモリに前記転送するデータ量分の空きを作るように前記揮発性メモリに開き領域を確保するコマンドを生成し、実行することを特徴とする請求項18または19に記載のメモリシステムの制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010279376A JP5296041B2 (ja) | 2010-12-15 | 2010-12-15 | メモリシステムおよびメモリシステムの制御方法 |
TW100146301A TWI472917B (zh) | 2010-12-15 | 2011-12-14 | 記憶系統及控制記憶系統之方法 |
PCT/JP2011/079580 WO2012081730A1 (en) | 2010-12-15 | 2011-12-14 | Memory system and method of controlling memory system |
US13/825,695 US20130212319A1 (en) | 2010-12-15 | 2011-12-14 | Memory system and method of controlling memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010279376A JP5296041B2 (ja) | 2010-12-15 | 2010-12-15 | メモリシステムおよびメモリシステムの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012128646A JP2012128646A (ja) | 2012-07-05 |
JP5296041B2 true JP5296041B2 (ja) | 2013-09-25 |
Family
ID=46244819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010279376A Active JP5296041B2 (ja) | 2010-12-15 | 2010-12-15 | メモリシステムおよびメモリシステムの制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130212319A1 (ja) |
JP (1) | JP5296041B2 (ja) |
TW (1) | TWI472917B (ja) |
WO (1) | WO2012081730A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10481867B2 (en) | 2016-10-07 | 2019-11-19 | Samsung Electronics Co., Ltd. | Data input/output unit, electronic apparatus, and control methods thereof |
US10761771B2 (en) | 2018-04-25 | 2020-09-01 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924636B2 (en) | 2012-02-23 | 2014-12-30 | Kabushiki Kaisha Toshiba | Management information generating method, logical block constructing method, and semiconductor memory device |
US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
KR20130109426A (ko) * | 2012-03-27 | 2013-10-08 | 삼성전자주식회사 | 메모리 확장 장치 및 그것을 사용하는 휴대용 모바일 장치 |
US9772948B2 (en) | 2012-07-06 | 2017-09-26 | Seagate Technology Llc | Determining a criterion for movement of data from a primary cache to a secondary cache |
US9529724B2 (en) | 2012-07-06 | 2016-12-27 | Seagate Technology Llc | Layered architecture for hybrid controller |
US9594685B2 (en) | 2012-07-06 | 2017-03-14 | Seagate Technology Llc | Criteria for selection of data for a secondary cache |
US9477591B2 (en) | 2012-07-06 | 2016-10-25 | Seagate Technology Llc | Memory access requests in hybrid memory system |
KR101970712B1 (ko) | 2012-08-23 | 2019-04-22 | 삼성전자주식회사 | 단말기의 데이터 이동장치 및 방법 |
KR101932920B1 (ko) * | 2012-09-14 | 2019-03-18 | 삼성전자 주식회사 | 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법 |
KR101741346B1 (ko) * | 2013-01-11 | 2017-06-15 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 플래시 메모리들에 대한 페이지 할당 |
US9792989B2 (en) | 2013-02-07 | 2017-10-17 | Toshiba Memory Corporation | Memory system including nonvolatile memory |
TWI526838B (zh) | 2013-02-27 | 2016-03-21 | 東芝股份有限公司 | 記憶體裝置 |
KR101742462B1 (ko) | 2013-02-27 | 2017-06-01 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 메모리 디바이스들을 위한 선형 프로그래밍 기반 디코딩 |
US9286206B2 (en) | 2013-07-30 | 2016-03-15 | Kabushiki Kaisha Toshiba | Memory system |
US9367247B2 (en) * | 2013-08-20 | 2016-06-14 | Seagate Technology Llc | Memory access requests in hybrid memory system |
US9785564B2 (en) | 2013-08-20 | 2017-10-10 | Seagate Technology Llc | Hybrid memory with associative cache |
US9690515B2 (en) | 2013-10-25 | 2017-06-27 | Sandisk Technologies Llc | Delayed automation to maximize the utilization of read and write cache |
WO2015088552A1 (en) | 2013-12-13 | 2015-06-18 | Empire Technology Development Llc | Low-complexity flash memory data-encoding techniques using simplified belief propagation |
WO2015111148A1 (ja) * | 2014-01-22 | 2015-07-30 | 株式会社日立製作所 | ストレージ装置およびストレージ装置制御方法 |
JP5949816B2 (ja) | 2014-03-19 | 2016-07-13 | 日本電気株式会社 | キャッシュ制御装置及びその制御方法、ストレージ装置、並びにコンピュータ・プログラム |
KR20160065468A (ko) * | 2014-12-01 | 2016-06-09 | 삼성전자주식회사 | 솔리드 스테이트 드라이브의 동작 방법 |
US10452557B2 (en) * | 2015-01-28 | 2019-10-22 | Hitachi, Ltd. | Storage apparatus, computer system, and method for improved read operation handling |
US9959206B2 (en) | 2015-05-19 | 2018-05-01 | Toshiba Memory Corporation | Memory system and method of controlling cache memory |
US10296236B2 (en) * | 2015-07-01 | 2019-05-21 | Pure Storage, Inc. | Offloading device management responsibilities from a storage device in an array of storage devices |
US10198208B2 (en) * | 2015-11-13 | 2019-02-05 | International Business Machines Corporation | Performing collective I/O operations within operating system processes |
US10152237B2 (en) | 2016-05-05 | 2018-12-11 | Micron Technology, Inc. | Non-deterministic memory protocol |
US10534540B2 (en) | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
CN106339326A (zh) * | 2016-08-26 | 2017-01-18 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN107797759B (zh) * | 2016-09-05 | 2021-05-18 | 北京忆恒创源科技有限公司 | 访问缓存信息的方法、装置与驱动器 |
CN107797760B (zh) * | 2016-09-05 | 2021-06-11 | 北京忆恒创源科技有限公司 | 一种访问缓存信息的方法、装置与固态驱动器 |
KR20180032039A (ko) * | 2016-09-21 | 2018-03-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11003602B2 (en) * | 2017-01-24 | 2021-05-11 | Micron Technology, Inc. | Memory protocol with command priority |
KR20190052441A (ko) * | 2017-11-08 | 2019-05-16 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN109901785B (zh) * | 2017-12-08 | 2022-04-05 | 华为云计算技术有限公司 | 命令排序方法、降低读时延方法及固态硬盘ssd控制器 |
JP7013294B2 (ja) | 2018-03-19 | 2022-01-31 | キオクシア株式会社 | メモリシステム |
CN110321060A (zh) * | 2018-03-31 | 2019-10-11 | 深圳忆联信息系统有限公司 | 数据存储的方法及装置 |
KR20200019431A (ko) * | 2018-08-14 | 2020-02-24 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
US11531622B2 (en) * | 2019-09-20 | 2022-12-20 | Micron Technology, Inc. | Managing data dependencies for out of order processing in a hybrid DIMM |
US11494306B2 (en) | 2019-09-20 | 2022-11-08 | Micron Technology, Inc. | Managing data dependencies in a transfer pipeline of a hybrid dimm |
US11256423B2 (en) * | 2019-10-14 | 2022-02-22 | Western Digital Technologies, Inc. | Efficiently identifying command readiness based on system state and data spread in multi queue depth environment |
CN114168495A (zh) * | 2020-09-10 | 2022-03-11 | 西部数据技术公司 | 存储设备的增强的预读能力 |
US20240143512A1 (en) * | 2022-11-01 | 2024-05-02 | Western Digital Technologies, Inc. | Write buffer linking for easy cache reads |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7187572B2 (en) * | 2002-06-28 | 2007-03-06 | Rambus Inc. | Early read after write operation memory device, system and method |
US5432918A (en) * | 1990-06-29 | 1995-07-11 | Digital Equipment Corporation | Method and apparatus for ordering read and write operations using conflict bits in a write queue |
US6112265A (en) * | 1997-04-07 | 2000-08-29 | Intel Corportion | System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command |
US6260189B1 (en) * | 1998-09-14 | 2001-07-10 | Lucent Technologies Inc. | Compiler-controlled dynamic instruction dispatch in pipelined processors |
JP3440032B2 (ja) * | 1999-07-15 | 2003-08-25 | パナソニック コミュニケーションズ株式会社 | メモリ制御装置,ファクシミリ装置および画像形成装置 |
JP2001175537A (ja) * | 1999-12-17 | 2001-06-29 | Hitachi Ltd | 記憶装置システムのキャッシュ常駐方式 |
US8037234B2 (en) * | 2003-12-02 | 2011-10-11 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US6490635B1 (en) * | 2000-04-28 | 2002-12-03 | Western Digital Technologies, Inc. | Conflict detection for queued command handling in disk drive controller |
US6829699B2 (en) * | 2000-12-23 | 2004-12-07 | International Business Machines Corporation | Rename finish conflict detection and recovery |
JP3785127B2 (ja) * | 2002-09-11 | 2006-06-14 | 株式会社東芝 | ディスクアレイ制御装置及びディスクアレイ制御装置におけるデータ書き込み方法 |
JP2006146833A (ja) * | 2004-11-25 | 2006-06-08 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置の整合性検査支援方法およびディスクアレイ装置の整合性検査方法 |
CN101681282A (zh) * | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
JP4653817B2 (ja) * | 2008-03-01 | 2011-03-16 | 株式会社東芝 | メモリシステム |
JP4643667B2 (ja) * | 2008-03-01 | 2011-03-02 | 株式会社東芝 | メモリシステム |
CN101681316A (zh) * | 2008-03-01 | 2010-03-24 | 株式会社东芝 | 存储器系统 |
KR101553532B1 (ko) * | 2008-04-17 | 2015-09-16 | 삼성전자주식회사 | 스토리지 장치 |
KR101486987B1 (ko) * | 2008-05-21 | 2015-01-30 | 삼성전자주식회사 | 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법 |
KR20100012468A (ko) * | 2008-07-29 | 2010-02-08 | 주식회사 하이닉스반도체 | 고속 동작하는 반도체 스토리지 시스템 |
US8099566B2 (en) * | 2009-05-15 | 2012-01-17 | Oracle America, Inc. | Load/store ordering in a threaded out-of-order processor |
CN101908368A (zh) * | 2009-06-04 | 2010-12-08 | 威刚科技(苏州)有限公司 | 电子存储装置及其操作方法 |
TWI499907B (zh) * | 2009-07-17 | 2015-09-11 | Genesys Logic Inc | 快閃記憶體之平行處理架構及其方法 |
JP2011070365A (ja) * | 2009-09-25 | 2011-04-07 | Toshiba Corp | メモリシステム |
US8549274B2 (en) * | 2010-04-14 | 2013-10-01 | Jade Quantum Technologies, Inc. | Distributive cache accessing device and method for accelerating to boot remote diskless computers |
US9292294B2 (en) * | 2012-09-27 | 2016-03-22 | Intel Corporation | Detection of memory address aliasing and violations of data dependency relationships |
-
2010
- 2010-12-15 JP JP2010279376A patent/JP5296041B2/ja active Active
-
2011
- 2011-12-14 TW TW100146301A patent/TWI472917B/zh not_active IP Right Cessation
- 2011-12-14 US US13/825,695 patent/US20130212319A1/en not_active Abandoned
- 2011-12-14 WO PCT/JP2011/079580 patent/WO2012081730A1/en active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10481867B2 (en) | 2016-10-07 | 2019-11-19 | Samsung Electronics Co., Ltd. | Data input/output unit, electronic apparatus, and control methods thereof |
US10761771B2 (en) | 2018-04-25 | 2020-09-01 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
US11150835B2 (en) | 2018-04-25 | 2021-10-19 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
US11543997B2 (en) | 2018-04-25 | 2023-01-03 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
US11861218B2 (en) | 2018-04-25 | 2024-01-02 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
US20130212319A1 (en) | 2013-08-15 |
TW201232259A (en) | 2012-08-01 |
TWI472917B (zh) | 2015-02-11 |
JP2012128646A (ja) | 2012-07-05 |
WO2012081730A1 (en) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5296041B2 (ja) | メモリシステムおよびメモリシステムの制御方法 | |
EP2396729B1 (en) | Memory system and method of controlling memory system | |
EP2529308B1 (en) | A system and method for read-while-write with nand memory device | |
JP5404483B2 (ja) | メモリシステム | |
KR100823171B1 (ko) | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 | |
US7958280B2 (en) | Parallel data transfer in solid-state storage | |
US7822887B2 (en) | Multi-channel solid-state storage system | |
US10871920B2 (en) | Storage device and computer system | |
JP6139381B2 (ja) | メモリシステムおよび方法 | |
US20090132761A1 (en) | Storage management method and system using the same | |
KR20030075356A (ko) | 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법 | |
KR20120112965A (ko) | 비휘발성 메모리 장치, 이를 스왑 메모리로 이용하는 데이터 처리 장치, 및 이를 이용한 스왑 방법 | |
WO2011074712A1 (en) | Semiconductor storage device and personal computer | |
KR20130112210A (ko) | 메모리 시스템 및 그것의 페이지 교체 방법 | |
US11520520B2 (en) | Memory system and method of controlling nonvolatile memory | |
US11960396B2 (en) | Method and computer program product for performing data writes into a flash memory | |
KR20150076187A (ko) | 메시지 시그널 인터럽트의 통신 | |
US20110238915A1 (en) | Storage system | |
JP2019046238A (ja) | メモリシステム | |
CN110908595B (zh) | 存储装置及信息处理系统 | |
KR101549569B1 (ko) | 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치 | |
US9058113B2 (en) | Storage region providing device, storage region providing method, and recording medium | |
KR20090053164A (ko) | 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 | |
US20240069747A1 (en) | Memory system | |
JP5382471B2 (ja) | 電力制御方法、計算機システム、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130213 |
|
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: 20130521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130612 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5296041 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |