New Paragraph

Paragraphs

Actions Matter Content Para # Notes Modified
View Edit
Delete
US-8380915-A1 In embodiments where the storage cells have multiple read voltage thresholds, each read voltage threshold is separated by a separation distance. In one embodiment, the separation distances are uniform between each read voltage threshold. In a further embodiment, the adjustment module 408 adjusts the multiple read voltage thresholds with a single command or procedure and the separation distances between the multiple read voltage thresholds scale with the adjustment. For example, in one embodiment, the separation distances between read voltage thresholds may increase with larger read voltage thresholds and decrease with lower read voltage thresholds. Scaling the separation distances between read voltage thresholds upon adjustment, in one embodiment, provides a more even distribution of read voltage thresholds, so that the ranges of voltages at the ends of the ranges are not reduced or enlarged while middle ranges remain the same. 218 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The media characteristic module 502, in certain embodiments, manages the collection of and/or maintenance of storage media characteristics. The media characteristic module 502 may maintain storage media characteristics in and/or retrieve storage media characteristics from a storage media characteristic repository. One example of a storage media characteristic repository is described in greater detail below with regard to FIGS. 7A and 7B. The media characteristic module 502, in certain embodiments, references, determines, and/or manages storage media characteristics for several different sets of storage cells, such as each storage media region or storage media division of the solid-state storage device 102. A storage media region may include an erase block (logical or physical), a page, a logical page, an ECC chunk, a division within a page, a die, a die plane, a chip, or the like. 245 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 A storage media characteristic for a set of storage cells affects or informs the determination of a configuration parameter for the set of storage cells. In one embodiment, the storage media characteristics include a program/erase cycle count for a set of storage cells. In another embodiment, the storage media characteristics include a read count for a set of storage cells. The storage media characteristics, in a further embodiment, include a retention time since a previous write for a set of storage cells. In an additional embodiment, the storage media characteristics include a temperature for a set of storage cells. The storage media characteristics, in certain embodiments, include a use case for a set of storage cells. In another embodiment, the storage media characteristics include an error statistic for a set of storage cells, such as an UBER or the like. In a further embodiment, the storage media characteristic may include previous or historical configuration parameters for a set of storage cells, configuration parameters or storage media characteristics for other sets of storage cells, or the like. 244 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 references one or more storage media characteristics for a set of storage cells of the solid-state storage media 110. The media characteristic module 502 may determine one or more storage media characteristics itself, may receive storage media characteristics from another module, may retrieve storage media characteristics from a storage media characteristic repository, or the like. As described above, a storage media characteristic is a statistic, heuristic, or other descriptor associated with an attribute of the solid-state storage media 110. Storage media characteristics may include and/or relate to a make, a model, a manufacturer, a product version, or the like for the solid-state storage device 102 and/or for the solid-state storage media 110; an attribute or statistic for a set of storage cells; an environmental condition or a use case of the solid-state storage device 102 and/or of the solid-state storage media 110; and/or another statistic, heuristic, or other descriptor for an attribute of the solid-state storage media 110. 243 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 5 depicts one embodiment of the proactive configuration module 424. The proactive configuration module 424, in certain embodiments, may be substantially similar to the proactive configuration module 424 described above with regard to FIG. 4. In the depicted embodiment, the proactive configuration module 424 includes a media characteristic module 502, a configuration parameter module 504, a storage cell configuration module 506, a characteristic update module 508, a configuration update module 510, and an adaptive configuration module 512. The media characteristic module 502, the configuration parameter module 504, the storage cell configuration module, the characteristic update module 508, the configuration update module 510, and the adaptive configuration module 512 may be part of a device driver installed on the computer 112 or another host device for the solid-state storage device 102 and/or part of hardware for the solid-state storage device, such as firmware of an FPGA, an ASIC, or the like. 242 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 Proactive Configuration 241 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The write voltage module 416, in one embodiment, may begin with a minimum write voltage, and increase the write voltage until the read voltage meets a threshold value. In a further embodiment, the write voltage module 416 may begin with a maximum write voltage, and decrease the write voltage until the read voltage meets a threshold value. The write voltage module 416, in one embodiment, may select a write voltage level that balances the time to program the storage cells with a desired endurance and/or data retention for the storage cells. 240 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 For example, for NAND flash solid-state storage, the write voltage and/or other program related configuration parameters, changes the state of a storage cell from a binary one to a binary zero. The write voltage module 416, in one embodiment, writes known patterns to the storage cells, then reads the pattern back determining the read voltage threshold, and adjusts the write threshold until the desired read threshold is met. The write voltage module 416, in a further embodiment, adjusts the write voltage level based on a mathematical model that specifies write voltage level values based on endurance and data retention requirements of a storage cell relative to an age of the storage cell. In one embodiment, the age of the storage cell is computed in terms of program and erase cycles. The write voltage module 416, in one embodiment, performs a test write to one or more storage cells, detects the read voltage of at least one of the storage cells, and adjusts the write voltage level until the read voltage meets a threshold value. The write voltage module 416, in a further embodiment, performs the test write by writing a data set with a known bias to the storage cells, and tests the read voltage by determining if a read bias of the read data set deviates from the known bias. 239 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the write voltage module 416 sets a write voltage level for writing data to the storage cells of the solid-state storage media 110. The write voltage level is a programming voltage that specifies the minimum or maximum voltage used to program or change a state of a storage cell, 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. In one embodiment, the write voltage module 416 may be integrated with the configuration module 352 and/or the proactive configuration module 424. 238 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 6D depicts one embodiment of adjusted configuration parameters 672a-c for a set of multi-level storage cells of solid-state storage media 110. In certain embodiments, the configuration parameters 662a-c of FIG. 6C are default configuration parameters, set by a manufacturer, a vendor, or the like and the configuration module 352 and/or the proactive configuration module 424 adjust or configure the default configuration parameters 662a-c to the adjusted configuration parameters 672a-c. 292 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The adjusted configuration parameters 672a-c more closely match the actual distributions of storage cell states of FIG. 6D than do the default configuration parameters 662a-c. Were a corresponding set of storage cells to use the default configuration parameters 662a-c with the distributions of storage cell states of FIG. 6D, the portions of the distributions that have drifted past the locations of the default configuration parameters 662a-c would register data errors. By configuring the corresponding set of storage cells to use the adjusted configuration parameters 672a-c, the configuration module 352 prevents, avoids, or corrects the potential data errors. 293 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the configuration module 352 determines the adjusted configuration parameters 672a-c reactively using the deviation module 404, the direction module 406, the adjustment module 408, or the like, as described above. In another embodiment, the configuration module 352 determines the adjusted configuration parameters 672a-c proactively using the proactive configuration module 424, based on storage media characteristics for a corresponding set of storage cells, as described above. 294 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 7A depicts one embodiment of the media characteristic module 502 and a storage media characteristic repository 702. In the depicted embodiment, the media characteristic module 502 stores and maintains storage media characteristics for a plurality of different sets of storage cells in a storage media characteristic repository 702. The storage media characteristic repository 702 stores entries reciting storage media characteristics for sets of storage cells of the solid-state storage media 110. The storage media characteristic repository 702 may be embodied by one or more of a table, a matrix, an array, a database, a file, or another data structure that stores storage media characteristics. 295 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The media characteristic module 502 may store the storage media characteristic repository in one or more of a metadata area of the solid-state storage media 110, in volatile memory of the solid-state storage device 102 and/or of the computer 112, in a configuration file for the solid-state storage device 102 stored in nonvolatile storage of the computer 112, in dedicated non-volatile storage of the solid-state storage device 102, or the like. The media characteristic module 502 may store the storage media characteristic repository 702 and/or storage media characteristics in a single location, or may divide storage between multiple locations. 296 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 For example, in one embodiment, the media characteristic module 502 may access static storage media characteristics such as a make, a model, a manufacturer, a product version, or the like for the solid-state storage device 102 and/or the solid-state storage media 110 from nonvolatile storage of the solid-state storage device 102, such as in a programmable read only memory (“PROM”) or the like that is programmed by a manufacturer or vendor. The media characteristic module 502 may store dynamic storage media characteristics, such as a program/erase cycle counts, read counts, retention times, temperatures, use cases, error statistics, and the like in volatile memory of the solid-state storage device 102 and/or of the computer 112, metadata on the solid-state storage media 110, or the like. If the media characteristic module 502 stores at least a portion of the storage media characteristic repository 702 in volatile memory, in certain embodiments, the media characteristic module 502 may periodically save data of the storage media characteristic repository 702 to the solid-state storage media 110 or to other nonvolatile storage so that the media characteristic module 502 may rebuild a storage media characteristic repository 702 in response to a power failure, an improper shutdown, or the like. 297 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 7B depicts another embodiment of the storage media characteristic repository 702. The storage media characteristic repository 702 includes a plurality of entries 708 for sets of storage cells. The sets of storage cells, in the depicted embodiment, are organized by storage media region 706, with an entry 708 in the storage media characteristic repository 702 for each storage media region 706 from LEB 0 through LEB N. While the storage media regions 706 in the depicted embodiment are illustrated as logical erase blocks LEB 0 through LEB N, as described above, in other embodiments, a storage media region 706 may include a physical erase block, a page, a logical page, an ECC chunk, a division within a page, a die, a die plane, a chip, or the like. 298 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 Each entry 708 further includes storage media characteristics 704 for the corresponding storage media region 706. The storage media characteristics 704, in the depicted embodiment, include a program/erase (“P/E”) cycle count 704a, a read count 704b, a retention time 704c, a temperature 704d, and a bit error rate 704e. The characteristic update module 508 may cooperate with the media characteristic module 502 to update the storage media characteristic repository 702 as described above. 299 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In the depicted embodiment, the P/E cycle count 704a varies between 0.7 k and 2.0 k, (i.e., between 700 and 2000, “k” representing 1000). Similarly, the read count 704b varies between 0.5 k and 4.1 k (i.e., between 500 and 4100). The retention time 704c varies from 10 min (minutes) to 100 min, and the temperature 704d varies from 43° C. (degrees Celsius) to 48° C. Lastly, the bit error rate 704(e) varies between 9.7E-5 (9.7 times 10 to the −5th power or 0.000097) and 2.5E-4 (2.5 times 10 to the −4th power or 0.00025). The depicted storage media characteristics 704 are representative examples, and are not limiting; in light of this disclosure it is clear that storage media characteristics 704 outside the depicted ranges are possible, as well as other types of storage media characteristics 704 not depicted in FIG. 7b. 300 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 8A depicts one embodiment of the configuration parameter module 504 and a configuration parameter repository 802. In the depicted embodiment, the configuration parameter module 504 stores and maintains configuration parameters for a plurality of different sets of storage cells in a configuration parameter repository 802. In certain embodiments, the configuration parameter repository 802 may be integrated with the storage media characteristic repository 702 in a single repository 702, 802. The configuration parameter repository 802 stores entries reciting configuration parameters for sets of storage cells of the solid-state storage media 110. The configuration parameter repository 802 may be embodied by one or more of a table, a matrix, an array, a database, a file, or another data structure that stores configuration parameters. 301 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 8B depicts another embodiment of a configuration parameter repository 802. The configuration parameter repository 802 includes a plurality of entries 808 for sets of storage cells. The sets of storage cells, in the depicted embodiment, are organized by storage media region 706, and the entries 808 correspond to storage media regions 706 from LEB 0 through LEB N. Each entry 808 further includes configuration parameters 804 for the corresponding storage media region 706. The configuration parameters 804, in the depicted embodiment, include read voltage threshold adjustments 804a-c for read level R1804a, read level R2804b, and read level R3804c, with each entry as a hexadecimal offset from default read voltage thresholds. For example, in the depicted embodiment, the read voltage threshold adjustments 804a-c vary between FAh (a hexadecimal number corresponding to decimal number −6, in a two's complement representation where “h” represents hexadecimal) and 05h (a hexadecimal number corresponding to decimal number 5). 302 Added by DJM 3 2021 3/12/21, 12:00 AM

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