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 one embodiment, the compression module 312 compresses a first segment with a first compression routine and passes along a second segment without compression. In another embodiment, the compression module 312 compresses a first segment with a first compression routine and compresses the second segment with a second compression routine. Having this flexibility within the solid-state storage device 102 is beneficial so that clients 114 or other devices writing data to the solid-state storage device 102 may each specify a compression routine or so that one can specify a compression routine while another specifies no compression. Selection of compression routines may also be selected according to default settings on a per data structure type or data structure class basis. For example, a first data structure of a specific data structure may be able to override default compression routine settings and a second data structure of the same data structure class and data structure type may use the default compression routine and a third data structure of the same data structure class and data structure type may use no compression. 123 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In another embodiment, the write data pipeline 106 includes a compression module 312 that compresses the data for metadata segment prior to sending the data segment to the packetizer 302. The compression module 312 typically compresses a data or metadata segment using a compression routine known to those of skill in the art to reduce the storage size of the segment. For example, if a data segment includes a string of 512 zeros, the compression module 312 may replace the 512 zeros with code or token indicating the 512 zeros where the code is much more compact than the space taken by the 512 zeros. 122 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 3A is a schematic block diagram illustrating one embodiment 300 of a solid-state storage controller 104 with a write data pipeline 106 and a read data pipeline 108 in a solid-state storage device 102 in accordance with the present invention. The embodiment 300 includes a data bus 204, a local bus 206, and buffer control 208, which are substantially similar to those described in relation to the solid-state storage device controller 202 of FIG. 2. The write data pipeline 106 includes a packetizer 302 and an error-correcting code (“ECC”) encoder 304. In other embodiments, the write data pipeline 106 includes an input buffer 306, a write synchronization buffer 308, a write program module 310, a compression module 312, an encryption module 314, a garbage collector bypass 316 (with a portion within the read data pipeline 108), a bias module 318, and a write buffer 320. The read data pipeline 108 includes a read synchronization buffer 328, an ECC decoder 322, a depacketizer 324, an alignment module 326, and an output buffer 330. In other embodiments, the read data pipeline 108 may include an inverse bias module 332, a portion of the garbage collector bypass 316, a decryption module 334, a decompression module 336, and a read program module 338. 93 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the encryption module 314 encrypts a first packet with a first encryption key received in conjunction with the packet and encrypts a second packet with a second encryption key received in conjunction with the second packet. In another embodiment, the encryption module 314 encrypts a first packet with a first encryption key received in conjunction with the packet and passes a second data packet on to the next stage without encryption. Beneficially, the encryption module 314 included in the write data pipeline 106 of the solid-state storage device 102 allows data structure-by-data structure or segment-by-segment data encryption without a single file system or other external system to keep track of the different encryption keys used to store corresponding data structures or data segments. Each requesting device 155 or related key manager independently manages encryption keys used to encrypt only the data structures or data segments sent by the requesting device 155. 120 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 The encryption key may be received from a client 114, another computer, key manager, or other device that holds the encryption key to be used to encrypt the data segment. In one embodiment, encryption keys are transferred to the solid-state storage controller 104 from one of a solid-state storage device 102, computer 112, client 114, or other external agent which has the ability to execute industry standard methods to securely transfer and protect private and public keys. 119 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In another embodiment, the write data pipeline 106 also includes an encryption module 314 that encrypts a data or metadata segment received from the input buffer 306, either directly or indirectly, prior sending the data segment to the packetizer 302, the data segment encrypted using an encryption key received in conjunction with the data segment. The encryption keys used by the encryption module 314 to encrypt data may not be common to all data stored within the solid-state storage device 102 but may vary on an per data structure basis and received in conjunction with receiving data segments as described below. For example, an encryption key for a data segment to be encrypted by the encryption module 314 may be received with the data segment or may be received as part of a command to write a data structure to which the data segment belongs. The solid-sate storage device 102 may use and store a non-secret cryptographic nonce in each data structure packet that is used in conjunction with the encryption key. A different nonce may be stored with every packet. Data segments may be split between multiple packets with unique nonces for the purpose of improving protection by the encryption algorithm. 118 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In another embodiment, the bias module 318 may be integrated with another element of the write data pipeline 106, such as the compression module 312, the encryption module 314, the ECC encoder 304, or the like. The bias module 318 and corresponding inverse bias module 332 transparently increase the performance of the solid-state storage media 110 as the bias module 318 biases data packets before they are written and the inverse bias module 332 converts the biased data packets back to their original source state after they are read. 117 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 In one embodiment, the bias module 318 biases one or more data segments prior to sending the data segments to the ECC encoder 304. The data segment may be a grouping of bits smaller than a data packet in one embodiment. In such an embodiment, the data segment may comprise the width in bits/bytes of the write data pipeline 106. Similarly, the inverse bias module 332 may convert biased data segments back to their original source state after they are read. Biasing and inverse biasing a data segment may facilitate use of the bias module 318 and the inverse bias module 332 in a write data pipeline 106 and a read data pipeline 108 because the data segment may be sized to match the size (bus width) of data streaming through the pipelines 106,108. 116 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 As depicted, the bias module 318 biases the one or more packets prior to sending the packets to the ECC encoder 304. Depending on the method that the bias module 318 uses to bias the packets, and on other design considerations, in a further embodiment, the bias module 318 may receive data subsequent to the ECC encoder 304 in the write data pipeline 106, or be placed elsewhere in the write data pipeline 106. For example, in certain embodiments, it may be beneficial to keep ECC data separate from data that the bias module 318 biases, while in other embodiments it may be beneficial for the bias module 318 to bias data that includes ECC data from the ECC encoder 304. 115 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 By biasing data packets toward the bias of the storage cells, the bias module 318 increases performance and endurance of the solid-state storage media 110 and the solid-state storage device 102. For example, biasing packets to more closely match the bias of the storage cells decreases write times and erase times because fewer actual storage cells must be changed to execute the operation. It also increases the writable life of the storage cells because fewer operations that are executed on a storage cell mean that the storage cell will last longer before wear begins to affect the storage cell performance/reliability. In certain embodiments, biasing data packets may decrease power consumption or have other additional benefits. Because, in one embodiment, the storage cells store initial binary values that satisfy a bias just prior to being programmed or written to, the closer that the data packets match the bias of the storage cells, the fewer the number of storage cells that are changed to store the data packets, and the more storage cells that remain in a biased state. 114 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 Those of skill in the art recognize that the bias module 318 may, alternatively, operate on one or more data segments that form a subset of a data packet. Similarly, the inverse bias module 332 may operate on data segments as well. Alternatively, or in addition, in one embodiment, the data packet (or data packet subsets such as a data segment) may be sized based on a size of a storage region in the solid-state storage media 110, a size of a bus or buffer, a size of a pipeline 106, 108, a number of extra bits available for storage of an indicator, or the like. 113 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 The configuration update module 510 determines 1006 whether or not there is a change in one or more storage media characteristics for the set of storage cells, from the characteristic update module 508 updating 1004 the one or more storage media characteristics or the like. If the configuration update module 510 determines 1006 that there is a change in the one or more storage media characteristics for the set of storage cells, the media characteristic module 502 references 1008 the one or more storage media characteristics for the set of storage cells and the configuration parameter module 504 and/or the configuration update module 510 determines/updates 1010 a configuration parameter for the set of storage cells. If the configuration update module 510 determines 1006 that there is no change in the one or more storage media characteristics for the set of storage cells, the method 1000 skips the referencing 1008 step and the determining/updating step 1010. 307 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 10 depicts another embodiment of a method 1000 for improving the utility of solid-state storage media 110. The method 1000 begins and the characteristic update module 508 determines 1002 whether or not an update event has occurred for a set of storage cells of the solid-state storage media 110. If the characteristic update module 508 determines 1002 that an update event has occurred, the characteristic update module 508 updates 1004 one or more storage media characteristics for the set of storage cells, in a storage media characteristic repository 702 or the like. If the characteristic update module 508 determines 1002 that an update event has not occurred, the characteristic update module 508 does not update 1004 the one or more storage media characteristics for the set of storage cells. 306 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 FIG. 9 depicts one embodiment of a method 900 for improving the utility of solid-state storage media 110. The method 900 begins and the media characteristic module 502 references 902 one or more storage media characteristics for a set of storage cells of the solid-state storage media 110. The configuration parameter module 504 determines 904 a configuration parameter for the set of storage cells based on the one or more references 902 storage media characteristics. The storage cell configuration module 506 configures 906 the set of storage cells to use the determined 904 configuration parameter and the method 900 ends. 305 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 Flow Chart 304 Added by DJM 3 2021 3/12/21, 12:00 AM
View Edit
Delete
US-8380915-A1 While the configuration parameters 804 in the depicted embodiment are illustrated as read voltage threshold adjustments, as described above, in other embodiments, configuration parameters 804 may include resistivity thresholds, write or program thresholds, erase thresholds, and/or other modifiable parameters of the solid-state storage media 110. As described above, a configuration parameter 804 may include an absolute data value, an offset or adjustment to a data value, or another parameter. The configuration update module 510 may cooperate with the configuration parameter module 504 to update the configuration parameter repository 802 as described above. 303 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
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 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

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