Incremental background media scan
First Claim
1. A method comprising:
- scanning, by a controller, a first page of a first block of a set of blocks in a storage device to determine whether to perform maintenance on the first page, wherein the storage device comprises a plurality of blocks and the plurality of blocks includes the set of blocks, and wherein each respective block of the set of blocks comprises a plurality of pages;
in response to determining to perform maintenance on the first page of the first block, writing, by the controller, data previously stored in the first page of the first block to a recovery page, wherein the recovery page comprises a page in a block in the set of blocks different than the first page;
for each respective remaining block of the set of blocks, scanning, by the controller, a respective first page of the respective remaining block to determine whether to perform maintenance on the respective first page, wherein the first page of the first block has a same first index value as the respective first page;
scanning, by the controller, a second page of the first block to determine whether to perform maintenance on the second page; and
for each respective remaining block of the set of blocks, scanning, by the controller, a respective second page of the respective remaining block to determine whether to perform maintenance on the respective second page, wherein the second page of the first block has a same second index value as the respective second page.
5 Assignments
0 Petitions
Accused Products
Abstract
In general, a storage device may perform an incremental background media scan. The storage device includes a data storage portion comprising a plurality of blocks. The storage device also includes a controller configured to perform the scan to determine whether to perform maintenance on the page. As such, the controller may scan a first page of a first block of a set of blocks. Each block has multiple pages. The controller may, for each respective remaining block of the set, scan a respective first page of the respective remaining block, the first page having a same first index as the respective first page. The controller may further scan a second page of the first block. The controller may then, for each respective remaining block of the set, scan a respective second page of the respective remaining block, the second page having a same second index as the respective second page.
17 Citations
20 Claims
-
1. A method comprising:
-
scanning, by a controller, a first page of a first block of a set of blocks in a storage device to determine whether to perform maintenance on the first page, wherein the storage device comprises a plurality of blocks and the plurality of blocks includes the set of blocks, and wherein each respective block of the set of blocks comprises a plurality of pages; in response to determining to perform maintenance on the first page of the first block, writing, by the controller, data previously stored in the first page of the first block to a recovery page, wherein the recovery page comprises a page in a block in the set of blocks different than the first page; for each respective remaining block of the set of blocks, scanning, by the controller, a respective first page of the respective remaining block to determine whether to perform maintenance on the respective first page, wherein the first page of the first block has a same first index value as the respective first page; scanning, by the controller, a second page of the first block to determine whether to perform maintenance on the second page; and for each respective remaining block of the set of blocks, scanning, by the controller, a respective second page of the respective remaining block to determine whether to perform maintenance on the respective second page, wherein the second page of the first block has a same second index value as the respective second page. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage device comprising:
-
a data storage portion comprising a plurality of blocks; and a controller configured to; scan a first page of a first block of a set of blocks in a storage device to determine whether to perform maintenance on the first page, wherein the plurality of blocks includes the set of blocks, and wherein each respective block of the set of blocks comprises a plurality of pages; in response to determining to perform maintenance on the first page of the first block, write data previously stored in the first page of the first block to a recovery page, wherein the recovery page comprises a page in a block in the set of blocks different than the first page; for each respective remaining block of the set of blocks, scan a respective first page of the respective remaining block to determine whether to perform maintenance on the respective first page, wherein the first page of the first block has a same first index value as the respective first page; scan a second page of the first block to determine whether to perform maintenance on the second page; and for each respective remaining block of the set of blocks, scan a respective second page of the respective remaining block to determine whether to perform maintenance on the respective second page, wherein the second page of the first block has a same second index value as the respective second page. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium storing instructions that, when executed, cause a controller of a storage device to:
-
scan a first page of a first block of a set of blocks in the storage device to determine whether to perform maintenance on the first page, wherein the storage device comprises a plurality of blocks and the plurality of blocks includes the set of blocks, and wherein each respective block of the set of blocks comprises a plurality of pages; in response to determining to perform maintenance on the first page of the first block, write data previously stored in the first page of the first block to a recovery page, wherein the recovery page comprises a page in a block in the set of blocks different than the first page; for each respective remaining block of the set of blocks, scan a respective first page of the respective remaining block to determine whether to perform maintenance on the respective first page, wherein the first page of the first block has a same first index value as the respective first page; scan a second page of the first block to determine whether to perform maintenance on the second page; and for each respective remaining block of the set of blocks, scan a respective second page of the respective remaining block to determine whether to perform maintenance on the respective second page, wherein the second page of the first block has a same second index value as the respective second page. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification