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 The adjustment module 408, in one embodiment, adjusts the read voltage threshold individually for a die, chip, PEB, or other discrete segment of the solid-state storage media 110. The adjustment module 408, in a further embodiment, adjusts multiple read voltage thresholds for each storage cell. For example, in one embodiment, the storage cells of the solid-state storage media 110 are MLC storage cells, with multiple read voltage thresholds per cell (i.e. a 2 bit MLC storage cell may have three distinct read voltage thresholds). The adjustment module 408 may move each of the multiple read voltage thresholds together or it may move them independently. 217 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 one embodiment, the adjustment module 408 does not adjust a read voltage threshold, even if the deviation module 404 determines that the read bias of a data set deviates from the known bias, a data error has occurred, a retry threshold has not been met, or the like. The adjustment module 408, in certain embodiments, may selectively adjust a read voltage threshold based on one or more risk factors associated with an adjustment to a grouping of storage cells. For example, risk factors may include an error rate for the grouping of storage cells (such as an UBER or the like), an erase cycle count for the grouping of storage cells, a storage request latency for the grouping of storage cells (such as an average, maximum, or other storage request execution latency), an age of the grouping of storage cells, a number of previous adjustments to a read voltage threshold of the grouping of storage cells, and/or other potential risk factors. In one embodiment, the adjustment module 408 may cancel or delay an adjustment to a read voltage threshold in response to one or more risk factors satisfying a risk threshold. In a further embodiment, the solid-state storage controller 104 may take further remedial action in response to one or more risk factors satisfying a risk threshold. 215 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the adjustment module 408 stops readjusting a read voltage threshold once a retry threshold is satisfied. For example, if the ECC decoder 322 cannot correct a data error and/or if the read bias for the data set continues to deviate from the known bias when a retry threshold for the data set is satisfied, the adjustment module 408 may cease making adjustments to the read voltage threshold. The retry threshold may be selected based on a set of possible read voltage threshold levels, or the like. In one embodiment, a retry threshold sets a number of times which the adjustment module 408 may adjust a read voltage threshold. In another embodiment, a retry threshold may set an amount of time in which the adjustment module 408 may make read voltage threshold adjustments. The solid-state storage controller 104, in certain embodiments, may take further remedial action in response to the retry threshold being satisfied, such as retiring the storage cells associated with the data set, logically replacing the storage cells associated with the data set, or the like. 214 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In another embodiment, the adjustment module 408 uses a search algorithm to determine the read voltage threshold based on the direction of deviation. For example, the range of voltages in the direction of deviation from the current read voltage threshold may be the search space for the search algorithm. The adjustment module 408, in one embodiment, may use a linear search, a binary search, or the like to determine the read voltage threshold. To check each step as part of the search algorithm, the data set read module 402 may re-read the data set in response to each adjustment, and the deviation module 404 may re-determine whether the read bias of the re-read data set deviates from the known bias. The direction module 406 may re-determine a direction of deviation for the re-read data set to further the search. The adjustment module 408 may iteratively readjust the read voltage threshold based on the re-determined direction of deviation until the deviation module 404 determines that the read bias of a re-read data set does not deviate from the known bias, or until each of the read voltage threshold level has been tested, and/or until the data set can be corrected using ECC checkbits, or the like. 213 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In a further embodiment, the adjustment module 408 determines an amount to adjust the read voltage threshold based on an amplitude of the direction or amplitude of the difference determined by the direction module 406. In another embodiment, the adjustment module 408 may scale or otherwise adjust the amplitude from the direction module 406 and adjust the read voltage threshold the adjusted amount. For example, the adjustment module 408, in one embodiment, may adjust the read voltage threshold by several adjustment levels in a single adjustment, based on the amplitude of the direction. In a further embodiment, the adjustment module 408 may select an amount to adjust the read voltage threshold based on additional factors such as age, amount of wear, usage history, error history, or other aspects of the solid-state storage media 110. As described above with regard to FIG. 3B, in certain embodiments, the adjustment module 408 may make a read voltage threshold adjustment based on one or more statistics for the solid-state storage device 102 that the configuration module 352 receives from the device factor module 354. 212 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the adjustment module 408 adjusts a read voltage threshold for the storage cells of the solid-state storage media 110 based on the direction of deviation that the direction module 406 determines. The adjustment module 408, in one embodiment, may adjust the read voltage threshold in the direction of deviation, away from the direction of deviation, or the like. For example, in one embodiment, the adjustment module 408 may raise the read voltage threshold from a previous read voltage threshold in response to the direction module 406 detecting more binary ones than expected in the known bias and lower the read voltage threshold in response to fewer binary ones than expected. While the relative directions may change based on characteristics of the storage cells of the solid-state storage media 110 and the storage scheme employed, the adjustment module 408 adjusts the read voltage threshold to correct or compensate for the difference determined by the direction module 406. 211 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 Advantageously, having an indication as to which direction to adjust the read voltage threshold provides a significant reduction in time and resources needed to identify a new adjusted read voltage level. If the direction in which to make a read voltage threshold was unknown, identifying a new read voltage threshold may require a labor and time intensive process of trial and error as different possible read voltage thresholds are set and then tested and then adjusted as needed. The process may be needed to find a read voltage threshold that results in a re-read of the data packet substantially matching the known bias. 210 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 Because the expected bias is known, comparing a read bias relative the known bias indicates that certain bits which should have satisfied the known bias presently do not, which may be due to a data error or due to changes in the voltage level stored in the storage cells after they were written. In addition, determining that the difference is positive or negative indicates whether the read voltage should be increased or decreased such that a re-read of the data set will result in a read bias that is the same as, or comes closer to the known bias. In one embodiment, the configuration module 352 adjusts the read voltage level in the same direction as the direction indicated by the direction module 406. 209 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In another example, if the read bias of the data set is 0.3, meaning that thirty percent of the data bits are binary ones, the direction module 406, in one embodiment, would subtract the expected bias, 0.5, from the read bias of the data set, 0.3, for a difference of −0.2. In this example, the direction would be the opposite of the first example, i.e. “−0.2,” “negative,” “less then,” “down,” or the like. 208 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, a binary zero is represented by a voltage below the read voltage threshold and a binary one is represented by a voltage above the read voltage threshold. In one example, a data set is stored with a known bias of 0.5, representing that the expected bias of the data set should be one half binary ones, or DC balanced. In this example, the data set is read from the storage cells and the data set has a read bias of 0.7, meaning that seventy percent of the data bits are binary ones. To determine the direction, in one embodiment, the direction module 406 subtracts the expected bias, 0.5, from the read bias of the data set, 0.7, for a direction of 0.2. The direction may be the entire result (i.e. “0.2”), the sign of the result (i.e. “positive”), a relationship (i.e. “greater than”), a direction, (i.e. “up”), or another indicator that represents the difference between the expected bias of 0.5 and the read bias of 0.7. 207 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The proactive configuration module 424 references one or more storage media characteristics for a set of storage cells to determine a configuration parameter for the set of storage cells. A storage media characteristic is a statistic, heuristic, or other descriptor associated with an attribute of the solid-state storage media 110. A storage media characteristic for a set of storage cells may be substantially static or may be dynamic and change over time. A storage media characteristic, in one embodiment, includes or relates 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. In another embodiment, a storage media characteristic describes an attribute or statistic for a set of particular storage cells, such as a program/erase cycle count for the set of storage cells, a read count for the set of storage cells, a retention time since a previous write for the set of storage cells, an error statistic for the set of storage cells, or the like. A storage media characteristic, in a further embodiment, may include or relate to an environmental condition or a use of the solid-state storage device 102 and/or of the solid-state storage media 110, such as a temperature, a use case (e.g. a cache use case, an archival use case, a server use case, an enterprise use case, a consumer use case, etc.), or the like. 235 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 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

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