IP Library › Granted Patent US 12,704,960
Granted Patent B2
US 12,704,960 · 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 12,704,960
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.

Continuity (4)
Continuation 17898474 · Aug 29, 2022
Continuation 17120098 · Dec 11, 2020
Provisional Application 63079462 · Sep 16, 2020
Related Publication 20250224868A1 · Jul 10, 2025
References Cited (28)
US 10185512B2 · Hashimoto et al. · 2019 [cited by applicant]
US 10430102B2 · Kaczmarczyk et al. · 2019 [cited by applicant]
US 10509600B2 · Schauer et al. · 2019 [cited by applicant]
US 10572153B2 · Singhai et al. · 2020 [cited by applicant]
US 10754574B1 · Jo · 2020 [cited by examiner]
US 20070172134A1 · Namera · 2007 [cited by examiner]
US 20120159098A1 · Cheung et al. · 2012 [cited by applicant]
US 20150178013A1 · Rostoker · 2015 [cited by examiner]
US 20150242122A1 · Yeh et al. · 2015 [cited by applicant]
US 20160283125A1 · Hashimoto et al. · 2016 [cited by applicant]
US 20160313943A1 · Hashimoto · 2016 [cited by examiner]
US 20180373808A1 · Gopal · 2018 [cited by examiner]
US 20190373283A1 · Lindberg et al. · 2019 [cited by applicant]
US 20200159445A1 · Kachare et al. · 2020 [cited by applicant]
US 20200162356A1 · Momchilov et al. · 2020 [cited by applicant]
US 20200310694A1 · Gao et al. · 2020 [cited by applicant]
US 20200344666A1 · Wang et al. · 2020 [cited by applicant]
US 20200357483A1 · Roquet · 2020 [cited by examiner]
US 20210114616A1 · Altman · 2021 [cited by examiner]
US 20210133029A1 · Dong · 2021 [cited by examiner]
Bhimani, Janki, et al., “Enhancing SSDs with Multi-Stream: What? Why? How?,” 2017 IEEE 36th International Performance Computing and Communications Conference (IPCCC), San Diego, CA, 2017, pp. 1-2, doi: 10.1109/PCCC.2017… [cited by applicant]
Final Office Action for U.S. Appl. No. 17/898,474, mailed Oct. 26, 2023. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/120,098, mailed Apr. 26, 2022. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/898,474, mailed Nov. 20, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/120,098, mailed Sep. 28, 2021. [cited by applicant]
Office Action for U.S. Appl. No. 17/898,474, mailed Mar. 14, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 17/898,474, mailed Mar. 23, 2023. [cited by applicant]
Yong, Hwanjin, et al., “vStream: Virtual Stream Management for Multi-streamed SSDs,” 10th {USENIX} Workshop on Hot Topics in Storage and File Systems (HotStorage 18), 2018, 6 pages. [cited by applicant]