Non-volatile semiconductor memory module enabling out of order host command chunk media access
First Claim
Patent Images
1. A non-volatile semiconductor memory module comprising:
- a memory device; and
a memory controller operably coupled to the memory device, the memory controller operable to;
receive a command from a host;
split the command into one or more chunks, the one or more chunks comprising a first chunk associated with at least one logical block address (LBA);
check the first chunk against an active chunk coherency list including entries associated with each of one or more active chunks to determine whether the first chunk overlaps one of the one or more active chunks at least in part by determining whether the first chunk accesses a same Logical Chunk Number (LCN) as one of the one or more active chunks;
when it is determined that the first chunk does not overlap one of the one or more active chunks, submit the first chunk to the memory device; and
when it is determined that the first chunk overlaps one of the one or more active chunks, store a forward dependency pointer identifying the first chunk in an entry associated with the overlapped chunk, and defer submission of the first chunk to the memory device until an associated dependency link is cleared.
10 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile semiconductor memory module is disclosed comprising a memory device and memory controller operably coupled to the memory device, wherein the memory controller is operable to receive a host command, split the host command into one or more chunks comprising a first chunk comprising at least one logical block address (LBA), and check the first chunk against an active chunk coherency list comprising one or more active chunks to determine whether the first chunk is an independent chunk, and ready to be submitted for access to the memory device, or a dependent chunk, and deferred access to the memory device until an associated dependency is cleared.
-
Citations
26 Claims
-
1. A non-volatile semiconductor memory module comprising:
-
a memory device; and a memory controller operably coupled to the memory device, the memory controller operable to; receive a command from a host; split the command into one or more chunks, the one or more chunks comprising a first chunk associated with at least one logical block address (LBA); check the first chunk against an active chunk coherency list including entries associated with each of one or more active chunks to determine whether the first chunk overlaps one of the one or more active chunks at least in part by determining whether the first chunk accesses a same Logical Chunk Number (LCN) as one of the one or more active chunks; when it is determined that the first chunk does not overlap one of the one or more active chunks, submit the first chunk to the memory device; and when it is determined that the first chunk overlaps one of the one or more active chunks, store a forward dependency pointer identifying the first chunk in an entry associated with the overlapped chunk, and defer submission of the first chunk to the memory device until an associated dependency link is cleared. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of operating a non-volatile semiconductor memory module comprising a memory device, the method comprising:
-
receiving a command from a host; splitting the command into one or more chunks, the one or more chunks comprising a first chunk associated with at least one logical block address (LBA); checking the first chunk against an active chunk coherency list including entries associated with each of one or more active chunks to determine whether the first chunk overlaps one of the one or more active chunks at least in part by determining whether the first chunk accesses a same Logical Chunk Number (LCN) as one of the one or more active chunks; when it is determined that the first chunk does not overlap one of the one or more active chunks, submitting the first chunk to the memory device; and when it is determined that the first chunk overlaps one of the one or more active chunks, storing a forward dependency pointer identifying the first chunk in an entry associated with the overlapped chunk and deferring submission of the first chunk to the memory device until an associated dependency link is cleared. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification