IP Library › Granted Patent US 12,393,432
Granted Patent B2
US 12,393,432 · App. 17/234,780 · Granted Aug 19, 2025

Mechanism to discover computational storage functions and devices

Inventors: Oscar P. Pinto (San Jose, CA); Vishwanath Maram (San Jose, CA); Hingkwan Huen (San Jose, CA); Danqing Jin (San Jose, CA); William Martin (San Jose, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F9/452G06F3/0607G06F3/0631G06F3/0653G06F3/067G06F9/3877G06F16/1734
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,393,432
App. No.
17/234,780
Granted
Aug 19, 2025
Kind
B2
Abstract

A device is described. The device may include a connector to connect the device to a component. The device may also include a computational storage unit. A receiver may receive a discovery request from a discovery service, and a transmitter may transmit a discovery response to the discovery service, the discovery response including information about the computational storage unit.

Claims (37)

1. A device, comprising:

a physical connector that provides a physical connection between the device and a host;

a storage device;

a computational storage unit, the computational storage unit including a processor providing near-storage processing of data associated with the storage device via a service of the processor;

a receiver to receive, from the host via the physical connection, a request for computational storage capabilities of the computational storage unit; and

a transmitter to send a response to the host via the physical connection, the response including information about the service offered by the processor of the computational storage unit, wherein the information indicates a type of processor included in the computational storage unit.

2. The device according to claim 1 , wherein the information about the computational storage unit includes at least one bit identifying a computational storage capability of the computational storage unit.

3. The device according to claim 1 , further comprising a log page unit to generate a log page, the log page including supplemental information about the computational storage unit.

4. The device according to claim 3 , wherein:

the device further comprises a second computational storage unit; and

the log page unit is configured to generate a second log page including second supplemental information about the second computational storage unit.

5. The device according to claim 1 , wherein the computational storage unit includes the storage device.

6. The device according to claim 1 , wherein the computational storage unit is paired with the storage device.

7. A system, comprising:

a device including:

a storage device; and

a computational storage unit, the computational storage unit including a processor providing near-storage processing of data associated with the storage device via a service of the processor; and

a host, including:

a transmitter to send, to the device via a physical connection between the host and the device, a request for computational storage capabilities of the computational storage unit; and

a receiver to receive, from the device via the physical connection to the device, a response, the response including information about the service offered by the processor of the computational storage unit, wherein the information indicates a type of processor included in the computational storage unit.

8. The system according to claim 7 , wherein the information about the computational storage unit includes at least one bit identifying a computational storage capability of the computational storage unit.

9. The system according to claim 7 , wherein the host is configured to access a log page including supplemental information about the computational storage unit.

10. The system according to claim 9 , wherein the transmitter is configured to send a log page request to the device.

11. The system according to claim 7 , wherein the transmitter is configured to forward the information about the device to a discovery service.

12. A method, comprising:

receiving, at a device from a host via a physical connection between the device and the host, a request for computational storage capabilities of a computational storage unit of the device, the device including:

a storage device; and

the computational storage unit, the computational storage unit including a processor providing near-storage processing of data associated with the storage device via a service of the processor;

generating a response, the response including information about the service offered by the processor of the computational storage unit, wherein the information indicates a type of processor included in the computational storage unit; and

sending, to the host via the physical connection to the host, the response from the device.

13. The method according to claim 12 , further comprising generating a log page including supplemental information about the computational storage unit.

14. The method according to claim 13 , wherein:

the device further includes a second computational storage unit; and

the method further comprises generating a second log page including second supplemental information about the second computational storage unit.

15. The method according to claim 12 , wherein the computational storage unit includes the storage device.

16. The method according to claim 15 , wherein the storage device is paired with a second computational storage unit.

17. The method according to claim 12 , wherein the computational storage unit is paired with the storage device.

Continuity (3)
Provisional Application 63144469 · Feb 1, 2021
Provisional Application 63073922 · Sep 2, 2020
Related Publication 20220066799A1 · Mar 3, 2022
References Cited (142)
US 5805777A · Kuchta · 1998 [cited by applicant]
US 6976255B1 · Clark et al. · 2005 [cited by applicant]
US 7315807B1 · Lavallee et al. · 2008 [cited by applicant]
US 7433931B2 · Richoux · 2008 [cited by applicant]
US 7801931B2 · Tunar et al. · 2010 [cited by applicant]
US 7937703B2 · Bethea et al. · 2011 [cited by applicant]
US 8381004B2 · Elnozahy et al. · 2013 [cited by applicant]
US 8615570B2 · Brewis et al. · 2013 [cited by applicant]
US 8726299B1 · Bromley et al. · 2014 [cited by applicant]
US 8904072B2 · Lee · 2014 [cited by applicant]
US 8943504B2 · Vijayarajan et al. · 2015 [cited by applicant]
US 9203627B2 · Edstrom et al. · 2015 [cited by applicant]
US 9398016B1 · Chakraborty et al. · 2016 [cited by applicant]
US 9406082B2 · Smedberg et al. · 2016 [cited by applicant]
US 9596135B1 · Thomas et al. · 2017 [cited by applicant]
US 9626120B1 · Jia et al. · 2017 [cited by applicant]
US 10162793B1 · Bshara et al. · 2018 [cited by applicant]
US 10303382B1 · Chu et al. · 2019 [cited by applicant]
US 10359953B2 · Cargnini et al. · 2019 [cited by applicant]
US 10394746B2 · Kachare et al. · 2019 [cited by applicant]
US 10404811B2 · Ly et al. · 2019 [cited by applicant]
US 10412187B2 · Busayarat et al. · 2019 [cited by applicant]
US 10476936B1 · Retnakumari et al. · 2019 [cited by applicant]
US 10521114B2 · Thomas · 2019 [cited by applicant]
US 10621114B1 · Bshara et al. · 2020 [cited by applicant]
US 10637962B2 · Gay et al. · 2020 [cited by applicant]
US 10771340B2 · Ballapuram · 2020 [cited by applicant]
US 10795726B2 · Fujii et al. · 2020 [cited by applicant]
US 10802753B2 · Kabra et al. · 2020 [cited by applicant]
US 10838905B2 · Zou et al. · 2020 [cited by applicant]
US 10846096B1 · Chung et al. · 2020 [cited by applicant]
US 10860511B1 · Thompson et al. · 2020 [cited by applicant]
US 10877750B1 · Connolly et al. · 2020 [cited by applicant]
US 11294576B2 · Khan et al. · 2022 [cited by applicant]
US 11334382B2 · Bernat et al. · 2022 [cited by applicant]
US 11474974B2 · Lutz et al. · 2022 [cited by applicant]
US 11507298B2 · Yang et al. · 2022 [cited by applicant]
US 11630921B2 · Sinha et al. · 2023 [cited by applicant]
US 11687498B2 · Trika et al. · 2023 [cited by applicant]
US 20030093572A1 · Laux et al. · 2003 [cited by applicant]
US 20040220918A1 · Scriffignano et al. · 2004 [cited by applicant]
US 20050132341A1 · Lanzatella et al. · 2005 [cited by applicant]
US 20070276924A1 · Newton et al. · 2007 [cited by applicant]
US 20080004887A1 · Brunswig et al. · 2008 [cited by applicant]
US 20080279161A1 · Stirbu et al. · 2008 [cited by applicant]
US 20110066676A1 · Kleyzit et al. · 2011 [cited by applicant]
US 20110185295A1 · Kashida · 2011 [cited by applicant]
US 20120079172A1 · Yoshida · 2012 [cited by applicant]
US 20120152576A1 · Bassinger et al. · 2012 [cited by applicant]
US 20120162234A1 · Blinzer et al. · 2012 [cited by applicant]
US 20130173662A1 · Kaplinger et al. · 2013 [cited by applicant]
US 20140143778A1 · Gopal et al. · 2014 [cited by applicant]
US 20140310332A1 · Huang et al. · 2014 [cited by applicant]
US 20150319246A1 · Ishizaka · 2015 [cited by applicant]
US 20160012128A1 · Siebler et al. · 2016 [cited by applicant]
US 20160054931A1 · Romanovsky et al. · 2016 [cited by applicant]
US 20160328344A1 · Jose et al. · 2016 [cited by applicant]
US 20170249088A1 · Thomas · 2017 [cited by applicant]
US 20180063145A1 · Cayton et al. · 2018 [cited by applicant]
US 20180352038A1 · Sathyanarayana et al. · 2018 [cited by applicant]
US 20190037280A1 · Yang · 2019 [cited by examiner]
US 20190349281A1 · Oztaskent et al. · 2019 [cited by applicant]
US 20200012439A1 · Khan et al. · 2020 [cited by applicant]
US 20200050480A1 · Cao et al. · 2020 [cited by applicant]
US 20200057578A1 · Benisty et al. · 2020 [cited by applicant]
US 20200081640A1 · Enz et al. · 2020 [cited by applicant]
US 20200117517A1 · Costa · 2020 [cited by examiner]
US 20200167098A1 · Shah et al. · 2020 [cited by applicant]
US 20200183582A1 · Kachare et al. · 2020 [cited by applicant]
US 20200192592A1 · Song et al. · 2020 [cited by applicant]
US 20200201575A1 · Mizrahi · 2020 [cited by applicant]
US 20200301898A1 · Samynathan et al. · 2020 [cited by applicant]
US 20200310694A1 · Gao et al. · 2020 [cited by applicant]
US 20200379781A1 · Rachapudi et al. · 2020 [cited by applicant]
US 20210026560A1 · Pillai et al. · 2021 [cited by applicant]
US 20210247922A1 · Song et al. · 2021 [cited by applicant]
US 20210303159A1 · Ke · 2021 [cited by applicant]
US 20210377117A1 · Kanevsky et al. · 2021 [cited by applicant]
US 20220058137A1 · Xu et al. · 2022 [cited by applicant]
US 20220188028A1 · Mesnier et al. · 2022 [cited by applicant]
US 20220236911A1 · Jones · 2022 [cited by examiner]
US 20220295255A1 · Karampatsis · 2022 [cited by examiner]
US 20230244499A1 · Gupta et al. · 2023 [cited by applicant]
CN 102929813B · 2016 [cited by applicant]
CN 109254873A · 2019 [cited by applicant]
EP 3964956A1 · 2022 [cited by applicant]
KR 20120071060A · 2012 [cited by applicant]
KR 20140001970A1 · 2014 [cited by applicant]
KR 20170121661A · 2017 [cited by applicant]
KR 20180106822A · 2018 [cited by applicant]
KR 20200068564A · 2020 [cited by applicant]
TW 200622673A · 2006 [cited by applicant]
TW 201214288A · 2012 [cited by applicant]
TW 202102976A · 2021 [cited by applicant]
WO 2002097610A1 · 2002 [cited by applicant]
Anandan, Sabby et al., “Industry Paper: Spring XD—A Modular Distributed Stream and Batch Processing System,” DEBS '15: Proceedings of the 9th ACM International Conference on Distributed Event-Based Systems, Jun. 2015, p… [cited by applicant]
Carbone, Paris et al., “Apache Flink™: Stream and Batch Processing in a Single Engine,” Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, vol. 36, No. 4, 2015, pp. 28-38. [cited by applicant]
European Extended Search Report for Application No. 21190626.8, mailed Jan. 28, 2022. [cited by applicant]
European Extended Search Report for Application No. 21212137.0, mailed Apr. 28, 2022. [cited by applicant]
Fisher, Mark et al., “Spring XD Guide”, 1.3.3.Build-Snapshot, 2013, 400 pages. [cited by applicant]
NVM Express, Inc., “Nvm Express TM over Fabrics Revision 1.1,” Oct. 22, 2019, pp. 1-83, XP055877791, Retrieved from the Internet: URL:https://nvmexpress.org/wp-content/uploads/NVMe-over-Fabrics-1.1-2019.10.22-Ratified.p… [cited by applicant]
Office Action for U.S. Appl. No. 17/495,810, mailed Oct. 17, 2022. [cited by applicant]
Torabzadehkashi, Mahdi, et al. “Computational Storage: An Efficient and Scalable Platform for Big Data and HPC Applications,” Journal of Big Data, vol. 6, No. 1, 2019, pp. 1-29. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/495,810, mailed Apr. 14, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/359,495, mailed Dec. 7, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/495,810, mailed Oct. 5, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/502,023, mailed Oct. 5, 2023. [cited by applicant]
Bates, Stephen, “Accelerating RocksDB with Eideticom's NoLoad NVMe-based Computational Storage Processor,” Storage Developer Conference 2019, Sep. 2019, retrieved from the Internet: URL:https://www.snia.org/sites/defaul… [cited by applicant]
Chambers, Bill et al., “Spark, The Definitive Guide: Big Data Processing Made Simple”, first 400 pages, Feb. 2018, retrieved from the Internet: URL:https://analyticsdata24.files.wordpress.com/2020/02/spark-the-definitiv… [cited by applicant]
European Summons to Oral Proceedings for Application No. 21190626.8, mailed Feb. 15, 2024. [cited by applicant]
European Summons to Oral Proceedings for Application No. 21190952.8, mailed Jan. 25, 2024. [cited by applicant]
Gounaris, Anastasios et al., “Dynamic Configuration of Partitioning in Spark Applications,” IEEE Transactions on Parallel and Distributed Systems, vol. 28, No. 7, Jul. 2017, [retrieved on Jun. 10, 2017], pp. 1891-1904. [cited by applicant]
Molgaard, Jason, “A Simple Approach to Implementing Computational Storage,” Storage Developer Conference 2019, Sep. 2019, retrieved from the Internet: URL:https://www.snia.org/sites/defaultifiles/SDC/2019/presentations/… [cited by applicant]
Prasaad, Guna et al., “Improving High Contention OLTP Performance via Transaction Scheduling”, arXiv.org, Oct. 2018, retrieved from the Internet: URL:https://arxiv.org/pdf/1810.01997.pdf [retrieved on Jan. 17, 2024], 15… [cited by applicant]
Sabiu, Habib Ado, “Performance Evaluation of Job Scheduling and Resource Allocation in Apache Spark,” Jul. 2018, retrieved from the Internet: URL:https://harvest.usask.ca/server/api/core/bitstreams/9654d97a-5217-486d-b8… [cited by applicant]
Shadley, Scott et al., “What Happens When Compute Meets Storage?,” Sep. 2019, retrieved from the Internet: URL:https://www.snia.org/sites/defaultifiles/SDC/2019/presentations/Computational/Shadley_Scott_Adams_Nick_What_… [cited by applicant]
Sniavideo: “What Happens when Compute Meets Storage (SDC 2019),” Oct. 2019, retrieved from the Internet: URL:https://www.youtube.com/watch?=45nhck3tN4U [retrieved on Feb. 8, 2024], 2 pages. [cited by applicant]
Tang, Shanjiang et al., “A Survey on Spark Ecosystem for Big Data Processing,” arxiv.org, Nov. 2018, 21 pages. [cited by applicant]
Wikipedia, “Message Broker,” Jul. 2020, retrieved from the Internet: URL:https://en.wikipedia.org/w/index.php?title=Message_broker&0ldid=966520924 [retrieved on Jan. 18, 2024], 3 pages. [cited by applicant]
Castellani, Angelo p et al., “WebIoT: A Web Application Framework for the Internet of Things,” WCNC 2012 Workshop on Internet of Things Enabling Technologies, Embracing Machine-to-Machine Communications and Beyond, 2012… [cited by applicant]
European Office Action for Application No. 22174076.4, mailed Jul. 8, 2024. [cited by applicant]
Kerdoudi, Mohamed Lamine et al., “Recovering Software Architecture Product Lines,” 2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS), 2019, pp. 226-235. [cited by applicant]
European Office Action for Application No. 21190952.8, mailed Oct. 18, 2024. [cited by applicant]
European Office Action for Application No. 21212137.0, mailed Oct. 25, 2024. [cited by applicant]
Li, Yonghui et al., “Architecture and Analysis of a Dynamically-Scheduled Real-Time Memory Controller,” Real-Time Systems, Jul. 2015, vol. 52, pp. 675-729. [cited by applicant]
Li, Yonghui, “Design and Formal Analysis of Real-Time Memory Controllers,” Phd Thesis 1 (Research TU/e / Graduation TU/e), Electrical Engineering, Sep. 2016, 207 pages. [cited by applicant]
Mutlu, Onur et al., “Parallelism—Aware Batch Scheduling: Enhancing both Performance and Fairness of Shared DRAM Systems,” International Symposium on Computer Architecture, ACM SIGARCH Computer Architecture News, 2008, v… [cited by applicant]
Prieto, Pablo et al., “CMP Off-Chip Bandwidth Scheduling Guided by Instruction Criticality,” ICS '13: Proceedings of the 27th International ACM Conference on International Conference on Supercomputing, Jun. 2013, pp. 37… [cited by applicant]
Zhou, Ping et al., “Throughput Enhancement for Phase Change Memories,” IEEE Transactions on Computers, vol. 63, No. 8, Aug. 2014, pp. 2080-2093. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/502,023, mailed Jun. 20, 2024. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/495,810, mailed Aug. 22, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/359,495, mailed Aug. 12, 2024. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/495,810, mailed May 20, 2024. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/495,810, mailed Dec. 11, 2024. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/495,810, mailed Oct. 25, 2024. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/495,810, mailed Oct. 7, 2024. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/502,023, mailed Nov. 26, 2024. [cited by applicant]
Warke, Amit, et al. “Storage Service Orchestration with Container Elasticity,” 2018 IEEE 4th International Conference on Collaboration and Internet Computing (CIC), IEEE, 2018, pp. 283-292. [cited by applicant]
Notice of Allowability for U.S. Appl. No. 17/502,023, mailed Feb. 4, 2025. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/359,495, mailed Mar. 10, 2025. [cited by applicant]
European Summons to Oral Proceedings for Application No. 21190952.8, mailed Mar. 26, 2025. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/502,023, mailed Jun. 30, 2025. [cited by applicant]