IP Library Granted Patent US 12704960
Granted Patent B2
US 12704960 · App. 19/088,984 · Granted Aug 11, 2026

Automatic data separation and placement for compressed data in a storage device

Inventors: Jingpei Yang (San Jose, CA); Jing Yang (San Jose, CA); Rekha Pitchumani (Oak Hill, VA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0608G06F3/0635G06F3/0655G06F12/06G06F16/1744
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 12704960
App. No.
19/088,984
Filed
Mar 24, 2025
Granted
Aug 11, 2026
Kind
B2
Art Unit
2135
USPC
711/154
Abstract

A storage device is disclosed. The storage device may include storage for data. A host interface logic may receive a dataset and a logical address from a host. A stream assignment logic may assign a stream identifier (ID) to a compressed dataset based on a compression characteristic of the compressed dataset. The stream ID may be one of at least two stream IDs; the compressed dataset may be determined based on the dataset. A logical-to-physical translation layer may map the logical address to a physical address in the storage. A controller may store the compressed dataset at the physical address using the stream ID.

Claims (40)

1 . A storage device, comprising:

storage for data;

a first circuit to receive a dataset from a host;

a second circuit to assign an identifier to a transformed dataset based on a transformation characteristic of the transformed dataset; and

a controller to store the transformed dataset in a block based at least in part on the assigned identifier.

2 . The storage device according to claim 1 , wherein the dataset includes the transformed dataset.

3 . The storage device according to claim 2 , wherein the first circuit is configured to further receive the transformation characteristic from the host.

4 . The storage device according to claim 1 , further comprising a third circuit to transform the dataset to generate the transformed dataset.

5 . The storage device according to claim 4 , wherein the third circuit is configured to generate the transformation characteristic.

6 . The storage device according to claim 1 , wherein the identifier is drawn from a set including a stream identifier, a placement identifier, or namespace identifier.

7 . The storage device according to claim 1 , wherein the second circuit is configured to assign the identifier to the transformed dataset based on the transformation characteristic of the transformed dataset and a host assigned property.

8 . The storage device according to claim 7 , wherein the host assigned property is drawn from a set including a logical address, a logical block address (LBA), a key, a host identifier, a host stream identifier, and an interface between the host and the storage device in the first circuit.

9 . The storage device according to claim 1 , wherein the transformed dataset is stored in a single block associated with the identifier in the storage.

10 . The storage device according to claim 9 , wherein the single block includes a second transformed dataset.

11 . A method, comprising:

receiving a dataset at a storage device from a host;

determining a transformation characteristic for a transformed dataset;

assigning an identifier based at least in part on the transformation characteristic; and

storing the transformed dataset in a storage in the storage device based at least in part on the identifier.

12 . The method according to claim 11 , wherein:

storing the transformed dataset in the storage in the storage device based at least in part on the identifier includes storing the transformed dataset at a physical address in the storage in the storage device based at least in part on the identifier; and

the method further comprises:

receiving a logical address for the dataset at the storage device from the host; and

mapping the logical address to the physical address.

13 . The method according to claim 11 , further comprising transforming the dataset to generate the transformed dataset.

14 . The method according to claim 11 , wherein transforming the dataset to generate the transformed dataset includes generating the transformation characteristic.

15 . The method according to claim 11 , wherein the identifier is drawn from a set including a stream identifier, a placement identifier, or namespace identifier.

16 . The method according to claim 11 , wherein assigning the identifier based at least in part on the transformation characteristic includes assigning the identifier based at least in part on the transformation characteristic and a host assigned property.

17 . The method according to claim 16 , wherein the host assigned property is drawn from a set including a logical address for the dataset, a logical block address (LBA), a key, a host identifier, a host stream identifier, and an interface between the host and the storage device.

18 . The method according to claim 11 , wherein storing the transformed dataset in the storage in the storage device based at least in part on the identifier includes storing the transformed dataset in a single block in the storage in the storage device, the single block associated with the identifier.

19 . An article, comprising a non-transitory storage medium, the non-transitory storage medium having stored thereon instructions that, when executed by a machine, result in:

receiving a dataset at a storage device from a host;

determining a transformation characteristic for a transformed dataset;

assigning an identifier based at least in part on the transformation characteristic; and

storing the transformed dataset in a storage in the storage device based at least in part on the identifier.

20 . The article according to claim 19 , wherein:

storing the transformed dataset in the storage in the storage device based at least in part on the identifier includes storing the transformed dataset at a physical address in the storage in the storage device based at least in part on the identifier; and

non-transitory storage medium having stored thereon instructions that, when executed by a machine, result in:

receiving a logical address for the dataset at the storage device from the host; and

mapping the logical address to the physical address.