KR102403489B1 - 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법 - Google Patents
비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법 Download PDFInfo
- Publication number
- KR102403489B1 KR102403489B1 KR1020160057341A KR20160057341A KR102403489B1 KR 102403489 B1 KR102403489 B1 KR 102403489B1 KR 1020160057341 A KR1020160057341 A KR 1020160057341A KR 20160057341 A KR20160057341 A KR 20160057341A KR 102403489 B1 KR102403489 B1 KR 102403489B1
- Authority
- KR
- South Korea
- Prior art keywords
- queue
- nvme
- host
- identifier
- controller
- 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 OR CALCULATING; 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 OR CALCULATING; 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/16—Memory access
- G06F2213/1602—Memory access type
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)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
Description
도 2는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 큐의 관리를 위한 시스템의 블록도이다.
도 3a는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 완료/제안 큐의 생성을 위한 시스템의 블록도이다.
도 3b는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 완료/제안 큐의 삭제를 위한 시스템의 블록도이다.
도 4는 본 발명의 실시예에 따른 NVMe의 다양한 유닛을 도시한다.
도 5a는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 완료 큐의 생성 방법을 도시하는 순서도이다.
도 5b는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 완료 큐의 방법을 도시하는 순서도이다.
도 6a는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 모든 I/O 완료 큐의 삭제 방법을 도시하는 순서도이다.
도 6b는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 완료 큐의 삭제 방법을 도시하는 순서도이다.
도 6c는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 제안 큐의 삭제 방법을 도시하는 순서도이다.
도 6d는 본 발명의 실시예에 따른 NVMe 컨트롤러에 의한 I/O 제안 큐의 삭제 방법을 도시하는 순서도이다.
202: 상부 스토리지 스택 204: PCIe
206: NVMe 패브릭/PCIe 208: 프로세서 하위 시스템
210: NAND 하위 시스템 402: 통신 유닛
404: 생성 유닛 406: 삭제 유닛
Claims (10)
- 호스트로부터 I/O 큐(queue) 생성 및 I/O 큐 삭제 중 적어도 어느 하나를 수행하기 위한 단일 명령을 수신하고,
상기 단일 명령에 지시된 큐 식별자(queue identifier), 큐 사이즈(queue size) 중 적어도 어느 하나를 처리하고,
호스트 메모리 내에 처리 결과에 따라, 상기 I/O 큐 생성 및 상기 I/O 큐 삭제 중 적어도 어느 하나를 수행하는 것을 포함하는, 비휘발성 메모리 익스프레스(Non-Volatile Memory Express, NVMe) 컨트롤러에 의한 입출력 큐 관리 방법. - 제 1항에 있어서,
상기 호스트로 응답을 전송하는 것을 더 포함하되,
상기 응답은 상기 I/O 큐 생성 및 상기 I/O 큐 삭제 중 적어도 어느 하나에 대응하는, 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법. - 제 1항에 있어서,
상기 I/O 큐는 완료 큐(completion queue)인, 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법. - 제 1항에 있어서,
상기 I/O 큐는 제안 큐(submission queue)인, 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법. - 제 1항에 있어서,
상기 큐 식별자, 상기 큐 사이즈 중 적어도 어느 하나를 처리하여 상기 I/O 큐를 생성하는 것은,
상기 큐 식별자의 값이 0h로 지정되었는지 여부를 감지하고,
상기 단일 명령에 지정된 상기 큐 사이즈를 분석하고,
상기 단일 명령에 지정된 물리적 영역 페이지(Physical Region Page, PRP) 값을 분석하고,
상기 큐 사이즈에 기초하여 상기 I/O 큐를 생성하는 것을 포함하는, 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법. - 제 1항에 있어서,
상기 큐 식별자, 큐 사이즈 중 적어도 어느 하나를 처리하여 상기 I/O 큐를 삭제하는 것은,
상기 큐 식별자의 값이 0h로 지정되었는지 여부를 감지하고,
상기 단일 명령에 지정된 상기 큐 사이즈를 분석하고,
상기 큐 사이즈에 기초하여 상기 I/O 큐의 개수를 삭제하는 것을 포함하는, 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법. - 제 1항에 있어서,
상기 큐 식별자 및 상기 큐 사이즈 중 적어도 어느 하나를 처리하여 상기 I/O 큐를 삭제하는 것은,
상기 큐 식별자의 값이 0h로 지정되었는지 여부를 감지하고,
상기 호스트 메모리 내에 존재하는 상기 I/O 큐를 삭제하는 것을 포함하는, 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법. - 제 5항에 있어서,
상기 단일 명령에 지정된 상기 큐 사이즈를 분석하는 것은,
상기 단일 명령에 지정된 상기 큐 사이즈가 상기 NVMe 컨트롤러에 지원되는 I/O 큐 제한 범위 이내에 있는지 여부를 결정 하고,
상기 결정 결과에 기초하여 오류 메시지를 전송하는 것을 포함하는, 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법. - 복수 개의 I/O 큐(queue)와 관련된 호스트로부터 큐 식별자 필드를 포함하는 NVMe 명령을 수신하고,
상기 큐 식별자 필드가 원하는 값을 저장했는지 여부를 결정하고,
상기 큐 식별자 결과에 기초하여 호스트 메모리에서 상기 복수 개의 I/O 큐를 삭제하고,
상기 삭제 결과를 포함하는 응답을 호스트로 전송하는 것을 포함하는,
비휘발성 메모리 익스프레스(Non-Volatile Memory Express, NVMe) 컨트롤러를 제어하는 방법. - 제 9항에 있어서,
상기 NVMe 명령에 포함된 큐 식별자를 분석하고,
상기 분석 결과에 기초하여 오류 발생 여부를 확인하고,
상기 호스트에 대한 응답으로 오류 메시지를 전송하는 것을 포함하는,
비휘발성 메모리 익스프레스 컨트롤러를 제어하는 방법.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN3544/CHE/2015(PROVISIONALAPPLI | 2015-07-10 | ||
| IN3544CH2015 | 2015-07-10 | ||
| IN3544/CHE/2015(NON-PROVISIONALA | 2015-09-22 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170007099A KR20170007099A (ko) | 2017-01-18 |
| KR102403489B1 true KR102403489B1 (ko) | 2022-05-27 |
Family
ID=57992081
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020160057341A Active KR102403489B1 (ko) | 2015-07-10 | 2016-05-11 | 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10019181B2 (ko) |
| KR (1) | KR102403489B1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024144969A1 (en) * | 2022-12-29 | 2024-07-04 | SK Hynix NAND Product Solutions Corp. (dba Solidigm) | Methods and systems for dynamic submission data structures |
Families Citing this family (54)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107145459B (zh) * | 2016-03-01 | 2021-05-18 | 华为技术有限公司 | 一种级联板、ssd远程共享访问的系统和方法 |
| US10146439B2 (en) * | 2016-04-13 | 2018-12-04 | Samsung Electronics Co., Ltd. | System and method for high performance lockless scalable target |
| EP3825857B1 (en) * | 2016-12-05 | 2023-05-03 | Huawei Technologies Co., Ltd. | Method, device, and system for controlling data read/write command in nvme over fabric architecture |
| US10466904B2 (en) * | 2017-03-24 | 2019-11-05 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
| WO2018175063A1 (en) * | 2017-03-24 | 2018-09-27 | Western Digital Technologies, Inc. | System and method for locality detection to identify read or write streams in a memory device |
| US10564853B2 (en) | 2017-04-26 | 2020-02-18 | Western Digital Technologies, Inc. | System and method for locality detection to identify read or write streams in a memory device |
| US10466903B2 (en) | 2017-03-24 | 2019-11-05 | Western Digital Technologies, Inc. | System and method for dynamic and adaptive interrupt coalescing |
| US10452278B2 (en) | 2017-03-24 | 2019-10-22 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
| US10725835B2 (en) | 2017-05-03 | 2020-07-28 | Western Digital Technologies, Inc. | System and method for speculative execution of commands using a controller memory buffer |
| US10509569B2 (en) | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
| US10691368B2 (en) * | 2017-03-31 | 2020-06-23 | Samsung Electronics Co., Ltd. | System and method for providing data replication in NVMe-oF ethernet SSD |
| US10296249B2 (en) | 2017-05-03 | 2019-05-21 | Western Digital Technologies, Inc. | System and method for processing non-contiguous submission and completion queues |
| US10606767B2 (en) | 2017-05-19 | 2020-03-31 | Samsung Electronics Co., Ltd. | Ethernet-attached SSD for automotive applications |
| US10852990B2 (en) * | 2017-08-02 | 2020-12-01 | Samsung Electronics Co., Ltd. | Hybrid framework of NVMe-based storage system in cloud computing environment |
| KR102410671B1 (ko) | 2017-11-24 | 2022-06-17 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 제어하는 호스트 장치, 및 스토리지 장치의 동작 방법 |
| KR102446733B1 (ko) | 2017-11-30 | 2022-09-23 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치를 포함하는 전자 장치 |
| KR20190083052A (ko) * | 2018-01-03 | 2019-07-11 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
| US11669267B2 (en) * | 2018-02-09 | 2023-06-06 | Western Digital Technologies, Inc. | Completion entry throttling using host memory |
| US10719267B2 (en) * | 2018-05-30 | 2020-07-21 | Western Digital Technologies, Inc. | Partial reset of memory controller |
| US10725901B2 (en) | 2018-05-31 | 2020-07-28 | Western Digital Technologies, Inc. | Storage system and method for soft-decision-based command execution to enhance random write performance |
| WO2020000483A1 (zh) | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 数据处理的方法和存储系统 |
| US10359815B1 (en) | 2018-09-21 | 2019-07-23 | Super Micro Computer, Inc. | Adaptable storage bay for solid state drives |
| US20230333756A1 (en) * | 2019-01-14 | 2023-10-19 | Pure Storage, Inc. | Managing permissions for processing input/output (i/o) operations in a storage system |
| US11144226B2 (en) | 2019-04-11 | 2021-10-12 | Samsung Electronics Co., Ltd. | Intelligent path selection and load balancing |
| US11030107B2 (en) | 2019-04-19 | 2021-06-08 | Hewlett Packard Enterprise Development Lp | Storage class memory queue depth threshold adjustment |
| 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 |
| US11513861B2 (en) | 2019-08-29 | 2022-11-29 | International Business Machines Corporation | Queue management in solid state memory |
| US11269519B2 (en) | 2020-01-03 | 2022-03-08 | International Business Machines Corporation | Queue management in storage systems |
| WO2021156677A2 (en) | 2020-02-03 | 2021-08-12 | Samsung Electronics Co., Ltd | Data management system and method of controlling |
| US11079968B1 (en) * | 2020-02-21 | 2021-08-03 | International Business Machines Corporation | Queue management in multi-site storage systems |
| US11307802B2 (en) | 2020-02-21 | 2022-04-19 | International Business Machines Corporation | NVMe queue management multi-tier storage systems |
| US11252232B2 (en) | 2020-02-21 | 2022-02-15 | International Business Machines Corporation | NVME-of queue management in host clusters |
| US11194742B2 (en) | 2020-04-30 | 2021-12-07 | International Business Machines Corporation | Detecting potentially overlapping input/output queues |
| US11301140B2 (en) * | 2020-06-17 | 2022-04-12 | Intel Corporation | Configuring parameters of non-volatile memory target subsystems for workload request quality of service |
| US11573621B2 (en) | 2020-07-25 | 2023-02-07 | International Business Machines Corporation | Reduction of performance impacts of storage power control by migration of write-intensive extent |
| US11704058B2 (en) * | 2020-07-28 | 2023-07-18 | Samsung Electronics Co., Ltd. | Systems and methods for resource-based scheduling of commands |
| US20220171572A1 (en) * | 2020-12-01 | 2022-06-02 | Micron Technology, Inc. | Queue configuration for host interface |
| US11599271B2 (en) | 2021-02-12 | 2023-03-07 | Hewlett Packard Enterprise Development Lp | Controlling I/O Q-connections in NVMe devices |
| KR102518317B1 (ko) * | 2021-04-13 | 2023-04-06 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
| KR102668564B1 (ko) | 2021-06-01 | 2024-05-24 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
| US11789658B2 (en) | 2021-04-13 | 2023-10-17 | SK Hynix Inc. | Peripheral component interconnect express (PCIe) interface system and method of operating the same |
| US20220327074A1 (en) * | 2021-04-13 | 2022-10-13 | SK Hynix Inc. | PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) SYSTEM AND METHOD OF OPERATING THE SAME |
| US11429444B1 (en) * | 2021-04-29 | 2022-08-30 | Hewlett Packard Enterprise Development Lp | Managing distribution of I/O queue pairs of a target among hosts |
| US11635918B2 (en) | 2021-08-31 | 2023-04-25 | International Business Machines Corporation | Data migration and replication |
| US12248820B2 (en) | 2021-10-28 | 2025-03-11 | International Business Machines Corporation | Adaptive hybrid cloud resource management |
| US11425196B1 (en) | 2021-11-18 | 2022-08-23 | International Business Machines Corporation | Prioritizing data replication packets in cloud environment |
| US11941295B2 (en) * | 2022-01-11 | 2024-03-26 | Western Digital Technologies, Inc. | Data storage device and method for providing an adaptive data path |
| US12327137B2 (en) | 2022-03-11 | 2025-06-10 | SanDisk Technologies, Inc. | Instant submission queue release |
| CN115202586B (zh) * | 2022-07-29 | 2025-09-19 | 芯原微电子(成都)有限公司 | 一种内存的配置方法及装置、电子设备、存储介质 |
| US12335146B2 (en) | 2023-06-14 | 2025-06-17 | International Business Machines Corporation | Dynamic, condition-based network device continuity optimization |
| CN119336241A (zh) * | 2023-07-21 | 2025-01-21 | 长江存储科技有限责任公司 | 一种存储控制器的操作方法、存储系统及电子设备 |
| US20250077084A1 (en) * | 2023-09-06 | 2025-03-06 | Micron Technology, Inc. | Write processing using queue and thread identification |
| CN120255820B (zh) * | 2025-05-29 | 2025-08-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种用于对硬盘控制器进行前端验证的主机模型 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140331001A1 (en) | 2013-05-02 | 2014-11-06 | Lsi Corporation | Command Barrier for a Solid State Drive Controller |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9304690B2 (en) * | 2014-05-07 | 2016-04-05 | HGST Netherlands B.V. | System and method for peer-to-peer PCIe storage transfers |
| US10073714B2 (en) * | 2015-03-11 | 2018-09-11 | Western Digital Technologies, Inc. | Task queues |
| US20170075572A1 (en) * | 2015-09-11 | 2017-03-16 | Sandisk Technologies Inc. | Extending hardware queues with software queues |
-
2016
- 2016-05-11 KR KR1020160057341A patent/KR102403489B1/ko active Active
- 2016-07-06 US US15/202,810 patent/US10019181B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140331001A1 (en) | 2013-05-02 | 2014-11-06 | Lsi Corporation | Command Barrier for a Solid State Drive Controller |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024144969A1 (en) * | 2022-12-29 | 2024-07-04 | SK Hynix NAND Product Solutions Corp. (dba Solidigm) | Methods and systems for dynamic submission data structures |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20170007099A (ko) | 2017-01-18 |
| US10019181B2 (en) | 2018-07-10 |
| US20170083252A1 (en) | 2017-03-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102403489B1 (ko) | 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법 | |
| US9727503B2 (en) | Storage system and server | |
| KR101934519B1 (ko) | 저장 장치 및 그것의 데이터 전송 방법 | |
| US20190220191A1 (en) | Primary Data Storage System with Quality of Service | |
| US9696942B2 (en) | Accessing remote storage devices using a local bus protocol | |
| JP6181860B2 (ja) | ストレージ装置とそのデータ処理方法及びストレージシステム | |
| US10509739B1 (en) | Optimized read IO for mix read/write scenario by chunking write IOs | |
| US10719245B1 (en) | Transactional IO scheduler for storage systems with multiple storage devices | |
| US20210004165A1 (en) | Dummy Host Command Generation For Supporting Higher Maximum Data Transfer Sizes (MDTS) | |
| EP4220419B1 (en) | Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests | |
| CN112416250B (zh) | 基于NVMe的固态硬盘的命令处理方法及相关设备 | |
| WO2016048725A1 (en) | Memory write management in a computer system | |
| US10275175B2 (en) | System and method to provide file system functionality over a PCIe interface | |
| WO2019062202A1 (zh) | 硬盘操作命令的执行方法、硬盘及存储介质 | |
| US20250103236A1 (en) | Systems and methods for data copy offload for storage devices | |
| US10452557B2 (en) | Storage apparatus, computer system, and method for improved read operation handling | |
| US10097658B2 (en) | Traffic control of packet transfer | |
| CN113196225B (zh) | 开放信道矢量命令执行 | |
| US20120260043A1 (en) | Fabricating key fields | |
| US10592123B1 (en) | Policy driven IO scheduler to improve write IO performance in hybrid storage systems | |
| US10599340B1 (en) | Policy driven IO scheduler to improve read IO performance in hybrid storage systems | |
| US10564847B1 (en) | Data movement bulk copy operation | |
| WO2017072868A1 (ja) | ストレージ装置 | |
| US20240168681A1 (en) | Solving submission queue entry overflow with shadow submission queue | |
| US10346054B1 (en) | Policy driven IO scheduler resilient to storage subsystem performance |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20160511 |
|
| PG1501 | Laying open of application | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20201111 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20160511 Comment text: Patent Application |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220304 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220525 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20220525 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |