-
Die Erfindung betrifft ein Zugriffssystem
und -verfahren auf einen sequentiellen Speicher und insbesondere
ein XIP (Ausführen-Am-Speicherort – execute-in-place)
-System und -Verfahren für
den sequentiellen Speicher, was es ermöglicht, dass ein sequentieller,
nichtflüchtiger
Schreib-Lese-Speicher (Non-Volatile Random Access Memory – NVRAM) Paralleldaten
von einem Host speichert, und was es dem Host ermöglicht,
Programm-Codes direkt im sequentiellen NVRAM auszuführen.
-
Es gibt zwei Typen von Speichern,
klassifiziert durch deren Zugriffstyp, aufweisend einen Parallel/NOR-Speicher
und einen sequentiellen/NAND-Speicher. Die Zugriffsrate des Parallelspeichers
ist höher
als die des sequentiellen Speichers, da auf den Parallelspeicher
mittels einer parallelen Ausgabe/Eingabe-Schnittstelle zugegriffen
werden kann. Da der Parallelspeicher dem Host ermöglicht,
auf die minimale Speichereinheit (Byte) zuzugreifen, wird der Parallelspeicher
ferner bereits als Systemspeicher für Computersysteme genutzt und verwendet,
Programmdaten zu speichern. Die Computersysteme sind daher befähigt, XIP
auf dem Parallelspeicher durchzuführen.
-
1 ist
ein schematisches Diagramm, das den herkömmlichen Zugriff auf einen
Parallelspeicher zeigt. Um Daten in den Parallelspeicher 13 zu
schreiben, sendet die Zentralverarbeitungseinheit (CPU) 10 mittels
eines Steuerschaltkreises 11 ein Schreibsignal zum Parallelspeicher 13 und überträgt mittels eines
Adress/Datenbusses 12 eine Schreibadresse sowie Daten zum
Parallelspeicher 13. Danach werden die Daten gemäß dem Schreibsignal
und der Schreibadresse in Speicherzellen des Parallelspeichers 13 geschrieben.
Um aus dem Parallelspeicher 13 Programmdaten zu lesen,
sendet die CPU 10 mittels des Steuerschaltkreises 11 ein
Lesesignal zum Parallelspeicher 13 und überträgt mittels des Adress/Datenbusses 12 eine Leseadresse
zum Parallelspeicher 13. Der Parallelspeicher 13 liest
dann die Programmdaten gemäß dem Lesesignal
und der Leseadresse aus und überträgt die Programmdaten zur
CPU 10.
-
Der sequentielle Speicher, wie beispielsweise
ein Daten-Flash-Speicher
und eine Festplatte, werden bereits verwendet, um Sicherungskopien
von Daten zu erstellen. Jedoch kann es der sequentielle Speicher
nicht ermöglichen,
dass der Host XIP durchführt,
und der sequentielle Speicher wird auch als Nicht-XIP-Speicher (non-XIP
memory) bezeichnet, da die Zugriffseinheiten des sequentiellen Speichers
als Blöcke
definiert sind.
-
Da auf den Parallelspeicher parallel
zugegriffen wird, müssen
viele Zugriffs-Pins des Parallelspeichers eingesteckt und herausgezogen
werden, und an den Kontaktstellen können Fehlfunktionen auftreten.
Ferner wird die Verzögerung
zwischen den Zugriffs-Pins zu einem ernsthaften Problem, wenn sich die
CPU-Geschwindigkeit erhöht.
Daher werden die Ressourcen der CPU verschwendet, indem sie dazu verwendet
werden, die Signale zu synchronisieren. Zusätzlich hat sich mit der Entwicklung
des sequentiellen Speichers die Kapazität des sequentiellen Speichers
erhöht,
während
die Preise des sequentiellen Speichers gefallen sind. Als ein Ergebnis
ersetzt der sequentielle Speicher als bedeutsame Weiterentwicklung
von Computersystemen zukünftiger
Generationen den Parallelspeicher und ermöglicht es, dass Hosts auf ihm
XIP durchführen
können.
-
Der Erfindung liegt daher die Aufgabe
zugrunde, ein XIP-System
und -verfahren für
einen sequentiellen Speicher bereitzustellen, mittels dessen Daten
direkt gespeichert werden und Programm-Codes im seriellen Format
im sequentiellen Speicher gemäß den im
Parallelformat von einem Host kommenden Nachrichten ausgeführt werden.
-
Um die obige Aufgabe zu lösen, wird
erfindungsgemäß ein XIP-System und -verfahren
für einen
sequentiellen Speicher geschaffen, eingerichtet, Information von
einem Host zu empfan gen, die zumindest ein Zugriffssignal und eine
Parallel-Zugriffs-Adresse aufweist. Das XIP-System wandelt die Parallel-Zugriffs-Adresse
in eine Sequentiell-Zugriffs-Adresse um und erzeugt darüber hinaus
gemäß dem Zugriffssignal
einen seriellen Befehl. Der serielle Befehl und die Sequentiell-Zugriffs-Adresse werden dann
zu einer Kombination serieller Daten kombiniert, und die Kombination
serieller Daten wird zum sequentiellen Speicher übertragen. Nach dem Empfangen
der Kombination serieller Daten führt der sequentielle Speicher
gemäß der Kombination
serieller Daten Zugriffsoperationen durch.
-
Ist das Zugriffssignal ein Lesesignal,
ist der vom XIP-System erzeugte serielle Befehl ein Sequentiell-Lese-Befehl,
wodurch der sequentielle Speicher angestoßen wird, erste serielle Daten
im Speicher gemäß der Sequentiell-Zugriffs-Adresse
zu lesen und die ersten seriellen Daten zurück zum XIP-System zu übertragen.
Das XIP-System wandelt dann die ersten seriellen Daten in erste
Paralleldaten um und überträgt die ersten
Paralleldaten zum Host.
-
Ist das Zugriffssignal ein Schreibsignal,
und empfängt
das XIP-System ferner zweite Paralleldaten vom Host, ist der vom
XIP-System erzeugte serielle Befehl ein Sequentiell-Schreib-Befehl. Das XIP-System
wandelt die zweiten Paralleldaten in zweite serielle Daten um und
kombiniert die zweiten seriellen Daten in die Kombination serieller
Daten, wodurch der sequentielle Speicher angestoßen wird, die zweiten seriellen
Daten gemäß der Sequentiell-Zugriffs-Adresse
zu schreiben.
-
Ausführungsbeispiele der Erfindung
sind in den Figuren dargestellt und werden im Weiteren näher erläutert.
-
Es zeigen
-
1 ein
schematisches Diagramm, das einen herkömmlichen Zugriff auf einen
Parallelspeicher zeigt;
-
2A ein
schematisches Diagramm, das die Architektur des XIP-Systems für einen
sequentiellen Speicher gemäß einem
Ausführungsbeispiel der
Erfindung darstellt;
-
2B ein
schematisches Diagramm, das die Architektur des XIP-Systems für einen
sequentiellen Speicher gemäß einem
anderen Ausführungsbeispiel
der Erfindung darstellt;
-
3 ein
Flussdiagramm, das den Leseprozess des XIP-Verfahrens für einen sequentiellen Speicher
gemäß dem Ausführungsbeispiel
der Erfindung darstellt; und
-
4 ein
Flussdiagramm, das den Schreibprozess des XIP-Verfahrens für einen sequentiellen Speicher
gemäß dem Ausführungsbeispiel
der Erfindung zeigt.
-
2A stellt
die Architektur des XIP-Systems für einen sequentiellen Speicher
gemäß einem Ausführungsbeispiel
der Erfindung dar. Das XIP-System 200 ermöglicht einem
Host 210, auf einen sequentiellen Speicher 220 zuzugreifen.
Der sequentielle Speicher 220 können Speichermedien vom NAND-Typ
sein, wie beispielsweise ein NVRAM. Das XIP-System 200 ist
ein Controller des sequentiellen Speichers 220.
-
Der Host 210 überträgt mittels
eines Steuerschaltkreises 240 ein Zugriffssignal zum XIP-System 200 und überträgt Adressinformation
sowie Daten mittels eines Adress/Datenbusses 230 zum XIP-System 200 oder
empfängt
vom XIP-System 200 Daten. 2B stellt
die Architektur des XIP-Systems für einen sequentiellen Speicher
gemäß einem
anderen Ausführungsbeispiel
der Erfindung dar. Der Unterschied zwischen 2A und 2B ist
die Architektur des Adress- und des Datenbusses. In 2A sind der Adress- und der Datenbus
gemeinsam angeordnet. In 2B sind
zwischen dem Host 210 und dem XIP-System 200 jeweils
ein Adressbus 232 und ein Datenbus 231 angeordnet.
Es ist zu bemerken, dass die Erfindung nicht auf eine bestimmte
Bus-Anordnung beschränkt
ist.
-
Wie in 2A gezeigt,
weist das XIP-System 200 eine Parallel/Seriell (P/S) -Umwandlungseinheit 201,
eine Seriell/Parallel (S/P) -Umwandlungseinheit 202, einen
Zugriffsbefehl-Generator 203 des sequentiellen Speichers
und eine Einheit 204 zum Kombinieren und Übertragen
serieller Daten auf.
-
Die P/S-Umwandlungseinheit 201 empfängt mittels
des Adress/Datenbusses 230 eine Parallel-Zugriffs-Adresse
vom Host 210 und wandelt die Parallel-Zugriffs-Adresse
in eine Sequentiell-Zugriffs-Adresse um, die vom sequentiellen Speicher 220 erkannt
wird. Es ist zu bemerken, dass, wenn der Host 210 Paralleldaten,
im Parallelformat, in den sequentiellen Speicher 220 schreibt,
der Host 210 ferner die Paralleldaten zur P/S-Umwandlungseinheit 201 überträgt, und
die P/S-Umwandlungseinheit 201 wandelt die Paralleldaten
in serielle Daten, in seriellem Format, um.
-
Der Zugriffsbefehl-Generator 203 des
sequentiellen Speichers empfängt
mittels des Steuerschaltkreises 240 das Zugriffssignal
vom Host 210 und erzeugt gemäß dem Zugriffssignal einen
seriellen Befehl, wie einen Sequentiell-Lese-Befehl und einen Sequentiell-Schreib-Befehl,
die den sequentiellen Speicher 220 anstoßen, entsprechend
Lese- bzw. Schreiboperationen durchzuführen. Es ist zu bemerken, dass
der serielle Befehl ein Führungscode
sein kann, der vom sequentiellen Speicher 220 erkannt wird.
-
Die Einheit 204 zum Kombinieren/Übertragen
serieller Daten kombiniert den seriellen Befehl, die Sequentiell-Zugriffs-Adresse und/oder
die seriellen Daten zu einer Kombination serieller Daten und überträgt die Kombination
serieller Daten zum sequentiellen Speicher 220. Der sequentielle
Speicher 220 führt
dann gemäß der Kombination
serieller Daten damit verbundene Zugriffsoperationen durch.
-
Nachdem die Zugriffsoperationen abgeschlossen
sind und abgefragte Daten zurück
zum Host 210 zu senden sind, überträgt der sequentielle Speicher 220 serielle
Daten, in seriellem Format, zur S/P-Umwandlungseinheit 202 des
XIP-Systems 200. Die S/P-Umwandlungseinheit 202 wandelt
die seriellen Daten in Paralleldaten, im Parallelformat, um und überträgt die Paralleldaten
zum Host 210.
-
3 zeigt
den Leseprozess des XIP-Verfahrens für einen sequentiellen Speicher
gemäß dem Ausführungsbeispiel
der Erfindung. Wenn der Host 210 vom sequentiellen Speicher 220 Information liest,
empfängt
das XIP-System 200 in Schritt 5301 eine Parallel-Zugriffs-Adresse
und ein Lesesignal. Dann erzeugt der Zugriffsbefehl-Generator 203 des sequentiellen
Speichers in Schritt S302 gemäß dem Lesesignal
einen Sequentiell-Lese-Befehl, und die P/S-Umwandlungseinheit 201 wandelt
in Schritt S303 die Parallel-Zugriffs-Adresse in eine Sequentiell-Zugriffs-Adresse
um.
-
Danach kombiniert die Einheit 204 zum
Kombinieren/Übertragen
serieller Daten in Schritt S304 den vom Zugriffsbefehl-Generator 203 des
sequentiellen Speichers erzeugten Sequentiell-Lese-Befehl und die
von der P/S-Umwandlungseinheit 201 ausgegebene Sequentiell-Zugriffs-Adresse
zu einer Kombination serieller Daten und überträgt die Kombination serieller
Daten in Schritt S305 zum sequentiellen Speicher 220.
-
Nachdem der sequentielle Speicher 220 die Kombination
serieller Daten empfangen hat, dekodiert der sequentielle Speicher 220 in
Schritt S306 die Kombination serieller Daten, liest erste serielle Daten
an der Sequentiell-Zugriffs-Adresse
und überträgt die ersten
seriellen Daten zum XIP-System 200. Danach
wandelt die S/P-Umwandlungseinheit 202 in Schritt S307
die empfangenen ersten seriellen Daten in erste Paralleldaten um
und überträgt die ersten
Paralleldaten in Schritt S308 zum Host 210.
-
4 zeigt
den Schreibprozess des XIP-Verfahrens für einen sequentiellen Speicher
gemäß dem Ausführungsbeispiel
der Erfindung. Wenn der Host 210 Information in den sequentiellen
Speicher 220 schreibt, empfängt das XIP-System 200 in Schritt
S401 Information, die eine Parallel-Zugriffs-Adresse, zweite Paralleldaten
und ein Schreibsignal aufweist. Dann erzeugt der Zugriffsbefehl-Generator 203 des
sequentiellen Speichers in Schritt S402 gemäß dem Schreibsignal einen Sequentiell-Schreib-Befehl. Dann
wandelt die P/S-Umwandlungseinheit 201 in Schritt S403
die Parallel-Zugriffs-Adresse in eine Sequentiell-Zugriffs-Adresse um,
und in Schritt S404 wandelt die P/S-Umwandlungseinheit 201 die
zweiten Paralleldaten in zweite serielle Daten um.
-
Danach kombiniert die Einheit 204 zum
Kombinieren/Übertragen
serieller Daten in Schritt S405 den Sequentiell-Schreib-Befehl, die Sequentiell-Zugriffs-Adresse
und die zweiten seriellen Daten zu einer Kombination serieller Daten
und überträgt in Schritt
S406 die Kombination serieller Daten zum sequentiellen Speicher 220.
Nachdem der sequentielle Speicher 220 die Kombination serieller
Daten empfangen hat, dekodiert der sequentielle Speicher 220 in
Schritt S407 die Kombination serieller Daten und schreibt die zweiten
seriellen Daten an die Sequentiell-Zugriffs-Adresse.
-
Als ein Ergebnis können die
Programmdaten unter Verwendung des XIP-Systems und -verfahrens für einen
sequentiellen Speicher in einem sequentiellen Speicher gespeichert
werden, und der Host kann Programm-Codes direkt im sequentiellen
Speicher ausführen.
Daher können
die Probleme der Verzögerung
zwischen Zugriffs-Pins und der Fehlfunktionen an den Kontaktstellen
vermieden werden, wodurch eine flexible XIP-Architektur für einen sequentiellen Speicher
bereitgestellt wird.