Deprecated: Passing query options as paginator settings is deprecated. Use a custom finder through `finder` config instead. Extra keys found are: contain /application/vendor/cakephp/cakephp/src/Datasource/Paging/NumericPaginator.php, line: 189 You can disable all deprecation warnings by setting `Error.errorLevel` to `E_ALL & ~E_USER_DEPRECATED`. Adding `vendor/cakephp/cakephp/src/Datasource/Paging/NumericPaginator.php` to `Error.ignoredDeprecationPaths` in your `config/app.php` config will mute deprecations from that file only. in /application/vendor/cakephp/cakephp/src/Core/functions.php on line 318

Warning: Unable to emit headers. Headers sent in file=/application/vendor/cakephp/cakephp/src/Core/functions.php line=318 in /application/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php on line 71

Warning: Cannot modify header information - headers already sent by (output started at /application/vendor/cakephp/cakephp/src/Core/functions.php:318) in /application/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php on line 164

Warning: Cannot modify header information - headers already sent by (output started at /application/vendor/cakephp/cakephp/src/Core/functions.php:318) in /application/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php on line 197

Warning: Cannot modify header information - headers already sent by (output started at /application/vendor/cakephp/cakephp/src/Core/functions.php:318) in /application/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php on line 197

Warning: Cannot modify header information - headers already sent by (output started at /application/vendor/cakephp/cakephp/src/Core/functions.php:318) in /application/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php on line 235
Dave's PCF WIP: Paragraphs
New Paragraph

Paragraphs

