IP Library › Granted Patent US 12,566,692
Granted Patent B2
US 12,566,692 · App. 18/640,166 · Granted Mar 3, 2026

Data storage device and method for data processing optimization for computational storage

Inventors: Judah Gamliel Hahn (Ofra, IL); Ariel Navon (Revava, IL); Alexander Bazarsky (Holon, IL); Shay Benisty (Beer Sheva, IL)
Assignee: Sandisk Technologies, Inc.
G06F12/023
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,566,692
App. No.
18/640,166
Granted
Mar 3, 2026
Kind
B2
Abstract

A data storage device and method for data processing optimization for computational storage are disclosed. In one embodiment, a data storage device is provided comprising a memory and one or more processors. The one or more processors, individually or in combination, are configured to: receive data to be written in a data structure; analyze the data for a predetermined pattern; write the data in a plurality of storage locations in the memory; and write, in the memory, information about which storage locations store the predetermined pattern. Other embodiments are disclosed.

Claims (67)

1 . A data storage device comprising:

a memory;

a first buffer configured for use in a read operation; and

a second buffer configured for use in a computational-read-with-replacement operation; and

one or more processors, individually or in combination, configured to:

receive data to be written in a data structure;

analyze the data for a predetermined pattern;

write the data in a plurality of storage locations in the memory;

write, in the memory, information about which storage locations store the predetermined pattern;

in response to receiving a read command from a host to read the data structure:

read, from the memory, the data from the data structure but not the information about which storage locations store the predetermined pattern; and

store the read data in the first buffer; and

in response to receiving a computational-read-with-replacement command from the host to read the data structure:

read, from the memory, both the data from the data structure and the information about which storage locations store the predetermined pattern;

store, in the second buffer, the read data and the information about which storage locations store the predetermined pattern; and

use the information about which storage locations store the predetermined pattern to perform on-the-fly replacement of the predetermined pattern with a replacement pattern.

2 . The data storage device of claim 1 , wherein:

the one or more processors, individually or in combination, are further configured to:

in response to receiving the read command from the host to read the data structure, provide the data to the host without replacing the predetermined pattern with the replacement pattern.

3 . The data storage device of claim 1 , wherein the predetermined pattern comprises a “not a number (NaN)” character and the replacement pattern comprises a number.

4 . The data storage device of claim 1 , wherein the predetermined pattern comprises a specific character.

5 . The data storage device of claim 1 , wherein the predetermined pattern comprises a regular expression.

6 . The data storage device of claim 1 , wherein the predetermined pattern comprises a predefined bit sequence.

7 . The data storage device of claim 1 , wherein the information about which storage locations store the predetermined pattern is stored in a page-plus-offset format.

8 . The data storage device of claim 1 , wherein the information about which storage locations store the predetermined pattern is stored in a compressed format.

9 . The data storage device of claim 1 , wherein the predetermined pattern is defined by the host.

10 . The data storage device of claim 1 , wherein the predetermined pattern is represented as values of a key value (KV) pair.

11 . The data storage device of claim 1 , wherein the data structure comprises a data base.

12 . The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory.

13 . The data storage device of claim 1 , wherein the replacement pattern is defined by the host.

14 . The data storage device of claim 1 , wherein the granularity of replacement is defined by the host.

15 . A data storage device comprising:

a memory;

a first buffer configured for use in a read operation;

a second buffer configured for use in a computational-read-with-replacement operation; and

means for:

receiving data to be written in a data structure;

analyzing the data for a predetermined pattern;

writing the data in a plurality of storage locations in the memory;

writing, in the memory, information about which storage locations store the predetermined pattern;

in response to receiving a read command from a host to read the data structure:

reading, from the memory, the data from the data structure but not the information about which storage locations store the predetermined pattern; and

storing the read data in the first buffer; and

in response to receiving a computational-read-with-replacement command from the host to read the data structure:

reading, from the memory, both the data from the data structure and the information about which storage locations store the predetermined pattern;

storing, in the second buffer, the read data and the information about which storage locations store the predetermined pattern; and

using the information about which storage locations store the predetermined pattern to perform on-the-fly replacement of the predetermined pattern with a replacement pattern.

16 . A method comprising:

performing in a data storage device comprising a memory, a first buffer configured for use in a read operation, and a second buffer configured for use in a computational-read-with-replacement operation, the method comprising:

receiving data to be written in a data structure;

analyzing the data for a predetermined pattern;

