IP Library Granted Patent US 12,608,205
Granted Patent B2
US 12,608,205 · App. 17/582,480 · Granted Apr 21, 2026

Large data read techniques

Inventors: Qing Liang (Boise, ID); Nadav Grosz (Broomfield, CO)
G06F9/30047G06F3/0613G06F3/0617G06F3/0646G06F3/0659G06F3/0679G06F9/4806G06F12/1009G06F2212/7201
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,608,205
App. No.
17/582,480
Granted
Apr 21, 2026
Kind
B2
Abstract

Devices and techniques are disclosed herein for more efficiently exchanging large amounts of data between a host and a storage system. In an example, a large read operation can include receiving a pre-fetch command, a parameter list and a read command at a storage system. In certain examples, the pre-fetch command can provide an indication of the length of the parameter list, and the parameter list can provide location identifiers of the storage system from which the read command can sense the read data.

Claims (33)

1 . A method for reading data from a NAND memory device, the method comprising:

receiving, via a controller of the NAND memory device, a command from a host device to initiate a type of read operation for a read command, wherein the command comprises a first indication stored in the command, and wherein the first indication indicates a data size of the type of read operation reading from one or more physical addresses of the NAND memory device;

sending, via the controller to the host device, a response to the command to the host device;

receiving, via the controller from the host device, a set of addresses from the host device, wherein the set of addresses are used to retrieve data stored on the NAND memory device;

subsequent to receiving the set of addresses, receiving, via the controller, the read command from the host device, wherein the read command comprises a second indication and one or more location identifiers stored in the read command, wherein the one or more location identifiers are used to retrieve read data stored on the NAND memory device;

in response to the second indication matching the first indication, retrieving, via the controller, the data using the set of addresses and the read data using the one or more location identifiers; and

sending, via the controller, a plurality of messages to the host device transferring the data and the read data to the host device without receiving intervening messages from the host device.

2 . The method of claim 1 , wherein the set of addresses are received as part of a single parameter list message.

3 . The method of claim 1 , wherein the command includes a parameter list length, the parameter list length providing a length of the set of addresses, and wherein the controller verifies that the length of the set of addresses matches a length of the received set of addresses from the host device.

4 . The method of claim 1 , wherein the set of addresses are logical addresses.

5 . The method of claim 1 , wherein the set of addresses are physical addresses.

6 . A NAND memory device comprising:

a controller configured to perform operations comprising:

receiving a command from a host device to initiate a type of read operation for a read command, wherein the command comprises a first indication stored in the command, and wherein the first indication indicates a data size of the type of read operation reading from one or more physical addresses of the NAND memory device;

sending a response to the command to the host device;

receiving a set of addresses from the host device, wherein the set of addresses are used to retrieve data stored on the NAND memory device;

subsequent to receiving the set of addresses, receiving the read command from the host device, wherein the read command comprises a second indication and one or more location identifiers stored in the read command, wherein the one or more location identifiers are used to retrieve read data stored on the NAND memory device;

in response to the second indication matching the first indication, retrieving, via the controller, the data stored at the set of addresses and the read data stored at the one or more location identifiers; and

sending a plurality of messages to the host device transferring the data and the read data to the host device without receiving intervening messages from the host device.

7 . The NAND memory device of claim 6 , wherein the set of addresses are received as part of a single parameter list message.

8 . The NAND memory device of claim 6 , wherein the command includes a parameter list length, the parameter list length providing a length of the set of addresses, and wherein the operations further comprise verifying that the length of the set of addresses matches a length of the received set of addresses from the host device.

9 . The NAND memory device of claim 6 , wherein the set of addresses are logical addresses.

10 . The NAND memory device of claim 6 , wherein the set of addresses are physical addresses.

11 . A non-transitory, machine readable medium, storing instructions, which when executed by a controller of a NAND memory device, cause the controller to perform operations comprising:

receiving a command from a host device to initiate a type of read operation for a read command, wherein the command comprises a first indication stored in the command, and wherein the first indication indicates a data size of the type of read operation reading from one or more physical addresses of the NAND memory device;

sending a response to the command to the host device;

receiving a set of addresses from the host device, wherein the set of addresses are used to retrieve data stored on the NAND memory device;

subsequent to receiving the set of addresses, receiving the read command from the host device, wherein the read command comprises a second indication and one or more location identifiers stored in the read command, wherein the one or more location identifiers are used to retrieve read data stored on the NAND memory device;

in response to the second indication matching the first indication, retrieving, via the controller, the data using the set of addresses and the read data using the one or more location identifiers; and

sending a plurality of messages to the host device transferring the data and the read data to the host device without receiving intervening messages from the host device.

12 . The non-transitory, machine readable medium of claim 11 , wherein the set of addresses are received as part of a single parameter list message.

13 . The non-transitory, machine readable medium of claim 11 , wherein the command includes a parameter list length, the parameter list length providing a length of the set of addresses, and wherein the operations further comprise verifying that the length of the set of addresses matches a length of the received set of addresses from the host device.

