David Flynn - Sandy UT, US Bert Lagerstedt - Pleasant Grove UT, US John Strasser - Syracuse UT, US Jonathan Thatcher - Lehi UT, US John Walker - Sandy UT, US Michael Zappe - Wheat Ridge CO, US Stephan Uphoff - Roswell GA, US Joshua Aune - South Jordan UT, US Kevin Vigor - Salt Lake City UT, US
Assignee:
Fusion-IO, Inc. - Salt Lake City UT
International Classification:
G06F 13/00
US Classification:
711103, 711153, 711165, 711202
Abstract:
An apparatus, system, and method are disclosed for storage space recovery after reaching a read count limit. A read module reads data in a storage division of solid-state storage. A read counter module then increments a read counter corresponding to the storage division. A read counter limit module determines if the read count exceeds a maximum read threshold, and if so, a storage division selection module selects the corresponding storage division for recovery. A data recovery module reads valid data packets from the selected storage division, stores the valid data packets in another storage division of the solid-state storage, and updates a logical index with a new physical address of the valid data.
Apparatus, System, And Method For Bad Block Remapping
David Flynn - Sandy UT, US John Strasser - Syracuse UT, US Jonathan Thatcher - Lehi UT, US David Atkisson - Draper UT, US Michael Zappe - Wheat Ridge CO, US Joshua Aune - South Jordan UT, US Kevin Vigor - Salt Lake City UT, US
An apparatus, system, and method are disclosed for bad block remapping. A bad block identifier module identifies one or more data blocks on a solid-state storage element as bad blocks. A log update module writes at least a location of each bad block identified by the bad block identifier module into each of two or more redundant bad block logs. A bad block mapping module accesses at least one bad block log during a start-up operation to create in memory a bad block map. The bad block map includes a mapping between the bad block locations in the bad block log and a corresponding location of a replacement block for each bad block location. Data is stored in each replacement block instead of the corresponding bad block. The bad block mapping module creates the bad block map using one of a replacement block location and a bad block mapping algorithm.
Apparatus, System, And Method For Detecting And Replacing Failed Data Storage
David Flynn - Sandy UT, US Jonathan Thatcher - Lehi UT, US Joshua Aune - South Jordan UT, US Jeremy Fillingim - Salt Lake City UT, US Bill Inskeep - West Valley City UT, US John Strasser - Syracuse UT, US Kevin Vigor - Salt Lake City UT, US
Assignee:
Fusion-IO. Inc. - Salt Lake City UT
International Classification:
G06F 11/00
US Classification:
714 61
Abstract:
An apparatus, system, and method are disclosed for detecting and replacing failed data storage. A read module reads data from an array of memory devices. The array includes two or more memory devices and one or more extra memory devices storing parity information from the memory devices. An ECC module determines, using an error correcting code (“ECC”), if one or more errors exist in tested data and if the errors are correctable using the ECC. The tested data includes data read by the read module. An isolation module selects a memory device in response to the ECC module determining that errors exists in the data read by the read module and that the errors are uncorrectable using the ECC. The isolation module also replaces data read from the selected memory device with replacement data and available data wherein the tested data includes the available data combined with the replacement data.
Apparatus, System, And Method For Bad Block Remapping
David Flynn - Sandy UT, US John Strasser - Syracuse UT, US John Thatcher - Liberty Lake UT, US David Atkisson - Draper UT, US Michael Zappe - Arvada CO, US Joshua Aune - South Jordan UT, US Kevin Vigor - Salt Lake City UT, US
An apparatus, system, and method are disclosed for bad block remapping. A bad block identifier module identifies one or more data blocks on a solid-state storage element as bad blocks. A log update module writes at least a location of each bad block identified by the bad block identifier module into each of two or more redundant bad block logs. A bad block mapping module accesses at least one bad block log during a start-up operation to create in memory a bad block map. The bad block map includes a mapping between the bad block locations in the bad block log and a corresponding location of a replacement block for each bad block location. Data is stored in each replacement block instead of the corresponding bad block. The bad block mapping module creates the bad block map using one of a replacement block location and a bad block mapping algorithm.
Apparatus, System, And Method For Managing Physical Regions In A Solid-State Storage Device
David Flynn - Sandy UT, US Jonathan Thatcher - Liberty Lake WA, US Joshua Aune - South Jordan UT, US Robert Barry Wood - Niwot UT, US
Assignee:
Fusion-10, Inc - Salt Lake City UT
International Classification:
G06F 13/14
US Classification:
711103, 711112, 711154
Abstract:
An apparatus, system, and method are disclosed for managing physical regions in a solid-state storage device. The definition module defines a physical storage region on solid-state storage media of a solid-state storage device. The physical storage region includes a subset of total physical storage capacity on the solid-state storage media. The storage controller performs memory operations within the physical storage region such that the memory operations are bounded to the physical storage region. The implementation module implements the physical storage region definition with respect to the storage controller for the solid-state storage media.
Apparatus, System, And Method To Increase Data Integrity In A Redundant Storage System
Jonathan Thatcher - Lehi UT, US David Flynn - Sandy UT, US Joshua Aune - South Jordan UT, US Jeremy Fillingim - Salt Lake City UT, US Bill Inskeep - West Valley City UT, US John Strasser - Syracuse UT, US Kevin Vigor - Salt Lake City UT, US
Assignee:
Fusion-10, Inc. - Salt Lake City UT
International Classification:
G11C 29/00
US Classification:
714770
Abstract:
An apparatus, system, and method are disclosed to increase data integrity in a redundant storage system. The receive module receives a read request to read data from a logical page spanning an array of N+P number of storage elements. The array of storage elements includes N number of the storage elements each storing a portion of an ECC chunk and P number of the storage elements storing parity data. The data read module reads data from at least a portion of a physical page on each of X number of storage elements of the N+P number of storage elements where X equals N. The regeneration module regenerates missing data. The ECC module determines if the read data and any regenerated missing data includes an error. The read data combined with any regenerated missing data includes the ECC chunk.
Apparatus, System, And Method For Reconfiguring An Array To Operate With Less Storage Elements
David Flynn - Sandy UT, US Jonathan Thatcher - Lehi UT, US Joshua Aune - South Jordan UT, US Jeremy Fillingim - Salt Lake City UT, US Bill Inskeep - West Valley City UT, US John Strasser - Syracuse UT, US Kevin Vigor - Salt Lake City UT, US
Assignee:
Fusion-10, Inc - Salt Lake City UT
International Classification:
G11C 29/00
US Classification:
714763, 714 6, 36518509, 365201
Abstract:
An apparatus, system, and method are disclosed for reconfiguring an array of solid-state storage elements protected using parity data. The storage element error module determines that one or more storage elements are unavailable to store data (“unavailable storage elements”). The storage element resides in an array with N number of storage elements storing a first ECC chunk and P number of storage elements storing first parity data. The reconfigure data read module reads data from storage elements other than the unavailable storage elements. The data regeneration module uses the first parity data to regenerate missing data from the first ECC chunk. The data reconfiguration module creates a second ECC chunk. The new configuration storage module stores a portion of the second ECC chunk and associated second parity data on (N+P)−Z number of storage elements, wherein 1≦Z≦P.
Apparatus, System, And Method For Managing Data Storage
David Flynn - Sandy UT, US Jonathan Thatcher - Liberty Lake WA, US Joshua Aune - South Jordan UT, US Jeremy Fillingim - Salt Lake City UT, US Bill Inskeep - West Valley City UT, US John Strasser - Syracuse UT, US Kevin Vigor - Salt Lake City UT, US
Assignee:
Fusion-io, Inc. - Salt Lake City UT
International Classification:
G06F 11/00
US Classification:
714 61
Abstract:
An apparatus, system, and method are disclosed for managing data storage. The method includes determining that an error correcting code (ECC) block comprises uncorrectable errors. The ECC block is stored across a plurality of memory devices. The method includes iteratively substituting replacement data, within data of the ECC block, for individual memory devices of the plurality of memory devices to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block. The method includes providing corrected data from the correctable one of the substitute ECC blocks.
Pequot Lakes High School Pequot Lakes MN 1997-2001
Community:
Steve Hallbeck, Anthony Craig, Rick James, Donovan Kramer, Samantha Just, Mary Rindahl, Erinn Larson, Sara Jacobs, Cory Fast, Anne Lasart, Valerita Rogers