DE60110227T2 - Integrierte schaltung mit flash - Google Patents

Integrierte schaltung mit flash Download PDF

Info

Publication number
DE60110227T2
DE60110227T2 DE60110227T DE60110227T DE60110227T2 DE 60110227 T2 DE60110227 T2 DE 60110227T2 DE 60110227 T DE60110227 T DE 60110227T DE 60110227 T DE60110227 T DE 60110227T DE 60110227 T2 DE60110227 T2 DE 60110227T2
Authority
DE
Germany
Prior art keywords
microprocessor
bus
flash
integrated circuit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60110227T
Other languages
English (en)
Other versions
DE60110227D1 (de
Inventor
Hans-Joachim Gelke
Stefan Koch
Steffen Gappisch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE60110227D1 publication Critical patent/DE60110227D1/de
Application granted granted Critical
Publication of DE60110227T2 publication Critical patent/DE60110227T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Description

  • Die vorliegende Erfindung bezieht sich auf die Struktur und das Design von integrierten Schaltungen (ICs), speziell auf das Einbetten oder die Integration eines nichtflüchtigen Flash-Speichers in ein IC. Diese Einbettung oder Integration eines nichtflüchtigen Speichers mit einem Mikroprozessor wird oft für ICs, die in Mobiltelefonen, „Personal Digital Assistants", in GPS-Anwendungen für Automobile oder zu anderen Navigationszwecken verwendet werden, gewünscht oder sogar gefordert.
  • Die Einbettung eines Flash-Speichers in einen Chip führt zu bestimmten Problemen, die gelöst werden müssen, bevor eine solche Einbettung die erwarteten Vorteile zeigt. Eines der Themen ist, dass sich von „Natur" aus die Zugriffszeit von üblichen Flash-Speichern von der Zugriffszeit der anderen Komponenten auf dem IC signifikant unterscheidet.
  • Folglich beabsichtigt die vorliegende Erfindung eine Lösung für den speziellen problematischen Aspekt, dass die Absolutgeschwindigkeit eines Flash-Speichers verglichen mit vielen Komponenten auf einem gegebenen IC, speziell verglichen mit jedem beliebigen Nur-Lese-Speicher (ROM) oder heutigen schnellen Mikroprozessoren und/oder ihren Bussen, ziemlich niedrig ist, zu schaffen.
  • Ein in ein IC eingebetteter Flash- oder anderer nichtflüchtiger Speicher ist zum Beispiel in den veröffentlichten PCT-Anmeldungen WO 0025208 von Feldman et al. und WO 0025250 von Ozcelik et al. gezeigt. Keine dieser zwei Patentveröffentlichungen richtet sich aber auf das eingangs identifizierte Thema, nämlich auf die unterschiedliche Datenpfadbreite zwischen Flash-Speicher und Prozessoren) auf dem IC. Das US-Patent 5.493.534 von Mok kommt der Sache ein wenig näher, indem es einen elektrisch programmierbaren und löschbaren, in einen Chip eingebetteten Programmspeicher für einen Mikrocontroller zeigt, der sozusagen durch Puffer von dem Prozessorbus isoliert ist. Aber wieder gibt Mok keine klare und überzeugende Lösung für das Problem der unterschiedlichen Datenbreite des Busses und des Flash-Speichers.
  • US 5.974.493 offenbart einen Minicomputer mit einem Prozessorbus mit einer schmaleren Breite, als der entsprechende Speicherbus hat. Der gezeigte Mikrocompu ter umfasst einen Prozessor, einen Speicher und einen Puffer mit einem Schalter zum Ändern der Busbreite. Der Mikrocomputer umfasst außerdem eine Busschnittstelleneinheit, die einen Schalter zum Ändern der Busbreite hat, die zum Eingeben/Ausgeben von Signalen von/zu der Außenwelt verwendet wird, und einen externen Bus zur Verbindung der Busschnittstelleneinheit und der Außenwelt, wobei die Busschnittstelleneinheit mit dem Speicher über den Speicherbus verbunden ist und der externe Bus eine schmalere Breite als die des Speicherbusses hat. Außerdem umfasst der Speicher noch eine Vielzahl von Speicherbereichen und der Prozessor ist in einem Zwischenraum der Speicherbereiche angeordnet. Aber sogar mit dieser ziemlich komplexen Struktur ist die Steigerung der Leistungsfähigkeit des ganzen Systems noch unzureichend.
  • Um wirklich das Potential eines Flash-Speichers, der mit einem oder mehreren Mikroprozessoren integriert ist, auszunutzen, muss die Gesamtzugriffszeit des Flash-Speichers mit den Taktraten des Mikroprozessors mithalten, um die erwartete Leistung zu erreichen. Da, wie eingangs erwähnt, Flash-Speicher normalerweise relativ lange Zugriffszeiten haben, sind Probleme unvermeidbar, wenn ein zugeordneter Mikroprozessor mit einer höheren Taktrate als der Flash-Speicherzugriffszeit betrieben wird.
  • Hier liefert die vorliegende Erfindung eine Lösung. Sie beschreibt einen Weg, die Funktion eines eingebetteten Flash-Speichers in einer Prozessorumgebung auf einem IC, mit der Betonung auf der Maximierung der Leistung, durch Vorschlagen erfinderischer Maßnahmen, die dazu dienen, die Gesamtgeschwindigkeit eines solchen ICs zu erhöhen, zu verbessern.
  • Kurz gesagt, löst die vorliegende Erfindung die eingangs identifizierten Probleme durch eine oder beide von zwei Maßnahmen:
    • 1. Eine Maßnahme ist es, die Datenwortbreite des eingebetteten Flash-Speichers zu erhöhen, um dessen Zugriffszeitleistung zu kompensieren.
    • 2. Die andere Maßnahme ist es, einen Daten-Cache zu schaffen, speziell durch Verwendung von Zwischendaten-Speicherregistern als Einzel- oder Vielfachlinien-Daten-Caches.
  • Aus der folgenden Beschreibung einer Ausführungsform, die ein IC mit einem Flash-Speicher, einem dedizierten Flash-Bus und einer Anzahl von Blöcken, die den Flash-Speicher, besonders die Verbindungen oder Brücken zu der Prozessor- (oder sogar Multiprozessor-)Umgebung, unterstützen, beschreibt, sind andere Zufügungen und Varianten vorstellbar. Diese Brücken werden im Folgenden „Flash-Brücken" genannt.
  • Die erste oben erwähnte Maßnahme ist es, die Datenwortbreite des eingebetteten Flash-Speichers auf ein Vielfaches der Breite des Prozessorbusses zu vergrößern. Eine Flash-Brücke, die den Flash-Speicher mit dem Prozessorbus verbindet, greift dann auf den Flash-Speicher zu, indem sie einen ganzen Block von Prozessordatenwörtern auf einmal in ein Zwischenspeicherregister auslagert. Der Prozessor kann nun ein Wort zur Zeit aus dem Zwischenspeicherregister abrufen, ohne dass bei jedem Prozessorabrufzyklus auf den Flash-Speicher zugegriffen wird. Natürlich können mehrere Zwischenspeicherregister verwendet werden.
  • Die zweite oben erwähnte Maßnahme ist es, ein Adressenidentifikationsregister zu schaffen, das es erlaubt, das Zwischenspeicherregister als ein Cache mit einer oder mehreren Leitungen zu verwenden. Vor kurzem verwendete Zugriffe können nun direkt von den Zwischenspeicherregistern geliefert werden, wobei Flash-Speicherzugriffe vermieden werden, auch wenn die Mikroprozessorzugriffe nicht streng sequentiell sind. Nur wenn die gewünschte Adresse nicht im Cache ist, muss auf den Flash-Speicher zugegriffen werden und die Zwischenspeicherregister werden aktualisiert. Dieses „Caching"-Konzept wird als „sekundärer Cache" nur für den Flash-Speicher verwendet und unterscheidet sich insofern von geläufigen Caches, d.h. die oben erwähnte Flash-Brücke wird als ein sekundärer Cache nur für Pufferzugriffe auf den Flash-Speicher verwendet. So genannte sekundäre Caches sind in Serie mit einem primären Cache, der direkt mit dem Prozessor verbunden ist, angeordnet. Ihr Prinzip ist in der Technik gut bekannt und muss nicht weiter beschrieben werden.
  • Im Folgenden wird ein Beispiel einer Implementierung der vorliegenden Erfindung gezeigt. Drei Zeichnungen illustrieren diese Implementierung in ein IC mit einem eingebetteten Flash-Speicher. Es zeigen:
  • 1 ein Gesamtsystem mit dem Datenpfad einer Flash-Brücke;
  • 2 eine Implementierung in ein IC für ein mobiles Terminal; und
  • 3 die verschiedenen Zustände des Cache-Controllers in 2.
  • 1 zeigt den Lesedatenpfad einer Flash-Brücke, die einen Flash-Speicher 1 mit einem Mikroprozessor 3 verbindet. Der Datenbus 2, der vom Flash-Speicher 1 abgeht, ist m Bit breit, seine Breite m ist ein Vielfaches p der Breite n des Mikroprozessordatenbusses 8, d. h. m = p·n, wobei p die Anzahl der Register ist. Diese Bank der Register 4 (Reg. 1 bis Reg. p in 1) fungiert als Zwischenspeicher. Sobald eine Speicherleitung der Breite m in die Registerbank 4 transferiert ist, ist der Mikroprozessor fähig, über den Multiplexer 7 und den Datenbus 8 die n Bits auf einmal zu lesen. Das ist besonders vorteilhaft, wenn der Mikroprozessorzugriff sequentiell ist, da nicht bei jedem Prozessorlesezyklus auf den Flash-Speicher 1 zugegriffen werden muss.
  • Außerdem kann die Registerbank 4, wie oben angedeutet, als Cache verwendet werden. Um dies zu erreichen, wird die aktuelle Mikroprozessorbusadresse, die auf einen Adressenbus 9 transferiert ist, in einem Identifikationsregister 5 gespeichert. Bei nachfolgenden Prozessorzyklen wird die Identifikationsdatei mit den vorangegangenen Adressen im Identifikationsregister 5 von dem Komparator 6 mit der aktuellen Adresse verglichen, wobei geprüft wird, ob Daten von einem vorangegangenen Zugriff schon in den Registern der Bank 4 sind. Wenn das so ist, d. h. wenn die Adressen zusammen passen, muss nicht auf den Flash-Speicher 1 zugegriffen werden, da die angefragten Daten schon in einem der Register in Bank 4 sind und über Multiplexer 7 von dem Mikroprozessor 3 abgerufen werden können.
  • 2 und 3 zeigen eine Implementierung der Erfindung in einem Basisband-IC für ein mobiles Terminal, wobei die Teile des Systems, die signifikant für die Erfindung sind, dargestellt werden.
  • Ein Cache-Controller 29 steuert alle Lesezugriffe der Flash-Brücke auf den Flash-Speicher (in 2 nicht gezeigt) über den Flash-Bus. Der Cache-Controller 29 besteht aus einer Zustandsmaschine und einigen Logikkomponenten. Das Zustandsdiagramm dieser Zustandsmaschine ist in 3 gezeigt.
  • Während des Rücksetzens, d. h. wenn das Signal bres_n aktiv ist, oder wenn keine Mikroprozessor-Lesezyklen anstehen, ist die Zustandsmaschine im IDLE-(Leerlauf)Zustand 31 (siehe 3).
  • Wenn der Cache-Controller 29 einen Lesezugriff des Mikroprozessors auf irgendeins der Lesedatenregister Reg1 ... Reg4 in der Bank 28 der Flash-Brücke feststellt, d. h. wenn Signal dsel_data aktiv und Signal bwrite inaktiv ist, führt der Cache-Controller 29 einen Lesezyklus aus, indem er seine Statusmaschine in den READ-(Lese)Zustand 32 bringt. Während dieses Lesezyklus vergleicht die Flash-Brücke den Wert ihres Identifikationsregisters 25 mit der Adresse aus dem Mikroprozessor, d. h. address(23 .. 4) in Komparator 26, und prüft, ob das Gültig-Bit 24 gesetzt ist. Ein Treffer, d. h. fb_hit = „1" am Ausgang des Komparators und ein gesetzten Gültig-Bit 24, bedeutet, dass die Daten in der Lesedatenregisterbank 28 gültig sind und deshalb unverzüglich auf den Mikroprozessordaten bus uP_data(31 .. 0) gegeben werden können. In dem Fall werden keine Wartezustände in den Zyklus des Mikroprozessorbusses eingefügt.
  • Aber wenn fb_hit während eines READ-Zustands des Cache-Controllers 29 inaktiv bleibt oder das Gültig-Bit 24 nicht gesetzt wird, springt die Zustandsmaschine in den FBREQ-(Flash Bus Request = Flash-Bus-Anfrage)Zustand 33 (siehe 3), das Mikroprozessor-Wartesignal bwait wird sofort aktiviert und der Flash-Bus wird angefragt, um einen Flash-Buslesezyklus auszuführen. Dies wird getan, indem das Flash-Bus-Anfragesignal fbus_req aktiviert wird. Wie in 3 illustriert, springt die Zustandsmaschine nach dem FBREQ-Zustand 33 unbedingt in den MISS-(Fehl-)Zustand 35. Während dieses MISS-Zustands 35 wartet der Cache-Controller 29 auf Daten aus dem Flash-Speicher. Der Flash-Bus informiert den Cache-Controller 29 durch Aktivierung des Bestätigungssignals fbus_ack (2 und 3), wenn diese Daten verfügbar sind. Während der Zeit, in welcher der Cache-Controller 29 auf verfügbare Daten wartet, wird dem Mikroprozessor-Bus durch das Mikroprozessorsignal bwait signalisiert, zu warten. Wenn die Daten aus dem Flash-Speicher verfügbar sind, aktiviert der Cache-Controller 29 das Signal f_up (2), das verursacht, dass Registerbank 28 mit den Daten aus dem Flash-Speicher aktualisiert wird und dass das Bit, welches angibt, dass die in der Registerbank 28 gespeicherten Daten gültig sind, das Gültig-Bit 24, gesetzt wird.
  • Die Zustandsmaschine des Cache-Controllers springt dann zurück in den IDLE-Zustand 31, wenn nicht ein anderer Lesezyklus ansteht, die Datenregisterbank 28 zu lesen. In diesem Fall springt die Zustandsmaschine unmittelbar in den READ-Zustand 32.
  • Wenn während eines Lesezyklus ein Fehlen festgestellt wird und deshalb der Flash-Bus angefragt werden muss, aber nicht verfügbar ist, weil er mit einer anderen Transaktion beschäftigt ist, springt die Cache-Controllerzustandsmaschine in den HOLD-(Halte)Zustand 34, wo sie wartet, bis die unerledigte Transaktion vervollständigt ist. Das „Flash-Bus-beschäftigt"-Signal fbus_busy ist der Hinweis für die Cache-Controllerzustandsmaschine, dass der Flash-Bus beschäftigt ist, andere Transaktionen auszuführen.
  • In dem gezeigten Beispiel repräsentiert die Flash-Speicherdatenbreite von 128 Bit zusammen mit den vier 32-Bit-Lesedatenregistern Reg1 bis Reg4 der Bank 28 eine Cache-Leitung von 128 Bit. Der Mikroprozessordatenbus ist 32 Bit breit. Der Flash-Datenbus und der Mikroprozessordatenbus sind über einen Vier-zu-Eins-Multiplexer 27 miteinander verbunden. Adresse 3 und 4 des Mikroprozessoradressbusses bestimmen, wel cher der vier 32-Bit-Datenregister Reg1 bis Reg4 mit dem Mikroprozessordatenbus verbunden wird.
  • Obwohl die Erfindung nur in einer einzigen Ausführungsform gezeigt wurde, können Fachleute leicht Modifikationen und Varianten gemäß der oben beschriebenen Prinzipien einführen, ohne von der Erfindung und dem Rahmen der Erfindung abzuweichen. Inschrift der Zeichnung: Fig. 1
    Flash Memory = Flash-Speicher
    Flash Bus = Flash-Bus
    Update = Aktualisierung
    Data = Daten
    Microprocessor = Mikroprozessor
    Address = Adresse
    Comparator = Komparator
    Fig. 2
    Microprocessor bus = Mikroprozessor
    Flash Bus = Flash-Bus
    Tag = Identifikation
    Valid-bit = "Gültig"-Bit
    Cache Controller Cache-Controller

