# US 2021/0344356 A1 · Mobile data storage

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

- Number: US 2021/0344356 A1
- Document ID: US20210344356A1
- Status: Published application
- Kind: A1
- Application number: 16/865,891
- Filed: 2020-05-04
- Published: 2021-11-04
- Earliest claimed: 2020-05-04
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: AMIT BERMAN; ARIEL DOUBCHAK; ELI HAIM; EVGENY BLAICHMAN
- Web page: https://patentgrep.com/patent/US20210344356A1

## CPC

- G06N 3/006: based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
- H03M 13/1515: {Reed-Solomon codes}
- G06N 3/045: Combinations of networks
- G06N 3/0495: Quantised networks; Sparse networks; Compressed networks
- G06N 3/0499: Feedforward networks
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 3/092: Reinforcement learning
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N 20/00: Machine learning
- G11C 7/02: with means for avoiding parasitic signals
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C 11/4074: Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
- G11C 11/4085: {Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge}
- G11C 11/54: using elements simulating biological cells, e.g. neuron
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- H03M 13/1105: {Decoding}
- H03M 13/2909: {Product codes}
- H03M 13/3927: {Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs}
- G11C 2029/0411: {Online error correction}
- H03M 13/13: Linear codes
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- 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

A mobile electronic device may include a memory device and a memory controller including an error correction code (ECC) encoder to encode data, a constrained channel encoder configured to encode an output of the ECC encoder based on one or more constraints, a reinforcement learning pulse programming (RLPP) component configured to identify a programming algorithm for programming the data to the memory device, an expectation maximization (EM) signal processing component configured to receive a noisy multi-wordline voltage vector from the memory device and classify each bit of the vector with a log likelihood ration (LLR) value, a constrained channel decoder configured to receive a constrained vector from the EM signal processing component and produce an unconstrained vector, and an ECC decoder configured to decode the unconstrained vector. A machine learning interference cancellation component may operate based on or independent of input from the EM signal processing component.

## Claims

### Claim 1

A mobile electronic device, comprising:
a memory device;
a memory controller comprising a processor and an internal memory and configured to operate the memory device, wherein the memory controller further comprises:
an error correction code (ECC) encoder configured to encode data for programming to the memory device;
a constrained channel encoder configured to encode an output of the ECC encoder based on one or more constraints for programming to the memory device;
a reinforcement learning pulse programming (RLPP) component configured to identify a programming algorithm for programming the data to the memory device;
a constrained channel decoder configured to receive a constrained vector and produce an unconstrained vector; and
an ECC decoder configured to decode the unconstrained vector.

### Claim 2 (depends on 1)

The mobile electronic device of claim 1, wherein:
the ECC encoder is configured to encode the data using an S-polar coding scheme that incorporates a Reed Solomon (RS) coding scheme and a polar coding scheme.

### Claim 3 (depends on 2)

The mobile electronic device of claim 2, wherein:
the ECC encoder comprises a reduced frame size and a reduced redundancy level configured for a mobile architecture.

### Claim 4 (depends on 1)

The mobile electronic device of claim 1, wherein:
the constrained channel encoder is configured to identify data from a next wordline of the memory device prior to encoding the output of the ECC encoder for a current wordline of the memory device.

### Claim 5 (depends on 1)

The mobile electronic device of claim 1, wherein:
the RLPP component comprises a wordline agent, a level agent, and a block agent.

### Claim 6 (depends on 1)

The mobile electronic device of claim 1, further comprising:
an expectation maximization (EM) signal processing component configured to receive a noisy multi-wordline voltage vector from the memory device and classify each bit of the noisy multi-wordline voltage vector with a log likelihood ration (LLR) value.

### Claim 7 (depends on 6)

The mobile electronic device of claim 6, wherein:
the EM signal processing component is configured based on a reduced sample size for a mobile architecture.

### Claim 8 (depends on 1)

The mobile electronic device of claim 1, further comprising:
a machine learning interference successive cancellation component configured to receive a noisy wordline vector from the ECC decoder and provide a de-noised wordline vector to the ECC decoder.

### Claim 9 (depends on 8)

The mobile electronic device of claim 8, wherein:
the machine learning interference successive cancellation component operates based on input from an EM signal processing component.

### Claim 10 (depends on 1)

The mobile electronic device of claim 1, further comprising:
a neural network decoder configured to receive a wordline data vector and a wordline voltage vector and produce a recovered data vector.

### Claim 11 (depends on 10)

The mobile electronic device of claim 10, wherein:
the neural network decoder comprises a reduced number of nodes, wherein the reduced number of nodes is selected for a mobile architecture.

### Claim 12 (depends on 1)

The mobile electronic device of claim 1, wherein:
each cell of the memory device comprises a 5-bit or 6-bit NAND flash memory cell.

### Claim 13

A method for programming data to a memory device, the method comprising:
receiving a block of data;
encoding the block of data based on an error correction code (ECC) coding scheme;
encoding the block of data based on a constrained coding scheme; and
programming the encoded block of data to a memory device using reinforcement learning pulse programming (RLPP).

### Claim 14 (depends on 13)

The method of claim 13, wherein:
the ECC coding scheme comprises an S-polar coding scheme that incorporates a Reed Solomon (RS) coding scheme and a polar coding scheme.

### Claim 15 (depends on 13)

The method of claim 13, further comprising:
identifying data from a next wordline of the memory device, wherein the constrained coding scheme is based on the identified data from the next wordline.

### Claim 16

A method for reading data from a memory device, the method comprising:
reading a block of data from a memory device;
processing the block of data using expectation maximization (EM) signal processing to classify each bit of the block of data with a log likelihood ration (LLR) value;
decoding the block of data based on a constrained coding scheme; and
decoding the block of data based on an error correction code (ECC) coding scheme.

### Claim 17 (depends on 16)

The method of claim 16, wherein:
the ECC coding scheme comprises an S-polar coding scheme that incorporates a Reed Solomon (RS) coding scheme and a polar coding scheme.

### Claim 18 (depends on 16)

The method of claim 16, wherein:
the decoding the block of data based on the ECC coding scheme is performed based at least in part on the LLR value.

### Claim 19 (depends on 16)

The method of claim 16, further comprising:
determining that the decoding based on the ECC coding scheme is not sufficient; and
performing machine learning interference successive cancellation based on the determination.

### Claim 20 (depends on 16)

The method of claim 16, further comprising:
determining that the decoding based on the ECC coding scheme is not sufficient; and
decoding the block of data using a neural network decoder.
