US11635898B2 - System and method for adaptive command fetch aggregation - Google Patents
System and method for adaptive command fetch aggregation Download PDFInfo
- Publication number
- US11635898B2 US11635898B2 US17/493,719 US202117493719A US11635898B2 US 11635898 B2 US11635898 B2 US 11635898B2 US 202117493719 A US202117493719 A US 202117493719A US 11635898 B2 US11635898 B2 US 11635898B2
- Authority
- US
- United States
- Prior art keywords
- fetching
- memory device
- threshold
- commands
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000003044 adaptive effect Effects 0.000 title abstract 2
- 230000002776 aggregation Effects 0.000 title description 27
- 238000004220 aggregation Methods 0.000 title description 27
- 230000015654 memory Effects 0.000 claims description 182
- 238000012545 processing Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 17
- 239000000758 substrate Substances 0.000 description 17
- 239000000872 buffer Substances 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 10
- 239000004065 semiconductor Substances 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 238000003491 array Methods 0.000 description 9
- 101150101414 PRP1 gene Proteins 0.000 description 7
- 101100368710 Rattus norvegicus Tacstd2 gene Proteins 0.000 description 7
- 101100342406 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PRS1 gene Proteins 0.000 description 7
- 238000007667 floating Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101001068640 Nicotiana tabacum Basic form of pathogenesis-related protein 1 Proteins 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011370 conductive nanoparticle Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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
- 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/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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/1668—Details of memory controller
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/493,719 US11635898B2 (en) | 2017-03-24 | 2021-10-04 | System and method for adaptive command fetch aggregation |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/468,620 US10466903B2 (en) | 2017-03-24 | 2017-03-24 | System and method for dynamic and adaptive interrupt coalescing |
US15/613,795 US10509569B2 (en) | 2017-03-24 | 2017-06-05 | System and method for adaptive command fetch aggregation |
US16/693,175 US11169709B2 (en) | 2017-03-24 | 2019-11-22 | System and method for adaptive command fetch aggregation |
US17/493,719 US11635898B2 (en) | 2017-03-24 | 2021-10-04 | System and method for adaptive command fetch aggregation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/693,175 Continuation US11169709B2 (en) | 2017-03-24 | 2019-11-22 | System and method for adaptive command fetch aggregation |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220043570A1 US20220043570A1 (en) | 2022-02-10 |
US11635898B2 true US11635898B2 (en) | 2023-04-25 |
Family
ID=61627185
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/613,795 Active 2037-09-13 US10509569B2 (en) | 2017-03-24 | 2017-06-05 | System and method for adaptive command fetch aggregation |
US16/693,175 Active 2037-05-31 US11169709B2 (en) | 2017-03-24 | 2019-11-22 | System and method for adaptive command fetch aggregation |
US17/493,719 Active US11635898B2 (en) | 2017-03-24 | 2021-10-04 | System and method for adaptive command fetch aggregation |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/613,795 Active 2037-09-13 US10509569B2 (en) | 2017-03-24 | 2017-06-05 | System and method for adaptive command fetch aggregation |
US16/693,175 Active 2037-05-31 US11169709B2 (en) | 2017-03-24 | 2019-11-22 | System and method for adaptive command fetch aggregation |
Country Status (4)
Country | Link |
---|---|
US (3) | US10509569B2 (en) |
CN (1) | CN110447009B (en) |
DE (1) | DE112018000834T5 (en) |
WO (1) | WO2018175061A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240103762A1 (en) * | 2022-09-23 | 2024-03-28 | Western Digital Technologies, Inc. | Automated Fast Path Processing |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10509569B2 (en) * | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
US10452278B2 (en) | 2017-03-24 | 2019-10-22 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
TWI700590B (en) * | 2019-01-28 | 2020-08-01 | 瑞昱半導體股份有限公司 | Interface adapter circuit |
JP2020154697A (en) * | 2019-03-20 | 2020-09-24 | キオクシア株式会社 | Memory system and method for controlling memory system |
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 |
US11144226B2 (en) | 2019-04-11 | 2021-10-12 | Samsung Electronics Co., Ltd. | Intelligent path selection and load balancing |
US11216190B2 (en) * | 2019-06-10 | 2022-01-04 | Samsung Electronics Co., Ltd. | Systems and methods for I/O transmissions in queue pair-based NVMeoF initiator-target system |
US11240294B2 (en) | 2019-08-23 | 2022-02-01 | Samsung Electronics Co., Ltd. | Systems and methods for spike detection and load balancing resource management |
US11042322B2 (en) | 2019-09-13 | 2021-06-22 | Toshiba Memory Corporation | SSD supporting low latency operation |
US11422921B2 (en) * | 2019-12-31 | 2022-08-23 | Western Digital Technologies, Inc. | Debug systems for deterministic validation of data storage devices |
JP2022021026A (en) * | 2020-07-21 | 2022-02-02 | キオクシア株式会社 | Memory system and command fetch method |
CN112256601B (en) * | 2020-10-19 | 2023-04-21 | 苏州凌云光工业智能技术有限公司 | Data access control method, embedded storage system and embedded equipment |
JP2022076620A (en) * | 2020-11-10 | 2022-05-20 | キオクシア株式会社 | Memory system and control method |
CN112463365B (en) * | 2020-11-13 | 2023-01-10 | 苏州浪潮智能科技有限公司 | Method and device for improving message processing efficiency of Flash channel controller |
JP2022143632A (en) * | 2021-03-18 | 2022-10-03 | キオクシア株式会社 | memory system |
US11561735B2 (en) * | 2021-06-16 | 2023-01-24 | Western Digital Technologies, Inc. | Latency on indirect admin commands |
CN113746759B (en) * | 2021-08-20 | 2023-08-18 | 苏州浪潮智能科技有限公司 | Dual-control communication method, device and equipment in garbage recovery and readable medium |
CN116166415A (en) * | 2021-11-25 | 2023-05-26 | 三星电子株式会社 | Device controller, storage device and method thereof |
US20230280941A1 (en) * | 2022-02-02 | 2023-09-07 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for queue entry monitoring |
US20230376244A1 (en) * | 2022-05-20 | 2023-11-23 | Western Digital Technologies, Inc. | Dynamic Write Shaping |
CN117118924B (en) * | 2023-10-24 | 2024-02-09 | 苏州元脑智能科技有限公司 | Network submission queue monitoring device, method, computer equipment and storage medium |
Citations (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065089A (en) | 1998-06-25 | 2000-05-16 | Lsi Logic Corporation | Method and apparatus for coalescing I/O interrupts that efficiently balances performance and latency |
US20030204552A1 (en) | 2002-04-30 | 2003-10-30 | Microsoft Corporation | IO completion architecture for user-mode networking |
US6654343B1 (en) | 2001-03-19 | 2003-11-25 | Turin Networks | Method and system for switch fabric flow control |
US20040199732A1 (en) | 2003-04-07 | 2004-10-07 | Kelley Timothy M. | System and method for processing high priority data elements |
US20050195635A1 (en) | 2004-03-08 | 2005-09-08 | Conley Kevin M. | Flash controller cache architecture |
US20060161733A1 (en) | 2005-01-19 | 2006-07-20 | Emulex Design & Manufacturing Corporation | Host buffer queues |
CN1855026A (en) | 2005-04-28 | 2006-11-01 | 国际商业机器公司 | Method, memory controller and system for selecting a command to send to memory |
JP2007026366A (en) | 2005-07-21 | 2007-02-01 | Canon Inc | Memory controller |
JP2007183959A (en) | 2006-01-04 | 2007-07-19 | Samsung Electronics Co Ltd | Memory system having improved additive latency and control method |
JP2008046791A (en) | 2006-08-14 | 2008-02-28 | Fujitsu Ltd | Storage device, firmware update method and control device |
US20080109573A1 (en) | 2006-11-08 | 2008-05-08 | Sicortex, Inc | RDMA systems and methods for sending commands from a source node to a target node for local execution of commands at the target node |
US7386674B1 (en) | 2005-04-25 | 2008-06-10 | Netapp, Inc. | Method and apparatus to provide a unified readahead scheme for multiple sources |
US20080282031A1 (en) | 2007-03-30 | 2008-11-13 | Nec Corporation | Storage medium control unit, data storage device, data storage system, method, and control program |
CN101694610A (en) | 2009-10-16 | 2010-04-14 | 成都市华为赛门铁克科技有限公司 | Command processing method, device and memory device |
US20100274940A1 (en) | 2009-04-24 | 2010-10-28 | Vmware, Inc. | Interrupt coalescing for outstanding input/output completions |
CN101938409A (en) | 2009-06-29 | 2011-01-05 | 佳能株式会社 | Data processing apparatus and data processing method |
CN102203752A (en) | 2008-07-29 | 2011-09-28 | Vl有限公司 | Data processing circuit with arbitration between a plurality of queues |
KR20110110106A (en) | 2008-12-09 | 2011-10-06 | 램버스 인코포레이티드 | Non-volatile memory device for concurrent and pipelined memory operations |
CN102467968A (en) | 2010-11-15 | 2012-05-23 | 三星电子株式会社 | Nonvolatile memory device, read method for nonvolatile memory device, and memory system incorporating nonvolatile memory device |
US20120151472A1 (en) | 2010-12-08 | 2012-06-14 | International Business Machines Corporation | Virtualization of hardware queues in self-virtualizing input/output devices |
CN102968289A (en) | 2011-08-30 | 2013-03-13 | 苹果公司 | High priority command queue for peripheral component |
US8554968B1 (en) | 2010-08-16 | 2013-10-08 | Pmc-Sierra, Inc. | Interrupt technique for a nonvolatile memory controller |
CN103476029A (en) | 2013-07-03 | 2013-12-25 | 广东迅通科技股份有限公司 | Route type adaptive system of heterogeneous network |
CN103713946A (en) | 2013-12-30 | 2014-04-09 | 广州金山网络科技有限公司 | Operating instruction dispatching method and device |
US8732406B1 (en) | 2011-03-15 | 2014-05-20 | Netapp, Inc. | Mechanism for determining read-ahead length in a storage system |
US20140181323A1 (en) | 2012-12-20 | 2014-06-26 | Oracle International Corporation | Doorbell backpressure avoidance mechanism on a host channel adapter |
US20140189212A1 (en) | 2011-09-30 | 2014-07-03 | Thomas M. Slaight | Presentation of direct accessed storage under a logical drive model |
US20140223076A1 (en) | 2013-02-06 | 2014-08-07 | Phison Electronics Corp. | Controlling method, connector, and memory storage device |
US20140281040A1 (en) | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Namespace Access Control in NVM Express PCIe NVM with SR-IOV |
US20150019798A1 (en) | 2013-07-15 | 2015-01-15 | CNEXLABS, Inc. | Method and Apparatus for Providing Dual Memory Access to Non-Volatile Memory |
US20150067291A1 (en) | 2013-08-30 | 2015-03-05 | Kabushiki Kaisha Toshiba | Controller, memory system, and method |
US20150074677A1 (en) | 2013-09-06 | 2015-03-12 | Seagate Technology Llc | Load adaptive pipeline |
US20150074338A1 (en) | 2013-09-10 | 2015-03-12 | Qualcomm Incorporated | Ascertaining command completion in flash memories |
US20150081933A1 (en) | 2013-09-18 | 2015-03-19 | Stec, Inc. | Ack-less protocol for noticing completion of read requests |
US20150127882A1 (en) | 2013-11-07 | 2015-05-07 | Sandisk Technologies Inc. | Read operation prior to retrieval of scatter gather list |
US20150178017A1 (en) | 2013-12-20 | 2015-06-25 | HGST Netherlands B.V. | Abort function for storage devices by using a poison bit flag wherein a command for indicating which command should be aborted |
US20150177994A1 (en) | 2013-09-18 | 2015-06-25 | HGST Netherlands B.V. | Doorless protocol having multiple queue read requests in flight |
US20150186068A1 (en) | 2013-12-27 | 2015-07-02 | Sandisk Technologies Inc. | Command queuing using linked list queues |
US20150186074A1 (en) | 2013-12-30 | 2015-07-02 | Sandisk Technologies Inc. | Storage Module and Method for Configuring Command Attributes |
CN104821887A (en) | 2014-01-30 | 2015-08-05 | 马维尔以色列(M.I.S.L.)有限公司 | Device and Method for Packet Processing with Memories Having Different Latencies |
US20150254088A1 (en) | 2014-03-08 | 2015-09-10 | Datawise Systems, Inc. | Methods and systems for converged networking and storage |
US20150363229A1 (en) | 2014-06-11 | 2015-12-17 | Futurewei Technologies, Inc. | Resolving task dependencies in task queues for improved resource management |
US20160004438A1 (en) | 2014-07-02 | 2016-01-07 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory and memory controller, and operating method of storage device |
US20160026388A1 (en) | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Data storage device and method of processing data thereof |
US20160062669A1 (en) | 2014-08-26 | 2016-03-03 | HGST Netherlands B.V. | Latency command processing for solid state drive interface protocol |
US20160077740A1 (en) | 2014-05-02 | 2016-03-17 | Cavium, Inc. | Systems and methods for enabling local caching for remote storage devices over a network via nvme controller |
US20160085718A1 (en) | 2013-06-26 | 2016-03-24 | Cnex Labs, Inc. | Nvm express controller for remote access of memory and i/o over ethernet-type networks |
US9317204B2 (en) | 2013-11-14 | 2016-04-19 | Sandisk Technologies Inc. | System and method for I/O optimization in a multi-queued environment |
US20160124876A1 (en) | 2014-08-22 | 2016-05-05 | HGST Netherlands B.V. | Methods and systems for noticing completion of read requests in solid state drives |
CN105589661A (en) | 2014-11-12 | 2016-05-18 | 三星电子株式会社 | Data Storage Device, Data Processing System And Method Of Operation |
US20160140041A1 (en) | 2014-11-13 | 2016-05-19 | Samsung Electronics Co., Ltd. | Electronic system with partitioning mechanism and method of operation thereof |
US20160147442A1 (en) | 2014-11-20 | 2016-05-26 | Avago Technologies Limited | Peripheral component interconnect express controllers configured with non-volatile memory express interfaces |
KR20160060119A (en) | 2013-11-26 | 2016-05-27 | 인텔 코포레이션 | Method and apparatus for storing data |
US20160162219A1 (en) | 2014-12-09 | 2016-06-09 | Sandisk Technologies Inc. | Memory System and Method for Selecting Memory Dies to Perform Memory Access Operations in Based on Memory Die Temperatures |
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 |
US20160216905A1 (en) | 2015-01-27 | 2016-07-28 | Futurewei Technologies, Inc. | Optimizing Synchronous Write via Speculation |
CN105867844A (en) | 2016-03-28 | 2016-08-17 | 联想(北京)有限公司 | Command control method and storage equipment |
US20160239939A1 (en) | 2015-02-18 | 2016-08-18 | Arm Limited | Graphics processing systems |
US20160267016A1 (en) | 2015-03-09 | 2016-09-15 | Samsung Electronics Co., Ltd. | Storage device, a host system including the storage device, and a map table updating method of the host system |
US20160292007A1 (en) | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Apparatus and method of managing shared resources in achieving io virtualization in a storage device |
US20160291866A1 (en) | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Command load balancing for nvme dual port operations |
US20160321010A1 (en) | 2015-04-28 | 2016-11-03 | Kabushiki Kaisha Toshiba | Storage system having a host directly manage physical data locations of storage device |
US20160321012A1 (en) | 2015-04-28 | 2016-11-03 | Liqid Inc. | Front-end quality of service differentiation in storage system operations |
US20160342545A1 (en) | 2014-02-12 | 2016-11-24 | Hitachi, Ltd. | Data memory device |
US20170010992A1 (en) | 2015-07-10 | 2017-01-12 | Apple Inc. | Power saving feature for storage subsystems |
US20170060422A1 (en) | 2015-08-31 | 2017-03-02 | Sandisk Technologies Inc. | Out of Order Memory Command Fetching |
US20170060749A1 (en) | 2015-08-31 | 2017-03-02 | Sandisk Technologies Inc. | Partial Memory Command Fetching |
US20170075629A1 (en) | 2015-09-11 | 2017-03-16 | Sandisk Technologies Inc. | Preserving read look ahead data in auxiliary latches |
US20170075828A1 (en) | 2014-06-19 | 2017-03-16 | Hitachi, Ltd. | Storage apparatus and interface apparatus |
US20170075834A1 (en) | 2015-09-14 | 2017-03-16 | Hyunseok Cha | Storage device and interrupt generation method thereof |
CN106527967A (en) | 2015-09-10 | 2017-03-22 | 蜂巢数据有限公司 | Reducing read command latency in storage devices |
US20170083252A1 (en) | 2015-07-10 | 2017-03-23 | Samsung Electronics Co., Ltd. | Method of managing input/output(i/o) queues by non-volatile memory express(nvme) controller |
US20170090753A1 (en) | 2015-09-28 | 2017-03-30 | Sandisk Technologies Llc | Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues |
US20170109096A1 (en) | 2015-10-15 | 2017-04-20 | Sandisk Technologies Inc. | Detection of a sequential command stream |
US20170123667A1 (en) | 2015-11-01 | 2017-05-04 | Sandisk Technologies Llc | Methods, systems and computer readable media for submission queue pointer management |
US20170123659A1 (en) | 2015-10-30 | 2017-05-04 | Samsung Electronics Co., Ltd. | Method for transferring request in storage device and method for issuing command in host |
US20170131917A1 (en) | 2015-11-09 | 2017-05-11 | Samsung Electronics Co., Ltd. | Storage device and method of operating the same |
US9680931B1 (en) | 2013-09-21 | 2017-06-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Message passing for low latency storage networks |
US20170177222A1 (en) | 2014-03-08 | 2017-06-22 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US20170214762A1 (en) | 2016-01-26 | 2017-07-27 | Oracle International Corporation | In-memory message sequencing |
US20170286205A1 (en) | 2016-04-01 | 2017-10-05 | Samsung Electronics Co., Ltd. | Storage device and event notification method for storage device |
US20170322897A1 (en) | 2016-05-06 | 2017-11-09 | Sandisk Technologies Inc. | Systems and methods for processing a submission queue |
US9817761B2 (en) | 2012-01-06 | 2017-11-14 | Sandisk Technologies Llc | Methods, systems, and computer readable media for optimization of host sequential reads or writes based on volume of data transfer |
US20170336988A1 (en) | 2016-05-19 | 2017-11-23 | Samsung Electronics Co. , Ltd. | Computer system for performing adaptive interrupt control and method for controlling interrupt thereof |
US20180059987A1 (en) | 2016-08-31 | 2018-03-01 | Samsung Electronics Co., Ltd. | Method for reducing read buffer size requirements in nvme based solid state drives |
US20180095911A1 (en) | 2016-10-03 | 2018-04-05 | Samsung Electronics Co., Ltd. | Non-volatile storage system and data storage access protocol for non-volatile storage devices |
US20180113615A1 (en) | 2016-10-24 | 2018-04-26 | Samsung Electronics Co., Ltd. | Storage device generating adaptive interrupt and operating method thereof |
US20180173461A1 (en) | 2016-12-21 | 2018-06-21 | John W. Carroll | Technologies for prioritizing execution of storage commands |
US20180217951A1 (en) | 2015-09-28 | 2018-08-02 | Sandisk Technologies Llc | Systems, Methods, and Computer-Readable Media for Managing Instruction Fetch in Virtual Computing Environments |
US20180260152A1 (en) | 2017-03-13 | 2018-09-13 | Western Digital Technologies Inc. | Storage system and method for thermal throttling via command arbitration |
US20180275872A1 (en) | 2017-03-24 | 2018-09-27 | Western Digital Technologies, Inc. | System and method for dynamic and adaptive interrupt coalescing |
US20180275921A1 (en) | 2017-03-23 | 2018-09-27 | Toshiba Memory Corporation | Storage device |
US20180285073A1 (en) | 2017-03-30 | 2018-10-04 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
US10095442B2 (en) | 2015-08-04 | 2018-10-09 | Toshiba Memory Corporation | Memory device that changes execution order of commands |
US20180314421A1 (en) | 2017-04-26 | 2018-11-01 | Western Digital Technologies, Inc. | System and method for locality detection to identify read or write streams in a memory device |
US20180321987A1 (en) | 2017-05-03 | 2018-11-08 | Western Digital Technologies, Inc. | System and method for speculative execution of commands using the controller memory buffer |
US20180321844A1 (en) | 2017-03-24 | 2018-11-08 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US20180321945A1 (en) | 2017-03-24 | 2018-11-08 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US20180341410A1 (en) | 2017-03-24 | 2018-11-29 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
US20190018805A1 (en) | 2017-03-24 | 2019-01-17 | Western Digital Technologies, Inc. | System and method for fast execution of in-capsule commands |
US10509569B2 (en) * | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9454310B2 (en) * | 2014-02-14 | 2016-09-27 | Micron Technology, Inc. | Command queuing |
KR20160118836A (en) * | 2015-04-03 | 2016-10-12 | 에스케이하이닉스 주식회사 | Memory controller including host command queue and method of operating thereof |
-
2017
- 2017-06-05 US US15/613,795 patent/US10509569B2/en active Active
-
2018
- 2018-02-27 DE DE112018000834.7T patent/DE112018000834T5/en active Pending
- 2018-02-27 WO PCT/US2018/019911 patent/WO2018175061A1/en active Application Filing
- 2018-02-27 CN CN201880018730.0A patent/CN110447009B/en active Active
-
2019
- 2019-11-22 US US16/693,175 patent/US11169709B2/en active Active
-
2021
- 2021-10-04 US US17/493,719 patent/US11635898B2/en active Active
Patent Citations (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065089A (en) | 1998-06-25 | 2000-05-16 | Lsi Logic Corporation | Method and apparatus for coalescing I/O interrupts that efficiently balances performance and latency |
US6654343B1 (en) | 2001-03-19 | 2003-11-25 | Turin Networks | Method and system for switch fabric flow control |
US20030204552A1 (en) | 2002-04-30 | 2003-10-30 | Microsoft Corporation | IO completion architecture for user-mode networking |
US20040199732A1 (en) | 2003-04-07 | 2004-10-07 | Kelley Timothy M. | System and method for processing high priority data elements |
US20050195635A1 (en) | 2004-03-08 | 2005-09-08 | Conley Kevin M. | Flash controller cache architecture |
US20060161733A1 (en) | 2005-01-19 | 2006-07-20 | Emulex Design & Manufacturing Corporation | Host buffer queues |
US7386674B1 (en) | 2005-04-25 | 2008-06-10 | Netapp, Inc. | Method and apparatus to provide a unified readahead scheme for multiple sources |
CN1855026A (en) | 2005-04-28 | 2006-11-01 | 国际商业机器公司 | Method, memory controller and system for selecting a command to send to memory |
JP2007026366A (en) | 2005-07-21 | 2007-02-01 | Canon Inc | Memory controller |
JP2007183959A (en) | 2006-01-04 | 2007-07-19 | Samsung Electronics Co Ltd | Memory system having improved additive latency and control method |
JP2008046791A (en) | 2006-08-14 | 2008-02-28 | Fujitsu Ltd | Storage device, firmware update method and control device |
US20080109573A1 (en) | 2006-11-08 | 2008-05-08 | Sicortex, Inc | RDMA systems and methods for sending commands from a source node to a target node for local execution of commands at the target node |
US20080282031A1 (en) | 2007-03-30 | 2008-11-13 | Nec Corporation | Storage medium control unit, data storage device, data storage system, method, and control program |
CN102203752A (en) | 2008-07-29 | 2011-09-28 | Vl有限公司 | Data processing circuit with arbitration between a plurality of queues |
KR20110110106A (en) | 2008-12-09 | 2011-10-06 | 램버스 인코포레이티드 | Non-volatile memory device for concurrent and pipelined memory operations |
US20100274940A1 (en) | 2009-04-24 | 2010-10-28 | Vmware, Inc. | Interrupt coalescing for outstanding input/output completions |
CN101938409A (en) | 2009-06-29 | 2011-01-05 | 佳能株式会社 | Data processing apparatus and data processing method |
EP2312457A2 (en) | 2009-06-29 | 2011-04-20 | Canon Kabushiki Kaisha | Data processing apparatus, data processing method and computer-readable medium |
CN101694610A (en) | 2009-10-16 | 2010-04-14 | 成都市华为赛门铁克科技有限公司 | Command processing method, device and memory device |
US8554968B1 (en) | 2010-08-16 | 2013-10-08 | Pmc-Sierra, Inc. | Interrupt technique for a nonvolatile memory controller |
CN102467968A (en) | 2010-11-15 | 2012-05-23 | 三星电子株式会社 | Nonvolatile memory device, read method for nonvolatile memory device, and memory system incorporating nonvolatile memory device |
US20120151472A1 (en) | 2010-12-08 | 2012-06-14 | International Business Machines Corporation | Virtualization of hardware queues in self-virtualizing input/output devices |
US8732406B1 (en) | 2011-03-15 | 2014-05-20 | Netapp, Inc. | Mechanism for determining read-ahead length in a storage system |
CN102968289A (en) | 2011-08-30 | 2013-03-13 | 苹果公司 | High priority command queue for peripheral component |
US20140189212A1 (en) | 2011-09-30 | 2014-07-03 | Thomas M. Slaight | Presentation of direct accessed storage under a logical drive model |
US9817761B2 (en) | 2012-01-06 | 2017-11-14 | Sandisk Technologies Llc | Methods, systems, and computer readable media for optimization of host sequential reads or writes based on volume of data transfer |
US20140181323A1 (en) | 2012-12-20 | 2014-06-26 | Oracle International Corporation | Doorbell backpressure avoidance mechanism on a host channel adapter |
US20140223076A1 (en) | 2013-02-06 | 2014-08-07 | Phison Electronics Corp. | Controlling method, connector, and memory storage device |
US20140281040A1 (en) | 2013-03-13 | 2014-09-18 | Futurewei Technologies, Inc. | Namespace Access Control in NVM Express PCIe NVM with SR-IOV |
US20160085718A1 (en) | 2013-06-26 | 2016-03-24 | Cnex Labs, Inc. | Nvm express controller for remote access of memory and i/o over ethernet-type networks |
CN103476029A (en) | 2013-07-03 | 2013-12-25 | 广东迅通科技股份有限公司 | Route type adaptive system of heterogeneous network |
US20150019798A1 (en) | 2013-07-15 | 2015-01-15 | CNEXLABS, Inc. | Method and Apparatus for Providing Dual Memory Access to Non-Volatile Memory |
US20150067291A1 (en) | 2013-08-30 | 2015-03-05 | Kabushiki Kaisha Toshiba | Controller, memory system, and method |
US20150074677A1 (en) | 2013-09-06 | 2015-03-12 | Seagate Technology Llc | Load adaptive pipeline |
US20150074338A1 (en) | 2013-09-10 | 2015-03-12 | Qualcomm Incorporated | Ascertaining command completion in flash memories |
US20150177994A1 (en) | 2013-09-18 | 2015-06-25 | HGST Netherlands B.V. | Doorless protocol having multiple queue read requests in flight |
US20150081933A1 (en) | 2013-09-18 | 2015-03-19 | Stec, Inc. | Ack-less protocol for noticing completion of read requests |
US9680931B1 (en) | 2013-09-21 | 2017-06-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Message passing for low latency storage networks |
US20150127882A1 (en) | 2013-11-07 | 2015-05-07 | Sandisk Technologies Inc. | Read operation prior to retrieval of scatter gather list |
US9317204B2 (en) | 2013-11-14 | 2016-04-19 | Sandisk Technologies Inc. | System and method for I/O optimization in a multi-queued environment |
KR20160060119A (en) | 2013-11-26 | 2016-05-27 | 인텔 코포레이션 | Method and apparatus for storing data |
US20150178017A1 (en) | 2013-12-20 | 2015-06-25 | HGST Netherlands B.V. | Abort function for storage devices by using a poison bit flag wherein a command for indicating which command should be aborted |
US20150186068A1 (en) | 2013-12-27 | 2015-07-02 | Sandisk Technologies Inc. | Command queuing using linked list queues |
US20150186074A1 (en) | 2013-12-30 | 2015-07-02 | Sandisk Technologies Inc. | Storage Module and Method for Configuring Command Attributes |
CN103713946A (en) | 2013-12-30 | 2014-04-09 | 广州金山网络科技有限公司 | Operating instruction dispatching method and device |
CN104821887A (en) | 2014-01-30 | 2015-08-05 | 马维尔以色列(M.I.S.L.)有限公司 | Device and Method for Packet Processing with Memories Having Different Latencies |
US20160342545A1 (en) | 2014-02-12 | 2016-11-24 | Hitachi, Ltd. | Data memory device |
US20150254088A1 (en) | 2014-03-08 | 2015-09-10 | Datawise Systems, Inc. | Methods and systems for converged networking and storage |
US20170177222A1 (en) | 2014-03-08 | 2017-06-22 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US20160077740A1 (en) | 2014-05-02 | 2016-03-17 | Cavium, Inc. | Systems and methods for enabling local caching for remote storage devices over a network via nvme controller |
US20150363229A1 (en) | 2014-06-11 | 2015-12-17 | Futurewei Technologies, Inc. | Resolving task dependencies in task queues for improved resource management |
US20170075828A1 (en) | 2014-06-19 | 2017-03-16 | Hitachi, Ltd. | Storage apparatus and interface apparatus |
US20160004438A1 (en) | 2014-07-02 | 2016-01-07 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory and memory controller, and operating method of storage device |
US20160026388A1 (en) | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Data storage device and method of processing data thereof |
US20160124876A1 (en) | 2014-08-22 | 2016-05-05 | HGST Netherlands B.V. | Methods and systems for noticing completion of read requests in solid state drives |
US20160062669A1 (en) | 2014-08-26 | 2016-03-03 | HGST Netherlands B.V. | Latency command processing for solid state drive interface protocol |
CN105589661A (en) | 2014-11-12 | 2016-05-18 | 三星电子株式会社 | Data Storage Device, Data Processing System And Method Of Operation |
US20160140041A1 (en) | 2014-11-13 | 2016-05-19 | Samsung Electronics Co., Ltd. | Electronic system with partitioning mechanism and method of operation thereof |
US20160147442A1 (en) | 2014-11-20 | 2016-05-26 | Avago Technologies Limited | Peripheral component interconnect express controllers configured with non-volatile memory express interfaces |
US20160162219A1 (en) | 2014-12-09 | 2016-06-09 | Sandisk Technologies Inc. | Memory System and Method for Selecting Memory Dies to Perform Memory Access Operations in Based on Memory Die Temperatures |
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 |
US20160216905A1 (en) | 2015-01-27 | 2016-07-28 | Futurewei Technologies, Inc. | Optimizing Synchronous Write via Speculation |
US20160239939A1 (en) | 2015-02-18 | 2016-08-18 | Arm Limited | Graphics processing systems |
US20160267016A1 (en) | 2015-03-09 | 2016-09-15 | Samsung Electronics Co., Ltd. | Storage device, a host system including the storage device, and a map table updating method of the host system |
US20160292007A1 (en) | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Apparatus and method of managing shared resources in achieving io virtualization in a storage device |
US20160291866A1 (en) | 2015-03-31 | 2016-10-06 | Kabushiki Kaisha Toshiba | Command load balancing for nvme dual port operations |
US20160321010A1 (en) | 2015-04-28 | 2016-11-03 | Kabushiki Kaisha Toshiba | Storage system having a host directly manage physical data locations of storage device |
US20160321012A1 (en) | 2015-04-28 | 2016-11-03 | Liqid Inc. | Front-end quality of service differentiation in storage system operations |
US20170010992A1 (en) | 2015-07-10 | 2017-01-12 | Apple Inc. | Power saving feature for storage subsystems |
US20170083252A1 (en) | 2015-07-10 | 2017-03-23 | Samsung Electronics Co., Ltd. | Method of managing input/output(i/o) queues by non-volatile memory express(nvme) controller |
US10095442B2 (en) | 2015-08-04 | 2018-10-09 | Toshiba Memory Corporation | Memory device that changes execution order of commands |
US20170060749A1 (en) | 2015-08-31 | 2017-03-02 | Sandisk Technologies Inc. | Partial Memory Command Fetching |
US20170060422A1 (en) | 2015-08-31 | 2017-03-02 | Sandisk Technologies Inc. | Out of Order Memory Command Fetching |
CN106527967A (en) | 2015-09-10 | 2017-03-22 | 蜂巢数据有限公司 | Reducing read command latency in storage devices |
US20170075629A1 (en) | 2015-09-11 | 2017-03-16 | Sandisk Technologies Inc. | Preserving read look ahead data in auxiliary latches |
US20170075834A1 (en) | 2015-09-14 | 2017-03-16 | Hyunseok Cha | Storage device and interrupt generation method thereof |
KR20170032502A (en) | 2015-09-14 | 2017-03-23 | 삼성전자주식회사 | Storage device and interrupt generation method thereof |
CN106528461A (en) | 2015-09-14 | 2017-03-22 | 三星电子株式会社 | Storage device and interrupt generation method thereof |
US20170090753A1 (en) | 2015-09-28 | 2017-03-30 | Sandisk Technologies Llc | Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues |
US20180217951A1 (en) | 2015-09-28 | 2018-08-02 | Sandisk Technologies Llc | Systems, Methods, and Computer-Readable Media for Managing Instruction Fetch in Virtual Computing Environments |
US9927983B2 (en) | 2015-09-28 | 2018-03-27 | Sandisk Technologies Llc | Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues |
US20170109096A1 (en) | 2015-10-15 | 2017-04-20 | Sandisk Technologies Inc. | Detection of a sequential command stream |
US20170123659A1 (en) | 2015-10-30 | 2017-05-04 | Samsung Electronics Co., Ltd. | Method for transferring request in storage device and method for issuing command in host |
US20170123667A1 (en) | 2015-11-01 | 2017-05-04 | Sandisk Technologies Llc | Methods, systems and computer readable media for submission queue pointer management |
US20170131917A1 (en) | 2015-11-09 | 2017-05-11 | Samsung Electronics Co., Ltd. | Storage device and method of operating the same |
US20170214762A1 (en) | 2016-01-26 | 2017-07-27 | Oracle International Corporation | In-memory message sequencing |
CN105867844A (en) | 2016-03-28 | 2016-08-17 | 联想(北京)有限公司 | Command control method and storage equipment |
US20170286205A1 (en) | 2016-04-01 | 2017-10-05 | Samsung Electronics Co., Ltd. | Storage device and event notification method for storage device |
US20170322897A1 (en) | 2016-05-06 | 2017-11-09 | Sandisk Technologies Inc. | Systems and methods for processing a submission queue |
US20170336988A1 (en) | 2016-05-19 | 2017-11-23 | Samsung Electronics Co. , Ltd. | Computer system for performing adaptive interrupt control and method for controlling interrupt thereof |
US20180059987A1 (en) | 2016-08-31 | 2018-03-01 | Samsung Electronics Co., Ltd. | Method for reducing read buffer size requirements in nvme based solid state drives |
US20180095911A1 (en) | 2016-10-03 | 2018-04-05 | Samsung Electronics Co., Ltd. | Non-volatile storage system and data storage access protocol for non-volatile storage devices |
US20180113615A1 (en) | 2016-10-24 | 2018-04-26 | Samsung Electronics Co., Ltd. | Storage device generating adaptive interrupt and operating method thereof |
US20180173461A1 (en) | 2016-12-21 | 2018-06-21 | John W. Carroll | Technologies for prioritizing execution of storage commands |
US20180260152A1 (en) | 2017-03-13 | 2018-09-13 | Western Digital Technologies Inc. | Storage system and method for thermal throttling via command arbitration |
US20180275921A1 (en) | 2017-03-23 | 2018-09-27 | Toshiba Memory Corporation | Storage device |
US20180321945A1 (en) | 2017-03-24 | 2018-11-08 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US20180321844A1 (en) | 2017-03-24 | 2018-11-08 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US20180275872A1 (en) | 2017-03-24 | 2018-09-27 | Western Digital Technologies, Inc. | System and method for dynamic and adaptive interrupt coalescing |
US20180341410A1 (en) | 2017-03-24 | 2018-11-29 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
US20190018805A1 (en) | 2017-03-24 | 2019-01-17 | Western Digital Technologies, Inc. | System and method for fast execution of in-capsule commands |
US10509569B2 (en) * | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
US11169709B2 (en) * | 2017-03-24 | 2021-11-09 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
US20180285073A1 (en) | 2017-03-30 | 2018-10-04 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
US20180314421A1 (en) | 2017-04-26 | 2018-11-01 | Western Digital Technologies, Inc. | System and method for locality detection to identify read or write streams in a memory device |
US20180321987A1 (en) | 2017-05-03 | 2018-11-08 | Western Digital Technologies, Inc. | System and method for speculative execution of commands using the controller memory buffer |
Non-Patent Citations (14)
Title |
---|
"NVM Express™: Unlock the Potential," compilation of several articles from Forum A-11, 2014 Flash Memory Summit, Aug. 4-7, 2014, Santa Clara CA, 91 pages. |
Choi, W., et al., "An in-depth study of next generation interface for emerging non-volatile memories", 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA), 2016. |
Ellefson, "NVM Express: Unlock Your Solid State Drives Potential," Flash Memory Summit 2013, Santa Clara, CA, 114 pages. |
International Search Report and Written Opinion from PCT/2018/019905, dated May 4, 2018, 13 pages. |
International Search Report and Written Opinion from PCT/2018/019911, dated May 22, 2018, 15 pages. |
International Search Report and Written Opinion from PCT/2018/019914, dated Jul. 13, 2018, 18 pages. |
International Search Report and Written Opinion from PCT/2018/019930, dated Jun. 4, 2018, 16 pages. |
International Search Report and Written Opinion from PCT/2018/019933, dated May 22, 2018, 12 pages. |
International Search Report and Written Opinion from PCT/2018/019941, dated Jul. 13, 2018, 18 pages. |
International Search Report and Written Opinion from PCT/I2018/019909, dated Jul. 6, 2018, 13 pages. |
Kim, Hyeong-Jun., et al., "NVMeDirect: A User-space I/O Framework for Application-specific Optimization on NVMe SSDs", 8th USENIX Workshop on Hot Topics in Storage and File Systems, HotStorage '16 (2016). |
Korean Notice of Allowance dated Aug. 6, 2020 from Korean Patent Application No. 2019-7016854, 2 pages including English language translation. |
Marks, "An NVM Express Tutorial," Flash Memory Summit 2013, Santa Clara, CA, 92 pages. |
NVMe Express Workgroup: "NVM Express 1.2," dated Nov. 3, 2014, downloaded on Aug. 9, 2018 from http://nvmexpress.org/wp-content/uploads/NVM_Exoress_1_2_Gold_20141209.pdf, 205 pages. |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240103762A1 (en) * | 2022-09-23 | 2024-03-28 | Western Digital Technologies, Inc. | Automated Fast Path Processing |
Also Published As
Publication number | Publication date |
---|---|
US10509569B2 (en) | 2019-12-17 |
CN110447009A (en) | 2019-11-12 |
US20180349026A1 (en) | 2018-12-06 |
US20220043570A1 (en) | 2022-02-10 |
CN110447009B (en) | 2024-03-12 |
US11169709B2 (en) | 2021-11-09 |
DE112018000834T5 (en) | 2019-11-28 |
WO2018175061A1 (en) | 2018-09-27 |
US20200089404A1 (en) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11635898B2 (en) | System and method for adaptive command fetch aggregation | |
US11487434B2 (en) | Data storage device and method for adaptive command completion posting | |
US10489082B2 (en) | System and method for using host command data buffers as extended memory device volatile memory | |
US10466903B2 (en) | System and method for dynamic and adaptive interrupt coalescing | |
US10296249B2 (en) | System and method for processing non-contiguous submission and completion queues | |
US10387081B2 (en) | System and method for processing and arbitrating submission and completion queues | |
US10466904B2 (en) | System and method for processing and arbitrating submission and completion queues | |
US10725835B2 (en) | System and method for speculative execution of commands using a controller memory buffer | |
US10296473B2 (en) | System and method for fast execution of in-capsule commands | |
US10521118B2 (en) | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) | |
US10564857B2 (en) | System and method for QoS over NVMe virtualization platform using adaptive command fetching | |
CN110073323B (en) | System and method for speculatively executing commands using controller memory buffers | |
US11281981B2 (en) | Storage system and sorting-based method for random read command prediction in a multi-queue system | |
US10740243B1 (en) | Storage system and method for preventing head-of-line blocking in a completion path | |
US20210173795A1 (en) | Storage System and Method for Reducing Read-Retry Duration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RICHTER, ELKANA;BENISTY, SHAY;ASSULIN, KLOD;SIGNING DATES FROM 20170406 TO 20170604;REEL/FRAME:057984/0435 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS AGENT, ILLINOIS Free format text: SECURITY INTEREST;ASSIGNOR:WESTERN DIGITAL TECHNOLOGIES, INC.;REEL/FRAME:058426/0815 Effective date: 20211104 |
|
AS | Assignment |
Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST AT REEL 058426 FRAME 0815;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:058965/0679 Effective date: 20220203 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., ILLINOIS Free format text: PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT;ASSIGNOR:WESTERN DIGITAL TECHNOLOGIES, INC.;REEL/FRAME:064715/0001 Effective date: 20230818 Owner name: JPMORGAN CHASE BANK, N.A., ILLINOIS Free format text: PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT;ASSIGNOR:WESTERN DIGITAL TECHNOLOGIES, INC.;REEL/FRAME:067045/0156 Effective date: 20230818 |