Read level grouping for increased flash performance

A computer implemented method 1400 (and a data storage system such as a Solid State Disc (SSD) consisting of a plurality of Multi-Level Cell (MLC) NAND FLASH memory devices, and a controller coupled to the flash memory) the method comprising of reading a first sample of wordlines in a particular blo...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Anthony Dwayne Weathers, Richard David Barndt, Seyhan Karakulak
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Anthony Dwayne Weathers
Richard David Barndt
Seyhan Karakulak
description A computer implemented method 1400 (and a data storage system such as a Solid State Disc (SSD) consisting of a plurality of Multi-Level Cell (MLC) NAND FLASH memory devices, and a controller coupled to the flash memory) the method comprising of reading a first sample of wordlines in a particular block of memory 1402, each associated with a wordline identifier (or address), and to be read multiple times at different read level voltages to produce an associated error count, and generating a read table of error counts 1402 to store an error count for each combination of wordline and respective read level voltage used to read the wordlines. A plurality of wordline groups 1404 are generated based on the table of error counts, with each group associating a different read level offset voltage (bias voltage) with a plurality of wordline addresses. The storage device is configured to read memory cells using a read level offset voltage of a generated offset wordline group associated with a wordline address of the memory cells to be read 1406. After a predetermined point in a life cycle of a respective memory block, the table is regenerated and plurality of offset wordline groups are regenerated based the regenerated table of error counts 1408, 1410. A plurality of wordline groups may be based on the wordline identifiers (or addresses) used to index the table of error counts, the groups, for the purpose of reading, associating a different read level with a plurality of wordlines. The wordline groups may be based on an initial division of wordlines corresponding to the wordline identifiers each group comprising of a consecutively grouped portion of the corresponding wordlines pairs with a corresponding read level voltage, whilst the pairing are selected for an overall lowest possible error count. The table of error counts may be regenerated after a certain point in a life cycle of a memory block, using a second sample of wordlines, and based on for example reaching a pre-set number of program/erase cycles 1410. Using log likelihood LLR methodology, the regeneration of error count tables may include generating a plurality of reliability values (both negative and positive) and identifying a calibrated voltage corresponding to the zero crossing point for the second sample of wordlines.
format Patent
fullrecord <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_GB2537484B</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>GB2537484B</sourcerecordid><originalsourceid>FETCH-epo_espacenet_GB2537484B3</originalsourceid><addsrcrecordid>eNrjZDAOSk1MUchJLUvNUUgvyi8tyMxLV0jLL1LIzEsuSk0sTk1RSMtJLM5QKEgtAgrnJuYlp_IwsKYl5hSn8kJpbgZ5N9cQZw_d1IL8-NTigsTk1LzUknh3JyNTY3MTCxMnY8IqAE0OK54</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>Read level grouping for increased flash performance</title><source>esp@cenet</source><creator>Anthony Dwayne Weathers ; Richard David Barndt ; Seyhan Karakulak</creator><creatorcontrib>Anthony Dwayne Weathers ; Richard David Barndt ; Seyhan Karakulak</creatorcontrib><description>A computer implemented method 1400 (and a data storage system such as a Solid State Disc (SSD) consisting of a plurality of Multi-Level Cell (MLC) NAND FLASH memory devices, and a controller coupled to the flash memory) the method comprising of reading a first sample of wordlines in a particular block of memory 1402, each associated with a wordline identifier (or address), and to be read multiple times at different read level voltages to produce an associated error count, and generating a read table of error counts 1402 to store an error count for each combination of wordline and respective read level voltage used to read the wordlines. A plurality of wordline groups 1404 are generated based on the table of error counts, with each group associating a different read level offset voltage (bias voltage) with a plurality of wordline addresses. The storage device is configured to read memory cells using a read level offset voltage of a generated offset wordline group associated with a wordline address of the memory cells to be read 1406. After a predetermined point in a life cycle of a respective memory block, the table is regenerated and plurality of offset wordline groups are regenerated based the regenerated table of error counts 1408, 1410. A plurality of wordline groups may be based on the wordline identifiers (or addresses) used to index the table of error counts, the groups, for the purpose of reading, associating a different read level with a plurality of wordlines. The wordline groups may be based on an initial division of wordlines corresponding to the wordline identifiers each group comprising of a consecutively grouped portion of the corresponding wordlines pairs with a corresponding read level voltage, whilst the pairing are selected for an overall lowest possible error count. The table of error counts may be regenerated after a certain point in a life cycle of a memory block, using a second sample of wordlines, and based on for example reaching a pre-set number of program/erase cycles 1410. Using log likelihood LLR methodology, the regeneration of error count tables may include generating a plurality of reliability values (both negative and positive) and identifying a calibrated voltage corresponding to the zero crossing point for the second sample of wordlines.</description><language>eng</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; INFORMATION STORAGE ; PHYSICS ; STATIC STORES</subject><creationdate>2019</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20190703&amp;DB=EPODOC&amp;CC=GB&amp;NR=2537484B$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,777,882,25545,76296</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20190703&amp;DB=EPODOC&amp;CC=GB&amp;NR=2537484B$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>Anthony Dwayne Weathers</creatorcontrib><creatorcontrib>Richard David Barndt</creatorcontrib><creatorcontrib>Seyhan Karakulak</creatorcontrib><title>Read level grouping for increased flash performance</title><description>A computer implemented method 1400 (and a data storage system such as a Solid State Disc (SSD) consisting of a plurality of Multi-Level Cell (MLC) NAND FLASH memory devices, and a controller coupled to the flash memory) the method comprising of reading a first sample of wordlines in a particular block of memory 1402, each associated with a wordline identifier (or address), and to be read multiple times at different read level voltages to produce an associated error count, and generating a read table of error counts 1402 to store an error count for each combination of wordline and respective read level voltage used to read the wordlines. A plurality of wordline groups 1404 are generated based on the table of error counts, with each group associating a different read level offset voltage (bias voltage) with a plurality of wordline addresses. The storage device is configured to read memory cells using a read level offset voltage of a generated offset wordline group associated with a wordline address of the memory cells to be read 1406. After a predetermined point in a life cycle of a respective memory block, the table is regenerated and plurality of offset wordline groups are regenerated based the regenerated table of error counts 1408, 1410. A plurality of wordline groups may be based on the wordline identifiers (or addresses) used to index the table of error counts, the groups, for the purpose of reading, associating a different read level with a plurality of wordlines. The wordline groups may be based on an initial division of wordlines corresponding to the wordline identifiers each group comprising of a consecutively grouped portion of the corresponding wordlines pairs with a corresponding read level voltage, whilst the pairing are selected for an overall lowest possible error count. The table of error counts may be regenerated after a certain point in a life cycle of a memory block, using a second sample of wordlines, and based on for example reaching a pre-set number of program/erase cycles 1410. Using log likelihood LLR methodology, the regeneration of error count tables may include generating a plurality of reliability values (both negative and positive) and identifying a calibrated voltage corresponding to the zero crossing point for the second sample of wordlines.</description><subject>CALCULATING</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>INFORMATION STORAGE</subject><subject>PHYSICS</subject><subject>STATIC STORES</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2019</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNrjZDAOSk1MUchJLUvNUUgvyi8tyMxLV0jLL1LIzEsuSk0sTk1RSMtJLM5QKEgtAgrnJuYlp_IwsKYl5hSn8kJpbgZ5N9cQZw_d1IL8-NTigsTk1LzUknh3JyNTY3MTCxMnY8IqAE0OK54</recordid><startdate>20190703</startdate><enddate>20190703</enddate><creator>Anthony Dwayne Weathers</creator><creator>Richard David Barndt</creator><creator>Seyhan Karakulak</creator><scope>EVB</scope></search><sort><creationdate>20190703</creationdate><title>Read level grouping for increased flash performance</title><author>Anthony Dwayne Weathers ; Richard David Barndt ; Seyhan Karakulak</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_GB2537484B3</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng</language><creationdate>2019</creationdate><topic>CALCULATING</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>INFORMATION STORAGE</topic><topic>PHYSICS</topic><topic>STATIC STORES</topic><toplevel>online_resources</toplevel><creatorcontrib>Anthony Dwayne Weathers</creatorcontrib><creatorcontrib>Richard David Barndt</creatorcontrib><creatorcontrib>Seyhan Karakulak</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Anthony Dwayne Weathers</au><au>Richard David Barndt</au><au>Seyhan Karakulak</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>Read level grouping for increased flash performance</title><date>2019-07-03</date><risdate>2019</risdate><abstract>A computer implemented method 1400 (and a data storage system such as a Solid State Disc (SSD) consisting of a plurality of Multi-Level Cell (MLC) NAND FLASH memory devices, and a controller coupled to the flash memory) the method comprising of reading a first sample of wordlines in a particular block of memory 1402, each associated with a wordline identifier (or address), and to be read multiple times at different read level voltages to produce an associated error count, and generating a read table of error counts 1402 to store an error count for each combination of wordline and respective read level voltage used to read the wordlines. A plurality of wordline groups 1404 are generated based on the table of error counts, with each group associating a different read level offset voltage (bias voltage) with a plurality of wordline addresses. The storage device is configured to read memory cells using a read level offset voltage of a generated offset wordline group associated with a wordline address of the memory cells to be read 1406. After a predetermined point in a life cycle of a respective memory block, the table is regenerated and plurality of offset wordline groups are regenerated based the regenerated table of error counts 1408, 1410. A plurality of wordline groups may be based on the wordline identifiers (or addresses) used to index the table of error counts, the groups, for the purpose of reading, associating a different read level with a plurality of wordlines. The wordline groups may be based on an initial division of wordlines corresponding to the wordline identifiers each group comprising of a consecutively grouped portion of the corresponding wordlines pairs with a corresponding read level voltage, whilst the pairing are selected for an overall lowest possible error count. The table of error counts may be regenerated after a certain point in a life cycle of a memory block, using a second sample of wordlines, and based on for example reaching a pre-set number of program/erase cycles 1410. Using log likelihood LLR methodology, the regeneration of error count tables may include generating a plurality of reliability values (both negative and positive) and identifying a calibrated voltage corresponding to the zero crossing point for the second sample of wordlines.</abstract><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng
recordid cdi_epo_espacenet_GB2537484B
source esp@cenet
subjects CALCULATING
COMPUTING
COUNTING
ELECTRIC DIGITAL DATA PROCESSING
INFORMATION STORAGE
PHYSICS
STATIC STORES
title Read level grouping for increased flash performance
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-20T14%3A33%3A07IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=Anthony%20Dwayne%20Weathers&rft.date=2019-07-03&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EGB2537484B%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true