# US 2021/0240565 A1 · Non-Stationary Polar Codes for Resistive Memories

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240565 A1
- Document ID: US20210240565A1
- Status: Published application
- Kind: A1
- Application number: 17/162,144
- Filed: 2021-01-29
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: The Regents of the University of California
- Applicants: The Regents of the University of California
- Inventors: Marwen Zorgui; Mohammed Fouda; Ahmed M. Eltawil; Zhiying Wang; Fadi Kurdahi
- Web page: https://patentgrep.com/patent/US20210240565A1

## CPC

- G06F 11/1068: {in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence)}
- H03M 13/6362: {by puncturing}
- G06F 11/1012: {using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence)}
- G11C 13/0002: {using resistive RAM [RRAM] elements}
- H03M 13/13: Linear codes
- H03M 13/1575: {Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance}
- G11C 13/004: {Reading or sensing circuits or methods}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

Disclosed are various approaches for a controller that can generate and use non-stationary polar codes for encoding and decoding information. In one example, a method includes performing, by an encoder of the controller, a linear operation on at least one vector of information to be stored in a memory. The linear operation includes generating a polar encoded representation from the at least one vector of information. The linear operation also includes generating an output using at least one permutation that is based on a statistical characterization analysis of channels of the memory and a channel dependent permutation that is applied to the polar encoded representation. In some aspects, the statistical characterization analysis includes a respective reliability level of each one of the plurality of channels, and the channel dependent permutation includes an ordered permutation that orders the channels according to their respective reliability level.

## Claims

### Claim 1

A method, comprising:
obtaining, by a controller, a statistical characterization analysis that ranks a plurality of channels of a nonvolatile memory based at least in part on reliabilities associated with memory cells of the nonvolatile memory;
obtaining, by the controller, information to be stored in the nonvolatile memory;
encoding, by the controller, the information to be stored using a linear operation on at least one vector of the information to be stored, the linear operation comprising:
generating a polar encoded representation comprising a length-N polar code from the at least one vector of the information to be stored; and
generating an output using at least one permutation that is based at least in part on: the statistical characterization analysis, and a channel dependent permutation that is applied to the polar encoded representation; and
causing, by the controller, the output to be stored in the nonvolatile memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the nonvolatile memory is a resistive memory comprising a resistive crossbar array.

### Claim 3 (depends on 1)

The method of claim 1, wherein generating the polar encoded representation comprises applying an n-level polarization process.

### Claim 4 (depends on 1)

The method of claim 1, wherein the channel dependent permutation is a composition of two permutations.

### Claim 5 (depends on 1)

The method of claim 1, wherein the channel dependent permutation that is applied comprises a channel dependent permutation matrix.

### Claim 6 (depends on 1)

The method of claim 1, wherein the statistical characterization analysis comprises a respective reliability level of each one of the plurality of channels; and wherein the channel dependent permutation comprises an ordered permutation that orders the plurality of channels according to their respective reliability level.

### Claim 7 (depends on 6)

The method of claim 6, wherein the channel dependent permutation is a combination of the ordered permutation and a bit-reversal permutation.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating the polar encoded representation comprises generating a punctured polar code from the length-N polar code.

### Claim 9 (depends on 1)

The method of claim 1, wherein the plurality of channels comprise binary symmetric channels (BSCs), binary asymmetric channels (BACs), or asymmetric Gaussian channels.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving, by the controller, stored information stored in the nonvolatile memory and encoded using the linear operation; and
decoding, by the controller, the stored information by applying a second linear operation on at least one vector of the stored information, the second linear operation comprising:
generating a second polar encoded representation by undoing the at least one permutation; and
generating a polar decoded representation using polar decoding on the second polar encoded representation.

### Claim 11 (depends on 10)

The method of claim 10, wherein generating the polar decoded representation comprises applying successive cancellation decoding (SCD) for symmetric capacities of synthesized channels that tend towards 0 or 1.

### Claim 12 (depends on 10)

The method of claim 10, wherein generating the polar decoded representation comprises applying soft decoding for conditional cell distribution that is modeled as a Gaussian random variable with a certain mean and variance.

### Claim 13

A method, comprising:
in a controller comprising an encoder, the controller communicatively coupled to a resistive memory, performing:
generating, by the encoder, a polar encoded representation comprising a length-N polar code from at least one vector of information to be stored; and
generating, by the encoder, an output using at least one permutation that is based at least in part on: a statistical characterization analysis that ranks a plurality of channels of the resistive memory based at least in part on reliabilities associated with memory cells of the resistive memory, and a channel dependent permutation that is applied to the polar encoded representation.

### Claim 14 (depends on 13)

The method of claim 13, wherein the controller is configured to obtain the statistical characterization analysis from an element or a feature associated with a computing device.

### Claim 15 (depends on 13)

The method of claim 13, wherein the controller is configured to cause the output to be stored in the resistive memory.

### Claim 16 (depends on 13)

The method of claim 13, wherein the channel dependent permutation is a combination of two permutations.

### Claim 17 (depends on 13)

The method of claim 13, wherein the channel dependent permutation is a combination of an ordered permutation that orders the channels based at least in part on the statistical characterization analysis, and a bit-reversal permutation.

### Claim 18 (depends on 13)

The method of claim 13, wherein generating the polar encoded representation comprises applying a multi-level polarization process.

### Claim 19 (depends on 13)

The method of claim 13, wherein the plurality of channels comprise binary symmetric channels (BSCs), binary asymmetric channels (BACs), or asymmetric Gaussian channels.

### Claim 20 (depends on 13)

The method of claim 13, wherein the statistical characterization analysis indicates a number of resistance values in the resistive memory; and wherein the encoder generating the polar encoded representation comprises biasing the number of resistance values by generating a punctured polar code based at least in part on the length-N polar code.