Claims (9)

  1. Integrierte Schaltung mit mindestens einem Mikroprozessor und mindestens einem Speicher, worin – der genannte Speicher ein nichtflüchtiger oder Flash-Speicher (1) ist, der in Betrieb durch einen dedizierten Flash-Bus (2) mit dem genannte Mikroprozessor (3) verbunden ist, – der genannte dedizierte Flash-Bus (2) eine erste Breite m hat, die größer ist, insbesondere ein Vielfaches, als eine zweite Breite n des genannten Mikroprozessors (3) beziehungsweise dessen Datenbusses (8), dadurch gekennzeichnet, dass – ein Register (5, 25) vorgesehen ist, das als Adressenidentifikationsregister zum Speichern von Adressen des genannten Speichers (1), auf die zugegriffen wurde, dient, – ein Komparator (6) vorgesehen ist zum Vergleichen von durch den genannten Mikroprozessor (3) oder dessen Datenbus (8) angefragten aktuellen Adressen mit Adressen in dem genannten Speicher (1), auf die vor kurzem zugegriffen wurde und die gespeichert worden sind, und – Daten von vor kurzem benutzen Zugriffen direkt von Zwischenspeicherregistern (4, 28), die als Cache für den genannten Mikroprozessor (3) fungieren, geliefert werden können.
  2. Integrierte Schaltung nach Anspruch 1, worin die Zwischenspeicherregister (4, 28) zur Ausführung der Breitenumwandlung den Flash-Bus (2), vorzugsweise über den Datenbus (8) des Mikroprozessors, mit dem Mikroprozessor (3) verbinden.
  3. Integrierte Schaltung nach Anspruch 2, worin die Zwischenspeicherregister (4, 28) jeweils n Bit breit sind und eine Bank bilden und in welche die m Bit breiten, aus dem Flash-Speicher (1) abgerufenen Daten gespeichert werden.
  4. Integrierte Schaltung nach Anspruch 2 oder 3, worin – der Prozessordatenbus n = 32 Bit breit ist, – der Flash-Bus m = 128 Bit breit ist, und – vier Zwischenspeicherregister (4, 28) zur Verfügung stehen.
  5. Integrierte Schaltung nach einem oder mehreren der vorhergehenden Ansprüche, die außerdem einen Multiplexer (7, 27) zum Multiplexen der Daten in den Zwischenspeicherregistern (4, 28) auf den Mikroprozessor-Bus (8) umfasst.
  6. Integrierte Schaltung nach einem oder mehreren der vorhergehenden Ansprüche, die außerdem Cache-Steuerungsmittel (29) zum Steuern der Funktion mindestens einiger Komponenten der integrierten Schaltung, besonders jener Komponenten, die für das Laden und Entladen der Zwischenspeicherregister (4, 28) verantwortlich sind, umfasst.
  7. Integrierte Schaltung nach den Ansprüchen 4, 5 und 6, worin der Multiplexer (7, 27) ein Vier-zu-Eins-Multiplexer ist, der eine Cache-Leitung von 128 Bit zu dem Mikroprozessor (3) zur Verfügung stellt.
  8. Integrierte Schaltung nach Anspruch 6 oder 7, worin das Cache-Steuerungsmittel (29) ausgestattet ist, Wartezustände in einen Zyklus des Mikroprozessors einzuführen, wann immer das genannte Cache-Steuerungsmittel darauf wartet, dass Daten verfügbar werden.
  9. Integrierte Schaltung nach einem oder mehreren der vorhergehenden Ansprüche, worin das Cache-Steuerungsmittel (29) eine Zustandsmaschine mit fünf Zuständen, insbesondere einem IDLE-(Leerlauf-)Zustand (31), einem READ-(Lese-)Zustand (32), einem FBREQ(Flash Bus Request, Flash-Bus-Anfrage)Zustand (33), einem HOLD-(Halte-)Zustand (34) und einem MISS-(Fehl-)Zustand (35) ist.
