Dynamic data placement for collision avoidance among concurrent write streams
AssigneeMicron Technology, Inc.
InventorSanjay Subbarao
Life of this patent
Estimating the term…
Abstract
A memory sub-system configured to dynamically generate a media layout to avoid media access collisions in concurrent streams. The memory sub-system can identify plurality of media units that are available to write data concurrently, select commands from the plurality of streams for concurrent execution in the available media units, generate and store a portion of a media layout dynamically in response to the commands being selected for concurrent execution in the plurality of media units, and executing the selected commands concurrently by storing data into the memory units according to physical addresses to which logical addresses used in the selected commands are mapped in the dynamically generated portion of the media layout.
Claims15
A method, comprising:
- receiving, in a memory sub-system, a plurality of streams of write commands, wherein the plurality of streams of write commands are configured to write data in a plurality of erase block sets respectively in the memory sub-system, and wherein each of the plurality of streams of write commands is tagged to store data as a group in a respective one of the erase block sets;
- identifying a plurality of media units in the memory sub-system, wherein the plurality of media units are available to write data from the plurality of streams concurrently;
- selecting first commands from the plurality of streams for concurrent execution in the plurality of media units;
- generating and storing, dynamically in response to the first commands from a plurality of write streams being selected for concurrent execution in the plurality of media units, a portion of a media layout that maps:
- from logical addresses, identified by the first commands from the plurality of write streams, in the logical address space,
- to physical addresses of memory units in the plurality of media units;
- and
- executing the first commands concurrently by storing data into the memory units according to the physical addresses.
A non-transitory computer storage medium storing instructions which, when executed in a memory sub-system, causes the memory sub-system to perform a method, the method comprising:
- receiving, in the memory sub-system, a plurality of streams of write commands, wherein the plurality of streams of write commands are configured to write data in a plurality of erase block sets respectively in the memory sub-system, and wherein each of the plurality of streams of write commands is tagged to store data as a group in a respective one of the erase block sets;
- identifying a plurality of media units in the memory sub-system, wherein the plurality of media units are available to write data concurrently;
- selecting first commands from a plurality of write streams for concurrent execution in the plurality of media units;
- generating and storing, dynamically in response to the first commands being selected for concurrent execution in the plurality of media units, a portion of a media layout that maps:
- from logical addresses, identified by the first commands from the plurality of write streams, in the logical address space,
- to physical addresses of memory units in the plurality of media units;
- and
- executing the first commands concurrently by storing data into the memory units according to the physical addresses.
A memory sub-system, comprising:
- a plurality of media units capable of writing data concurrently;
- and
- at least one processing device configured to:
- receive a plurality of streams of write commands, wherein the plurality of streams of write commands are configured to write data in a plurality of erase block sets respectively in the memory sub-system;
- and each of the plurality of streams of write commands is tagged to store data as a group in a respective one of the erase block sets;
- identify one or more first media units among the plurality of media units, wherein the one or more first media units are currently available to write data concurrently with one or more second media units among the plurality of media units, wherein the one or more second media units are in progress of writing data;
- select one or more first commands from the plurality of streams for concurrent execution with one or more second commands that are in progress in the one or more second media units;
- generate and store, dynamically in response to the one or more first commands being selected for the concurrent execution, a portion of a media layout that maps from logical addresses identified by the one or more first commands in the logical address space to physical addresses of memory units in the one or more first media units;
- and
- execute the one or more first commands concurrently by storing data into the memory units according to the physical addresses, concurrently with the one or more second commands in progress in the one or more second media units.
Dependencies are inferred from the claim text.