Multi-stage programming at a storage device using multiple instructions from a host
First Claim
1. A method comprising:
- in a data storage device, performing;
receiving, from a first command queue of a host device, a first instruction of a first set of instructions to write a first group of pages of data to a memory of the data storage device;
receiving, from a second command queue of the host device, a second instruction of the first set of instructions to write the first group of pages of data to the memory of the data storage device;
performing a first stage of a first multi-stage programming operation at storage elements corresponding to a first physical address of the memory using a first copy of the first group of pages, wherein the first copy is received from the host device in association with the first instruction; and
performing a second stage of the multi-stage programming operation at the storage elements corresponding to the first physical address of the memory using a second copy of the first group of pages, wherein the second copy is received from the host device in association with the second instruction.
2 Assignments
0 Petitions
Accused Products
Abstract
A method performed by a data storage device includes receiving, from a host device, a first instruction of a first set of instructions to write a first group of pages of data to a memory of the data storage device and receiving a second instruction of the first set of instructions to write the first group of pages of data. A first stage of a multi-stage programming operation is performed at a first physical address of the memory using a first copy of the first group of pages, and a second stage of the multi-stage programming operation is performed at the first physical address of the memory using a second copy of the first group of pages. The first copy and the second copy are received from the host device in association with the first instruction and the second instruction, respectively.
-
Citations
20 Claims
-
1. A method comprising:
in a data storage device, performing; receiving, from a first command queue of a host device, a first instruction of a first set of instructions to write a first group of pages of data to a memory of the data storage device; receiving, from a second command queue of the host device, a second instruction of the first set of instructions to write the first group of pages of data to the memory of the data storage device; performing a first stage of a first multi-stage programming operation at storage elements corresponding to a first physical address of the memory using a first copy of the first group of pages, wherein the first copy is received from the host device in association with the first instruction; and performing a second stage of the multi-stage programming operation at the storage elements corresponding to the first physical address of the memory using a second copy of the first group of pages, wherein the second copy is received from the host device in association with the second instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A data storage device comprising:
-
a memory; and a controller coupled to the memory, wherein the controller is configured to receive, from a first command queue of a host device, a first instruction of a first set of instructions to write a first group of pages of data to the memory and to receive, from a second command queue of the host device, a second instruction of the first set of instructions to write the first group of pages of data to the memory, wherein the controller is further configured to perform a first stage of a first multi-stage programming operation at storage elements corresponding to a first physical address of the memory using a first copy of the first group of pages, wherein the first copy is accessible from the host device in association with the first instruction, and to perform a second stage of the multi-stage programming operation at the storage elements corresponding to the first physical address of the memory using a second copy of the first group of pages, wherein the second copy is accessible from the host device in association with the second instruction. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A data storage device comprising:
-
a memory; and a controller coupled to the memory, wherein the controller is configured to receive, from a host device, a first instruction of a first set of instructions to write a first group of pages of data to the memory and to receive, from the host device, a second instruction of the first set of instructions to write the first group of pages of data to the memory, wherein the controller is further configured to perform a first stage of a first multi-stage programming operation at storage elements corresponding to a first physical address of the memory using a first copy of the first group of pages, wherein the first copy is accessible from the host device in association with the first instruction, and to perform a second stage of the multi-stage programming operation at the storage elements corresponding to the first physical address of the memory using a second copy of the first group of pages, wherein the second copy is accessible from the host device in association with the second instruction, and wherein the controller is configured to receive a first instruction of a second set of instructions to write a second group of pages of data to the memory and to perform a first stage of a second multi-stage programming operation at storage elements corresponding to a second physical address of the memory using a first copy of the second group of pages, wherein the controller is configured to receive the first copy of the second group of pages from the host device in association with the first instruction of the second set of instructions, and wherein the controller is configured to perform the first stage of the second multi-stage programming operation after the first stage of the first multi-stage programming operation and before the second stage of the first multi-stage programming operation. - View Dependent Claims (15, 16)
-
-
17. A data storage device comprising:
-
a memory; and a controller coupled to the memory, wherein the controller is configured to receive, from a host device, a first instruction of a first set of instructions to write a first group of pages of data to the memory and to receive, from the host device, a second instruction of the first set of instructions to write the first group of pages of data to the memory, wherein the controller is further configured to perform a first stage of a first multi-stage programming operation at storage elements corresponding to a physical address of the memory using a first copy of the first group of pages, wherein the first copy is accessible from the host device in association with the first instruction, and to perform a second stage of the multi-stage programming operation at the storage elements corresponding to the physical address of the memory using a second copy of the first group of pages, wherein the second copy is accessible from the host device in association with the second instruction, and wherein the controller is configured to receive, from the host device, another instruction of the first set of instructions to write the first group of pages of data to the memory of the data storage device and, in response to a verify operation indicating that the first group of pages is not reliably stored in a multi-level cell (MLC) portion of the memory, to store another copy of the first group of pages in a single-level cell (SLC) portion of the memory, wherein the another copy is received from the host device in association with the another instruction.
-
-
18. A method comprising:
in a data storage device, performing; receiving, from a host device, a first instruction of a first set of instructions to write a first group of pages of data to a memory of the data storage device; receiving, from the host device, a second instruction of the first set of instructions to write the first group of pages of data to the memory of the data storage device; performing a first stage of a first multi-stage programming operation at storage elements corresponding to a first physical address of the memory using a first copy of the first group of pages, wherein the first copy is received from the host device in association with the first instruction; performing a second stage of the multi-stage programming operation at the storage elements corresponding to the first physical address of the memory using a second copy of the first group of pages, wherein the second copy is received from the host device in association with the second instruction; receiving a first instruction of a second set of instructions to write a second group of pages of data to the memory; and performing a first stage of a second multi-stage programming operation at storage elements corresponding to a second physical address of the memory using a first copy of the second group of pages, wherein the first copy of the second group of pages is received from the host device in association with the first instruction of the second set of instructions, and wherein the first stage of the second multi-stage programming operation is performed after the first stage of the first multi-stage programming operation and before the second stage of the first multi-stage programming operation. - View Dependent Claims (19)
-
20. A method comprising:
in a data storage device, performing; receiving, from a host device, a first instruction of a first set of instructions to write a first group of pages of data to a memory of the data storage device; receiving, from the host device, a second instruction of the first set of instructions to write the first group of pages of data to the memory of the data storage device; performing a first stage of a first multi-stage programming operation at storage elements corresponding to a physical address of the memory using a first copy of the first group of pages, wherein the first copy is received from the host device in association with the first instruction; performing a second stage of the multi-stage programming operation at the storage elements corresponding to the physical address of the memory using a second copy of the first group of pages, wherein the second copy is received from the host device in association with the second instruction; receiving, from the host device, a third instruction of the first set of instructions to write the first group of pages of data to the memory of the data storage device; and in response to a verify operation indicating that the first group of pages is not reliably stored in a multi-level cell (MLC) portion of the memory, storing a third copy of the first group of pages in a single-level cell (SLC) portion of the memory, wherein the third copy is received from the host device in association with the third instruction.
Specification