-
GEBIET
-
Hier beschriebene Ausführungen betreffen im allgemeinen den Speicher.
-
HINTERGRUND
-
Die 1 stellt ein Schaltungsdiagramm einer Sechs-Transistoren(6T)-Speicherzelle 1 für einen statischen Arbeitsspeicher (SRAM) dar. Wie in der 1 dargestellt ist, weist eine Speicherzelle 1 zwei kreuzgekoppelte Inverter 10 und 20 auf, die zwischen einen Versorgungsspannungsknoten VSUPPLY und einen Erdungsknoten gekoppelt sind, um komplementäre Signale an Speicherknoten 11 und 21 zu erzeugen. Der Inverter 10 weist einen Pull-Up-p-Kanal-Feldeffekttransistor (PFET) 12 und einen Pull-Down-n-Kanal-FET (NFET) 14 auf. Die Gates des PFET 12 und des NFET 14 sind beide gekoppelt, um ein Signal an dem Speicherknoten 21 zu empfangen, um ein invertiertes Signal am Speicherknoten 11 zu erzeugen. Ähnlich weist der Inverter 20 einen Pull-Up-PFET 22 und einen Pull-Down-NFET 24 auf. Die Gates des PFET 22 und des NFET 24 sind beide gekoppelt, um ein Signal an dem Speicherknoten 11 zu empfangen, um ein invertiertes Signal am Speicherknoten 21 zu erzeugen. Die komplementären Signale an den Speicherknoten 11 und 21 stellen einen einzigen binären Wert dar, abhängig davon, welches Signal an welchem Speicherknoten 11 oder 21 anliegt.
-
Die Speicherzelle 1 weist auch NFETs 16 und 26 auf, um auf die Speicherzelle 1 zuzugreifen, um einen binären Wert aus der Speicherzelle 1 zu lesen und/oder einen binären Wert in die Speicherzelle zu schreiben. Das Gate des NFET 16 ist gekoppelt, um ein Signal auf einer Wort-Leitung 30 zu empfangen, um den Speicherknoten 11 mit einer Bit-Leitung 31 zu koppeln. Das Gate des NFET 26 ist gekoppelt, um ein Signal auf der Wort-Leitung 30 zu empfangen, um den Speicherknoten 21 mit einer Bit-Leitung 32 zu koppeln. Auf die Speicherzelle 1 kann dann zugegriffen werden, indem die komplementären Signale auf den Bit-Leitungen 31 und 32 abgetastet werden, um den von der Speicherzelle 1 gespeicherten Wert zu lesen, oder indem komplementäre Signale auf die Bit-Leitungen 31 und 32 aufgedrückt werden, um einen binären Wert in die Speicherzelle 1 zu schreiben. Die NFETs 16 und 26 sind als Transfer-, Zugriffs- oder Schalttransistoren bekannt.
-
Um das Lesen des binären Werts zu beschleunigen, werden die PFETs 41, 42 und 43 in Antwort auf ein Signal auf einer Vorlade-Leitung 40 aktiviert, um die Bit-Leitungen 31 und 32 vorzuladen, indem sie mit einem Versorgungsspannungsknoten VSUPPLY gekoppelt werden. Der binäre Wert kann dann gelesen werden, sobald die Bit-Leitung 31 durch das NFET-Paar 14 und 16 heruntergezogen ist oder die Bit-Leitung 32 durch das NFET-Paar 24 und 26 heruntergezogen ist, ohne darauf warten zu müssen, daß die andere Bit-Leitung 31 oder 32 heraufgezogen wird.
-
Die Speicherzelle 1 kann entworfen sein, um dazu beizutragen, einen angestrebten Stabilitätsgrad für eine gegebene Speichergröße und ein gegebenes Speicherverfahren, um zur Verbesserung der Fertigungsausbeute beizutragen, zu erreichen. Die Speicherzelle 1 kann beispielsweise entworfen sein, um Fehlanpassung der Schwellenspannung Vth von benachbarten Transistoren zu berücksichtigen, da solche Fehlanpassungen die Stabilität verringern. Während Transistorabmessungen skaliert werden, kann sich das Berücksichtigen von Schwellenspannungs-Fehlanpassungen als schwierig erweisen, weil die Variabilität der Anzahl und des Ortes der Kanal-Dotieratome zu einschränkenden elektrischen Abweichungen der Transistor-Schwellenspannungen Vth führen kann.
-
Lesestabilität kann allgemein als die Wahrscheinlichkeit definiert werden, daß die Speicherzelle 1 ihren gespeicherten binären Wert während einer Leseoperation beibehält. Die Speicherzelle 1 ist während einer Leseoperation anfälliger für Rauschen, weil die Spannung an dem niedrigen Speicherknoten, wie beispielsweise dem Speicherknoten 21, wenn der NFET 26 durch ein hohes Signal auf der Word-Leitung 30 aktiviert wird, aufgrund der Spannungsteilung durch die benachbarten NFETs 24 und 26 zwischen der vorgeladenen Bit-Leitung 32 und dem Erdungsknoten steigt. Die Lesestabilität ist daher im allgemeinen proportional zu dem Verhältnis der Transkonduktanz des NFET 24 im Verhältnis zu der des NFET 26.
-
Schreibstabilität kann allgemein als die Wahrscheinlichkeit definiert werden, daß die Speicherzelle 1 während einer Schreiboperation mit einem angestrebten binären Wert beschrieben wird. Da ein Schreibvorgang durchgeführt wird, indem die Spannung an dem hohen Speicherknoten, wie beispielsweise dem Speicherknoten 21, durch den NFET 26 entladen wird, ist die Schreibstabilität im allgemeinen proportional zu dem Verhältnis der Transkonduktanz des NFET 26 im Verhältnis zu der des PFET 22.
-
Beispielhafte Arten, um die Stabilität der Speicherzelle 1 zu verbessern umfassen (1) Dimensionieren der Pull-Down-NFETs 14 und 16, damit sie eine vergrößerte Breite aufweisen, auf Kosten einer vergrößerten Zellfläche und verringerten Schreibstabilität, (2) Dimensionieren der Zugriffs-NFETs 16 und 26, damit sie eine größere Kanallänge aufweisen, auf Kosten eines verringerten Lesestroms und daher eines verringerten Geschwindigkeit der Leseoperation und/oder (3) Hinzufügen eines skalierbaren negativen Versorgungsspannungsgenerators, um die Source der Pull-Down-NFETs 14 und 24 auf eine negative Spannung zu treiben, bevor die Word-Leitung 30 aktiviert wird, um die Stärke der Pull-Down-NFETs 14 und 24 sicherzustellen.
-
Die
US 6,285,621 B1 offenbart ein Verfahren zum Reduzieren der Zugriffzeit auf Halbleiterspeicher. Dabei wird eine interne Versorgungsspannung der langsameren Halbleiterspeicher um einen Absolutwert erhöht, welcher von dem jeweiligen Halbleiterspeicher abhängt. Ferner offenbart die
US 6,654,277 B1 einen SRAM-Speicher, bei welchem die Versorgungsspannung für jede Spalte von Speicherzellen umschaltbar und getrennt von den anderen Spalten von Speicherzellen ist. Die Spalte wird dabei zwischen einer Chip-Versorgungsspannung und einer höheren Array-Versorgungsspannung umgeschaltet.
-
KURZER ABRISS DER ERFINDUNG
-
Es ist die Aufgabe der Erfindung, eine Lese- und Schreibstabilität eines Speichers mit mehreren Speicherzellen auf energiesparende Weise zu erhöhen, ohne dass hierbei die Lese- bzw. Schreibgeschwindigkeit verringert wird. Diese Aufgabe wird durch die Vorrichtung gemäß Anspruch 1, das Verfahren gemäß Anspruch 11 sowie das System gemäß Anspruch 17 gelöst. Bevorzugte Ausführungsformen sind Gegenstände der Unteransprüche.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Ausführungen werden als Beispiel und nicht als Einschränkung in den Figuren der beigefügten Zeichnungen dargestellt, bei denen gleiche Bezugszeichen ähnliche Elemente anzeigen und bei denen:
-
1 ein Schaltungsdiagramm für eine Sechs-Transistoren(6T)-Speicherzelle für einen statischen Arbeitsspeicher (SRAM) darstellt;
-
2 in einer Ausführung ein Blockdiagramm einer Schaltung darstellt, um die Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf Fehlerdetektion;
-
3 in einer Ausführung ein Flußdiagramm darstellt, um eine Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf der Fehlerdetektion des Blockdiagramms von 2;
-
4 in einer Ausführung ein Blockdiagramm eines integrierten Schaltkreises mit einer Schaltung darstellt, um die Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf Fehlerdetektion;
-
5 in einer Ausführung ein Flußdiagramm darstellt, um die Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf der Fehlerdetektion für das Blockdiagramm von 4;
-
6 in einer Ausführung eine Beispielschaltung für die Speicherschaltung der 4 darstellt;
-
7 in einer Ausführung eine Beispielschaltung für die Versorgungsspannungs-Steuerschaltung von 6 darstellt;
-
8 in einer Ausführung eine Beispielschaltung für einen Schalter (Switch) der 7 darstellt; und
-
9 in einer Ausführung ein Blockdiagramm eines Beispielsystems darstellt, das einen Prozessor mit einem Cachespeicher aufweist, der eine Schaltung umfaßt, um die Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf Fehlerdetektion.
-
Die Figuren sind nicht notwendigerweise maßstabsgetreu gezeichnet.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende detaillierte Beschreibung gibt Beispielausführungen von Vorrichtungen, Verfahren und Systemen an, die die Speicherzellen-Versorgungsspannungssteuerung, basierend auf Fehlerdetektion, betreffen. Merkmale, wie beispielsweise eine oder mehrere Strukturen, Funktionen und/oder Charakteristika, werden aus Bequemlichkeit mit Bezug auf eine Ausführung beschrieben; verschiedene Ausführungen können mit jedem geeigneten der einen oder mehreren beschriebenen Merkmale implementiert werden.
-
Die 2 stellt eine Schaltung 200 dar, um die Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf Fehlerdetektion. Die Schaltung 200 kann in einer Ausführung, wie in 2 dargestellt ist, eine Speicherschaltung 210 einschließlich Speicherzellen, Fehlerdetektionsschaltung 220, um Fehler in Daten zu detektieren, die von den Speicherzellen der Speicherschaltung 210 gespeichert werden, und eine Versorgungsspannungs-Steuerschaltung 230, um die Versorgungsspannung in einer oder mehreren Speicherzellen der Speicherschaltung 210, zumindest teilweise basierend auf dem detektieren Fehler, umfassen.
-
Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für eine oder mehrere Speicherzellen, die einen Fehler aufweisen, erhöhen. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für eine oder mehrere Speicherzellen erhöhen, ohne die Versorgungsspannung für eine oder mehrere andere Speicherzellen zu erhöhen.
-
Indem die Versorgungsspannung für eine oder mehrere Speicherzellen der Speicherschaltung 210 erhöht wird, kann in einer Ausführung dazu beigetragen werden, die Stabilität einer oder mehrerer solcher Speicherzellen zu verbessern. Das Vorsehen einer Erhöhung der Versorgungsspannung für eine oder mehrere Speicherzellen der Speicherschaltung 210 kann in einer Ausführung zusätzlich zu und/oder anstatt irgendeiner geeigneten anderen Entwurfstechnik verwendet werden, um die Stabilität zu erhöhen. Die Speicherschaltung 210 kann in einer Ausführung daher mit erhöhter Flexibilität entworfen sein, um einen angestrebten Stabilitätsgrad zu erreichen.
-
Indem eine selektive Steigerung der Versorgungsspannung in einer oder mehreren Speicherzellen mit einem Fehler vorgesehen ist, kann die Stabilität von einer oder mehreren Speicherzellen 210 in einer Ausführung verbessert werden, ohne daß eine erhöhte Versorgungsspannung für alle Speicherzellen der Speicherschaltung 210 bereitgestellt werden muß. Manche Speicherzellen der Speicherschaltung 210 können in einer Ausführung daher mit einer niedrigen Versorgungsspannung versorgt bleiben, was dazu beiträgt, den Stromverbrauch und/oder die Wärmeabgabe zu verringern.
-
Indem Fehlerdetektion der Daten vorgesehen ist, die in den Speicherzellen der Speicherschaltung 210 gespeichert sind, kann die Stabilität der Speicherzellen in der Speicherschaltung 210 in einer Ausführung periodisch in einem Zeitraum geprüft werden, um dazu beizutragen, jede verringerte Stabilität durch Vorrichtungs-Güteverlust aufgrund von Alterung zu identifizieren und zu kompensieren. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung Daten prüfen, um Fehler dynamisch zu detektieren, während Daten aus der Speicherschaltung 210 gelesen werden.
-
Die 3 stellt in einer Ausführung ein Flußdiagramm 300 dar, um die Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf Fehlerdetektion. In Block 302 der 3 kann eine Fehlerdetektionsschaltung 220 Fehler in den Daten detektieren, die von den Speicherzellen der Speicherschaltung 210 gespeichert werden. In Block 304 kann eine Versorgungsspannungs-Steuerschaltung 230 die Versorgungsspannung für eine oder mehrere Speicherzellen erhöhen, zumindest teilweise basierend auf den detektierten Fehlern.
-
Die Speicherschaltung 210 kann irgendeine geeignete Schaltung umfassen, um die Daten in den Speicherzellen in jeder geeigneten Weise zu speichern und auf sie zuzugreifen. Die Speicherschaltung 210 kann in einer Ausführung, wie in der 4 dargestellt ist, Speicherzellen 412 und eine Zugriffssteuerschaltung 414 umfassen.
-
Die Speicherzellen 412 können irgendeine geeignete Schaltung umfassen, um irgendwelche geeigneten Speicherzellen zu implementieren, um Daten in irgendeiner geeigneten Weise zu speichern. Die Speicherzellen 412 können in einer Ausführung irgendeine geeignete Schaltung umfassen, um eine oder mehrere Speicherzellen zu implementieren, die ein Bit an Daten speichern. Die Speicherzellen 412 können in einer Ausführung irgendeine Schaltung umfassen, um eine oder mehrere beliebige geeignete statische Arbeitsspeicherzellen (SRAM) zu implementieren. Die Speicherzellen 412 können in einer Ausführung irgendeine geeignete Schaltung umfassen, um eine oder mehrere beliebige geeignete Sechs-Transistoren(6T)-SRAM-Speicherzellen zu implementieren. Die Speicherzellen 412 können in einer Ausführung beispielsweise eine Schaltung für eine 6T-SRAM-Speicherzelle, ähnlich der, die in 1 gezeigt ist, umfassen.
-
Die Zugriffssteuerschaltung 414 kann irgendeine geeignete Schaltung umfassen, die gekoppelt ist, um auf Daten in den Speicherzellen 412 in irgendeiner geeigneten Weise zuzugreifen. Die Zugriffssteuerungsschaltung 414 kann in einer Ausführung gekoppelt sein, um Adressen und/oder Steuersignale auf den Leitungen 416 zu empfangen, und kann gekoppelt sein, um Daten auf einer oder mehreren Leitungen 417 zu empfangen und/oder zu übertragen. Die Zugriffssteuerschaltung 414 kann in einer Ausführung Adreßsignale empfangen, um eine oder mehrere Speicherzellen 412 zu identifizieren, von denen Daten gelesen und auf der oder den Leitung(en) 417 übertragen werden sollen oder auf die Daten von der oder den Leitung(en) 417 geschrieben werden sollen. Die Zugriffssteuerungsschaltung 414 kann in einer Ausführung ein oder mehrere Steuersignale empfangen, um zu bestimmen, ob Daten auf die Speicherzellen 412 geschrieben werden sollen oder von ihnen gelesen werden sollen.
-
Die Fehlerdetektionsschaltung 220 kann irgendeine geeignete Schaltung umfassen, um Fehler in Daten zu detektieren, die von den Speicherzellen in irgendeiner geeigneten Weise gespeichert werden. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung, wie in der 4 dargestellt ist, gekoppelt sein, um Daten zu empfangen, die aus den Speicherzellen 412 durch die Zugriffssteuerungsschaltung 414 gelesen werden, und können solche Daten prüfen, um Fehler in solchen Daten zu detektieren. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung gekoppelt sein, um Daten auf der oder den Leitungen 417 zu übertragen, die auf Fehler überprüft wurden. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung Daten auf Fehler überprüfen, wenn die Daten von den Speicherzellen 412 durch eine andere Schaltung angefordert wurden. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung Daten als Teil einer periodischen Prüfung der Speicherzellen 412 nach Fehlern überprüfen. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung Daten periodisch überprüfen, um dazu beizutragen, irgendwelche Speicherzellen mit verringerter Stabilität durch Vorrichtungs-Güteverlust aufgrund von Alterung zu identifizieren.
-
Die Fehlerdetektionsschaltung 220 kann in einer Ausfürhrung, wie in der 4 dargestellt ist, gekoppelt sein, um auf der oder den Leitung(en) 417 Daten zu empfangen, die in die Speicherzellen 412 geschrieben werden sollen, um Fehlerdetektionsdaten zumindest teilweise basierend auf zumindest einem Teil der empfangenen Daten zu erzeugen und um die empfangenen Daten zu übertragen, um sie in die Speicherzellen 412 zu schreiben. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung später solche Fehlerdetektionsdaten verwenden, um die geschriebenen Daten auf Fehler zu überprüfen. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung solche Fehlerdetektionsdaten übertragen, um sie verknüpft mit den Daten, die in die Speicherzellen 412 geschrieben werden sollen, in den Speicherzellen 412 zu speichern. Wenn die Daten, die in den Speicherzellen 412 gespeichert sind, geprüft werden sollen, um Fehler zu detektieren, kann die Fehlerdetektionsschaltung 220 in einer Ausführung dann verknüpfte Fehlerdetektionsdaten lesen, um Fehler zu detektieren.
-
Die Fehlerdetektionsschaltung 220 kann in einer Ausführung irgendeine geeignete Schaltung umfassen, um Fehler in Daten in irgendeiner geeigneten Weise zu korrigieren. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung Daten korrigieren, bei denen Fehler detektiert wurden, und kann gekoppelt sein, um auf der oder den Leitungen) 417 Daten mit korrigierten Fehlern in irgendeiner geeigneten Weise zu übertragen. In einer Ausführung, in der die Fehlerdetektionsschaltung 220 Fehlerdetektionsdaten erzeugen kann, kann die Fehlerdetektionsschaltung 220 in einer Ausführung solche Fehlerdetektionsdaten verwenden, um Fehler in den Daten zu korrigieren.
-
Die Fehlerdetektionsschaltung 220 kann in einer Ausführung irgendwelche geeigneten Fehlerdetektionsdaten erzeugen und verwenden, um Fehler in Daten, die von den Speicherzellen 412 in irgendeiner geeigneten Weise gespeichert werden, zu detektieren und/oder zu korrigieren. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung irgendwelche geeigneten Prüfsummen-Daten erzeugen und verwenden, um Fehler zu detektieren und/oder zu korrigieren. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung irgendwelche geeigneten Fehlerkorrekturcodes (EEC), wie beispielsweise SECDED-EEC (single error correct double error detect) oder DECTED-ECC (double error correct triple error detect), erzeugen und verwenden, um Fehler zu detektieren und/oder zu korrigieren.
-
Die Versorgungsspannungs-Steuerschaltung 230 kann irgendeine geeignete Schaltung umfassen, um die Versorgungsspannung für eine oder mehrere der Speicherzellen 412 in irgendeiner geeigneten Weise zu erhöhen, zumindest teilweise basierend auf dem detektierten Fehler. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für eine oder mehrere Speicherzellen 412, die einen Fehler aufweisen, erhöhen. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für eine oder mehrere Speicherzellen 412 erhöhen, ohne die Versorgungsspannung für eine oder mehrere andere Speicherzellen zu erhöhen. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für eine Mehrzahl von Speicherzellen erhöhen, die eine oder mehrere Speicherzellen umfassen, die Fehler aufweisen. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für eine vorbestimmte Untermenge der Speicherzellen erhöhen, die eine oder mehrere Speicherzellen umfaßt, die Fehler aufweisen.
-
Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung gekoppelt sein, um ein oder mehrere Signale zu empfangen, die sich auf den Leitungen 416 befinden und/oder von der Zugriffssteuerschaltung 414 erzeugt werden, von denen Daten durch die Fehlerdetektionsschaltung 220 gelesen und geprüft werden, um Fehler zu detektieren. Die identifizierte(n) Speicherzelle(n), auf die zugegriffen wird, können in einer Ausführung mit einer vorbestimmten Untermenge von Speicherzellen, wie beispielsweise Speicherzellen, um Daten zu speichern, die ein Wort definieren, übereinstimmen. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung gekoppelt sein, um ein oder mehrere Steuersignale zu erzeugen, um der Versorgungsspannungs-Steuerschaltung 230 zu signalisieren, die Versorgungsspannung für eine oder mehrere der identifizierten Speicherzellen 230, auf die zugegriffen wird, zu erhöhen, wenn Fehler in den gelesenen Daten detektiert wurden. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung den Versorgungsspannungs-Steuerschaltung 230 signalisieren, daß Fehler in den gelesenen Daten detektiert wurden, und die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung dann die Versorgungsspannung für die identifizierten Speicherzellen, auf die zugegriffen wird, erhöhen. Die Fehlerdetektionsschaltung 220 kann in einer Ausführung eine oder mehrere Speicherzellen für die Versorgungsspannungs-Steuerschaltung 230 identifizieren, die Fehler aufweisen, und die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für diese identifizierte(n) Zelle(n) erhöhen.
-
Die Versorgungsspannungs-Steuerschaltung 230 kann irgendeine geeignete Schaltung umfassen, um die Versorgungsspannung für eine oder mehrere der Speicherzellen 412 in irgendeiner geeigneten Weise zu erhöhen. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für eine oder mehrere der Speicherzellen 412 auf eine höhere Spannung schalten. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung eine oder mehrere Speicherzellen von einem oder mehreren Versorgungsknoten mit einer Versorgungsspannung VSUPPLY1, was in der 4 zur Bequemlichkeit als ein einziger Knoten 406 dargestellt ist, entkoppeln und solche Speicherzelle(n) mit einem oder mehreren anderen Versorgungsknoten mit einer Versorgungsspannung VSUPPLY2, was in der 4 zur Bequemlichkeit als ein einziger Knoten 407 dargestellt ist, koppeln, wobei die Versorgungsspannung VSUPPLY2 größer ist als die Versorgungsspannung VSUPPLY1. Die Versorgungsspannungen VSUPPLY1 und VSUPPLY2 können irgendwelche geeigneten Werte aufweisen.
-
Die Speicherschaltung 210, die Fehlerdetektionsschaltung 220 und die Versorgungsspannungs-Steuerschaltung 230 können, wie in der 4 dargestellt ist, auf einem integrierten Schaltkreis 400 integriert sein. Der integrierte Schaltkreis 400 kann, wie in der 4 dargestellt ist, in einer Ausführung gekoppelt sein, um Strom von einer oder mehreren externen Stromversorgung(en) 402 zu empfangen, um die Versorgungsspannungen VSUPPLY1 und VSUPPLY2 zu erzeugen. Die Stromversorgung(en) 402 können in einer Ausführung eine oder mehrere Energieelemente umfassen, wie beispielsweise eine Batterie und/oder eine Brennstoffzelle. Die Stromversorgung(en) 402 können in einer Ausführung einen Wechselstrom-Gleichstrom-Wandler (WS-GS-Wandler) umfassen. Die Stromversorgung(en) 402 können in einer Ausführung einen GS-WS-Wandler umfassen. Die Stromversorgung(en) können in einer Ausführung eine oder mehrere Spannungsregler umfassen, um dazu beizutragen, den integrierten Schaltkreis 400 mit Strom zu versorgen.
-
Der integrierte Schaltkreis 400 kann in einer Ausführung gekoppelt sein, um die Versorgungsspannung VSUPPLY1 und/oder die Versorgungsspannung VSUPPLY2 zu empfangen. Der integrierte Schaltkreis 400 kann in einer Ausführung irgendeine geeignete Schaltung umfassen, wie beispielsweise einen oder mehrere Spannungsregler, um die Versorgungsspannung VSUPPLY1 und/oder die Versorgungsspannung VSUPPLY2 zu erzeugen. In einer Ausführung kann der integrierte Schaltkreis 400, wie in der 4 dargestellt ist, Ladungspumpenschaltung 440 umfassen, um die Versorgungsspannung VSUPPLY2 zu erzeugen. Die Ladungspumpenschaltung 440 kann irgendeine geeignete Schaltung umfassen, um die Versorgungsspannung VSUPPLY2 in irgendeiner geeigneten Weise zu erzeugen. Die Ladungspumpenschaltung 440 kann in einer Ausführung gekoppelt sein, um die Versorgungsspannung VSUPPLY1 zu empfangen, um die Versorgungsspannung VSUPPLY2 zu erzeugen.
-
Die 5 stellt, in einer Ausführung, ein Flußdiagramm 500 dar, um die Speicherzellen-Versorgungsspannung zu steuern, zumindest teilweise basierend auf Fehlerdetektion. In Block 502 der 5 kann die Zugriffssteuerschaltung 414 Daten von den Speicherzellen 412 lesen. Die Fehlerdetektionsschaltung 220 kann in Block 504 die gelesenen Daten prüfen, um Fehler mittels Fehlerdetektionsdaten zu detektieren. Wenn in Block 506 Fehler detektiert werden, kann die Zugriffssteuerschaltung 414 und/oder die Fehlerdetektionsschaltung 220 in Block 508 für die Versorgungsspannungs-Steuerschaltung 230 eine oder mehrere Speicherzellen, auf die zugegriffen wird, identifizieren, die eine erhöhte Versorgungsspannung aufweisen sollen. Die Versorgungsspannungs-Steuerschaltung 230 kann dann in Block 510 die Versorgungsspannung für eine oder mehrere solche identifizierte(n) Speicherzelle(n), auf die zugegriffen wird, auf eine höhere Spannung VSUPPLY2 schalten.
-
BEISPIELSCHALTUNG
-
Die 6 stellt, in einer Ausführung, eine Beispielschaltung für die Speicherschaltung 210 dar, die in der 4 dargestellt ist.
-
Die Speicherzellen 412 können in einer Ausführung, wie in der 6 dargestellt ist, eine Schaltung für einen Array irgendeiner geeigneten Anzahl von Speicherzellen, wie beispielsweise den Speicherzellen 651, 652 und 653, umfassen, die logisch in irgendeiner geeigneten Anzahl von Zeilen und irgendeiner geeigneten Anzahl von Spalten, wie beispielsweise den Spalten 655, 656, 657, 658 und 659, angeordnet sind. Sie Speicherzellen 412 können in einer Ausführung irgendeine geeignete Schaltung umfassen, um eine oder mehrere Speicherzellen zu implementieren, die ein Bit von Daten speichern. Die Speicherzellen 412 können in einer Ausführung irgendeine geeignete Schaltung umfassen, um irgendwelche geeigneten Sechs-Transistoren(6T)-SRAM-Speicherzellen zu implementieren, wie etwa eine 6T-SRAM-Speicherzelle, die der von 1 ähnelt.
-
Die Zugriffssteuerschaltung 414 kann in einer Ausführung, wie in der 6 dargestellt ist, Zeileneine Decodierschaltung 662, eine Spalten-Decodierschaltung 664 und eine Eingang/Ausgang(E/A)-Schaltung 666 umfassen.
-
Die Zeilen-Decodierschaltung 662 kann in einer Ausführung gekoppelt sein, um zumindest einen Abschnitt einer Adresse auf den Leitungen 416 zu empfangen und ein Signal auf einer Wort-Leitung, wie beispielsweise der Wort-Leitung 663, zu erzeugen, um Speicherzellen in einer Zeile in Antwort auf den empfangenen Adreßabschnitt auszuwählen. Die Spaltensteuerschaltung 664 kann in einer Ausführung gekoppelt sein, um zumindest einen Abschnitt der Adresse zu empfangen und ein oder mehrere Signale auf einer oder mehreren der Spaltenauswahlleitungen 665 zu erzeugen, um Speicherzellen in Spalten in Antwort auf den empfangenen Adreßabschnitt auszuwählen. Die Speicherzellen 412 können in einer Ausführung sowohl Daten als auch zugehörige Fehlerkorrekturdaten in der gleichen Zeile über zugehörige Spalten speichern.
-
Die Spaltensteuerschaltung 664 kann in einer Ausführung ein oder mehrere Signale auf den Spaltenauswahlleitung(en) 665 erzeugen, um Multiplexer der E/A-Schaltung 666, wie beispielsweise die Multiplexer 671, 672 und 673, zu steuern, um Spalten auszuwählen und Daten, die von Speicherzellen in sowohl einer durch die Decodierschaltung 662 ausgewählten Zeile als auch ausgewählten Spalten gespeichert sind, auszugeben. Die Spaltensteuerschaltung 664 kann in einer Ausführung ein oder mehrere Signal(e) auf einer oder mehreren Spaltenauswahlleitung(en) 665 erzeugen, um beispielsweise die Multiplexer 671, 672 und 673 zu steuern, um beispielsweise die Spalten 655, 657 und 659 auszuwählen. Die E/A-Schaltung 666 kann irgendeine geeignete Anzahl von Multiplexern umfassen, um zwischen oder unter einer geeigneten Anzahl von Spalten der Speicherzellen auszuwählen. In einer Ausführung, bei der die Speicherzellen 412 Ein-Bit-Speicherzellen umfassen, kann die E/A-Schaltung 666 in einer Ausführung beispielsweise 37 Multiplexer umfassen, die eine von acht Spalten auswählen, um 32 Bits, oder ein Wort, von Daten von 32 von 256 Speicherzellen in einer ausgewählten Zeile auszugeben und um 5 Bits von zugehörigen Fehlerkorrekturdaten von 5 von zusätzlichen 40 Speicherzellen in einer ausgewählten Zeile auszugeben.
-
Die E/A-Schaltung 666 kann in einer Ausführung eine Vorladeschaltung umfassen, die mit Vorlade-Bit-Leitungen gekoppelt ist, die mit den Speicherzellen in den Spalten gekoppelt ist. Die E/A-Schaltung 666 kann in einer Ausführung Leseverstärker umfassen, die gekoppelt sind, um auf Paaren von Bit-Leitungen, die zu ausgewählten Spalten der Speicherzellen gehören, komplementäre Signale von Speicherzellen in einer ausgewählten Zeile zu lesen und um zugehörige verstärkte komplementäre Signale oder ein verstärktes Signal, das einem binären Wert, der den gelesenen komplementären Signalen entspricht, auszugeben. Die E/A-Schaltung 666 kann in einer Ausführung Schreibtreiber umfassen. Ein Schreibtreiber kann gekoppelt sein, um ein Signal oder komplementäre Signale zu empfangen, die repräsentativ für einen binären Wert auf der oder den Leitung(en) 417 sind, und um entsprechende komplementäre Signale auf Bit-Leitungs-Paare aufzudrücken, die zu ausgewählten Spalten von Speicherzellen gehören, um auf Speicherzellen in einer ausgewählten Zeile zu schreiben.
-
Die Fehlerdetektionsschaltung 220 kann in einer Ausführung gekoppelt sein, um Daten und zugehörige Fehlerdetektionsdaten von der E/A-Schaltung 666 zu empfangen, um Fehler in den empfangenen Daten mittels der zugehörigen Fehlerdetektionsdaten zu detektieren. Die Fehlerdetektionsdaten 220 können in einer Ausführung gekoppelt sein, um ein oder mehrere Steuersignale zu erzeugen, um der Versorgungsspannungs-Steuerschaltung 230 zu signalisieren, die Versorgungsspannung für Speicherzellen, auf die zugegriffen wird, zu erhöhen, wenn Fehler in den empfangenen Daten detektiert wurden.
-
Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung, wie in der 6 dargestellt ist, gekoppelt sein, um die Versorgungsspannung für separate Spalten von Speicherzellen zu steuern. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung gekoppelt sein, um ein oder mehrere Signal(e) auf der oder den Spaltenauswahlleitung(en) 665 zu empfangen, um ausgewählte Spalten von Speicherzellen zu identifizieren, und können gekoppelt sein, um ein oder mehrere Steuersignale) von der Fehlerdetektionsschaltung 220 zu empfangen, um festzustellen, ob die Versorgungsspannung für die Speicherzellen in ausgewählten Spalten erhöht werden soll. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für ausgewählte Spalten steuern, um Stromversorgungsleitungen für Speicherzellen in einer Spalte zu teilen, um dazu beizutragen, die angestrebten Dichtegrenzen zu erreichen. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Versorgungsspannung für ausgewählte Spalten steuern, um von der Verwendung von einer oder mehreren Spaltenauswahlleitung(en) 665 zu profitieren, um dazu beizutragen, den Steuer-Overhead und/oder die Schaltung für die Versorgungsspannungs-Steuerschaltung 230 zu verringern. Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung die Spannung für Speicherzellen in Spalten bereitstellen, die verwendet werden, um Fehlerdetektionsdaten zu speichern, um dazu beizutragen, weitergehend sicherzustellen, daß solche Speicherzellen relativ stabil bleiben.
-
Die Versorgungsspannungs-Steuerschaltung 230 kann in einer Ausführung, wie in der 7 dargestellt ist, eine Steuerschaltung 780 umfassen, die gekoppelt ist, um ein oder mehrere Signal(e) auf der oder den Spaltenauswahlleitung(en) 665 zu empfangen, um eine einer Mehrzahl von Latches, wie beispielsweise den Latches 781 und 785, auszuwählen. Die Steuerschaltung 780 kann in einer Ausführung auch gekoppelt sein, um ein Steuersignal von der Fehlerdetektionsschaltung 220 zu empfangen, um ein Steuersignal an das ausgewählte Latch auszugeben, um die Versorgungsspannung für Speicherzellen in den ausgewählten Spalten zu steuern.
-
Die Latches können in einer Ausführung gekoppelt sein, um zugehörige Schalter zu steuern, die gekoppelt sind, um die Versorgungsspannung für Speicherzellen in den zugehörigen Spalten zu steuern. Ein Latch kann in einer Ausführung im allgemeinen zu Spalten gehören, die von den Multiplexern der E/A-Schaltung 666, wie beispielsweise den Multiplexern 671 und 672, in Antwort auf ein oder mehrere Signal(e) auf der oder den Spaltenauswahlleitung(en) 665 ausgewählt werden können. Als ein Beispiel kann das Latch 781 gekoppelt sein, um einen Schalter 782 zu steuern, um die Versorgungsspannung für Speicherzellen in der Spalte 655 zu steuern und um einen Schalter 783 zu steuern, um die Versorgungsspannung für Speicherzellen in der Spalte 657 zu steuern. Als ein anderes Beispiel kann das Latch 785 gekoppelt sein, um einen Schalter 786 zu steuern, um die Versorgungsspannung für Speicherzellen in der Spalte 656 zu steuern und um einen Schalter 787 zu steuern, um die Versorgungsspannung für Speicherzellen in der Spalte 658 zu steuern. Ein Latch, das von der Speicherschaltung 780 ausgewählt wurde, um ein Steuersignal zu empfangen und zwischenzuspeichern, um die Versorgungsspannung für die Speicherzellen in ausgewählten Spalten zu erhöhen, kann in einer Ausführung die zugehörigen Schalter steuern, um die Versorgungsspannung für Speicherzellen in ausgewählten Spalten von der Versorgungsspannung VSUPPLY1 auf eine höhere Versorgungsspannung VSUPPLY2 zu schalten.
-
Die Steuerschaltung 780 kann in einer Ausführung optional verfolgen, welche Spalten eine erhöhte Versorgungsspannung erhalten sollen, um die Versorgungsspannung für solche Spalten nach einem Stromausfall oder einem Zurücksetzen wieder zu erhöhen. Die Steuerschaltung 780 kann in einer Ausführung die Steuersignale, die zu Steuersignalen gehören, die von den Latches zwischengespeichert wurden, in irgendeinem nichtflüchtigen Speicher oder irgendeiner Speichervorrichtung speichern.
-
Die Schalter der Versorgungsspannungs-Steuerschaltung 230 kann irgendeine geeignete Schaltung umfassen, um die Versorgungsspannung für die Speicherzellen in zugehörigen Spalten von der Versorgungsspannung VSUPPLY1 auf eine höhere Versorgungsspannung VSUPPLY2 zu schalten. Als ein Beispiel kann der Schalter 782 in einer Ausführung, wie in der 8 dargestellt ist, einen Pull-Up-p-Kanal-Feldeffekttransistor (PFET) 891 und einen anderen Pull-Up-PFET 893 umfassen. Der PFET 893 kann gekoppelt sein, um ein Steuersignal zu empfangen, das von dem Latch 781 ausgegeben wird, während der PFET 891 gekoppelt sein kann, um das Steuersignal über einen Inverter 892 zu empfangen, um nur entweder den PFET 891 oder den PFET 893 zu aktivieren. In Antwort auf ein erstes Steuersignal, das einem binären Wert von Eins entspricht und von Latch 781 ausgegeben wird, kann der PFET 891 aktiviert werden, um die Versorgungsspannung für Speicherzellen der Spalte 655 mit dem Knoten 406 zu koppeln, der die Versorgungsspannung VSUPPLY1 aufweist, und der PFET 893 kann deaktiviert werden, um die Versorgungsspannung für Speicherzellen der Spalte 655 von dem Knoten 407 mit der Versorgungsspannung VSUPPLY2 zu entkoppeln. In Antwort auf ein zweites Steuersignal, das einem binären Wert von Null entspricht und von dem Latch 781 ausgegeben wird, kann der PFET 891 deaktiviert werden, um die Versorgungsspannung für Speicherzellen der Spalte 655 von dem Knoten 406 mit der Versorgungsspannung VSUPPLY1 zu entkoppeln, und der PFET 893 kann aktiviert werden, um die Versorgungsspannung für Speicherzellen der Spalte 655 mit dem Knoten 407 zu koppeln, der die Versorgungsspannung VSUPPLY2 aufweist.
-
BEISPIELSYSTEM
-
Die Schaltung der 2 kann verwendet werden, um die Versorgungsspannung der Speicherzellen zu steuern, zumindest teilweise basierend auf Fehlerdetektion in irgendeiner geeigneten Umgebung. Die Schaltung 200 kann in einer Ausführung, wie in der 9 dargestellt ist, in einem System 900 verwendet werden.
-
Wie in der 9 dargestellt ist, kann das System 900 in einer Ausführung einen Prozessor 910 mit einem Cache-Speicher 912 umfassen, der eine Schaltung 200 aufweist, um die Versorgungsspannung der Speicherzellen zu steuern, zumindest teilweise basierend auf Fehlerdetektion. Obwohl sie als ein Teil des Prozessors 910 in einer Ausführung dargestellt ist, kann der Cache-Speicher 912 in einer anderen Ausführung von dem Prozessor 910 getrennt sein. Das System 900 kann in einer anderen Ausführung mehrere Prozessoren umfassen, von denen einer oder mehrere Cache-Speicher ähnlich dem Cache-Speicher 912 aufweisen können.
-
Der Prozessor 910 kann in einer Ausführung gekoppelt sein, um Strom von einer oder mehreren Stromversorgungen 902 zu empfangen. Die Stromversorgung(en) 902 können in einer Ausführung mit den Stromversorgung(en) 402 von 4 übereinstimmen.
-
Das System 900 kann in einer Ausführung auch einen Chipsatz 920 umfassen, der mit dem Prozessor 910 gekoppelt ist, einen BIOS-Speicher (basic input/output system), der mit dem Chipsatz 920 gekoppelt ist, flüchtigen Speicher 940, der mit dem Chipsatz 920 gekoppelt ist, nichtflüchtigen Speicher und/oder Speichervorrichtung(en) 950, die mit dem Chipsatz 920 gekoppelt sind, einen oder mehrere Eingabevorrichtungen 960, die mit dem Chipsatz 920 gekoppelt sind, eine Anzeige 970, die mit dem Chipsatz 920 gekoppelt ist, eine oder mehrere Kommunikationsschnittstellen 980, die mit dem Chipsatz 920 gekoppelt sind und/oder eine oder mehrere Eingang/Ausgang(E/A)-Vorrichtungen 990, die mit dem Chipsatz 920 gekoppelt sind.
-
Der Chipsatz 920 kann in einer Ausführung irgendwelche geeigneten Schnittstellencontroller umfassen, um irgendeine geeignete Kommunikationsverbindung mit dem Prozessor 910 und/oder irgendeiner geeigneten Vorrichtung oder Komponente, die mit dem Chipsatz 920 kommuniziert, bereitzustellen.
-
Der Chipsatz 920 kann in einer Ausführung einen Firmwarecontroller umfassen, um eine Schnittstelle zum BIOS-Speicher 930 bereitzustellen. Der BIOS-Speicher 930 kann verwendet werden, um irgendein geeignetes System und/oder Video-BIOS-Software für das System 900 zu speichern. Der BIOS-Speicher 930 kann irgendwelchen geeigneten nichtflüchtigen Speicher, wie beispielsweise einen geeigneten Flash-Speicher, umfassen. Der BIOS-Speicher 930 kann in einer Ausführung alternativ um Chipsatz 920 eingeschlossen sein.
-
Der Chipsatz 920 kann in einer Ausführung einen oder mehrere Speichercontroller umfassen, um eine Schnittstelle zu dem flüchtigen Speicher 940 bereitzustellen. Der flüchtige Speicher 940 kann verwendet werden, um Daten und Anweisungen zu laden und zu speichern, beispielsweise für das System 900. Der flüchtige Speicher 940 kann irgendwelchen geeigneten flüchtigen Speicher, wie beispielsweise geeignetes dynamisches RAM (DRAN), umfassen. Der Prozessor 910 kann in einer Ausführung den Cache-Speicher 912 verwenden, um Daten und/oder Anweisungen, die in dem flüchtigen Speicher 940 gespeichert sind oder gespeichert werden sollen, zu speichern, beispielsweise für schnelleren Zugriff auf solche Daten und/oder Anweisungen.
-
Der Chipsatz 920 kann in einer Ausführung einen Grafikcontroller umfassen, um eine Schnittstelle zur Anzeige 970 bereitzustellen. Die Anzeige 970 kann irgendeine geeignete Anzeige umfassen, wie beispielsweise eine Kathodenstrahlröhre (CRT) oder eine Flüssigkristallanzeige (LCD). Der Grafikcontroller kann in einer Ausführung alternativ extern zu dem Chipsatz 920 sein.
-
Der Chipsatz 920 kann in einer Ausführung einen oder mehrere Eingang/Ausgang-Controller (E/A-Controller) umfassen, um eine Schnittstelle zu dem nichtflüchtigen Speicher und/oder der oder den Speichervorrichtung(en) 950, der oder den Eingabevorrichtungen) 960, Kommunikationsschnittstelle(n) 960 und/oder Eingang/Ausgang-Vorrichtung(en) 990 bereitzustellen.
-
Der nichtflüchtige Speicher und/oder der oder die Speichervorrichtung(en) 950 können verwendet werden, um beispielsweise Daten und/oder Anweisungen zu speichern. Der nichtflüchtige Speicher und/oder die Speichervorrichtung(en) 950 können irgendeinen geeigneten nichtflüchtigen Speicher aufweisen, wie beispielsweise einen Flash-Speicher, und/oder können irgendwelche geeigneten nichtflüchtigen Speichervorrichtung(en) aufweisen, wie beispielsweise ein oder mehrere Festplattenlaufwerk(e) (HDDs), ein oder mehrere CD-Laufwerke (compact disc) und/oder ein oder mehrere DVD-Laufwerke (digital versatile disk).
-
Die Eingabevorrichtung(en) 960 können irgendwelche geeigneten Eingabevorrichtung(en) umfassen, wie eine Tastatur, eine Maus und/oder irgendeine geeignete Vorrichtung zur Cursor-Steuerung.
-
Die Kommunikationsschnittstellen) 980 können eine Schnittstelle für das System 900 bereitstellen, um über ein oder mehrere Netzwerke und/oder mit irgendeiner anderen geeigneten Vorrichtung zu kommunizieren. Die Kommunikationsschnittstelle(n) 980 können irgendeine geeignete Hardware und/oder Firmware umfassen. Die Kommunikationsschnittstellen) 980 können in einer Ausführung beispielsweise einen Netzwerkadapter, einen drahtlosen Netzwerkadapter, ein Telefonmodem und/oder ein drahtloses Modem umfassen. Zur drahtlosen Kommunikation können die Kommunikationsschnittstellen) 980 in einer Ausführung ein oder mehrere Antennen 982 umfassen.
-
Die E/A-Vorrichtung(en) 990 könne irgendwelche geeigneten E/A-Vorrichtungen) umfassen, wie beispielsweise eine Audiovorrichtung, um dazu beizutragen, Schall in zugehörige digitale Signale umzuwandeln und/oder dazu beizutragen, digitale Signale in zugehörigen Schall umzuwandeln, eine Kamera, einen Camcorder, einen Drucker und/oder einen Scanner.
-
Obwohl beschrieben wurde, daß sie in dem Chipsatz 920 liegen, können ein oder mehrere Controller des Chipsatzes 920 im Prozessor 910 integriert sein, was es dem Prozessor 910 erlaubt, mit einer oder mehreren Vorrichtungen oder Komponenten direkt zu kommunizieren. In einem solchen Beispiel können ein oder mehrere Speicher-Controller in einer Ausführung im Prozessor 910 integriert sein, was es dem Prozessor 910 erlaubt, mit dem flüchtigen Speicher 940 direkt zu kommunizieren.