IP Library › Granted Patent US 12,260,084
Granted Patent B2
US 12,260,084 · App. 17/898,474 · Granted Mar 25, 2025

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,260,084
App. No.
17/898,474
Granted
Mar 25, 2025
Kind
B2
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 (45)

1. A storage device, comprising:

storage for data;

a first circuit to receive a dataset from a host; and

a second circuit to assign an attribute to a transformed dataset based at least in part on a transformation characteristic of the transformed dataset;

a controller to store the transformed dataset in the storage device based at least in part on the attribute,

wherein the transformed dataset is determined based on the dataset, and

wherein the storage device is configured to store the transformed dataset in a block in the storage based at least in part on the attribute.

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 generate the transformed dataset from the 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 second circuit is configured to assign the attribute to the transformed dataset based at least in part on the transformation characteristic of the transformed dataset and a host assigned property, wherein the host assigned property is different from the transformation characteristic.

7. The storage device according to claim 6 , wherein the host assigned property is drawn from a set including a logical address, a key, a host attribute, and an interface between the host and the storage device in the first circuit.

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

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

10. The storage device according to claim 1 , wherein the attribute is one of at least two attributes.

11. The storage device according to claim 10 , wherein the attribute includes a stream identifier (ID).

12. A method, comprising:

receiving a dataset at a storage device from a host;

determining a transformation characteristic for a transformed dataset; and

determining an attribute on the storage device based at least in part on the transformation characteristic;

storing the transformed dataset in a storage in the storage device based at least in part on the attribute,

wherein the transformed dataset is associated with the dataset.

13. The method according to claim 12 , wherein:

storing the transformed dataset in the storage in the storage device based at least in part on the attribute includes storing the transformed dataset at a physical address in the storage in the storage device based at least in part on the attribute; 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 in a circuit.

14. The method according to claim 12 , wherein determining a transformation characteristic for a transformed dataset includes transforming the dataset to generate the transformed dataset.

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

16. The method according to claim 12 , wherein determining the attribute based at least in part on the transformation characteristic includes determining the attribute based at least in part on the transformation characteristic and a host assigned property, wherein the host assigned property is different from the transformation characteristic.

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 key, a host attribute, and an interface between the host and the storage device.

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

19. The method according to claim 12 , wherein the attribute is one of at least two attributes.

20. 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; and

determining an attribute on the storage device 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 attribute,

wherein the transformed dataset is associated with the dataset.

21. The article according to claim 20 , wherein:

storing the transformed dataset in the storage in the storage device based at least in part on the attribute includes storing the transformed dataset at a physical address in the storage in the storage device based at least in part on the attribute; 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 in a circuit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2023
From: YANG, JINGPEI; YANG, JING; PITCHUMANI, REKHA
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064797/0498 →
Continuity (3)
Continuation 17120098 · Dec 11, 2020
Provisional Application 63079462 · Sep 16, 2020
Related Publication 20220413707A1 · Dec 29, 2022
References Cited (24)
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]
Notice of Allowance for U.S. Appl. No. 17/120,098, mailed Apr. 26, 2022. [cited by applicant]
Office Action for U.S. Appl. No. 17/120,098, mailed Sep. 28, 2021. [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]