-
GEBIET DER ERFINDUNG
-
Diese Offenbarung betrifft allgemein Speicher und insbesondere Lese- und Schreibvorgänge, die mit Speichern assoziiert sind.
-
STAND DER TECHNIK
-
Speichervorrichtungen können Speicherzellenarrays umfassen, die als Speicherkomponente konfiguriert sein können, die Datenwerte für verschiedene andere Komponenten eines Systems speichert. Solche Speichervorrichtungen identifizieren solche Speicherzellen basierend auf Speicheradressen und entsprechenden Zeilen und Spalten, die mit solchen Speicheradressen und Speicherzellen assoziiert sind, und greifen auf diese zu. Somit kann eine Speicherzelle durch eine konkrete Speicheradresse identifiziert werden und auf sie basierend auf, unter anderem, einem Zeilen- und Spaltendekodierer zugegriffen werden. Außerdem können solche Speicherzellen in Speichereinheiten, wie etwa Sektoren oder Seiten, aufgeteilt werden. Somit können Adressen, die mit Speicherzellen assoziiert sind, auch einen Speichersektor identifizieren, in dem eine Speicherzelle residiert.
US 2012 / 0 063 241 A1 betrifft eine Halbleitervorrichtung.
-
KURZBESCHREIBUNG DER FIGUREN
-
- 1 illustriert ein Beispiel für eine Speichervorrichtung, die für unabhängige Lese- und Schreibvorgänge fähig ist, die gemäß einigen Ausführungsformen konfiguriert ist.
- 2A illustriert ein Beispiel für eine Schaltlogik, die konfiguriert ist, um gemäß verschiedenen Ausführungsformen unabhängige Lese- und Schreibvorgänge zu ermöglichen.
- 2B illustriert ein weiteres Beispiel für eine Schaltlogik, die konfiguriert ist, um gemäß verschiedenen Ausführungsformen unabhängige Lese- und Schreibvorgänge zu ermöglichen.
- 3 illustriert ein Flussdiagramm eines Beispiels für ein Verfahren zum Implementieren von Speichervorrichtungen gemäß einigen Ausführungsformen.
- 4 illustriert ein Flussdiagramm eines weiteren Beispiels für ein Verfahren zum Implementieren von Speichervorrichtungen gemäß einigen Ausführungsformen.
- 5 illustriert ein Beispiel für eine Illustration der Zykluszeiten, die mit Niedrigspannungs- und Hochspannungsspeichervorgängen assoziiert sind, die gemäß einigen Ausführungsformen implementiert werden.
- 6 illustriert ein Blockdiagramm eines Verarbeitungssystems, das eine Speichervorrichtung umfasst, das gemäß einigen Ausführungsformen implementiert wird.
-
DETAILLIERTE BESCHREIBUNG
-
Die Erfindung wird in den unabhängigen Ansprüchen definiert. Abhängige Ansprüche beschreiben bevorzugte Ausführungsformen.
-
In der folgenden Beschreibung werden, zum Zwecke der Erklärung, zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der präsentierten Konzepte bereitzustellen. Die präsentierten Konzepte können ohne einige oder alle diese spezifischen Details ausgeübt werden. In anderen Fällen wurden gut bekannte Prozessvorgänge nicht im Detail beschrieben, um das Verständnis der beschriebenen Konzepte nicht unnötig zu erschweren. Während einige Konzepte in Verbindung mit den spezifischen Beispielen beschrieben werden, versteht es sich, dass diese Beispiele nicht einschränkend gemeint sind.
-
Traditionelle Techniken zum Implementieren von Lese- und Schreibvorgängen in Speichervorrichtungen schließen sich gegenseitig dadurch aus, dass ein Lesevorgang nicht parallel mit einem Schreibvorgang implementiert werden kann. Falls beispielsweise eine konkrete Speicherzelle innerhalb eines Speichersektors einen Schreibvorgang durchläuft, kann an anderen Speicherzellen in einem anderen Speichersektor, die in dieser Speichervorrichtung eingeschlossen sind, kein anderer Vorgang durchgeführt werden. Beispielsweise kann kein Lesevorgang an anderen Speicherzellen durchgeführt werden, die in anderen unterschiedlichen Speichersektoren eingeschlossen sind, die keinen Schreibvorgang durchlaufen. Insbesondere werden, falls eine erste Speicherzelle einen Schreibdurchgang durchläuft, alle Bitleitungen auf Potenziale getrieben, die von VPOS bis VNEG reichen. Somit kann eine zweite Speicherzelle in einem unterschiedlichen Speichersektor keinen Lesevorgang durchlaufen, da ihre Bitleitungen auf Spannungen im Bereich von VPOS bis VNEG getrieben werden. Um einen Lesevorgang zu implementieren, wird die zweite Speicherzelle möglicherweise eine Spannung von etwa 0,6 V benötigen. Somit wird die zweite Speicherzelle warten müssen, bis der Schreibvorgang der ersten Speicherzelle abgeschlossen wurde, bevor sie die passenden Spannungen an ihren lokalen Bitleitungen empfangen kann. Außerdem können Hochspannungsvorgänge, wie etwa Schreibvorgänge, Leckströme oder -spannungen erzeugen, die Speicherzellen in anderen Speichersektoren beschädigen können, die ungeerdet gelassen wurden.
-
Es werden in dieser Schrift verschiedene Ausführungsformen offenbart, die die parallele Implementierung von Lese- und Schreibvorgängen in verschiedenen Speichereinheiten einer Speichervorrichtung ermöglichen. Außerdem schützen in dieser Schrift offenbarte Ausführungsformen Speicherzellen gegen Schäden, die ansonsten durch Leckströme und -spannungen verursacht werden können. In verschiedenen Ausführungsformen können eine Befehls- und Steuerungsschaltungsanordnung sowie Schaltlogik, die in einem Spaltenmultiplexer eingeschlossen ist, konfiguriert sein, um lokale Bitleitungen mit und von verschiedenen anderen Komponenten innerhalb der Speichervorrichtung selektiv zu koppeln und entkoppeln. Beispielsweise kann eine Schaltlogik, die in einem Spaltenmultiplexer eingeschlossen ist, konfiguriert sein, um lokale Bitleitungen mit und von globalen Bitleitungen, Leseverstärkern und einer Systemmasse, die eine elektrische Erde sein kann, basierend auf einem oder mehreren Signalen, die durch die Befehls- und Steuerungsschaltungsanordnung erzeugt werden, selektiv zu koppeln und entkoppeln. Auf diese Weise können unterschiedliche Speichereinheiten, die Speichersektoren oder -seiten sein können, unabhängig gesteuert werden, um Lese- und Schreibvorgänge in unterschiedlichen Speichereinheiten parallel zu implementieren, während Schäden, die auf Speicherzellen aufgrund hoher Spannungen, die während Hochspannungsvorgängen verwendet werden, auftreten, reduziert werden.
-
1 illustriert ein Beispiel für eine Speichervorrichtung, die für unabhängige Lese- und Schreibvorgänge fähig ist, die gemäß einigen Ausführungsformen konfiguriert ist. Wie unten ausführlich erörtert werden wird, kann eine Speichervorrichtung, wie etwa die Vorrichtung 100, ein Speicherarray umfassen, das für das Implementieren von gleichzeitigen Lese- und Schreibvorgängen innerhalb Speichereinheiten, die in der gleichen Speichervorrichtung eingeschlossen sind, fähig ist. Wie zuvor erörtert, kann eine Speichereinheit ein Speichersektor oder eine Speicherseite sein. Somit kann die Vorrichtung 100 konfiguriert sein, um die Schaltlogik, die in einem Spaltenmultiplexer eingeschlossen ist, der mit lokalen Bitleitungen assoziiert ist, die innerhalb der Speichereinheiten eingeschlossen sind, unabhängig zu betreiben, womit parallele Implementierungen von Lese- und Schreibvorgängen auf unterschiedlichen Speichereinheiten ermöglicht werden und die Gesamtzykluszeit, die mit den Lese- und Schreibvorgängen assoziiert ist, verringert wird.
-
In verschiedenen Ausführungsformen kann die Vorrichtung 100 ein Speicherarray 102 umfassen, das ein Array von Speicherzellen, wie etwa eine erste Speicherzelle 112, umfassen kann. Das Speicherarray 102 kann nichtflüchtige Speicherzellen umfassen, die gespeicherte Daten oder Informationen unabhängig davon, ob sie mit Strom versorgt werden oder nicht, bewahren können. Demgemäß können, wie unten ausführlich erörtert werden wird, ein oder mehrere Schreibvorgänge implementiert werden, um Datenwerte in den Speicherzellen zu schreiben und/oder löschen. Außerdem können ein oder mehrere Lesevorgänge implementiert werden, um Datenwerte, die aktuell in den Speicherzellen gespeichert sind, zu lesen. In verschiedenen Ausführungsformen können Speicherzellen, die im Speicherarray 102 eingeschlossen sind, wie etwa die erste Speicherzelle 112, nichtflüchtige Silizium-Oxid-Nitrid-Oxid-Silizium-Speicherzellen (SONOS-Speicherzellen) sein.
-
Wie oben erörtert, kann das Speicherarray 102 in mehrere Speichereinheiten unterteilt werden. In einigen Ausführungsformen kann eine Speichereinheit ein Speichersektor oder eine Speicherseite sein. Wie oben erörtert, können verschiedene Ausführungsformen, die in dieser Schrift offenbart werden, konfiguriert sein, um zu ermöglichen, einen Lesevorgang und einen Schreibvorgang auf unterschiedlichen Speichereinheiten innerhalb der gleichen Speichervorrichtung durchzuführen, wobei der Lesevorgang und der Schreibvorgang parallel und unabhängig voneinander auftreten. In solchen Ausführungsformen können Speicherzellen basierend auf einer Kombination eines Sektoridentifikators, eines Zeilenidentifikators und eines Spaltenidentifikators identifiziert werden. Beispielsweise kann die erste Speicherzelle 112, die im Lesevorgang eingeschlossen ist, basierend auf einer Sektorleseadresse, einer Zeilenleseadresse und einer Spaltenleseadresse identifiziert werden. Außerdem kann die zweite Speicherzelle 120, die im Schreibvorgang eingeschlossen ist, basierend auf einer Sektorschreibadresse und einer Zeilenschreibadresse identifiziert werden. Wie unten ausführlich erörtert werden wird, kann die Schaltlogik Schaltvorrichtungen, wie etwa Multiplexer, Schalter oder eine andere geeignete Schalt- oder Selektionsvorrichtung, umfassen. Beispielsweise kann die Schaltlogik einen Multiplexer umfassen. Somit kann, gemäß verschiedenen Ausführungsformen, die Schaltlogik 106 ein Multiplexer sein, der konfiguriert ist, um eine parallele Implementierung des Lese- und Schreibvorgangs auf der ersten Speicherzelle 112 und der zweiten Speicherzelle 120 basierend, mindestens zum Teil, auf den empfangenen Lese- und Schreibadressen zu ermöglichen. Des Weiteren kann, gemäß einigen Ausführungsformen, die erste Speicherzelle 112 und die zweite Speicherzelle 120 in einer ersten bzw. zweiten Speichereinheit eingeschlossen sein.
-
In verschiedenen Ausführungsformen können die Speicherzellen basierend auf Bitleitungen und Wortleitungen selektiert werden. Beispielsweise kann eine Wortleitung, wie etwa die Wortleitung 118, basierend auf beispielsweise einer Zeilenadresse selektiert werden, die eine Zeile identifiziert, die die erste Speicherzelle 112 umfasst. Außerdem kann eine lokale Bitleitung, wie etwa die Bitleitung 114, basierend auf beispielsweise einer Spaltenadresse selektiert werden, die eine Spalte identifiziert, die die erste Speicherzelle 112 umfasst. Wenn die Zeilenadresse und Spaltenadresse zusammen betrachtet werden, können sie sich an der ersten Speicherzelle 112 schneiden und die erste Speicherzelle kann selektiert werden. In verschiedenen Ausführungsformen kann eine Speicherzelle, wie etwa die erste Speicherzelle, ferner basierend auf einer Speichereinheitsadresse selektiert werden. Beispielsweise kann eine Sektoradresse verwendet werden, um einen ersten Speichersektor zu identifizieren, der die erste Speicherzelle 112 umfasst, und kann anschließenden Lese- oder Schreibvorgängen unterzogen werden. In einigen Ausführungsformen kann die Speichereinheitadresse die Selektion von lokalen Bitleitungen, wie etwa die lokale Bitleitung 114, innerhalb der Speichereinheit und das Koppeln der lokalen Bitleitungen mit globalen Bitleitungen, wie etwa der globalen Bitleitung 114, ermöglichen, wodurch das Treiben der lokalen Bitleitungen auf elektrische Potenziale erleichtert wird, die während der Lese- und/oder Schreibvorgänge benutzt werden. Wie unten ausführlich erörtert werden wird, kann die Schaltlogik, wie etwa die Schaltlogik 106, die mit den lokalen Bitleitungen gekoppelt ist, konfiguriert sein, um lokale Bitleitungen innerhalb einer Speichereinheit mit, unter anderem, den globalen Bitleitungen selektiv zu koppeln, womit die parallele Implementierung von Lese- und Schreibvorgängen in unterschiedlichen Speichereinheiten innerhalb der gleichen Speichervorrichtung ermöglicht wird.
-
Die Vorrichtung 100 kann einen Zeilendekodierer 110 umfassen, der konfiguriert sein kann, um eine empfangene Zeilenadresse zu dekodieren und eine Spannung an eine konkrete Wortleitung basierend auf der dekodierten Zeilenadresse anzulegen. Auf diese Weise kann der Zeilendekodierer 110 konfiguriert sein, um eine Zeile für einen oder mehrere Lese- oder Schreibvorgänge basierend auf einer empfangenen Zeilenadresse zu selektieren. Die Vorrichtung 100 kann ferner einen Spaltenmultiplexer 104 umfassen, der konfiguriert sein kann, um eine Spaltenadresse zu empfangen und eine Spannung an die Schaltlogik anzulegen, die einen oder mehrere Multiplexer umfassen kann, die basierend auf der empfangenen Spaltenadresse mit konkreten Bitleitungen assoziiert sind. Auf diese Weise kann der Spaltendekodierer 104 konfiguriert sein, um eine Spalte für einen oder mehrere Lese- oder Schreibvorgänge basierend auf einer empfangenen Spaltenadresse zu selektieren. Gemäß einigen Ausführungsformen kann der Spaltenmultiplexer 104 eine Schaltlogik umfassen, die mit Speicherspalten assoziiert ist, wie etwa die Schaltlogik 106. Wie unten mit Bezug auf 2A und 2B ausführlich erörtert werden wird, kann die Schaltlogik 106 konfiguriert sein, um individuelle lokale Bitleitungen innerhalb einer konkreten Speichereinheit mit einem konkreten elektrischen Potenzial selektiv zu koppeln. Dabei kann die Schaltlogik 106 konfiguriert sein, um den unabhängigen Betrieb von lokalen Bitleitungen innerhalb einer Speichereinheit zu ermöglichen, wodurch die parallele Implementierung von Lese- und Schreibvorgängen innerhalb unterschiedlicher Speichereinheiten der gleichen Speichervorrichtung ermöglicht werden können.
-
Außerdem kann der Betrieb des Spaltenmultiplexers 104, mindestens zum Teil, durch eine Steuerlogik, wie etwa die Steuerlogik 130, gesteuert werden, die in einer Befehls- und Steuerungsschaltungsanordnung, wie unten mit Bezug auf 6 ausführlich erörtert, eingeschlossen sein kann. Die Konfiguration und der Betrieb der Steuerlogik 130, wie etwa die Erzeugung von verschiedenen Signalen, wird unten mit Bezug auf 2A und 2B, sowie Tabelle 1 und 2, ausführlich erörtert.
-
Die Vorrichtung 100 kann ferner Leseverstärker 108 umfassen, die konfiguriert sein können, um eine oder mehrere elektrische Messungen von einer selektierten Speicherzelle zu erhalten. Beispielsweise können die Leseverstärker 108, während eines Lesevorgangs, konfiguriert sein, um eine elektrische Eigenschaft, wie etwa ein elektrisches Potenzial und/oder einen Widerstand, zu identifizieren, die mit einer selektierten Speicherzelle assoziiert ist. Die elektrische Eigenschaft kann für einen durch die Speicherzelle gespeicherten Datenwert indikativ sein. Somit können, gemäß einigen Ausführungsformen, die Leseverstärker 108 oder eine andere Systemkomponente, wie unten mit Bezug auf 6 ausführlich erörtert, ferner konfiguriert sein, um einen Datenwert, der innerhalb der Speicherzelle gespeichert ist, basierend auf der identifizierten elektrischen Eigenschaft zu bestimmen.
-
2A illustriert ein Beispiel für eine Schaltlogik, die konfiguriert ist, um gemäß verschiedenen Ausführungsformen unabhängige Lese- und Schreibvorgänge zu ermöglichen. Wie oben erörtert, kann die Schaltlogik Multiplexer umfassen, die implementiert werden können, um lokale Bitleitungen mit einer oder mehreren anderen Komponenten, wie etwa Leseverstärker, globale Bitleitungen oder eine Systemmasse, selektiv zu koppeln. Wie unten ausführlich erörtert werden wird, kann eine Schaltlogik, wie etwa die Schaltlogik 200, konfiguriert sein, um den Schutz von Komponenten, die mit einem Speicherarray assoziiert sind, wie etwa Leseverstärker und Spaltenmultiplexer, während Hochspannungsvorgängen, die an anderen Teilen der Speichervorrichtung durchgeführt werden können, zu ermöglichen. Außerdem kann die Schaltlogik konfiguriert sein, um die Implementierung eines parallelen Lesevorgangs während eines Schreibvorgangs durch selektives Bereitstellen einer Entladungsstrecke zu den passenden Zeitpunkten während jedes jeweiligen Vorgangs zu ermöglichen.
-
Die Schaltlogik 200 kann eine erste Übertragungsvorrichtung 202 umfassen, die konfiguriert sein kann, um die lokale Bitleitung 114 mit der globalen Bitleitung 116 selektiv zu koppeln oder von dieser zu entkoppeln. Demgemäß kann die globale Bitleitung 116 auf ein oder mehrere Potenziale getrieben werden, wie unten mit Bezug auf Tabelle 1 und Tabelle 2 ausführlich erörtert, und kann mit verschiedenen lokalen Bitleitungen, wie etwa der lokalen Bitleitung 114, selektiv gekoppelt werden, um die lokalen Bitleitungen mit diesen einen oder mehreren Potenzialen zu treiben. In verschiedenen Ausführungsformen kann die erste Übertragungsvorrichtung 202 eine oder mehrere andere Vorrichtungen umfassen, die konfiguriert sein können, um das Koppeln und Entkoppeln der globalen Bitleitung 116 und lokalen Bitleitung 114 basierend auf einem oder mehreren empfangenen Eingangssignalen zu steuern. Beispielsweise kann die erste Übertragungsvorrichtung 202 eine dritte Vorrichtung 204 und vierte Vorrichtung 206 umfassen, die jeweils Transistoren sein können. In einem Beispiel kann die dritte Vorrichtung 204 ein p-Typ-Transistor sein und kann die vierte Vorrichtung 206 ein n-Typ-Transistor sein. Die dritte Vorrichtung 204 kann konfiguriert sein, um durch ein drittes Eingangssignal, das an einem dritten Eingang 210 empfangen wird, gegatet zu werden. Außerdem kann die vierte Vorrichtung 206 konfiguriert sein, um durch ein viertes Eingangssignal, das an einem vierten Eingang 208 empfangen wird, gegatet zu werden. Somit können das dritte Eingangssignal und das vierte Eingangssignal in Kombination das Koppeln zwischen der globalen Bitleitung 116 und der lokalen Bitleitung 114 steuern. Außerdem kann ein Signal, das an jedes des dritten Eingangssignals und des vierten Eingangssignals angelegt oder durch diese dargestellt wird, abhängig vom implementierten Modus oder Betrieb variieren oder sich ändern, wie unten mit Bezug auf Tabelle 1 und Tabelle 2 ausführlich erörtert werden wird.
-
Die Schaltlogik 200 kann ferner eine erste Vorrichtung 212 umfassen, die konfiguriert sein kann, um einen Leseverstärker, der einen assoziierten Leseverstärkereingang 214 aufweisen kann, mit der lokalen Bitleitung 114 selektiv zu koppeln oder entkoppeln. Demgemäß kann die erste Vorrichtung 212 konfiguriert sein, um die lokale Bitleitung 114 während eines Teils eines Lesevorgangs, der mit einer Speicherzelle assoziiert ist, die mit der lokalen Bitleitung 114 gekoppelt sein kann, mit dem Leseverstärkereingang 214 zu koppeln. Auf diese Weise kann die erste Vorrichtung 212 konfiguriert sein, um das Koppeln zwischen der Speicherzelle und einem Leseverstärker, der mit einem Leseverstärkereingang 214 gekoppelt ist, bereitzustellen, sodass der Leseverstärker eine oder mehrere Messungen von der Speicherzelle erhalten kann. In verschiedenen Ausführungsformen kann die erste Vorrichtung 212 ein Transistor sein, der durch ein drittes Signal, das an einem ersten Eingang 216 empfangen wird, der mit der ersten Vorrichtung 212 assoziiert ist, gegatet wird. Beispielsweise kann das dritte Signal am Gate des Transistors angelegt werden, der in der ersten Vorrichtung 212 eingeschlossen ist. Auf diese Weise kann eine Spannung, die am ersten Eingang 216 angelegt wird, das Koppeln und Entkoppeln der Speicherzelle, der lokalen Bitleitung 114 und des Leseverstärkers durch Steuern des Betriebs der ersten Vorrichtung 212 steuern.
-
Die Schaltlogik 200 kann ferner eine zweite Vorrichtung 218, die eine Entladungsstrecke für die lokale Bitleitung 114 bereitstellen kann, sowie andere Komponenten der Speichervorrichtung, in der die lokale Bitleitung 114 implementiert ist, umfassen. Wie in 2A gezeigt, kann die zweite Vorrichtung 218 ein Transistor sein, der durch ein viertes Signal, das am zweiten Eingang 220 empfangen wird, gegatet wird. Somit kann das vierte Signal das Koppeln der lokalen Bitleitung 114 mit einer Systemmasse über den Masseanschluss 222 steuern. In verschiedenen Ausführungsformen kann die zweite Vorrichtung 218 konfiguriert sein, um die lokale Bitleitung 114 mit der Masse zu koppeln, wenn eine Speichereinheit, die eine Speicherzelle umfasst, die mit der lokalen Bitleitung 114 gekoppelt ist, nicht für einen Vorgang selektiert ist, wie es der Fall sein kann, wenn die Speichereinheit nicht für einen Lese-, Lösch- oder Programmiervorgang selektiert ist. Wenn auf diese Weise konfiguriert, kann die Entladungsstrecke die Speicherzelle vor Lecks von anderen Hochspannungen schützen, die angelegt sein können, wenn andere Speichereinheiten andere Hochspannungsvorgänge, wie etwa Schreibvorgänge, die Programmier- oder Löschvorgänge sein können, durchlaufen. Wenn beispielsweise eine erste Speichereinheit einen Schreibvorgang durchläuft, kann eine Schaltlogik, die Multiplexer einschließen kann, die in einer zweiten Speichereinheit eingeschlossen sind, konfiguriert sein, um ihre Bitleitungen mit der Masse über zweite Vorrichtungen, wie etwa die Vorrichtung 218, zu koppeln, womit Speicherzellen geschützt werden, die innerhalb der zweiten Speichereinheit eingeschlossen sind.
-
Außerdem kann die zweite Vorrichtung 218, in Verbindung mit der ersten Übertragungsvorrichtung 202 und der ersten Vorrichtung 212, konfiguriert sein, um einen Lesevorgang in einer Speichereinheit zu ermöglichen, der gleichzeitig mit einem Schreibvorgang erfolgen kann, der in einer unterschiedlichen Speichereinheit innerhalb der gleichen Speichervorrichtung durchgeführt wird. Beispielsweise kann ein Schreibvorgang in einem ersten Speichersektor durchgeführt werden und können globale Bitleitungen mit einer Hochspannung getrieben werden. In diesem Beispiel kann die erste Übertragungsvorrichtung 202 in einem zweiten Speichersektor eingeschlossen sein, der für einen Lesevorgang selektiert wurde. Demgemäß kann die erste Übertragungsvorrichtung 202 konfiguriert sein, um die globale Bitleitung 116 von der lokalen Bitleitung 114 zu entkoppeln, kann die erste Vorrichtung 212 konfiguriert sein, um die lokale Bitleitung 114 mit dem Leseverstärkereingang 214 zu koppeln, und kann die zweite Vorrichtung 218 konfiguriert sein, um die lokale Bitleitung 114 vom Masseanschluss 222 zu entkoppeln. Auf diese Weise kann ein Lesevorgang im zweiten Sektor implementiert werden, während ein Schreibvorgang im ersten Sektor durchgeführt wird, da der zweite Sektor die lokalen Bitleitungen mit den passenden Spannungen treiben kann. Außerdem kann ein dritter Speichersektor für beliebige Vorgänge unselektiert sein. Im dritten Speichersektor kann die globale Bitleitung von den lokalen Bitleitungen entkoppelt sein, können die lokalen Bitleitungen von den Leseverstärkern entkoppelt sein und können die lokalen Bitleitungen mit einer Systemmasse gekoppelt sein.
-
2B illustriert ein weiteres Beispiel für eine Schaltlogik, die konfiguriert ist, um gemäß verschiedenen Ausführungsformen unabhängige Lese- und Schreibvorgänge zu ermöglichen. Wie oben gleichermaßen mit Bezug auf
2A erörtert, kann die Schaltlogik 230 eine erste Übertragungsvorrichtung 202, eine globale Bitleitung 116, eine lokale Bitleitung 114, eine erste Vorrichtung 212 und eine zweite Vorrichtung 218 umfassen. In einigen Ausführungsformen kann die Schaltlogik 230 ferner eine zweite Übertragungsvorrichtung 232 umfassen, die zwischen die erste Übertragungsvorrichtung 202 und die globale Bitleitung 116 gekoppelt ist. Somit kann die zweite Übertragungsvorrichtung 232 konfiguriert sein, um zusätzliche Steuerung für das Koppeln und Entkoppeln der globalen Bitleitung 116 mit bzw. von der lokalen Bitleitung 114 bereitzustellen. In verschiedenen Ausführungsformen kann die zweite Übertragungsvorrichtung 232 implementiert werden, wenn Transistoren, die in der Schaltlogik 230 eingeschlossen sind, dünnere Gate-Oxide mit erweiterten Drains benutzen. Solche Transistoren mit dünneren Gate-Oxiden und erweiterten Drains können große Drain-Source-Ströme bewältigen, aber werden möglicherweise nicht große Gate-Drain/Gate-Source-Ströme bewältigen. Demgemäß kann die Implementierung der zweiten Übertragungsvorrichtung 232 deren Toleranz gegenüber solchen Strömen vergrößern. In einigen Ausführungsformen kann die zweite Übertragungsvorrichtung 232 Vorrichtungen umfassen, wie etwa eine fünfte Vorrichtung und eine sechste Vorrichtung, die der oben erörterten dritten Vorrichtung 204 und vierten Vorrichtung 206 ähnlich sein können. Die Vorrichtungen, die Transistoren sein können, die in der zweiten Übertragungsvorrichtung 232 eingeschlossen sind, können durch zusätzliche Signale, wie etwa ein fünftes Eingangssignal und sechstes Eingangssignal, gesteuert werden. Auf diese Weise kann die zweite Übertragungsvorrichtung 232 auch verwendet werden, um die globale Bitleitung 116 mit der lokalen Bitleitung 114 zu koppeln und von dieser zu entkoppeln. Tabelle 1
Vorgang | Erste Einheit | Zweite Einheit | GBL | BL | Leseverst. | 1. Eingang | 2. Eingang | 3. Eingang | 4. Eingang |
Kein HV | unselektiert | unselektiert | 0 | 0 | 0 | 0 | vcc | vcc | 0 |
| selektiert | unselektiert | 0 | 0-0,6 | 0-0,6 | vcc | 0 | 0 | vcc | vcc | 0 |
Löschen | unselektiert | unselektiert | VPOS | 0 | 0 | 0 | vcc | VPOS | 0 |
| selektiert | unselektiert | VPOS | 0-0,6 | 0-0,6 | vcc | 0 | 0 | vcc | VPOS | 0 |
| unselektiert | selektiert | VPOS | VPOS | 0 | 0 | 0 | vcc | vcc |
Programm | unselektiert | unselektiert | VBL | VNEG | 0 | 0 | 0 | vcc | VBL | VNEG |
| selektiert | unselektiert | VBL | VNEG | 0-0,6 | 0-0,6 | vcc | 0 | 0 | vcc | VBL | VNEG |
| unselektiert | selektiert | VBL | VNEG | VBL | VNEG | 0 | VNEG | VNEG | 2*Vtp | 0 |
-
Tabelle 1 zeigt mehrere Spannungen, die an verschiedenen Teilen der Schaltlogik angelegt werden können, um verschiedene Lese- und/oder Schreibvorgänge in unterschiedlichen Betriebsmodi und gemäß unterschiedlichen Selektionskriterien zu implementieren. Wie in Tabelle 1 gezeigt, können die Spannungen von mehreren unterschiedlichen Quellen empfangen werden und unterschiedliche Amplituden aufweisen. Wenn die gezeigten Werte durch ein „|“ getrennt sind, wird zu erkennen sein, dass Werte auf beiden Seiten Werte für die erste bzw. zweite Speichereinheit identifizieren. In verschiedenen Ausführungsformen kann „Vorgang“ einen Speichervorgangstyp identifizieren, der in einer Speichereinheit implementiert wird. Beispielsweise kann ein Vorgang ein Niedrigspannungsvorgang oder unselektiert sein und kann als „kein HV“ identifiziert sein. Des Weiteren kann ein Vorgang ein Hochspannungsvorgang, wie etwa ein Lösch- oder Programmiervorgang, sein. Außerdem können die erste Einheit und die zweite Einheit Beispiele für unterschiedliche Einheiten sein, die Vorgänge parallel durchlaufen. Beispielsweise kann die erste Einheit einen Niedrigspannungsvorgang, wie etwa einen Lesevorgang, durchlaufen, während die zweite Einheit einen Hochspannungsvorgang, wie etwa einen Schreibvorgang, durchlaufen kann. Des Weiteren kann GBL eine Spannung an einer globalen Bitleitung, wie etwa die globale Bitleitung 116, identifizieren. BL kann eine Spannung an einer lokalen Bitleitung, wie etwa die Bitleitung 114, identifizieren. Außerdem kann „Leseverst.“ eine Spannung an einem Leseverstärkereingang, wie etwa Leseverstärkereingang 214, identifizieren. Ferner können 1. Eingang, 2. Eingang, 3. Eingang und 4. Eingang noch auf Eingänge, wie etwa erster Eingang 216, zweiter Eingang 220, dritter Eingang 210 bzw. vierter Eingang 208, Bezug nehmen.
-
In verschiedenen Ausführungsformen können die in Tabelle 1 gezeigten Werte verschiedene Spannungen oder Potenziale in verschiedenen unterschiedlichen Kombinationen von Speichervorgängen darstellen. Beispielsweise kann VPOS ein positives Ladepumpenpotenzial darstellen und kann VNEG ein negatives Ladepumpenpotenzial darstellen. Außerdem kann VBL eine Zwischenspannung darstellen, die unter Verwendung eines internen Digital-zu-Analog-Wandlers (DAC) erzeugt wird. Des Weiteren kann vcc eine Gleichstrom(DC)-Kernversorgungsspannung darstellen. Ferner kann VtP noch eine Schwellenspannung darstellen, die mit einem Teil einer Übertragungsvorrichtung, wie etwa die oben erörterte dritte Vorrichtung 204, assoziiert ist. In verschiedenen Ausführungsformen können die in Tabelle 1 erörterten Spannungen mit drainerweiterten Vorrichtungen implementiert werden, die drainerweiterte Transistoren verwenden können. Wie oben erörtert, können solche Spannungen unter Verwendung einer Spannungssteuerungsschaltungsanordnung und Steuerungslogik, wie oben und ausführlich unten erörtert, erzeugt werden.
-
In einem ersten Betriebsmodus, bei dem keine Hochspannungsvorgänge an irgendwelchen Speichereinheiten innerhalb der Speichervorrichtung durchgeführt werden und Lesevorgänge an einer oder mehreren Speichereinheiten durchgeführt werden, können eine erste und zweite Speichereinheit Spannungen wie in den ersten zwei Zeilen von Tabelle 1 beschrieben empfangen. Wie in Tabelle 1 gezeigt, können die Speichereinheiten, die Speichersektoren sein können, die für einen Betrieb unselektiert sein können, vorgespannt sein, um Übertragungsvorrichtungen zu konfigurieren, die globale Bitleitung von den lokalen Bitleitungen zu entkoppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen mit der Masse zu koppeln. Außerdem können Speichereinheiten, die einen Lesevorgang durchlaufen, vorgespannt sein, um Übertragungsvorrichtungen zu konfigurieren, die globale Bitleitung von den lokalen Bitleitungen zu entkoppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen mit den Leseverstärkern zu koppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von der Masse zu entkoppeln. Auf diese Weise können unselektierte Speichereinheiten gegen Fremdspannungen geschützt werden und können Lesevorgänge simultan auf mehreren Speichereinheiten innerhalb der gleichen Speichervorrichtung durchgeführt werden.
-
In einem zweiten Betriebsmodus, bei dem Hochspannungsvorgänge, wie etwa Löschvorgänge, an einer oder mehreren Speichereinheiten innerhalb der Speichervorrichtung durchgeführt werden, können eine erste und zweite Speichereinheit Spannungen wie in den ersten Zeilen 3-5 von Tabelle 1 beschrieben empfangen. Wie in Tabelle 1 gezeigt, können die Speichereinheiten, die Speichersektoren sein können, die für einen Betrieb unselektiert sein können, vorgespannt sein, um Übertragungsvorrichtungen zu konfigurieren, die globale Bitleitung von den lokalen Bitleitungen zu entkoppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen mit der Masse zu koppeln. In diesem Fall werden die globalen Bitleitungen auf VPOS geladen, und die Konfiguration der Schaltlogik schützt die unselektierten Speicherzellen vor Schäden, die ansonsten aufgrund der Anlegung von VPOS auftreten können. Des Weiteren kann eine Speichereinheit, die einen Löschvorgang durchläuft, vorgespannt sein, um die Übertragungsvorrichtung zu konfigurieren, die globale Bitleitung mit den lokalen Bitleitungen zu koppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von einer Systemmasse zu entkoppeln. Demgemäß kann das VPOS an den lokalen Bitleitungen und an den Speicherzellen angelegt werden, die mit den lokalen Bitleitungen innerhalb einer Speichereinheit, die den Löschvorgang durchläuft, gekoppelt sind.
-
Außerdem können, wie oben erörtert, andere Speichereinheiten, die in der gleichen Speichervorrichtung eingeschlossen sind, simultan Lesevorgänge parallel zum Löschvorgang durchlaufen. Beispielsweise können Speichereinheiten, die für einen Lesevorgang selektiert sind, vorgespannt sein, um Übertragungsvorrichtungen zu konfigurieren, die globale Bitleitung von den lokalen Bitleitungen zu entkoppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen mit den Leseverstärkern zu koppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von einer Systemmasse zu entkoppeln. Auf diese Weise können unselektierte Speichereinheiten gegen Fremdspannungen geschützt werden und können Lesevorgänge simultan auf mehreren Speichereinheiten und gleichzeitig mit einem Lesevorgang, der in der gleichen Speichervorrichtung durchgeführt wird, durchgeführt werden.
-
In einem dritten Betriebsmodus, bei dem Hochspannungsvorgänge, wie etwa Programmiervorgänge, an einer oder mehreren Speichereinheiten innerhalb der Speichervorrichtung durchgeführt werden, können eine erste und zweite Speichereinheit Spannungen wie in den ersten Zeilen 6-8 von Tabelle 1 beschrieben empfangen. Wie in Tabelle 1 gezeigt, können die Speichereinheiten, die Speichersektoren sein können, die für einen Betrieb unselektiert sein können, vorgespannt sein, um Übertragungsvorrichtungen zu konfigurieren, die globale Bitleitung von den lokalen Bitleitungen zu entkoppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen mit der Masse zu koppeln. In diesem Fall werden die globalen Bitleitungen auf VBL oder VNEG geladen, abhängig davon, welcher Datenwert in die Speicherzellen, die die Programmiervorgänge durchlaufen, programmiert ist. Demgemäß schützt die Konfiguration der Schaltlogik die unselektierten Speicherzellen vor Schäden, die ansonsten aufgrund der Anlegung der Hochspannungen auftreten können. Des Weiteren kann eine Speichereinheit, die einen Programmiervorgang durchläuft, vorgespannt sein, um die Übertragungsvorrichtung zu konfigurieren, die globale Bitleitung mit den lokalen Bitleitungen zu koppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von einer Systemmasse zu entkoppeln. Demgemäß kann VBL oder VNEG an den lokalen Bitleitungen und an den Speicherzellen angelegt werden, die mit den lokalen Bitleitungen innerhalb einer Speichereinheit, die den Programmiervorgang durchläuft, gekoppelt sind.
-
Außerdem können, wie oben erörtert, andere Speichereinheiten, die in der gleichen Speichervorrichtung eingeschlossen sind, simultan Lesevorgänge parallel zum Programmiervorgang durchlaufen. Beispielsweise können Speichereinheiten, die für einen Lesevorgang selektiert sind, vorgespannt sein, um Übertragungsvorrichtungen zu konfigurieren, die globale Bitleitung von den lokalen Bitleitungen zu entkoppeln, um die ersten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen mit den Leseverstärkern zu koppeln, und um die zweiten Vorrichtungen zu konfigurieren, die lokalen Bitleitungen von einer Systemmasse zu entkoppeln. Auf diese Weise können unselektierte Speichereinheiten gegen Fremdspannungen geschützt werden und können Lesevorgänge simultan auf mehreren Speichereinheiten und gleichzeitig mit einem Programmiervorgang, der in der gleichen Speichervorrichtung durchgeführt wird, durchgeführt werden. Tabelle 2
Vorgang | Erste Einheit | Zweite Einheit | GBL | BL | Leseverst. | 1. Eingang | 2. Eingang | 3. Eingang | 4. Eingang |
Kein HV | unselektiert | unselektiert | 0 | 0 | 0 | 0 | VDD | VDD | 0 |
| selektiert | unselektiert | 0 | 0-0,6 | 0-0,6 | VDD | 0 | 0 | VDD | VDD | 0 |
Löschen | unselektiert | unselektiert | VPOS | 0 | 0 | 0 | VDD | VPOS | 0 |
| selektiert | unselektiert | VPOS | 0-0,6 | 0-0,6 | VDD | 0 | 0 | VDD | VPOS | 0 |
| unselektiert | selektiert | VPOS | VPOS | 0 | 0 | 0 | 0 | 0 |
Programm | unselektiert | unselektiert | VBL | VNEG | 0 | 0 | 0 | VDD | VBL | VNEG |
| selektiert | unselektiert | VBL | VNEG | 0-0,6 | 0-0,6 | VDD | 0 | 0 | VDD | VBL | VNEG |
| unselektiert | selektiert | VBL | VNEG | VBL | VNEG | 0 | VNEG | VNEG | 0 | VDD |
-
Tabelle 2 zeigt Spannungen, die angelegt werden können, um verschiedene Lese- und/oder Schreibvorgänge, wie oben gleichermaßen mit Bezug auf Tabelle 1 erörtert, zu implementieren. Wie jedoch in Tabelle 2 gezeigt, können einige Modifikationen an den Spannungen vorgenommen werden, um dicke Gate-Oxid-Vorrichtungen zu implementieren. Beispielsweise kann eine Spannung VDD benutzt werden, die eine Eingangs-/Ausgangs(1/0)-Versorgungsspannung darstellt. Wie oben gezeigt, wird vcc möglicherweise nicht verwendet und es können stattdessen unterschiedliche Implementierungen von Spannungen von VDD und „0“ verwendet werden, um das dritte Eingangssignal, das vierte Eingangssignal, das erste Eingangssignal und das zweite Eingangssignal zu implementieren. Wie oben erörtert, können solche Spannungen unter Verwendung einer Spannungssteuerungsschaltungsanordnung und Steuerungslogik, wie oben und ausführlich unten erörtert, erzeugt werden.
-
Während Tabelle 1 und Tabelle 2 Beispiele für Spannungen bereitstellen, die in verschiedenen Ausführungsformen verwendet werden können, wird zu erkennen sein, dass verschiedene andere Bereiche von anderen geeigneten Spannungen ebenfalls verwendet werden können. Demgemäß sind die in Tabelle 1 und Tabelle 2 bereitgestellten Spannungen Beispiele für mögliche Spannungen und solche Spannungen sollen nicht den Geltungsbereich der in dieser Schrift beschriebenen Ausführungsformen beschränken.
-
3 illustriert ein Flussdiagramm eines Beispiels für ein Verfahren zum Implementieren von Speichervorrichtungen gemäß einigen Ausführungsformen. Wie unten ausführlich erörtert werden wird, kann ein Verfahren, wie etwa das Verfahren 300, implementiert werden, um die parallele Implementierung von verschiedenen Speichervorgängen, wie etwa Lese- und Schreibvorgänge, zu ermöglichen. Außerdem kann ein solches Verfahren implementiert werden, um Speicherzellen vor Schäden zu schützen, die ansonsten möglicherweise während Hochspannungsspeichervorgängen auftreten.
-
Demgemäß kann das Verfahren 300 mit dem Vorgang 302 beginnen, während dem mehrere Adressen, die mit Speichervorgängen assoziiert sind, empfangen werden können. In verschiedenen Ausführungsformen können die Adressen Adressen sein, die eine oder mehrere Speicherzellen, an denen Speichervorgänge durchgeführt werden sollen, sowie Speichereinheiten, die diese Speicherzellen einschließen, identifizieren. Beispielsweise können die Adressen eine Speichereinheitadresse, eine Zeilenadresse und eine Spaltenadresse für einen Lesevorgang identifizieren, der an einer ersten Speicherzelle in einer ersten Speichereinheit implementiert werden soll. Außerdem können die Adressen ferner eine zweite Speichereinheitadresse und Zeilenadresse für einen Schreibvorgang identifizieren, der an einer zweiten Speicherzelle in einer zweiten Speichereinheit implementiert werden soll.
-
Das Verfahren 300 kann mit Vorgang 304 fortsetzen, während dem mindestens eine Speichereinheit basierend auf den empfangenen Adressen identifiziert werden kann. In verschiedenen Ausführungsformen kann die mindestens eine identifizierte Speichereinheit die Speichereinheit sein, an der der Speichervorgang implementiert werden soll. Wie oben erörtert, kann eine erste Speichereinheit basierend auf der ersten empfangenen Speichereinheitadresse identifiziert werden. Außerdem kann eine zweite Speichereinheit basierend auf der zweiten empfangenen Speichereinheitadresse identifiziert werden. Ferner können noch Vorgangstypen, die mit jeder Speichereinheit assoziiert sind, identifiziert werden. Beispielsweise kann ein Niedrigspannungs- oder Lesevorgang für die erste Speichereinheit basierend auf dem erfolgten Anforderungstyp identifiziert werden. Außerdem kann ein Hochspannungs- oder Schreibvorgang für die zweite Speichereinheit basierend auf dem erfolgten Anforderungstyp identifiziert werden. Wie unten ausführlich erörtert werden wird, können zusätzliche Speichereinheiten, die unselektiert sind oder für keinen Speichervorgang selektiert sind, ebenfalls identifiziert werden.
-
Das Verfahren 300 kann mit Vorgang 306 fortsetzen, während dem die Schaltlogik, die Multiplexer einschließen kann, die mit den identifizierten Speichereinheiten assoziiert sind, konfiguriert werden kann. Demgemäß kann, wie unten ausführlich erörtert werden wird, die Schaltlogik für die Speichereinheiten konfiguriert werden, um die Implementierung ihrer jeweiligen Speichervorgänge zu erleichtern. Beispielsweise kann die Schaltlogik für eine erste Speichereinheit konfiguriert werden, um den ersten Speichervorgang zu implementieren, während die Schaltlogik für die zweite Speichereinheit konfiguriert werden kann, um den zweiten Speichervorgang zu implementieren. Außerdem kann die Schaltlogik für unselektierte Speichereinheiten ebenfalls konfiguriert werden. Auf diese Weise können die erste Speichereinheit und die zweite Speichereinheit ihre jeweiligen Speichervorgänge parallel implementieren und die unselektierten Speichereinheiten können gegen Leckspannungen und -ströme geschützt werden, die durch Hochspannungsspeichervorgänge erzeugt werden können.
-
4 illustriert ein Flussdiagramm eines weiteren Beispiels für ein Verfahren zum Implementieren von Speichervorrichtungen gemäß einigen Ausführungsformen. Wie unten ausführlich erörtert werden wird, können Adressen, die mit Speichervorgängen assoziiert sind, empfangen und verwendet werden, um Speichereinheiten innerhalb einer Speichervorrichtung zu konfigurieren, die Speichervorgänge zu implementieren. Solche Speichervorgänge können parallel und unabhängig voneinander implementiert werden. Auf diese Weise können unterschiedliche Speichereinheiten, wie etwa Speichersektoren und -seiten, konfiguriert werden, um Speichervorgänge parallel zu implementieren und reduzierte Zykluszeiten, die mit solchen Vorgängen assoziiert sind, zu erzielen. Außerdem können Speicherzellen gegen Leckspannungen und -ströme geschützt werden, die durch Hochspannungsspeichervorgänge erzeugt werden können, die innerhalb der Speichervorrichtung implementiert werden.
-
Das Verfahren 400 kann mit dem Vorgang 402 beginnen, während dem mehrere Adressen empfangen werden können. Die Adressen können von einer Komponente, wie etwa einer Speichersteuereinheit, empfangen werden und können an einer anderen Komponente, wie etwa einer Befehls- und Steuerungsschaltungsanordnung, die in einer Speichervorrichtung eingeschlossen ist, empfangen werden. Wie oben gleichermaßen mit Bezug auf 1 offenbart, können die Adressen verschiedene Adressen oder Identifikatoren einschließen, die fähig sind, eine Speichereinheit und eine Speicherzelle, die mit einem Speichervorgang assoziiert sind, zu identifizieren. Beispielsweise können die empfangenen Adressen eine Speichereinheit und eine Speicherzelle identifizieren, die mit einem Niedrigspannungsvorgang, wie etwa einem Lesevorgang, assoziiert sind. Des Weiteren können die empfangenen Adressen auch eine Speichereinheit und Speicherzelle identifizieren, die mit einem Hochspannungsvorgang, wie etwa einem Programmier- oder Löschvorgang, assoziiert sind. Demgemäß können die während des Vorgangs 402 empfangenen Adressen mehrere Speicherzellen identifizieren, die in mehreren Speichereinheiten eingeschlossen sind, die innerhalb einer Speichervorrichtung eingeschlossen sind. In einem spezifischen Beispiel können die empfangenen Adressen eine Sektorschreibadresse und eine Zeilenschreibadresse identifizieren, die mit einer ersten Speicherzelle assoziiert sein können, die in einem ersten Speichersektor eingeschlossen ist, der einen Schreibvorgang durchlaufen wird. Die empfangenen Adressen können ferner eine Speichersektorleseadresse, eine Zeilenleseadresse und eine Spaltenleseadresse identifizieren, die alle mit einer zweiten Speicherzelle assoziiert sein können, die in einem zweiten Speichersektor eingeschlossen ist, der einen Lesevorgang durchlaufen wird. In diesem Beispiel können der erste und zweite Speichersektor in der gleichen Speichervorrichtung eingeschlossen sein und die Lese-Schreibvorgänge können parallel implementiert werden, wie unten ausführlich erörtert werden wird.
-
Das Verfahren 400 kann mit dem Vorgang 404 fortsetzen, während dem bestimmt werden kann, welche Speichereinheiten welchen Speichervorgangstyp durchlaufen sowie welche Speichereinheiten unselektiert bleiben werden. In verschiedenen Ausführungsformen kann eine Systemkomponente, wie etwa die Befehls- und Steuerungsschaltungsanordnung, konfiguriert werden, um mehrere Speichereinheiten basierend auf den empfangenen Adressen zu identifizieren. Wie oben erörtert, können die empfangenen Adressen Speichereinheitidentifikatoren einschließen, die identifizieren, welche Speichereinheit mit welchem Vorgangstyp assoziiert sein wird. Die Befehls- und Steuerungsschaltungsanordnung kann konfiguriert werden, um die Speichereinheitidentifikatoren abzurufen und einen Betriebsstatus, der ein Betriebsmodus sein kann, für jede Speichereinheit, die in der Speichervorrichtung eingeschlossen ist, zu bestimmen. Beispielsweise kann die Befehls- und Steuerungsschaltungsanordnung eine vorbestimmte Liste aller Speichereinheiten, die Sektoren oder Seiten sein können, innerhalb der Speichervorrichtung aufweisen. Basierend auf den empfangenen Speichereinheitadressen und den Speichervorgangstypen, die mit den empfangenen Speichereinheitadressen assoziiert sind, kann die Befehls- und Steuerungsschaltungsanordnung alle Speichereinheiten identifizieren, die Hochspannungsvorgänge durchlaufen werden, alle Speichereinheiten identifizieren, die Niedrigspannungsvorgänge durchlaufen werden, und alle verbleibenden Speichereinheiten können als unselektiert identifiziert und gekennzeichnet werden. In einem spezifischen Beispiel kann die Befehls- und Steuerungsschaltungsanordnung eine Liste aller Speichereinheiten, die Lesevorgänge durchlaufen werden, aller Speichereinheiten, die Löschvorgänge durchlaufen werden, aller Speichereinheiten, die Programmiervorgänge durchlaufen werden, und aller Speichereinheiten, die unselektiert sind, erzeugen. Auf diese Weise können die empfangenen Adressen verwendet werden, um einen Betriebsmodus von jeder Speichereinheit, die in der Speichervorrichtung eingeschlossen ist, zu erzeugen.
-
Das Verfahren 400 kann mit dem Vorgang 406 fortsetzen, während dem Speichereinheiten, die als unselektiert identifiziert sind, konfiguriert werden können. Wie oben mit Bezug auf 2A und 2B sowie Tabelle 1 und 2 erörtert, kann während des Vorgangs 406 die Befehls- und Steuerungsschaltungsanordnung ein oder mehrere Signale erzeugen und an einer Schaltlogik anlegen, die in einer Komponente, wie etwa einem Spaltenmultiplexer, eingeschlossen ist, um die unselektierten Speichereinheiten zu konfigurieren. Beispielsweise kann die Schaltlogik Multiplexer umfassen, die die erzeugten Signale empfangen können und vorgespannt sein können, um die Übertragungsvorrichtungen zu konfigurieren, globale Bitleitungen von lokalen Bitleitungen zu entkoppeln, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln und die lokalen Bitleitungen mit Masse zu koppeln. Auf diese Weise können unselektierte Sektoren lokale Bitleitungen aufweisen, die mit einer Systemmasse gekoppelt sind, und gegen Schäden geschützt werden, die durch Leckströme verursacht werden können, die durch Hochspannungsvorgänge erzeugt werden können, die in anderen Speichereinheiten implementiert werden können.
-
Das Verfahren 400 kann mit dem Vorgang 408 fortsetzen, während dem Speichereinheiten konfiguriert werden können, die dahingehend identifiziert werden, dass sie Hochspannungsspeichervorgänge durchlaufen. Wie ebenfalls oben mit Bezug auf 2A und 2B sowie Tabelle 1 und 2 erörtert, kann während des Vorgangs 408 die Befehls- und Steuerungsschaltungsanordnung ein oder mehrere Signale erzeugen und an einer Schaltlogik anlegen, die in einer Komponente, wie etwa einem Spaltenmultiplexer, eingeschlossen ist, um die Speichereinheiten zu konfigurieren, die Hochspannungsvorgänge durchlaufen. In einem Beispiel kann eine Speichereinheit, die ein Speichersektor oder eine Speicherseite sein kann, einen Löschvorgang durchlaufen. Demgemäß kann eine Befehls- und Steuerungsschaltungsanordnung Signale erzeugen und anlegen, um Multiplexer der Schaltlogik, die im Spaltenmultiplexer eingeschlossen ist, vorzuspannen, um globale Bitleitungen mit den lokalen Bitleitungen zu koppeln, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln und die lokalen Bitleitungen von einer Systemmasse zu entkoppeln. Demgemäß kann eine erzeugte Spannung, wie etwa VPOS, erzeugt durch eine positive Spannungspumpe, an den lokalen Bitleitungen und an den Speicherzellen angelegt werden, die mit den lokalen Bitleitungen innerhalb einer Speichereinheit, die den Löschvorgang durchläuft, gekoppelt sind.
-
In einem anderen Beispiel kann die Speichereinheit einen Programmiervorgang durchlaufen. Somit kann eine Befehls- und Steuerungsschaltungsanordnung Signale erzeugen und anlegen, um Multiplexer der Schaltlogik, die im Spaltenmultiplexer eingeschlossen ist, vorzuspannen, um die globalen Bitleitungen mit den lokalen Bitleitungen zu koppeln, die lokalen Bitleitungen von den Leseverstärkern zu entkoppeln und die lokalen Bitleitungen von einer Systemmasse zu entkoppeln. Auf diese Weise kann eine erzeugte Spannung, wie etwa BL oder VNEG, erzeugt durch einen DAC und/oder eine negative Spannungspumpe, an den lokalen Bitleitungen und an den Speicherzellen angelegt werden, die mit den lokalen Bitleitungen innerhalb einer Speichereinheit, die den Programmiervorgang durchläuft, gekoppelt sind.
-
Das Verfahren 400 kann mit dem Vorgang 410 fortsetzen, während dem Niedrigspannungsspeichervorgänge in den Speichereinheiten implementiert werden können, die dahingehend identifiziert werden, dass sie Niedrigspannungsspeichervorgänge durchlaufen. Wie zusätzlich oben mit Bezug auf 2A und 2B sowie Tabelle 1 und 2 erörtert, kann während des Vorgangs 408 die Befehls- und Steuerungsschaltungsanordnung ein oder mehrere Signale erzeugen und an einer Schaltlogik anlegen, die in einer Komponente, wie etwa einem Spaltenmultiplexer, eingeschlossen ist, um die Speichereinheiten zu konfigurieren, die Niedrigspannungsvorgänge durchlaufen. In einem Beispiel können solche Speichereinheiten Lesevorgänge durchlaufen. Demgemäß kann eine Befehls- und Steuerungsschaltungsanordnung Signale erzeugen und anlegen, um Multiplexer, die in der Schaltlogik eingeschlossen sind, die im Spaltenmultiplexer eingeschlossen sein kann, vorzuspannen. Ein solches Vorspannen kann die globalen Bitleitungen von den lokalen Bitleitungen entkoppeln, um die lokalen Bitleitungen von der Systemmasse zu entkoppeln und die lokalen Bitleitungen mit den Leseverstärkern zu koppeln. Auf diese Weise können Speichereinheiten, die für Niedrigspannungsvorgänge, wie etwa Lesevorgänge, identifiziert sind, konfiguriert werden, um solche Vorgänge unabhängig von Hochspannungsschreibvorgängen zu implementieren, die in anderen Speichereinheiten implementiert werden können.
-
Außerdem können, wie oben erörtert, die Niedrigspannungslesevorgänge gleichzeitig und parallel mit den Hochspannungsschreibvorgängen implementiert werden. Demgemäß können die Vorgänge 406, 408 und 410 jeweils parallel und simultan durchgeführt werden. Auf diese Weise kann das Konfigurieren der unselektierten Speichereinheiten, der Hochspannungsspeichereinheiten und der Niedrigspannungspeichereinheiten parallel durchgeführt werden. Die Hochspannungsvorgänge und die Niedrigspannungsvorgänge können dann in ihren jeweiligen Speichereinheiten gleichzeitig und parallel implementiert werden. Wie unten ausführlich erläutert, können Lesevorgänge weniger Zeit in Anspruch nehmen als Schreibvorgänge. Demgemäß können zahlreiche unterschiedliche Lesevorgänge parallel mit einem einzelnen Schreibvorgang durchgeführt werden. Beispielsweise können zehn- oder hunderttausende Lesevorgänge parallel mit einem einzelnen Schreibvorgang, wie oben beschrieben, durchgeführt werden. Demgemäß wird zu erkennen sein, dass, während das Verfahren 400 eine einzelne Iteration des Vorgangs 406 und 410 illustriert, zahlreiche Iterationen von jedem Vorgang während einer einzelnen Iteration des Vorgangs 408 durchgeführt werden können.
-
Das Verfahren 400 kann mit dem Vorgang 412 fortsetzen, während dem bestimmt wird, ob andere Speichervorgänge durchgeführt werden sollen. In einem Beispiel kann eine solche Bestimmung basierend auf den beim Vorgang 402 empfangenen Adressen oder anderen Adressen, die möglicherweise seit dem Beginn des Verfahrens 400 empfangen wurden, vorgenommen werden. Falls noch zusätzliche Adressen in den empfangenen Adressen verbleiben und keine damit assoziierten Speichervorgänge implementiert wurden, kann eine Komponente, wie etwa die Befehls- und Steuerungsschaltungsanordnung, bestimmen, dass zusätzliche Speichervorgänge durchgeführt werden sollen. Falls bestimmt wird, dass zusätzliche Speichervorgänge durchgeführt werden sollen, kann das Verfahren 400 zum Vorgang 404 zurückkehren. Falls keine zusätzlichen Adressen verbleiben und bestimmt wird, dass keine zusätzlichen Speichervorgänge durchgeführt werden sollen, kann das Verfahren 400 beendet werden.
-
5 illustriert ein Beispiel für eine Illustration der Zykluszeiten, die mit Niedrigspannungs- und Hochspannungsspeichervorgängen assoziiert sind, die gemäß einigen Ausführungsformen implementiert werden. Der Zyklus 502 illustriert eine Gesamtzykluszeit, die aufgewendet wird, um die ersten Lesevorgänge 504, gefolgt vom ersten Schreibvorgang 506 und gefolgt von zweiten Lesevorgängen 508 zu implementieren. Der Zyklus 502 stellt ein Beispiel dafür bereit, dass alle solche Vorgänge nacheinander durchgeführt werden. Beispielsweise können die ersten Lesevorgänge 504 100 000 individuelle Lesevorgänge umfassen und können die zweiten Lesevorgänge 508 200 000 individuelle Lesevorgänge umfassen. Der erste Schreibvorgang 506 kann ein einzelner Schreibvorgang sein. Demgemäß wird zu erkennen sein, dass, während 5 nicht skalierbar sein mag, ein einzelner Schreibvorgang viel mehr Zeit als ein Lesevorgang benutzt. Demgemäß muss, wenn Lese- und Schreibvorgänge exklusiv sind und nacheinander durchgeführt werden, die Speichervorrichtung warten, bis der erste Schreibvorgang 506 abgeschlossen ist, bevor die zweiten Lesevorgänge 508 implementiert werden, was zu einer längeren Zykluszeit führt.
-
Der Zyklus 510 illustriert eine Gesamtzykluszeit, die aufgewendet wird, um die dritten Lesevorgänge 512, gefolgt vom zweiten Schreibvorgang 514 und gefolgt von vierten Lesevorgängen 516 zu implementieren, wobei die vierten Lesevorgänge 516 parallel mit dem zweiten Schreibvorgang 514 implementiert werden. Wie im Zyklus 510 gezeigt und mit Bezug auf die in dieser Schrift aktuell offenbarten Ausführungsformen erörtert, können Lesevorgänge und Schreibvorgänge parallel durchgeführt werden. Somit können der zweite Schreibvorgang 514 und die vierten Lesevorgänge 516 parallel implementiert und zur gleichen Zeit gestartet werden. Da die Speichervorrichtung nicht warten muss, bis der Schreibvorgang abgeschlossen wird, ist die Gesamtzykluszeit kürzer als die im Zyklus 502 dargestellte Zykluszeit. Eine Einsparung der Zykluszeit wird in 5 durch die Periode 518 dargestellt. Demgemäß kann die Implementierung der parallelen Lese- und Schreibvorgänge, wie in dieser Schrift offenbart, in einer Zykluszeiteinsparung oder -verbesserung resultieren, die beispielsweise durch die Periode 518 dargestellt wird.
-
6 illustriert ein Blockdiagramm eines Verarbeitungssystems, das eine Speichervorrichtung umfasst, das gemäß einigen Ausführungsformen implementiert wird. Das Verarbeitungssystem 600 umfasst allgemein einen nichtflüchtigen Speicher 602, der mit dem Prozessor 604 auf herkömmliche Weise über den Adressbus 606, Datenbus 608 und Steuerbus 610 gekoppelt ist. Es wird von Fachleuten auf dem Gebiet erkannt werden, dass das Verarbeitungssystem von 6 zum Zweck der Illustration der vorliegenden Erfindung vereinfacht wurde und nicht als vollständige Beschreibung gedacht ist.
-
In verschiedenen Ausführungsformen kann das Verarbeitungssystem 600 einen Prozessor 604 umfassen, der ein Typ einer Allzweck- oder Spezialzweck-Verarbeitungsvorrichtung sein kann. Beispielsweise kann in einer Ausführungsform der Prozessor ein Prozessor in einem programmierbaren System oder eine Steuereinheit sein, die ferner einen nichtflüchtigen Speicher umfasst, wie etwa eine Programmable-System-on-a-Chip-Steuereinheit oder PSoC™-Steuereinheit, die von Cypress Semiconductor, San Jose, Kalifornien, kommerziell erhältlich ist.
-
Der nichtflüchtige Speicher 602 kann ein Speicherarray 102, wie oben mit Bezug auf 1 erörtert, umfassen. Demgemäß kann das Speicherarray 102 in Zeilen und Spalten von nichtflüchtigen Speicherzellen (in dieser Figur nicht gezeigt), wie oben beschrieben, organisiert sein. Das Speicherarray 102 ist über mehrere Selektierleitungen und Leseleitungen 616 (mindestens eine Selektierleitung und eine Leseleitung für jede Zeile des Speicherarrays) mit dem Zeilendekodierer 110 gekoppelt. Das Speicherarray 102 ist ferner über mehrere Bitleitungen 620, wie oben beschrieben, mit dem Spaltenmultiplexer 104 gekoppelt. Es wird zu erkennen sein, dass gemeinsame Sourceleitungen als Teil der Leitungen 620 oder Leitungen 616, wie oben beschrieben, implementiert werden können. Das Speicherarray 102 kann mit einer Vielzahl von Leseverstärkern 108 gekoppelt sein, um von diesen Multibitwörter zu lesen. Der nichtflüchtige Speicher 602 umfasst ferner eine Befehls- und Steuerungsschaltungsanordnung 624, um den Zeilendekodierer 110, den Spaltendekodierer 104 und die Leseverstärker 108 zu steuern und um gelesene Daten von den Leseverstärkern 108 zu empfangen. Die Befehls- und Steuerungsschaltungsanordnung 624 umfasst eine Spannungssteuerungsschaltungsanordnung 626 um die Spannungen zu erzeugen, die für den Betrieb des Speicherarrays 102 benötigt werden, die über die Spannungssteuerungsschaltungsanordnung 626 an den Zeilendekodierer 110 und Spaltenmultiplexer 104 geleitet werden können. Die Spannungssteuerungsschaltungsanordnung 626 arbeitet, um passende Spannungen während der Lese-, Lösch- und Programmiervorgänge an den Speicherzellen anzulegen. Demgemäß kann die Spannungssteuerungsschaltungsanordnung eine Steuerlogik, wie etwa die Steuerlogik 130, eine Hochspannungspumpe, eine Niedrigspannungspumpe, sowie einen oder mehrere Digital-zu-Analog-Wandler (DACs), umfassen, die jeweils konfiguriert sein können, um Signale, wie oben erörtert, zu erzeugen. Beispielsweise kann die Spannungssteuerungsschaltungsanordnung 626 konfiguriert sein, um das erste Signal, das zweite Signal, das dritte Signal und das vierte Signal, wie oben erörtert, zu erzeugen. Die Spannungssteuerungsschaltungsanordnung kann ferner konfiguriert sein, um Spannungen, wie vcc, VDD, VPOS, VNEG, VBL und 2*VtP, wie oben erörtert, zu erzeugen.
-
In verschiedenen Ausführungsformen kann die Befehls- und Steuerungsschaltungsanordnung 624 ferner konfiguriert sein, um einen ersten Zeilendekodierer 110 zu steuern, um eine erste Zeile eines Speicherarrays 102 für einen Programmiervorgang durch Anlegen einer Spannung an eine erste Selektierleitung in der ersten Zeile zu selektieren und eine zweite Zeile des Speicherarrays durch Anlegen einer anderen Spannung an eine zweite Selektierleitung in der zweiten Zeile zu deselektieren. Die Befehls- und Steuerungsschaltungsanordnung 624 kann ferner konfiguriert sein, um den Spaltenmultiplexer 104 zu steuern, um eine Speicherzelle in der ersten Zeile zum Programmieren durch Anlegen einer Spannung an eine erste Bitleitung in einer ersten Spalte zu selektieren und eine nicht selektierte Speicherzelle in der ersten Zeile gegen das Programmieren durch Anlegen einer anderen Spannung an eine zweite Bitleitung in einer zweiten Spalte zu inhibieren. Der Zeilendekodierer 110 oder Spaltenmultiplexer 104 kann ferner konfiguriert sein, um eine Spannung an eine oder mehrere gemeinsame Sourceleitungen anzulegen, die mit den im Speicherarray 102 eingeschlossenen Speicherzellen, wie oben beschrieben, gekoppelt sein können.