# US 8,751,729 B2 · Flash memory device and memory system including the same

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

- Number: US 8,751,729 B2
- Document ID: US8751729B2
- Status: Granted
- Kind: B2
- Application number: 13/326,820
- Filed: 2011-12-15
- Published: 2012-06-28
- Granted: 2014-06-10
- Earliest claimed: 2010-12-23
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Kui-Yon Mun; Jongkeun Ahn
- Inventors: Kui-Yon Mun; Jongkeun Ahn
- Web page: https://patentgrep.com/patent/US8751729B2

## CPC

- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/1408: {by using cryptography (for digital transmission H04L9/00)}
- G11C 16/3418: {Disturbance prevention or evaluation; Refreshing of disturbed memory data}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A method of controlling a memory, determining whether data access is random; generating a first random sequence (RS) data based on a first seed if data access is not random (column offset=0); mixing the first RS data with data read from the memory or data to be written to the memory; generating a second seed from a first seed if data access is random (column offset not=0); generating a second RS data based on the second seed; and mixing the second RS data with data read from the memory or data to be written to the memory.

## Claims

### Claim 1

A method of controlling a memory, comprising:
determining whether data access is random;
generating a first random sequence (RS) data based on a first seed if data access is not random;
mixing the first RS data with data read from the memory or data to be written to the memory;
generating a second seed from the first seed if data access is random;
generating a second RS data based on the second seed; and
mixing the second RS data with data read from the memory or data to be written to the memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first seed is based on one of row address, page address, block unit, or sector unit.

### Claim 3 (depends on 1)

The method of claim 1, wherein it is determined that data access is random when a column offset value of the data access is nonzero.

### Claim 4 (depends on 1)

The method of claim 1, wherein it is determined that data access is not random when a column offset value of the data access is zero.

### Claim 5 (depends on 1)

The method of claim 1, wherein the second RS data includes RS data that satisfy 1+xK-1+xk polynomial.

### Claim 6 (depends on 1)

The method of claim 1, further including using the first seed for a first segment, the second seed for an intermediate segment, and a third seed generated based on the first or second seed for a third segment.

### Claim 7 (depends on 1)

The method of claim 1, wherein the data to be written is received from an I/O pin and the mixed data is output to a page buffer.

### Claim 8 (depends on 1)

The method of claim 1, wherein the data read from the memory and mixed with the second RS data is output to an I/O pin.

### Claim 9

A method of controlling a memory, comprising:
receiving an offset address value N, N being a column portion of an access address;
generating M random sequence (RS) data prior to derandomizing first read data based on the access address, wherein the maximum value of M is N; and
derandomizing the first read data by mixing with an Nth RS data.

### Claim 10 (depends on 9)

The method of claim 9, wherein M=N.

### Claim 11 (depends on 9)

The method of claim 9, wherein the generating M RS data includes RS data that satisfy a 1+xK-1+xk polynomial.

### Claim 12 (depends on 11)

The method of claim 11, wherein K=11.

### Claim 13 (depends on 11)

The method of claim 11, further including accelerating the generating M RS data by selecting a RS data string path that includes pre-shifted outputs.

### Claim 14

A method of controlling a memory, comprising:
receiving an offset value N, N being a column portion of an access address;
generating M random sequence data prior to derandomizing first read data based on the access address, wherein M is a range from 1 to less than the end of the column portion of the access address; and
derandomizing the first read data using an Nth RS data.

### Claim 15 (depends on 14)

The method of claim 14, further including outputting derandomized first data via an I/O pin.

### Claim 16

A method of controlling a memory, comprising:
receiving an column offset value N;
generating at least one random sequence (RS) data based on a start seed until a count increased from a predetermined value reaches N;
determining one of said at least one RS data as an initial RS data;
derandomizing data read from the memory or randomizing data to be written to the memory using the initial RS data.

### Claim 17 (depends on 16)

The method of claim 16, wherein the start seed is based on one of row address, page address, block unit, or sector unit.

### Claim 18 (depends on 16)

The method of claim 16, wherein the predetermined value is zero.

### Claim 19 (depends on 16)

The method of claim 16, wherein said at least one RS data includes a RS data that satisfies a 1+xK-1+xk polynomial.

### Claim 20 (depends on 18)

The method of claim 18, wherein said determining comprises determining last generated one of said at least one RS data as the initial RS data.

### Claim 21 (depends on 18)

The method of claim 18, wherein the derandomized data is output to an I/O pin.

