# US 12,001,336 B2 · Hybrid parallel programming of single-level cell memory

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

- Number: US 12,001,336 B2
- Document ID: US12001336B2
- Status: Granted
- Kind: B2
- Application number: 17/585,165
- Filed: 2022-01-26
- Published: 2023-01-26
- Granted: 2024-06-04
- Earliest claimed: 2021-07-21
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Umberto Siciliani; Violante Moschiano; Walter Di Francesco
- Web page: https://patentgrep.com/patent/US12001336B2

## CPC

- G06F 12/0842: for multiprocessing or multitasking
- G06F 12/0895: of parts of caches, e.g. directory or tag array
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 16/08: Address circuits; Decoders; Word-line control circuits
- G11C 16/10: Programming or data input circuits
- G11C 16/24: Bit-line control circuits
- G11C 16/30: Power supply circuits
- G11C 16/3459: {Circuits or methods to verify correct programming of nonvolatile memory cells}
- G06F 2212/1024: Latency reduction
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A memory device includes a page buffer with a cache register and data registers, a memory array with a set of sub-blocks of memory cells configured as single-level cell (SLC) memory, and control logic. The control logic performs operations including: causing a first page of SLC data to be stored in the cache register; causing the first page of the SLC data to be moved from the cache register to a first data register; causing a subsequent page of the SLC data to be stored in the cache register; causing the SLC data stored in the cache register and in the data registers to be concurrently programmed to the set of sub-blocks, where the first page is programmed to a first sub-block and the subsequent page is programmed to a subsequent sub-block; and causing a subset of the operations for programming the set of sub-blocks to be performed in parallel.

## Claims

### Claim 1

A memory device comprising:
a page buffer comprising a cache register and multiple data registers;
a memory array comprising a set of sub-blocks coupled with the page buffer, wherein the set of sub-blocks comprises memory cells configured as single-level cell (SLC) memory; and
control logic operatively coupled with the page buffer, the control logic to perform operations comprising:
causing a first page of SLC data to be stored in the cache register;
causing the first page of the SLC data to be moved from the cache register to a first data register of the multiple data registers;
causing a subsequent page of the SLC data to be stored in the cache register;
causing the subsequent page and the first page of the SLC data stored in the cache register and in the first data register, respectively, to be concurrently programmed to the set of sub-blocks, wherein the first page is programmed to a first sub-block and the subsequent page is programmed to a subsequent sub-block of the set of sub-blocks; and
causing the operations for programming the set of sub-blocks to be performed in parallel.

### Claim 2 (depends on 1)

The memory device of claim 1, wherein the set of sub-blocks comprise four sub-blocks of SLC cache and the SLC data comprises four pages.

### Claim 3 (depends on 2)

The memory device of claim 2, wherein the subsequent page is a fourth page of the four pages, and wherein the operations further comprise:
causing a second page of the SLC data to be stored in the cache register;
causing the second page of the SLC data to be moved from the cache register to a second data register of the multiple data registers;
causing a third page of the SLC data to be stored in the cache register; and
causing the third page of the SLC data to be moved from the cache register to a third data register of the multiple data registers.

### Claim 4 (depends on 3)

The memory device of claim 3, wherein causing the subsequent page and the first page of the SLC data to be concurrently programmed to the set of sub-blocks further comprises concurrently:
causing the second page to be programmed to a second sub-block of the set of sub-blocks;
causing the third page to be programmed to a third sub-block of the set of sub-blocks; and
wherein the subsequent sub-block is a fourth sub-block of the set of sub-blocks.

### Claim 5 (depends on 1)

The memory device of claim 1, wherein the set of sub-blocks comprise two sub-blocks of SLC cache, the subsequent page is a second page of two pages SLC data, and wherein causing the subsequent page and the first page of the SLC data to be concurrently programmed to the set of sub-blocks comprises cache programming.

### Claim 6 (depends on 1)

The memory device of claim 1, wherein the operations further comprise:
causing charge pump initialization to be performed for the set of sub-blocks;
causing a program verify initialization to be performed for the set of sub-blocks; and
causing bitlines and wordlines to be discharged during a voltage recovery phase.

### Claim 7 (depends on 6)

The memory device of claim 6, wherein the operations for programming the set of sub-blocks further comprise selecting one or more bitlines not to be involved with programming.

### Claim 8 (depends on 6)

The memory device of claim 6, wherein the operations further comprise:
causing a selected bitline and a selected source voltage line to be charged to target voltages in preparation for programming a sub-block coupled between the selected bitline and the selected source voltage line; and
causing voltages to a select gate line and a select source line to ramp to predetermined voltages, respectively.

### Claim 9 (depends on 6)

The memory device of claim 6, wherein the operations further comprise serially, for each sub-block of the set of sub-blocks:
causing unselected wordlines of the sub-block to be ramped to a pass voltage;
causing a selected wordline of the sub-block to be charged to a program voltage; and
causing a program verify sense operation to be performed on one or more memory cells of the sub-block to which the selected wordline is connected.

### Claim 10

A method comprising:
causing, by control logic coupled with a page buffer and a set of sub-blocks in a memory array, a first page of single-level cell (SLC) data to be stored in a cache register of the page buffer, wherein the set of sub-blocks comprise memory cells configured as SLC memory;
causing, by the control logic, the first page of the SLC data to be moved from the cache register to a first data register of multiple data registers of the page buffer;
causing, by the control logic, a subsequent page of the SLC data to be stored in the cache register;
causing, by the control logic, the subsequent page and the first page of the SLC data stored in the cache register and in the first data register, respectively, to be concurrently programmed to the set of sub-blocks, wherein the first page is programmed to a first sub-block and the subsequent page is programmed to a subsequent sub-block of the set of sub-blocks; and
causing, by the control logic, operations for programming the set of sub-blocks to be performed in parallel.

### Claim 11 (depends on 10)

The method of claim 10, wherein the set of sub-blocks comprise four sub-blocks of SLC cache and the SLC data comprises four pages.

### Claim 12 (depends on 11)

The method of claim 11, wherein the subsequent page is a fourth page of the four pages, the method further comprising:
causing a second page of the SLC data to be stored in the cache register;
causing the second page of the SLC data to be moved from the cache register to a second data register of the multiple data registers;
causing a third page of the SLC data to be stored in the cache register; and
causing the third page of the SLC data to be moved from the cache register to a third data register of the multiple data registers.

### Claim 13 (depends on 12)

The method of claim 12, wherein causing the subsequent page and the first page of the SLC data to be concurrently programmed to the set of sub-blocks further comprises concurrently:
causing the second page to be programmed to a second sub-block of the set of sub-blocks;
causing the third page to be programmed to a third sub-block of the set of sub-blocks; and
wherein the subsequent sub-block is a fourth sub-block of the set of sub-blocks.

### Claim 14 (depends on 10)

The method of claim 10, wherein the set of sub-blocks comprise two sub-blocks of SLC cache, the subsequent page is a second page of two pages SLC data, and wherein causing the subsequent page and the first page of the SLC data to be concurrently programmed to the set of sub-blocks comprises cache programming.

### Claim 15 (depends on 10)

The method of claim 10, wherein the operations for programming the set of sub-blocks further comprise:
causing charge pump initialization to be performed for the set of sub-blocks;
causing a program verify initialization to be performed for the set of sub-blocks; and
causing bitlines and wordlines to be discharged during a voltage recovery phase.

### Claim 16 (depends on 15)

The method of claim 15, wherein the operations for programming the set of sub-blocks further comprise selecting one or more bitlines not to be involved with programming.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
causing a selected bitline and a selected source voltage line to be charged to target voltages in preparation for programming a sub-block coupled between the selected bitline and the selected source voltage line; and
causing voltages to a select gate line and a select source line to ramp to predetermined voltages, respectively.

### Claim 18 (depends on 15)

The method of claim 15, further comprising serially, for each sub-block of the set of sub-blocks:
causing unselected wordlines of the sub-block to be ramped to a pass voltage;
causing a selected wordline of the sub-block to be charged to a program voltage; and
causing a program verify sense operation to be performed on one or more memory cells of the sub-block to which the selected wordline is connected.

### Claim 19

A method comprising:
causing, by control logic coupled with a page buffer and a set of sub-blocks in a memory array, multiple pages of single-level cell (SLC) data to be sequentially stored within a cache register of the page buffer, wherein the set of sub-blocks comprise memory cells configured as SLC memory;
causing, by the control logic, the multiple pages to be sequentially moved from the cache register to respective ones of multiple data registers of the page buffer while retaining a final page of the multiple pages in the cache register;
causing, by the control logic, the multiple pages of the SLC data stored in a combination of the cache register and the multiple data registers to be concurrently programmed to the set of sub-blocks, wherein a respective page of the multiple pages is to be programmed to each respective sub-block of the set of sub-blocks; and
causing, by the control logic, operations for programming the set of sub-blocks to be performed in parallel.

### Claim 20 (depends on 19)

The method of claim 19, wherein the set of sub-blocks comprise four sub-blocks of SLC cache, the multiple pages comprise four pages of the SLC data, and wherein a first page, a second page, and a third page of the four pages are stored in the multiple data registers while a fourth page of the four pages is retained in the cache register.
