IP Library › Granted Patent US 12,340,120
Granted Patent B2
US 12,340,120 · App. 18/126,595 · Granted Jun 24, 2025

Storage controller, computational storage device, and operational method of computational storage device

Inventors: Hwang Lee (Seoul, KR); Wan Heo (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0659G06F3/0613G06F3/0656G06F3/0658G06F3/0679
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,340,120
App. No.
18/126,595
Filed
Mar 27, 2023
Granted
Jun 24, 2025
Kind
B2
Art Unit
2139
USPC
711/154
Abstract

A computational storage device includes a non-volatile memory (NVM) device; and a storage controller configured to control the NVM device. The storage controller includes: a computation processor configured to execute an internal application to generate an internal command; a host interface circuit configured to receive a host command from an external host device, to receive the internal command from the computation processor, and to individually process the received host command and the received internal command; a flash translation layer (FTL) configured to perform an address mapping operation based on a result of the processing of the host interface circuit; and a memory interface circuit configured to control the NVM device based on the address mapping operation of the FTL.

Claims (67)

1. A computational storage device comprising:

a non-volatile memory (NVM) device;

a computational processor configured to generate an internal command by executing an internal application; and

a storage controller configured to receive the internal command from the computational processor, to access the NVM device in response the received internal command, to receive a host command from an external host device, and to access the NVM device in response to the received host command,

wherein the storage controller includes:

a host interface circuit configured to receive both the internal command and the host command; and

a flash translation layer (FTL) circuit configured to perform a first address mapping based on the internal command received from the host interface circuit and perform a second address mapping based on the host command received from the host interface circuit, and

wherein the FTL circuit comprises:

a first hardware circuit that translates a logical address into a physical address for each of the first address mapping and the second address mapping;

a read buffer circuit configured to automate a read path associated with a read operation on the NVM device;

a write buffer circuit configured to automate a write path associated with a write operation on the NVM device; and

a second hardware circuit that processes errors occurring during the translation from the logical address to the physical address.

2. The computational storage device of claim 1 , further comprising:

a first memory configured to be accessed by the computational processor; and

a second memory configured to be accessed by the storage controller.

3. The computational storage device of claim 1 , further comprising:

a shared memory configured to be accessed by both the computational processor and the storage controller.

4. The computational storage device of claim 1 , further comprising:

a first memory configured to be accessed by the storage controller,

wherein the computational processor is further configured to access the first memory through the storage controller.

5. The computational storage device of claim 1 , wherein the host command is provided to the storage controller through the computational processor.

6. The computational storage device of claim 1 , wherein the computational processor is further configured to communicate with the external host device through a first interface, and

wherein the storage controller is further configured to communicate with the external host device through a second interface different from the first interface.

7. The computational storage device of claim 1 , further comprising:

a peripheral component interconnect express (PCIe) switch,

wherein the computational processor and the storage controller are further configured to communicate with the external host device through the PCIe switch.

8. The computational storage device of claim 1 , wherein the storage controller further comprises:

a non-volatile memory interface circuit configured to access the NVM device based on the first address mapping and the second address mapping.

9. A computational storage device comprising:

a non-volatile memory (NVM) device;

a computational processor configured to generate an internal command by executing an internal application;

a host interface circuit configured to receive a host command from an external host device, receive the internal command from the computational processor, process the received host command, and process the received the internal command;

a flash translation layer (FTL) circuit configured to perform a first address mapping for the processed host command, and perform a second address mapping for the processed internal command; and

a memory interface circuit configured to access the NVM device based on the first address mapping and access the NVM device based on the second address mapping,

wherein the FTL circuit comprises:

a first hardware circuit that translates a logical address into a physical address for each of the first address mapping and the second address mapping;

a read buffer circuit configured to automate a read path associated with a read operation on the NVM device;

a write buffer circuit configured to automate a write path associated with a write operation on the NVM device; and

a second hardware circuit that processes errors occurring during the translation from the logical address to the physical address.

10. The computational storage device of claim 9 , wherein the host interface circuit comprises:

a physical port configured to receive the host command from the external host device; and

a non-volatile memory express (NVMe) processor configured to process the received host command and the received the internal command.

11. The computational storage device of claim 10 , wherein the physical port is further configured to receive the internal command from the computational processor, and

the NVMe processor is further configured to receive the internal command through the physical port.

12. The computational storage device of claim 10 , wherein the NVMe processor is further configured to receive the internal command through a system bus.

13. The computational storage device of claim 10 , wherein the physical port is further configured to receive an execution command from the external host device, and transfer the execution command to the computational processor, and

the computational processor executes the internal application in response to receiving the transferred execution command and executes the internal command based on the execution of the internal application.

14. The computational storage device of claim 10 , wherein the physical port is further configured to receive an execution command from the external host device,

the NVMe processor is further configured to receive the execution command from the physical port and transfer the execution command to the computational processor, and

the computational processor executes the internal application in response to receiving the transferred execution command and executes the internal command based on the execution of the internal application.

15. The computational storage device of claim 9 , further comprises:

a controller memory configured to store the internal application.

16. A computational storage device comprising:

a non-volatile memory device; and

a storage controller configured to receive a host command from an external host device and process the host command through a first I/O path on the storage controller,

wherein the storage controller includes a computational processor configured to execute an internal application to generate an internal command,

wherein the storage controller is further configured to process the internal command through a second I/O path on the storage controller,

wherein both the first I/O path and the second I/O path include a host interface circuit, a flash translation layer (FTL) circuit, and a non-volatile memory interface circuit,

wherein the storage controller comprises a flash translation layer (FTL) circuit configured to perform a first address mapping based on the processed internal command and perform a second address mapping based on the processed host command, and

wherein the FTL circuit comprises:

a first hardware circuit that translates a logical address into a physical address for each of the first address mapping and the second address mapping;

a read buffer circuit configured to automate a read path associated with a read operation on the NVM device;

a write buffer circuit configured to automate a write path associated with a write operation on the NVM device; and

a second hardware circuit that processes errors occurring during the translation from the logical address to the physical address.

17. The computational storage device of claim 16 , wherein the host interface circuit is configured to receive the host command from the external host device, receive the internal command from the computational processor, process the received host command, and process the received internal command.

18. The computational storage device of claim 17 , wherein the FTL circuit is configured to perform an address mapping in response to each of the processed host command and the processed internal command.

19. The computational storage device of claim 18 , wherein the non-volatile memory interface circuit is configured to access the non-volatile memory device in response to each of the first address mapping and the second address mapping.

Priority Claims (1)
KR 10-2021-0078889 · Jun 17, 2021 · national
Continuity (2)
Continuation 17829980 · Jun 1, 2022
Related Publication 20230229357A1 · Jul 20, 2023
References Cited (34)
US 9152823B2 · Shatskih et al. · 2015 [cited by applicant]
US 9760503B2 · Oh et al. · 2017 [cited by applicant]
US 10394305B2 · Kim · 2019 [cited by applicant]
US 10394746B2 · Kachare et al. · 2019 [cited by applicant]
US 10592443B2 · Kachare et al. · 2020 [cited by applicant]
US 10915381B2 · Costa et al. · 2021 [cited by applicant]
US 10915383B2 · Steuer et al. · 2021 [cited by applicant]
US 20120284587A1 · Yu · 2012 [cited by examiner]
US 20180129599A1 · Kim · 2018 [cited by applicant]
US 20180300064A1 · McGlaughlin · 2018 [cited by examiner]
US 20190065362A1 · Shin et al. · 2019 [cited by applicant]
US 20190107956A1 · Kachare · 2019 [cited by examiner]
US 20190114272A1 · Dubey · 2019 [cited by examiner]
US 20190317901A1 · Kachare et al. · 2019 [cited by applicant]
US 20200042241A1 · Nakano · 2020 [cited by applicant]
US 20200104056A1 · Benisty et al. · 2020 [cited by applicant]
US 20200133898A1 · Therene et al. · 2020 [cited by applicant]
US 20200225874A1 · Nimmagadda et al. · 2020 [cited by applicant]
US 20200356305A1 · Kim et al. · 2020 [cited by applicant]
US 20210109673A1 · Kim · 2021 [cited by examiner]
US 20210165604A1 · Kim et al. · 2021 [cited by applicant]
JP 201975109A · 2019 [cited by applicant]
JP 202021385A · 2020 [cited by applicant]
KR 100966236B1 · 2010 [cited by applicant]
KR 1020180050888A · 2018 [cited by applicant]
KR 1020190023196A · 2019 [cited by applicant]
KR 1020200037049A · 2020 [cited by applicant]
KR 1020200087052A · 2020 [cited by applicant]
KR 1020200129843A · 2020 [cited by applicant]
KR 1020210068699A · 2021 [cited by applicant]
Hardware acceleration, Jan. 16, 2020, Wikipedia, the Internet Archive snapshot dated Jan. 16, 2022, pp. 1-7 http:/web.archive.org/web/20200116214237/https://en.wikipedia.org/wiki/Hardware_acceleration (Year: 2020). [cited by examiner]
Communication dated Nov. 17, 2021 issued by the Korean Intellectual Property Office in counterpart Korean Application No. 10-2021-0078889. [cited by applicant]
Communication dated Aug. 27, 2021 issued by the Korean Intellectual Property Office in counterpart Korean Application No. 10-2021-0078889. [cited by applicant]
J Metz, Let's Talk “Fabrics”, Jun. 27, 2018, Storage Networking Industry Association (SNIA), slides 1-49 https://www.snia.org/educational-library/lets-talk-fabrics-nvme-over-fabrics-2018 (Year: 2018). [cited by applicant]