DE60110227T 2000-06-27 2001-06-20 Integrierte schaltung mit flash Expired - Lifetime DE60110227T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00113609 2000-06-27
EP00113609 2000-06-27
PCT/EP2001/007009 WO2002001375A1 (en) 2000-06-27 2001-06-20 Integrated circuit with flash

Publications (2)

Publication Number Publication Date
DE60110227D1 DE60110227D1 (de) 2005-05-25
DE60110227T2 true DE60110227T2 (de) 2006-02-09

Family

ID=8169085

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60110227T Expired - Lifetime DE60110227T2 (de) 2000-06-27 2001-06-20 Integrierte schaltung mit flash

Country Status (7)

Country Link
US (1) US6735661B2 (de)
EP (1) EP1297434B1 (de)
JP (2) JP5076133B2 (de)
KR (1) KR100814247B1 (de)
AT (1) ATE293810T1 (de)
DE (1) DE60110227T2 (de)
WO (1) WO2002001375A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60110227T2 (de) * 2000-06-27 2006-02-09 Koninklijke Philips Electronics N.V. Integrierte schaltung mit flash
US7004917B2 (en) 2001-03-29 2006-02-28 Royce Medical Company Hardenable orthopaedic support (free edge)
WO2003094036A1 (en) * 2002-04-30 2003-11-13 Koninklijke Philips Electronics N.V. Method for fetching data from a non-volatile memory in an integrated circuit and corresponding integrated circuit
AU2003219414A1 (en) * 2002-04-30 2003-11-17 Koninklijke Philips Electronics N.V. Apparatus and method for fetching data from memory
JP4031996B2 (ja) * 2003-01-30 2008-01-09 富士フイルム株式会社 メモリ装置を備えたディジタル・スチル・カメラ
ITTO20030165A1 (it) * 2003-03-06 2004-09-07 Space Cannon Vh S P A Proiettore di luce a led
ITRM20030354A1 (it) * 2003-07-17 2005-01-18 Micron Technology Inc Unita' di controllo per dispositivo di memoria.
ITMI20031893A1 (it) * 2003-10-03 2005-04-04 St Microelectronics Srl Dispositivo integrato di memoria con comandi di lettura e scrittura multipli.
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
CA2554829C (en) * 2004-02-05 2009-11-03 Research In Motion Limited System and method for detecting the width of a data bus
KR100666169B1 (ko) * 2004-12-17 2007-01-09 삼성전자주식회사 플래쉬 메모리 데이터 저장장치
US7882299B2 (en) 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US20060218332A1 (en) * 2005-03-25 2006-09-28 Via Technologies, Inc. Interface circuit, system, and method for interfacing between buses of different widths
JP2008024411A (ja) * 2006-07-20 2008-02-07 Toshiba Elevator Co Ltd エレベータ制御装置
EP2132635B1 (de) 2007-03-30 2017-08-16 Rambus Inc. System mit hierarchischen speichermodulen mit verschiedenen arten von integrierten speicherschaltungen
US8326353B1 (en) * 2007-06-27 2012-12-04 ENORCOM Corporation Customizable mobile device
US8086769B2 (en) * 2008-01-17 2011-12-27 International Business Machines Corporation Method for detecting circular buffer overrun
US8415978B2 (en) * 2008-12-29 2013-04-09 Stmicroelectronics S.R.L. State machine for generating a pulse width modulation (PWM) waveform
US7895381B2 (en) * 2009-02-16 2011-02-22 Himax Media Solutions, Inc. Data accessing system
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US9582204B2 (en) * 2014-01-07 2017-02-28 Apple Inc. Speculative prefetching of data stored in flash memory
US10031869B1 (en) * 2014-03-28 2018-07-24 Adesto Technologies Corporation Cached memory structure and operation
US9910787B2 (en) * 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
KR20180031412A (ko) * 2016-09-20 2018-03-28 삼성전자주식회사 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들
US10489056B2 (en) * 2017-11-09 2019-11-26 Nvidia Corporation Queue manager for streaming multiprocessor systems

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4953073A (en) * 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
JPH02272654A (ja) * 1989-04-13 1990-11-07 Nec Corp キャッシュメモリ装置
US5732241A (en) * 1990-06-27 1998-03-24 Mos Electronics, Corp. Random access cache memory controller and system
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
DE69433320T2 (de) 1993-07-29 2004-09-16 Atmel Corp., San Jose Ferngesteuerter rreprogrammierbarer programmspeicher fuer einen mikrokontroller
US5726937A (en) * 1994-01-31 1998-03-10 Norand Corporation Flash memory system having memory cache
US6026027A (en) * 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
JPH07325898A (ja) * 1994-06-02 1995-12-12 Hitachi Ltd 記憶装置
US5696929A (en) * 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
JPH09231130A (ja) * 1996-02-26 1997-09-05 Mitsubishi Electric Corp マイクロコンピュータ
US5937174A (en) * 1996-06-28 1999-08-10 Lsi Logic Corporation Scalable hierarchial memory structure for high data bandwidth raid applications
US5860097A (en) * 1996-09-23 1999-01-12 Hewlett-Packard Company Associative cache memory with improved hit time
US5768287A (en) * 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
WO1998018078A1 (fr) * 1996-10-24 1998-04-30 Mitsubishi Denki Kabushiki Kaisha Micro-ordinateur dont la memoire et le processeur se trouvent sur une meme puce
US5903916A (en) * 1996-12-16 1999-05-11 Intel Corporation Computer memory subsystem and method for performing opportunistic write data transfers during an access latency period within a read or refresh operation
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
US5802602A (en) * 1997-01-17 1998-09-01 Intel Corporation Method and apparatus for performing reads of related data from a set-associative cache memory
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6308241B1 (en) * 1997-12-22 2001-10-23 U.S. Philips Corporation On-chip cache file register for minimizing CPU idle cycles during cache refills
JP3732637B2 (ja) * 1997-12-26 2006-01-05 株式会社ルネサステクノロジ 記憶装置、記憶装置のアクセス方法及び半導体装置
US6425065B2 (en) * 1997-12-31 2002-07-23 Intel Corporation Tag RAM with selection module for a variable width address field
US6041400A (en) 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications
WO2000025208A1 (en) 1998-10-28 2000-05-04 Zf Linux Devices, Inc. Processor system with fail safe bios configuration
US6282643B1 (en) * 1998-11-20 2001-08-28 International Business Machines Corporation Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
JP2000276402A (ja) * 1999-03-24 2000-10-06 Kokusai Electric Co Ltd フラッシュメモリ駆動方法及びフラッシュメモリ装置
US6321315B1 (en) * 1999-09-30 2001-11-20 Micron Technology, Inc. Method and apparatus to reduce memory read latency
US6434674B1 (en) * 2000-04-04 2002-08-13 Advanced Digital Information Corporation Multiport memory architecture with direct data flow
DE60110227T2 (de) * 2000-06-27 2006-02-09 Koninklijke Philips Electronics N.V. Integrierte schaltung mit flash
EP1203379A1 (de) * 2000-06-27 2002-05-08 Koninklijke Philips Electronics N.V. Integrierte schaltung mit eingebautem flashspeicher
US6836816B2 (en) * 2001-03-28 2004-12-28 Intel Corporation Flash memory low-latency cache

