IP Library Granted Patent US 12,645,396
Granted Patent B2
US 12,645,396 · App. 18/099,246 · Granted Jun 2, 2026

Systems, methods, and apparatus for data placement in a storage device

Inventors: Daniel Lee Helmick (Broomfield, CO); Michael Allison (Denver, CO)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0659G06F3/0619G06F3/0679
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,645,396
App. No.
18/099,246
Granted
Jun 2, 2026
Kind
B2
Abstract

An apparatus may include a storage device that may include at least one storage medium and a controller configured to control the at least one storage medium, wherein the controller may be configured to: receive a write command, wherein the write command may indicate a reclaim unit handle; perform, based on the reclaim unit handle, and based on an operation or condition of the storage device, a selection of a reclaim unit of the at least one storage medium; and store, based on the write command, data to the reclaim unit. The storage medium may include a first reclaim group including the first reclaim unit and a second reclaim group including a second reclaim unit of the at least one storage medium, and the selection of the first reclaim unit may include performing a selection of the first reclaim group.

Claims (48)

1 . An apparatus comprising:

a storage device comprising:

at least one storage medium and a controller configured to control the at least one storage medium;

wherein the controller is configured to:

receive a write command, wherein the write command includes a namespace identifier (ID) and indicates a reclaim unit handle, wherein at least a portion of data on the storage device is managed based on namespace IDs and logical block addresses (LBAs);

translate the namespace ID and the reclaim unit handle to a set of reclaim unit handles of the storage device, the set of reclaim unit handles including at least a first reclaim unit handle indicating a first reclaim unit of the storage device and a second reclaim unit handle indicating a second reclaim unit of the storage device;

perform a selection of the second reclaim unit based on translation of the reclaim unit handle of the write command and a conflict between the first reclaim unit and the write command; and

store data to the second reclaim unit based on the selection of the second reclaim unit.

2 . The apparatus of claim 1 , wherein:

the at least one storage medium comprises a first reclaim group including the first reclaim unit and a second reclaim group including the second reclaim unit; and

the selection of the second reclaim unit comprises performing a selection of the second reclaim group.

3 . The apparatus of claim 2 , wherein:

the selection of the second reclaim unit is based on a namespace; and

the namespace comprises the first reclaim unit and the second reclaim unit.

4 . The apparatus of claim 2 , wherein:

the controller is configured to receive a placement identifier with the write command;

the placement identifier comprises a placement handle; and

the selection of the second reclaim unit is based on the placement handle.

5 . The apparatus of claim 4 , wherein the placement handle corresponds to the second reclaim unit handle.

6 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises at least one of a programming operation of the at least one storage medium, a read operation of the at least one storage medium, or an erase operation of the at least one storage medium.

7 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises a command queuing operation for the at least one storage medium.

8 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises a completion status of a programming operation of the at least one storage medium.

9 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises a write buffering operation for the at least one storage medium.

10 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises an open block operation.

11 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on a condition of the storage device that comprises a wear state of at least a portion of the at least one storage medium.

12 . The apparatus of claim 1 , wherein the controller is configured to determine the conflict between the first reclaim unit and the write command based on a behavior of at least a portion of the at least one storage medium.

13 . The apparatus of claim 1 , wherein the controller is configured to:

receive an indication from a host; and

perform the selection of the reclaim unit based on the indication.

14 . The apparatus of claim 13 , wherein the indication comprises at least one of bandwidth information for the data or quality of service information for the data.

15 . The apparatus of claim 13 , wherein the indication comprises access information for the data.

16 . The apparatus of claim 13 , wherein the indication comprises allocation information for the data.

17 . An apparatus comprising:

at least one processor configured to:

select a reclaim unit of at least one storage medium of a storage device, the reclaim unit selected to store data;

send, to a controller of the storage device, a write command that includes a namespace identifier (ID) and indicates a reclaim unit handle for the reclaim unit of the at least one storage medium, wherein the reclaim unit handle maps, based on the namespace ID, to a set of reclaim unit handles that are selectable by the storage device, the set of reclaim unit handles including at least a first reclaim unit handle indicating a first reclaim unit of a first reclaim group of the storage device and a second reclaim unit handle indicating a second reclaim unit of a second reclaim group of the storage device, and wherein at least a portion of data on the storage device is managed based on namespace IDs and logical block addresses (LBAs); and

send an indication about the data to store based on the write command, the data being stored at the second reclaim unit based on a conflict between the first reclaim unit and the write command.

