JP5922740B2 - メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法 - Google Patents
メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法 Download PDFInfo
- Publication number
- JP5922740B2 JP5922740B2 JP2014219123A JP2014219123A JP5922740B2 JP 5922740 B2 JP5922740 B2 JP 5922740B2 JP 2014219123 A JP2014219123 A JP 2014219123A JP 2014219123 A JP2014219123 A JP 2014219123A JP 5922740 B2 JP5922740 B2 JP 5922740B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- data access
- access command
- memory
- data
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- 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
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/225—Hybrid cache memory, e.g. having both volatile and non-volatile portions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Claims (11)
- コントローラであって、
第1の不揮発性ソリッドステートメモリと、前記第1の不揮発性ソリッドステートメモリより遅いアクセス速度を有する第2の不揮発性メモリとを含むデバイスで第1のデータアクセスコマンドを受信し、かつ
前記第1のデータアクセスコマンドが、前記第1の不揮発性ソリッドステートメモリに向けられているとき、前記第1のデータアクセスコマンドを、前記第1の不揮発性ソリッドステートメモリのための第1のコマンド待ち行列に記憶するように構成された、コントローラを備え、
前記コントローラが、
前記第1のデータアクセスコマンドの実行を開始し、
前記第1のデータアクセスコマンドの実行が完了する前に、前記第1の不揮発性ソリッドステートメモリに向けられた第2のデータアクセスコマンドを受信し、かつ
前記第2のデータアクセスコマンドを前記第1のコマンド待ち行列に記憶し、
第3のデータアクセスコマンドを前記第1のコマンド待ち行列に記憶し、
前記第2のデータアクセスコマンドおよび前記第3のデータアクセスコマンドの両方が単一のデータアクセスにより行われ得るかどうかを判定し、かつ
前記判定に基づき前記単一のデータアクセスを行うようにさらに構成され、
前記第1のコマンド待ち行列は、2以上の所定数のデータアクセスコマンドを動作開始前に行列待ちさせるように構成される、装置。 - 前記第1の不揮発性ソリッドステートメモリと、
前記第2の不揮発性メモリと、
前記第1のコマンド待ち行列と、をさらに備える、請求項1に記載の装置。 - 第2のコマンド待ち行列をさらに備え、
前記コントローラが、
前記第1のデータアクセスコマンドが前記デバイスで受信されるとき、前記第1のデータアクセスコマンドを前記第2のコマンド待ち行列に記憶し、かつ
前記第1のデータアクセスコマンドが、前記第1の不揮発性ソリッドステートメモリと前記第2の不揮発性メモリとのうちのどちらに向けられているかを判定するようにさらに構成された、請求項2に記載の装置。 - 前記コントローラが、
前記第1のデータアクセスコマンドを前記第1のコマンド待ち行列に記憶した後、前記第1のデータアクセスコマンドが受信されて、付加的コマンドが前記コントローラに送信されてもよいという表示を送信するようにさらに構成されることをさらに含む、請求項1に記載の装置。 - ホストデバイスからコマンドを受信するように構成されたインターフェースをさらに備え、
前記コントローラが、前記インターフェースを通じてコマンドの結果を前記ホストデバイスに戻すようにさらに構成された、請求項1から請求項4のいずれか1項に記載の装置。 - 前記第1の不揮発性ソリッドステートメモリがNANDフラッシュメモリであり、
前記第2の不揮発性メモリがディスクメモリであることをさらに含む、請求項1から請求項5のいずれか1項に記載の装置。 - データアクセスコマンドは、前記データアクセスコマンドが前記第1の不揮発性ソリッドステートメモリ内に記憶されたデータを要求するとき、または前記データアクセスコマンドが前記第1の不揮発性ソリッドステートメモリに書き込まれるデータを含むとき、前記第1の不揮発性ソリッドステートメモリに向けられていることをさらに含む、請求項1に記載の装置。
- プロセッサに方法を行わせる命令を記憶するメモリデバイスであって、前記方法が、
キャッシュメモリを含むデータ記憶デバイスで第1のデータアクセスコマンドを受信することと、
前記第1のデータアクセスコマンドが前記キャッシュメモリに向けられているとき、前記第1のデータアクセスコマンドを、前記キャッシュメモリのための第1のコマンド待ち行列に記憶することと、
前記第1のデータアクセスコマンドが前記データ記憶デバイスで受信されるとき、前記第1のデータアクセスコマンドを第2のコマンド待ち行列に記憶することと、
前記第1のデータアクセスコマンドが前記キャッシュメモリに向けられているか、または第1の不揮発性メモリに向けられているかを判定することと、
前記第1のデータアクセスコマンドの実行を開始することと、
前記第1のデータアクセスコマンドの実行が完了する前に、前記キャッシュメモリに向けられた第2のデータアクセスコマンドを受信することと、
前記第2のデータアクセスコマンドを前記第1のコマンド待ち行列に記憶することと、
第3のデータアクセスコマンドを前記第1のコマンド待ち行列に記憶することと、
前記第2のデータアクセスコマンドおよび前記第3のデータアクセスコマンドの両方が、前記キャッシュメモリの同一データ要素であって、単一のアクセス動作中にアクセスされるある量の記憶空間である、データ要素にアクセスすることを必要とするかどうかを判定することと、
前記第2のデータアクセスコマンドおよび前記第3のデータアクセスコマンドの両方が前記同一のデータ要素へのアクセスを必要とするとき、前記第2のデータアクセスコマンドおよび前記第3のデータアクセスコマンドの両方に単一のアクセス動作を行うことと、をさらに含み、
前記第1のコマンド待ち行列は、2以上の所定数のデータアクセスコマンドを動作開始前に行列待ちさせる、メモリデバイス。 - 前記方法が、
前記第1のデータアクセスコマンドを前記第1のコマンド待ち行列に記憶した後、前記第1のデータアクセスコマンドが受信されて、付加的コマンドが前記データ記憶デバイスのコントローラに送信されてもよいという表示を送信することをさらに含む、請求項8に記載のメモリデバイス。 - 前記方法が、
インターフェースを通じてホストデバイスから前記第1のデータアクセスコマンドを受信することと、
前記インターフェースを通じてコマンドの結果を前記ホストデバイスに戻すことと、をさらに含む、請求項8に記載のメモリデバイス。 - データ記憶デバイスで、第1のデータアクセスコマンドを受信することと、
前記第1のデータアクセスコマンドを第1のコマンド待ち行列に記憶することと、
前記データアクセスコマンドがフラッシュメモリに向けられているか、または前記フラッシュメモリより遅いアクセス時間を有する第1の不揮発性メモリに向けられているかを判定することと、
前記第1のデータアクセスコマンドが前記フラッシュメモリに向けられているとき、前記第1のデータアクセスコマンドを第2のコマンド待ち行列に記憶することと、
前記第1のデータアクセスコマンドを前記第2のコマンド待ち行列に記憶した後、前記第1のデータアクセスコマンドの受信が成功したという表示を送信することと、
前記フラッシュメモリに対する前記第1のデータアクセスコマンドの実行を開始することと、
前記第1のデータアクセスコマンドの実行が終了する前に、第2のデータアクセスコマンドを受信して、それを前記第2のコマンド待ち行列に記憶することと、
第3のデータアクセスコマンドを前記第2のコマンド待ち行列に記憶することと、
前記第2のデータアクセスコマンドおよび前記第3のデータアクセスコマンドが、前記フラッシュメモリに対する単一のデータアクセス動作で完了され得るかどうかを判定することと、
前記第2のデータアクセスコマンドおよび前記第3のデータアクセスコマンドの両方が前記単一のデータアクセス動作で完了され得るとき、前記単一のデータアクセス動作を行って、前記第2のデータアクセスコマンドおよび前記第3のデータアクセスコマンドを解決することと、を含み、
前記第1のコマンド待ち行列は、2以上の所定数のデータアクセスコマンドを動作開始前に行列待ちさせる、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/066,266 US9348747B2 (en) | 2013-10-29 | 2013-10-29 | Solid state memory command queue in hybrid device |
US14/066,266 | 2013-10-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015130150A JP2015130150A (ja) | 2015-07-16 |
JP5922740B2 true JP5922740B2 (ja) | 2016-05-24 |
Family
ID=53388254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014219123A Active JP5922740B2 (ja) | 2013-10-29 | 2014-10-28 | メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9348747B2 (ja) |
JP (1) | JP5922740B2 (ja) |
KR (1) | KR101663066B1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6255893B2 (ja) * | 2013-10-24 | 2018-01-10 | 富士通株式会社 | ストレージ制御装置、およびストレージ制御プログラム |
US20160188510A1 (en) * | 2014-12-26 | 2016-06-30 | Samsung Electronics Co., Ltd. | METHOD FETCHING/PROCESSING NVMe COMMANDS IN MULTI-PORT, SR-IOV OR MR-IOV SUPPORTED PCIe BASED STORAGE DEVICES |
KR20160118836A (ko) * | 2015-04-03 | 2016-10-12 | 에스케이하이닉스 주식회사 | 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법 |
JP6721821B2 (ja) | 2015-11-19 | 2020-07-15 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム |
US9460791B1 (en) * | 2015-12-08 | 2016-10-04 | Inphi Corporation | Data clock synchronization in hybrid memory modules |
KR102547795B1 (ko) | 2016-05-04 | 2023-06-27 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
US10025510B1 (en) * | 2016-06-30 | 2018-07-17 | EMC IP Holding Company LLC | Technique for copying unallocated logical regions of thin logical units |
US10409739B2 (en) * | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US11182102B2 (en) * | 2018-12-28 | 2021-11-23 | Micron Technology, Inc. | Host inquiry response generation in a memory device |
US11288185B2 (en) * | 2019-01-03 | 2022-03-29 | Silicon Motion, Inc. | Method and computer program product for performing data writes into a flash memory |
CN111399750B (zh) * | 2019-01-03 | 2023-05-26 | 慧荣科技股份有限公司 | 闪存数据写入方法及计算机可读取存储介质 |
CN113253939B (zh) * | 2021-06-11 | 2023-05-16 | 锐掣(杭州)科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420998A (en) * | 1992-04-10 | 1995-05-30 | Fujitsu Limited | Dual memory disk drive |
JPH09258907A (ja) * | 1996-03-25 | 1997-10-03 | Mitsubishi Electric Corp | 複数の記憶ディスク部を有した高可用性の外部記憶装置 |
US6704835B1 (en) | 2000-09-26 | 2004-03-09 | Intel Corporation | Posted write-through cache for flash memory |
US8176238B2 (en) | 2003-12-02 | 2012-05-08 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US7136973B2 (en) * | 2004-02-04 | 2006-11-14 | Sandisk Corporation | Dual media storage device |
US8489817B2 (en) * | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
JP4234753B2 (ja) * | 2006-12-15 | 2009-03-04 | 株式会社東芝 | ハードディスクドライブおよびコマンド実行方法 |
JP2008217855A (ja) * | 2007-02-28 | 2008-09-18 | Fujitsu Ltd | 記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法 |
US7886110B2 (en) * | 2007-12-27 | 2011-02-08 | Intel Corporation | Dynamically adjusting cache policy based on device load in a mass storage system |
JP2010044814A (ja) * | 2008-08-11 | 2010-02-25 | Toshiba Storage Device Corp | 記憶装置の制御方法及び記憶装置 |
US8756369B2 (en) * | 2008-09-26 | 2014-06-17 | Netapp, Inc. | Priority command queues for low latency solid state drives |
US8078848B2 (en) * | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
US20100262979A1 (en) | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
US20120204008A1 (en) | 2011-02-04 | 2012-08-09 | Qualcomm Incorporated | Processor with a Hybrid Instruction Queue with Instruction Elaboration Between Sections |
US20130054880A1 (en) | 2011-08-26 | 2013-02-28 | Stec, Inc. | Systems and methods for reducing a number of close operations in a flash memory |
US9009396B2 (en) * | 2011-09-23 | 2015-04-14 | Avalanche Technology, Inc. | Physically addressed solid state disk employing magnetic random access memory (MRAM) |
US20130326113A1 (en) * | 2012-05-29 | 2013-12-05 | Apple Inc. | Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory |
JP6101170B2 (ja) * | 2013-07-26 | 2017-03-22 | 株式会社日立製作所 | 計算機システム、キャッシュ管理方法、及び計算機 |
-
2013
- 2013-10-29 US US14/066,266 patent/US9348747B2/en active Active
-
2014
- 2014-10-28 JP JP2014219123A patent/JP5922740B2/ja active Active
- 2014-10-29 KR KR1020140148307A patent/KR101663066B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101663066B1 (ko) | 2016-10-06 |
US20160011966A1 (en) | 2016-01-14 |
US9348747B2 (en) | 2016-05-24 |
JP2015130150A (ja) | 2015-07-16 |
KR20150050457A (ko) | 2015-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5922740B2 (ja) | メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法 | |
US20200233585A1 (en) | Data relocation in hybrid memory | |
US10649969B2 (en) | Memory efficient persistent key-value store for non-volatile memories | |
JP6224253B2 (ja) | フラッシュメモリ内に記憶されたデータの推測的プリフェッチ | |
US10782915B2 (en) | Device controller that schedules memory access to a host memory, and storage device including the same | |
US9772802B2 (en) | Solid-state device management | |
US10860494B2 (en) | Flushing pages from solid-state storage device | |
US11037627B2 (en) | Cell block allocation for hybrid dual write | |
TWI731916B (zh) | 用於減少儲存資料的複製之技術 | |
US10180792B1 (en) | Cache management in data storage systems | |
US10445252B2 (en) | Storage device and operating method performed by the same | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
US20160011965A1 (en) | Pass through storage devices | |
CN110515861B (zh) | 处理刷写命令的存储设备及其方法 | |
US11662949B2 (en) | Storage server, a method of operating the same storage server and a data center including the same storage server | |
KR101569049B1 (ko) | 패스 스루 스토리지 디바이스들 | |
US12105990B2 (en) | Parallel fragmented SGL fetching for hiding host turnaround time | |
US11842076B2 (en) | Storage system and operating method for same | |
WO2024145165A1 (en) | Systems, methods, and media for improving read command processing times in solid-state drives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160229 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160315 |
|
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: 20160405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160414 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5922740 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |