IP Library Granted Patent US 12,399,656
Granted Patent B2
US 12,399,656 · App. 18/231,241 · Granted Aug 26, 2025

Network storage gateway

Inventors: Yang Seok Ki (Palo Alto, CA); Yangwook Kang (San Jose, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0679G06F3/0613G06F3/0659G06F13/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,399,656
App. No.
18/231,241
Filed
Aug 7, 2023
Granted
Aug 26, 2025
Kind
B2
Art Unit
2175
USPC
710/308
Abstract

A Solid State Drive (SSD) is disclosed. The SSD may include ports to receive requests from a host and to send requests to a second storage device. The SSD may include flash storage for data. An SSD controller may process the requests received from the host and generate the requests sent to the second storage device. The SSD may act as a cache for the second storage device.

Claims (44)

1. A device, comprising:

storage media for a data; and

a controller to receive a first request from a host, generate a second request based at least in part on the first request, send the second request to a storage device, receive a response from the storage device, and send the response to the host,

wherein the device includes a cache namespace and a first queue and a second queue for the cache namespace.

2. The device according to claim 1 , wherein the device includes:

a Peripheral Component Interconnect Express (PCIe) port; or

an Ethernet port; or

a combination thereof.

3. The device according to claim 1 , further comprising a storage-related processing unit (SPU) to manage storage of the data on the storage device.

4. The device according to claim 1 , further comprising a general data processing unit (DPU).

5. The device according to claim 1 , wherein the cache namespace includes:

a cache manager to manage a third request received via the first queue and to issue a fourth request via the second queue; and

a persistent memory to store the data based on the third request and the fourth request.

6. A device according to claim 1 , wherein:

the first request includes a read request;

the response from the storage device includes the data; and

the controller is further configured to store the data in the storage media.

7. A device according to claim 1 , wherein:

the response includes the data; and

the controller is further configured to store the data in the storage media.

8. The device according to claim 4 , wherein the DPU is configured to execute instructions of an application.

9. The device according to claim 5 , wherein the cache namespace further includes a processing unit (PU) buffer for data assembly and disassembly.

10. A device according to claim 7 , wherein the controller is further configured to receive a third request from the host and to send a second response based at least in part on the data in the storage media.

11. A method comprising:

receiving a first I/O request for a data from a host at a device using a first queue associated with a cache namespace in the device;

generating a second I/O request based at least in part on the first I/O request;

sending the second I/O request for the data from the device to a storage device using a second queue associated with the cache namespace in the device;

receiving a response from the storage device at the device; and

sending the response from the device to the host.

12. The method according to claim 11 , wherein sending the second I/O request for the data from the device to the storage device includes sending the second I/O request for the data from the device to the storage device and a second storage device.

13. The method according to claim 11 , wherein:

sending the second I/O request for the data from the device to the storage device includes sending a Key-Value (KV) I/O request for the data from the device to a KV storage device; and

receiving the response from the storage device at the device includes receiving the response from the KV storage device at the device.

14. The method according to claim 11 , wherein the first I/O request includes a read request or a write request.

15. The method according to claim 11 , further comprising applying an acceleration function to the data based at least in part on receiving the first I/O request for the data from the host at the device.

16. The method according to claim 12 , wherein sending the second I/O request for the data from the device to the storage device and the second storage device includes:

disassembling the data into a first portion of the data and a second portion of the data;

sending the first portion of the data from the device to the storage device; and

sending the second portion of the data from the device to the second storage device.

17. The method according to claim 12 , wherein receiving a response from the storage device at the device includes:

receiving a first portion of the data at the device from the storage device;

receiving a second portion of the data at the device from the second storage device; and

reassembling the data from the first portion of the data and the second portion of the data.

18. The method according to claim 13 , further comprising generating the KV I/O request based at least in part on the first I/O request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2023
From: KI, YANG SEOK; KANG, YANGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 065141/0014 →
Continuity (4)
Continuation 17589886 · Jan 31, 2022
Continuation 16846256 · Apr 10, 2020
Provisional Application 62948794 · Dec 16, 2019
Related Publication 20230384982A1 · Nov 30, 2023
References Cited (33)
US 7185062B2 · Lolayekar et al. · 2007 [cited by applicant]
US 8601211B2 · Flynn et al. · 2013 [cited by applicant]
US 8996781B2 · Schuette et al. · 2015 [cited by applicant]
US 9285995B2 · Malwankar · 2016 [cited by applicant]
US 9430412B2 · Huang · 2016 [cited by applicant]
US 10019362B1 · Chatterjee et al. · 2018 [cited by applicant]
US 11256488B1 · Elango et al. · 2022 [cited by applicant]
US 11755254B2 · Ki · 2023 [cited by examiner]
US 20050201394A1 · Wang et al. · 2005 [cited by applicant]
US 20070038833A1 · Yamamoto et al. · 2007 [cited by applicant]
US 20080313364A1 · Flynn et al. · 2008 [cited by applicant]
US 20090210620A1 · Jibbe et al. · 2009 [cited by applicant]
US 20130086300A1 · Luca · 2013 [cited by applicant]
US 20150067353A1 · Hui · 2015 [cited by applicant]
US 20150160862A1 · Blott · 2015 [cited by examiner]
US 20150254003A1 · Lee et al. · 2015 [cited by applicant]
US 20170091042A1 · Chou et al. · 2017 [cited by applicant]
US 20170271030A1 · Li · 2017 [cited by applicant]
US 20170286170A1 · De et al. · 2017 [cited by applicant]
US 20170329640A1 · Bandic et al. · 2017 [cited by applicant]
US 20180285019A1 · Olarig et al. · 2018 [cited by applicant]
US 20180307650A1 · Kachare et al. · 2018 [cited by applicant]
US 20190109720A1 · Olarig · 2019 [cited by applicant]
US 20190141128A1 · Hallak et al. · 2019 [cited by applicant]
US 20190146675A1 · Subramanian et al. · 2019 [cited by applicant]
US 20190199690A1 · Klein · 2019 [cited by applicant]
US 20190272245A1 · Olarig et al. · 2019 [cited by applicant]
US 20190278507A1 · Du et al. · 2019 [cited by applicant]
US 20200334292A1 · Ganeshan · 2020 [cited by examiner]
Notice of Allowance for U.S. Appl. No. 16/846,256, mailed Oct. 14, 2021. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/589,886, mailed Apr. 27, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 16/846,256, mailed Apr. 29, 2021. [cited by applicant]
Office Action for U.S. Appl. No. 17/589,886, mailed Oct. 14, 2022. [cited by applicant]