### Claim 22 (depends on 18)

The method of claim 18, wherein the data to be written to the memory is received from an I/O pin and the randomized data is output to a page buffer.

### Claim 23 (depends on 18)

The method of claim 18, further including accelerating the generation of said at least one RS data by selecting a RS data string path that includes pre-shifted outputs.

### Claim 24

A memory device, comprising:
a flash memory cell array;
a random sequence (RS) data generator configured to generate at least one RS data string based on a first seed;
a randomizing circuit configured to mix the RS data with data to be written to the flash memory cell array;
a derandomizing circuit configured to derandomize data read from the flash memory cell array; and
a control circuit configured to control access to the flash memory cell array and activate the RS data generator based on memory access mode, wherein the randomizing circuit and the derandomizing circuit are disposed between a page buffer and an I/O pin;
wherein a portion of memory address is used as the first seed in one mode and a second seed is generated by the RS data generator in a second mode.

### Claim 25 (depends on 24)

The device of claim 24, wherein the RS data generator is configured to generate RS data that satisfy 1+xk-1+xk polynomial, wherein k is an integer.

### Claim 26 (depends on 24)

The device of claim 24, wherein the RS data generator is configured to output at least one preset RS data upon receipt of an acceleration signal.

### Claim 27

A memory system comprising:
a memory device comprising:
a flash memory cell array;
a random sequence (RS) circuit configured to generate RS data; and
a mixer configured to mix random sequence (RS) data with data to be written to the flash memory cell array and to derandomize data read from the flash memory cell array;
a memory controller comprising a control circuit configured to control writing to and reading from the flash memory cell array through the mixer; and
at least another memory device comprising a flash memory cell array and a random sequence circuit configured to mix random sequence RS data with data to be written to the flash memory cell array and to derandomize data read from the flash memory cell array.

### Claim 28 (depends on 27)

The system of claim 27, wherein the memory controller further includes an error control circuit (ECC) configured to perform error correction functions when reading data from the flash memory cell array.

### Claim 29 (depends on 27)

The system of claim 27, wherein the flash memory cell array is a multiple levels per cell (MLC) type.

### Claim 30 (depends on 27)

The system of claim 27, wherein the memory device is embodied in an SSD card.

### Claim 31 (depends on 27)

The system of claim 27, wherein the memory device and the memory controller are embodied in an SSD card.

### Claim 32 (depends on 31)

The system of claim 31, further including a processing device configured to control the SSD card and at least another SSD card.

### Claim 33 (depends on 31)

The system of claim 31, further including a server configured to control the SSD card and a RAID controller configured to control another SSD card including parity management functions.

### Claim 34 (depends on 32)

The system of claim 32, further including a host processing device configured to communicate with the plurality of SSD cards.

### Claim 35 (depends on 34)

The system of claim 34, further including wireless transceivers configured to wirelessly communicate between the host processing device and the plurality of SSD cards.

### Claim 36 (depends on 32)

The system of claim 32, further including a network connecting a plurality of processing devices and the plurality of SSD cards.

### Claim 37 (depends on 31)

The system of claim 31, further including a cellular transceiver configured to communicate with a cellular network.

### Claim 38 (depends on 31)

The system of claim 31, further including an image sensor configured to capture images.

### Claim 39

A memory device, comprising:
a flash memory cell array;
a random sequence (RS) data generator configured to generate at least one RS data string based on a first seed;
a mixer configured to derandomize data read from the flash memory cell array; and
a control circuit configured to control access to the flash memory cell array and activate the RS data generator based on memory access mode, wherein a portion of memory address is used as the first seed in one mode and a second seed is generated by the RS data generator in a second mode.

### Claim 40 (depends on 39)

The device of claim 39, wherein the mixer is further configured to randomize data to be written to the flash memory cell array with RS data.

### Claim 41 (depends on 39)

The device of claim 39, wherein the mixer is configured to receive data read from the flash memory cell array through a page buffer and the derandomized data is output via an I/O pin.

### Claim 42 (depends on 39)

The device of claim 39, wherein the control circuit is configured to generate an intermediate seed based on the first seed and RS data is generated based on the intermediate seed.

### Claim 43 (depends on 39)

The device of claim 39, wherein the flash memory cell array includes multiple levels cell (MLC) type flash.

### Claim 44 (depends on 43)

The device of claim 43, wherein the mixer is configured to mix multi-value data by bit-wise XOR operation.
