Distributing storage of ecc code words

US2016110252A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016110252-A1
Application numberUS-201514601806-A
CountryUS
Kind codeA1
Filing dateJan 21, 2015
Priority dateOct 20, 2014
Publication dateApr 21, 2016
Grant date

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.

Apparatuses, systems, methods, and computer program products are disclosed for distributing error-correction codes. A correction module is configured to determine an error correction code (ECC) code word for storage on one or more non-volatile storage media. A mapping module is configured to determine one or more addresses for the ECC code word so that a portion of the ECC code word is stored at a first physical address within a first set of strings of storage cells of the one or more non-volatile storage media and a portion of the ECC code word is stored at a different physical address within a second set of strings of storage cells of the one or more non-volatile storage media. A storage module is configured to cause the ECC code word to be stored in the one or more non-volatile storage media based on the determined one or more addresses.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: determining an error-correction code (ECC) code word of data; storing a first portion of the ECC code word in a first set of cells of a first memory element of a non-volatile recording device; and storing a second portion of the ECC code word in a second set of cells of a second memory element of the non-volatile recording device, the second set of cells having a different error rate than the first set of cells. 2 . The method of claim 1 , wherein the first set of cells is located at a first position in one or more vertical memory structures and the second set of cells is located at a different position in one or more different vertical memory structures. 3 . The method of claim 2 , wherein the vertical memory structures comprise three dimensional, vertical, NAND memory structures. 4 . The method of claim 2 , wherein the first set of cells is located on a source side of the one or more vertical memory structures and the second set of cells is located on a drain side of the one or more different vertical memory structures. 5 . The method of claim 4 , wherein redundant data for the ECC code word is stored in the first set of cells on the source side of the one or more vertical memory structures. 6 . The method of claim 2 , wherein the first set of cells has a shorter path to a select gate source for the first set of cells than the second set of cells has to a select gate source for the second set of cells. 7 . The method of claim 1 , further comprising mapping an address for the second portion of the ECC code word to the second set of cells, the second set of cells having a different location relative to the second memory element than a location of the first set of cells relative to the first memory element. 8 . The method of claim 1 , wherein the first set of cells and the second set of cells are located on different die of the non-volatile recording device. 9 . The method of claim 1 , further comprising recovering storage capacity for an erase block comprising one of the first set of cells and the second set of cells in response to recovering storage capacity for an erase block comprising the other of the first set of cells and the second set of cells. 10 . The method of claim 1 , further comprising dividing the ECC code word into a number of portions including the first portion and the second portion, the number of portions corresponding to a number of die in a storage channel of the non-volatile recording device. 11 . The method of claim 1 , wherein a larger portion of the ECC code word is stored in the first set of cells, the first set of cells having a lower error rate than the second set of cells. 12 . An apparatus comprising: a correction module configured to determine an error correction code (ECC) code word for storage on one or more non-volatile storage media; a mapping module configured to determine one or more addresses for the ECC code word so that a portion of the ECC code word is stored at a first physical address within a first set of strings of storage cells of the one or more non-volatile storage media and a portion of the ECC code word is stored at a different physical address within a second set of strings of storage cells of the one or more non-volatile storage media; and a storage module configured to cause the ECC code word to be stored in the one or more non-volatile storage media based on the determined one or more addresses. 13 . The apparatus of claim 12 , wherein the first set of strings of storage cells are located on a first set of one or more die of the one or more non-volatile storage media and the second set of strings of are located on a second set of one or more die of the one or more non-volatile storage media. 14 . The apparatus of claim 12 , wherein one or more of the correction module, the mapping module, and the storage module comprise computer executable code of a device driver for the one or more non-volatile storage media, the computer executable code stored on a computer readable storage medium. 15 . The apparatus of claim 14 , wherein computer executable code of the correction module is executable to perform operations to determine the ECC code word of data by encoding data into the ECC code word and computer executable code of the mapping module is executable to determine the one or more addresses for the ECC code word by adjusting one or more addresses for the ECC code word so that a portion of the ECC code word is stored in the first set of strings of storage cells and a portion of the ECC code word is stored in the second set of strings of storage cells. 16 . The apparatus of claim 12 , wherein one or more of the correction module, the mapping module, and the storage module comprise logic hardware of a controller for the one or more non-volatile storage media. 17 . The apparatus of claim 16 , wherein the correction module is configured to determine the ECC code word of data by receiving the ECC code word at the controller from a host device and the mapping module is configured to determine the one or more addresses for the ECC code word by receiving the one or more addresses at the controller from the host device. 18 . A system comprising: a plurality of die, each die comprising a plurality of vertical NAND flash memory structures comprising word lines; and a controller for the plurality of die, the controller configured to store part of an error-correction code (ECC) code word in cells having a first position in a word line of a first die of the plurality of die and part of the ECC code word in cells having a second position in a word line of a second die of the plurality of die. 19 . The system of claim 18 , wherein the controller comprises a hardware controller in communication with the plurality of non-volatile memory elements over one or more electrical communication lines to store the ECC code word. 20 . The system of claim 18 , wherein the controller comprises a device driver for the plurality of non-volatile memory elements, the device driver comprising computer executable program code stored on a computer readable storage medium, the computer executable program code executable to store the ECC code word.

Assignees

Inventors

Classifications

  • with specific ECC/EDC distribution · CPC title

  • Online error correction · CPC title

  • G11C29/52Primary

    Protection of memory contents; Detection of errors in memory contents · CPC title

  • in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence) · 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 US2016110252A1 cover?
Apparatuses, systems, methods, and computer program products are disclosed for distributing error-correction codes. A correction module is configured to determine an error correction code (ECC) code word for storage on one or more non-volatile storage media. A mapping module is configured to determine one or more addresses for the ECC code word so that a portion of the ECC code word is stored a…
Who is the assignee on this patent?
Sandisk Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G11C29/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 21 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).