18 . The apparatus of claim 17 , wherein the indication comprises one or more of bandwidth information for the data, quality of service information for the data, access information about the data, or allocation information about the data.

19 . A storage device comprising:

at least one storage medium; and

a controller configured to:

control the at least one storage medium;

receive a data operation request, wherein the data operation request includes a namespace identifier (ID) and indicates a reclaim unit handle, wherein at least a portion of data on the storage device is managed based on namespace IDs and logical block addresses (LBAs);

translate the namespace ID and the reclaim unit handle of the data operation request to a set of reclaim unit handles of the storage device, the set of reclaim unit handles including at least a first reclaim unit handle indicating a first reclaim unit of the storage device and a second reclaim unit handle indicating a second reclaim unit of the storage device; and

perform, based on the data operation request, a data operation associated with the second reclaim unit, wherein the data operation is based on a selection of the second reclaim unit based on a conflict between the first reclaim unit and the data operation request.

20 . The storage device of claim 19 , wherein:

the data operation comprises at least one of a write operation, a read operation, a copy operation, a deallocate operation, a sanitize operation, an erase operation, a format operation, or a compare and write operation, and

the LBAs are different from the namespace IDs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: HELMICK, DANIEL LEE; ALLISON, MICHAEL
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064911/0052 →
Continuity (4)
Provisional Application 63421994 · Nov 2, 2022
Provisional Application 63419699 · Oct 26, 2022
Provisional Application 63358861 · Jul 6, 2022
Related Publication 20240012579A1 · Jan 11, 2024
References Cited (97)
US 7184917B2 · Pramanick et al. · 2007 [cited by applicant]
US 7376807B2 · Moyer · 2008 [cited by examiner]
US 7610437B2 · Sinclair · 2009 [cited by examiner]
US 7716180B2 · Vermeulen et al. · 2010 [cited by applicant]
US 7984084B2 · Sinclair · 2011 [cited by examiner]
US 8285918B2 · Maheshwari · 2012 [cited by examiner]
US 8296398B2 · Lacapra et al. · 2012 [cited by applicant]
US 8370611B2 · Choi · 2013 [cited by examiner]
US 8443263B2 · Selinger · 2013 [cited by examiner]
US 8873284B2 · Sinclair · 2014 [cited by examiner]
US 9223693B2 · Sinclair · 2015 [cited by examiner]
US 9336133B2 · Sinclair · 2016 [cited by examiner]
US 9348746B2 · Sinclair · 2016 [cited by examiner]
US 9465731B2 · Sinclair · 2016 [cited by examiner]
US 9652382B1 · Subramanian · 2017 [cited by examiner]
US 9684463B1 · Alshinnawi et al. · 2017 [cited by applicant]
US 9734050B2 · Sinclair · 2017 [cited by examiner]
US 9734911B2 · Sinclair · 2017 [cited by examiner]
US 9778855B2 · Sinclair · 2017 [cited by examiner]
US 9892803B2 · Reed · 2018 [cited by examiner]
US 9996473B2 · Tomlin et al. · 2018 [cited by applicant]
US 10108543B1 · Duggal · 2018 [cited by examiner]
US 10108544B1 · Duggal · 2018 [cited by examiner]
US 10120613B2 · Sinclair · 2018 [cited by examiner]
US 10133490B2 · Sinclair · 2018 [cited by examiner]
US 10176212B1 · Prohofsky · 2019 [cited by applicant]
US 10255179B2 · Ji · 2019 [cited by examiner]
US 10365827B1 · Satish · 2019 [cited by examiner]
US 10430279B1 · Dittia · 2019 [cited by examiner]
US 10579286B2 · Oh et al. · 2020 [cited by applicant]
US 10739996B1 · Ebsen · 2020 [cited by examiner]
US 10795812B1 · Duggal · 2020 [cited by examiner]
US 10884920B2 · Benisty et al. · 2021 [cited by applicant]
US 10891228B2 · Steinmacher-Burow · 2021 [cited by examiner]
US 10903981B1 · Tian · 2021 [cited by applicant]
US 10942852B1 · Tian · 2021 [cited by applicant]
US 10983715B2 · Sharoni · 2021 [cited by examiner]
US 11086537B2 · Byun · 2021 [cited by examiner]
US 11200005B2 · Patel et al. · 2021 [cited by applicant]
US 11347409B1 · Randolph et al. · 2022 [cited by applicant]
US 20050144358A1 · Conley et al. · 2005 [cited by applicant]
US 20070033325A1 · Sinclair · 2007 [cited by examiner]
US 20070198804A1 · Moyer · 2007 [cited by examiner]
US 20080082596A1 · Gorobets · 2008 [cited by examiner]
US 20080189477A1 · Asano · 2008 [cited by examiner]
US 20090313453A1 · Stefanus · 2009 [cited by examiner]
US 20110137870A1 · Feder · 2011 [cited by examiner]
US 20110145473A1 · Maheshwari · 2011 [cited by examiner]
US 20110161784A1 · Selinger · 2011 [cited by examiner]
US 20140006688A1 · Yu · 2014 [cited by examiner]
US 20140325148A1 · Choi · 2014 [cited by examiner]
US 20140365719A1 · Kuzmin · 2014 [cited by examiner]
US 20150227602A1 · Ramu · 2015 [cited by examiner]
US 20160246713A1 · Choi · 2016 [cited by examiner]
US 20170123655A1 · Sinclair · 2017 [cited by examiner]
US 20170192902A1 · Hwang · 2017 [cited by examiner]
US 20170242790A1 · O'Krafka · 2017 [cited by examiner]
US 20170300422A1 · Szubbocsev · 2017 [cited by examiner]
US 20180189175A1 · Ji · 2018 [cited by examiner]
US 20180196743A1 · McVay et al. · 2018 [cited by applicant]
US 20190243758A1 · Takeda et al. · 2019 [cited by applicant]
US 20200045110A1 · Varnica · 2020 [cited by examiner]
US 20200089420A1 · Sharoni · 2020 [cited by examiner]
US 20200174671A1 · Margaglia et al. · 2020 [cited by applicant]
US 20200192794A1 · Lee · 2020 [cited by examiner]
US 20200218653A1 · Ryu · 2020 [cited by examiner]
US 20200233612A1 · Dalmatov · 2020 [cited by examiner]
US 20200293225A1 · Hsieh · 2020 [cited by examiner]
US 20200310686A1 · Truong · 2020 [cited by examiner]
US 20210096772A1 · Lee · 2021 [cited by applicant]
US 20210216233A1 · Bolen et al. · 2021 [cited by applicant]
US 20210303511A1 · Karr · 2021 [cited by applicant]
US 20210303522A1 · Periyagaram et al. · 2021 [cited by applicant]
US 20210342362A1 · Haravu · 2021 [cited by examiner]
US 20210406216A1 · Komatsu · 2021 [cited by examiner]
US 20220091743A1 · Chang et al. · 2022 [cited by applicant]
US 20220129378A1 · McJilton et al. · 2022 [cited by applicant]
US 20220147392A1 · Choi et al. · 2022 [cited by applicant]
CN 109783011A · 2019 [cited by applicant]
CN 110018966A · 2019 [cited by applicant]
CN 110134328A · 2019 [cited by applicant]
EP 2940691A1 · 2015 [cited by applicant]
WO 2008045839A1 · 2008 [cited by applicant]
WO 2015175720A1 · 2015 [cited by applicant]
Sam Ingalls, “Queue”, Jul. 2, 2021, pp. 1-6, https://www.webopedia.com/definitions/queue/ (Year: 2021). [cited by examiner]
Bjorling, Matias, “Zoned Namespaces in Practice” Western Digital Corporation, Flash Memory Summit, 2019, 17 pages. [cited by applicant]
Marks, Kevin, “An NVM Express Tutorial” Flash Memory Summit, 2013, 92 pages. [cited by applicant]
NVM Express, “4093—Zone Relative Data Lifetime Hint” NVM Express Technical Proposal for New Feature, 2021, 5 pages. [cited by applicant]
European Extended Search Report for Application No. 23177191.6, mailed Nov. 8, 2023. [cited by applicant]
European Extended Search Report for Application No. 23177629.5, mailed Nov. 20, 2023. [cited by applicant]
European Extended Search Report for Application No. 23180630.8, mailed Nov. 20, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 18/099,250, mailed Apr. 2, 2024. [cited by applicant]
Final Office Action for U.S. Appl. No. 18/099,250, mailed Jul. 23, 2024. [cited by applicant]
Office Action for U.S. Appl. No. 18/099,250, mailed Nov. 13, 2024. [cited by applicant]
European Office Action for Application No. 23177629.5, mailed Mar. 12, 2025. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/099,250, mailed Jun. 30, 2025. [cited by applicant]
Final Office Action for U.S. Appl. No. 18/099,250, mailed Mar. 4, 2025. [cited by applicant]