Systems and methods for multi-zone data tiering for endurance extension in solid state drives
First Claim
1. A method, comprising:
- providing a plurality of error correction mechanisms, each having a plurality of corresponding error correction levels;
associating a first plurality of blocks of a solid state drive with a first zone, wherein the first zone comprises a first logical accumulation of blocks;
associating a second plurality of blocks of the solid state drive with a second zone, wherein the second zone comprises a second logical accumulation of blocks, and wherein the first zone is configured to support a larger number of program/erase (PE) cycles compared to the second zone by limiting programming to lower pages in the first zone;
assigning a first error correction mechanism and a first corresponding error correction level to the first zone;
assigning a second error correction mechanism and a second corresponding error correction level to the second zone;
directing a first plurality of write requests to the solid state drive into the first zone and a second plurality of write requests into the second zone, wherein the first plurality of write requests is for data that is overwritten more frequently than data for the second plurality of write requests; and
re-directing at least one write request from the first plurality of write requests into the second zone.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for increasing the endurance of a solid state drive are disclosed. The disclosed systems and methods can assign different levels of error protection to a plurality of blocks of the solid state drive. The disclosed methods can provide a plurality of error correction mechanisms, each having a plurality of corresponding error correction levels and associate a first plurality of blocks of the solid state drive with a first zone and a second plurality of blocks of the solid state drive with a second zone. The disclosed methods can assign a first error correction mechanism and a first corresponding error correction level to the first zone and can assign a second error correction mechanism and a second corresponding error correction level to the second zone.
20 Citations
23 Claims
-
1. A method, comprising:
-
providing a plurality of error correction mechanisms, each having a plurality of corresponding error correction levels; associating a first plurality of blocks of a solid state drive with a first zone, wherein the first zone comprises a first logical accumulation of blocks; associating a second plurality of blocks of the solid state drive with a second zone, wherein the second zone comprises a second logical accumulation of blocks, and wherein the first zone is configured to support a larger number of program/erase (PE) cycles compared to the second zone by limiting programming to lower pages in the first zone; assigning a first error correction mechanism and a first corresponding error correction level to the first zone; assigning a second error correction mechanism and a second corresponding error correction level to the second zone; directing a first plurality of write requests to the solid state drive into the first zone and a second plurality of write requests into the second zone, wherein the first plurality of write requests is for data that is overwritten more frequently than data for the second plurality of write requests; and re-directing at least one write request from the first plurality of write requests into the second zone. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A memory controller, comprising:
a controller module configured to; communicate with a solid state drive having a plurality of blocks; provide a plurality of error correction mechanisms, each having a plurality of corresponding error correction levels; associate a first plurality of blocks of the solid state drive with a first zone, wherein the first zone comprises a first logical accumulation of blocks; associate a second plurality of blocks of the solid state drive with a second zone, wherein the second zone comprises a second logical accumulation of blocks, and wherein the first zone is configured to support a larger number of program/erase (PE) cycles compared to the second zone by limiting programming to lower pages in the first zone; assign a first error correction mechanism and a first corresponding error correction level to the first zone; assign a second error correction mechanism and a second corresponding error correction level to the second zone; direct a first plurality of write requests to the solid state drive into the first zone and a second plurality of write requests into the second zone, wherein the first plurality of write requests is for data that is overwritten more frequently than data for the second plurality of write requests; and filter out write requests with random traffic patterns from the second zone. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
23. An apparatus, comprising:
-
means for providing a plurality of error correction mechanisms, each having a plurality of corresponding error correction levels; means for associating a first plurality of blocks of a solid state drive with a first zone, wherein the first zone comprises a first logical accumulation of blocks; means for associating a second plurality of blocks of the solid state drive with a second zone, wherein the second zone comprises a second logical accumulation of blocks, and wherein the first zone is configured to support a larger number of program/erase (PE) cycles compared to the second zone by limiting programming to lower pages in the first zone; means for assigning a first error correction mechanism and a first corresponding error correction level to the first zone; means for assigning a second error correction mechanism and a second corresponding error correction level to the second zone; means for directing a first plurality of write requests to the solid state drive into the first zone and a second plurality of write requests into the second zone, wherein the first plurality of write requests is for data that is overwritten more frequently than data for the second plurality of write requests; means for associating a third plurality of blocks of the solid state drive with a third zone, wherein the third zone comprises a third logical accumulation of blocks; means for assigning the second error correction mechanism and the second corresponding error correction level to the third zone; means for receiving a third plurality of write requests, wherein the third plurality of write requests is for data that is overwritten more frequently than data for the second plurality of write requests; in response to receiving the third plurality of write requests, means for changing an error correction mechanism and an error correction level of the third zone by assigning the first error correction mechanism and the first corresponding error correction level to the third zone; and means for directing the third plurality of write requests into the third zone.
-
Specification