IP Library Granted Patent US 12,737,113
Granted Patent B2
US 12,737,113 · App. 17/591,597 · Granted Sep 15, 2026

Systems, methods, and apparatus for data resizing for computational storage

Inventors: Yang Seok Ki (Palo Alto, CA); Sungwook Ryu (Palo Alto, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0608G06F3/0655G06F3/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,737,113
App. No.
17/591,597
Granted
Sep 15, 2026
Kind
B2
Abstract

A method for computational storage may include storing, at a storage device, a first portion of data, wherein the first portion of data may include a first fragment of a record, and a second portion of data may include a second fragment of the record, and appending the second fragment of the record to the first portion of data. The method may further include performing, at the storage device, an operation on the first and second fragments of the record. The method may further include determining that the first portion of data may include a first fragment of a record, and a second portion of data may include a second fragment of the record, wherein appending the second fragment of the record to the first portion of data may include appending, based on the determining, the second fragment of the record to the first portion of data.

Claims (47)

1 . A method for computational storage, the method comprising:

reading, from a first storage medium at a first storage drive, a first portion of data, wherein the first portion of data comprises a first fragment of a record;

reading, from a second storage medium at a second storage drive, a second fragment of the record;

sending, from the second storage drive to the first storage drive, the second fragment of the record; and

appending, in response to the sending, at the first storage drive, the second fragment of the record to the first portion of data to reconstruct the record.

2 . The method of claim 1 , further comprising performing, at the first storage drive, an operation on the record.

3 . The method of claim 2 , wherein the operation comprises a data selection operation.

4 . The method of claim 3 , further comprising sending a result of the data selection operation from the first storage drive.

5 . The method of claim 1 , further comprising:

determining that the first portion of data comprises the first fragment of the record, and the second portion of data comprises the second fragment of the record;

wherein the appending the second fragment of the record to the first portion of data comprises combining, based on the determining, the second fragment of the record and the first portion of data.

6 . The method of claim 1 , wherein the reading the second portion of data from the second storage drive comprises modifying the record.

7 . The method of claim 6 , wherein the modifying the record comprises truncating the second fragment of the record.

8 . The method of claim 1 , further comprising sending a notification to a host based on the appending.

9 . The method of claim 1 , wherein the reading the first portion of data, the reading the second portion of data, the sending the second fragment of the record, and the appending the second fragment of the record to the first portion of data are performed in response to receiving a request from a user to retrieve at least a portion of the record.

10 . The method of claim 9 , wherein the request from the user to retrieve the at least a portion of the record is received at the first storage drive.

11 . The method of claim 1 , further comprising:

storing, in the first storage medium at the first storage drive, the first fragment of the record before appending the second fragment of the record to the first portion of data; and

storing, in the second storage medium at the second storage drive, the second fragment of the record before appending the second fragment of the record to the first portion of data.

12 . An apparatus comprising:

a storage drive comprising:

a storage medium;

a storage drive controller configured to:

receive a request to read a record from the storage medium;

read, in response to the request, from the storage medium, a first portion of data, wherein the first portion of data comprises a first fragment of the record; and

receive, in response to the request, a second fragment of the record; and

at least one circuit configured to append, in response to the receiving the second fragment of the record, the the second fragment of the record to the first portion of data to reconstruct the record.

13 . The apparatus of claim 12 , further comprising a processing element configured to perform an operation on the record.

14 . The apparatus of claim 12 , wherein the storage drive controller is configured to receive the second fragment of the record from a second storage device.

15 . The apparatus of claim 12 , wherein the at least one circuit is further configured to:

perform an operation on the record;

generate a result based on the operation; and

send a notification based on the result.

16 . The apparatus of claim 14 , wherein the at least one circuit is configured to perform a determination that the second fragment of the record is located at the second storage drive.

17 . The apparatus of claim 16 , wherein the at least one circuit is configured to request the second fragment of the record based on the determination.

18 . A system comprising:

a first storage drive comprising a storage medium;

a second storage drive; and

at least one circuit configured to:

store, at the first storage drive, a first portion of data, wherein the first portion of data comprises a first fragment of a record;

receive a request to retrieve at least a portion of the record;

read, in response to the request to retrieve the at least a portion of the record, the first portion of data from the storage medium at the first storage drive;

determine that a second fragment of the record is at the second storage drive;

send, to the second storage drive, in response to the request to read the record, a request to send the second fragment of the record from the second storage drive to the first storage drive;

receive, from the second storage drive, the second fragment of the record; and

append, in response to the receiving the second fragment of the record, the second fragment of the record to the first portion of data to reconstruct the record.

19 . The system of claim 18 , wherein the at least one circuit is configured to select, in response to the request to retrieve the at least a portion of the record, the at least a portion of the record.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2023
From: KI, YANG SEOK; RYU, SUNGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064628/0027 →
Continuity (4)
Provisional Application 63231711 · Aug 10, 2021
Provisional Application 63231709 · Aug 10, 2021
Provisional Application 63231718 · Aug 10, 2021
Related Publication 20230046030A1 · Feb 16, 2023
References Cited (172)
US 5396595A · Standley · 1995 [cited by applicant]
US 6351776B1 · O'Brien et al. · 2002 [cited by applicant]
US 6938204B1 · Hind et al. · 2005 [cited by applicant]
US 7065618B1 · Ghemawat et al. · 2006 [cited by applicant]
US 7315923B2 · Retnamma et al. · 2008 [cited by applicant]
US 7447865B2 · Uppala · 2008 [cited by applicant]
US 7464247B2 · Uppala · 2008 [cited by applicant]
US 7571346B2 · Illowsky et al. · 2009 [cited by applicant]
US 7587569B2 · Uppala · 2009 [cited by applicant]
US 7640363B2 · Teodosiu et al. · 2009 [cited by applicant]
US 7681240B2 · Maheshwari et al. · 2010 [cited by applicant]
US 7716180B2 · Vermeulen et al. · 2010 [cited by applicant]
US 7921087B2 · Uppala · 2011 [cited by applicant]
US 8028106B2 · Bondurant et al. · 2011 [cited by applicant]
US 8195978B2 · Flynn et al. · 2012 [cited by applicant]
US 8214517B2 · Dubnicki et al. · 2012 [cited by applicant]
US 8380681B2 · Oltean et al. · 2013 [cited by applicant]
US 8468345B2 · Auradkar et al. · 2013 [cited by applicant]
US 8509315B1 · Petranovich · 2013 [cited by applicant]
US 8533231B2 · Aizman et al. · 2013 [cited by applicant]
US 8645335B2 · Gupta et al. · 2014 [cited by applicant]
US 8689279B2 · Basmov et al. · 2014 [cited by applicant]
US 8712978B1 · Shilane et al. · 2014 [cited by applicant]
US 8762743B2 · Cannon et al. · 2014 [cited by applicant]
US 8799238B2 · Eshghi et al. · 2014 [cited by applicant]
US 8799746B2 · Baker et al. · 2014 [cited by applicant]
US 8832043B2 · Koifman et al. · 2014 [cited by applicant]
US 8838541B2 · Camble et al. · 2014 [cited by applicant]
US 8886914B2 · Huang · 2014 [cited by applicant]
US 8909657B2 · Mensch et al. · 2014 [cited by applicant]
US 8954654B2 · Yu et al. · 2015 [cited by applicant]
US 8972672B1 · Wallace et al. · 2015 [cited by applicant]
US 9002907B2 · Martin et al. · 2015 [cited by applicant]
US 9110936B2 · Li et al. · 2015 [cited by applicant]
US 9165154B2 · Auradkar et al. · 2015 [cited by applicant]
US 9195851B1 · Chandra · 2015 [cited by applicant]
US 9201800B2 · Bolla et al. · 2015 [cited by applicant]
US 9253166B2 · Gauda · 2016 [cited by applicant]
US 9298951B2 · Barney et al. · 2016 [cited by applicant]
US 9400610B1 · Wallace et al. · 2016 [cited by applicant]
US 9426219B1 · Keyser · 2016 [cited by applicant]
US 9537650B2 · Auradkar et al. · 2017 [cited by applicant]
US 9823981B2 · Kalach et al. · 2017 [cited by applicant]
US 10187358B2 · Fahey et al. · 2019 [cited by applicant]
US 10296494B2 · Davis et al. · 2019 [cited by applicant]
US 10310765B1 · Laurence · 2019 [cited by examiner]
US 10318389B2 · Arslan et al. · 2019 [cited by applicant]
US 10346066B2 · Danilov · 2019 [cited by examiner]
US 10348693B2 · Auradkar et al. · 2019 [cited by applicant]
US 10387673B2 · Surla et al. · 2019 [cited by applicant]
US 10394757B2 · Cheung et al. · 2019 [cited by applicant]
US 10552062B2 · Ki · 2020 [cited by applicant]
US 10572161B2 · Subramanian et al. · 2020 [cited by applicant]
US 10608784B2 · Yanovsky et al. · 2020 [cited by applicant]
US 10664165B1 · Faibish et al. · 2020 [cited by applicant]
US 10776321B1 · Balcha et al. · 2020 [cited by applicant]
US 10809945B2 · Patwardhan et al. · 2020 [cited by applicant]
US 10838990B1 · Shilane et al. · 2020 [cited by applicant]
US 10852989B1 · Patel et al. · 2020 [cited by applicant]
US 10949303B2 · Kohli · 2021 [cited by applicant]
US 10977136B2 · Patel et al. · 2021 [cited by applicant]
US 11017127B2 · Secatch et al. · 2021 [cited by applicant]
US 11023318B1 · Volkov et al. · 2021 [cited by applicant]
US 11093277B2 · Sankaran et al. · 2021 [cited by applicant]
US 11177012B1 · Avraham · 2021 [cited by examiner]
US 12106455B2 · Chiyoda et al. · 2024 [cited by applicant]
US 20030088783A1 · DiPierro · 2003 [cited by applicant]
US 20040049700A1 · Yoshida · 2004 [cited by applicant]
US 20060020605A1 · Chan et al. · 2006 [cited by applicant]
US 20060182274A1 · Nicolai et al. · 2006 [cited by applicant]
US 20090132760A1 · Flynn et al. · 2009 [cited by applicant]
US 20120089775A1 · Ranade et al. · 2012 [cited by applicant]
US 20120159098A1 · Cheung et al. · 2012 [cited by applicant]
US 20120198275A1 · Koifman et al. · 2012 [cited by applicant]
US 20120254689A1 · Resch · 2012 [cited by examiner]
US 20140250119A1 · Bhattiprolu et al. · 2014 [cited by applicant]
US 20140281146A1 · Horn · 2014 [cited by applicant]
US 20150012709A1 · Lad et al. · 2015 [cited by applicant]
US 20150378616A1 · Khadiwala et al. · 2015 [cited by applicant]
US 20150379072A1 · Dirac et al. · 2015 [cited by applicant]
US 20150379425A1 · Dirac et al. · 2015 [cited by applicant]
US 20170185625A1 · Cheru et al. · 2017 [cited by applicant]
US 20180024746A1 · Jagadeesh et al. · 2018 [cited by applicant]
US 20180026655A1 · Gopal et al. · 2018 [cited by applicant]
US 20180152733A1 · Karaje et al. · 2018 [cited by applicant]
US 20180267856A1 · Hayasaka et al. · 2018 [cited by applicant]
US 20180285014A1 · Li et al. · 2018 [cited by applicant]
US 20180314710A1 · Peloski · 2018 [cited by applicant]
US 20180365102A1 · Li et al. · 2018 [cited by applicant]
US 20190005262A1 · Surla et al. · 2019 [cited by applicant]
US 20190007493A1 · Gray et al. · 2019 [cited by applicant]
US 20190196907A1 · Khan et al. · 2019 [cited by applicant]
US 20200042500A1 · Li et al. · 2020 [cited by applicant]
US 20200117362A1 · McCarthy et al. · 2020 [cited by applicant]
US 20200117518A1 · Costa · 2020 [cited by examiner]
US 20200134049A1 · Bassov et al. · 2020 [cited by applicant]
US 20200162101A1 · Beckman et al. · 2020 [cited by applicant]
US 20200201789A1 · Durham et al. · 2020 [cited by applicant]
US 20200241960A1 · Yanovsky et al. · 2020 [cited by applicant]
US 20200274855A1 · Xin · 2020 [cited by applicant]
US 20200296100A1 · Prahlad et al. · 2020 [cited by applicant]
US 20200341690A1 · Saad et al. · 2020 [cited by applicant]
US 20200372163A1 · Chung · 2020 [cited by applicant]
US 20210004166A1 · Luo et al. · 2021 [cited by applicant]
US 20210011799A1 · Chen · 2021 [cited by examiner]
US 20210019067A1 · Miller et al. · 2021 [cited by applicant]
US 20210064477A1 · Patel et al. · 2021 [cited by applicant]
US 20210064582A1 · Wang et al. · 2021 [cited by applicant]
US 20210072899A1 · Furuta et al. · 2021 [cited by applicant]
US 20210096962A1 · Yang et al. · 2021 [cited by applicant]
US 20210200469A1 · Kim et al. · 2021 [cited by applicant]
US 20210232310A1 · Pitchumani et al. · 2021 [cited by applicant]
US 20220188028A1 · Mesnier · 2022 [cited by examiner]
US 20220276785A1 · Deguchi et al. · 2022 [cited by applicant]
US 20230011742A1 · Merritt · 2023 [cited by applicant]
CN 105242879A · 2016 [cited by applicant]
CN 112506568A · 2021 [cited by applicant]
KR 20200055636A · 2020 [cited by applicant]
TW 200601030A · 2006 [cited by applicant]
TW 200601043A · 2006 [cited by applicant]
TW 201520793A · 2015 [cited by applicant]
TW 201821968A · 2018 [cited by applicant]
TW 202030621A · 2020 [cited by applicant]
WO 2013136584A1 · 2013 [cited by applicant]
WO 2020186081A1 · 2020 [cited by applicant]
WO 2020189081A1 · 2020 [cited by applicant]
Adams, Ian F. et al., “Respecting the Block Interface-Computational Storage Using Virtual Objects,” USENIX Association, 11th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 19), (https://www.usenix… [cited by applicant]
Chen, Shengbo, et al., “When Queueing Meets Coding: Optimal-Latency Data Retrieving Scheme in Storage Clouds”, IEEE Infocom 2014—IEEE Conference on Computer Communications, 2014, pp. 1042-1050. [cited by applicant]
European Extended Search Report for Application No. 22186187.5, mailed Dec. 15, 2022. [cited by applicant]
European Extended Search Report for Application No. 22187681.6, mailed Dec. 19, 2022. [cited by applicant]
European Extended Search Report for Application No. 22187683.2, mailed Dec. 19, 2022. [cited by applicant]
European Extended Search Report for Application No. 22189731.7, mailed Jan. 3, 2023. [cited by applicant]
Liang, Guanfeng et al., “Fast Cloud: Pushing the Envelope on Delay Performance of Cloud Storage With Coding” IEEE/ACM Transactions on Networking, vol. 22, No. 6, 2014, pp. 2012-2025. [cited by applicant]
Liang, Guanfeng et al., “TOFEC: Achieving Optimal Throughput-Delay Trade-Off of Cloud Storage Using Erasure Codes”, IEEE Infocom 2014—IEEE Conference on Computer Communications, 2014, pp. 826-834. [cited by applicant]
Mukhopadhyay, Sinjoni et al., “Efficient Reconstruction Techniques for Disaster Recovery in Secret-Split Datastores”, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecomm… [cited by applicant]
Pritchard, Stephen, “Computational Storage: What is it and What are Its Key Use Cases?”, (https://www.computerweekly.com/feature/Computational-storage-What-is-it-and-what-are-its-key-use-cases), 2020, retrieved 2022, 7 … [cited by applicant]
Wikipedia, “Block Cipher”, (https://en.wikipedia.org/w/index.php?title=Block_ciphe%20&oldid=1036074863), retrieved 2022, 17 pages. [cited by applicant]
Wikipedia, “Data Deduplication”, (https:/en.wikipedia.org/w/index.php?title=Data_deduplication&oldid=1025113325), retrieved 2022, 7 pages. [cited by applicant]
Wu, Xingbo, “Supporting Efficient Large-Scale Key-Value Systems with an Optimized Storage Hierarchy”, Dissertation, The University of Texas at Arlington, 2018, 123 pages. [cited by applicant]
Zhang, Xingyu et al., “Data Deduplication Cluster Based on Similarity-Locality Approach”, 2013 IEEE International Conference on Green Computing and Communications and IEEE Internet of Things and IEEE Cyber, Physical and… [cited by applicant]
Zuo, Chunxue et al., “PFCG: Improving the Restore Performance of Package Datasets in Deduplication Systems”, 2018 IEEE 36th International Conference on Computer Design (ICCD), 2018, pp. 553-560. [cited by applicant]
Zuo, Chunxue et al., “RepEC-Duet: Ensure High Reliability and Performance for Deduplicated and Delta-Compressed Storage Systems”, 2019 IEEE 37th International Conference on Computer Design (ICCD), 2019, pp. 190-198. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/572,621, mailed Oct. 10, 2023. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/666,548, mailed Dec. 19, 2023. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/677,989, mailed Sep. 20, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/677,991, mailed Sep. 27, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/572,621, mailed May 4, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/666,548, mailed Jul. 19, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/677,989, mailed May 9, 2023. [cited by applicant]
Anisimov, Anatoly V. et al., “Variable-Length Prefix Codes With Multiple Delimiters,” IEEE Transactions on Information Theory, vol. 63, No. 5, May 2017, pp. 2885-2895. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/677,991, mailed Apr. 10, 2024. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/677,991, mailed Mar. 5, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/677,989, mailed Jan. 26, 2024. [cited by applicant]
Advisory Action for U.S. Appl. No. 17/572,621, mailed Dec. 28, 2023. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/677,991, mailed May 8, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/666,548, mailed May 17, 2024. [cited by applicant]
European Office Action for Application No. 22189257.3, mailed Sep. 25, 2024. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/677,991, mailed Jun. 13, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/572,621, mailed Jun. 12, 2024. [cited by applicant]
Corrected Notice of Allowability for U.S. Appl. No. 17/677,991, mailed Jul. 22, 2024. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/677,989, mailed Sep. 5, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/572,621, mailed Aug. 6, 2025. [cited by applicant]
European Office Action for Application No. 22186187.5, mailed Sep. 12, 2025. [cited by applicant]
European Office Action for Application No. 22187683.2, mailed Sep. 12, 2025. [cited by applicant]
Gluster, “Deduplication Part 1: Rabin Karp for Variable Chunking,” The Gluster Blog, XP093308939, retrieved from the Internet: URL:https://www.gluster.org/deduplication-part-1-rabin-karp-for-variablechunking/, Apr. 2016… [cited by applicant]
Wikipedia, “Peer-to-Peer,” , XP093311001, retrieved from the Internet: URL:https://en.wikipedia.org/w/index.php? title=Peer-topeer&oldid=1033755835, Jul. 2021, 17 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/666,548, mailed Apr. 8, 2025. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/677,989, mailed Apr. 23, 2025. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/572,621, mailed Oct. 31, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/677,989, mailed Dec. 31, 2024. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/572,621, mailed Mar. 10, 2026. [cited by applicant]
Office Action for U.S. Appl. No. 19/281,637, mailed Jun. 26, 2026. [cited by applicant]