IP Library Granted Patent US 11,231,928
Granted Patent B2
US 11,231,928 · App. 16/592,500 · Granted Jan 25, 2022

Large data read techniques

Inventors: Qing Liang (Boise, ID); Nadav Grosz (Broomfield, CO)
Assignee: Micron Technology, Inc.
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 11,231,928
App. No.
16/592,500
Granted
Jan 25, 2022
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 (42)

1. A memory device comprising:

a controller configured to:

receive a read command from a host device over a host interface, the read command requesting the memory device to read one or more values from flash memory cells coupled to the controller, the read command including a first location identifier;

operate the memory device in a first mode to perform a read operation of a first number of bytes of data at a first location of the flash memory cells identified by the first location identifier in response to the read command being in a first format; and

operate the memory device in a second mode to perform a read operation of a second number of bytes of data, including reading data at the first location and a plurality of second locations of the flash memory cells identified by a plurality of second location identifiers, the second number of bytes of data greater than the first number of bytes of data, the memory device operated in the second mode in response to:

the read command being in a second format;

a previously received pre-fetch command from the host device, the previously received pre-fetch command including a length of a parameter list; and

a previously received parameter list message including the parameter list, the previously received parameter list message including identifiers of the plurality of second locations.

2. The memory device of claim 1 , wherein the previously received pre-fetch command includes a transfer length representing the second number of bytes of data.

3. The memory device of claim 2 , wherein the controller is configured to operate the memory device in the second mode responsive to a location identifier in the previously received pre-fetch command matching the first location identifier.

4. The memory device of claim 2 , the controller is configured to operate the memory device in the second mode responsive to a transfer length in the previously received pre-fetch command matching a transfer length in the read command.

5. The memory device of claim 1 , wherein the host interface is a Universal Flash Storage interface.

6. The memory device of claim 1 , wherein the controller is further configured to provide a portion of a logical to physical table to the host over the host interface, and wherein the first location identifier is a physical location.

7. The memory device of claim 1 , wherein the first location identifier is a logical address and wherein the controller is configured to convert the first identifier into a physical address prior to executing the read operation.

8. A method comprising:

receiving a first read command at a memory device from a host device over a host interface, the first read command requesting the memory device to read one or more values from flash memory cells coupled to a controller, the first read command including a first location identifier;

operating the memory device in a first mode to perform a read operation of a first number of bytes of data at a first location of the flash memory cells identified by the first location identifier in response to the first read command being in a first format:

receiving a second read command at, the memory device from the host device over the host interface, the second read command requesting the memory device to read one or more values from flash memory cells coupled to a controller, the second read command including a second location identifier; and

operating the memory device in a second mode to perform a read operation of a second number of bytes of data, including reading data at a second location of the flash memory cells identified by the second location identifier and a plurality of third locations of the flash memory cells identified by a plurality of third location identifiers, the second number of bytes of data greater than the first number of bytes of data, the memory device operated in the second mode in response to:

the second read command being in a second format;

a previously received pre-fetch command from the host device, the previously received pre-fetch command including a length of a parameter list; and

a previously received parameter list message including the parameter list, the previously received parameter list message including identifiers of the plurality of third locations.

9. The method of claim 8 , wherein the previously received pre-fetch command includes a transfer length representing the second number of bytes of data.

10. The method of claim 9 , wherein operating the memory device in the second mode is also responsive to a location identifier in the previously received pre-fetch command matching the second location identifier.

11. The method of claim 9 , wherein operating the memory device in the second mode is also responsive to a transfer length in the previously received pre-fetch command matching a transfer length in the second read command.

12. The method of claim 8 , wherein the host interface is a Universal Flash Storage interface.

13. The method of claim 8 , wherein the method further comprises providing a portion of a logical to physical table to the host over the host interface, and wherein the first location identifier is a physical location.

14. The method of claim 8 , wherein the first location identifier is a logical address and wherein the method further comprises converting the first identifier into a physical address prior to executing the read operation.

15. A non-transitory machine-readable medium, comprising instructions, which when executed by a processor of a flash memory device, cause the processor to perform operations comprising:

receiving a first read command at a memory device from a host device over a host interface, the first read command requesting the memory device to read one or more values from flash memory cells coupled to a controller, the first read command including a first location identifier;

operating the memory device in a first mode to perform a read operation of a first number of bytes of data at a first location of the flash memory cells identified by the first location identifier in response to the first read command being in a first format:

receiving a second read command at the memory device from the host device over the host interface, the second read command requesting the memory device to read one or more values from flash memory cells coupled to a controller, the second read command including a second location identifier; and

operating the memory device in a second mode to perform a read operation of a second number of bytes of data, including reading data at a second location of the flash memory cells identified by the second location identifier and a plurality of third locations of the flash memory cells identified by a plurality of third location identifiers, the second number of bytes of data greater than the first number of bytes of data, the memory device operated in the second mode in response to:

the second read command being in a second format;

a previously received pre-fetch command from the host device, the previously received pre-fetch command including a length of a parameter list; and

a previously received parameter list message including the parameter list, the previously received parameter list message including identifiers of the plurality of third locations.

16. The non-transitory machine-readable medium of claim 15 , wherein the previously received pre-fetch command includes a transfer length representing the second number of bytes of data.

17. The non-transitory machine-readable medium of claim 16 , wherein operating the memory device in the second mode is also responsive to a location identifier in the previously received pre-fetch command matching the second location identifier.

18. The non-transitory machine-readable medium of claim 16 , wherein operating the memory device in the second mode is also responsive to a transfer length in the previously received pre-fetch command matching a transfer length in the second read command.

19. The non-transitory machine-readable medium of claim 15 , wherein the host interface is a Universal Flash Storage interface.

20. The non-transitory, machine-readable medium of claim 15 , wherein the operations further comprise providing a portion of a logical to physical table to the host over the host interface, and wherein the first location identifier is a physical location.

21. The non-transitory machine-readable medium of claim 15 , wherein the first location identifier is a logical address and wherein the operations further comprise converting the first identifier into a physical address prior to executing the read operation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2023
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP, LLC
Reel/Frame 064889/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2020
From: LIANG, QING; GROSZ, NADAV
To: MICRON TECHNOLOGY, INC.
Reel/Frame 052467/0739 →