DE60110227T2 - Integrierte schaltung mit flash - Google Patents
Integrierte schaltung mit flash Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling 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 in2 . -
1 zeigt den Lesedatenpfad einer Flash-Brücke, die einen Flash-Speicher1 mit einem Mikroprozessor3 verbindet. Der Datenbus2 , der vom Flash-Speicher1 abgeht, ist m Bit breit, seine Breite m ist ein Vielfaches p der Breite n des Mikroprozessordatenbusses8 , d. h. m = p·n, wobei p die Anzahl der Register ist. Diese Bank der Register4 (Reg. 1 bis Reg. p in1 ) fungiert als Zwischenspeicher. Sobald eine Speicherleitung der Breite m in die Registerbank4 transferiert ist, ist der Mikroprozessor fähig, über den Multiplexer7 und den Datenbus8 die n Bits auf einmal zu lesen. Das ist besonders vorteilhaft, wenn der Mikroprozessorzugriff sequentiell ist, da nicht bei jedem Prozessorlesezyklus auf den Flash-Speicher1 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 Adressenbus9 transferiert ist, in einem Identifikationsregister5 gespeichert. Bei nachfolgenden Prozessorzyklen wird die Identifikationsdatei mit den vorangegangenen Adressen im Identifikationsregister5 von dem Komparator6 mit der aktuellen Adresse verglichen, wobei geprüft wird, ob Daten von einem vorangegangenen Zugriff schon in den Registern der Bank4 sind. Wenn das so ist, d. h. wenn die Adressen zusammen passen, muss nicht auf den Flash-Speicher1 zugegriffen werden, da die angefragten Daten schon in einem der Register in Bank4 sind und über Multiplexer7 von dem Mikroprozessor3 abgerufen werden können. -
2 und3 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 (in2 nicht gezeigt) über den Flash-Bus. Der Cache-Controller29 besteht aus einer Zustandsmaschine und einigen Logikkomponenten. Das Zustandsdiagramm dieser Zustandsmaschine ist in3 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 (siehe3 ). - Wenn der Cache-Controller
29 einen Lesezugriff des Mikroprozessors auf irgendeins der Lesedatenregister Reg1 ... Reg4 in der Bank28 der Flash-Brücke feststellt, d. h. wenn Signal dsel_data aktiv und Signal bwrite inaktiv ist, führt der Cache-Controller29 einen Lesezyklus aus, indem er seine Statusmaschine in den READ-(Lese)Zustand32 bringt. Während dieses Lesezyklus vergleicht die Flash-Brücke den Wert ihres Identifikationsregisters25 mit der Adresse aus dem Mikroprozessor, d. h. address(23 .. 4) in Komparator26 , und prüft, ob das Gültig-Bit24 gesetzt ist. Ein Treffer, d. h. fb_hit = „1" am Ausgang des Komparators und ein gesetzten Gültig-Bit24 , bedeutet, dass die Daten in der Lesedatenregisterbank28 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-Bit24 nicht gesetzt wird, springt die Zustandsmaschine in den FBREQ-(Flash Bus Request = Flash-Bus-Anfrage)Zustand33 (siehe3 ), 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 in3 illustriert, springt die Zustandsmaschine nach dem FBREQ-Zustand33 unbedingt in den MISS-(Fehl-)Zustand35 . Während dieses MISS-Zustands35 wartet der Cache-Controller29 auf Daten aus dem Flash-Speicher. Der Flash-Bus informiert den Cache-Controller29 durch Aktivierung des Bestätigungssignals fbus_ack (2 und3 ), wenn diese Daten verfügbar sind. Während der Zeit, in welcher der Cache-Controller29 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-Controller29 das Signal f_up (2 ), das verursacht, dass Registerbank28 mit den Daten aus dem Flash-Speicher aktualisiert wird und dass das Bit, welches angibt, dass die in der Registerbank28 gespeicherten Daten gültig sind, das Gültig-Bit24 , gesetzt wird. - Die Zustandsmaschine des Cache-Controllers springt dann zurück in den IDLE-Zustand
31 , wenn nicht ein anderer Lesezyklus ansteht, die Datenregisterbank28 zu lesen. In diesem Fall springt die Zustandsmaschine unmittelbar in den READ-Zustand32 . - 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-Multiplexer27 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 Microprocessor bus = Mikroprozessor Flash Bus = Flash-Bus Tag = Identifikation Valid-bit = "Gültig"-Bit Cache Controller Cache-Controller
Claims (9)
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
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)
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)
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 |
-
2001
- 2001-06-20 DE DE60110227T patent/DE60110227T2/de not_active Expired - Lifetime
- 2001-06-20 WO PCT/EP2001/007009 patent/WO2002001375A1/en active IP Right Grant
- 2001-06-20 AT AT01960346T patent/ATE293810T1/de not_active IP Right Cessation
- 2001-06-20 EP EP01960346A patent/EP1297434B1/de not_active Expired - Lifetime
- 2001-06-20 KR KR1020027002472A patent/KR100814247B1/ko active IP Right Grant
- 2001-06-20 JP JP2002506443A patent/JP5076133B2/ja not_active Expired - Lifetime
- 2001-06-26 US US09/891,449 patent/US6735661B2/en not_active Expired - Lifetime
-
2012
- 2012-06-22 JP JP2012140982A patent/JP2012198935A/ja active Pending
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 |