专利摘要:
Hierinsind unterstützteSpeichervorrichtungen, die einen integrierten Cache aufweisen, und indenselben implementierte Verfahren offenbart. Bei einem Ausführungsbeispielumfaßteine integrierte Schaltungsvorrichtung ein Speicherarray, das aufdem Substrat integriert ist, mit einem Decodierer und einen Cache,der ebenfalls auf demselben Substrat integriert ist. Der Decodiererkann konfiguriert sein, um Daten, die von dem Speicherarray wiedergewonnenwerden, zu decodieren. Der Cache kann konfiguriert sein, um Daten,die in dem Speicherarray gespeichert sind, in Vorausahnung einerAnforderung bezüglder Daten wiederzugewinnen.
公开号:DE102004015020A1
申请号:DE102004015020
申请日:2004-03-26
公开日:2005-02-24
发明作者:Todd C. Adelmann;Stewart R. Wyatt
申请人:Hewlett Packard Development Co LP;
IPC主号:G06F12-08
专利说明:
[0001] Für moderneEntwicklung und modernen Fortschritt, insbesondere bei der Entwicklungneuer Technologien, sind Informationen extrem wertvoll. Jedoch ermöglichenviele Arten der Speicherung und Aufbewahrung von Informationen keinenleichten Zugang zu denselben. Beispielsweise können Informationen in Büchern einerBibliothek gespeichert sein, jedoch erfordert ein Identifizierenund Erhalten des richtigen Buches oft beträchtliche Anstrengungen. Miteinem Zugreifen auf gespeicherte Informationen verbundene Kostenkönnenden effektiven Wert der Informationen verringern.
[0002] Vielein der Entwicklung befindliche Technologien werden gerne angenommen,da sie die Zugänglichkeitvon Informationen erhöhen.Mikrofilm, Magnetbänder,magnetische Plattenspeichermedien, optische Plattenspeichermedienund nichtflüchtige integrierteSpeicher sind Beispiele von Technologien, die die Zugänglichkeitvon auf denselben gespeicherten Informationen erhöhen. Nicht-flüchtige,integrierte Speicher sind hier von besonderem Interesse.
[0003] IntegrierteSpeicher sind elektrische Schaltungen, die konfiguriert sind, umInformationen in digitaler Form zu speichern. Diese digitalen Informationenbzw. „Daten" sind für eine Digitalvorrichtung,die entsprechend mit dem integrierten Speicher gekoppelt ist, ohneweiteres zugänglich.Je nach der jeweiligen verwendeten Technologie kann mit wahrlicherstaunlichen Geschwindigkeiten auf Daten zugegriffen werden.
[0004] IntegrierteSpeicher werden oft als flüchtig odernichtflüchtigklassifiziert. Flüchtigeintegrierte Speicher weisen bei Fehlen einer elektrischen Leistungeinen Verlust von gespeicherten Daten auf, diese Unzulänglichkeitkann jedoch durch Vorteile bezüglichder Informationsdichte und Zugriffsraten wettgemacht werden. Nicht-flüchtige Speicherbehalten ihre gespeicherten Informationen bei Fehlen einer elektrischenLeistung bei, weisen jedoch den Nachteil einer verringerten Informationsdichteund einer verringerten Zugriffsrate auf.
[0005] Eineneue Technologie auf dem Gebiet integrierter Speicher bietet sowohlNichtflüchtigkeitals auch eine hohe Informationsdichte und eine verbesserte Zugriffsrate.Magnetische integrierte Speicher sind, gemäß der Benutzung dieses Begriffsin diesem Dokument, integrierte Speicher, die Magnetfelder verwenden,um Daten zu speichern, beispielsweise diejenigen in einem magnetischenDirektzugriffsspeicher (MRAM). Diese Magnetfelder können inmagnetischen Materialien eingebettet sein, die sich nicht auf dasfortlaufende Vorhandensein einer elektrischen Leistung stützen, umdie Magnetfelder aufrechtzuerhalten. Eine Vielzahl von Erfassungstechnikenkann verwendet werden, um Magnetfelder in diesen Speichern zu erfassenund um die Daten, die diese Felder darstellen, zu bestimmen.
[0006] Obwohleine gewisse Verbesserung erzielt werden kann, unterliegen die Zugriffsraten,die durch magnetische integrierte Speicher geboten werden, eventuellimmer noch den Zugriffsraten, die durch Technologien auf dem GebietflüchtigerSpeicher geboten werden. Ein Verfahren zum Verringern durchschnittlicherLesezeiten verschiedener Speichertechnologien kann sich als vorteilhafterweisen.
[0007] DieAufgabe der vorliegenden Erfindung besteht darin, eine integrierteSchaltungsvorrichtung, ein Verfahren und eine Digitalvorrichtungmit verbesserten Charakteristika zu schaffen.
[0008] DieseAufgabe wird durch eine integrierte Schaltungsvorrichtung gemäß Anspruch1, durch ein Verfahren gemäß An spruch10 und durch eine Digitalvorrichtung gemäß Anspruch 19 gelöst.
[0009] Dementsprechendsind hierin unterstützte Speichervorrichtungen,die einen integrierten Cache aufweisen, und Verfahren, die in denselbenimplementiert sind, offenbart. Bei einem Ausführungsbeispiel umfaßt eineintegrierte Schaltungsvorrichtung ein Speicherarray, das auf einemSubstrat mit einem Decodierer integriert ist, und einen Cache, derebenfalls auf demselben Substrat integriert ist. Der Decodiererkann konfiguriert sein, um Daten, die von dem Speicherarray wiedergewonnenwerden, zu decodieren. Der Cache kann konfiguriert sein, um Daten,die in dem Speicherarray gespeichert sind, in Vorausahnung einerAnforderung der Daten wiederzugewinnen.
[0010] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend Bezug nehmend aufdie beiliegenden Zeichnungen nähererläutert.Es zeigen:
[0011] 1 ein Computersystem, beidem bestimmte Ausführungsbeispieleverwendet werden können;
[0012] 2 eine integrierte Speichervorrichtung;
[0013] 3 eine integrierte Speichervorrichtung miteinem Lese-Cache gemäß bestimmtenAusführungsbeispielen;
[0014] 4 eine integrierte Speichervorrichtung mitLese- und Schreib-Cachesgemäß bestimmten Ausführungsbeispielen;
[0015] 5 eine integrierte Speichervorrichtung gemäß bestimmtenAusführungsbeispielenmit geringer Leistungsversorgung; und
[0016] 6 ein Verfahrensflußdiagrammgemäß bestimmtenAusführungsbeispielen.
[0017] Inder gesamten folgenden Beschreibung und in den Patentansprüchen werdenbestimmte Begriffe verwendet, um auf bestimmte SystemkomponentenBezug zu nehmen. Wie Fachleute erkennen werden, bezeichnen Unternehmeneine Komponente vielleicht mit unterschiedlichen Namen. Dieses Dokumentbeabsichtigt nicht, zwischen Komponenten zu unterscheiden, die sichin bezug auf ihre Namen, jedoch nicht in bezug auf ihre Funktionvoneinander unterscheiden. In der folgenden Erörterung und in den Patentansprüchen werdendie Begriffe „umfassen" und „aufweisen" auf offene Weiseverwendet und sollten somit in der Bedeutung „umfassen, sind jedoch nichtbeschränktauf" interpretiertwerden. Ferner soll der Begriff „koppeln" oder „koppelt" entweder eine indirekte oder eine direkteelektrische Verbindung bedeuten. Wenn also eine erste Vorrichtungmit einer zweiten Vorrichtung gekoppelt ist, kann diese Verbindungdurch eine direkte elektrische Verbindung oder durch eine indirekteelektrische Verbindung überandere Vorrichtungen und Verbindungen erfolgen.
[0018] DieZeichnungen und die folgende Erläuterungbeziehen sich auf verschiedene Ausführungsbeispiele. Obwohl einesoder mehrere dieser Ausführungsbeispielebevorzugt sein kann bzw. können, solltendie offenbarten Ausführungsbeispielenicht so interpretiert oder verwendet werden, daß sie den Schutzumfang derOffenbarung, einschließlichder Patentansprüche,einschränken.Ferner werden Fachleute erkennen, daß die folgende Beschreibung einebreite Anwendung aufweist, und die Erläuterung eines Ausführungsbeispielssoll lediglich beispielhaft fürdieses Ausführungsbeispielsein und soll nicht nahelegen, daß der Schutzumfang der Offenbarung, einschließlich derPatentansprüche,auf dieses Ausführungsbeispielbeschränktist.
[0019] 1 zeigt ein Computersystem,das lediglich ein Beispiel eines Falles ist, bei dem ein integrierterSpeicher verwendet werden kann. Das Computersystem der 1 umfaßt eine Zentralverarbeitungseinheit(CPU) 10, die durch eine Brücke 12 mit einem Systemspeicher 14 undeiner Anzeige 16 gekoppelt ist. Die CPU 10 istferner durch die Brücke 12 miteinem Erweiterungsbus 18 gekoppelt. Mit dem Erweiterungsbus 18 sindaußerdemeine Speichervorrichtung 20 und eine Eingabe-/Ausgabeschnittstelle 22 gekoppelt.Eine Tastatur 24 kann überdie Eingabe-/Ausgabeschnittstelle 22 mit dem Computer gekoppeltsein.
[0020] DieCPU kann gemäß einerSoftware, die in dem Speicher 14 und/oder der Speichervorrichtung 20 gespeichertist, arbeiten. Unter der Leitung der Software kann die CPU 10 über dieTastatur 24 oder eine alternative Eingabevorrichtung Befehlevon einer Bedienperson annehmen und kann über die Anzeige 16 odereine alternative Ausgabevorrichtung gewünschte Informationen der Bedienpersongegenüberanzeigen. Die CPU 10 kann die Operationen anderer Systemkomponentensteuern, um Daten wiederzugewinnen, zu transferieren und zu speichern.
[0021] DieBrücke 12 koordiniertden Datenfluß zwischenKomponenten. Die Brücke 12 kannzweckgebundene Busse, Busse einer hohen Bandbreite und Punkt-zu-Punkt-Bussefür dieCPU 10, den Speicher 14 und die Anzeige 16 bereitstellen.
[0022] DerSpeicher 14 kann Software und Daten für einen raschen Zugriff speichern.Der Speicher 14 kann ein integrierter Speicher gemäß verschiedenen nachfolgendbeschriebenen Ausführungsbeispielen sein.
[0023] DieAnzeige 16 kann Daten füreine Verwendung durch eine Bedienperson bereitstellen. Die Anzeige 16 kannferner Graphiken bereitstellen und kann hochentwickelte Fähigkeitenbezüglicheiner Graphikverarbeitung umfassen.
[0024] DerErweiterungsbus 18 kann Kommunikationen zwischen der Brücke 12 undvielen anderen Computerkomponenten unterstützen. Der Bus 18 kannmit entfernbaren modularen Komponenten und/oder Komponenten, diein eine Schaltungsplatine mit der Brücke 12 (z. B. Audiokarten,Netzwerkschnittstellen, Datenerfassungsmodule, Modems) integriertsind, gekoppelt sein.
[0025] DieSpeichervorrichtung 2Q kann Software und Daten zum Zweckeiner langfristigen Aufbewahrung speichern. Die Speichervorrichtung 20 kann tragbarsein oder nimmt vielleicht ein entfernbares Medium auf oder kanneine installierte Komponente sein oder kann eine integrierte Komponenteauf der Schaltungsplatine sein. Die Speichervorrichtung 20 kanneine integrierte Speichervorrichtung gemäß verschiedenen, nachstehendbeschriebenen Ausführungsbeispielensein. Alternativ dazu kann die Speichervorrichtung 20 einnicht-flüchtigerintegrierter Speicher, eine Speichervorrichtung für magnetische Medien,eine Speichervorrichtung füroptische Medien oder eine andere Form einer langfristigen Informationsspeicherungsein.
[0026] DieEingabe-/Ausgabeschnittstelle 22 kann Kommunikationen mitNachfolgekomponenten und -vorrichtungen, die keine Verbindung einerhohen Bandbreite erfordern, unterstützen. Die Eingabe-/Ausgabeschnittstelle 22 kannferner einen Echtzeittakt umfassen und kann Kommunikationen mit Abtastkettenfür einTesten des Systems auf niedriger Ebene unterstützen.
[0027] DieTastatur 24 kann ansprechend auf eine Betätigung durcheine Bedienperson Daten liefern. Andere Eingabevorrichtungen (z.B. Zeigevorrichtungen, Tasten, Sensoren) können ebenfalls mit der Eingabe-/Ausgabeschnittstelle 22 gekoppeltsein, um ansprechend auf eine Betätigung durch eine BedienpersonDaten zu liefern. Ausgabevorrichtungen (z. B. Parallel-Tore, Seriell-Tore,Drucker, Lautsprecher, Lichter) können ebenfalls mit der Eingabe-/Ausgabeschnittstelle 22 gekoppeltsein, um Informationen an die Bedienperson zu kommunizieren.
[0028] Zusätzlich zudem oben beschriebenen System könnenviele andere Mehrzweck- und kundenspezifische Digitalvorrichtungenund Systeme integrierte Speicher gemäß verschiedenen Ausführungsbeispielenwie z. B. den unten beschriebenen auf vorteilhafte Weise einsetzen.
[0029] 2 zeigt eine Basislinienarchitekturfür eineintegrierte Speichervorrichtung 100. Der Speicher 100 umfaßt ein Speicherzellenarray 102 und eineTrägerschaltungsanordnung 104.Wie der Name schon nahelegt, ist das Speicherzellenarray 102 ein Arrayvon Speicherzellen. Jedes Speicherzelle kann einen Datenwert (z.B. ein Bit) speichern, und jede Zelle kann durch ihre Position (z.B. eine Zeilen- und Spaltenkoordinate) identifiziert werden. DieSpeicherzellen könnenunter Verwendung einer beliebigen geeigneten Technologie, die einenmagnetischen Direktzugriffsspeicher (MRAM) umfaßt, implementiert werden.
[0030] DieTrägerschaltungsanordnung 104 kann einAdreßsignal,ein Lese-/Schreibsignal und ein Datensignal empfangen. Das Adreßsignalkann einen Adreßwertals binäreZahl darstellen. Jeder Adreßwertkann einem Satz einer oder mehrerer Zellen in dem Speicherarrayzugeordnet sein. Beispielsweise kann jeder Zelle ein eindeutigerAdreßwertzugeordnet sein. Als alternatives Beispiel kann jeder Adreßwert einementsprechenden geordneten Satz von 64 Zellen zugeordnet sein.
[0031] DasLese-/Schreibsignal kann ein Signal mit zumindest zwei Werten sein,wobei ein Wert der „aktivierte" Zustand ist undder andere Wert der „deaktivierte" Zustand ist. Indem aktivierten Zustand kann das Lese-/Schreibsignal bewirken, daß eine Schreiboperationstattfindet, bei der Daten zur Speicherung in dem Speicherzellenarraybereitgestellt werden.
[0032] DasDatensignal kann einen Datenwert als binäre Zahl darstellen. Das Datensignalkann bidirektional sein, so daß eswährendeiner Schreiboperation durch die Trägerschaltungsanordnung 104 empfangenwerden kann und währendeiner Leseoperation durch die Trägerschaltungsanordnung 104 bereitgestelltwerden kann. Obwohl die Adreß-,Lese-/Schreib- undDatensignale separat gezeigt sind, können sie miteinander und/odermit anderen Signalen multiplexiert werden.
[0033] DieTrägerschaltungsanordnung 104 kann durchZeilenleitungen 106 und Spaltenleitungen 108 mitdem Speicherzellenarray 102 gekoppelt sein. Die Trägerschaltungsanordnung 104 kannverschiedene Teilschaltungen umfassen, die zusammenwirken, um Lese-und Schreiboperationen an dem Speicherzellenarray durchzuführen. DieTeilschaltungen können eineAuswahlschaltung 109, eine Erfassungsschaltung 110,eine Schreibschaltung 112 und optionale Fehlerkorrekturcode-Decodier- und Codierschaltungen(ECC-Decodier- und -Codierschaltungen) 114, 116 umfassen.
[0034] DieAuswahlschaltung 109 kann das Adreßsignal in ein entsprechendesMuster von Aktivierungen und Deaktivierungen umwandeln, die dieadressierte(n) Speicherzelle(n) für die Erfassungsschaltung 110 und/oderdie Schreibschaltung 112 zugänglich machen. Je nach derSpeicherzellenarchitektur kann die Auswahlschaltung das Muster vonAktivierungen und Deaktivierungen auf die Zeilenleitungen 106 und/oderSpaltenleitungen 108 anwenden. Alternativ dazu kann dasMuster auf Gatter und/oder Multiplexer angewandt werden, die dieentsprechenden Zeilenleitungen 106 und/oder Spaltenleitungen 108 mitder Erfassungsschaltung 110 und/oder der Schreibschaltung 112 koppeln.Die einer Adresse zugeordnete(n) Speicherzelle(n) kann bzw. können bei manchenArchitekturen parallel zugänglichgestaltet werden und könnenbei anderen Architekturen sequentiell zugänglich gestaltet werden. Vielegeeignete Speicherzellenarrayarchitekturen und Auswahlschaltungensind Fachleuten bekannt und können verwendetwerden.
[0035] Während dieAuswahlschaltung 109 die adressierte(n) Speicherzelle(n)für eineLeseoperation zugänglichmacht, kann die Erfassungsschaltung 110 eine gewisse elektrischeCharakteristik der adressierten Speicherzelle(n) erfassen, die auf(einen) in derselben bzw. denselben gespeicherte(n) Datenwert(e)hinweist. Die verwendete Erfassungstechnik kann von der Speicherzellenarchitekturabhängen,und Fachleuten sind eine großeVielzahl von geeigneten Erfassungstechniken bekannt. Allgemein kanneine typische Erfassungsschaltung 110 jedoch eine Spannung,einen Strom, einen Widerstand oder eine andere verwandte Größe (z. B. Änderungsraten, Verhältnisse,Differenzen) erfassen. Die Erfassungsschaltung 110 kanndie gemessenen Größen miteinem oder mehreren Referenzwerten vergleichen und dadurch einedigitale Darstellung des gespeicherten Datenwerts bzw. der gespeichertenDatenwerte erzeugen.
[0036] Während dieAuswahlschaltung 109 die adressierte(n) Speicherzelle(n)für eineSchreiboperation zugänglichmacht, kann die Schreibschaltung 112 ein oder mehrere Magnetfelderin der bzw. den adressierten Speicherzelle(n) orientieren, um (einen) gespeicherte(n)Datenwert(e) darzustellen. Die Schreibtechnik kann von der Speicherzellenarchitekturabhängen,und Fachleuten sind eine Anzahl von geeigneten Schreibtechnikenbekannt. Allgemein kann eine typische Schreibschaltung 112 eineentsprechende Spannung oder einen entsprechenden Strom auf eineWeise anlegen, die die gewünschte elektrischeCharakteristik so einstellt, daß sieden zu speichernden Datenwert bzw. die zu speichernden Datenwertedarstellt.
[0037] Eswird allgemein als wünschenswertangesehen, die Wahrscheinlichkeit eines Lese- oder Schreibfehlersin der Speichervorrichtung 100 zu minimieren. Falls dieSpeicherzellenarchitektur es nicht schafft, inhärent eine ausrei chend niedrigeFehlerwahrscheinlichkeit zu liefern, kann die Fehlerwahrscheinlichkeitdurch eine Verwendung eines Fehlerkorrekturcodes (ECC) weiter verringertwerden. Zu diesem Zweck kann die Trägerschaltungsanordnung 104 fernereinen ECC-Codierer 116 umfassen. Als Bestandteil einerSchreiboperation kann der ECC-Codierer 116 den bzw. dieDatensignalwert(e) verarbeiten, um ein Codewort zu bestimmen, dasin den adressierten Speicherzellen gespeichert ist. Im allgemeinenenthältdas Codewort den bzw. die Datenwert(e) und enthält zusätzlich redundante Informationen,um die Erfassung und Korrektur von Fehlern zu ermöglichen.Als Bestandteil einer Leseoperation umfaßt die Erfassungsschaltung 110 dasgespeicherte Codewort, möglicherweisemit einem oder mehreren Fehlern. Der ECC-Decodierer 114 kann diedigitale Ausgabe der Erfassungsschaltung 110 verarbeiten,um die gespeicherten Datenwerte auch bei Vorliegen einer begrenztenAnzahl von Fehlern zu extrahieren.
[0038] Fachleutensind eine großeVielzahl von geeigneten ECC-Technikenbekannt. Eine besonders populäreECC-Familie, die sich fürdiese Anwendung anbieten kann, ist die Reed-Solomon-Familie von ECCs, andere ECCswären aberebenfalls zweckdienlich. Obwohl Fehlererfassungscodes technisch gesehenkeine ECCs sind, könnensie auf ähnliche Weiseverwendet werden. Obwohl diese Codes Fehlerwahrscheinlichkeitennicht verringern, ermöglichensie die Erfassung von Fehlern, so daß externe Maßnahmenergriffen werden können,mit dem Auftreten von Fehlern umzugehen.
[0039] Eskönnenauch andere Typen von Codierern/Decodierern verwendet werden. Beispielsweise können diedigitalen Werte in verschlüsselterForm gespeichert sein, so daß diegespeicherten Informationen lediglich über die Trägerschaltungsanordnung wiedergewonnenwerden können,und sogar dann lediglich durch den Inhaber des entsprechenden Entschlüsselungsschlüssels. Unterdiesen Umständen kannder Codierer 116 eine Verschlüsselungsschaltung sein, undder Decodierer 114 kann eine Entschlüsselungsschaltung sein.
[0040] 3 zeigt eine Architekturfür eineSpeichervorrichtung 200 mit einem integrierten Cache 202.Der integrierte Cache 202 kann als Prädiktionscache arbeiten, umeine verbesserte Leseleistungsfähigkeitzu liefern. Beachtenswert ist, daß eine derartige verbesserteLeistungsfähigkeitohne jegliche(n) Eingriff oder Manipulation seitens eines Hostcomputersoder eines Mikroprozessors erzielt werden kann.
[0041] EinCache ist ein Speicher einer relativ hohen Geschwindigkeit, derDatenwerte von Speicherplätzenspeichert, bei denen wahrscheinlich ein Zugriff nahe bevorsteht.Durch Maximieren der Wahrscheinlichkeit, daß sich benötigte Speicherplatzdatenwertein einem schnelleren Speicher befinden, kann die durchschnittlicheSpeicherzugriffszeit verringert werden, was es Computern ermöglicht, schnellerzu arbeiten.
[0042] VerschiedeneCachespeicherungstechniken könnendurch den integrierten Cache 202 eingesetzt werden. Beieiner Technik kann der Cache 202 Datenwerte von Speicherplätzen erhalten(und beibehalten), die sich in der Nähe jedes Speicherplatzes, aufden zugegriffen wird, befinden. Bei einem Ausführungsbeispiel, das diese Technikbeinhaltet, kann das Speicherarray 102 vom Konzept herin Speicher-„Blöcke" unterteilt sein.Wenn ein Datenwert von einem gegebenen Platz in dem Speicherarray 102 gewünscht wird,kann der Cache 202 alle Datenwerte von dem Speicherblock,der den gegebenen Speicherplatz umfaßt, erhalten. Bei einem alternativenAusführungsbeispiel,das diese Technik beinhaltet, erhält der Cache 202 Datenwertevon einer Anzahl von Speicherplätzen,die jedem Speicherplatz, auf den zugegriffen wird, nachfolgen.
[0043] Beieiner zweiten Cachespeicherungstechnik stützt sich der Cache 202 aufeine Strukturanalyse und/oder statistische Analyse, um den nächsten Speicherplatz,auf den zugegriffen werden soll, vorherzusagen und diesen Zugriffvorauszuahnen, indem er den Speicherplatzdatenwert in dem Cache plaziert.Bestimmte Variationen dieser Technik können mehrere Vorhersagen zwischenZugriffen bestimmen und könnendie Datenwerte von jedem der vorhergesagten Speicherplätze in denCache laden. Um ein Treffen dieser Vorhersagen zu unterstützen, können zusätzlicheStatistiksammelfelder in dem Speicherzellenarray zugewiesen sein.
[0044] Einedritte Cachespeicherungstechnik kann eine Mischvariation der erstenzwei Cachespeicherungstechniken sein. Bei einem spezifischen Beispiel istdas Speicherarray vom Konzept her in Speicher-„Blöcke", z. B. Blöcke von 512 Bytes, unterteilt bzw.partitioniert. Immer dann, wenn auf einen Speicherplatz in einemBlock zugegriffen wird, wird der gesamte Block in den Cache kopiert.Jedem Block kann ein Statistiksammelfeld zugeordnet sein, das derCache verwendet, um Informationen darüber, auf welchen Speicherblockbzw. auf welche Speicherblöckeanschließendoder zuvor zugegriffen wird bzw. wurde, zu kompilieren. Jedesmal,wenn auf einen Block zugegriffen wird, kann der Cache das Feld aktualisieren.Die Informationen könnenals einfache Pareto-Tabelle oder in einer ausgefeilteren Form gespeichertwerden. Der Cache kann das Statistiksammelfeld auch als eine kleinePrädiktionssprungtabelle benutzen.Wenn beispielsweise auf einen Speicherblock zugegriffen wird, kannder Cache 202 den Block vorhersagen, auf den anschließend zugegriffenwird, und kann eine Wiedergewinnung einleiten, falls sich der Blocknicht bereits in dem Cache befindet. Falls die Speichervorrichtungnichtflüchtigist, könnendie kompilierten Statistikinformationen von Sitzung zu Sitzung aufrechterhaltenwerden.
[0045] Beieinem weiteren spezifischen Beispiel einer Cachespeicherungs-Mischtechnikkann auf die Statistiksammlung zugunsten einer einfacheren Prädiktionsregelverzichtet werden. Immer dann, wenn auf einen Speicherplatz in einemSpeicher block zugegriffen wird, kann der gesamte Speicherblock in denCache kopiert werden. Der Cache kann dann denjenigen numerisch nachfolgendenSpeicherblock, auf den wahrscheinlich zugegriffen wird, vorhersagen undkann entsprechend eine Wiedergewinnung einleiten, falls sich derBlock nicht bereits in dem Cache befindet.
[0046] Wennder Cache 202 gefülltist, ist eine Prozedur zum Ersetzen vorhandener Einträge durch neueEinträgevorgesehen. Es könnenverschiedene Ersetzungslösungsansätze verwendetwerden, einschließlichFIFO (first-in first-out) und des ältesten letzten Zugriffs. Beidem FIFO-Lösungsansatzersetzt der neueste Eintrag den ältestenEintrag (nachdem der Cache voll ist). Bei dem Lösungsansatz ältesterletzter Zugriff ist jedem Block von Werten in dem Cache eine Letzter-Zugriff-Zeitzugeordnet. Jedesmal, wenn auf den Block zugegriffen wird, wird dieLetzter-Zugriff-Zeit aktualisiert. Wenn der Cache voll ist, wirdder Block von Werten mit der ältesten (frühesten)Letzter-Zugriff-Zeit durch die neuen Einträge ersetzt.
[0047] DerCache 202 kann jegliche der beschriebenen Cachespeicherungstechnikenverwenden oder kann alternativ dazu geeignete andere Cachespeicherungstechnikenverwenden. Falls das System, in dem die integrierte Speichervorrichtung 200 eingebettetist, Cachespeicherungstechniken einer höheren Ebene verwendet, kanndie durch den Cache 202 verwendete Technik vorteilhafterweiseentworfen sein, um die anderen Cachespeicherungsoperationen in demSystem zu ergänzen.
[0048] DerCache 202 kann ein Hochleistungsspeicher wie z. B. einstatischer Direktzugriffsspeicher (SRAM) sein. Der Cache 202 kanneine Cachesteuerung umfassen, die die Adreß- und Lese-/Schreibsignaleempfängtund die ferner der Auswahlschaltung 109 Adreß- und Freigabesignalebereitstellt. Die Cachesteuerung kann in Hardware oder Firmwareimplementiert sein, und die Steuerung kann arbeiten, um die Adreß- und Lese-/Schreibsignalezu überwachen, umzu bestimmen, (1) ob sich ein angeforderter Speicherplatzdatenwertin dem Cachespeicher befindet, (2) welcher (falls überhauptein) Speicherplatzdatenwert als nächstes wiedergewonnen werdensollte und (3) welcher (falls überhauptein) Speicherplatzdatenwert in dem Cache ersetzt werden sollte.
[0049] EinCache-„Fehlschlag" erfolgt, wenn der Cache 202 eineLeseoperation empfängt,die Daten von einem nicht in dem Cache gespeicherten Speicherplatzanfordert. Die Cachesteuerung kann über die Auswahlschaltung 109,die Erfassungsschaltung 110 und über die optionale Decodiererschaltung 114 aufdas Speicherzellenarray zugreifen, um die angeforderten Daten zuerhalten. Wenn die angeforderten Daten empfangen wurden, kann derCache 202 die angeforderten Daten auf den Datensignalleitungen bereitstellenund kann ferner die angeforderten Daten in dem Cache speichern.
[0050] EinCache-„Treffer" erfolgt, wenn derCache 202 eine Leseoperation empfängt, die Daten von einem Speicherplatzanfordert, der in dem Cachespeicher gespeichert ist. Der Cache 202 kanndie angeforderten Daten unmittelbar auf den Datensignalleitungenbereitstellen.
[0051] Während eineseventuellen Aufschubs zwischen Cache-Fehlschlägen und/oder Speicherschreiboperationenkann der Cache 202 Leseoperationen einleiten, um den Cachespeichergemäß der letztenAuswertung des Caches bezüglichdessen, welche Speicherplätzeeine hohe Wahrscheinlichkeit eines nahe bevorstehenden Zugriffsaufweisen, zu aktualisieren. Falls der Speicher mehrere Tore aufweistoder falls das Speicherzellenarray auf eine Weise partitioniertist, die gleichzeitige Zugriffe ermöglicht, kann die Cachesteuerungauch während Cache-Fehlschlägen undSpeicherschreiboperationen Cacheaktualisierungsoperationen durchführen.
[0052] Manbeachte, daß dieAuswahlschaltung 109 in 3 zweiAdreßsignaleingabenaufweist: eine von dem Lesecache 202 und eine von der Schreibschaltung 112 oderder optionalen Codierschaltung 116. Die Auswahlschaltung 109 kanneine Konfliktlösungderart durchführen,daß Schreiboperationen derVorrang gegeben wird. Alternativ dazu kann der Cache 202 einDurchführenvon Zugriffsoperationen vermeiden, wenn das Lese-/Schreibsignalangibt, daß eineSchreiboperation im Gange ist.
[0053] 4 zeigt eine Architekturfür eineSpeichervorrichtung 300 mit einem integrierten Lesecache 202 undeinem integrierten Schreibcache 302. Obwohl diese Cacheszu Erläuterungszweckenseparat gezeigt sind, kann ihre Funktionalität auch zu einer einzigen Cacheeinheitkombiniert sein.
[0054] DerSchreibcache 302 kann Datenwerte annehmen, die in das Speicherzellenarray 102 geschriebenwerden sollen. Der Schreibcache 302 kann vorwiegend alsPuffer arbeiten, oder alternativ dazu kann der Schreibcache 302 einezusätzliche Cachespeicherungsfunktionalität liefern.Als Puffer kann der Schreibcache 302 beispielsweise Schreibdatenbei einer „Burstrate" annehmen, die höher ist alsdie Rate, bei der die Daten in das Speicherzellenarray geschriebenwerden können.Zusätzlich oderalternativ dazu kann der Schreibcache 302 als Puffer arbeiten,um eine gewisse Anzahl von Schreiboperationen, die aus Geschwindigkeits-oder Leistungseffizienzgründenzusammen durchgeführtwerden sollen, zu akkumulieren. (Manche Speicherzellenarrayarchitekturensind eventuell nicht in der Lage, ohne eine Verzögerung und/oder Neuzuweisung vonLeistung zwischen Lese- und Schreibmodi umzuschalten.)
[0055] DerSchreibcache 302 kann sogar eine noch größere Cachespeicherungsfunktionalität liefern. Beispielsweisekann der Schreibcache 302 Schreibvorgänge an Speicherzellenplätze, derenNeubeschreibung wahrscheinlich nahe bevorsteht, verzögern undkann außerdemunnützeSchreiboperationen fallenlassen. (Schreiboperationen können als „unnütz" identifiziert undaus dem Schreibcache 302 gelöscht werden, wenn der Cacheerfaßt,daß die Wirkungder Schreiboperation durch eine nachfolgende Schreiboperation aufdenselben Speicherplatz zunichte gemacht wird.) Wenn der Lesecache 202 einePrüfungbezüglicheines Cachetreffers durchführt,bestimmt er ferner, ob die Datenwerte von dem angeforderten Speicherplatzin dem Schreibcache 302 sind, und falls dies der Fall ist,erhälter die angeforderten Speicherplatzdatenwerte von dem Schreibcache.
[0056] Dasowohl der Lesecache 202 als auch der Schreibcache 302 Operationenan dem Speicherzellenarray 102 einleiten können, kanndie Auswahlschaltung 109 ein Konfliktlösungsschema implementieren.Beispielsweise kann die Auswahlschaltung 109 ein turnusbasiertesSchema implementieren, bei dem jedem Cache eine begrenzte Anzahlvon Zugriffen erlaubt wird, bevor dem anderen Cache eine Gelegenheitgegeben wird, auf das Speicherzellenarray zuzugreifen. Alternativdazu kann die Auswahlschaltung 109 immer dem Schreibcache 302 einenvorrangigen Zugriff gewähren.
[0057] 5 zeigt eine Architekturfür eineSpeichervorrichtung 400, die einen Niedrigleistungsmodusaufweist. Man beachte die Umkehrung des Caches 202 unddes ECC-Decodierers 114. Bei der gezeigten Anordnung erlegendie Operationen des Caches 202 dem ECC-Decodierer 114 über derBasislinienvorrichtung 100 keine zusätzliche Last auf (2). Bezüglich der Speichervorrichtung 300 kann dieArchitektur der Speichervorrichtung 400 zum Preis des Erfordernisseseines etwas größeren Cachespeichers,um die Redundanzinformationen in den Codewörtern zu speichern, den Leistungsverbrauchverringern.
[0058] DerEntwurf des Cachespeichers 202 kann ferner zu einer Verringerungdes Leistungsverbrauchs in einer Anzahl von Situationen beitragen. Beispielsweisekönnenbestimmte Cacheentwürfe oderbestimmte Anwendungen der Speichervorrichtung eine sehr hohe Cachetrefferrateliefern, und diese Trefferrate kann die Anzahl von Operationen,die an dem Speicherzellenarray 102 durchgeführt werden,verringern.
[0059] Einederartige Verringerung der Anzahl von Operationen an dem Speicherzellenarraykann vorteilhaft sein, falls die zum Durchführen einer Leseoperation andem Array 102 erforderliche Leistung die zum Wiedergewinnenvon Informationen von dem Cache erforderliche Leistung übertrifft.Als weiteres Beispiel könnenbestimmte Speicherzellenarrayarchitekturen proportional gesehenweniger Leistung erfordern, um eine Leseoperation durchzuführen, wennmehrere Leseoperationen kombiniert sind. Der Cache 202 kannLeseoperationen in Blöckendurchführenund somit den Leistungsverbrauch verringern. Auf ähnlicheWeise kann Leistung auch dadurch eingespart werden, daß man wartet,bis der Schreibcache voll ist, bevor tatsächliche Schreiboperationenan dem tatsächlichenSpeicherarray eingeleitet werden.
[0060] 6 zeigt ein exemplarischesFlußdiagramm,das den Betrieb bestimmter Ausführungsbeispielevon integrierten Speichervorrichtungen veranschaulicht. Bei Zustand 602 beginnend,kann die Steuerung des Caches 202 das Lese-/Schreibsignal oderandere Indikatoren auswerten, um zu bestimmen, ob gerade eine Schreiboperationdurchgeführt wird.Falls gerade eine Schreiboperation durchgeführt wird, tritt die Steuerungin den Zustand 604 ein, um ein Fortfahren der Schreiboperationzu ermöglichen.Danach kehrt die Steuerung zu Zustand 602 zurück.
[0061] Wennkeine Schreiboperation vorliegt, geht die Steuerung zu Zustand 606 über, beidem die Steuerung des Caches 202 das Lese-/Schreibsignal oderandere Indikatoren auswerten kann, um zu bestimmen, ob gerade eine(externe) Leseoperation durchgeführtwird. Falls gerade eine Leseoperation durchgeführt wird, bestimmt die Steuerungbei Zustand 608, ob die angeforderten Speicherplatzdatenwertein dem Cachespeicher enthalten sind. Falls sich die Daten nichtin dem Cache befinden, werden die angeforderten Daten bei Zustand 610 vondem Speicherarray wiedergewonnen und ansprechend auf die Leseoperationals Datensignal bereitgestellt. Die Daten können auch zusammen mit Datenvon nahegelegenen Adressen im Cache gespeichert werden. Danach kehrtdie Steuerung zu Zustand 602 zurück. Andernfalls, falls dieLeseoperation Daten anfordert, die in dem Cache enthalten sind,liefert der Cache 202 bei Zustand 612 die angefordertenDaten ansprechend auf die Leseoperation als Datensignal.
[0062] Sowohlvon dem Zustand 606 als auch von dem Zustand 612 kannder Cache 202 zu dem Zustand 614 übergehen.Bei dem Zustand 614 bestimmt der Cache 202, obeine Aktualisierung des Cachespeichers wünschenswert ist. Eine Aktualisierungkann beispielsweise wünschenswertsein, wenn der Cache nicht voll ist oder wenn der Cachespeicherungsalgorithmusbestimmt, daß Datenvon einem neu vorhergesagten Speicherplatz in den Cache eingelesenwerden müssen.Falls eine Aktualisierung wünschenswertist, wird bei Zustand 616 eine Leseoperation an dem Speicherzellenarraydurchgeführt, umneue Daten fürden Cache 202 wiederzugewinnen. Danach, oder falls eineAktualisierung nicht wünschenswertist, kehrt die Steuerung zum Zustand 602 zurück.
[0063] ZahlreicheVariationen der oben beschriebenen Ausführungsbeispiele werden in Betrachtgezogen und sollen in den Schutzumfang der beigefügten Patentansprüche fallen.Beispielsweise könnendie Begriffe Zeile und Spalte in der gesamten obigen Erläuterungausgetauscht werden. Jede Zeile und/oder Spalte kann mehrere Zeilen-/Spaltenleitungenverwenden, um einen Zugriff auf ausgewählte Speicherzellen zu liefern.Der Codierer und Decodierer für ECC-Codeskann mit Verschlüsselungscodierern/-decodierernverstärktoder durch solche ersetzt werden oder, bei manchen Ausführungsbeispielen, auchgänzlichweggelassen werden. Es könnenmehrere Lesecaches verwendet werden, wobei jeder Cache an einemSegment des Speicherarrays arbeitet oder, alternativ dazu, wobeijeder Cache einen anderen Cachespeicherungsalgorithmus implementiert(z. B. kann ein Cache in einem Vorauslesemodus arbeiten, während einanderer Cache auf der Grundlage eines statistischen Sprungprofilsarbeitet). Ferner könnendie oben offenbarten Ausführungsbeispiele auf Mehrtor-Speicherangewandt werden und könnenzusätzlichoder alternativ dazu auf Speicher angewandt werden, die flüchtige odernicht-flüchtige Speicherzellenarraysaufweisen. Ferner könnenbei Ausführungsbeispielender vorliegenden Erfindung verschiedene Cachespeicherungsalgorithmen,die Fachleuten bekannt sind, implementiert sein.
权利要求:
Claims (22)
[1] Integrierte Schaltungsvorrichtung, die folgendeMerkmale umfaßt: einauf einem Substrat integriertes Speicherarray (102), wobeidas Speicherarray (102) Daten in codierter Form speichert; einenauf dem Substrat integrierten Decodierer (114, 116),der mit dem Speicherarray (102) gekoppelt und konfiguriertist, um Daten, die von dem Speicherarray (102) wiedergewonnenwerden, zu decodieren; und einen auf dem Substrat integriertenCache (202), wobei der Cache (202) konfiguriertist, um Daten, die in dem Speicherarray (102) gespeichertsind, in Vorausahnung einer Anforderung bezüglich dieser Daten wiederzugewinnen.
[2] Vorrichtung gemäß Anspruch1, bei der der Decodierer (114, 116) zwischendas Speicherarray (102) und den Cache (202) gekoppeltist und bei der der Cache (202) decodierte Daten speichert.
[3] Vorrichtung gemäß Anspruch1, bei der der Cache (202) zwischen das Speicherarray (102)und den Decodierer (114, 116) gekoppelt ist undbei der der Cache (202) codierte Daten speichert.
[4] Vorrichtung gemäß einemder Ansprüche1 bis 3, bei der sich die codierte Form in einem Satz befindet,der aus Fehlererfassungscodes, Fehlerkorrekturcodes und Verschlüsselungscodesbesteht.
[5] Vorrichtung gemäß einemder Ansprüche1 bis 4, die ferner folgende Merkmale umfaßt: eine Auswahlschaltung(109), die mit dem Speicherarray (102) gekoppeltist, um ansprechend auf einen Adreßwert einen Satz einer odermehrerer Speicherzellen auszuwählen;und eine Erfassungsschaltung (110), die mit dem Speicherarray(102) gekoppelt ist, um Daten, die in dem ausgewählten Satzvon Speicherzellen gespeichert sind, zu erfassen; wobei derCache (202) konfiguriert ist, um eine Leseoperation, dieeinen Adreßwertumfaßt,zu empfangen, und ferner konfiguriert ist, um den Adreßwert an dieAuswahlschaltung (109) zu liefern, falls der Cache (202)keine Kopie von Daten aufweist, die in dem entsprechenden Satz vonSpeicherzellen gespeichert sind.
[6] Vorrichtung gemäß Anspruch5, die ferner folgendes Merkmal umfaßt: bei der der Cache(202) ferner konfiguriert ist, um einen Satz eines odermehrerer vorhergesagter Adreßwertezu bestimmen und um den Satz von vorhergesagten Adreßwertenan die Auswahlschaltung (109) zu liefern.
[7] Vorrichtung gemäß einemder Ansprüche1 bis 6, bei der das Speicherarray (102) Speicherzelleneiner ersten Informationsspeicherungstechnologie umfaßt und beider der Cache (202) Speicherzellen einer zweiten, anderenInformationsspeicherungstechnologie umfaßt.
[8] Vorrichtung gemäß Anspruch7, bei der Speicherzellen der ersten InformationsspeicherungstechnologieMagnetfelder ausrichten, um Informationen zu speichern.
[9] Vorrichtung gemäß Anspruch8, bei der Speicherzellen der zweiten Informationsspeicherungstechnologiebista bile Schaltungen verwenden, um Informationen zu speichern.
[10] Verfahren zum Liefern eines Zugriffs auf gespeicherteDaten, wobei das Verfahren folgende Schritte umfaßt: Empfangeneines Adreßwertsan einem Cache (202), der auf einem Substrat integriertist; Wiedergewinnen von codierten Daten, die dem Adreßwert zugeordnetsind, von einem Speicherzellenarray (102), das auf demSubstrat integriert ist, falls der Cache (202) keine Datenbesitzt, die dem Adreßwertzugeordnet sind; Decodieren der codierten Daten; und Liefernvon decodierten Daten ansprechend auf das Empfangen des Adreßwerts.
[11] Verfahren gemäß Anspruch10, bei dem der Schritt des Wiedergewinnens folgenden Schritt umfaßt: Wiedergewinnenvon codierten Daten, die einem Block von Adreßwerten zugeordnet sind, derden empfangenen Adreßwertenthält,falls der Cache (202) keine Daten besitzt, die dem empfangenen Adreßwert zugeordnetsind.
[12] Verfahren gemäß Anspruch11, bei dem der Schritt des Wiedergewinnens ferner folgenden Schrittumfaßt: Speichernder wiedergewonnenen codierten Daten in dem Cache (202).
[13] Verfahren gemäß Anspruch11 oder 12, bei dem der Schritt des Wiedergewinnens ferner folgendenSchritt umfaßt: Speichernvon decodierten Daten in dem Cache (202).
[14] Verfahren gemäß einemder Ansprüche10 bis 13, das ferner folgenden Schritt umfaßt: Wiedergewinnen voncodierten Daten, die einem nachfolgenden Block von Adreßwertenzugeordnet sind, falls der Cache (202) keine Daten besitzt,die dem nachfolgenden Block von Adreßwerten zugeordnet sind.
[15] Verfahren gemäß Anspruch14, bei dem der nachfolgende Block von Adreßwerten numerisch unmittelbarauf den Block von Adreßwertenfolgt, der den empfangenen Adreßwertenthält.
[16] Verfahren gemäß Anspruch14 oder 15, bei dem der nachfolgende Block von Adreßwertenstatistisch auf den Block von Adreßwerten folgt, der den empfangenenAdreßwertenthält,und wobei das Verfahren ferner folgenden Schritt umfaßt: Aufrechterhalten,für jedenBlock von Adreßwerten, einesentsprechenden Statistiksammelfeldes, um für jeden Block einen nachfolgendenBlock von Adreßwertenvorherzusagen.
[17] Verfahren gemäß einemder Ansprüche10 bis 16, das ferner folgenden Schritt umfaßt: Wiedergewinnen voncodierten Daten, die mehreren nachfolgenden Blöcken von Adreßwertenzugeordnet sind.
[18] Verfahren gemäß Anspruch17, bei dem zumindest einer der mehreren nachfolgenden Blöcke in einernumerischen Reihenfolge unmittelbar auf den Block von Adreßwertenfolgt, der den empfangenen Adreßwertenthält,und bei dem zumindest einer der mehreren nachfolgenden Blöcke statistischauf den Block von Adreßwertenfolgt, der den empfangenen Adreßwertenthält.
[19] Digitalvorrichtung, die folgende Merkmale umfaßt: eineunterstützteSpeichervorrichtung, die einen auf demselben Substrat integriertenCache (202) aufweist; und einen Prozessor, der mitder unterstütztenSpeichervorrichtung gekoppelt und konfiguriert ist, um Informationen,die in der unterstütztenSpeichervorrichtung gespeichert sind, zu bearbeiten.
[20] Vorrichtung gemäß Anspruch19, bei der die Informationen Softwareanweisungen für eine Ausführung durchden Prozessor umfassen und bei der die Informationen ferner Datenumfassen, die gemäß den Softwareanweisungenbearbeitet werden sollen.
[21] Vorrichtung gemäß Anspruch19 oder 20, bei der der Cache (202) Statistiksammelfelderaufrechterhält,die Blöckenvon Adressen in einem Speicherzellenarray der integrierten Speichervorrichtungzugeordnet sind, und bei der der Cache (202) die Felder verwendet,um nachfolgende Speicherzugriffe durch den Prozessor vorauszuahnen.
[22] Vorrichtung gemäß einemder Ansprüche19 bis 21, bei der der Cache ein Speicherzellenarray einer anderenSpeichertechnologie umfaßtals ein Hauptspeicherzellenarray der integrierten Speichervorrichtung.
类似技术:
公开号 | 公开日 | 专利标题
US10482011B2|2019-11-19|Method for managing a memory apparatus
US9317424B2|2016-04-19|Storage device and information processing system
US9329995B2|2016-05-03|Memory device and operating method thereof
US10817419B2|2020-10-27|Memory controller supporting nonvolatile physical memory
TWI506431B|2015-11-01|虛擬記憶體設備驅動器、用於在主機上執行之虛擬記憶體設備驅動器、刷新快閃記憶體的方法、快閃記憶體刷新的方法、超級增強耐力設備硬碟固體狀態驅動機耐用轉換層之方法、超級增強耐力設備及耐力快閃記憶體檔案系統
TWI454915B|2014-10-01|實施具有不同操作模式之多階記憶體階層的設備與方法
US20190205222A1|2019-07-04|High performance persistent memory
KR101636634B1|2016-07-05|프로세서로부터 메모리 서브시스템으로 데이터를 지능적으로 플러싱하기 위한 시스템 및 방법
KR102025340B1|2019-09-25|불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
KR101495975B1|2015-02-26|휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템
JP4399008B2|2010-01-13|不揮発性メモリおよびマルチストリーム更新追跡を伴う方法
JP4431175B2|2010-03-10|不揮発性メモリおよびマルチストリーム更新を伴う方法
US9256527B2|2016-02-09|Logical to physical address mapping in storage systems comprising solid state memory devices
US7761655B2|2010-07-20|Storage system and method of preventing deterioration of write performance in storage system
JP4643667B2|2011-03-02|メモリシステム
JP4155463B2|2008-09-24|順次書き込みのみを用いるフラッシュ管理システムを有するシステム、及びその方法
US8364931B2|2013-01-29|Memory system and mapping methods using a random write page mapping table
JP4524309B2|2010-08-18|フラッシュメモリ用のメモリコントローラ
US9286205B2|2016-03-15|Apparatus and method for phase change memory drift management
US5559986A|1996-09-24|Interleaved cache for multiple accesses per clock cycle in a microprocessor
JP5728672B2|2015-06-03|ハイブリッドメモリ管理
US8397014B2|2013-03-12|Memory mapping restore and garbage collection operations
KR100630980B1|2006-10-04|메모리 카드 및 반도체 장치
JP5192228B2|2013-05-08|フラッシュコントローラのキャッシュ構造
US7076598B2|2006-07-11|Pipeline accessing method to a large block memory
同族专利:
公开号 | 公开日
US20050013181A1|2005-01-20|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-02-24| OP8| Request for examination as to paragraph 44 patent law|
2007-03-22| 8131| Rejection|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]