Write amplification reduction through reliable writes during garbage collection
First Claim
Patent Images
1. A method of writing data in a storage system, the method comprising:
- performing a garbage collection operation, including re-writing data from one or more units of a storage medium to a first sequence of write units of the storage medium by;
performing a coarse multi-bit write operation that partially programs each memory cell of a respective write unit with a plurality of bits, followed by a second multi-bit write operation that completes programming of each memory cell of the respective write unit with the plurality of bits; and
performing a write operation in response to a host command, including writing data received from a computer system external to the storage system to a second sequence of write units of the storage medium by;
performing a lower page write operation that partially programs each memory cell of a respective write unit with a single, respective lower page bit, followed by an upper page write operation that completes programming of each memory cell of the respective write unit with a respective upper page bit;
wherein write operations in response to host commands are performed by performing respective lower page write operations followed by respective upper page write operations, anddata writes performed in garbage collection operations comprise respective coarse multi-bit write operations followed by respective second multi-bit write operations that complete the programming of each memory cell to which data is written during the garbage collection operations.
3 Assignments
0 Petitions
Accused Products
Abstract
The various implementations described herein include systems, methods and/or devices used to enable write amplification reduction through reliable writes during garbage collection. In one aspect, lower page/upper page programming is used during write operations performed in response to a host command and coarse/fine programming is used during garbage collection.
438 Citations
21 Claims
-
1. A method of writing data in a storage system, the method comprising:
-
performing a garbage collection operation, including re-writing data from one or more units of a storage medium to a first sequence of write units of the storage medium by;
performing a coarse multi-bit write operation that partially programs each memory cell of a respective write unit with a plurality of bits, followed by a second multi-bit write operation that completes programming of each memory cell of the respective write unit with the plurality of bits; andperforming a write operation in response to a host command, including writing data received from a computer system external to the storage system to a second sequence of write units of the storage medium by;
performing a lower page write operation that partially programs each memory cell of a respective write unit with a single, respective lower page bit, followed by an upper page write operation that completes programming of each memory cell of the respective write unit with a respective upper page bit;wherein write operations in response to host commands are performed by performing respective lower page write operations followed by respective upper page write operations, and data writes performed in garbage collection operations comprise respective coarse multi-bit write operations followed by respective second multi-bit write operations that complete the programming of each memory cell to which data is written during the garbage collection operations. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device operable to write data in a storage system, the device comprising:
-
a storage medium interface for coupling the device to a storage medium of the storage system; and one or more modules, including a memory management module that includes one or more processors and memory storing one or more programs configured for execution by the one or more processors, the one or more modules coupled to the storage medium interface and configured to; perform a garbage collection operation, including re-writing data from one or more units of a storage medium to a first sequence of write units of the storage medium by;
performing a coarse multi-bit write operation that partially programs each memory cell of a respective write unit with a plurality of bits, followed by a second multi-bit write operation that completes programming of each memory cell of the respective write unit with the plurality of bits; andperform a write operation in response to a host command, including writing data received from a computer system external to the storage system to a second sequence of write units of the storage medium by;
performing a lower page write operation that partially programs each memory cell of a respective write unit with a single, respective lower page bit, followed by an upper page write operation that completes programming of each memory cell of the respective write unit with a respective upper page bit;wherein write operations in response to host commands are performed by performing respective lower page write operations followed by respective upper page write operations, and data writes performed in garbage collection operations comprise respective coarse multi-bit write operations followed by respective second multi-bit write operations that complete the programming of each memory cell to which data is written during the garbage collection operations. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing one or more programs configured for execution by a device coupled to a storage medium, the one or more programs comprising instructions for causing the device to:
-
perform a garbage collection operation, including re-writing data from one or more units of a storage medium to a first sequence of write units of the storage medium by;
performing a coarse multi-bit write operation that partially programs each memory cell of a respective write unit with a plurality of bits, followed by a second multi-bit write operation that completes programming of each memory cell of the respective write unit with the plurality of bits; andperform a write operation in response to a host command, including writing data received from a computer system external to the storage system to a second sequence of write units of the storage medium by;
performing a lower page write operation that partially programs each memory cell of a respective write unit with a single, respective lower page bit, followed by an upper page write operation that completes programming of each memory cell of the respective write unit with a respective upper page bit;wherein write operations in response to host commands are performed by performing respective lower page write operations followed by respective upper page write operations, and data writes performed in garbage collection operations comprise respective coarse multi-bit write operations followed by respective second multi-bit write operations that complete the programming of each memory cell to which data is written during the garbage collection operations. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification