# US 7,149,111 B2 · Method of handling limitations on the order of writing to a non-volatile memory

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

- Number: US 7,149,111 B2
- Document ID: US7149111B2
- Status: Granted
- Kind: B2
- Application number: 11/142,489
- Filed: 2005-06-02
- Published: 2006-06-22
- Granted: 2006-12-12
- Earliest claimed: 2004-12-17
- Assignees: Msystems Ltd.
- Inventors: Mark Murin; Menahem Lasser
- Web page: https://patentgrep.com/patent/US7149111B2

## CPC

- G11C 16/102: {External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators}
- G06F 3/0626: {Reducing size or complexity of storage systems}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G11C 11/5628: {Programming or writing circuits; Data input circuits}
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Sectors of data are stored in a non-volatile memory by writing all the sectors in a first order and subsequently writing all the sectors in a different, second order that is determined prior to the second writing. Sectors are stored in a non-volatile memory by writing the sectors using a first set of write operations and again writing the sectors using a second set of write operations that write one or more of the sectors twice. The first set writes each sector only once and the second set writes the sectors from outside the memory. The first set writes in a mode that couples the cells of the memory less than the second set. The first set writes less reliably than the second set.

## Claims

### Claim 1

A method of storing a plurality of sectors of data, comprising the steps of:
(a) providing a non-volatile memory;
(b) writing all the sectors in said non-volatile memory in a first order; and
(c) subsequent to said writing of all the sectors in said first order, writing all the sectors in said non-volatile memory in a second order, different from said first order, that is determined prior to said writing of the sectors in said second order.

### Claim 2 (depends on 1)

The method of claim 1, wherein said first and second orders are temporal orders.

### Claim 3 (depends on 1)

The method of claim 1, wherein said second order is determined in accordance with the data.

### Claim 4 (depends on 1)

The method of claim 1, wherein said non-volatile memory is provided as part of a memory device that includes at least one other memory, and wherein, between said writing of all the sectors in said non-volatile memory in said first order and said writing of all the sectors in said non-volatile memory in said second order, the sectors are stored in said memory device only in said non-volatile memory.

### Claim 5 (depends on 1)

The method of claim 1, wherein said writing in said second order is effected using a different writing mode than said writing in said first order.

### Claim 6 (depends on 5)

The method of claim 5, wherein said mode of said writing in said first order has a different density than said mode of said writing in said second order.

### Claim 7 (depends on 6)

The method of claim 6, wherein said non-volatile memory includes a plurality of cells, and wherein said mode of said writing in said first order stores a different number of bits of the data per cell than said mode of said writing in said second order.

### Claim 8 (depends on 7)

The method of claim 7, wherein said mode of said writing in said first order stores fewer said bits per cell than said mode of said writing in said second order.

### Claim 9 (depends on 6)

The method of claim 6, wherein said mode of said writing in said first order has a lower density than said mode of said writing in said second order.

### Claim 10 (depends on 9)

The method of claim 9, wherein said mode of said writing in said first order reduces coupling between cells of said non-volatile memory that are written thereby, relative to said coupling between said cells of said non-volatile memory that are written by said mode of said writing in said second order, by leaving unwritten cells between cells that are written.

### Claim 11 (depends on 10)

The method of claim 10, wherein said unwritten cells include cells of pages of said non-volatile memory that are skipped by said mode of said writing in said first order.

### Claim 12 (depends on 11)

The method of claim 11, wherein every pair of said pages that are written by said mode of said writing in said first order have between them at least one unwritten page.

### Claim 13 (depends on 11)

The method of claim 11, wherein every pair of said pages that are written by said mode of said writing in said first order have between them at least three unwritten pages.

### Claim 14 (depends on 5)

The method of claim 5, wherein said writing in said first order has a different reliability than said writing in said second order.

### Claim 15 (depends on 14)

The method of claim 14, wherein said writing in said first order has a lower reliability than said writing in said second order.

### Claim 16 (depends on 15)

The method of claim 15, wherein said different reliability includes a different data retention time.

### Claim 17 (depends on 1)

The method of claim 1, wherein said writing in said second order is effected by a single plurality of consecutive write operations.

### Claim 18 (depends on 1)

