IP Library › Granted Patent US 12,487,951
Granted Patent B2
US 12,487,951 · App. 18/107,446 · Granted Dec 2, 2025

Systems and methods for servicing data access commands

Inventors: Chinnakrishnan Ballapuram (San Jose, CA); Wentao Wu (San Jose, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F13/18G06F13/1668G06F13/4068G06F13/4282G06F2213/0026
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,487,951
App. No.
18/107,446
Granted
Dec 2, 2025
Kind
B2
Abstract

A non-volatile storage system includes: a host and a storage device. The host includes a submission queue memory, a completion queue memory, and a read/write data memory, and the storage device includes: a controller configured to concurrently communicate with the read/write data memory and with at least one of the submission queue memory and the completion queue memory; and a memory device configured to communicate with the controller.

Claims (40)

1 . A non-volatile storage system comprising:

a first device comprising a first queue, a second queue, and a memory; and

a storage device comprising:

a controller configured to communicate with the memory and with at least one of the first queue or the second queue; and

a second device configured to communicate with the controller,

wherein a physical interface connecting the controller to the first device is configured to be used by the first device to send first data from the memory, and

wherein, based on the controller detecting a first command, the physical interface is configured to transport a first portion of the first data from the memory to the controller,

wherein, based on the controller detecting a second command:

a first portion of the physical interface is configured to transport the second command from the first queue to the controller; and

a second portion of the physical interface is configured to transport a second portion of the first data from the memory to the controller.

2 . The non-volatile storage system of claim 1 , wherein the controller is configured to receive the first data from the memory and transmit third data to the second queue,

wherein the physical interface is configured to be used by the first device to send the first data from the memory and transmit the third data to the second queue, and

wherein the physical interface is configured to prioritize the third data to the second queue over the first data from the memory.

3 . The non-volatile storage system of claim 2 , wherein the first data or the third data is configured to be transmitted via one or more communication lanes of the physical interface.

4 . The non-volatile storage system of claim 3 , wherein the one or more communication lanes are dynamically configurable.

5 . The non-volatile storage system of claim 1 , wherein the physical interface is configured to operate according to a non-volatile memory express (NVMe) communication protocol.

6 . A non-volatile storage system comprising:

a first device comprising a queue, and a memory; and

a storage device comprising:

a controller configured to communicate with the memory and the queue; and

a second device configured to communicate with the controller,

wherein, based on the controller detecting a first command, receiving by the controller a first portion of first data from the memory over a first interface and a second interface,

wherein, based on the controller detecting a second command:

receiving by the controller the second command from the queue over the first interface; and

receiving by the controller a second portion of the first data from the memory over the second interface.

7 . The non-volatile storage system of claim 6 , wherein the storage device is configured to communicate with the first device via a communication bus having one or more lanes.

8 . The non-volatile storage system of claim 7 , wherein the communication bus includes a peripheral component interconnect express (PCIe) bus.

9 . The non-volatile storage system of claim 7 , wherein the first interface comprises a first subset of the one or more lanes of the communication bus, and the second interface comprises a second subset of the one or more lanes of the communication bus different from the first subset.

10 . The non-volatile storage system of claim 6 , wherein the first interface is configured to operate according to a non-volatile memory express (NVMe) communication protocol.

11 . The non-volatile storage system of claim 6 , wherein the second interface is configured to operate according to a non-volatile memory express (NVMe) communication protocol.

12 . A method of data storage access between a first device and a non-volatile storage device, the first device comprising a queue and a memory, the non-volatile storage device comprising a controller configured to communicate with the memory and the queue, and a second device configured to communicate with the controller, the method comprising:

based on the controller detecting a first command, receiving by the controller a first portion of first data over a first interface and a second interface; and

based on the controller detecting a second command, receiving by the controller the second command from the queue over the first interface, and receiving by the controller a second portion of the first data from the memory over the second interface.

13 . The method of claim 12 , wherein the first portion of the first data is for writing to the non-volatile storage device.

14 . The method of claim 13 , wherein the second portion of the first data is for writing to the non-volatile storage device.

15 . The method of claim 13 , wherein the first command includes a write command, and the second command includes a read command.

16 . The method of claim 12 , wherein the first interface and the second interface include a peripheral component interconnect express (PCIe) bus having one or more lanes.

17 . The method of claim 16 , wherein the one or more lanes are dynamically configurable.

18 . The method of claim 16 , wherein the first interface comprises a first subset of the lanes of the PCIe bus, and the second interface comprises a second subset of the lanes of the PCIe bus different from the first subset.

19 . The method of claim 12 , wherein the first interface and the second interface communicate over a physical interface configured to operate according to a non-volatile memory express (NVMe) communication protocol.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF INVENTORS PREVIOUSLY RECORDED AT REEL: 063218 FRAME: 0144. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Apr 10, 2023
From: BALLAPURAM, CHINNAKRISHNAN; WU, WENTAO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063281/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2023
From: BALLAPURAM, CHINNAKRISHNAN; WU, WENTAO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063218/0144 →
Continuity (3)
Continuation 15384164 · Dec 19, 2016
Provisional Application 62403626 · Oct 3, 2016
Related Publication 20230185743A1 · Jun 15, 2023
References Cited (35)
US 7363417B1 · Ngai · 2008 [cited by examiner]
US 7702839B2 · Klint et al. · 2010 [cited by applicant]
US 7904638B2 · Adachi · 2011 [cited by applicant]
US 8151038B2 · Luo et al. · 2012 [cited by applicant]
US 8180931B2 · Lee et al. · 2012 [cited by applicant]
US 8255615B1 · Yoon et al. · 2012 [cited by applicant]
US 8495471B2 · Antonakopoulos et al. · 2013 [cited by applicant]
US 8700834B2 · Horn et al. · 2014 [cited by applicant]
US 9021168B1 · Horn et al. · 2015 [cited by applicant]
US 9128662B2 · Kim et al. · 2015 [cited by applicant]
US 9304692B2 · Nguyen et al. · 2016 [cited by applicant]
US 9354872B2 · Amidi et al. · 2016 [cited by applicant]
US 10007443B1 · Rajadnya · 2018 [cited by examiner]
US 20070067548A1 · Juenger · 2007 [cited by examiner]
US 20070094437A1 · Jabori · 2007 [cited by examiner]
US 20070239926A1 · Gyl et al. · 2007 [cited by applicant]
US 20100185811A1 · Kwon · 2010 [cited by applicant]
US 20110182216A1 · Ono · 2011 [cited by examiner]
US 20130268710A1 · Lowe · 2013 [cited by examiner]
US 20140095737A1 · Paragaonkar et al. · 2014 [cited by applicant]
US 20140195720A1 · Akella et al. · 2014 [cited by applicant]
US 20150046625A1 · Peddle et al. · 2015 [cited by applicant]
US 20150378605A1 · Huang · 2015 [cited by examiner]
US 20160085718A1 · Huang · 2016 [cited by examiner]
US 20160210062A1 · McCambridge · 2016 [cited by examiner]
US 20160217104A1 · Kamble et al. · 2016 [cited by applicant]
US 20170060422A1 · Sharifie et al. · 2017 [cited by applicant]
US 20180034790A1 · Mundra · 2018 [cited by examiner]
US 20180060266A1 · Garibay et al. · 2018 [cited by applicant]
US 20180069923A1 · Tsalmon · 2018 [cited by examiner]
US 20230127976A1 · Dreier · 2023 [cited by examiner]
JP 5054818B2 · 2012 [cited by applicant]
KR 1020070120596A · 2007 [cited by applicant]
KR 1020080099336A · 2008 [cited by applicant]
Microsoft Computer Dictionary. [cited by applicant]