New Paragraph

Paragraphs

Actions Matter Content Para # Notes Modified
View Edit
Delete
US-8380915-A1 In one embodiment, the data set source module 422 determines from which specific grouping of storage cells the data set was read based on a position of the data set within a sequence of data sets. For example, in one embodiment, the solid-state storage media 110 may comprise a plurality of groupings of storage cells, and each grouping of storage cells may be read in parallel during a read operation. The data set source module 422, in one embodiment, may use known information about how the write data pipeline 106 and/or the read data pipeline 108 processes data, and known information about the plurality of groupings of storage cells, to determine from which grouping of storage cells the data set was read. 229 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the ECC module 412 and/or the distribution module 414 cooperate with the data set source module 422. The data set source module 422, in one embodiment, determines from which specific grouping of storage cells the data set was read. For example, the data set source module 422 may determine which die, chip, channel, storage element, PEB, or other grouping of storage cells is the source of the data set. In one embodiment, the data set source module 422 determines from which specific grouping of storage cells the data was read in response to the deviation module 404, the ECC module 412, and/or the distribution module 414 determining that the data set has a read bias that deviates from a known bias, has a data error, or the like. 228 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In certain embodiments, the proactive configuration module 424 configures storage cells independently of the adjustments described above with regard to the adjustment module 408. For example, the proactive configuration module 424 may be separate from the configuration module 352, the proactive configuration module 424 may be part of a storage controller 104 without a configuration module 352, or the like. In other embodiments, the adjustment module 408 and the proactive configuration module 424 may cooperate. For example, the adjustment module 408 may make closed loop feedback based adjustments to one or more configuration parameters that the proactive configuration module 424 has set using an open loop model, or the like. 237 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the distribution module 414 determines that the read bias of the data set is within an expected distribution of the known bias, and that no additional adjustments of the read voltage threshold should be made. In a further embodiment, the data set read module 402, the deviation module 404, the direction module 406, and the adjustment module 408 continue to re-read the data set with a new read voltage threshold, re-determine that the read bias for the data set deviates from the known bias, re-determine the direction of deviation for the data set, and readjust the read voltage threshold until the distribution module 414 determines that the read bias of the data set is within the expected distribution. 226 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In a further embodiment, the ECC module 412 uses ECC checkbits to determine in which die, chip, channel, storage element, PEB, or other grouping of storage cells of the solid-state storage media 110 an uncorrectable error has occurred. The ECC module 412, in one embodiment, verifies data sets of each grouping of storage cells using ECC checkbits to determine which particular grouping from a set of groupings of storage cells have uncorrectable errors. The configuration module 352, in one embodiment, adjusts one or more read voltage thresholds in the particular groupings of storage cells with an uncorrectable error. 225 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 As described in greater detail with regard to FIGS. 6A and 6B, in one embodiment, a data set may be stored across several dies, chips, channels, storage elements, PEBs, or other grouping of storage cells. ECC checkbits, in one embodiment, may be calculated and stored independently for each grouping of storage cells. In another embodiment, the ECC checkbits, stored together with each grouping of storage cells, for example as part of an ECC chunk. 224 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The configuration module 352, in one embodiment, repeats the processing steps described above until the ECC module 412 determines that the ECC decoder 322 can correct the error. For example, in a further embodiment, the data set read module 402, the deviation module 404, the direction module 406, and the adjustment module 408 may repeatedly read the data set, determine that the read bias for the data set deviates from the known bias, determine the direction of deviation for the data set, and adjust the read voltage threshold as described above until the ECC module 412 determines that the ECC decoder 322 can correct the error. 223 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the configuration module 352 processes the data set in response to an uncorrectable (meaning herein uncorrectable by the ECC decoder 322, as discussed herein a correction may be possible after an adjustment of the read voltage threshold) data error, as described above, and adjusts the read voltage threshold one or more times until the data error is no longer uncorrectable and can be repaired using ECC checkbits for the data set. In one embodiment, the ECC module 412 cooperates with the ECC decoder 322 to determine whether or not the ECC decoder 322 can correct an error in the data set. Alternatively, the configuration module 352 cooperates with the ECC decoder 322 to determine whether or not the ECC decoder 322 can correct an error in the data set. 222 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 For example, in response to a read request for a data set from a first sub-grouping of storage cells, the adjustment module 408 may adjust the read voltage threshold of the entire grouping of storage cells to a level that the persistence module 410 stores for the first sub-grouping. In response to a read request for a data set from a second sub-grouping, in one embodiment, the adjustment module 408 may readjust the read voltage threshold for the entire grouping to a level that the persistence module 410 stores for the second sub-grouping. This allows the configuration module 352 to adjust the read voltage thresholds for the solid-state storage media 110 at a finer scope than may be provided for in commands or procedures available for the solid-state storage media 110. For example, a manufacturer may provide a command, procedure, or methodology for adjusting a read voltage threshold for a die, chip, or other grouping of storage cells and the adjustment module 408 may adjust read voltage thresholds for individual PEBs or other sub-groupings in accordance with that command procedure or methodology. 221 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, a manufacturer of the solid-state storage media 110 provides a command or procedure to adjust a read voltage threshold for a predefined grouping of storage cells, such as a chip, physical erase block, physical page, or a die. In a further embodiment, the persistence module 410 stores read voltage thresholds for sub-groupings of storage cells that are smaller than the predefined groupings of storage cells for which the adjustment module 408 can make adjustments using the manufacturer provided command or procedure. The adjustment module 408 may then, in another embodiment, readjust the read voltage threshold when a data set is read from a sub-grouping based on the read voltage thresholds that the persistence module 410 stores. Examples of sub-groupings may include PEBs, pages, ECC chunks, or other physical or logical divisions of a grouping of storage cells. 220 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the persistence module 410 stores a state of the read voltage threshold. The persistence module 410, in one embodiment, is part of the solid-state storage controller 104. The persistence module 410, in another embodiment, may send the read voltage threshold to the solid-state storage media 110 with each read operation. In a further embodiment, the persistence module 410 is part of the solid-state storage media 110, causing the solid-state storage media 110 to retain adjustments to the read voltage thresholds that the adjustment module 408 makes. The persistence module 410, in one embodiment, stores multiple read voltage thresholds, each read voltage threshold for a different segment or grouping of storage cells of the solid-state storage media 110. 219 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the media characteristic module 502 may be similar to, may work with, and/or may be integrated with the device factor module 354 described above with regard to FIG. 3B. For example, the storage media characteristics may include one or more of the statistics described above with regard to the device factor module 354, such as a temperature for the solid-state storage device 102, an error rate for the solid-state storage device 102 (such as an uncorrectable bit error rate UBER or the like), an erase cycle count for the solid-state storage device 102, a storage request latency for the solid-state storage device 102 (such as an average, maximum, or other storage request execution latency), an age of the solid-state storage device 102, and/or other statistics or characteristics. The media characteristic module 502, in certain embodiments, may receive input, directly or indirectly, from the one or more sensors 356, from other modules or elements such as the ECC decoder 322, or the like. 246 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In another embodiment, the configuration parameter module 504 determines a configuration parameter for a set of storage cells based on a determined configuration parameter for a target set of storage cells, based on one or more storage media characteristics for a target set of storage cells, or the like. For example, the configuration parameter module 504 may use a configuration parameter for a target set of storage cells as a configuration parameter for another set of storage cells, may adjust a configuration parameter of a target set of storage cells for use in determining the configuration parameter for another set of storage cells, may use storage media characteristics for a target set of storage cells to determine a configuration parameter for another set of storage cells, or the like. In this manner, the target set of storage cells serves as a control group for use in managing other sets of storage cells. The target set of storage cells may be used in certain embodiments in a manner analogous to how “system tracks” have been used in hard disk drive technologies to make modifications to configuration parameters over the life of the storage device 102. In a further embodiment, the configuration parameter module 504 compares one or more storage media characteristics for a set of storage cells to one or more storage media characteristics for a target set of storage cells and determines a configuration parameter for the set of storage cells based on a difference between the storage media characteristics. 254 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In certain embodiments, the configuration parameter module 504 may determine a configuration parameter for one set of storage cells based on a target set of storage cells. The target set of storage cells may have known and/or controlled use characteristics (e.g. storage media characteristics or the like) that the configuration parameter module 504 uses to determine a configuration parameter for another set of storage cells. In particular, the configuration parameter module 504 may compare storage media characteristics of the target set of storage cells to storage media characteristics of a set of storage cells presently being configured. Such a comparison can be used to further optimize the determined configuration parameter for the set of storage cells. The target set of storage cells may store known data, such as metadata, system data, a known pattern of data, or the like, and the configuration parameter module 504 may determine a configuration parameter for another set of data based on the known data. 253 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the configuration parameter module 504 maintains configuration parameters for sets of storage cells of different storage regions or storage divisions of the solid-state storage media 110 in a configuration parameter repository. One example of a configuration parameter repository is described in greater detail below with regard to FIGS. 8A and 8B. By determining and managing separate storage media characteristics and/or configuration parameters for different storage regions, the proactive configuration module 424, in certain embodiments, may customize configuration parameters for each storage region individually, thereby increasing the utility of the solid-state storage media 110 by reducing errors, extending the lifetime of the solid-state storage media 110, or the like. 252 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The one or more storage media characteristics, in one embodiment, indicate to the configuration parameter module 504 a trend, an optimization, or the like for a configuration parameter and the configuration parameter module 504 determines a configuration parameter to satisfy the trend or optimization. For example, a magnitude of a program/erase cycle count, a read count, a UBER, or another storage media characteristic may indicate an amount that a read voltage has drifted, and the configuration parameter module 504 may proactively determine a read voltage threshold or other configuration parameter based on the storage media characteristic, without direct feedback from the storage cells, such as a read, a read retry, or the like. 251 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the storage media characteristics for a set of storage cells include a temperature. A temperature for a set of storage cells may affect the speed of the effects of one or more other storage media characteristics on the set of storage cells. For example at higher temperatures, the rate of change for storage media characteristics relating to error statistic such as Raw Bit Error Rates (RBER) and data retention times may increase and certain adjustments to configuration parameters may mitigate the effect. In certain embodiments, the configuration parameter module 504 may adjust or scale a configuration parameter, a storage media characteristic, or the like by a temperature to compensate for the effects of temperature, normalizing the data for temperature. The temperature for a set of storage cells may be an average temperature, a temperature over a sliding window, a current temperature, a temperature for the solid-state storage device 102, or another temperature measurement associated with one or more sets of storage cells. 250 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The configuration parameter module 504 may base a configuration parameter on one or more storage media characteristics by entering the one or more storage media characteristics into an equation, into a lookup table (“LUT”), into a matrix, or the like; by performing a predefined transform or operation on the one or more storage media characteristics; or by otherwise referencing and/or manipulating the one or more storage media characteristics to determine the configuration parameter. A configuration parameter equation, LUT, matrix, or the like may be based on empirical data, such as test data, historical data, and the like. A design engineer or the like, in one embodiment, may test sets of storage cells with various storage media characteristics, such as solid-state storage media from various manufacturers or the like, and determine optimal configuration parameters for storage cells with the various storage media characteristics. For example, an equation, LUT, matrix, or the like may indicate that solid-state storage media 110 from manufacturer X tends to have Y amount of natural drift in cell values after 1,000 program/erase cycles such that a read threshold can be increased by Z volts to compensate, or the like. 249 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 One embodiment of a configuration parameter for reading from storage cells is a read threshold such as a read voltage threshold, a resistivity threshold, or the like. Various embodiments of configuration parameters for writing/programming storage cells include a step magnitude for an incremental step pulse programming operation, a maximum number of iterations for an incremental step pulse programming operation, a program verify threshold for a program operation, an initial bias for an incremental step pulse programming operation, or the like. A configuration parameter for erasing storage cells, in certain embodiments, may include a step magnitude for an incremental step pulse erase operation, a maximum number of iterations for an incremental step pulse erase operation, an erase verify threshold for an erase operation, an initial bias for an incremental step pulse erase operation, or the like. One of skill in the art, in light of this specification, will recognize other configuration parameters for storage cells that may be modifiable by way of an interface. 248 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the configuration parameter module 504 determines a configuration parameter for a set of storage cells based on one or more storage media characteristics from the media characteristic module 502 for the set of storage cells. As described above, a configuration parameter is a parameter of a set of storage cells that is modifiable by way of an interface. Configuration parameters may relate to writing to or programming storage cells, reading from storage cells, erasing storage cells, and/or to another parameter for storage cells. The configuration parameter module 504 may determine a configuration parameter as an absolute data value, as an offset or adjustment to a data value, or as another parameter with which the storage cell configuration module 506 can configure a set of storage cells, as described below. 247 Added by DJM 3 2021 3/12/21, 12:00 AM

Page 378 of 438, showing 20 record(s) out of 8,747 total