Also Published As

Publication number Publication date
DE60110227D1 (de) 2005-05-25
KR100814247B1 (ko) 2008-03-17
US6735661B2 (en) 2004-05-11
WO2002001375A1 (en) 2002-01-03
KR20030009290A (ko) 2003-01-29
JP2004502240A (ja) 2004-01-22
ATE293810T1 (de) 2005-05-15
JP5076133B2 (ja) 2012-11-21
US20020013874A1 (en) 2002-01-31
EP1297434B1 (de) 2005-04-20
JP2012198935A (ja) 2012-10-18
EP1297434A1 (de) 2003-04-02

Similar Documents

Publication Publication Date Title
DE60110227T2 (de) Integrierte schaltung mit flash
DE4132833C2 (de) Hierarchischer Cache-Speicher
DE3909896C2 (de)
DE2523372C3 (de) Eingabe-/Ausgabe-Anschlußsteuereinrichtung
DE102009058348B4 (de) Nichtflüchtige Speichereinrichtung
DE10309919A1 (de) Pufferbaustein und Verfahren zum Ansteuern von einer oder mehreren Speicheranordnungen
DE69433130T2 (de) Rechnersystem mit verändertem lokalen Datenbus
DE10056827A1 (de) Duale Verwendung von Cache-Verbindungen
DE10393803T5 (de) Verfahren und Vorrichtung zum Bestimmen einer Seitenverwaltungsimplementierung bei dynamischem Speicher mit wahlfreiem Zugriff
DE102004027121A1 (de) Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung
DE112004000694B4 (de) Ein Verfahren und eine Vorrichtung zur Verbesserung der Multi-CPU-Systemleistung für Speicherzugriffe
DE19908618A1 (de) Gemeinsam genutzter Hochleistungscachespeicher
DE102008024262A1 (de) Anschlussmultiplexbildung
EP0477595A2 (de) Cachespeichereinrichtung mit m Busanschlüssen
DE19950255B4 (de) Mikroprozessor
DE3740834A1 (de) Aufrechterhaltung der kohaerenz zwischen einem mikroprozessorenintegrierten cache-speicher und einem externen speicher
DE3138972A1 (de) Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb
DE3832758C2 (de) Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers
DE102005040109B4 (de) Halbleiterspeicherchip
DE4206079C2 (de) Halbleiterspeichereinrichtung und Verfahren zum Lesen von Daten aus einer solchen Halbleiterspeichereinrichtung
EP1308846B1 (de) Datenübertragungseinrichtung
DE602005004408T2 (de) Datenverarbeitungssystem und verfahren zur verbindungs-arbitrierung
DE4408695C1 (de) Mehrtorige Datenspeicheranordnung und Verfahren zum Betrieb derselben
DE3903066A1 (de) Datenverarbeitungssystem mit cache-speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN

8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL