Method and system for improving flash storage utilization by predicting bad M-pages
First Claim
1. A method for managing persistent storage, the method comprising:
- issuing, by a control module, a proactive read request to a page in the persistent storage;
receiving, in response to the proactive read request, a bit error value (BEV) for data stored on the page, wherein the BEV is based on a number of incorrect bits in the data;
obtaining, by the control module and based on at least one parameter associated with the page, a BEV threshold (T); and
based a determination that the BEV is greater than T, setting an m-page as non-allocatable for future operations, wherein the m-page is a set of pages in the persistent storage and the page is in the set of pages.
8 Assignments
0 Petitions
Accused Products
Abstract
A method for managing persistent storage. The method includes selecting a page for a proactive read request, where the page is located in the persistent storage. The method further includes issuing the proactive read request to the page, receiving, in response to the proactive read request, a bit error value (BEV) for data stored on the page, obtaining a BEV threshold (T) for the page, wherein T is determined using a program/erase cycle value associated with the page and a retention time of the data stored on the page, making a first determination that the BEV is greater than T, based on the first determination: identifying an m-page, where the m-page is a set of pages and the page is in the set of pages, and setting the m-page as non-allocatable for future operations.
-
Citations
20 Claims
-
1. A method for managing persistent storage, the method comprising:
-
issuing, by a control module, a proactive read request to a page in the persistent storage; receiving, in response to the proactive read request, a bit error value (BEV) for data stored on the page, wherein the BEV is based on a number of incorrect bits in the data; obtaining, by the control module and based on at least one parameter associated with the page, a BEV threshold (T); and based a determination that the BEV is greater than T, setting an m-page as non-allocatable for future operations, wherein the m-page is a set of pages in the persistent storage and the page is in the set of pages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system, comprising:
-
a storage module comprising a storage module controller and persistent storage; and a control module operatively connected to the storage module and a client, wherein the control module is programmed to; issue, by the control module, a proactive read request to a page in the persistent storage; receive, in response to the proactive read request, a bit error value (BEV) for data stored on the page, wherein the BEV is based on a number of incorrect bits in the data; obtain, by the control module and based on at least one parameter associated with the page, a BEV threshold (T); and based a determination that the BEV is greater than T, set an m-page as non-allocatable for future operations, wherein the m-page is a set of pages in the persistent storage and the page is in the set of pages. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to:
-
issue, by a control module, a proactive read request to a page in persistent storage; receive, in response to the proactive read request, a bit error value (BEV) for data stored on the page, wherein the BEV is based on a number of incorrect bits in the data; obtain, by the control module and based on at least one parameter associated with the page, a BEV threshold (T); and based a determination that the BEV is greater than T, set an m-page as non-allocatable for future operations, wherein the m-page is a set of pages in the persistent storage and the page is in the set of pages.
-
Specification