Patent ID: 8069383

Claim:
An apparatus to map bad blocks in solid-state storage, the apparatus comprising: a bad block identifier module that identifies one or more data blocks as bad blocks, each bad block comprising a block determined to be inappropriate for data storage, each bad block on a solid-state storage element in an array of solid-state storage elements; a log update module that writes at least a location of each bad block (“bad block location”) identified by the bad block identifier module into each of two or more redundant bad block logs, wherein, for at least one of the bad block logs, the log update module writes the one or more bad block locations into a page of a block comprising the bad block log, the page being free of previously written bad block location information; and a bad block mapping module that accesses at least one bad block log during a start-up operation to create in a memory a bad block map comprising a mapping between the bad block locations in the bad block log and a corresponding location of a replacement block (“replacement block location”) for each bad block location, wherein data is stored in each replacement block instead of the corresponding bad block, the start-up operation comprising making operational a controller for the solid-state storage from a non-operational state, wherein the bad block mapping module creates the bad block map using one of a replacement block location stored with each bad block location in each of the bad block logs; and a bad block mapping algorithm that uses a storage order of the bad block locations in a bad block log to pair each bad block location with a replacement block location.