writing the data in a plurality of storage locations in the memory;

writing, in the memory, information about which storage locations store the predetermined pattern;

in response to receiving a read command from a host to read the data structure:

reading, from the memory, the data from the data structure but not the information about which storage locations store the predetermined pattern; and

storing the read data in the first buffer; and

in response to receiving a computational-read-with-replacement command from the host to read the data structure:

reading, from the memory, both the data from the data structure and the information about which storage locations store the predetermined pattern;

storing, in the second buffer, the read data and the information about which storage locations store the predetermined pattern; and

using the information about which storage locations store the predetermined pattern to perform on-the-fly replacement of the predetermined pattern with a replacement pattern.

17 . The method of claim 16 , further comprising:

informing the host that the replacement pattern changed a length of a read payload.

18 . The method of claim 17 , further comprising:

allocating an additional buffer to accommodate the changed length.

19 . The method of claim 17 , further comprising:

reducing whitespace defined in a comma-separated value (CSV) file to accommodate the changed length.

20 . The method of claim 16 , wherein the data structure comprises a data base.

Assignments (4)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2024
From: HAHN, JUDAH GAMLIEL; NAVON, ARIEL; BAZARSKY, ALEXANDER; BENISTY, SHAY
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 067169/0350 →
Continuity (1)
Related Publication 20250328458A1 · Oct 23, 2025
References Cited (28)
US 9753962B2 · Petschulat et al. · 2017 [cited by applicant]
US 10366247B2 · Beecham et al. · 2019 [cited by applicant]
US 10564850B1 · Gud · 2020 [cited by examiner]
US 11611441B2 · Beecham et al. · 2023 [cited by applicant]
US 11775873B2 · Wang et al. · 2023 [cited by applicant]
US 20120303868A1 · Tucek · 2012 [cited by examiner]
US 20140231954A1 · Lue · 2014 [cited by applicant]
US 20150293986A1 · Verge · 2015 [cited by applicant]
US 20160267142A1 · Cafarella · 2016 [cited by examiner]
US 20170076768A1 · Son · 2017 [cited by examiner]
US 20190129834A1 · Purkayastha · 2019 [cited by examiner]
US 20200310986A1 · Kang · 2020 [cited by examiner]
US 20210255786A1 · Mendiola et al. · 2021 [cited by applicant]
US 20210294805A1 · Damodaran et al. · 2021 [cited by applicant]
US 20220197544A1 · Lee · 2022 [cited by examiner]
US 20220261184A1 · Mylavarapu · 2022 [cited by examiner]
US 20220261317A1 · Vijayan · 2022 [cited by applicant]
US 20220309549A1 · Xu et al. · 2022 [cited by applicant]
US 20240005204A1 · Lee · 2024 [cited by examiner]
US 20250184313A1 · Johnson · 2025 [cited by examiner]
Z. Han, G. Qu, D. Burkard and K. Dobbins, “A Memory Access Pattern-Based Program Profiling System for Dynamic Parallelism Prediction,” 2016 IEEE Trustcom/BigDataSE/ISPA, Tianjin, China, 2016, pp. 1448-1454. [cited by examiner]
X. Xu, Z. Cai, J. Liao and Y. Ishiakwa, “Frequent Access Pattern-based Prefetching Inside of Solid-State Drives,” 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 2020, pp. 720-… [cited by examiner]
Emmanuel, T. et al.; “A survey on missing data in machine learning”; downloaded from the Internet on Oct. 1, 2024 at [cited by applicant]
Ma, D. et al.; “Dr. DNA: Combating Silent Data Corruptions in Deep Learning using Distribution of Neuron Activations”; downloaded from the Internet on Oct. 1, 2024 at [cited by applicant]
“Nvm Express® Computational Programs Command Set Specification”; Revision 1.0; downloaded from the Internet on Oct. 1, 2024 at https://nvmexpress.org/wp-content/uploads/NVM-Express-Computational-Programs-Command-Set-Spe… [cited by applicant]
“Nvm Express® Computational Programs Command Set Specification”; Revision 1.0a; downloaded from the Internet on Oct. 1, 2024 at https://nvmexpress.org/wp-content/uploads/NVM-Express-Computational-Programs-Command-Set-Sp… [cited by applicant]
International Search Report mailed Jul. 16, 2025 for International Application No. PCT/US2025/011190. [cited by applicant]
Written Opinion mailed Jul. 16, 2025 for International Application No. PCT/US2025/011190. [cited by applicant]