US11757468B2ActiveUtilityA1

Soft data compression for non-volatile memory

69
Assignee: SANDISK TECHNOLOGIES LLCPriority: Sep 24, 2020Filed: May 29, 2021Granted: Sep 12, 2023
Est. expirySep 24, 2040(~14.2 yrs left)· nominal 20-yr term from priority
H03M 7/42H03M 7/6011H03M 7/46H03M 7/6047G06F 3/0659
69
PatentIndex Score
1
Cited by
10
References
20
Claims

Abstract

An encoder of a storage medium encodes data subject to a read operation specified by a storage controller by generating a plurality of symbols representing a soft data stream corresponding to the data subject to the read operation, where each symbol of the plurality of symbols includes (i) a single-bit value number indicating whether the symbol counts 0s or 1s, and (ii) an N-bit count number indicating a bit count associated with the symbol, where N is greater than or equal to two, and the encoder of the storage medium is configured to convey the plurality of generated symbols to the storage controller via electrical interface circuitry connecting the storage medium and the storage controller.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A data storage system, comprising:
 a storage medium including a plurality of memory cells and an encoder; 
 a storage controller in communication with the storage medium; and 
 electrical interface circuitry configured to transfer data via a channel disposed between the storage medium and the storage controller; 
 wherein the encoder of the storage medium is configured to:
 receive data subject to a read operation specified by the storage controller; 
 encode the data subject to the read operation including generating a plurality of symbols representing a soft data stream corresponding to the data subject to the read operation, wherein each symbol of the plurality of symbols representing the soft data stream includes:
 (i) a single-bit value number indicating whether the symbol counts 0s or 1s, and 
 (ii) an N-bit count number indicating a bit count associated with the symbol, where N is greater than or equal to two; and 
 
 convey the plurality of generated symbols to the storage controller via the electrical interface circuitry. 
 
 
     
     
       2. The data storage system of  claim 1 , wherein for each symbol of the plurality of symbols:
 if the value number is 1, the count number indicates a number of 0s preceding a 1; and 
 if the value number is 0, the count number indicates a number of is preceding a 0. 
 
     
     
       3. The data storage system of  claim 1 , wherein the encoder is configured to generate symbols for a plurality of combinations of N+1 bits of the data subject to the read operation based on a lookup table stored at the storage medium. 
     
     
       4. The data storage system of  claim 3 , wherein the lookup table respectively maps each combination of N+1 bits to two symbols. 
     
     
       5. The data storage system of  claim 3 , wherein the lookup table maps:
 at least one of the plurality of combinations of N+1 bits to an intermediate symbol and a final symbol; and 
 at least one of the plurality of combinations of N+1 bits to two final symbols in the lookup table. 
 
     
     
       6. The data storage system of  claim 5 , wherein the encoder is configured to combine an intermediate symbol of one of the plurality of combinations of N+1 bits with a final symbol of another of the plurality of combinations of N+1 bits before conveying the plurality of generated symbols to the storage controller. 
     
     
       7. The data storage system of  claim 1 , wherein the storage controller includes a decoder configured to:
 receive the plurality of generated symbols; and 
 for each symbol of the plurality of generated symbols, output:
 (i) a single bit specified by the value number, and 
 (ii) N bits specified by the count number, preceding the single bit, and having values that are complementary to that of the single bit. 
 
 
     
     
       8. A method of operating a data storage system, comprising:
 at an encoder of a storage medium of the data storage system:
 receiving data subject to a read operation specified by a storage controller of the data storage system; 
 encoding the data subject to the read operation including generating a plurality of symbols representing a soft data stream corresponding to the data subject to the read operation, wherein each symbol of the plurality of symbols representing the soft data stream includes:
 (i) a single-bit value number indicating whether the symbol counts 0s or 1s, and 
 (ii) an N-bit count number indicating a bit count associated with the symbol, where N is greater than or equal to two; and 
 
 conveying the plurality of generated symbols to the storage controller. 
 
 
     
     
       9. The method of  claim 8 , wherein for each symbol of the plurality of symbols:
 if the value number is 1, the count number indicates a number of 0s preceding a 1; and 
 if the value number is 0, the count number indicates a number of is preceding a 0. 
 
     
     
       10. The method of  claim 8 , wherein the encoder is configured to generate symbols for a plurality of combinations of N+1 bits of the data subject to the read operation based on a lookup table stored at the storage medium. 
     
     
       11. The method of  claim 10 , wherein the lookup table respectively maps each combination of N+1 bits to two symbols. 
     
     
       12. The method of  claim 10 , wherein the lookup table maps:
 at least one of the plurality of combinations of N+1 bits to an intermediate symbol and a final symbol; and 
 at least one of the plurality of combinations of N+1 bits to two final symbols in the lookup table. 
 
     
     
       13. The method of  claim 12 , wherein the method includes combine, at the encoder, an intermediate symbol of one of the plurality of combinations of N+1 bits with a final symbol of another of the plurality of combinations of N+1 bits before conveying the plurality of generated symbols to the storage controller. 
     
     
       14. The method of  claim 8 , further comprising, at a decoder of the storage controller:
 receiving the plurality of generated symbols; and 
 for each symbol of the plurality of generated symbols, outputting:
 (i) a single bit specified by the value number, and 
 (ii) N bits specified by the count number, preceding the single bit, and having values that are complementary to that of the single bit. 
 
 
     
     
       15. A data storage system, comprising:
 means for receiving data subject to a read operation specified by a storage controller of the data storage system; 
 means for encoding the data subject to the read operation including means for generating a plurality of symbols representing a soft data stream corresponding to the data subject to the read operation, wherein each symbol of the plurality of symbols representing the soft data stream includes:
 (i) a single-bit value number indicating whether the symbol counts 0s or 1s, and 
 (ii) an N-bit count number indicating a bit count associated with the symbol, where N is greater than or equal to two; and 
 
 means for conveying the plurality of generated symbols to the storage controller. 
 
     
     
       16. The data storage system of  claim 15 , wherein for each symbol of the plurality of symbols:
 if the value number is 1, the count number indicates a number of 0s preceding a 1; and 
 if the value number is 0, the count number indicates a number of is preceding a 0. 
 
     
     
       17. The data storage system of  claim 15 , wherein the means for encoding include means for generating symbols for a plurality of combinations of N+1 bits of the data subject to the read operation based on a lookup table stored at the storage medium. 
     
     
       18. The data storage system of  claim 17 , wherein the lookup table respectively maps:
 each combination of N+1 bits to two symbols; 
 at least one of the plurality of combinations of N+1 bits to an intermediate symbol and a final symbol; and 
 at least one of the plurality of combinations of N+1 bits to two final symbols in the lookup table. 
 
     
     
       19. The data storage system of  claim 18 , wherein the means for encoding include means for combining an intermediate symbol of one of the plurality of combinations of N+1 bits with a final symbol of another of the plurality of combinations of N+1 bits before conveying the plurality of generated symbols to the storage controller. 
     
     
       20. The data storage system of  claim 15 , further comprising:
 means for receiving the plurality of generated symbols at the storage controller; and 
 means for outputting, for each symbol of the plurality of generated symbols:
 (i) a single bit specified by the value number, and 
 (ii) N bits specified by the count number, preceding the single bit, and having values that are complementary to that of the single bit.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.