The method of claim 1, wherein said writing in said second order is effected by a plurality of intermittent write operations.

### Claim 19 (depends on 1)

The method of claim 1, wherein, during said writing of the sectors in said second order, at least one sector is written twice in said non-volatile memory.

### Claim 20

A method of storing a plurality of sectors of data, comprising the steps of:
(a) providing a non-volatile memory;
(b) writing the sectors in said memory using a first set of at least one write operation, each said sector being written only once by said first set; and
(c) subsequent to beginning said writing of the sectors using said first set, writing the sectors in said memory from outside said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set.

### Claim 21 (depends on 20)

The method of claim 20, wherein said second set uses a different writing mode than said first set.

### Claim 22 (depends on 21)

The method of claim 21, wherein said mode of said first set has a different density than said mode of said second set.

### Claim 23 (depends on 22)

The method of claim 22, wherein said memory includes a plurality of cells, and wherein said mode of said first set stores a different number of bits of the data per cell than said mode of said first set.

### Claim 24 (depends on 23)

The method of claim 23, wherein said mode of said first set stores fewer said bits per cell than said mode of said second set.

### Claim 25 (depends on 22)

The method of claim 22, wherein said mode of said first set has a lower density than said mode of said second set.

### Claim 26 (depends on 21)

The method of claim 21, wherein said writing mode of said first set has a different reliability than said writing mode of said second set.

### Claim 27 (depends on 26)

The method of claim 26, wherein said writing mode of said first set has a lower reliability than said writing mode of said second set.

### Claim 28 (depends on 20)

The method of claim 20, wherein said second set includes a consecutive plurality of write operations.

### Claim 29 (depends on 20)

The method of claim 20, wherein said second set includes an intermittent plurality of write operations.

### Claim 30 (depends on 20)

The method of claim 20, wherein said non-volatile memory is provided as part of a memory device that includes at least one other memory, and wherein, between said writing of the sectors in said non-volatile memory by said first set and said writing of the sectors in said non-volatile memory by said second set, the sectors are stored in said memory device only in said non-volatile memory.

### Claim 31 (depends on 20)

The method of claim 20, wherein said non-volatile memory includes a plurality of cells, and wherein said writing by said first set uses a writing mode that has less coupling between said cells that then are written than said writing by said second set.

### Claim 32

A method of storing a plurality of sectors of data, comprising the steps of:
(a) providing a non-volatile memory that includes a plurality of cells;
(b) writing the sectors in said non-volatile memory using a first set of at least one write operation; and
(c) subsequent to beginning said writing of the sectors using said first set, writing the sectors in said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set;
wherein said writing by said first set uses a first writing mode and said writing by said second set uses a second writing mode, said first writing mode reducing coupling between said cells that are written thereby, relative to said coupling between said cells that are written by said second writing mode, by leaving unwritten cells between cells that are written.

### Claim 33 (depends on 32)

The method of claim 32, wherein said unwritten cells include cells of pages of said non-volatile memory that are skipped by said first writing mode.

### Claim 34 (depends on 33)

The method of claim 33, wherein every pair of said pages that are written by said first writing mode have between them at least one unwritten page.

### Claim 35 (depends on 33)

The method of claim 33, wherein every pair of said pages that are written by said first writing mode have between them at least three unwritten pages.

### Claim 36 (depends on 32)

The method of claim 32, wherein said non-volatile memory is provided as part of a memory device that includes at least one other memory, and wherein, between said writing of the sectors in said non-volatile memory by said first set and said writing of the sectors in said non-volatile memory by said second set, the sectors are stored in said memory device only in said non-volatile memory.

### Claim 37 (depends on 32)

The method of claim 32, wherein said second set includes a consecutive plurality of write operations.

### Claim 38 (depends on 32)

The method of claim 32, wherein said second set includes an intermittent plurality of write operations.

### Claim 39

A method of storing a plurality of sectors of data, comprising the steps of:
(a) providing a non-volatile memory;
(b) writing the sectors in said non-volatile memory using a first set of at least one write operation; and
(c) subsequent to beginning said writing of the sectors using said first set, writing the sectors in said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set;
wherein said writing by said first set has a lower reliability than said writing by said second set.

### Claim 40 (depends on 39)

