DE112009001620T5 - Nichtflüchtige Speichervorrichtung mit mehreren Bits Pro Zelle (MBC) und System mit Polaritätssteuerung sowie Verfahren zum Programmieren derselbigen - Google Patents
Nichtflüchtige Speichervorrichtung mit mehreren Bits Pro Zelle (MBC) und System mit Polaritätssteuerung sowie Verfahren zum Programmieren derselbigen Download PDFInfo
- Publication number
- DE112009001620T5 DE112009001620T5 DE112009001620T DE112009001620T DE112009001620T5 DE 112009001620 T5 DE112009001620 T5 DE 112009001620T5 DE 112009001620 T DE112009001620 T DE 112009001620T DE 112009001620 T DE112009001620 T DE 112009001620T DE 112009001620 T5 DE112009001620 T5 DE 112009001620T5
- Authority
- DE
- Germany
- Prior art keywords
- page
- cell
- mbc
- data
- threshold voltage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 44
- 230000015654 memory Effects 0.000 claims abstract description 127
- 238000009826 distribution Methods 0.000 description 13
- 101100537098 Mus musculus Alyref gene Proteins 0.000 description 7
- 101150095908 apex1 gene Proteins 0.000 description 7
- 101100269674 Mus musculus Alyref2 gene Proteins 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5646—Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5647—Multilevel memory with bit inversion arrangement
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
Nichtflüchtige Speichervorrichtung mit mehreren Bits pro Zelle (MBC), mit:
einem Speicher-Array, das einen elektrisch löschbaren Block enthält;
wobei der Block eine reprogrammierbare Seite enthält;
wobei die reprogrammierbare Seite eine obere und eine untere Seite enthält, die sich eine gemeinsame Wortleitung teilen;
wobei die oberen und unteren Seiten jeweilige obere und untere Datenfelder enthalten;
wobei die oberen und unteren Datenfelder jeweilige virtuelle obere und untere Zellen von MBC-Speicherzellen enthalten;
wobei die MBC-Speicherzellen jeweilige Grenzwertspannungen haben, die auf einen ausgewählten Pegel von einem ersten Pegel, einem zweiten Pegel, einem dritten Pegel oder einem vierten Pegel in der Reihenfolge vom untersten Spannungspegel programmierbar sind,
wobei das Programmieren der unteren Zellen das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum zweiten Grenzwertspannungspegel umfasst, und
wobei das Programmieren der oberen Zellen das Programmieren der jeweiligen Grenzwertspannung vom ersten Grenzwertspannungspegel zum vierten Grenzwertspannungspegel oder vom zweiten Grenzwertspannungspegel zum...
einem Speicher-Array, das einen elektrisch löschbaren Block enthält;
wobei der Block eine reprogrammierbare Seite enthält;
wobei die reprogrammierbare Seite eine obere und eine untere Seite enthält, die sich eine gemeinsame Wortleitung teilen;
wobei die oberen und unteren Seiten jeweilige obere und untere Datenfelder enthalten;
wobei die oberen und unteren Datenfelder jeweilige virtuelle obere und untere Zellen von MBC-Speicherzellen enthalten;
wobei die MBC-Speicherzellen jeweilige Grenzwertspannungen haben, die auf einen ausgewählten Pegel von einem ersten Pegel, einem zweiten Pegel, einem dritten Pegel oder einem vierten Pegel in der Reihenfolge vom untersten Spannungspegel programmierbar sind,
wobei das Programmieren der unteren Zellen das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum zweiten Grenzwertspannungspegel umfasst, und
wobei das Programmieren der oberen Zellen das Programmieren der jeweiligen Grenzwertspannung vom ersten Grenzwertspannungspegel zum vierten Grenzwertspannungspegel oder vom zweiten Grenzwertspannungspegel zum...
Description
- RÜCKBEZUG AUF VERWANDTE ANMELDUNGEN
- Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung 12/166,876, die am 2. Juli 2008 angemeldet wurde.
- TECHNISCHES GEBIET
- Die vorliegende Erfindung betrifft allgemein nichtflüchtige Speichersysteme und insbesondere ein nichtflüchtiges Speichersystem mit mehreren Bits pro Zelle (MBC = multiple-bit per cell) und mit Datenpolaritätssteuerung.
- HINTERGRUND
- Bei herkömmlichen Speichereinrichtungen mit einem Bit (Einzelbit) pro Zelle nimmt die Speicherzelle einen von zwei Informationsspeicherzuständen ein, und zwar entweder ein ”ein”-Zustand oder ein ”aus”-Zustand. Durch den binären Zustand von ”ein” oder ”aus” wird ein Bit an Information definiert. Als eine Folge benötigt eine Speichereinrichtung, die ausgestaltet ist, um n Bits an Daten zu speichern, n separate Speicherzellen.
- Die Erhöhung der Anzahl an Bits, die unter Verwendung von Speichereinrichtungen mit einem Einzelbit pro Zelle gespeichert werden können, hängt von der Erhöhung der Anzahl an Speicherzellen ab, und zwar 1:1 mit der Anzahl an zu speichernden Datenbits. Verfahren zur Erhöhung der Anzahl an Speicherbits, die in einer Speichereinrichtung gespeichert werden, die aus Zellen mit Einzelbit-Kapazität aufgebaut sind, beruhten auf Techniken, wie zum Beispiel Herstellen größerer Chips, die mehr Speicherzellen enthalten, oder Verwenden verbesserter Photolithographie-Techniken, um kleinere Speicherzellen zu bauen. Durch das Reduzieren der Größe einer Speicherzelle wird ermöglicht, dass mehr Zellen auf einer vorgegebenen Fläche eines einzelnen Chips angeordnet werden können.
- Eine Alternative zu Ausgestaltungen mit einem Bit pro Zelle (single-bit per cell) stellt das Speichern von mehreren Datenbits in einer einzelnen Speicherzelle dar. Ein Typ von Speicher, bei dem dieser Lösungsansatz verfolgt wurde, ist eine elektrisch löschbare und programmierbare Einrichtung, die als Flash-Speicherzelle bekannt ist. Bei Flash-Zellen wird das Programmieren durchgeführt, indem für eine geeignete Zeitdauer geeignete Spannungen an Source, Drain und Steuergate der Einrichtung angelegt werden. Dadurch wird bewirkt, dass Elektronen von einem Kanalgebiet zu einem schwebenden Gate getunnelt oder injiziert werden. Durch die Ladungsmenge, die sich auf dem schwebenden Gate befindet, wird die Spannung bestimmt, die am Steuergate erforderlich ist, um zu bewirken, dass die Einrichtung einen Strom zwischen den Source- und Draingebieten leitet. Diese Spannung wird als die Grenzwertspannung Vth der Zelle bezeichnet. Das Leiten stellt einen ”ein”-Zustand bzw. einen gelöschten Zustand der Einrichtung dar und entspricht einem logischen Wert von EINS. Ein ”aus”-Zustand bzw. ein programmierter Zustand ist ein Zustand, bei dem kein Strom zwischen den Source- und Draingebieten geleitet wird, und entspricht einem logischen Wert von NULL. Durch Einstellen der Grenzwertspannung der Zelle auf einen geeigneten Wert kann bewirkt werden, dass die Zelle für einen gegebenen Satz von angelegten Spannungen entweder Strom leitet oder keinen Strom leitet. Durch Bestimmen, ob eine Zelle bei einem gegebenen Satz von angelegten Spannungen einen Strom leitet, kann somit der Zustand der Zelle (programmiert oder gelöscht) gefunden werden.
- Eine Flash-Speicherzelle mit mehreren Bits pro Zelle (MBC = multiple-bit per cell) wird erzeugt, indem in der Einrichtung mehrere unterschiedliche Grenzwertspannungspegel erzeugt werden. Jede unterschiedliche Grenzwertspannung entspricht einem Satz von Datenbits. Dadurch wird ermöglicht, dass mehrere Bits an binären Daten in derselben Speicherzelle gespeichert werden können. Wenn der Zustand der Speicherzelle ausgelesen wird, dann enthält jede Zelle einen binär dekodierten Wert, der einem Wert entspricht, der von der Leitfähigkeit (conduction) der Zelle bei ihrem aktuellen Grenzwertspannungspegel abhängt. Der Grenzwertspannungspegel der Zelle, der mittels eines Messverstärkers mit einem zuvor ausgewählten Eingangswert verglichen wird, gibt den Bitsatz an, der die in der Zelle programmierten Daten darstellt. Eine korrekte Datenspeicherung macht es erforderlich, dass die mehreren Grenzwertspannungspegel einer MBC-Speicherzelle mit einem ausreichenden Wert voneinander beabstandet sind, so dass ein Pegel einer Zelle in einer eindeutigen Weise programmiert oder gelöscht werden kann. Die Beziehung zwischen den in der Speicherzelle programmierten Daten und den Grenzwertspannungspegeln der Zelle hängt vom Datenkodierungsschema ab, das für die Zellen verwendet wird.
- Beim Programmieren einer MBC-Speicherzelle besteht die Aufgabe darin, eine Programmierspannung über eine korrekte Zeitperiode anzulegen, um eine ausreichende Ladungsmenge in dem schwebenden Gate (floating gate) zu speichern, um die Grenzwertspannung auf einen gewünschten Pegel zu verlagern. Dieser Pegel stellt einen Zustand der Zelle dar, der einem Kodieren der Daten entspricht, die in die Zelle programmiert werden sollen. Jedoch wird durch das Unterteilen des Grenzwertspannungsbereichs für eine (Einzelbit-)Zelle mit zwei Zuständen in mehrere Grenzwertspannungspegel der Abstand (Grenzwertspannungsdifferenz) zwischen den Pegeln reduziert. Dies erfordert engere Systemdesigntoleranzen und reduzierte Programmieroperationsrauschabstände, so dass benachbarte Pegel unterschieden und Programmierfehler vermindert werden können. Jedoch hat das Reduzieren der Programmier- und Leseoperations-Grenzwertspannungsfenster zu langsameren Programmierprozeduren geführt und eine weitere mögliche Quelle von Speichersystemfehlern eingeführt.
- Das
U.S. Patent Nr. 6,937,510 , mit dem Titel ”Non-Volatile Semiconductor Memory”, veröffentlicht am 30. August 2005 für Hosono et al., das hiermit durch Bezugnahme eingeführt wird, offenbart ein Verfahren und eine Vorrichtung zum Programmieren und Lesen von Daten von einer nichtflüchtigen Halbleitereinrichtung, die Speicherzellen mit mehreren Bits pro Zelle (MBC) enthält. - Jedoch führt dieses Verfahren zu einer Erhöhung der Anzahl der Programmierzustände, die durchlaufen werden müssen, sowie zu einer Erhöhung von Programmierzeit und Energieverbrauch im Vergleich zu bekannten Verfahren.
- Es besteht folglich eine Notwendigkeit hinsichtlich der Entwicklung einer verbesserten Vorrichtung, eines verbesserten Verfahrens sowie eines verbesserten Systems unter Verwendung einer MBC-Speicherzelle sowie nichtflüchtiger Speichereinrichtungen und -systeme, bei denen diese verbesserten MBC-Speicherzellen verwendet werden.
- ZUSAMMENFASSUNG
- Es ist eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung, ein Verfahren sowie ein System unter Verwendung von MBC-Speicherzellen zur Verfügung zu stellen, wodurch die Anzahl an höchsten Programmierzuständen reduziert werden kann, die verwendet werden, um ein gegebenes Feld von Daten zu programmieren.
- Gemäß einem Aspekt der vorliegenden Erfindung ist eine nichtflüchtige Speichervorrichtung mit mehreren Bits pro Zelle (MBC) vorgesehen, die ein Speicher-Array aufweist, das einen oder mehrere elektrisch löschbare Blöcke enthält. Die Blöcke enthalten eine oder mehrere reprogrammierbare Seiten. Die reprogrammierbaren Seiten enthalten obere und untere Seiten, die sich gemeinsame Wortleitungen teilen. Die oberen und unteren Seiten enthalten jeweilige obere und untere Datenfelder. Die oberen und unteren Datenfelder enthalten jeweilige virtuelle obere und untere Zellen von MBC-Speicherzellen. Die MBC-Speicherzellen haben jeweilige Grenzwertspannungen, die auf einen ausgewählten Pegel von einem ersten Pegel, einem zweiten Pegel, einem dritten Pegel oder einem vierten Pegel programmierbar sind, und zwar in der Reihenfolge vom untersten Spannungspegel. Das Programmieren der unteren Zellen beinhaltet das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum zweiten Grenzwertspannungspegel. Das Programmieren der oberen Zellen beinhaltet das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum vierten Grenzwertspannungspegel oder vom zweiten Grenzwertspannungspegel zum dritten Grenzwertspannungspegel. Die Vorrichtung beinhaltet außerdem eine Steuerung zum Schreiben von Daten in das Speicher-Array, wobei die Steuerung selektiv Daten invertiert, um eine Anzahl der zu programmierenden Bits in einer unteren Seite zu maximieren, und selektiv Daten invertiert, um eine Anzahl von zu programmierenden Bits in der jeweiligen oberen Seite zu minimieren.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein System vorgesehen, das eine nichtflüchtige Speichervorrichtung mit mehreren Bits pro Zelle (MBC) aufweist, die ein Speicher-Array enthält, das einen oder mehrere elektrisch löschbare Blöcke enthält. Die Blöcke enthalten eine oder mehrere reprogrammierbare Seiten. Die reprogrammierbaren Seiten enthalten obere und untere Seiten, die sich gemeinsame Wortleitungen teilen. Die oberen und unteren Seiten enthalten jeweilige obere und untere Datenfelder. Die oberen und unteren Datenfelder enthalten jeweilige virtuelle obere und untere Zellen aus MBC-Speicherzellen. Die MBC-Speicherzellen haben jeweilige Grenzwertspannungen, die auf einen ausgewählten Pegel von einem ersten Pegel, einem zweiten Pegel, einem dritten Pegel oder einem vierten Pegel programmierbar sind, und zwar in der Reihenfolge vom untersten Spannungspegel. Das Programmieren der unteren Zellen umfasst das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum zweiten Grenzwertspannungspegel, und das Programmieren der oberen Zellen umfasst das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum vierten Grenzwertspannungspegel oder vom zweiten Grenzwertspannungspegel zum dritten Grenzwertspannungspegel. Die Speichervorrichtung enthält ferner eine Steuerung zum Schreiben von Daten in das Speicher-Array, wobei die Steuerung selektiv Daten invertiert, um eine Anzahl der zu programmierenden Bits in einer unteren Seite zu maximieren, und selektiv Daten invertiert, um eine Anzahl von zu programmierenden Bits in der jeweiligen oberen Seite zu minimieren.
- Gemäß einem noch weiteren Aspekt der vorliegenden Erfindung ist ein System vorgesehen, das eine nichtflüchtige Speichervorrichtung mit mehreren Bits pro Zelle (MBC) enthält, die ein Speicher-Array enthält, das einen oder mehrere elektrisch löschbare Blöcke enthält. Die Blöcke enthalten eine oder mehrere reprogrammierbare Seiten. Die reprogrammierbaren Seiten enthalten obere und untere Seiten, die sich gemeinsame Wortleitungen teilen. Die oberen und unteren Seiten enthalten jeweilige obere und untere Datenfelder. Die oberen und unteren Datenfelder enthalten jeweilige virtuelle obere und untere Zellen von MBC-Speicherzellen. Die MBC-Speicherzellen haben jeweilige Grenzwertspannungen, die auf einen ausgewählten Pegel von einem ersten Pegel, einem zweiten Pegel, einem dritten Pegel oder einem vierten Pegel programmierbar sind, und zwar in Reihenfolge vom untersten Spannungspegel. Das Programmieren der unteren Zellen beinhaltet das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum zweiten Grenzwertspannungspegel, und das Programmieren der oberen Zellen enthält das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum vierten Grenzwertspannungspegel oder vom zweiten Grenzwertspannungspegel zum dritten Grenzwertspannungspegel. Das System enthält ferner einer Steuerung zum Schreiben von Daten in das Speicher-Array, wobei die Steuerung selektiv Daten invertiert, um eine Anzahl der zu programmierenden Bits in einer unteren Seite zu maximieren, und selektiv Daten invertiert, um eine Anzahl von zu programmierenden Bits in der jeweiligen oberen Seite zu minimieren.
- Gemäß einem weiteren Aspekt der Erfindung ist ein Verfahren zum Programmieren einer unteren Seite und einer oberen Seite in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC) vorgesehen, wobei das Verfahren die Schritte umfasst: Zählen einer Anzahl von Bits mit einer '0' in einem unteren Datenwort; Invertieren von allen Bits in dem unteren Datenwort, wenn die Anzahl von '0' Bits kleiner ist als die Hälfte einer Gesamtzahl von Bits in dem unteren Datenwort; Programmieren der unteren Seite mit dem unteren Datenwort; Zählen einer Anzahl von Bits mit einer '0' in einem oberen Datenwort; Invertieren von allen Bits in dem oberen Datenwort, wenn die Anzahl von '0' Bits größer ist als die Hälfte einer Gesamtzahl von Bits in dem oberen Datenwort; und Programmieren der oberen Seite mit dem oberen Datenwort.
- Gemäß noch einem weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum Lesen von Daten in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC) vorgesehen, mit den Schritten: Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite; Bereitstellen eines oberen Datenworts durch Vergleichen der Grenzwertspannungen mit einer vorbestimmten Spannungsreferenz; und Invertieren des oberen Datenworts, wenn eine obere Seitenpolaritätsflagge gesetzt ist.
- Gemäß einem noch weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum Lesen von Daten in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC) vorgesehen, mit den Schritten: Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite; Bereitstellen eines unteren Datenworts durch Vergleichen der Grenzwertspannungen mit zwei vorbestimmten Spannungsreferenzen; und Invertieren des unteren Datenworts, wenn eine untere Seitenpolaritätsflagge gesetzt ist.
- In vielen anderen Publikationen auf diesem technischen Gebiet werden die Begriffe ”Single-Level-Zelle” (SLC) und ”Multi-Level-Zelle” (MLC) verwendet, um Zellen zu beschreiben, die in der Lage sind, eine binäre Datenziffer oder eine Mehrzahl von binären Datenziffern zu speichern. Aus Gründen der Klarheit werden in dieser Offenbarung die Begriffe ”Einzelbit pro Zelle” (SBC) und ”mehrere Bits pro Zelle” (MBC) verwendet, um Zellen zu beschreiben, die in der Lage sind, eine binäre Datenziffer oder eine Mehrzahl von binären Datenziffern zu speichern.
- Es sei angemerkt, dass die Darstellung von binären Daten beliebig einem bestimmten Bereich einer Grenzwertspannung zugewiesen werden kann, die eine Null ('0') oder eine Eins ('1') darstellt. Zur Vereinfachung wird in dieser Offenbarung für eine SBC-Speicherzelle eine gemeinsame Übereinkunft bezüglich der Zuweisungen verwendet, und zwar wird eine gelöschte/unprogrammierte Zelle durch eine '1' dargestellt, und eine programmierte Zelle wird durch eine '0' dargestellt.
- Außerdem hat in dieser Offenbarung eine MBC-Speicherzelle zum Speichern von M-Bits pro Zelle N = 2M mögliche Zustände (Zustand 1, Zustand 2, ... Zustand n, ... Zustand N-1, Zustand N). Gemäß der Übereinkunft ist ein Datenwert, der in einer MBC-Speicherzelle durch Zustand n gespeichert ist, das Einserkomplement der binären Grey-Code-Darstellung von n-1 (D = dM-1dM-2 ... d1d0), wobei d0 bis dM_1 die Bits darstellt, die jeweils in einer ersten Seite bis zur (M-1)-ten Seite gespeichert sind.
- In dem bestimmten Fall, wo M = 2 und N = 4 ist, werden die erste Seite und die zweiten Seite auch als die untere Seite bzw. als die obere Seite bezeichnet. Ein binärer Wert von '11' wird durch einen ersten Bereich der Grenzwertspannung von einer gelöschten Speicherzelle oder einen ersten Zustand dargestellt, ein binärer Wert von '10' wird durch einen zweiten Bereich der Grenzwertspannung der Speicherzelle oder einen zweiten Zustand dargestellt, ein binärer Wert von '00' wird durch einen dritten Bereich der Grenzwertspannung der Speicherzelle oder einen dritten Zustand dargestellt, und ein binärer Wert von '01' wird durch einen vierten Bereich der Grenzwertspannung der Speicherzelle oder einen vierten Zustand dargestellt, und zwar in der Reihenfolge vom untersten Spannungspegel.
- Durch die vorliegende Erfindung wird daher eine nichtflüchtige Speichereinrichtung mit einer engeren Verteilung der programmierten Zellengrenzwertspannung (Vth), einem reduzierten Energieverbrauch, einer verminderten Programmierzeit und einer verbesserten Zuverlässigkeit der Einrichtung im Vergleich zum bisherigen Stand der Technik zur Verfügung gestellt.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
- Weitere Merkmale und Vorteile der vorliegenden Erfindung werden durch die nachfolgende detaillierte Beschreibung in Kombination mit den beiliegenden Zeichnungen verdeutlicht, in denen:
-
1 eine Darstellung von einer nichtflüchtigen Speichervorrichtung gemäß der vorliegenden Erfindung ist; -
2 eine Darstellung von einem in1 gezeigten Block ist; -
3 eine Darstellung von einer in2 gezeigten Seite ist; -
4 eine Darstellung von einer in3 gezeigten Speicherzelle mit mehreren Bits pro Zelle (MBC) ist; -
5 eine Darstellung von einer beispielhaften Grenzwertspannungsverteilung der in3 gezeigten MBC-Speicherzellen ist; -
6 eine Darstellung ist, die eine alternative Darstellung der in4 gezeigten MBC-Speicherzelle zeigt; -
7 eine Darstellung ist, die eine alternative Darstellung der in3 gezeigten Seite zeigt; -
8a bis8c Darstellungen von beispielhaften Grenzwertspannungsverteilungen von MBC-Speicherzellen der in3 gezeigten Seite sind; -
9 ein Flussdiagramm von einem Verfahren zum Programmieren von Datenwörtern in einer unteren Seite gemäß der vorliegenden Erfindung ist; -
10 ein detaillierteres Flussdiagramm des in9 gezeigten Verfahrens ist; -
11 und12 Flussdiagramme von Schritten in dem in10 gezeigten Verfahren sind; -
13 und14 Flussdiagramme von Verfahren zum Lesen von Daten gemäß der vorliegenden Erfindung sind; -
15 eine Darstellung von einem Speichersystem gemäß der vorliegenden Erfindung ist, das die in1 gezeigte nichtflüchtige Speichervorrichtung enthält; -
16 eine Darstellung von einer nichtflüchtigen Speichervorrichtung gemäß der vorliegenden Erfindung ist; -
17 eine Darstellung von einem Speichersystem gemäß der vorliegenden Erfindung ist, das die in16 gezeigte nichtflüchtige Speichervorrichtung enthält; -
18 eine Darstellung von einer nichtflüchtigen Speichervorrichtung gemäß der vorliegenden Erfindung ist; -
19 eine Darstellung von einem Speichersystem gemäß der vorliegenden Erfindung ist, das die in18 gezeigte nichtflüchtige Speichervorrichtung enthält; -
20 eine Darstellung von einer nichtflüchtigen Speichervorrichtung gemäß der vorliegenden Erfindung ist; -
21 eine Darstellung von einem Speichersystem gemäß der vorliegenden Erfindung ist, das die in20 gezeigte nichtflüchtige Speichervorrichtung gemäß der vorliegenden Erfindung enthält; und -
22A bis22D Darstellungen von elektrischen Einrichtungen sind, die die Speichersysteme enthalten, die in15 ,17 ,19 bzw.21 gezeigt sind. - Es sei angemerkt, dass in den beiliegenden Zeichnungen gleiche Merkmale durchgehend mit den gleichen Bezugszeichen bezeichnet sind.
- DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
- Es wird zuerst auf
1 Bezug genommen, in der eine Darstellung von einer nichtflüchtigen Speichervorrichtung (NVM)100 gemäß der vorliegenden Erfindung gezeigt ist. Die Speichervorrichtung100 ist vorzugsweise ein Flash-Speicher, kann aber auch irgendein Typ von EEPROM (Electrically Erasable Programmable Read-Only Memory) sein. Die Speichervorrichtung enthält mindestens ein Speicher-Array102 , das einen oder mehrere Speicherblöcke104 enthält. Zum Zweck dieser Offenbarung ist ein Block als ein löschbarer Speicherabschnitt definiert. - Die Speichervorrichtung
100 enthält außerdem eine Steuerung106 zum Steuern der Funktionen des Speicher-Arrays, wie z. B. das Ausführen von Befehlen, die an einer Schnittstelle110 empfangen werden, das Schreiben von Daten, die an der Schnittstelle110 empfangen werden, in das Speicher-Array, das Lesen von Daten aus dem Speicher-Array102 und das Bereitstellen der Daten an die Schnittstelle110 , sowie das Löschen von Daten aus den Blöcken104 . Die Steuerung106 beinhaltet eine Funktion zur Polaritätssteuerung112 , die nachfolgend in größerem Detail erläutert wird. Es sei angemerkt, dass die Polaritätssteuerung112 durch Hardware, Software, Firmware oder irgendeine Kombination daraus implementiert werden kann, wobei alle Lösungsansätze im Schutzbereich der Erfindung liegen. - Aus Gründen der Vereinfachung und Klarheit ist die Verbindung
108 zwischen dem Speicher-Array102 und der Steuerung106 als eine vereinfachte schematische Darstellung108 gezeigt. Diese Verbindung108 enthält eine herkömmliche Speicherarchitektur, wie z. B. Zeilendecoder, Wortleitungen, Bitleitungen, Spaltendecoder, Seitenpuffer und Messverstärker, was allerdings für den Fachmann offensichtlich ist. - Unter Bezugnahme auf
2 sind weitere Details des in1 gezeigten Blocks104 gezeigt. Der Block104 enthält mindestens eine Seite202 . Zum Zwecke dieser Offenbarung ist eine Seite als ein beschreibbarer Speicherabschnitt definiert. Ein Wort oder Datenwort ist als eine binäre Zahl definiert, die in einer Seite gespeichert werden kann. Der Parameter j ist als die Breite eines Datenwortes bzw. einer Seite definiert. - Unter Bezugnahme auf
3 sind weitere Details einer in2 gezeigten Seite202 gezeigt. Die Seite202 enthält ein Datenfeld302 und ein Ersatzfeld304 . Das Datenfeld302 enthält eine Mehrzahl von Speicherzellen306 mit mehreren Bits pro Zelle (MBC). Das Ersatzfeld304 enthält eine Polaritätsflagge308 , die nachstehend näher beschrieben wird, und einen herkömmlichen Fehlerkorrekturcode (ECC)310 . - Unter Bezugnahme auf
4 ist eine in3 gezeigte MBC-Speicherzelle306 gezeigt. Eine Grenzwertspannung402 der MBC-Speicherzelle306 ist auf eine von N vorbestimmten Grenzwertspannungen programmierbar. In diesem Ausführungsbeispiel ist N als 4 gewählt. Die vier vorbestimmten Grenzwertspannungen404 ,406 ,408 ,410 entsprechen den Zuständen 1 bis 4 vom geringsten bis zum höchsten Wert. - In
5 ist eine Darstellung einer beispielhaften Verteilung der Grenzwertspannungen402 von einer Seite202 gezeigt. Die y-Achse502 stellt eine Anzahl von Zellen dar, die auf jeden Zustand404 ,406 ,408 ,410 programmiert sind, und die x-Achse504 stellt Grenzwertspannungen (Volt) dar, die jedem Zustand404 ,406 ,408 ,410 entsprechen. In diesem Beispiel sind die MBC-Speicherzellen202 etwa gleichmäßig über die vier vorbestimmten Grenzwertspannungen404 ,406 ,408 ,410 verteilt. Die Grenzwertspannungen haben vorzugsweise eine geringe Abweichung von den idealen vorbestimmten Werten und haben einen ausreichenden Abstand von benachbarten Referenzspannungen VRef1, VRef2, VRef3506 ,508 ,510 , um einen zuverlässigen Betrieb zu gewährleisten. Die asymmetrischen vorbestimmten Referenzspannungen506 ,508 ,510 sind ein Beispiel von einem herkömmlichen Grenzwertspannungsschema. Die vorliegende Erfindung ist ferner auf andere Grenzwertspannungsschemata anwendbar, wie z. B. solche Schemata, die in der anhängigen U.S.-Anmeldung Nr. 2008/0062760 des Anmelders mit dem Titel "FLASH MULTI-LEVEL THRESHOLD DISTRIBUTION SCHEME" beschrieben sind, die am 13. Juni 2007 angemeldet wurde und hiermit durch Bezugnahme eingeführt wird. - Die Darstellung der in
4 gezeigten MBC-Zelle306 ist eine schematische Darstellung der physikalischen Hardware. Alternativ kann die MBC-Zelle306 dargestellt werden, wie in6 gezeigt. In diesem Beispiel sind die vier Zustände404 ,406 ,408 ,410 der MBC-Speicherzelle306 als zwei virtuelle SBC (Einzelbit pro Zelle) Zellen602 ,604 dargestellt, die jeweils ein Bit pro Zelle haben. Wenn allgemein die Anzahl von Zuständen in einer MBC-Speicherzelle N beträgt, dann ist die Anzahl an virtuellen Zellen mit einem Bit pro Zelle M = log2N, und N ist vorzugsweise gewählt, um eine ganzzahlige Potenz von 2 zu sein. In dem hier beschriebenen Ausführungsbeispiel ist N = 4 und M = 2. Die untere Zelle602 und eine obere Zelle604 sind unter Verwendung von verschiedenen Zeilenadressen adressierbar. - Außerdem, wie in
7 gezeigt, kann die in3 gezeigte Seite202 , so dargestellt sein, dass sie eine virtuelle untere Seite702 und eine virtuelle obere Seite712 enthält, die unabhängig voneinander unter Verwendung von zwei verschiedenen Zeilenadressen adressiert werden können. Die untere Seite702 und die obere Seite712 enthalten ein jeweiliges unteres Datenfeld704 und oberes Datenfeld714 sowie ein jeweiliges unteres Ersatzfeld706 und ein oberes Ersatzfeld716 . Das untere Datenfeld704 und das obere Datenfeld714 enthalten eine jeweilige Mehrzahl (j) von unteren Zellen602 und oberen Zellen604 . Das untere Ersatzfeld706 und das obere Ersatzfeld712 enthalten eine jeweilige untere Seitenpolaritätsflagge708 und eine obere Seitenpolaritätsflagge718 sowie ein jeweiliges unteres ECC710 und oberes ECC720 . - Außerdem kann eine Mehrzahl von unteren Seiten
702 in einem Block102 als eine untere Ebene (nicht gezeigt) bezeichnet werden, und eine Mehrzahl von oberen Seiten712 in einem Block102 kann als eine obere Ebene (nicht gezeigt) bezeichnet werden. Diese ist in der Technik als eine Doppel-Ebene oder allgemeiner als Multi-Ebenenarchitektur bekannt, wobei jede Ebene unabhängig adressiert werden kann, auch wenn sie sich die gleichen Zeilendecoder, Wortleitungen und Zellen teilen. - Wenn ein Block
104 gelöscht wird, dann werden alle MBC-Speicherzellen306 in dem Block auf den Zustand 1404 gesetzt. Zustand 1404 entspricht Zellen, die gelöscht wurden und auf Basis der Übereinkunft den Datenwert '11' zugewiesen bekommen. Zustand 2406 entspricht einem Datenwert von '10', Zustand 3408 entspricht einem Datenwert von '00', und Zustand 4410 entspricht einem Datenwert von '01'. - Das Programmieren (Speichern einer '0') der unteren Zelle
602 umfasst die Schritte des Programmierens der MBC-Zelle306 von Zustand 1404 auf Zustand 2406 . Das Programmieren der oberen Zelle604 umfasst die Schritte des Programmierens der MBC-Zelle306 von Zustand 1404 auf Zustand 4410 oder von Zustand 2406 auf Zustand 3408 . - Allgemein umfasst das Programmieren der m-ten Zelle der M virtuellen Zellen die Schritte des Programmierens der MBC-Zelle
306 von einem der Zustände 1, 2, ... bis 2m-1 auf jeweils einen der Zustände 2m, 2m-1, ... bis 2m+1 + 1. -
8a bis8c zeigen beispielhafte Verteilungen802 ,804 ,806 einer Seite202 nach Lösch- und Schreiboperationen. In8a sind alle Zellen306 im Zustand 1404 , nachdem sie gelöscht sind. In8b ist eine Verteilung804 gezeigt, nachdem das untere Datenfeld704 mit einem Datenwort programmiert512 wurde, wobei das Datenwort eine andere Anzahl von '0' als '1' hat. Es sei angemerkt, wie nachstehend detaillierter beschrieben wird, dass mehr Zellen306 auf Zustand 2406 programmiert512 werden als im Zustand 1404 verbleiben. In8c ist eine Verteilung806 gezeigt, nachdem das obere Datenfeld714 mit einem Datenwort programmiert514 ,516 wurde, wobei das Datenwort eine andere Anzahl von '0' als '1' hat. Es sei angemerkt, wie nachfolgend detaillierter beschrieben wird, dass weniger Zellen306 auf Zustände 3 und 4408 ,410 von Zuständen 2 bzw. 1406 ,404 programmiert514 ,516 werden. Es sei ferner angemerkt, dass Zustand 4410 in8c die kleinste Anzahl von Zellen hat, und zwar im Vergleich mit Zuständen 1 bis 3404 ,406 ,408 . - In
9 ist ein Flussdiagramm900 von einem Verfahren zum Programmieren von Datenwörtern in eine untere Seite702 und eine obere Seite712 gemäß der vorliegenden Erfindung beschrieben. Das Verfahren umfasst einen Schritt902 zum Programmieren einer unteren Seite702 mit mehr '0' als '1' durch selektives Invertieren des Datenworts, das in die untere Seite702 programmiert werden soll; und einen Schritt904 zum Programmieren einer oberen Seite712 mit mehr '1' als '0' durch selektives Invertieren des Datenworts, das in die obere Seite712 programmiert werden soll. Es sei angemerkt, dass eine gestrichelte Linie903 zwischen den Schritten902 und904 bedeutet, dass es nicht erforderlich ist, eine obere Seite712 unmittelbar nach dem Programmieren der entsprechenden unteren Seite702 zu programmieren. Beispielsweise kann eine Mehrzahl von unteren Seiten702 in einem Block104 programmiert werden, bevor obere Seiten712 programmiert werden, was aber alles noch im Schutzbereich der vorliegenden Erfindung liegt. -
10 ist ein detaillierteres Flussdiagramm1000 des Verfahrens, das durch das in9 gezeigte Flussdiagramm900 dargestellt ist. Der Schritt des Programmierens der unteren Seite902 beinhaltet die Schritte: Zählen1002 einer Anzahl von '0' in einem Datenwort, das in die untere Seite702 programmiert werden soll; Entscheiden1004 , ob das untere Datenwort weniger '0' als '1' oder alternativ weniger als j/2 (Hälfte der Wort-/Seitenbreite) hat; falls ja, Setzen1006 einer unteren Seitenpolaritätsflagge708 und Invertieren1008 des unteren Datenworts; wenn nein, Löschen1012 der unteren Seitenpolaritätsflagge708 ; und Programmieren1010 des unteren Datenworts in die untere Seite702 (was nachfolgend in größerem Detail beschrieben wird). Der Schritt des Programmierens der oberen Seite904 umfasst die Schritte: Zählen1014 einer Anzahl von '0' in einem Datenwort, das in der oberen Seite712 programmiert werden soll; Entscheiden1016 , ob das obere Datenwort mehr '0' als '1' oder alternativ mehr als j/2 hat; wenn ja, Einstellen1018 einer oberen Seitenpolaritätsflagge718 und Invertieren1020 des oberen Datenworts; wenn nein, Löschen1024 der oberen Seitenpolaritätsflagge718 ; und Programmieren1010 des oberen Datenworts in die oberen Seite712 (was nachfolgend in größerem Detail beschrieben wird). -
11 ist ein Flussdiagramm von Schritt1010 für das Programmieren des unteren Datenworts in die untere Seite702 des Verfahrens, das durch das in10 gezeigte Flussdiagramm1000 dargestellt ist. Für jedes Bit in dem zu programmierenden1102 Datenwort, wenn das Datenbit eine '1' ist, dann Verhindern des Programmierens1104 oder Belassen davon im Zustand 1404 ; wenn das Datenbit eine '0' ist, dann Programmieren512 der Zelle von Zustand 1404 auf Zustand 2406 . -
12 ist ein Flussdiagramm von Schritt1022 zum Programmieren des oberen Datenworts in die obere Seite712 des Verfahrens, das durch das in10 gezeigte Flussdiagramm1000 dargestellt ist. Zuerst wird ein unteres Datenwort aus der unteren Seite702 ausgelesen, die sich mit der oberen Seite712 die gleiche Wortleitung teilt. Dann wird für jedes Bit in dem unteren Datenwort und dem oberen Datenwort, wenn die oberen/unteren Datenbits '11'1204 ,1206 sind, ein Programmieren verhindert1208 , und die Zelle verbleibt in Zustand 1404 ; wenn die oberen/unteren Datenbits '10'1204 ,1206 sind, dann wird die Zelle von Zustand 1406 auf Zustand 4410 programmiert516 ; wenn die oberen/unteren Datenbits '01'1204 ,1212 sind, dann wird das Programmieren verhindert1214 , und die Zelle verbleibt im Zustand 2406 ; ansonsten, wenn die oberen/unteren Datenbits '00'1204 ,1206 sind, wird die Zelle von Zustand 2406 auf Zustand 3408 programmiert514 . -
13 ist ein Flussdiagramm1300 von einem Verfahren zum Lesen von Daten aus einer oberen Seite712 gemäß der vorliegenden Erfindung. Zunächst wird eine Grenzwertspannung402 von jeder- Zelle306 in der Seite202 erfasst1302 ; wenn die Grenzwertspannung nicht größer ist als VRef21304 und die Polaritätsflagge nicht gesetzt1306 ist, dann ist das obere Bit eine '1'1310 ; wenn die Grenzwertspannung nicht größer ist als VRef21304 und die Polaritätsflagge gesetzt1306 ist, dann ist das obere Bit eine '0'1308 ; wenn die Grenzwertspannung größer ist als VRef21304 und die Polaritätsflagge nicht gesetzt1307 ist, dann ist das obere Bit eine '0'1308 ; ansonsten, wenn die Grenzwertspannung größer ist als VRef21304 und die Polaritätsflagge gesetzt1307 ist, dann ist das obere Bit eine '1'1310 . -
14 ist ein Flussdiagramm1400 von einem Verfahren zum Lesen von Daten aus einer unteren Seite702 gemäß der vorliegenden Erfindung. Zuerst wird eine Grenzwertspannung402 von jeder Zelle306 in der Seite202 erfasst1402 ; wenn die Grenzwertspannung kleiner als VRef1 oder größer als VRef31404 ist und die Polaritätsflagge nicht gesetzt1406 ist, dann ist das untere Bit eine '1'1410 ; wenn die Grenzwertspannung kleiner als VRef1 oder größer als VRef31404 ist und die Polaritätsflagge gesetzt1406 ist, dann ist das obere Bit eine '0'1408 ; wenn die Grenzwertspannung größer als VRef1 und kleiner als VRef31404 ist und die Polaritätsflagge nicht gesetzt1407 ist, dann ist das obere Bit eine '0'1408 ; ansonsten, wenn die Grenzwertspannung größer als VRef1 und kleiner als VRef31404 ist und die Polaritätsflagge gesetzt1407 ist, dann ist das obere Bit eine '1'1410 . - Allgemein wird eine Grenzwertspannung der MBC-Zelle in einer herkömmlichen Weise gemessen, wenn die gemessene Grenzwertspannung kleiner ist als VRef1, dann ist der gespeicherte Wert N-1 (alle '1', oder Einserkomplement der Grey-Code-Darstellung von 0), wenn die gemessene Grenzwertspannung zwischen VRef(n-1) und VRefn beträgt, dann ist der in der MBC-Zelle gespeicherte Wert das Einserkomplement der Grey-Code-Darstellung von n-1, und wenn die gemessene Grenzwertspannung der MBC-Speicherzelle größer als VRef(n-1) ist, dann ist der gespeicherte Wert das Einserkomplement der Grey-Code-Darstellung von N-1. Außerdem, wenn eine entsprechende Polaritätsflagge gesetzt ist, dann wird der aus der MBC-Zelle ausgelesene Wert invertiert.
- Die M virtuellen Seiten können der Reihe nach sequentiell von der M-ten Seite zur ersten Seite gelesen werden. Zum Lesen der M-ten Seite werden die Grenzwertspannungen mit verglichen; dann werden zum Lesen der (M-1)-ten Seite die Grenzwertspannung mitverglichen; dann werden zum Lesen der (M-2)-ten Seite die Grenzwertspannungen mit verglichen; und so weiter bis zur ersten Seite, wo die Grenzwertspannungen mit VRef1, VRef3, VRef5, ... VRef(N-1) verglichen werden.
-
15 ist eine Darstellung von einem Speichersystem1500 gemäß der vorliegenden Erfindung. Das System1500 enthält eine Speichersteuerung1502 , die eine Host-Schnittstelle1504 und eine Parallelbusschnittstelle hat, um mit einem oder mehreren nichtflüchtigen Speichern100 mit Polaritätssteuerung112 verbunden zu werden, wie nachfolgend beschrieben wird. - Nachfolgend wird auf
16 und17 Bezug genommen, in denen eine andere nichtflüchtige Speichervorrichtung1600 und ein System1700 gemäß der vorliegenden Erfindung gezeigt ist, wobei eine Steuerung106 ausgestaltet ist, um über einen Systembus1506 mit einer Speichersteuerung1702 zu kommunizieren, die eine Polaritätssteuerung112 aufweist. - In
18 und19 ist eine weitere nichtflüchtige Speichervorrichtung1800 sowie ein System1900 gemäß der vorliegenden Erfindung dargestellt. Die nichtflüchtige Speichervorrichtung1800 ist im Wesentlichen die gleiche wie die Speichervorrichtung100 , die in1 gezeigt ist, mit der Ausnahme, dass sie einen seriellen Eingang1802 und einen seriellen Ausgang1804 anstelle einer parallelen Schnittstelle110 aufweist. Das Speichersystem1900 beinhaltet eine oder mehrere der nichtflüchtigen Speichervorrichtungen1800 , die in18 gezeigt sind. Eine Speichersteuerung1902 , die eine Host-Schnittstelle1504 , einen seriellen Ausgang1904 und einen seriellen Eingang1906 aufweist, steuert das Speichersystem1900 in einer solchen Weise, wie beispielsweise in der anhängigen U. S. Anmeldung Nr. 11/324,023 des Anmelders mit dem Titel "MULTIPLE INDEPENDENT SERIAL LINK MEMORY" beschrieben ist, angemeldet am 30. Dezember 2005 für Kim et al., die hiermit durch Bezugnahme eingeführt wird. -
20 und21 zeigen eine weitere nichtflüchtige Speichervorrichtung2000 und ein System2100 gemäß der vorliegenden Erfindung, wobei eine Steuerung106 ausgestaltet ist, um über einen seriellen Bus1904 ,1906 mit einer Speichersteuerung2102 zu kommunizieren, die eine Polaritätssteuerung2104 aufweist. Die nichtflüchtige Speichervorrichtung2000 ist im Wesentlichen die gleiche wie die Speichervorrichtung1600 , die in16 gezeigt ist, mit der Ausnahme, dass sie einen seriellen Eingang1802 und einen seriellen Ausgang1804 anstelle einer parallelen Schnittstelle110 aufweist. Das Speichersystem2100 enthält eine oder mehrere der nichtflüchtigen Speichervorrichtungen2000 , die in20 gezeigt sind. Eine Speichersteuerung2102 , die eine Host-Schnittstelle1504 , einen seriellen Ausgang1904 und einen seriellen Eingang1906 aufweist, steuert das Speichersystem2100 in einer solchen Weise, wie beispielsweise in der Anmeldung Nr. 11/324,023 beschrieben ist. - Es sei angemerkt, dass, obwohl Ausführungsbeispiel des Systems mit parallelen Schnittstellen (
15 und17 ) und seriellen Schnittstellen (19 und21 ) offenbart sind, Systeme mit irgendeiner Kombination von parallelen und seriellen Schnittstellen ebenfalls in den Schutzbereich der Erfindung fallen. - Obwohl Ausführungsbeispiele mit MBC-Speicherzellen beschrieben wurden, die 2 Bits pro Zelt haben, ist die vorliegende Erfindung ebenfalls auf Vorrichtungen, Verfahren und Systemen anwendbar, die MBC-Speicherzellen mit mehr als 2 Bits pro Zelle haben.
- Allgemein, und unter erneuter Bezugnahme auf
4 , hat eine MBC-Speicherzelle306 mit M Bits pro Zelle N Zustände (Zustand 1, Zustand 2, ... Zustand n, ... Zustand N-1, Zustand N) vom untersten zum höchsten Wert von Vth in dieser Reihenfolge, wobei, siehe5 , Zustand n einen Datenwert (D) darstellt, der ein Einserkomplement des Grey-Code-Werts von n-1 (n = 1 bis N) ist, und wobei das LSB (least significant bit) von D zum MSB (most significant bit) von D Daten darstellt, die in virtuellen Zellen gespeichert sind. Das Programmieren des m-ten Bits von D in die m-te virtuelle Zelle beinhaltet das Programmieren der MBC-Speicherzelle von einem der Zustände 1, 2, ... 2m-1 zu jeweils einem der Zustände 2m, 2m-1, 2m-1 + 1. - Die Steuerung invertiert selektiv die Polarität von zu programmierenden Daten, um eine Anzahl von Bits zu maximieren, die in jeder der Seiten 1 bis M-1 programmiert werden sollen, und invertiert selektiv die Polarität der zu programmierenden Daten, um eine Anzahl von Bits zu minimieren, die in die M-te Seite programmiert werden sollen.
- Wie vorstehend beschrieben, können die in
15 ,17 ,19 und21 gezeigten Speichersysteme auch, wie in22A ,22B ,22C bzw.22D gezeigt, in einer elektrischen Einrichtung2200 eingebettet sein. Die elektrische Einrichtung2200 kann beispielsweise ein Speicherstift, eine Halbleiterfestplatte (SSD), ein Laptop-Computer, ein Desktop-Computer, ein persönlicher digitaler Assistent (PDA), ein Audio-Player oder ähnliches sein, wo die Vorteile der Ausführungsformen der vorliegenden Erfindung, die hier beschrieben wurden, besonders vorteilhaft sind. - Mittels der vorliegenden Erfindung werden daher eine Vorrichtung, ein Verfahren und ein System zum Programmieren einer Speicherzelle mit mehreren Bits pro Zelle zur Verfügung gestellt, wodurch die Anzahl von höchsten Programmierzuständen reduziert wird, die verwendet werden, um ein gegebenes Datenfeld zu programmieren, und somit eine nichtflüchtige Speichereinrichtung mit engerer Verteilung von Grenzwertspannungen (Vth) für programmierte Zellen zur Verfügung gestellt, mittels derer der Energieverbrauch reduziert, die Programmierzeit vermindert und die Zuverlässigkeit der Einrichtung im Vergleich mit dem Stand der Technik verbessert wird.
- Die Ausführungsbeispiele der Erfindung, wie sie vorstehend beschrieben wurden, sind lediglich beispielhafter Natur. Der Schutzbereich der Erfindung ist daher ausschließlich durch den Schutzbereich der angefügten Patentansprüche begrenzt. Tabelle der Elemente
Elementname Bezugszeichen nichtflüchtige Speichervorrichtung 100 Speicher-Array 102 Block 104 Steuerung 106 Verbindung 108 Schnittstelle 110 Polaritätssteuerung 112 Seite 202 Datenfeld 302 Ersatzfeld 304 MBC-Speicherzelle 306 Polaritätsflaggen 308 Fehlerkorrektur-Code (ECC) 310 Grenzwertspannung 402 Zustands-/Grenzwertspannungen 1 bis 4 404 ,406 ,408 ,410 beispielhafte Grenzwertspannungsverteilung 500 vertikale Achse, Anzahl der Zellen 502 horizontale Achse, Spannung 504 Referenzspannungen 1 bis 3 506 ,508 ,510 Programm von Zustand 1 bis 2 512 Programm von Zustand 2 bis 3 514 Programm von Zustand 1 bis 4 516 unteres Bit 602 oberes Bit 604 untere Seite 702 unteres Datenfeld 704 unteres Ersatzfeld 706 untere Polaritätsflagge 708 unteres ECC 710 obere Seite 712 oberes Datenfeld 714 oberes Ersatzfeld 716 obere Polaritätsflagge 718 oberes ECC 720 Grenzwertspannungsverteilung 802 ,804 ,806 Verfahren zum Programmieren Flussdiagramm 900 Programmieren der unteren Seite 902 Unterbrechung zwischen 902 und904 903 Programmieren der oberen Seite 904 detailliertes Verfahren des Programmierens- Flussdiagramm 1000 Schritte des Programmierens der unteren Seite 1002 bis1012 Schritte des Programmierens der oberen Seite 1014 bis1024 Schritte des Programmierens des unteren Datenworts 1102 bis1104 Schritte des Programmierens des oberen Datenworts 1202 bis1214 Lesen des oberen Datenworts Flussdiagramm 1300 Schritte zum Lesen des oberen Datenworts 1302 bis1310 Lesen des oberen Datenworts Flussdiagramm 1400 Schritte zum Lesen des unteren Datenworts 1402 bis1410 Speichersystem 1500 Speichersteuerung 1502 Host-Schnittstelle 1504 paralleler Bus 1506 nichtflüchtiger Speicher 1600 Speichersystem 1700 Speichersteuerung w/Polaritätssteuerung 1702 nichtflüchtiger Speicher w/serielle Schnittstelle 1800 serielle Eingangsschnittstelle 1802 serielle Ausgangsschnittstelle 1804 Speichersystem w/serielle Verbindung 1900 Speichersteuerung w/serielle Schnittstelle 1902 serielle Ausgabe 1904 serielle Eingabe 1906 nichtflüchtiger Speicher w/serielle Schnittstelle 2000 Speichersystem 2100 Speichersteuerung w/serielle Schnittstelle und Polaritätssteuerung 2102 elektrische Einrichtung 2200 - ZUSAMMENFASSUNG
- Nichtflüchtige Speichervorrichtung mit mehreren Bits pro Zelle (MBC), Verfahren und System, wobei eine Steuerung zum Schreiben/Lesen von Daten in/aus einem Speicher-Array die Polarität von Daten steuert, indem Datenwörter selektiv invertiert werden, um eine Anzahl von Bits zu maximieren, die in (M-1) virtuellen Seiten programmiert werden sollen, und indem Datenwörter selektiv invertiert werden, um eine Anzahl von Bits zu minimieren, die in einer M-ten virtuellen Seite programmiert werden sollen, wobei M die Anzahl an Bits pro Zelle ist. Eine zugehörige Polaritätssteuerflagge wird gesetzt, wenn ein Datenwort invertiert wird. Daten werden gemäß der zugehörigen Polaritätsflagge selektiv invertiert, wenn sie aus den M virtuellen Seiten gelesen werden. Eine Anzahl der höchsten Grenzwertspannungsprogrammierzustände wird reduziert. Dadurch wird eine engere Verteilung der programmierten Zellengrenzwertspannung erreicht, der Energieverbrauch reduziert, die Programmierzeit vermindert und die Zuverlässigkeit der Einrichtung verbessert.
- ZITATE ENTHALTEN IN DER BESCHREIBUNG
- Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
- Zitierte Patentliteratur
-
- US 6937510 [0008]
- Zitierte Nicht-Patentliteratur
-
- ”FLASH MULTI-LEVEL THRESHOLD DISTRIBUTION SCHEME” beschrieben sind, die am 13. Juni 2007 [0051]
- ”MULTIPLE INDEPENDENT SERIAL LINK MEMORY” beschrieben ist, angemeldet am 30. Dezember 2005 für Kim et al. [0069]
Claims (42)
- Nichtflüchtige Speichervorrichtung mit mehreren Bits pro Zelle (MBC), mit: einem Speicher-Array, das einen elektrisch löschbaren Block enthält; wobei der Block eine reprogrammierbare Seite enthält; wobei die reprogrammierbare Seite eine obere und eine untere Seite enthält, die sich eine gemeinsame Wortleitung teilen; wobei die oberen und unteren Seiten jeweilige obere und untere Datenfelder enthalten; wobei die oberen und unteren Datenfelder jeweilige virtuelle obere und untere Zellen von MBC-Speicherzellen enthalten; wobei die MBC-Speicherzellen jeweilige Grenzwertspannungen haben, die auf einen ausgewählten Pegel von einem ersten Pegel, einem zweiten Pegel, einem dritten Pegel oder einem vierten Pegel in der Reihenfolge vom untersten Spannungspegel programmierbar sind, wobei das Programmieren der unteren Zellen das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum zweiten Grenzwertspannungspegel umfasst, und wobei das Programmieren der oberen Zellen das Programmieren der jeweiligen Grenzwertspannung vom ersten Grenzwertspannungspegel zum vierten Grenzwertspannungspegel oder vom zweiten Grenzwertspannungspegel zum dritten Grenzwertspannungspegel umfasst; und einer Steuerung zum Schreiben von Daten in das Speicher-Array, wobei die Steuerung die Polarität steuert, indem selektiv ein Datenwort invertiert wird, um eine Anzahl von zu programmierenden Bits in einer unteren Seite zu maximieren, und selektiv Daten invertiert werden, um eine Anzahl von zu programmierenden Bits in der jeweiligen oberen Seite zu minimieren.
- Vorrichtung nach Anspruch 1, bei der die oberen und unteren Seiten jeweilige obere und untere Ersatzfelder enthalten.
- Vorrichtung nach Anspruch 2, bei der die oberen und unteren Ersatzfelder jeweilige obere und untere Seitenpolaritätsflaggen enthalten.
- Vorrichtung nach Anspruch 1, bei der der erste Pegel, der zweite Pegel, der dritte Pegel und der vierte Pegel der Grenzwertspannungen jeweils als '11', '10', '00' und '01' Kombinationen der oberen bzw. unteren Zellen definiert sind.
- Vorrichtung nach Anspruch 4, bei der der erste Grenzwertspannungspegel einen gelöschten Zustand darstellt.
- Vorrichtung nach Anspruch 4, bei der der erste Grenzwertspannungspegel eine unprogrammierte obere Zelle und eine unprogrammierte untere Zelle darstellt.
- Vorrichtung nach Anspruch 1, bei der der zweite Grenzwertspannungspegel eine unprogrammierte obere Zelle und eine programmierte untere Zelle darstellt.
- Vorrichtung nach Anspruch 1, bei der der dritte Grenzwertspannungspegel eine programmierte obere Zelle und eine programmierte untere Zelle darstellt.
- Vorrichtung nach Anspruch 1, bei der der zweite Grenzwertspannungspegel eine programmierte obere Zelle und eine unprogrammierte untere Zelle darstellt.
- Vorrichtung nach Anspruch 1, bei der die oberen und unteren Seiten außerdem jeweilige obere und untere Ersatzfelder enthalten.
- Vorrichtung nach Anspruch 10, bei der die oberen und unteren Ersatzfelder jeweilige obere und untere Polaritätsflaggen enthalten.
- Vorrichtung nach Anspruch 1, bei der die Steuerung Mittel zum Lesen von Daten aus dem Speicher-Array enthält, und wobei die Steuerung Mittel zum Lesen eines Datenworts aus einer Seite, Mittel zum Dekodieren des Datenworts in untere und obere Datenwörter, Mittel zum Invertieren des unteren Datenworts, wenn eine untere Seitenpolaritätsflagge gesetzt ist, und Mittel zum Invertieren des oberen Datenworts enthält, wenn eine obere Seitenpolaritätsflagge gesetzt ist.
- Nichtflüchtiges Speichersystem (NVM), mit: einer nichtflüchtigen Speichervorrichtung mit mehreren Bits pro Zelle (MBC), mit: einem Speicher-Array, das einen elektrisch löschbaren Block enthält; wobei die Blöcke eine reprogrammierbare Seite enthalten; wobei die reprogrammierbare Seite obere und untere Seiten enthält, die sich gemeinsame Wortleitungen teilen; wobei die oberen und unteren Seiten jeweilige obere und untere Datenfelder enthalten; wobei die oberen und unteren Datenfelder jeweilige virtuelle obere und untere Zellen von MBC-Speicherzellen enthalten; wobei die MBC-Speicherzellen jeweilige Grenzwertspannungen haben, die auf einen ausgewählten Pegel von einem ersten Pegel, einem zweiten Pegel, einem dritten Pegel oder einem vierten Pegel in der Reihenfolge vom untersten Spannungspegel programmierbar sind, wobei das Programmieren der unteren Zellen das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum zweiten Grenzwertspannungspegel umfasst, und wobei das Programmieren von oberen Zellen das Programmieren der jeweiligen Grenzwertspannungen vom ersten Grenzwertspannungspegel zum vierten Grenzwertspannungspegel oder vom zweiten Grenzwertspannungspegel zum dritten Grenzwertspannungspegel umfasst; und einer Steuerung zum Schreiben von Daten in das Speicher-Array, wobei die Steuerung die Polarität steuert, indem selektiv Daten invertiert werden, um eine Anzahl der zu programmierenden Bits in einer unteren Seite zu maximieren, und selektiv Daten invertiert werden, um eine Anzahl von zu programmierenden Bits in der jeweiligen oberen Seite zu minimieren.
- System nach Anspruch 13, bei dem die oberen und unteren Seiten jeweilige obere und untere Ersatzfelder enthalten.
- System nach Anspruch 14, bei dem die oberen und unteren Ersatzfelder jeweilige obere und untere Seitenpolaritätsflaggen enthalten.
- System nach Anspruch 13, bei dem der erste Pegel, der zweite Pegel, der dritte Pegel und der vierte Pegel der Grenzwertspannungen jeweils als '11', '10', '00' und '01' Kombinationen der oberen bzw. unteren Zellen definiert sind.
- System nach Anspruch 16, bei dem der erste Grenzwertspannungspegel einen gelöschten Zustand darstellt.
- System nach Anspruch 16, bei dem der erste Grenzwertspannungspegel eine unprogrammierte obere Zelle und eine unprogrammierte untere Zelle darstellt.
- System nach Anspruch 13, bei dem der zweite Grenzwertspannungspegel eine unprogrammierte obere Zelle und eine programmierte untere Zelle darstellt.
- System nach Anspruch 13, bei dem der dritte Grenzwertspannungspegel eine programmierte obere Zelle und eine programmierte untere Zelle darstellt.
- System nach Anspruch 13, bei dem der zweite Grenzwertspannungspegel eine programmierte obere Zelle und eine unprogrammierte untere Zelle darstellt.
- System nach Anspruch 13, bei dem die oberen und unteren Seiten jeweilige außerdem jeweilige obere und untere Ersatzfelder enthalten
- System nach Anspruch 22, bei dem die oberen und unteren Ersatzfelder jeweilige obere und untere Polaritätsflaggen enthalten.
- System nach Anspruch 13, bei dem die Steuerung Mittel zum Lesen von Daten aus dem Speicher-Array enthält, und wobei die Steuerung Mittel zum Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite, Mittel zum Bereitstellen eines oberen Datenworts durch Vergleichen der Grenzwertspannungen mit einer vorbestimmten Spannungsreferenz, und Mittel zum Invertieren des oberen Datenworts enthält, wenn eine obere Seitenpolaritätsflagge gesetzt ist.
- System nach Anspruch 13, bei dem die Steuerung Mittel zum Lesen von Daten aus dem Speicher-Array enthält, und wobei die Steuerung Mittel zum Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite, Mittel zum Bereitstellen eines unteren Datenworts durch Vergleichen der Grenzwertspannungen mit zwei vorbestimmten Spannungsreferenzen, und Mittel zum Invertieren des unteren Datenworts enthält, wenn eine untere Seitenpolaritätsflagge gesetzt ist.
- Verfahren zum Programmieren einer unteren Seite und einer oberen Seite in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC), wobei das Verfahren die Schritte umfasst: Zählen einer Anzahl von Bits mit einer '0' in einem unteren Datenwort; Invertieren von allen Bits in dem unteren Datenwort, wenn die Anzahl von '0' Bits kleiner ist als die Hälfte einer Gesamtzahl von Bits in dem unteren Datenwort; Programmieren der unteren Seite mit dem unteren Datenwort; Zählen einer Anzahl von Bits mit einer '0' in einem oberen Datenwort; Invertieren von allen Bits in dem oberen Datenwort, wenn die Anzahl von '0' Bits größer ist als die Hälfte einer Gesamtzahl von Bits in dem oberen Datenwort; und Programmieren der oberen Seite mit dem oberen Datenwort.
- Verfahren nach Anspruch 26, bei dem der Schritt des Invertierens von allen Bits in dem unteren Datenwort einen Schritt des Setzens einer unteren Seitenpolaritätsflagge umfasst.
- Verfahren nach Anspruch 26, bei dem der Schritt des Invertierens von allen Bits in dem oberen Datenwort einen Schritt des Setzens einer oberen Seitenpolaritätsflagge umfasst.
- Verfahren nach Anspruch 26, außerdem mit dem Schritt des Löschens einer unteren Seitenpolaritätsflagge.
- Verfahren nach Anspruch 26, außerdem mit dem Schritt des Löschens einer oberen Seitenpolaritätsflagge.
- Verfahren zum Lesen von Daten in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC), wobei das Verfahren die Schritte umfasst: Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite; Bereitstellen eines oberen Datenworts durch Vergleichen der Grenzwertspannungen mit einer vorbestimmten Spannungsreferenz; und Invertieren des oberen Datenworts, wenn eine obere Seitenpolaritätsflagge gesetzt ist.
- Verfahren nach Anspruch 31, bei dem der Schritt des Invertierens des oberen Datenworts einen Schritt des Lesens der oberen Seitenpolaritätsflagge aus einem Ersatzfeld umfasst.
- Verfahren zum Lesen von Daten in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC), wobei das Verfahren die Schritte umfasst: Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite; Bereitstellen eines unteren Datenworts durch Vergleichen der Grenzwertspannungen mit zwei vorbestimmten Spannungsreferenzen; und Invertieren des unteren Datenworts, wenn eine untere Seitenpolaritätsflagge gesetzt ist.
- Verfahren nach Anspruch 33, bei dem der Schritt des Invertierens des unteren Datenworts einen Schritt des Lesens der unteren Seitenpolaritätsflagge aus einem Ersatzfeld umfasst.
- Nichtflüchtige Speichervorrichtung mit mehreren Bits pro Zelle (MBC), mit: einem Speicher-Array, das einen elektrisch löschbaren Block enthält; wobei der Block eine reprogrammierbare Seite enthält; wobei die reprogrammierbare Seite M virtuelle Seiten enthält, die sich eine gemeinsame Wortleitung teilen; wobei die M virtuellen Seiten jeweilige Datenfelder enthalten; wobei jedes der Datenfelder eine jeweilige virtuelle Zelle von einer MBC-Speicherzelle mit M Bits pro Zelle enthält; wobei die MBC-Speicherzelle eine Grenzwertspannung hat, die auf einen ausgewählten Pegel von N Pegeln programmierbar ist, wobei N = 2M ist, und wobei das Programmieren eines m-ten Bits der M Bits der MBC-Speicherzelle das Programmieren der MBC-Speicherzellen von einem der Zustände 1... 2m-1 auf jeweils einen der Zustände 2m... 2m-1 + 1 enthält; und einer Steuerung zum Schreiben von Daten in das Speicher-Array, wobei die Steuerung die Polarität steuert, indem selektiv eine Polarität von jeweiligen Datenwörtern invertiert wird, die in die erste bis (M-1)-te virtuelle Seite zu programmieren sind, um eine Anzahl von zu programmierenden Bits in jeder der jeweiligen (M-1)-ten virtuellen Seite zu maximieren, und selektiv eine Polarität von jeweiligen Datenwörtern invertiert wird, die in die M-te virtuelle Seite zu programmieren sind, um eine Anzahl von zu programmierenden Bits in der M-ten virtuellen Seite zu minimieren.
- Verfahren zum Lesen von Daten in einem nichtflüchtigen Speicher mit M Bits pro Zelle, wobei das Verfahren Schritte umfasst: Erfassen der Grenzwertspannungen von MBC-Zellen in einer Seite; Vergleichen der Grenzwertspannungen mit 2M – 1 vorbestimmten Referenzspannungen; Bereitstellen eines Datenworts basierend auf den Vergleichen; und Invertieren des Datenworts, wenn eine Polaritätsflagge gesetzt ist.
- System mit einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC), das Mittel zum Lesen von Daten enthält, mit: Mitteln zum Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite; Mitteln zum Bereitstellen eines oberen Datenworts durch Vergleichen der Grenzwertspannungen mit einer vorbestimmten Spannungsreferenz; und Mitteln zum Invertieren des oberen Datenworts, wenn eine obere Seitenpolaritätsflagge gesetzt ist.
- System nach Anspruch 37, bei dem die Mittel zum Invertieren des oberen Datenworts Mittel zum Lesen der oberen Seitenpolaritätsflagge aus einem Ersatzfeld enthalten.
- Speichersteuerung zum Lesen von Daten in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC), mit: Mitteln zum Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite; Mitteln zum Bereitstellen eines oberen Datenworts durch Vergleichen der Grenzwertspannungen mit einer vorbestimmten Spannungsreferenz; und Mitteln zum Invertieren des oberen Datenworts, wenn eine obere Seitenpolaritätsflagge gesetzt ist.
- Speichersteuerung nach Anspruch 39, bei der die Mittel zum Invertieren des oberen Datenworts Mittel zum Lesen der oberen Seitenpolaritätsflagge aus einem Ersatzfeld enthalten.
- Speichersteuerung zum Lesen von Daten in einem nichtflüchtigen Speicher mit mehreren Bits pro Zelle (MBC), mit: Mitteln zum Erfassen von Grenzwertspannungen von MBC-Zellen in einer Seite; Mitteln zum Bereitstellen eines unteren Datenworts durch Vergleichen der Grenzwertspannungen mit zwei vorbestimmten Spannungsreferenzen; und Mitteln zum Invertieren des unteren Datenworts, wenn eine untere Seitenpolaritätsflagge gesetzt ist.
- Speichersteuerung nach Anspruch 41, bei der die Mittel zum Invertieren des unteren Datenworts Mittel zum Lesen der unteren Seitenpolaritätsflagge aus einem Ersatzfeld enthalten.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/166,876 | 2008-07-02 | ||
US12/166,876 US7729166B2 (en) | 2008-07-02 | 2008-07-02 | Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same |
PCT/CA2009/000892 WO2010000062A1 (en) | 2008-07-02 | 2009-06-30 | Multiple-bit per cell (mbc) non-volatile memory apparatus and system having polarity control and method of programming same |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112009001620T5 true DE112009001620T5 (de) | 2011-05-26 |
Family
ID=41464281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112009001620T Withdrawn DE112009001620T5 (de) | 2008-07-02 | 2009-06-30 | Nichtflüchtige Speichervorrichtung mit mehreren Bits Pro Zelle (MBC) und System mit Polaritätssteuerung sowie Verfahren zum Programmieren derselbigen |
Country Status (9)
Country | Link |
---|---|
US (4) | US7729166B2 (de) |
EP (1) | EP2297740A4 (de) |
JP (3) | JP5401543B2 (de) |
KR (1) | KR20110036059A (de) |
CN (2) | CN102099864B (de) |
CA (1) | CA2728697A1 (de) |
DE (1) | DE112009001620T5 (de) |
TW (2) | TWI401689B (de) |
WO (1) | WO2010000062A1 (de) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7729166B2 (en) | 2008-07-02 | 2010-06-01 | Mosaid Technologies Incorporated | Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same |
KR20100107294A (ko) | 2009-03-25 | 2010-10-05 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법 |
US8432729B2 (en) * | 2010-04-13 | 2013-04-30 | Mosaid Technologies Incorporated | Phase-change memory with multiple polarity bits having enhanced endurance and error tolerance |
JP2012014807A (ja) * | 2010-07-02 | 2012-01-19 | Toshiba Corp | 不揮発性半導体記憶装置 |
US20120166117A1 (en) * | 2010-10-29 | 2012-06-28 | Xia Llc | Method and apparatus for evaluating superconducting tunnel junction detector noise versus bias voltage |
US8677211B2 (en) | 2010-12-23 | 2014-03-18 | International Business Machines Corporation | Data bus inversion using spare error correction bits |
US8737131B2 (en) | 2011-11-29 | 2014-05-27 | Micron Technology, Inc. | Programming memory cells using smaller step voltages for higher program levels |
US9292428B2 (en) * | 2012-09-05 | 2016-03-22 | Kabushiki Kaisha Toshiba | Memory system |
KR101379883B1 (ko) * | 2012-11-06 | 2014-04-01 | 한국과학기술원 | 플래시 메모리의 소모 전력 감소 방법 및 그 장치 |
US9284808B2 (en) | 2012-12-05 | 2016-03-15 | David Wright | Chemical deepwater stimulation systems and methods |
KR20150061098A (ko) * | 2013-11-25 | 2015-06-04 | 삼성전자주식회사 | 메모리 시스템 및 상기 메모리 시스템의 프로그래밍 방법 |
US9230655B2 (en) * | 2013-12-20 | 2016-01-05 | Apple Inc. | Data storage management in analog memory cells using a non-integer number of bits per cell |
US9208863B1 (en) * | 2014-05-19 | 2015-12-08 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
TWI566249B (zh) * | 2014-11-21 | 2017-01-11 | 慧榮科技股份有限公司 | 快閃記憶體的資料寫入方法與其控制裝置 |
KR20160093430A (ko) * | 2015-01-29 | 2016-08-08 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 데이터 입출력 방법 |
KR102298607B1 (ko) * | 2015-02-17 | 2021-09-06 | 삼성전자주식회사 | 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법 |
JP6657634B2 (ja) | 2015-07-24 | 2020-03-04 | ソニー株式会社 | 符号化装置、メモリシステム、通信システムおよび符号化方法 |
US9418731B1 (en) * | 2015-11-06 | 2016-08-16 | Phison Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
US9734912B2 (en) | 2015-11-25 | 2017-08-15 | Macronix International Co., Ltd. | Reprogramming single bit memory cells without intervening erasure |
US10089241B2 (en) * | 2016-03-10 | 2018-10-02 | Toshiba Memory Corporation | Memory system |
CN105895156B (zh) * | 2016-03-30 | 2019-09-20 | 深圳忆联信息系统有限公司 | 一种信息处理方法及电子设备 |
JP6606039B2 (ja) * | 2016-09-09 | 2019-11-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
KR20180087496A (ko) * | 2017-01-23 | 2018-08-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
JP6960877B2 (ja) | 2018-03-22 | 2021-11-05 | キオクシア株式会社 | メモリシステム |
CN110968451B (zh) * | 2018-09-30 | 2021-09-21 | 华为技术有限公司 | 内存访问技术及计算机系统 |
CN109496336B (zh) * | 2018-10-26 | 2020-04-28 | 长江存储科技有限责任公司 | 用于存储器的数据处理方法和相关数据处理器 |
KR102669450B1 (ko) * | 2018-12-11 | 2024-05-28 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10964390B1 (en) | 2019-12-10 | 2021-03-30 | Western Digital Technologies, Inc. | Skip coding for fractional bit-per-cell NAND memories |
KR20210094696A (ko) | 2020-01-21 | 2021-07-30 | 삼성전자주식회사 | 비휘발성 메모리 장치, 스토리지 장치, 및 그것의 프로그램 방법 |
CN113160870A (zh) * | 2021-03-25 | 2021-07-23 | 普冉半导体(上海)股份有限公司 | 非易失存储器编程方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6937510B2 (en) | 2000-03-08 | 2005-08-30 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303367A (en) * | 1990-12-04 | 1994-04-12 | Applied Technical Systems, Inc. | Computer driven systems and methods for managing data which use two generic data elements and a single ordered file |
US5218569A (en) | 1991-02-08 | 1993-06-08 | Banks Gerald J | Electrically alterable non-volatile memory with n-bits per memory cell |
US5673224A (en) | 1996-02-23 | 1997-09-30 | Micron Quantum Devices, Inc. | Segmented non-volatile memory array with multiple sources with improved word line control circuitry |
JPH1055687A (ja) * | 1996-08-09 | 1998-02-24 | Sony Corp | 不揮発性半導体記憶装置 |
US5907855A (en) | 1996-10-15 | 1999-05-25 | Micron Technology, Inc. | Apparatus and method for reducing programming cycles for multistate memory system |
US6243779B1 (en) * | 1996-11-21 | 2001-06-05 | Integrated Device Technology, Inc. | Noise reduction system and method for reducing switching noise in an interface to a large width bus |
JP2001093288A (ja) | 1999-09-20 | 2001-04-06 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4068427B2 (ja) * | 2002-10-08 | 2008-03-26 | エルピーダメモリ株式会社 | データインバージョン回路及び半導体装置 |
KR100512181B1 (ko) | 2003-07-11 | 2005-09-05 | 삼성전자주식회사 | 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법 |
JP2005100527A (ja) * | 2003-09-25 | 2005-04-14 | Matsushita Electric Ind Co Ltd | 半導体不揮発性記憶装置 |
JP2005116132A (ja) * | 2003-10-10 | 2005-04-28 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7411840B2 (en) * | 2004-03-02 | 2008-08-12 | Via Technologies, Inc. | Sense mechanism for microprocessor bus inversion |
JP4524455B2 (ja) * | 2004-11-26 | 2010-08-18 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7308525B2 (en) * | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
DE102005013322B3 (de) * | 2005-03-22 | 2006-10-05 | Infineon Technologies Ag | Schaltung zur Erzeugung eines Datenbitinvertierungsflags (DBI) |
US7206230B2 (en) * | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
KR100613463B1 (ko) * | 2005-07-06 | 2006-08-22 | 주식회사 하이닉스반도체 | 반도체 장치의 데이터 출력장치 및 출력방법 |
JP4728726B2 (ja) * | 2005-07-25 | 2011-07-20 | 株式会社東芝 | 半導体記憶装置 |
KR100732628B1 (ko) * | 2005-07-28 | 2007-06-27 | 삼성전자주식회사 | 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치 |
US7394285B2 (en) * | 2005-09-29 | 2008-07-01 | Hynix Semiconductor, Inc. | Circuit for driving bus |
US7681109B2 (en) * | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
KR100621353B1 (ko) * | 2005-11-08 | 2006-09-07 | 삼성전자주식회사 | 데이터 반전 확인 기능을 가지는 데이터 입출력 회로 및이를 포함하는 반도체 메모리 장치 |
US7508693B2 (en) * | 2006-03-24 | 2009-03-24 | Macronix International Co., Ltd. | One-time-programmable (OTP) memory device and method for testing the same |
KR100877680B1 (ko) * | 2006-04-04 | 2009-01-09 | 삼성전자주식회사 | 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치 |
JP4928830B2 (ja) * | 2006-05-18 | 2012-05-09 | 株式会社東芝 | Nand型フラッシュメモリ装置及びメモリデバイス |
KR100919156B1 (ko) * | 2006-08-24 | 2009-09-28 | 삼성전자주식회사 | 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법 |
US7692949B2 (en) * | 2006-12-04 | 2010-04-06 | Qimonda North America Corp. | Multi-bit resistive memory |
JP2008251138A (ja) | 2007-03-30 | 2008-10-16 | Toshiba Corp | 不揮発性半導体メモリ、不揮発性半導体メモリの制御方法、不揮発性半導体メモリシステム、及びメモリカード |
KR101292574B1 (ko) * | 2007-10-08 | 2013-08-16 | 삼성전자주식회사 | 멀티 비트 프로그래밍 장치 및 방법 |
US7729166B2 (en) * | 2008-07-02 | 2010-06-01 | Mosaid Technologies Incorporated | Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same |
US7941592B2 (en) | 2008-08-14 | 2011-05-10 | Bonella Randy M | Method and apparatus for high reliability data storage and retrieval operations in multi-level flash cells |
-
2008
- 2008-07-02 US US12/166,876 patent/US7729166B2/en active Active
-
2009
- 2009-06-29 TW TW098121809A patent/TWI401689B/zh active
- 2009-06-29 TW TW102119228A patent/TW201346914A/zh unknown
- 2009-06-30 CN CN200980125976.9A patent/CN102099864B/zh active Active
- 2009-06-30 CA CA2728697A patent/CA2728697A1/en not_active Abandoned
- 2009-06-30 CN CN201410827500.2A patent/CN104599710B/zh active Active
- 2009-06-30 JP JP2011515038A patent/JP5401543B2/ja not_active Expired - Fee Related
- 2009-06-30 WO PCT/CA2009/000892 patent/WO2010000062A1/en active Application Filing
- 2009-06-30 DE DE112009001620T patent/DE112009001620T5/de not_active Withdrawn
- 2009-06-30 EP EP20090771872 patent/EP2297740A4/de not_active Withdrawn
- 2009-06-30 KR KR1020117001654A patent/KR20110036059A/ko not_active Application Discontinuation
-
2010
- 2010-05-18 US US12/782,047 patent/US7952923B2/en active Active
-
2011
- 2011-05-27 US US13/117,715 patent/US8724382B2/en active Active
-
2013
- 2013-02-26 US US13/777,485 patent/US8724384B2/en active Active
- 2013-10-25 JP JP2013221706A patent/JP5684358B2/ja not_active Expired - Fee Related
-
2015
- 2015-01-09 JP JP2015003003A patent/JP2015064925A/ja not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6937510B2 (en) | 2000-03-08 | 2005-08-30 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory |
Non-Patent Citations (2)
Title |
---|
"FLASH MULTI-LEVEL THRESHOLD DISTRIBUTION SCHEME" beschrieben sind, die am 13. Juni 2007 |
"MULTIPLE INDEPENDENT SERIAL LINK MEMORY" beschrieben ist, angemeldet am 30. Dezember 2005 für Kim et al. |
Also Published As
Publication number | Publication date |
---|---|
US7729166B2 (en) | 2010-06-01 |
KR20110036059A (ko) | 2011-04-06 |
EP2297740A1 (de) | 2011-03-23 |
JP2014038691A (ja) | 2014-02-27 |
JP2015064925A (ja) | 2015-04-09 |
CN102099864B (zh) | 2015-02-04 |
US20130170294A1 (en) | 2013-07-04 |
CN102099864A (zh) | 2011-06-15 |
US20100002504A1 (en) | 2010-01-07 |
US8724384B2 (en) | 2014-05-13 |
US8724382B2 (en) | 2014-05-13 |
US7952923B2 (en) | 2011-05-31 |
CN104599710B (zh) | 2018-01-16 |
JP5401543B2 (ja) | 2014-01-29 |
US20100226174A1 (en) | 2010-09-09 |
CA2728697A1 (en) | 2010-01-07 |
US20110317487A1 (en) | 2011-12-29 |
TWI401689B (zh) | 2013-07-11 |
TW201346914A (zh) | 2013-11-16 |
WO2010000062A1 (en) | 2010-01-07 |
JP2011526398A (ja) | 2011-10-06 |
JP5684358B2 (ja) | 2015-03-11 |
CN104599710A (zh) | 2015-05-06 |
EP2297740A4 (de) | 2011-08-17 |
TW201007739A (en) | 2010-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112009001620T5 (de) | Nichtflüchtige Speichervorrichtung mit mehreren Bits Pro Zelle (MBC) und System mit Polaritätssteuerung sowie Verfahren zum Programmieren derselbigen | |
DE102007031027B4 (de) | Leseverfahren einer Speichervorrichtung | |
DE102011085988B4 (de) | Verfahren und Vorrichtungen zum Beeinflussen eines Betriebszustands eines Mehrfachpegelzelle-Speichers | |
DE60220590T2 (de) | Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers | |
DE102008005338B4 (de) | Integrierter Schaltkreis mit einer Speicherzellenanordnung und Verfahren zum Lesen eines Speicherzellenzustands unter Verwendung einer Mehrzahl von Teil-Leseoperationen | |
DE102004033443B4 (de) | Flashspeicherbauelement mit Mehrpegelzelle | |
DE60214023T2 (de) | Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus | |
DE69522326T2 (de) | Bitmap-orientierte adressierung für einen flash-speicher | |
DE102008009847A1 (de) | Verfahren zum Treiben eines nichtflüchtigen Speicherelements und nichtflüchtiges Speicherelement | |
DE102006020180B3 (de) | Verfahren zum Programmieren eines Blocks von Speicherzellen, nicht-flüchtiger Speicher und Speicherkarte | |
DE102011055714B4 (de) | Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung | |
DE69500143T2 (de) | Schaltung zum Wählen von Redundanzspeicherbauelementen und diese enthaltende FLASH EEPROM | |
DE102008003055A1 (de) | Flash-Speichervorrichtung und Verfahren zum Betreiben derselben | |
DE112008002553T5 (de) | Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten | |
DE102007021613A1 (de) | Nand-Flash-Speicherbauelement und Verfahren zum Verbessern der Charakteristik einer Zelle in demselben | |
DE102005057553A1 (de) | Nicht volatiles Speicherbauelement und Verfahren zur Verhinderung eines Heisse-Elektronen-Programmier-Störungsphänomens | |
DE102013001421A1 (de) | Implementierung von erweiterter Daten-Teillöschung für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie | |
DE112010000955T5 (de) | NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung | |
DE102006003260A1 (de) | Nichtflüchtiges Halbleiterspeicherbauelement mit Zellenkette | |
DE102005037287B3 (de) | Nicht-flüchtiger Halbleiterspeicher und Verfahren zum Bestimmen einer Lesespannung zum Auslesen von Daten aus derartigen Speichern | |
DE102008007685B4 (de) | Integrierte Schaltung und Verfahren zum Betreiben einer integrierten Schaltung | |
DE102008033511A1 (de) | Verfahren zum Programmieren eines Flashspeichers, Flashspeicher und Flashspeichersystem | |
DE102019135863A1 (de) | Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren | |
DE102008032235A1 (de) | Nichtflüchtiges Speicherbauelement, Löschverfahren und Löschtestverfahren | |
DE102010037064A1 (de) | Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R082 | Change of representative |
Representative=s name: UEXKUELL & STOLBERG, DE |
|
R081 | Change of applicant/patentee |
Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT IN, CA Free format text: FORMER OWNER: MOSAID TECHNOLOGIES INCORPORATED, OTTAWA, ONTARIO, CA Effective date: 20141001 |
|
R082 | Change of representative |
Representative=s name: UEXKUELL & STOLBERG, DE Effective date: 20141001 Representative=s name: UEXKUELL & STOLBERG PARTNERSCHAFT VON PATENT- , DE Effective date: 20141001 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |