Systems, methods, and apparatus for data resizing for computational storage
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.
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.