The method of claim 39, wherein said non-volatile memory is provided as part of a memory device that includes at least one other memory, and wherein, between said writing of the sectors in said non-volatile memory by said first set and said writing of the sectors in said non-volatile memory by said second set, the sectors are stored in said memory device only in said non-volatile memory.

### Claim 41 (depends on 39)

The method of claim 39, wherein said lower reliability includes a lower data retention time.

### Claim 42 (depends on 39)

The method of claim 39, wherein said second set includes a consecutive plurality of write operations.

### Claim 43 (depends on 39)

The method of claim 39, wherein said second set includes an intermittent plurality of write operations.

### Claim 44

A memory device for storing a plurality of sectors of data, comprising:
(a) a non-volatile memory; and
(b) a controller for:
(i) writing the sectors in said non-volatile memory in a first order, and
(ii) subsequent to said writing of the sectors in said first order, writing the sectors in said non-volatile memory in a second order, different from said first order, that is determined prior to said writing of the sectors in said second order.

### Claim 45

A memory device for storing a plurality of sectors of data, comprising:
(a) a non-volatile memory; and
(b) a controller for:
(i) writing the sectors in said non-volatile memory using a first set of at least one write operation, each said sector being written only once by said first set, and
(ii) subsequent to beginning said writing of the sectors using said first set, writing the sectors in said non-volatile memory using a second set of at least one write operation from outside said non-volatile memory, at least one of the sectors being written twice by said second set.

### Claim 46

A memory device for storing a plurality of sectors of data, comprising:
(a) a non-volatile memory that includes a plurality of cells; and
(b) a controller for:
(i) writing the sectors in said non-volatile memory using a first set of at least one write operation, and
(ii) subsequent to beginning said writing of the sectors using said first set, writing the sectors in said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set,
wherein said writing by said first set uses a first writing mode and said writing by said second set uses a second writing mode, said first writing mode reducing coupling between said cells that are written thereby, relative to said coupling between said cells that are written by said second writing mode, by leaving unwritten cells between cells that are written.

### Claim 47

A memory device for storing a plurality of sectors of data, comprising:
(a) a non-volatile memory; and
(b) a controller for:
(i) writing the sectors in said non-volatile memory using a first set of at least one write operation, and
(ii) subsequent to beginning said writing of the sectors using said first set, writing the sectors in said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set,
wherein said writing by said first set has a lower reliability than said writing by said second set.

### Claim 48

A computer-readable storage medium having computer-readable code embedded on the computer-readable storage medium, the computer-readable code for storing a plurality of sectors of data, the computer-readable code comprising:
(a) program code for writing the sectors in a non-volatile memory in a first order; and
(b) program code for, subsequent to said writing of the sectors in said first order, writing the sectors in said non-volatile memory in a second order, different from said first order, that is determined prior to said writing of the sectors in said second order.

### Claim 49

A computer-readable storage medium having computer-readable code embedded on the computer-readable storage medium, the computer-readable code for storing a plurality of sectors of data, the computer-readable code comprising:
(a) program code for writing the sectors in a non-volatile memory using a first set of at least one write operation, each said sector being written only once by said first set; and
(b) program code for writing the sectors in said memory from outside said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set.

### Claim 50

A computer-readable storage medium having computer-readable code embedded on the computer-readable storage medium, the computer-readable code for storing a plurality of sectors of data, the computer-readable code comprising:
(a) program code for writing the sectors in a non-volatile memory using a first set of at least one write operation; and
(b) program code for writing the sectors in said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set;
wherein said non-volatile memory includes a plurality of cells, wherein said writing by said first set uses a first writing mode and wherein said writing by said second set uses a second writing mode, said first writing mode reducing coupling between said cells that are written thereby, relative to said coupling between said cells that are written by said second writing mode, by leaving unwritten cells between cells that are written.

### Claim 51

A computer-readable storage medium having computer-readable code embedded on the computer-readable storage medium, the computer-readable code for storing a plurality of sectors of data, the computer-readable code comprising:
(a) program code for writing the sectors in a non-volatile memory using a first set of at least one write operation; and
(b) program code for writing the sectors in said non-volatile memory using a second set of at least one write operation, at least one of the sectors being written twice by said second set;
wherein said writing by said first set has a lower reliability than said writing by said second set.