14 . The non-transitory, machine readable medium of claim 11 , wherein the set of addresses are logical addresses.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2023
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP, LLC
Reel/Frame 064889/0048 →
Continuity (4)
Continuation 16592500 · Oct 3, 2019
Provisional Application 62861144 · Jun 13, 2019
Provisional Application 62830935 · Apr 8, 2019
Related Publication 20220147281A1 · May 12, 2022
References Cited (53)
US 5768548A · Young et al. · 1998 [cited by applicant]
US 6571318B1 · Sander · 2003 [cited by examiner]
US 6636927B1 · Peters et al. · 2003 [cited by applicant]
US 6665708B1 · Tikekar · 2003 [cited by examiner]
US 6976147B1 · Isaac et al. · 2005 [cited by applicant]
US 8078805B1 · Smirnov et al. · 2011 [cited by applicant]
US 8607023B1 · Kraipak · 2013 [cited by examiner]
US 11210093B2 · Liang et al. · 2021 [cited by applicant]
US 11231928B2 · Liang et al. · 2022 [cited by applicant]
US 20020087801A1 · Bogin et al. · 2002 [cited by applicant]
US 20040128449A1 · Osborne et al. · 2004 [cited by applicant]
US 20060090042A1 · Nakatani · 2006 [cited by examiner]
US 20070169179A1 · Narad · 2007 [cited by examiner]
US 20080235433A1 · Chen et al. · 2008 [cited by applicant]
US 20080288751A1 · Kocev · 2008 [cited by applicant]
US 20090077304A1 · Hong et al. · 2009 [cited by applicant]
US 20090138661A1 · Lauterbach · 2009 [cited by applicant]
US 20090157980A1 · Bruce · 2009 [cited by applicant]
US 20100306405A1 · Galles · 2010 [cited by examiner]
US 20120185651A1 · Kimori · 2012 [cited by examiner]
US 20140359221A1 · Kalamatianos et al. · 2014 [cited by applicant]
US 20150378780A1 · Busaba et al. · 2015 [cited by applicant]
US 20170075572A1 · Utevsky · 2017 [cited by examiner]
US 20170123988A1 · Chun · 2017 [cited by examiner]
US 20170192902A1 · Hwang et al. · 2017 [cited by applicant]
US 20170286305A1 · Kalwitz · 2017 [cited by applicant]
US 20170344263A1 · Kim · 2017 [cited by examiner]
US 20180157441A1 · Bains et al. · 2018 [cited by applicant]
US 20190196716A1 · Xiao et al. · 2019 [cited by applicant]
US 20190369909A1 · Li · 2019 [cited by applicant]
US 20200004430A1 · Navon et al. · 2020 [cited by applicant]
US 20200034298A1 · Benisty · 2020 [cited by examiner]
US 20200242037A1 · Navon · 2020 [cited by examiner]
US 20200319823A1 · Liang et al. · 2020 [cited by applicant]
US 20200319882A1 · Liang et al. · 2020 [cited by applicant]
US 20200341764A1 · Jacob et al. · 2020 [cited by applicant]
US 20220113970A1 · Liang et al. · 2022 [cited by applicant]
CN 105027213 · 2015 [cited by applicant]
CN 105930278 · 2016 [cited by applicant]
CN 109240942 · 2019 [cited by applicant]
CN 109426619 · 2019 [cited by applicant]
CN 113841128 · 2021 [cited by applicant]
CN 113841128B · 2023 [cited by applicant]
JP 2010287962A · 2010 [cited by applicant]
WO WO2020210163A1 · 2020 [cited by applicant]
“Chinese Application Serial No. 202080034873.8 , Voluntary Amendment filed Apr. 12, 2022”, w English Claims, 19 pgs. [cited by applicant]
“Chinese Application Serial No. 202080034873.8, Office Action mailed Jun. 17, 2022”, w English translation, 6 pgs. [cited by applicant]
“European Application Serial No. 20787438.9, Response to Communication pursuant to Rules 161 and 162 filed May 27, 2022”, 13 pgs. [cited by applicant]
“International Application Serial No. PCT/US2020/026893, International Preliminary Report on Patentability mailed Oct. 21, 2021”, 9 pgs. [cited by applicant]
“International Application Serial No. PCT/US2020/026893, International Search Report mailed Jul. 28, 2020”, 3 pgs. [cited by applicant]
“International Application Serial No. PCT/US2020/026893, Written Opinion mailed Jul. 28, 2020”, 7 pgs. [cited by applicant]
“Chinese Application Serial No. 202080034873.8, Response filed Oct. 31, 2022 to Office Action mailed Jun. 17, 2022”, with English claims, 14 pages. [cited by applicant]
“European Application Serial No. 20787438.9, Extended European Search Report mailed Dec. 7, 2022”, 12 pgs. [cited by applicant]