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-20150012794-A1 As an example, in one embodiment, the primary error correcting code used by the primary ECC module 302, which may comprise an outer error correcting code, may include a BCH code capable of decoding data with a RBER of about 1.3e-3 or the like. In a further embodiment, the secondary error correcting code used by the secondary ECC module 304, which may comprise an inner error correcting code, may include a BCH code capable of decoding data with a RBER of about 0.1, or another RBER that is greater than that correctable by the primary error correcting code. In some embodiments, the non-volatile storage device 120 may use the primary and/or outer error correcting code to provide error correction with low computational and storage overhead for data other than the access data. In further embodiments, the configuration module 150 may use both the primary and/or outer error correcting code and the stronger secondary and/or inner error correcting code with the access data, to increase the likelihood of successfully adjusting media parameters for the non-volatile memory media 122 based on the resulting error information, based on the access data, or the like. Using a configuration module 150 to tune or adjust media parameters based on error information, based on access data protected by a stronger error correcting code, or the like may, in some embodiments, keep the RBER low enough for the primary/outer error correcting code to be weaker than it could otherwise be without raising the UBER, thereby using keeping the overhead for the primary/outer error correcting code low. 96 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In some embodiments, the secondary ECC module 304 may encode or otherwise provide error correction for access data, using at least a secondary error correcting code. Thus, in further embodiments, the secondary ECC module 304 may determine whether the ECC chunk is correctable using the secondary error correcting code by attempting to decode the access data. In certain embodiments, as described above, the primary ECC module 302 may encode data other than the access data using additional ECC chunks using the primary error correcting code without the secondary error correcting code, and the secondary ECC module 304 may not operate to encode and/or decode the additional ECC chunks. Thus, in some embodiments, the non-volatile memory device 120 may use two error correcting codes to store the access data with a high degree of reliability, but may use one error correcting code to store other data for easy retrieval, with reduced overhead, or the like. ECC chunks encoding data and access data are described in further detail below with regard to FIG. 5A, FIG. 5B, and FIG. 5C. 95 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In one embodiment, the adjustment module 306 may adjust one or more media parameters based on the total available error information. In another embodiment, the adjustment module 306 may adjust one or more media parameters based on a portion of the available error information, but may ignore other error information. Adjusting media parameters based on error information may allow the non-volatile memory device 120 to read or re-read data with a reduced RBER or UBER. For example, in one embodiment, a page of data encoded with the primary or outer error correcting code may contain ECC chunks with uncorrectable errors if the non-volatile memory device 120 reads the page using default read voltage thresholds. In a further embodiment, however, the adjustment module 306 may adjust or set the read voltage thresholds for the page based on error information from decoding access data stored on the page using multiple levels of error correcting codes, a stronger error correcting code, or the like. The adjustment module 306 may retrieve one or more media parameters from the access data, may determine one or more media parameters based on error information, or the like. If the non-volatile memory device 120 reads the page using the adjusted read voltage thresholds, the same page of data may contain fewer errors, so that more of the ECC chunks are correctable using the primary or outer error correcting code. 104 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 As described above, error information may comprise data associated with one or more errors or potential errors for one or more ECC chunks. In various embodiments, error information that the secondary ECC module 304 determines may include information related to decoding, and/or attempting to decode, the at least one ECC chunk using one or more levels of error correcting codes. Thus, in one embodiment, the error information may include information from a decoder of the secondary ECC module 304 for the secondary error correcting code. In another embodiment, the error information may include primary error information determined by the primary ECC module 302 using the primary error correcting code, secondary error information determined by the secondary ECC module 304 using the secondary error correcting code, and/or additional error information related to one or more additional error correcting codes. In a further embodiment, the error information may include “outer” error information determined by using the primary error correcting code to attempt to decode the at least one ECC chunk, and “inner” error information determined by using the secondary error correcting code to attempt to decode the at least one ECC chunk. As described above with regard to the primary ECC module 302, error information may include an indication of whether or not an ECC chunk is correctable using one or more of the error correcting codes, the number and/or location of bits in error, a raw bit error rate (RBER), an uncorrectable bit error rate (UBER), a ratio of bits which store a binary zero to bits which store a binary one in the decoded data (e.g., a DC balance as described below), or other information related to decoding (or attempting to decode) the at least one ECC chunk using one or more levels of error correcting codes. 93 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In one embodiment, the secondary ECC module 304 may include, control, or otherwise cooperate with a decoder for the secondary error correcting code, a third error correcting code, and/or one or more additional error correcting codes. In some embodiments, the secondary ECC module 304 may additionally include, control, or otherwise cooperate with an encoder for the secondary error correcting code, a tertiary/third error correcting code, and/or one or more additional error correcting codes. An encoder of the secondary ECC module 304 may encode data of the at least one ECC chunk using the secondary error correcting code (e.g., an inner error correcting code, a replication error correcting code, or the like). The primary ECC module 302, in certain embodiments, may provide an ECC chunk protected or encoded using the secondary error correcting code as in inner error correcting code to the primary ECC module 302, for nesting or embedding within another ECC chunk encoded using the primary, or outer, error correcting code as described above. In other embodiments, encoders and/or decoders of the primary ECC module 302 and the secondary ECC module 304 may operate on different data, without nesting or embedding multiple levels or layers of error correcting codes in the same ECC chunks or code words. 92 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In various embodiments, a means for obtaining error information by decoding the at least one ECC chunk using a secondary error correcting code may include a secondary ECC module 304, a configuration module 150, a non-volatile memory controller 124, a non-volatile memory media controller 126, a device driver such as an SML 130, a processor 111, a read pipeline 241, other logic hardware and/or other executable code stored on a computer readable storage medium. Other embodiments may include similar or equivalent means for obtaining error information using the secondary error correcting code. 91 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In some embodiments, the secondary ECC module 304 may be configured to determine or obtain error information by decoding (or attempting to decode) the at least one ECC chunk using a secondary error correcting code, a secondary and tertiary/third error correcting code, or the like. In certain embodiments, the secondary ECC module 304 may determine or obtain error information, including determining whether the at least one ECC chunk is correctable using the secondary error correcting code, in response to the primary ECC module 302 determining that the at least one ECC chunk is uncorrectable using the primary error correcting code. 90 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 The secondary ECC module 304, in one embodiment, is configured to determine whether at least one ECC chunk encoded with a secondary error correcting code is correctable using the secondary error correcting code. In certain embodiments, the secondary error correcting code may be different from the primary error correcting code described above with regard to the primary ECC module 302. As described above, the primary ECC module 302 and the secondary ECC module 302 may operate on different data (e.g., the primary ECC module 302 may encode and/or decode user data, workload data, client data or the like and the secondary ECC module 304 may encode and/or decode access data), or, in certain embodiments, the primary ECC module 302 and the secondary ECC module 304 may operate on at least a portion of the same data in a nested manner (e.g., the primary ECC module 302 may encode and/or decode each ECC chunk and the secondary ECC module 304 may encode and/or decode a subset of ECC chunks, such as access data, using multiple levels or layers of error correcting codes). 89 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In other embodiments, the primary ECC module 302 may encode and/or decode a first set of data (e.g., user data, workload data, client data) and the secondary ECC module 304 may encode and/or decode a secondary, different set of data (e.g., access data) with one or more additional error correcting codes (e.g., a stronger error correcting code, a replication code, or the like as described below). In some embodiments, the primary ECC module 302 may include, control, or otherwise cooperate with an encoder for the primary error correcting code, which encodes access data and/or other data so it can be written to the non-volatile memory media 122. In a certain embodiment, the write pipeline 240 may include the encoder for the primary error correcting code, and the read pipeline 241 may include the decoder for the primary error correcting code. 88 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In one embodiment, the primary ECC module 302 may include, control, or otherwise cooperate with a decoder for the primary error correcting code. In a certain embodiment, the primary ECC module 302 may use the decoder for the primary error correcting code with at least one ECC chunk encoding access data to determine error information, to determine whether the at least one ECC chunk is decodable using the primary error correcting code, or the like. In a further embodiment, the primary ECC module 302 may use the decoder for the primary error correcting code with additional ECC chunks to decode data requested by a user or the like (e.g., the primary ECC module 302 may encode and/or decode all or substantially all data for the non-volatile memory device 120 and the secondary ECC module 304 may encode and/or decode a subset of data, such as access data). 87 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In various embodiments, the configuration module 150 may decode (or attempt to decode) the access data using the stronger error correcting code, the multiple error correcting codes, or the like thereby deriving error information that the configuration module 150 may use to determine or adjust media parameters for other data of the region of non-volatile media 122, even if the other data is protected by one or more weaker error correcting codes, fewer error correcting codes, or the like. In a further embodiment, ECC chunks that do not encode access data may encode additional data (e.g., user data, workload data) using a single level of error correcting code, such as the primary or outer error correcting code used by the primary ECC module 302. ECC chunks encoding data and access data are described in further detail below with regard to FIG. 5A, FIG. 5B, and FIG. 5C. 86 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In a certain embodiment, the repetition error correcting code may comprise an intermediate code between and/or in addition to the secondary/inner error correcting code provided by the secondary ECC module 304 and the primary/outer error correcting code provided by the primary ECC module 302. For example, the secondary ECC module 304 may provide a code word by encoding access data or other input data using the secondary/inner error correcting code, and the repetition code module 406 may repeat the code word from the secondary ECC module 304 as a message for the repetition error correcting code. The primary ECC module 302 may encode the repeated messages, taken together, using the primary/outer error correcting code to form at least one ECC code word or chunk. 113 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 The header module 412, in one embodiment, is configured to use data of the at least one ECC chunk encoded with multiple error correcting codes as a header for one or more additional ECC chunks of the non-volatile memory device 120. In various embodiments, the data of the at least one ECC chunk may include various types of data such as a header, user data, metadata, a predetermined data pattern, or the like. 121 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 Iteratively adjusting media parameters using a control loop module 410 may allow the configuration module 150 to tune media parameters for the non-volatile memory media 122 more effectively than it could by using the adjustment module 306 once. For example, in one embodiment, the error information may suggest a direction, but not a distance, for adjusting a read voltage threshold. Thus, the read voltage threshold may be over-adjusted or under-adjusted if the adjustment module 306 adjusts it once. However, a control loop module 410 may repeatedly determine error information and activate the adjustment module 306 to make successively finer adjustments to the read voltage threshold in order to satisfy an error criterion. 120 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In various embodiments, an error criterion for ending iterations of the control loop module 410 may be any criterion defining an acceptable type or quantity of errors. For example, in one embodiment, the control loop module 410 may determine that the error criterion is satisfied if an ECC chunk is decodable using the primary, or outer error correcting code. In another embodiment, the control loop module 410 may determine that the error criterion is satisfied if the RBER for a region of the non-volatile memory media is below a previously determined threshold. In light of this disclosure, many error criteria are clear which may be suitable for ending iterations of the control loop module 410. 119 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 The control loop module 410, in one embodiment, is configured to iteratively read the at least one ECC chunk encoded with multiple error correcting codes from the non-volatile memory device 120 using the adjusted media parameters. In each iteration, the control loop module 410 may activate the secondary ECC module 304 to determine the error information, and may activate the adjustment module 306 to adjust one or more media parameters. The iterations of the control loop module 410 may continue until an error criterion is satisfied. 118 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In one embodiment, if the repetition code module 406 determines that the ECC chunk is not decodable using the repetition error correcting code, the analog information module 408 may derive analog information from the repeated bits. The secondary ECC module 304 may then use the analog information to inform a soft-decision decoder for the secondary error correcting code, such as the soft decision module 402. Soft-decision decoders are described further below with regard to the soft decision module 402. 117 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 As used herein, analog information for data comprises state information for the data in addition to a binary value for the data. For example, instead of or in addition to a binary one or a binary zero for a bit of data in an ECC chunk, analog information may comprise a read voltage level for a storage cell for the bit, thereby comprising additional state information beyond a determined binary value. While referred to herein as “analog” information, because of the greater precision possible than may be indicated by a binary one or a binary zero, in certain embodiments, analog information is represented as a binary value, such as representing a read voltage level with a multiple bit accuracy instead of as a single binary one or zero. Thus analog information may be represented as a digital value. In one embodiment, analog information may include a range of values (e.g., multiple bits) for a single bit instead of a “hard” determination that the bit is a zero or a one. In a certain embodiment, the analog information module 408 may derive analog information from repeated messages by summing each repeated bit. In another embodiment, the analog information module 408 may derive analog information from repeated messages by averaging each repeated bit. In a further embodiment, the average of each repeated bit may be weighted based on a historical reliability for that bit. In light of this disclosure, many useful forms of analog information are clear. 116 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 In various embodiments, a means for deriving analog information may include an analog information module 408, a configuration module 150, a non-volatile memory controller 124, a non-volatile memory media controller 126, a device driver such as an SML 130, a processor 111, a read pipeline 241, other logic hardware and/or other executable code stored on a computer readable storage medium. Other embodiments may include similar or equivalent means for deriving analog information. 115 Added by DJM 2 2021 2/22/21, 12:00 AM
View Edit
Delete
US-20150012794-A1 The analog information module 408, in one embodiment, is configured to derive analog information from repeated messages of the repetition error correcting code. In a further embodiment, the analog information module 408 may derive analog information from the repeated messages in response to the repetition code module 406 determining that the at least one ECC chunk is uncorrectable using the repetition error correcting code. In a certain embodiment, the secondary ECC module 304 may be configured to determine that the at least one ECC chunk is correctable, or to decode the at least one ECC chunk, by using the analog information with the secondary, or inner error correcting code. The secondary ECC module 304 may use the analog information to inform a decoder for the secondary/inner error correcting code, and may determine error information based on using the analog information to attempt to decode the at least one ECC chunk with the secondary error correcting code. 114 Added by DJM 2 2021 2/22/21, 12:00 AM

Page 5 of 10, showing 20 record(s) out of 192 total