Actions Application Content Paragraph Number Notes Modified
View Edit
Delete
US-8380915-A1 In a further embodiment, a startup operation for the solid-state storage device 102, a regular shutdown operation for the solid-state storage device 102, or the like is a trigger for the storage cell configuration module 506 to configure one or more sets of storage cells. In certain embodiments, once the storage cell configuration module 506 configures a set of storage cells with a configuration parameter in response to a startup operation, the set of storage cells retain the configuration parameter until a shutdown operation and a subsequent startup operation, or the like. How a set of storage cells retain configuration parameters may vary depending on the type of configuration parameter, the architecture of the set of storage cells, and the like. 259 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, a trigger for the storage cell configuration module 506 includes a change in a storage media characteristic for a set of storage cells, a change of a predefined magnitude in a storage media characteristic for the set of storage cells, or the like, and the storage cell configuration module 506 configures the set of storage cells in response to a change in the storage media characteristics. In another embodiment, a trigger for the storage cell configuration module 506 includes an input/output request for a set of storage cells, such as a read request, a write request, an erase request, or the like. For example, in certain embodiments, the storage cell configuration module 506 may configure a set of storage cells to use a read configuration parameter in response to a read request for the storage cells, may configure a set of storage cells to use a write configuration parameter in response to a write request for the storage cells, may configure a set of storage cells to use an erase configuration parameter in response to an erase request, or the like. 258 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The storage cell configuration module 506, in one embodiment, configures a set of storage cells to use a determined configuration parameter in response to a trigger. The trigger, in certain embodiments, is selected based on an architecture of the solid-state storage device 102 and/or of the solid-state storage media 110. For example, certain solid-state storage device 102 and/or solid-state storage media 110 may retain a configuration parameter across multiple input/output operations, while another solid-state storage device 102 and/or solid-state storage media 110 may require a configuration parameter to be set with each input/output operation, or the like. The storage cell configuration module 506 may configure a set of storage cells once during initialization of the solid-state storage media 110, dynamically with each command issued to the set of storage cells, during operation of the solid-state storage media 110 in response to events or time intervals, in response to another trigger, or the like. 257 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the storage cell configuration module 506 configures a set of storage cells to use a configuration parameter that the configuration parameter module 504 determines for the set of storage cells. The storage cell configuration module 506 uses an interface of a set of storage cells to configure the set of storage cells. The interface may comprise a publicly known interface or a proprietary interface. The configuration module 506 may configure a set of storage cells by setting a data register, by sending a command over a command interface of a control bus for the solid-state storage media 110, by calling an API of a device driver of the solid-state storage device 102, by setting a control parameter for the solid-state storage controller 104, or otherwise configuring the set of storage cells. The storage cell configuration module 506 may use particular command instructions, a particular sequence of command instructions, and/or use particular parameters, register settings, or other differences from regular commands (general purpose commands) used to interface with the set of storage cells. The storage cell configuration module 506 may receive configuration parameters from the configuration parameter module 504, may retrieve configuration parameters from a configuration parameter repository, or the like. 256 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The adaptive configuration module 512, in one embodiment, bases adjustments or adaptations on a priori knowledge for the solid-state storage device 102, collected run-time statistics for the solid-state storage device 102, storage media characteristics for storage cells of the solid-state storage device 102, or the like. Unlike magnetic storage, media attributes for solid-state storage typically vary over a storage device's useful life. For example, storage regions of the solid-state storage media 110 may be periodically processed for storage capacity recovery or garbage collection to manage the impact of read disturbs and to ensure reliable data retention. 266 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
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 By comparing read biases of data from each of the channels 604a-n to the known bias, the configuration module 352 can correct data errors that occur due to changes in read voltages for particular channel(s) even without the use of ECC checkbits. Without comparing the read biases of data from the channels 604a-n to the known bias, adjustment of the read voltage thresholds would require a large number of trial-and-error tests adjusting and testing every possible read voltage threshold adjustment for each possible combination of channels 604a-n. By comparing the read biases of data from the channels 604a-n to the known bias, the configuration module 352 can determine exactly which channel 604 to adjust. By determining the direction of deviation for those channels, the configuration module 352 further decreases the search space for the read voltage thresholds for those channels by half. 276 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the configuration module 352 adjusts one or more read voltage thresholds 662 based on a subset of binary data that multi-level storage cells store, such as just an upper page, just a lower page, or the like. In such embodiments, examining the state changes for the LSB bit(s) indicate the direction the voltage in the multi-level storage cell is changing. For both Gray code encoding (as depicted in FIG. 6C) and binary code encoding of bit values, the LSB of a multi-level storage cell transitions between a binary zero and a binary one between the middle two abodes or states, the L1 state and the L2 state in the depicted embodiment. For other encoding models, the MSB may transition between a binary zero and a binary one between the middle two abodes or states, or the like. For Gray code or binary code encoding models, the LSB has a value of “1” for read voltages in a lower range (including the lower two states or abodes, L0 and L1) and the LSB has a value of “0” for read voltages in an upper range (including the upper two states or abodes, L2 and L3). By using just the LSB of MLC storage cells to determine whether a read bias deviates from a known bias, the configuration module 352, in one embodiment, may make the determination in a substantially similar manner to determining whether a read bias for SLC storage cells deviates from a known bias, by counting or tallying binary ones and/or binary zeroes of an LSB data set, or the like. 286 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In certain embodiments, the solid-state storage media 110 may employ a two-phase programming model. In such a model, a binary value is first written to the LSB by way of a first write command to the lower page. The write command causes the multi-level storage cell to move from its initial state (for example, a 11 state in L0) to an intermediate state (the lower-to-middle LM state—between L1 and L2) configured such that a 00 state is subsequently read. For example, writing a “0” to the lower page causes the multi-level storage cell to change from the L0 state (where both the LSB and the MSB are 1) to the L2 state (where the LSB is changed to a 0). A subsequent write of a “0” to the upper page moves the multi-level storage cell from the intermediate state (typically between the L1 state and the L2 state) to L2 state such that both bits of the MLC are “0”. Thus, in such an embodiment, two writes (one to the lower page and one to the upper page) are needed to move the multi-level cell from L0 to L2, since the cell transitions through the intermediate state and the MLC device requires that the lower page be programmed before the upper page and does not allow partial programming of a page without an intervening erase operation. Writing a “1” to either of the upper page or lower page will cause the MLC to transition to either L1 or L3 depending on the binary value of the lower page at the time. In addition, certain solid-state media vendors may impose a requirement that the lower page must be written to before the upper page, or the like. In other embodiments, the solid-state storage media 110 may employ a two-phase programming model where a binary value is first written to the MSB by way of a first write command to the upper page. 285 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the LSB corresponds to a lower page of data and the MSB corresponds to an upper page of data. In certain embodiments, the multi-level storage cell may adhere to a two-phase programming model, described below, which requires that the LSB be written to before the MSB can be written or vice versa. In another embodiment, the LSB and MSB may be programmed separately by the solid-state storage controller 104. Such an approach may be taken due to vendor or manufacturer requirements for page pairing (i.e., a LSB bit of MLC cell is paired with an MSB bit of a different MLC cell) and page addressing (i.e., LSB page must be programmed before the MSB page or vice versa). In certain instances, the LSB must be written before the MSB is written, the MSB must be written before the LSB is written, or the like. 284 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 6C shows that the value “11” is associated with the lowest read voltage state (labeled L0, an “erase” state), the value “01” is associated with the next lowest read voltage state (labeled L1), the value “00” is associated with the next highest read voltage state (labeled L2), and the value “10” is associated with the highest read voltage state (labeled L3). In FIG. 6C, the lowest read voltage state L0 is depicted as a negative voltage. Values, magnitudes, sizes, and the like of read voltages may vary by manufacturer and type of solid-state storage cell, each of which are encompassed by the present invention. The configuration parameters 662, in the depicted embodiment, are read voltage thresholds 662 that separate states L0, L1, L2, and L3, as described above. The solid-state storage controller 104 interprets the four discrete levels of voltage stored in the multi-level storage cell as representing two binary bits one represented by a most significant bit (MSB) in the cell encoding and one represented by a least significant bit (LSB) in the cell encoding. As explained above, other programming and encoding models may be used. Also, certain solid-state storage media 110 may have more than four possible states, allowing more than two binary values to be stored in a single multi-level storage cell. The voltage levels L0, L1, L2, and L3 may or may not be contiguous; for example, in certain embodiments, the voltage levels are separated by band gaps known as guard band. For example, L0 and L1 may be separated by 0.3V. 283 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 6C shows one embodiment of configuration parameters 662a-c for a set of multi-level storage cells, such as MLC NAND flash storage cells, or the like, with an example encoding or programming model. Any limitations inherent in the represented encoding model do not necessarily apply to all other encoding models, and the present invention should not be construed as inherently containing any such limitations. The read voltage states, in the depicted embodiment, are encoded using a Gray code encoding model, with binary values for adjacent states differing by a single bit in the encoding. 282 Added by DJM 3 2021 3/12/21, 12:00 AM

Page 16 of 17, showing 20 record(s) out of 335 total