IP Library Granted Patent US 11,023,142
Granted Patent B2
US 11,023,142 · App. 16/720,698 · Granted Jun 1, 2021

Channel optimized storage modules

Inventor: Kimmo Juhani Mylly (Ylojarvi, FI)
Assignee: Memory Technologies LLC
G06F3/0619G06F3/061G06F3/0644G06F3/0659G06F3/0679G06F3/0688
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,023,142
App. No.
16/720,698
Filed
Dec 19, 2019
Granted
Jun 1, 2021
Kind
B2
Art Unit
2132
USPC
711/103
Abstract

A storage module includes a set of memories. Each of the memories in the set of memories may be divided into a set of portions. A controller is configured to transfer data between the set of memories and a host connected through an interface. A set of channels connects the set of memories to the controller. The controller is also configured to select: a memory from the set of memories, a portion from the set of portions for the selected memory, and/or a channel from the set of channels, e.g., connected to the selected memory, based upon an identification (ID) associated with the data. The ID may be separate from the data and a write address of the data, and the selected memory, the selected portion, and the selected channel may be used to store the data.

Claims (66)

1. A storage device comprising:

at least one memory;

at least one register storing a value indicating a number of parallel access streams associated with the at least one memory; and

a controller configured to:

receive, from a host device, a command to write data to the at least one memory, the command including a stream identifier; and

write the data to the at least one memory based at least in part on the stream identifier, wherein the stream identifier indicates a particular access stream of the parallel access streams, and wherein the stream identifier is different from a memory address associated with the at least one memory.

2. The storage device of claim 1 , wherein the controller is further configured to write the data to the at least one memory based at least in part on a logical memory address received from the host device.

3. The storage device of claim 1 , wherein the controller is further configured to receive the stream identifier from the host device prior to receiving the data from the host device.

4. The storage device of claim 1 , further comprising at least one of:

a plurality of individually selectable memory areas;

a plurality of individually selectable memory chips; or

a plurality of individually selectable memory channels.

5. The storage device of claim 4 , wherein the controller is further configured to select, based at least in part on the stream identifier, at least one of:

a memory area of the plurality of individually selectable memory areas;

a memory chip of the plurality of individually selectable memory chips; or

a channel of the plurality of individually selectable memory channels.

6. The storage device of claim 1 , wherein the stream identifier is an argument of the command.

7. The storage device of claim 1 , wherein the at least one memory is one of NAND, eMMC, UFS, SD card, or SSD memory.

8. The storage device of claim 1 , the at least one register further storing at least one of:

an indication of a width of channels in a set of channels;

an indication of a number of channels in the set of channels;

an indication of a number of memory chips in a set of memories;

a number of memory chips per channel; or

a number of planes implemented in an individual memory chip.

9. A method comprising:

receiving data to be written to a storage device configured to be coupled to a host device, wherein the storage device comprises:

at least one memory; and

at least one register storing a value indicating a number of parallel access streams associated with the at least one memory;

receiving, by the storage device and from the host device, a command to write the data to the at least one memory, the command including a stream identifier; and

writing the data to the at least one memory based at least in part on the stream identifier, wherein the stream identifier indicates a particular access stream of the parallel access streams, and wherein the stream identifier is different from a memory address associated with the at least one memory.

10. The method of claim 9 , further comprising:

receiving a logical memory address from the host device; and

writing the data to the at least one memory based at least in part on the logical memory address received from the host device.

11. The method of claim 9 , further comprising receiving the stream identifier from the host device prior to receiving the data from the host device.

12. The method of claim 9 , wherein the storage device further comprises at least one of:

a plurality of individually selectable memory areas;

a plurality of individually selectable memory chips; or

a plurality of individually selectable memory channels.

13. The method of claim 12 , further comprising selecting, based at least in part on the stream identifier, at least one of:

a memory area of the plurality of individually selectable memory areas;

a memory chip of the plurality of individually selectable memory chips; or

a channel of the plurality of individually selectable memory channels.

14. The method of claim 9 , wherein the stream identifier is an argument of the command.

15. The method of claim 9 , wherein the at least one memory is one of NAND, eMMC, UFS, SD card, or SSD memory.

16. The method of claim 9 , the at least one register further storing at least one of:

an indication of a width of channels in a set of channels;

an indication of a number of channels in the set of channels;

an indication of a number of memory chips in a set of memories;

a number of memory chips per channel; or

a number of planes implemented in an individual memory chip.

17. A host device comprising:

an interface configured to couple the host device to a storage device, wherein the storage device comprises:

at least one memory; and

at least one register storing a value indicating a number of parallel access streams associated with the at least one memory; and

a host controller configured to:

detect the value indicating the number of the parallel access streams associated with the at least one memory;

determine, based at least in part on the value indicating the number of the parallel access streams associated with the at least one memory, a stream identifier to be associated with data, wherein the stream identifier indicates a particular access stream of the parallel access streams;

transmit, to the storage device, a command to write data to the at least one memory, the command including the stream identifier associated with the data;

transmit, to the storage device, the data; and

transmit, to the storage device, at least one memory address associated with the data, wherein the data is stored in the at least one memory based at least in part on the at least one memory address and the stream identifier, and wherein the stream identifier is different from the at least one memory address associated with the at least one memory.

18. The host device of claim 17 , wherein the host controller is further configured to detect the value indicating the number of the parallel access streams by at least reading the value indicating the number of the parallel access streams from the at least one register of the storage device.

19. The host device of claim 17 , wherein the host controller is configured to detect the value indicating the number of the parallel access streams by at least receiving the value indicating the number of the parallel access streams from the storage device.

20. The host device of claim 17 , wherein the host controller is configured to determine the stream identifier based in part on at least one of:

an application associated with the data;

a data type associated with the data; or

one or more hardware devices associated with the data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: MYLLY, KIMMO JUHANI
To: MEMORY TECHNOLOGIES LLC
Reel/Frame 051332/0733 →
Continuity (5)
Continuation 16545899 · Aug 20, 2019
Continuation 15705559 · Sep 15, 2017
Continuation 14569601 · Dec 12, 2014
Provisional Application 61915315 · Dec 12, 2013
Related Publication 20200125278A1 · Apr 23, 2020
Cited By (5)
US 12,353,727 US 12,360,670 US 12,417,022 US 12,511,076 US 12,663,927