Solid state drive power safe wear-leveling
First Claim
1. A solid state drive comprising:
- a flash memory device logically divided into a plurality of blocks; and
a controller coupled to the flash memory device, the controller configured to;
determine whether a wear-leveling operation should be performed on a first block of the plurality of blocks;
based at least in part on the determination,write, to the flash memory device, first information indicative of the first block and a second block of the plurality of blocks that is involved in the wear-leveling operation on the first block; and
write data from the first block to the second block as part of the wear-leveling operation; and
write, to the flash memory device, second information indicative of progress made on the wear-leveling operation prior to a suspension of the wear-leveling operation.
8 Assignments
0 Petitions
Accused Products
Abstract
A solid state drive includes a plurality of flash memory devices, and a memory controller coupled to the plurality of flash memory devices. The memory controller is configured to logically associate blocks from the plurality of flash memory devices to form zip codes, the zip codes associated with corresponding erase counters. The solid state drive further includes a processor and a computer-readable memory having instructions stored thereon. The processor may perform a wear-leveling operation by determining that blocks in a first zip code have been erased and incrementing a first erase counter associated with the first zip code. It may then be determined that a second erase counter associated with a second zip code is low relative to at least one other erase counter, and based on this determination, data from blocks in the second zip code may be written to new blocks as part of a wear-leveling operation.
179 Citations
20 Claims
-
1. A solid state drive comprising:
-
a flash memory device logically divided into a plurality of blocks; and a controller coupled to the flash memory device, the controller configured to; determine whether a wear-leveling operation should be performed on a first block of the plurality of blocks; based at least in part on the determination, write, to the flash memory device, first information indicative of the first block and a second block of the plurality of blocks that is involved in the wear-leveling operation on the first block; and write data from the first block to the second block as part of the wear-leveling operation; and write, to the flash memory device, second information indicative of progress made on the wear-leveling operation prior to a suspension of the wear-leveling operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
re-schedule the wear-leveling operation associated with the located first information based at least in part on the first information.
-
-
10. The solid state drive of claim 9, wherein the controller is further configured to:
-
if a second information is located, verify the second information by at least one of; checking error codes associated with the located second information, and comparing the located second information with at least one other copy of the located second information stored in the flash memory device.
-
-
11. A method of performing a wear-leveling operation in a solid state drive comprising a flash memory device logically divided into a plurality of blocks, the method comprising:
-
determining whether a wear-leveling operation should be performed on a first block of the plurality of blocks; based at least in part on the determination, writing, to the flash memory device, first information indicative of the first block and a second block of the plurality of blocks that is involved in the wear-leveling operation on the first block; and writing data from the first block to the second block as part of the wear-leveling operation; and writing, to the flash memory device, second information indicative of progress made on the wear-leveling operation prior to a suspension of the wear-leveling operation. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification