Error corrected pre-read for upper page write in a multi-level cell memory

US9543019B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9543019-B2
Application numberUS-201213710913-A
CountryUS
Kind codeB2
Filing dateDec 11, 2012
Priority dateDec 11, 2012
Publication dateJan 10, 2017
Grant dateJan 10, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, apparatuses and articles of manufacture may receive a first page of data and correct one or more errors in the first page of data to generate a page of corrected data. A program command may then be sent with a second page of data and the page of corrected data, to program a page of memory to store the second page of data.

First claim

Opening claim text (preview).

What is claimed is: 1. A controller-based method to program a multi-level cell (MLC) memory, comprising: receiving, in a controller, a write command from a host device, the write command comprising a program address and program data; in response to the write command, mapping the program address to a targeted page of memory in the MLC memory; and determining, in the controller, whether the targeted page of memory comprises an upper page and a lower page, and in response to a determination that targeted page of memory comprises an upper page and a lower page: reading the lower page of the targeted page of memory to obtain lower page data, wherein the MLC memory has been programmed with the lower page data; error correcting the lower page data to generate error corrected lower page data; allocating one or more new pages of memory in the MLC memory; calculating an error correcting code to be included with the error corrected lower page data; determining whether the MLC memory would have to decrease a voltage threshold to program the error corrected lower page data, and in response to a determination that the MLC memory would have to decrease a voltage threshold to program the error corrected lower page data, programming the error corrected lower page data into the one or more new pages of memory in the MLC memory; and programming the MLC memory using the error corrected lower page data and the program data. 2. A method as claimed in claim 1 , wherein said error correcting is performed with a controller coupled to the MLC memory. 3. A method as claimed in claim 1 , wherein the MLC memory comprises NAND memory. 4. A method as claimed in claim 1 , wherein said programming comprises programming the lower page with the error corrected lower page data, and programming the upper page with the new upper page data. 5. An apparatus, comprising: a memory including one or more multi-level cells (MLCs); and a controller coupled to the memory, wherein the controller is configured to: receive, in a controller, a write command from a host device, the write command including a program address and program data; in response to the write command, map the program address to a targeted page of memory in the one or more MLCs; and determine, in the controller, whether the targeted page of memory comprises an upper page and a lower page, and in response to a determination that targeted page of memory comprises an upper page and a lower page: read the lower page of the targeted page of memory to obtain lower page data, wherein the one or more MLCs have been programmed with the lower page data; error correct the lower page data; allocate one or more new pages of memory in the one or more MLCs; calculate an error correcting code to be included with the error corrected lower page data; determine whether the one or more MLCs would have to increase a voltage threshold to program the error corrected lower page data, and in response to a determination that the one or more MLCs would have to increase a voltage threshold to program the error corrected lower page data, programming the error corrected lower page data into the lower page of the targeted page of memory from which the lower page data was read; and program the one or more MLCs using the error corrected lower page data and the program data. 6. An apparatus as claimed in claim 5 , wherein the memory comprises NAND memory. 7. An apparatus as claimed in claim 5 , wherein the controller is further configured to program the lower page with the error corrected lower page data, and program the upper page with the new upper page data. 8. A solid-state disk (SSD), comprising: a bus interface; one or more memory devices including one or more multi-level cells (MLCs); and an SSD controller coupled to the one or more memory devices and to the bus interface, wherein the SSD controller is configured to: receive, in a controller, a write command from a host device, the write command comprising a program address and program data; in response to the write command, map the program address to a targeted page of memory in the one or more MLCs; and determine whether the targeted page of memory comprises an upper page and a lower page, and in response to a determination that targeted page of memory comprises an upper page and a lower page: read the lower page of the targeted page of memory to obtain lower page data, wherein the one or more MLCs have been programmed with the lower page data; error correct the lower page data; allocate one or more new pages of memory in the one or more MLCs; calculate an error correcting code to be included with the error corrected lower page data; determine whether the one or more MLCs would have to increase in a voltage threshold to program the error corrected lower page data, and in response to a determination that the one or more MLCs would have to increase a voltage threshold to program the error corrected lower page data, programming the error corrected lower page data into the lower page of the targeted page of memory from which the lower page data was read; and program the one or more MLCs using the error corrected lower page data and the program data. 9. A solid-state disk as claimed in claim 8 , wherein the one or more memory devices comprise one or more NAND memory devices. 10. A solid-state disk as claimed in claim 8 , wherein the SSD controller is further configured to program the lower page with the error corrected lower page data, and program the upper page with the new upper page data. 11. A solid-state disk as claimed in claim 8 , wherein the SSD controller is further configured to: determine whether the one or more MLCs would have to decrease a voltage threshold to program the error corrected lower page data, and in response to a determination that the one or more MLCs would have to decrease a voltage threshold to program the error corrected lower page data, programming the error corrected lower page data into the one or more new pages of memory in the one or more MLCs. 12. A method as claimed in claim 1 , further comprising: determining whether the MLC memory would have to increase a voltage threshold to program the error corrected lower page data, and in response to a determination that the MLC memory would have to increase a voltage threshold to program the error corrected lower page data, programming the error corrected lower page data into the lower page of the targeted page of memory from which the lower page data was read. 13. An apparatus as claimed in claim 5 , wherein the controller is further configured to: determine whether the one or more MLCs would have to decrease a voltage threshold to program the error corrected lower page data, and in response to a determination that the one or more MLCs would have to decrease a voltage threshold to program the error corrected lower page data, programming the error corrected lower page data into the one or more new pages of memory in the one or more MLCs.

Assignees

Inventors

Classifications

  • Programming or writing circuits; Data input circuits · CPC title

  • using arrangements adapted for a specific error detection or correction feature · CPC title

  • G11C16/10Primary

    Programming or data input circuits · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9543019B2 cover?
Methods, apparatuses and articles of manufacture may receive a first page of data and correct one or more errors in the first page of data to generate a page of corrected data. A program command may then be sent with a second page of data and the page of corrected data, to program a page of memory to store the second page of data.
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G11C16/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 10 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).