-
Technisches Gebiet
-
Diese
Erfindung betrifft eine externe Verbindungseinrichtung wie beispielsweise
eine mit einer Informationsverarbeitungseinrichtung wie beispielsweise
einem Computer verbundene IC-Speichereinrichtung, eine Hosteinrichtung,
mit der diese externe Verbindungseinrichtung verbunden ist, und
ein mit dieser externen Verbindungseinrichtung und Hosteinrichtung
verbundenes
-
Datenkommunikationssystem.
-
Hintergrundtechnik
-
Herkömmlicherweise
ist als ein externes Speichermedium eine Hosteinrichtung wie beispielsweise
ein PDA (= personal digital assistant (persönlicher digitaler Assistent)),
ein Tischmodell- bzw. -gerätcomputer,
ein Notizbuchmodell- bzw. -gerätcomputer,
ein tragbares Telefon, eine Audioeinrichtung oder ein elektrisches Heimgerät, eine
entfernbare kartenartige kleine IC-Speichereinrichtung, die einen
Halbleiterspeicher aufweist, der in diese Einrichtungen eingesetzt/aus
diesen Einrichtungen entfernt werden kann, benutzt worden.
-
Die
Speichereinrichtung dieses Typs weist generell einen nichtflüchtigen
Halbleiterspeicher (IC-Speicher) wie beispielsweise einen Flash-Speicher
(Blitzspeicher) auf und speichert unterschiedliche digitale Daten wie
beispielsweise Statischbilddaten, Dynamischbilddaten, Audiodaten
und Musikdaten. Diese IC-Speichereinrichtung
fungiert als ein externes Speichermedium einer Hosteinrichtung wie
beispielsweise eines PDA, eines Tischgerätcomputers, eines Notizbuchgerätcomputers,
eines tragbaren Telefons, einer Audioeinrichtung oder eines elektrischen
Heimgeräts.
-
Die
Operation einer solchen IC-Speichereinrichtung wird durch die Hosteinrichtung über eine
vorbestimmte Schnittstelle gesteuert. Typischerweise wird von der
Hosteinrichtung ein Verarbeitungsbefehl zur IC-Speichereinrichtung übertragen
und infolgedessen die Operation gesteuert.
-
Die
Zugriffsgeschwindigkeit des in der IC-Speichereinrichtung benutzten
Flash-Speichers ist niedrig. Deshalb ist es zur Reduzierung einer
Datenübertragungssequenz
zwischen der Hosteinrichtung und der IC-Speichereinrichtung effektiv, eine Unterbrechungsanforderung
(interrupt request) vorzuschreiben, die von der IC-Speichereinrichtungsseite über das
Ende einer Verarbeitung informiert.
-
Aus
EP-A-1050 821 geht
eine Speichereinheit und eine Speicherkarte hervor, die über einen
Bus kommuniziert und die eine Maßnahme für eine Übertragung eines Unterbrechungssignals
(interrupt signal) aufweist.
-
Offenbarung der Erfindung
-
Es
ist eine Aufgabe der vorliegenden Erfindung, eine externe Verbindungseinrichtung,
die eine Lösung der
Probleme der herkömmlichen
IC-Speichereinrichtung
ermöglicht,
eine Hosteinrichtung, mit der die externe Verbindungseinrichtung
verbunden ist, und ein diese externe Verbindungseinrichtung und
Hosteinrichtung benutzendes Datenkommunikationssystem bereitzustellen.
-
Es
ist eine andere Aufgabe der vorliegenden Erfindung, eine externe
Verbindungseinrichtung und eine Hosteinrichtung, die eine Reduktion
bei der Datenübertragungsverarbeitungszeit
zwischen der Hosteinrichtung und der externen Verbindungseinrichtung
durch effiziente Bereitstellung eines Unterbrechungssignals von
der externen Verbindungseinrichtung zur Hosteinrichtung ermöglichen,
und ein diese externe Verbindungseinrichtung und diese Hosteinrichtung
benutzendes Datenkommunikationssystem bereitzustellen.
-
Zur
Lösung
der oben beschriebenen Aufgaben ist eine externe Verbindungseinrichtung
gemäß der vorliegenden
Erfindung eine mit einer Hosteinrichtung zu verbindende externe
Verbindungseinrichtung, wobei die externe Verbindungseinrichtung
aufweist: eine Datenkommunikationseinrichtung zur Ausführung bidirektionaler
Kommunikation von Übertragungsdaten
zu und von der Hosteinrichtung über
einen Datenbus, eine Buszustandssignal-Empfangseinrichtung zum Empfang
eines den Zustand des Datenbusses von der Hosteinrichtung anzeigenden
Buszustandssignals, und einen Kontroller zur Steuerung der Operation
dieser Einrichtung entsprechend einem Operationssteuerungsbefehl,
der in den Übertragungsdaten
inkludiert ist, wobei die Datenkommunikationseinrichtung über den
Datenbus zur Hosteinrichtung Information, die den Inhalt eines auf der
Basis des von der Hosteinrichtung dem Kontroller (= Steuerungseinrichtung)
bereitgestellten Operationssteuerungsbefehls erzeugten Elements
einer Unterbrechung anzeigt, sendet, wenn der Zustand des Buszustandssignals
ein Zustand zum Akzeptieren einer Unterbrechung von dieser Einrichtung
zur Hosteinrichtung ist.
-
Bei
der externen Verbindungseinrichtung gemäß der vorliegenden Erfindung
wird, wenn der Zustand des Buszustandssignals ein Zustand zum Akzeptieren
einer Unterbrechung von dieser Einrichtung zur Hosteinrichtung ist,
Information, die den Inhalt eines auf der Basis des von der Hosteinrichtung
dem Kontroller bereitgestellten Operationssteuerungsbefehls erzeugten
Elements einer Unterbrechung anzeigt, als ein Unbrechungssignal über den
Datenbus zur Hosteinrichtung gesendet.
-
Eine
Hosteinrichtung gemäß der vorliegenden
Erfindung ist eine Hosteinrichtung, mit der eine externe Verbindungseinrichtung
verbunden ist, wobei die Hosteinrichtung aufweist: eine Datenkommunikationseinrichtung
zur Ausführung
bidirektionaler Kommunikation von Übertragungsdaten zu und von
der externen Verbindungseinrichtung über einen Datenbus, eine Buszustandssignal-Sendeeinrichtug
zum Senden eines den Zustand des Datenbusses anzeigenden Buszustandssignals
zur externen Verbindungseinrichtung, und einen Kontroller zur Ausgabe
eines Steuerungsbefehls zur Steuerung einer Operation der externen
Verbindungseinrichtung, wobei der Steuerungsbefehl in den Übertragungsdaten
inkludiert ist, wobei die Datenkommunikationseinrichtung von der
externen Verbindungseinrichtung über
den Datenbus Information, die den Inhalt eines auf der Basis des
von dieser Einrichtung der externen Verbindungseinrichtung bereitgestellten
Operationssteuerungsbefehls erzeugten Elements einer Unterbrechung
anzeigt, empfangt, wenn der Zustand des Buszustandssignals ein Zustand
zum Akzeptieren einer Unterbrechung von der externen Verbindungseinrichtung
zu dieser Einrichtung ist.
-
Bei
der Hosteinrichtung gemäß der vorliegenden
Erfindung wird, wenn der Zustand des Buszustandssignals ein Zustand
zum Akzeptieren einer Unterbrechung von der externen Verbindungseinrichtung
zu dieser Einrichtung ist, Information, die den Inhalt eines auf
der Basis des von dieser Einrichtung der externen Verbindungseinrichtung
bereitgestellten Operationssteuerungsbefehls erzeugten Elements
einer Unterbrechung anzeigt, von der externen Verbindungseinrichtung über den
Datenbus empfangen.
-
Die
anderen Aufgaben der vorliegenden Erfindung und von der vorliegenden
Erfindung bereitgestellte spezifische Vorteile werden durch die
sich auf die Zeichnungen beziehende folgende Beschreibung einer
Ausführungsform
weiter erläutert.
-
Kurze Beschreibung der Zeichnungen
-
1 ist
eine perspektivische Darstellung, die eine Speicherkarte, bei der
die vorliegende Erfindung angewendet ist, und eine diese Speicherkarte
benutzende Hosteinrichtung zeigt.
-
2 ist
eine perspektivische Darstellung, die eine Speicherkarte von ihrer
Vorderseite zeigt.
-
3 ist
eine perspektivische Darstellung, welche die Speicherkarte von ihrer
Rückseite
zeigt.
-
4 ist
ein Blockdiagramm, das einen internen Blockaufbau der Speicherkarte
zeigt.
-
5 ist
eine strukturelle Darstellung einer Schnittstellenfunktion zur Übertragung
von Daten zwischen der Speicherkarte und der Hosteinrichtung.
-
6 ist
eine Darstellung zur Erläuterung
eines Signals, das zwischen der Speicherkarte und der Hosteinrichtung übertragen
wird.
-
7 ist
eine Darstellung zur Erläuterung
des Inhalts einer Kommunikation in jedem Zustand.
-
8 ist
ein Zeitsteuerungs- bzw. Timingdiagramm von Paralleldaten, eines
Buszustands (bus state) und eines Takts zur Zeit einer Übertragung
eines Schreibpakets.
-
9 ist
ein Timingdiagramm von Paralleldaten, eines Buszustands und eines
Takts zur Zeit einer Übertragung
eines Lesepakets.
-
10 ist
ein Timingdiagramm eines Besetztsignals (busy signal) und eine Bereitsignals
(ready signal) eines Schreibpakets und eines Lesepakets.
-
11 ist
eine Darstellung, die interne Register zeigen, welche eine Statusregistergruppe
bilden.
-
12 ist
eine Darstellung, die den Inhalt von Bits in einem INT-Register
zeigt.
-
13 ist
eine Darstellung, die einen mit jedem Bitwert im INT-Register korrespondierenden
Operationszustand der Speicherkarte zeigt.
-
14 ist
eine Darstellung, die interne Register zeigt, welche eine Parameterregistergruppe
bilden.
-
15 ist
eine Darstellung, die Übertragungsdaten
im Fall von SET_CMD_TPC zeigt.
-
16 ist
eine Darstellung, die Übertragungsdaten
im Fall von EX_SET_CMD_TPC zeigt.
-
17 ist
eine Darstellung, die exemplarische Steuerungsbefehle zeigt.
-
Beste Art und Weise zur Ausführung der
Erfindung
-
Nachfolgend
wird eine Ausführungsform
beschrieben, bei der die vorliegende Erfindung bei einer entfernbaren
kleinen IC-Speichereinrichtung und einer Datenverarbeitungseinrichtung,
die diese kleine IC-Speichereinrichtung als eine externes Speichermedium
benutzt, angewendet ist.
-
In
der folgenden Beschreibung wird die kleine IC-Speichereinrichtung
als Speicherkarte bezeichnet, und die Datenverarbeitungseinrichtung,
mit der diese Speicherkarte verbunden wird, wird als eine Hosteinrichtung
bezeichnet.
-
Zuerst
wird der Überblick über die
Hosteinrichtung, bei der die vorliegende Erfindung angewendet ist, und
die Speicherkarte, die mit dieser Hosteinrichtung zu verbinden ist,
anhand der 1 beschrieben.
-
Eine
Speicherkarte 1 gemäß der vorliegenden
Erfindung weist in ihr einen nichtflüchtigen Halbleiterspeicher
(IC-Speicher) auf und kann unterschiedliche Daten wie beispielsweise
Statischbilddaten, Dynamischbilddaten, Audiodaten und Musikdaten
speichern. Diese Speicherkarte 1 fungiert als ein externes
Speichermedium einer Hosteinrichtung 2 wie beispielsweise
eines PDA , eines Tischgerätcomputers,
eines Notizbuchgerätcomputers,
eines tragbaren Telefons, einer Audioeinrichtung oder eines elektrischen
Heimgeräts.
-
Die
Speicherkarte 1 wird benutzt, wenn sie in einen Einsetz/Ausgabe-Anschluss bzw. -Port 3 eingesetzt
ist, der, wie in 1 gezeigt, in der Hosteinrichtung 2 bereitgestellt
ist. Ein Benutzer kann die Speicherkarte 1 frei in den
Einsetz/Ausgabe-Port 3 einsetzen und frei aus diesem Port 3 entnehmen.
Deshalb kann die in eine gewisse Hosteinrichtung eingesetzte Speicherkarte 1 dieser
Einrichtung entnommen und in eine andere Hosteinrichtung eingesetzt
werden. Das heißt,
diese Speicherkarte 1 kann zur Übertragung von Daten zwischen
unterschiedlichen Hosteinrichtungen benutzt werden.
-
Die
Speicherkarte 1 und die Hosteinrichtung 2 übertragen
Daten über
eine Parallelschnittstelle unter Benutzung eines Sechsdrahtsystem-Halbduplex-Parallelprotokolls
zur Übertragung
von sechs Signalen, das heißt
von Vierbit-Paralleldaten,
einem Taktsignal und einem Buszustandssignal
-
Die
Speicherkarte ist, wie in 2 gezeigt,
in einer im Wesentlichen rechteckigen dünnen plattenartigen Form ausgebildet.
Sie weist in der Längsrichtung
eine Länge
L1 von 50 mm, eine Breite W1 von
21,45 mm und eine Dicke D1 von 2,8 mm auf.
Eine Seite in der Speicherkarte 1 ist eine Vorderseite 1a,
und die andere Seite ist eine Rückseite 1b.
Wie in 3 gezeigt ist auf der Rückseite 1b an einer
Endseite in der Längsrichtung
der Speicherkarte 1 eine durch zehn flache Elektroden gebildete
Verbindungsanschlussgruppe 4 bereitgestellt. Die Elektroden,
welche die Verbindungsanschlussgruppe 4 bilden, sind in
der Richtung der Breite in der Speicherkarte 1 parallel
bereitgestellt. Zwischen den Elektroden sind Trennungsstücke 5,
die sich von der Rückseite 1b vertikal
erheben, bereitgestellt. Jedes Trennungsstück 5 dient zur Verhinderung,
dass ein mit einer jeweiligen Elektrode verbundener Verbindungsanschluss
die anderen Elektroden kontaktiert. Wie in 3 gezeigt
ist an einem zentralen Teil an einer Endseite der Rückseite 1b der
Speicherkarte 1 ein Schiebeschalter 6 zur Verhinderung
eines irrtümlichen
Löschens
bereitgestellt.
-
In
der Hosteinrichtung 2, in welche die oben beschriebene
Speicherkarte 1 geladen wird, ist der Einsetz/Ausgabe-Port 3 zum
Einsetzen und Ausgeben der Speicherkarte 1 bereitgestellt.
Wie in 1 gezeigt ist der Einsetz/Ausgabe-Port 3 als
eine mit der Breite W1 und der Dicke D1 der Speicherkarte 1 korrespondierende Öffnung auf
der Vorderseite der Hosteinrichtung 2 ausgebildet. Die
durch den Einsetz/Ausgabe-Port 3 in die Hosteinrichtung 2 eingesetzte
Speicherkarte 1 wird in der Hosteinrichtung 2 gehalten
und an einem Abgleiten gehindert, wenn die Verbindungsanschlüsse der
Hosteinrichtung 2 mit den die Verbindungsanschlussgruppe 4 bildenden
Elektroden verbunden sind. Der Verbindungsanschluss der Hosteinrichtung 2 weist
zehn Kontakte auf, die mit den auf der zu ladenden Speicherkarte 1 bereitgestellten,
die Verbindungsanschlussgruppe 4 bildenden Elektroden korrespondieren.
-
Bei
der Speicherkarte 1 gemäß der vorliegenden
Erfindung ist eine Seite, bei der die Verbindungsanschlussgruppe 4 bereitgestellt
ist, ein Einsetzende, und die Richtung eines Pfeiles X1 in 2 ist
die Richtung zum Einsetzen. Die Speicherkarte 1 wird auf
diese Weise durch den Einsetz/Ausgabe-Port 3 in die Hosteinrichtung 2 geladen.
Die in die Hosteinrichtung 2 geladene Speicherkarte kann
Signale übertragen
und empfangen, wenn die Elektroden, welche die Anschlussgruppe 4 bilden,
und die Kontakte des Verbindungsanschlusses der Hosteinrichtung 2 miteinander
verbunden sind.
-
Der
interne Aufbau der Speicherkarte 1 gemäß der vorliegenden Erfindung
wird nun anhand der 4 beschrieben.
-
Wie
in 4 gezeigt weist die Speicherkarte 1 gemäß der vorliegenden
Erfindung eine Parallelschnittstellenschaltung bzw. Parallel-I/F-Schaltung 12,
eine Registerschaltung 13, eine Datenpufferschaltung 14,
eine ECC-Schaltung 15, einen Speicherschnittstellenkontroller
bzw. Speicher-I/F-Kontroller 16, einen nichtflüchtigen
Halbleiterspeicher 17 und eine Oszillationssteuerungsschaltung 18 auf.
-
Die
Parallel-I/F-Schaltung 12 ist eine Schaltung zur Übertragung
von Daten zu und von der Hosteinrichtung 2 unter Benutzung
eines Sechsdrahtsystems-Halbduplex-Datenübertragungsprotokolls.
-
Die
Registerschaltung 13 ist eine Schaltung beispielsweise
zum Speichern eines von der Hosteinrichtung übertragenen Operationssteuerungsbefehls
zum Speicher-I/F-Kontroller 16 (nachfolgend wird dieser Operationssteuerungsbefehl
als Steuerungsbefehl bezeichnet), des internen Zustands der Speicherkarte 1, unterschiedlicher
Parameter, die zur Ausführung
des Steuerungsbefehls notwendig sind, von Dateiverwaltungsinformation
im nichtflüchtigen
Halbleiterspeicher 17 usw. Auf diese Registerschaltung 13 wird
sowohl von der Hosteinrichtung 2 als auch dem Speicher-I/F-Kontroller
zugegriffen. Die Hosteinrichtung 2 greift auf die Registerschaltung 13 unter
Benutzung eines TPC (= transfer protocol command (Übertragungsprotokollbefehl) zu,
der auf dem Datenübertragungsprotokoll
dieser Speicherkarte vorgeschrieben ist. Das heißt, wenn die Hosteinrichtung 2 den
Steuerungsbefehl und unterschiedliche Parameter, die in der Registerschaltung 13 gespeichert
sind, schreibt oder liest, benutzt die Hosteinrichtung 2 einen
TPC.
-
Die
Datenpufferschaltung 14 ist eine Speicherschaltung zum
temporären
Speichern bzw. Sichern von Daten, die in den nichtflüchtigen
Halbleiterspeicher 17 zu schreiben sind, und Daten, die
aus dem nichtflüchtigen
Halbleiterspeicher 17 zu lesen sind. Das heißt, wenn
Daten von der Hosteinrichtung 2 in den nichtflüchtigen
Halbleiterspeicher 17 zu schreiben sind, werden Schreibzieldaten
entsprechend dem Datenübertragungsprotokoll
von der Hosteinrichtung 2 in die Datenpufferschaltung 14 übertragen,
und dann schreibt der Speicher-I/F-Kontroller 16 die in
der Datenpufferschaltung 14 gespeicherten Schreibzieldaten
in den nichtflüchtigen
Halbleiterspeicher 17. Wenn Daten vom nichtflüchtigen
Halbleiterspeicher 17 zur Hosteinrichtung 2 ausgelesen
werden, liest der Speicher-I/F-Kontroller 16 Lesezieldaten
aus dem nichtflüchtigen
Halbleiterspeicher 17 aus und speichert die gelesenen Lesezieldaten
temporär
in der Datenpufferschaltung 14, und dann werden die Lesezieldaten
von der Datenpufferschaltung 14 entsprechend dem Datenübertragungsprotokoll zur
Hosteinrichtung 2 übertragen.
-
Die
Datenpufferschaltung 14 weist eine Datenkapazität für eine vorbestimmten
Datenschreibeinheit auf (beispielsweise 512 Bytes, die gleich der
Seitengröße des Flash-Speichers
sind). Die Hosteinrichtung 2 greift auf die Datenpufferschaltung 14 unter
Benutzung eines TPC zu. Das heißt,
wenn die Hosteinrichtung 2 Daten, die in der Datenpufferschaltung 14 gespeichert
sind, schreibt oder ausliest, benutzt die Hosteinrichtung 2 einen
TPC.
-
Die
ECC-Schaltung 15 hängt
an Daten, die in den nichtflüchtigen
Halbleiterspeicher 17 zu schreiben sind, einen Fehlerkorrekturcode
(ECC) an. Die ECC-Schaltung 15 führt auch eine Fehlerkorrekturverarbeitung von
Daten aus, die aus dem nichtflüchtigen
Halbleiterspeicher 17 auf der Basis eines Fehlerkorrekturcodes ausgelesen
werden, der an diese ausgelesenen Daten angehängt ist. Beispielsweise ist
an eine Dateneinheit von 512 Bytes ein Fehlerkorrekturcode von drei
Bytes angehängt.
-
Der
Speicher-I/F-Kontroller 16 führt eine Steuerung einer Datenübertragung
zwischen der Datenpufferschaltung 14 und dem nichtflüchtigen
Halbleiterspeicher 17, eine Steuerung einer Datensicherheitsverwaltung
des nichtflüchtigen
Halbleiterspeichers 17, eine Steuerung der anderen Funktionen
der Speicherkarte 1, eine Aktualisierungsverarbeitung der
in der Registerschaltung 13 gespeicherten Daten usw. entsprechend Steuerungsbefehlen,
die in der Registerschaltung 13 gespeichert sind, aus.
-
Der
nichtflüchtige
Halbleiterspeicher 17 ist ein nichtflüchtiger Halbleiterspeicher
wie beispielsweise ein NAND-Typ-Flash-Speicher. Die Kapazität des nichtflüchtigen
Halbleiterspeichers 17 ist beispielsweise 16 Megabytes,
32 Megabytes, 64 Megabytes und 120 Megabytes. Im nichtflüchtigen
Halbleiterspeicher 17 besteht eine Löschblockeinheit aus beispielsweise
16 Kilobytes. Eine Lese/Schreib-Einheit
wird als eine Seite bezeichnet und besteht wie in der Datenpufferschaltung 14 aus
512 Bytes. Die Oszillationssteuerungsschaltung 18 erzeugt
einen Operationstakt in dieser Speicherkarte 1.
-
Als
die Verbindungsanschlüsse
der Speicherkarte 1 sind VSS-Anschlüsse, ein VCC-Anschluss, ein DATA0-Anschluss,
ein DATA1-Anschluss, ein DATA2-Anschluss,
ein DATA3-Anschluss, ein BS-Anschluss, ein CLK-Anschluss und ein
INS-Anschluss bereitgestellt. Da zwei VSS-Anschlüsse bereitgestellt sind, sind
in der Speicherkarte 1 insgesamt zehn Verbindungsanschlüsse bereitgestellt. Ähnliche
Verbindungsanschlüsse
sind auch auf der Hosteinrichtung bereitgestellt.
-
Die
VSS-Anschlüsse
sind mit VSS (0-Volt-Referenzspannung) verbunden. Die VSS-Anschlüsse verbinden
die Erde auf der Hosteinrichtungsseite und die Erde auf der Speicherkartenseite
und bewirken 0-Volt-Referenzpotentiale der Hosteinrichtung und der
Speicherkarte, um miteinander zu koinzidieren. Dem VCC-Anschluss
wird von der Hosteinrichtung eine Energieversorgungsspannung (VCC)
zugeführt.
-
Am
DATA0-Anschluss wird ein Datensignal (DATA0) des niedrigstwertigen
Bits der zwischen der Speicherkarte 1 und der Hosteinrichtung 2 übertragenen
Vierbit-Paralleldaten
eingegeben/ausgegeben. Beim DATA1-Anschluss wird ein Datensignal
(DATA1) des zweitniedrigstwertigen Bits von zwischen der Speicherkarte 1 und
der Hosteinrichtung 2 übertragenen
Vierbit-Paralleldaten eingegeben/ausgegeben. Beim DATA2-Anschluss
wird ein Datensignal (DATA2) des drittniedrigstwertigen Bits von
zwischen der Speicherkarte 1 und der Hosteinrichtung 2 übertragenen
Vierbit-Paralleldaten
eingegeben/ausgegeben. Beim DATA3-Anschluss wird ein Datensignal
(DATA3) des viertniedrigstwertigen Bits von zwischen der Speicherkarte 1 und der
Hosteinrichtung 2 übertragenen
Vierbit-Paralleldaten eingegeben/ausgegeben.
-
Beim
BS-Anschluss wird ein Buszustandssignal von der Hosteinrichtung
in die Speicherkarte eingegeben. Beim CLK-Anschluss wird ein Taktsignal
von der Hosteinrichtung 2 eingegeben. Der INS-Anschluss wird
für eine
Einsetz/Ausgabe-Detektion
benutzt, so dass die Hosteinrichtung 2 entscheiden kann,
ob die Speicherkarte in den Schlitz eingesetzt ist oder nicht. Der
INS-Anschluss der Speicherkarte 1 ist mit der Erde verbunden,
und der INS-Anschluss der Hosteinrichtung ist über einen Widerstand hochgezogen.
-
Als
Nächstes
wird anhand der 5 der funktionelle Aufbau der
Schnittstelle zur Übertragung
von Daten zwischen der Speicherkarte 1 und der Hosteinrichtung 2 beschrieben.
-
Wie
in 5 gezeigt weisen die Schnittstellenfunktionen
der Hosteinrichtung 2 einen Dateiverwalter 31,
eine TPC-Schnittstelle 32 und eine Parallelschnittstelle 33 auf.
Die Schnittstellenfunktionen der Speicherkarte 1 weisen
eine Parallelschnittstelle 34, ein Register 35,
einen Datenpuffer 36, einen Speicherkontroller 37 und
einen Speicher 38 auf.
-
Der
Dateiverwalter 31 verwaltet auf dem Betriebssystem der
Hosteinrichtung Dateien, die in der Speicherkarte gespeichert sind,
und Dateien, die in anderen Medien der Hosteinrichtung gespeichert
sind. Der Dateiverwalter 31 ist eine durch den Kontroller
oder dgl. in der Hosteinrichtung 2 realisierte Funktion.
-
Die
TPC-Schnittstelle 32 ist eine niedrigere Schicht, die unter
dem Dateiverwalter 31 ist. Die TPC-Schnittstelle 32 greift
auf das Register 35 und den Datenpuffer 31 in
der Speicherkarte 1 entsprechend einem Datenübertragungsprotokoll
zu, das einen für
diese Schnittstelle richtigen Befehl vorschreibt (TPC oder Übertragungsprotokollbefehl).
Diese TPC-Schnittstelle 32 ist eine vom Kontroller oder
dgl. in der Hosteinrichtung 32 realisierte Funktion.
-
Die
Parallelschnittstellen 33, 34 sind niedrigere
Schichten, die unter der TPC-Schnittstelle 32 sind. Diese
sind physikalische hierarchische Schichten dieses Schnittstellensystems.
Die Parallelschnittstellen 33, 34 übertragen
Daten entsprechend einem Sechsdrahtsystem-Halbduplex-Parallelprotokoll,
das ein Datenübertragungsprotokoll
zur Übertragung
von sechs Signalen ist, die Vierbit-Paralleldaten, einen Takt und ein Buszustandssignal
umfassen. Die Parallelschnittstellen 33, 34 sind
Funktionen, die von der Parallelschnittstellenschaltung 12 realisiert
werden.
-
Das
Register 35 speichert Steuerungsbefehle, die vom Host übertragen
werden, den internen Zustand der Speicherkarte, die Adresse von
Daten, auf die im Speicher 38 zuzugreifen ist, unterschiedliche
Parameter, die zur Ausführung
der Steuerungsbefehle notwendig sind, Dateiverwaltungsinformation
im Speicher usw. Das Register 35 ist eine auf der Registerschaltung 13 der
Speicherkarte 1 realisierte Funktion.
-
Der
Datenpuffer 36 ist ein Pufferbereich zum temporären Sichern
von Daten, die in den Speicher 38 zu schreiben sind, und
Daten, die aus dem Speicher 38 gelesen werden. Der Datenpuffer 36 ist
eine auf der Datenpufferschaltung 14 der Speicherkarte 1 realisierte
Funktion.
-
Der
Speicherkontroller 37 steuert Lesen, Schreiben und Löschen von
Daten zwischen dem Datenpuffer 36 und dem Speicher 38 und
aktualisiert unterschiedliche Information im Register 35 entsprechend
Befehlen und unterschiedliche Information, die im Register 35 gespeichert
ist. Der Speicherkontroller 37 ist eine vom Speicher-I/F-Kontroller 16 der
Speicherkarte 1 realisierte Funktion.
-
Der
Speicher 38 ist ein Speicherbereich für Daten. Der Speicher 38 ist
durch den Speicherkontroller 37 als ein eindeutiges Modell
virtuell gemacht. Der Speicher 38 ist eine vom nichtflüchtigen
Halbleiterspeicher 17 der Speicherkarte 1 realisierte
Funktion.
-
Mit
der Hosteinrichtung und der Speicherkarte der oben beschriebenen
Aufbauten können
Daten, die in vom Datenverwalter 131 verwalteten anderen
Medien gespeichert sind, über
die Parallelschnittstellen 33, 34 zum Speicher 38 übertragen
werden. Auch können
im Speicher 38 gespeicherte Daten über die Parallelschnittstellen 33, 34 zu
vom Dateiverwalter verwalteten anderen Medien übertragen werden.
-
Es
wird nun das Datenübertragungsprotokoll
zwischen der Speicherkarte 1 und der Hosteinrichtung 2 gemäß der vorliegenden
Erfindung beschrieben.
-
Die
Merkmale des Datenübertragungsprotokolls
zwischen der Speicherkarte 1 und der Hosteinrichtung 2 umfassen
Definieren von vier Buszuständen
und Identifizieren der Übertragungsrichtung
und Attribute von Übertragungsdaten,
Zugreifen auf die Registerschaltung 13 und die Datenpufferschaltung 14 der
Speicherkarte 1 von der Hosteinrichtung 2 unter
Benutzung eines TPC, Steuerung der Operation der Speicherkarte 1 durch
die Hosteinrichtung 2 unter Benutzung von Steuerungsbefehlen,
Detektieren eines Fehlers von Übertragungsdaten
zwischen der Speicherkarte 1 und der Hosteinrichtung 2 unter
Benutzung von CRC (= cyclic redundancy check codes (zyklische Redundanzprüfungscodes)),
Vorschreiben eines Unterbrechungssignals (INT-Signal) von der Speicherkarte 1 zur
Hosteinrichtung 2 usw.
-
Wie
in 6 gezeigt sind die Speicherkarte 1 und
die Hosteinrichtung durch sechs Signale miteinander verbunden, die
ein Buszustandssignal (BS), vier Paralleldatensignale und ein Taktsignal
(SCLK) umfassen.
-
Die
Paralleldatensignale sind Datensignale, die zwischen der Speicherkarte 1 und
der Hosteinrichtung 2 übertragen
werden. Die Paralleldatensignale übertragen Paralleldaten (DATA[3:0])
mit einer Vierbitbreite, und die Übertragungsrichtung und Attribute
der Paralleldaten (DATA[3:0]) ändern
sich entsprechend dem vom Buszustandsignal vorgeschriebenen Zustand.
-
Das
Buszustandssignal ist ein den Zustand der Paralleldatensignale und
das Übertragungsstarttiming für die Paralleldatensignale
in jedem Zustand vorschreibendes Signal. Dieses Buszustandssignal
wird von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen.
Der Zustand ist in insgesamt vier Zustände unterteilt, das heißt einen
Zustand (BS0), bei dem eine Paketkommunikation nicht ausgeführt wird,
und drei Zustande (BS1 bis BS3), bei denen eine Paketkommunikation
ausgeführt
wird. Das Buszustandssignal schaltet den Zustand von BS0 bis BS3
mit einem Schalttiming von „hoch" und „niedrig"
-
Das
Taktsignal ist ein Takt für
die Paralleldatensignale und das Buszustandssignal. Das Taktsignal
wird von der Hosteinrichtung zur Speicherkarte übertragen. Das Taktsignal wird
notwendigerweise in den drei Zuständen (BS1 bis BS3) ausgegeben,
bei denen eine Paketkommunikation ausgeführt wird.
-
Die
Inhalte einer Kommunikation in jedem Zustand sind in 7 gezeigt.
-
BS0
ist der Zustand, bei dem ein Unterbrechungssignal (INT-Signal) von
der Speicherkarte 1 zur Hosteinrichtung zu den Leitungen
der Paralleldatensignale übertragen
werden kann. Das INT-Signal wird mit dem Takt asynchron übertragen.
Im Zustand BS0 wird keine Paketkommunikation ausgeführt. Der
Signalpegel des BS0 anzeigenden Buszustandssignals ist als „niedrig" ausgedrückt. Der
Operationszustand der Speicherkarte 1 wird auf das INT-Signal
reflektiert und es wird später
beschrieben.
-
BS1
ist der Zustand, bei dem TPCs zu den Leitungen der Paralleldatensignale übertragen
werden. Der Signalpegel des BS1 anzeigenden Buszustandssignals ist
als „hoch" ausgedrückt. TPCs
werden von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen.
Die TPCs sind Befehle für
die Hosteinrichtung 2 zum Zugriff auf die Registerschaltung 13 und
die Datenpufferschaltung 14 der Speicherkarte 1.
Die TPCs umfassen einen Befehl zum Schreiben oder Lesen von Daten
zu oder von der Datenpufferschaltung 14, einen Befehl zum Schreiben
oder Lesen von Daten zu oder von der Registerschaltung 13,
einen Befehl zum Schreiben eines dem Speicher-I/F-Kontroller 16 zu
gebenden Steuerungsbefehls in die Registerschaltung 13 usw.
Spezifische Inhalte der TPCs und des Steuerungsbefehls werden später beschrieben.
-
In
den Zuständen
BS2 und BS3 sind die Übertragungsrichtung
und Attribute von zu den Paralleldatensignalleitungen übertragenen
Paralleldaten (DATA[3:0]) zwischen einem Schreibpaket zur Übertragung
von Daten von der Hosteinrichtung 2 zur Speicherkarte 1 und
einem Lesepaket zur Übertragung
von Daten von der Speicherkarte 1 zur Hosteinrichtung 2 unterschiedlich.
Der Typ eines Pakets, das heißt,
ob ein Paket ein Schreibpaket oder ein Lesepaket ist, wird entsprechend
den Inhalten von im Zustand BS1 übertragenen
TPCs entschieden.
-
Die
Inhalte von BS2 und BS3 im Fall eines Schreibpakets werden nun anhand
der 8, die ein Timingdiagramm für ein Schreibpaket zeigt, beschrieben.
-
Im
Zustand BS2 sind im Fall eines Schreibpakets Übertragungsdaten auf Paralleldatensignalen Schreibzieldaten
zur Registerschaltung 13 und Datenpufferschaltung 14 und
ein CRC dieser Schreibzieldaten. Im Zustand BS2 werden die Übertragungsdaten
auf den Paralleldatensignalen von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen.
-
Im
Zustand BS3 sind im Fall des Schreibpakets Übertragungsdaten auf Paralleldatensignalen
ein Besetztsignal (BSY-Signal) und ein Bereitsignal (RDY-Signal), die von
der Speicherkarte 1 erzeugt werden. Im Zustand BS3 werden
im Fall des Schreibpakets das Besetztsignal und das Bereitsignal
auf den Paralleldatensignalen von der Speicherkarte 1 zur
Hosteinrichtung 2 übertragen.
Im Zustand BS3 wird im Fall des Schreibpakets eine Verarbeitung
eines TPC und von Übertragungsdaten,
die von der Hosteinrichtung 2 in den Zuständen BS1
und BS2 zur Speicherkarte 1 übertragen werden, ausgeführt. Während die
Speicherkarte 1 die Verarbeitung des TPC und der Übertragungsdaten
ausführt
(das heißt,
wenn die Verarbeitung nicht vollendet ist), sendet die Speicherkarte 1 das
Besetztsignal zur Hosteinrichtung 2. Bei Vollendung der
Verarbeitung sendet die Speicherkarte das Bereitsignal zur Hosteinrichtung 2.
Das Besetztsignal und das Bereitsignal werden nur zur Signalleitung
des niedrigstwertigen Bits (DATA0) der vier Paralleldatensignale übertragen.
Das Besetztsignal ist ein Signal zur Einstellung der Signalleitung
des niedrigstwertigen Bits (DATA0) auf einen hohen Pegel. Das Bereitsignal
ist ein Signal zum Schalten des Pegels der Signalleitung des niedrigstwertigen
Bits (DATA0) abwechselnd und wiederholt zwischen einem hohen Pegel
und einem niedrigen Pegel durch den Takt. Das Besetztsignal und
das Bereitsignal werden auf diese Weise übertragen, und zwischen der
Speicherkarte 1 und der Hosteinrichtung 2 kann
im Fall des Schreibpakets mit dem Timing von BS3 ein Quittungsaustausch-
bzw. Signalaustauschzustand (handshaking state) hergestellt werden,
wenn Daten nicht übertragen
werden.
-
Die
Inhalte von BS2 und BS3 im Fall eines Lesepakets werden nun anhand
der 9, die ein Timingdiagramm für ein Lesepaket zeigt, beschrieben.
-
Im
Zustand BS2 sind im Fall eines Lesepakets Übertragungsdaten auf Paralleldatensignalen
ein Besetztsignal und ein Bereitsignal, die von der Speicherkarte
erzeugt werden. Im Zustand BS2 bereitet die Speicherkarte 1 im
Fall des Lesepakets eine Datenübertragung
entsprechend einem von der Hosteinrichtung 2 zur Speicherkarte 1 im
Zustand BS1 übertragenen
TPC vor. Während
die Speicherkarte 1 eine Datenübertragung in Bezug auf den
TPC vorbereitet (das heißt,
wenn die Vorbereitung zur Übertragung
nicht vollendet ist), sendet die Speicherkarte 1 das Besetztsignal
zur Hosteinrichtung 2. Bei Vollendung der Vorbereitung
zur Übertragung
sendet die Speicherkarte 1 das Bereitsignal zur Hosteinrichtung 2.
Wenn das Besetztsignal und das Bereitsignal auf diese Weise übertragen
werden, kann im Fall des Lesepakets im Zustand BS2 ein Quittungsaustausch-
bzw. Signalaustauschzustand zwischen der Speicherkarte 1 und
der Hosteinrichtung 2 hergestellt werden, wenn Daten nicht übertragen
werden.
-
Im
Zustand BS3 sind im Fall des Lesepakets Übertragungsdaten auf Paralleldatensignalen
Lesezieldaten von der Registerschaltung 13 und der Datenpufferschaltung 14 und
ein CRC dieser Lesezieldaten. Im Zustand BS3 werden Übertragungsdaten
auf den Paralleldatensignalen von der Speicherkarte 1 zur
Hosteinrichtung 2 übertragen.
-
10 zeigt
ein detailliertes Timingdiagramm des Besetztsignals und des Bereitsignals,
die in den Zuständen
BS2 und BS3 erzeugt werden. Wie in 10 gezeigt
werden das Besetztsignal und das Bereitsignal nur auf der Signalleitung
des niedrigstwertigen Bits (DATA0) von den vier Paralleldatensignalen übertragen. Die
anderen Bits (DATA1 bis DATA3) werden auf einen niedrigen Pegel
eingestellt. Die Hosteinrichtung 2 empfangt nur das zur
Signalleitung von DATA0 übertragene
Signal und ignoriert die Signale der anderen Bits. Das niedrigstwertige
Bit (DATA0) korrespondiert mit der Übertragungsleitung für serielle
Daten in der Speicherkarte unter Benutzung des herkömmlichen
Dreidrahtsystem-Halbduplex-Protokolls. Deshalb ist die Speicherkarte 1 mit
einer herkömmlichen
Speicherkarte kompatibel.
-
Als
Nächstes
wird ein INT-Signal, das von der Speicherkarte 1 zur Hosteinrichtung 2 übertragen
wird, wenn der Buszustand BS0 ist, beschrieben.
-
In
der Speicherkarte 1 wird ein Flash-Speicher als der nichtflüchtige Halbleiterspeicher 17 benutzt.
Die Zugriffszeit zum Flash-Speicher ist viel langer als die Datenübertragungszeit
zwischen der Speicherkarte 1 und der Hosteinrichtung 2.
Deshalb ist es zum Reduzieren der Datenverarbeitungssequenz auf
der Seite der Hosteinrichtung 2 effektiv, eine Unterbrechungsanforderung
vorzuschreiben, die von der Seite der Speicherkarte 1 im
Hinblick auf das Datenübertragungsprotokoll über das
Ende der Verarbeitung und dgl. informiert. Das heißt, wenn
eine Unterbrechungsanforderung von der Speicherkarte 1 vorgeschrieben
ist, kann die Verarbeitung durch die CPU auf der Seite der Hosteinrichtung 2 für eine andere
Verarbeitung offengemacht werden, während auf den Flash-Speicher
zugegriffen wird.
-
Im
Zustand BS0 überträgt die Speicherkarte 1,
wenn in der Speicherkarte 1 eine gewisse Unterbrechungsanforderung
erzeugt wird, ein Unterbrechungssignal (INT-Signal) zur Hosteinrichtung 2.
Das INT-Signal wird von der Speicherkarte 1 asynchron mit
einem Taktsignal ausgegeben. Wenn im Zustand BS0 das Bit einer der
Signalleitungen der Paralleldaten (DATA[3:0]) auf einen hohen Pegel
geschaltet wird, zeigt es an, dass das Unterbrechungssignal von
der Seite der Speicherkarte 1 erzeugt wird. Wenn alle Bits
der Paralleldaten (DATA[3:0]) auf einem niedrigen Pegel sind, wird
angezeigt, dass die Speicherkarte 1 eine Verarbeitung ausführt und
dass keine Unterbrechungsanforderung existiert.
-
Die
von der Speicherkarte 1 erzeugte Unterbrechung umfasst
mehrere Elemente. Beispielsweise weist sie eine Unterbrechung zum
Informieren der Hosteinrichtung 2 über die Vollendung einer Operationssteuerung
in Reaktion auf einen zur Speicherkarte 1 gegebenen Steuerungsbefehl,
eine Unterbrechung zum Informieren der Hosteinrichtung 2 über das
Auftreten eines Fehlers, wenn in Reaktion auf einen zur Speicherkarte 1 gegebenen
Steuerungsbefehl eine Operationssteuerung ausgeführt wird, eine Unterbrechung
für einen Anforderungszugriff
auf die Hosteinrichtung, eine Unterbrechung zum Informieren der
Hosteinrichtung 2 über eine
Information zum Bewirken, dass ein zur Speicherkarte 1 gegebener
Steuerungsbefehl nicht ausführbar ist
usw. auf.
-
In
der Speicherkarte 1 werden die oben beschriebenen Elemente
einer Unterbrechung den jeweiligen Bits der Paralleldaten (DATA[3:0])
und Änderungen
der Leitung, die entsprechend erzeugten Elementen einer Unterbrechung
auf einem hohen Pegel sein sollten, zugeteilt. Das heißt, ein
INT-Signal derart, dass die Bitposition, die im Zustand BS0 auf
einem hohen Pegel sein soll, entsprechend den in der Speicherkarte 1 erzeugten
Inhalten einer Unterbrechung variiert, von der Speicherkarte 1 erzeugt
wird.
-
Im
Zustand BS0 überwacht
die Hosteinrichtung 2 die Pegel der jeweiligen Bits der
Paralleldaten (DATA[3:0]) und detektiert infolgedessen zur gleichen
Zeit die Erzeugung einer Unterbrechungsanforderung von der Speicherkarte 1,
die Bitposition, die auf einem hohen Pegel ist, und das Element
einer Unterbrechung von der Speicherkarte 1.
-
Im
Gegensatz dazu informiert bei einem herkömmlichen Speicherkartensystem
die Speicherkarte einfach die Hostseite über die Anwesenheit/Abwesenheit
einer Unterbrechungsanforderung. Deshalb kann, selbst wenn es eine
Unterbrechungsanforderung von der Speicherkarte gibt, die Hostseite
das Element einer Unterbrechung zusammen mit der Anforderung nicht
bestätigen,
und die Hostseite muss eine Paketkommunikation herstellen, um das
Element einer Unterbrechung von der Speicherkartenseite auszulesen.
Jedoch werden bei der Speicherkarte 1 und der Hosteinrichtung 2 der
Ausführungsform
der vorliegenden Erfindung die Elemente einer Unterbrechung jeweils
den Bits der vier Bitdatenleitungen zugeteilt. Deshalb kann die
Hosteinrichtung 2 die Unterbrechungsanforderung und das
Element einer Unterbrechung zur gleichen Zeit bestätigen.
-
Deshalb
braucht bei der vorliegenden Erfindung, wenn eine Unterbrechungsanforderung
von der Speicherkarte 1 erzeugt wird, die Hosteinrichtung 2 keine
Paketkommunikation zur Bestätigung
der Inhalte der Anforderung auszuführen. Kurz ausgedrückt kann
die Ausführungszeit
der Datenübertragungssequenz
zwischen der Speicherkarte 1 und der Hosteinrichtung 2 reduziert
werden.
-
Bei
dieser Ausführungsform
weist das INT-Signal der Speicherkarte 1 jeden Bitwert
auf, der in einem INT-Register gespeichert ist und durch den Operationszustand
auf der Basis eines Steuerungsbefehls reflektiert wird. Das INT-Register ist in einer
Statusregistergruppe in der Registerschaltung 13 bereitgestellt.
Wenn das Buszustandssignal BS0 anzeigt, bezieht sich die Parallelschnittstellenschalung 12 der
Speicherkarte 1 auf jeden Bitwert des INT-Registers. Wenn der
Bitwert valid (gültig)
(1) ist, wird die mit diesem Bit korrespondierende Datenleitung
auf einen hohen Pegel gesteuert. Wenn der Bitwert invalid (ungültig) (0)
ist, wird die mit diesem Bitwert korrespondierende Datenleitung
auf einen niedrigen Pegel gesteuert. Die spezifischen Inhalte des
INT-Registers und die Relation zwischen jedem Wert des INT-Registers
und den Paralleldaten (DATA[3:0]) wird in der folgenden Beschreibung
der Registerschaltung beschrieben.
-
Es
wird nun die Registerschaltung 13 beschrieben.
-
Die
Registerschaltung 13 weist mehrere interne Register auf.
Die internen Register der Registerschaltung 13 werden entsprechend
den Anwendungen in die folgenden Gruppen 1 bis 5 klassifiziert:
- 1. eine Statusregistergruppe, in welcher der
Status der Speicherkarte 1 und dgl. gespeichert wird;
- 2. eine Parameterregistergruppe, in der Parameter, die zur Ausführung und
dgl. von Befehlen benutzt werden, gespeichert werden;
- 3. eine Extradatenregistergruppe, die für jede Seite des Flash-Speichers
bereitgestellt wird und in der Verwaltungsdaten und dgl. jeder Seite
gespeichert werden;
- 4. ein Registeradressenregister, in welchem Adressen zum Spezifizieren
von Zugriffspositionen zu den Registern der oben beschriebenen Gruppen 1, 2 und 3 gespeichert
werden; und
- 5. ein Befehlsregister, in welchem Steuerungsbefehle, die von
der Hosteinrichtung 2 bereitgestellt werden, gespeichert
werden.
-
Wie
in 11 gezeigt weist die Statusregistergruppe 5 interne
Register auf, das heißt
ein INT-Register, ein Statusregister, ein Typregister, ein Kategorieregister
und ein Clusterregister auf. Die in den internen Register der Statusregistergruppe
gespeicherten Werte werden vom Speicher-I/F-Kontroller 16 aktualisiert.
Auf die internen Register der Statusregistergruppe kann von der
Hosteinrichtung 2 unter Benutzung eines READ_REG_TPC (der
einer der TPCs ist und später
im Detail beschrieben wird) zugegriffen werden. Der Zugriff von
der Hosteinrichtung 2 ist ein Nurlesezugriff. Jedes der
internen Register der Statusregistergruppe kann Bitwerte von acht
Bits speichern, und für
jedes wird eine Adresse gesetzt.
-
*INT-Register
-
Das
INT-Register ist ein Register, in welchem der Operationszustand
der Speicherkarte 1 eingestellt wird. Der Wert in diesem
INT-Register wird vom Speicher-I/F-Kontroller 16 entsprechend
dem Resultat einer mit einem von der Hosteinrichtung 2 der
Speicherkarte 1 bereitgestellten Steuerungsbefehl aktualisiert.
Wie in 12 gezeigt ist das TNT-Register
ein Achtbitregister. Im INT-Register wird der Operationszustand
beim niedrigstwertigen Bit (D0) und bei drei Bits (D5 bis D7) hoher
Ordnung von acht Bits eingestellt. Die verbleibenden Bits werden
reserviert.
-
Das
Bit D7 des TNT-Registers ist ein CED-Bit (CED = command end (Befehlsende)).
Das CED-Bit ist ein Bit, welches das Ende einer Ausführung eines
durch EX_SET_CMD_TPC oder SET_CMD_TPC (der einer der TPCs ist und
später
um Detail beschrieben wird) gesetzten Steuerungsbefehls anzeigt.
Das Ende einer Ausführung
bedeutet in diesem Fall das Ende einer Ausführung ungeachtet dessen, ob die
Ausführung
normal endete oder durch eine Fehler endete. Der Bitwert des CED-Bits wird vom Speicher-I/F-Kontroller 16 invalid (0)
gemacht, wenn der auf EX_SET_CMD_TPC oder SET_CMD_TPC basierende
Steuerungsbefehl gesetzt oder in einem Anfangszustand ist. Der Bitwert
des CED-Bits wird vom Speicher-I/F-Kontroller 16 valid (1) gemacht,
wenn eine Ausführung
des auf EX_SET_CMD_TPC oder SET_CMD_TPC basierenden Steuerungsbefehls
endet.
-
Das
Bit D6 des INT-Registers ist ein ERR-Bit (ERR = Error (Fehler)).
Das ERR-Bit ist ein Bit, das anzeigt, dass als ein Resultat einer
Ausführung
eines Speicherzugriffsbefehls (Steuerungsbefehl) und eines Sicherheitsbefehls
(Steuerungsbefehl), die vom EX_SET_CMD_TPC oder SET_CMD_TPC gesetzt
werden, ein Fehler auftrat. Der Bitwert des ERR-Bits wird vom Speicher-I/F-Kontroller 16 valid
(1) gemacht, wenn ein Fehler auftritt. Der Bitwert des ERR-Bits
wird vom Speicher-I/F-Kontroller 16 invalid (0) gemacht,
wenn ein Steuerungsbefehl durch einen neuen EX_SET_CMD_TPC oder
SET_CMD_TPC gesetzt wird oder wenn der Fehlerzustand beseitigt wird.
-
Das
Bit D5 des INT-Registers ist ein BREQ_PRG_BIT (BREQ_PRG = buffer
request/progress (Puffer-Anforderung(Fortschritt)). Das BREQ_PRG-Bit
ist ein Bit, das im Fall einer Zugriffsanforderung zum Zugriff auf
die Datenpufferschaltung 14 zur Hosteinrichtung 2,
die als ein Resultat einer Ausführung
eines vom EX_SET_CMD_TPC oder SET_CMD_TPC gesetzten Speicherzugriffsbefehls
(Steuerungsbefehl) und Sicherheitsbefehls (Steuerungsbefehl) erzeugt
wird, den Status eines Fortschritts anzeigt, und es werden eine
interne Löschverarbeitung
und Formatierung des nichtflüchtigen
Halbleiterspeichers 17 ausgeführt. Beispielsweise ist es
ein Bit, das die Existenz einer Datenschreibanforderung zum Schreiben
von Daten in die Datenpufferschaltung 14, wenn ein Schreibbefehl
an den nichtflüchtigen
Halbleiterspeicher 17 ausgegeben wird, einer Datenleseanforderung
zum Lesen von Daten von der Datenpufferschaltung 14, wenn
ein Lesebefehl zum Lesen von Daten vom nichtflüchtigen Halbleiterspeicher 17 ausgegeben
wird, oder einer Empfangsanforderung zum Empfang von Sicherheitsdaten
anzeigt. Der Bitwert des BREQ/PRG-Bits wird vom Speicher-I/F-Kontroller 16 valid
(1) gemacht, wenn jede betreffende Anforderung erzeugt wird. Der
Bitwert des BREQ/PRG-Bits wird vom Speicher-I/F-Kontroller 16 invalid
(0) gemacht, wenn durch die Hosteinrichtung 2 in Reaktion
auf die Anforderung ein auf einem TPC basierender Zugriff auftritt.
Der Bitwert des BREQ/PRG-Bits wird vom Speicher-I/F-Kontroller 16 entsprechend
dem Status eines Fortschritts einer Formatierung oder Löschung aktualisiert.
-
Das
Bit D0 des INT-Registers ist ein CMDNK-Bit (CMDNK = command nack
(Befehlsnegativrückmeldung).
Das CMDNK-Bit ist ein Bit, das anzeigt, dass ein vom EX_SET_CMD_TPC
oder SET_CMD_TPC gesetzter Befehl nicht ausgeführt werden kann. Der Bitwert
wird vom Speicher-I/F-Kontroller 16 valid (1) gemacht,
wenn der vom EX_SET_CMD_TPC oder SET_CMD_TPC gesetzte Steuerungsbefehl
nicht ausgeführt werden
kann. Der Bitwert wird invalid (0) gemacht, wenn der vom EX_SET_CMD_TPC
oder SET_CMD_TPC gesetzte Steuerungsbefehl ausgeführt werden
kann.
-
Die
wie oben beschriebenen Bits werden in das INT-Register gesetzt.
Infolgedessen können,
wenn die Bitwerte des INT-Registers richtig kombiniert sind, Betriebszustände, wie
sie in 13 gezeigt sind, in Reaktion
auf den letzten Steuerungsbefehl als der Betriebszustand der Speicherkarte 1 ausgedrückt werden.
-
Insbesondere
wenn CED = 1, ERR = 0, BREQ/PRG = 0 und CMDNK = 0 gilt, zeigen diese
Werte einen Betriebszustand an, dass eine Ausführung eines gegebenen Steuerungsbefehls
normal endete. Wenn CED = 1, ERR = 1, BREQ/PRG = 0 und CMDNK = 0
gilt, zeigen diese Werte einen Betriebszustand an, dass eine Ausführung eines
gegebenen Steuerungsbefehls mit einem Fehler endete. Wenn CED =
0, ERR = 0, BREQ/PRG = 1 und CMDNK = 0 gilt, zeigen diese Werte
einen Betriebszustand an, dass die Ausführung eines gegebenen Steuerungsbefehls
normal ausgeführt
wird und dass eine Zugriffsanforderung zur Hosteinrichtung 2 gemacht
wird. Wenn CED = 0, ERR = 1, BREQ/PRG = 1 und CMDNK = 0 gilt, zeigen
diese Werte einen Betriebszustand (operating state) an, dass bei
der Ausführung
eines gegebenen Steuerungsbefehls ein Fehler erzeugt wird und dass
eine Zugriffsanforderung an die Hosteinrichtung 2 gemacht
wird. Wenn CED = 0, ERR = 0, BREQ/PRG = 0 und CMDNK = 0 gilt, zeigen
diese Werte einen Betriebszustand an, dass ein gegebener Steuerungsbefehl
ausgeführt
wird. Wenn CED = 0, ERR = 1, BREQ/PRG = 0 und CMDNK = 0 gilt, zeigen
diese Werte einen Betriebszustand an, dass ein Löschen des nichtflüchtigen
Halbleiterspeichers 17 ausgeführt wird oder eine Formatierung
ausgeführt
wird. Wenn CED = 1, ERR = 0, BREQ/PRG = 0 und CMDNK = 1 gilt, zeigen diese
Werte einen Betriebszustand an, dass ein gegebener Steuerungsbefehl
nicht ausführbar
ist.
-
Wenn
vom EX_SET_CMD_TPC oder SET_CMD_TPC ein neuer Steuerungsbefehl gesetzt
wird, werden im INT-Register die Anfangswerte der Bits vom Speicher-I/F-Kontroller 16 wiederhergestellt
(das heißt
alle Bitwerte sind 0).
-
*Relation zwischen INT-Register und INT-Signal
-
Wie
oben beschrieben werden die Werte der jeweiligen Bits (CED, ERR,
BREQ/PRG, CMDNK) im INT-Register auf das INT-Signal reflektiert.
Im Zustand BS0 steuert die Parallelschnittstellenschaltung 12 der Speicherkarte 1 die
jeweiligen Datenleitungen der Paralleldaten (DATA[3:0]) entsprechend
den Bitwerten (CED, ERR, BREQ/PRG, CMDNK) des INT-Registers auf
einen hohen Pegel oder einen niedrigen Pegel. Das Folgende ist die
Relation zwischen den jeweiligen Bits des INT-Registers und den jeweiligen Leitungen
der Paralleldaten.
DATA0:CED
DATA1:ERR
DATA2:BREQ/PRG
DATA3:CMDNK
-
Die
Parallelschnittstellenschaltung 12 bezieht sich während der
Periode, wenn der Zustand BS0 ist, konstant auf die Werte im INT-Register.
Wenn irgendeiner der Bitwerte im INT-Register valid (1) ist, steuert
die Parallelschnittstellenschaltung 12 die korrespondierende
Datenleitung auf einen hohen Pegel (1). Wenn irgendeiner der Bitwerte
invalid (0) ist, steuert die Parallelschnittstellenschaltung 1 die
korrespondierende Datenleitung auf einen niedrigen Pegel (0). Während der
Periode, wenn der Zustand BS0 ist, überwacht die Hosteinrichtung 2 die
Pegel der jeweiligen Datenleitungen der Paralleldaten (DATA[3:0])
und entscheidet, ob von der Speicherkarte 1 eine Unterbrechungsanforderung
ausgegeben wird oder nicht. Wenn von der Speicherkarte 1 eine
Unterbrechungsanforderung ausgegeben wird, dass heißt, wenn
entschieden wird, dass eine der Datenleitungen von einem niedrigen
Pegel auf einen hohen Pegel geschaltet wird, detektiert die Hosteinrichtung 2 die
Leitung, die auf einem hohen Pegel ist und detektiert infolgedessen
einen der in 13 gezeigten Betriebszustände. Dann
führt die
Hosteinrichtung 2 eine mit dem detektierten Betriebszustand
korrespondierende Verarbeitung aus.
-
In
der Parameterregistergruppe sind, wie in 14 gezeigt,
interne Register bereitgestellt, das heißt ein Systemparameterregister,
ein Datenzählungs/Sicherheitsparameter-Register,
ein Datenadressen/Revisionszahl-Register,
ein TPC-Parameter-Register und ein Befehlsparameter-Register. Die
in den internen Registern in der Parameterregistergruppe gespeicherten
Werte werden von der Hosteinrichtung 2 aktualisiert, und auf
diese Werte wird Bezug genommen, wenn der Speicher-I/F-Kontroller 16 einen
Steuerungsbefehl ausführt. Auf
die internen Register in der Parameterregistergruppe kann von der
Hosteinrichtung 2 unter Benutzung eines WRITE-REG-TPC und
EX_SET_CMD_TPC (der jeweils einer der TPCs ist und später im Detail
beschrieben wird) zugegriffen werden. In den internen Registern
in der Parameterregistergruppe ist alle acht Bits eine Adresse gesetzt.
-
*Datenzählungs/Sicherheitsparameter-Register
-
Im
Datenzählungs/Sicherheitsparameter-Register
ist die Anzahl von Daten gespeichert, die notwendig ist, wenn ein
von der Hosteinrichtung 2 der Speicherkarte 1 bereitgestellter
Speicherzugriffsbefehl (Steuerungsbefehl) ausgeführt wird. Beispielsweise wird
die Datengröße der beim
Auslesen von Daten aus dem nichtflüchtigen Halbleiterspeicher 17 gelesenen
Daten und die Datengröße der beim
Schreiben von Daten in den nichtflüchtigen Halbleiterspeicher 17 geschriebenen
Daten eingestellt. Außerdem
sind im Datenzählungs/Sicherheitsparameter-Register
unterschiedlich eingestellte Werte, die bei Ausführung eines Sicherheitsbefehls
(Steuerungsbefehl) notwendig sind, gespeichert. Die Größe des Datenzählungs/Sicherheitsparameter-Registers
ist 16 Bits, und für
Achtbiteinheiten werden jeweils zwei Adressen gesetzt.
-
*Datenadressen/Revisionszahl-Register
-
Im
Datenadressen/Revisionszahl-Register wird auf dem nichtflüchtigen
Halbleiterspeicher 17 eine Adresse, die bei Ausführung eines
von der Hosteinrichtung 2 der Speicherkarte 1 bereitgestellten
Speicherzugriffsbefehls (Steuerungsbefehls) notwendig ist, gespeichert.
Beispielsweise wird eine Führungs-
bzw. Anfangsadresse (leading address) einer Leseposition beim Auslesen
von Daten aus dem nichtflüchtigen
Halbleiterspeicher 17 oder eine Führungs- bzw. Anfangsadresse
einer Schreibposition beim Schreiben von Daten in den nichtflüchtigen
Halbleiterspeicher 17 gespeichert. Außerdem wird im Datenadressen/Revisionszahl-Register
eine Revisionszahl, die bei Ausführung
eines Sicherheitsbefehls (Steuerungsbefehl) notwendig ist, gespeichert.
Die Größe des Datenadressen/Revisionszahl-Registers
ist 32 Bits, und für
Achtbiteinheiten werden jeweils vier Adressen gesetzt.
-
Auf
das Datenzählungs/Sicherheitsparameter-Register
und das Datenadressen/Revisionszahl-Register wird bei Ausführung von
READ_DATA, READ_INFO, WRITE_DATA, WRITE_INFO und dgl. von Speicherzugriffsbefehlen (Steuerungsbefehlen)
Bezug genommen. Entsprechend einem WRITE_REG_TPC und EX_SET_CMD_TPC
werden Daten in das Datenzählungs/Sicherheitsparameter-Register und das
Datenadressen/Revisionszahl-Register geschrieben. Die Inhalte dieser
Steuerungsbefehle werden später
im Detail beschrieben.
-
Das
Registeradressenregister ist ein Register, das eine Führungs-
bzw. Anfangsadresse und eine Datenlänge eines Registers, auf das
zuzugreifen ist, wenn die Hosteinrchtung 2 auf die oben
beschriebene Statusregistergruppe und Parameterregistergruppe durch
Benutzung eines TPC zugreift, voreinstellt.
-
Daten
können
in die oben beschriebene Statusregistergruppe und Parameterregistergruppe
unter Benutzung eines WRITE_REG_TPC (der einer der einer der TPCs
ist und später
im Detail beschrieben wird) geschrieben werden. Daten können aus
der Statusregistergruppe und Parameterregistergruppe unter Benutzung eines
READ_REG_TPC (der einer der TPCs ist und später im Detail beschrieben wird)
gelesen werden. Jedoch weisen dieser READ_REG_TPC und READ_REG_TPC
keine Information, die eine Registerposition als einen Faktor spezifiziert,
auf. Deshalb werden, wenn die Hosteinrichtung 2 unter Benutzung
eines WRITE_REG_TPC oder READ_REG_TPC auf ein Register zugreift,
eine Adresse und eine Datenlänge
für die Statusregistergruppe
und Parameterregistergruppe eingestellt. Wenn ein WRITE_REG_TPC
oder READ_REG_TPC gegeben ist, bezieht sich der Speicher-I/F-Kontroller 16 auf
die im Registeradressenregister gespeicherte Information und führt die
mit jedem Befehl korrespondierende Verarbeitung aus. Ein TPC zum Speichern
der Registeradresse und der Datenlänge im Registeradressenregister
ist ein SET_R_W_REG_ADRS_TPC, der später im Detail beschrieben wird.
-
Das
Befehlsregister ist ein Register zum Speichern von Steuerungsbefehlen,
die von der Hosteinrichtung 2 bereitgestellt werden. In
Reaktion auf die im Befehlsregister gespeicherten Steuerungsbefehle
führt der Speicher-I/F-Kontroller 16 unterschiedliche
Operationssteuerung aus. Ein TPC zum Speichern von Steuerungsbefehlen
im Befehlsregister ist SET_CMD_TPC und EX_SET_CMD_TPC, die später im Detail
beschrieben werden. Es werden nun TPCs (TPC = transfer protocol
commands (Übertragungsprotokollbefehle)
beschrieben.
-
TPCs
sind Befehle, die auf dem Datenübertragungsprotokoll
der vorliegenden Speicherkarte 1 und Hosteinrichtung 2 vorgeschrieben
sind. TPCs werden in der Hosteinrichtung 2 benutzt, wenn
sie auf die Registerschaltung 13 und die Datenpufferschaltung 14 in
der Speicherkarte 1 zugreift. TPCs werden von der Hosteinrichtung 2 zur
Speicherkarte 1 mit dem Timing übertragen, wenn der Buszustand
BS1 ist. Die Codeinhalte dieser TPCs und ihre spezifischen Operationen
werden beschrieben.
-
Das
Folgende sind exemplarische TPCs.
READ_LONG_DATA_TPC | |
READ_SHORT_DATA_TPC | |
READ_REG_TPC | |
GET_INT_TPC | |
WRITE_LONG_DATA_TPC | |
WRITE_SHORT_DATA_TPC | |
WRITE_REG_TPC | |
SET_R
W_REG_ADRS_TPC | |
| SET_CMD_TPC |
EX_SET_CMD_TPC. | |
-
READ_LONG_DATA_TPC
ist ein Befehl zum Auslesen von Daten aus 512 Bytes aus der Datenpufferschaltung 14.
Das heißt
er ist ein Befehl zur Übertragung
all der in der Datenpufferschaltung 14 gespeicherten Daten
zur Hosteinrichtung 2. READ_LONG_DATA_TPC ist ein Lesesystembefehl.
Insbesondere werden bei Ausgabe des READ_LONG_DATA_TPC aus der Hosteinrichtung 2 zur
Speicherkarte 1 im Zustand BS1 Daten aus 512 Bytes in der
Datenpufferschaltung 14 im Zustand BS3 von der Speicherkarte 1 zur
Hosteinrichtung 2 übertragen.
-
READ_SHORT_DATA_TPC
ist ein Befehl zum Auslesen von Daten mit einer durch das TPC-Parameter-Register
eingestellten Datenlänge
aus der Datenpufferschaltung 14. Das heißt, er ist
ein Befehl zur Übertragung
einer vorbestimmten Menge von in der Datenpufferschaltung 14 gespeicherten
Daten zur Hosteinrichtung 2. READ_SHORT_DATA_TPC ist ein
Lesesystembefehl. Insbesondere werden bei Ausgabe des READ_SHORT_DATA_TPC
aus der Hosteinrichtung 2 zur Speicherkarte 1 im
Zustand BS1 Daten einer vorbestimmten Anzahl von Bytes in der Datenpufferschaltung 14 im
Zustand BS3 von der Speicherkarte 1 zur Hosteinrichtung 2 übertragen.
-
READ_REG_TPC
ist ein Befehl zum Auslesen des Werts eines Registers, das eine
dafür gesetzte Adresse
aufweist. Das Register, das eine dafür gesetzte Adresse aufweist,
ist jedes interne Register der Statusregistergruppe, der Parameterregistergruppe
und der Extraregistergruppe. Die Adressenposition (Führungsadresse
und Datenlänge)
des Registers, von dem Lesen auszuführen ist, ist der im Registeradressenregister
gespeicherte Wert. Kurz ausgedrückt
ist es, wenn auf einen Wert in einem Register Bezug genommen wird,
notwendig, die Zieladressenposition im Voraus in das Registeradressenregister
zu schreiben. Ein TPC zum Schreiben der Adressenposition in das
Registeradressenregister ist SET_R_W_REG_ADRS_TPC. READ_REG_TPC
ist ein Lesesystembefehl. Insbesondere werden bei Ausgabe von READ_REG_TPC
von der Hosteinrichtung 2 zur Speicherkarte 1 im
Zustand BS1 Daten einer vorbestimmten Anzahl von Bits im Zielregister
im Zustand BS3 von der Speicherkarte 1 zur Hosteinrichtung 2 übertragen.
-
GET_INT_TPC
ist ein Befehl zum Auslesen des Werts (von acht Bits) des INT-Registers,
das ein internes Register der Statusregistergruppe ist. Anders als
der oben beschriebene READ_REG_TPC dient dieser GET_INT_TPC zum
Auslesen des Werts des INT-Registers ohne Speicherung der Adressenposition
im Registeradressenregister. GET_INT_TPC ist ein Lesesystembefehl.
Insbesondere werden bei Ausgabe von GET_INT_TPC aus der Hosteinrichtung 2 zur
Speicherkarte 1 im Zustand BS1 Daten von acht Bits im INT-Register
im Zustand BS3 von der Speicherkarte 1 zur Hosteinrichtung 2 übertragen.
-
WRITE_LONG_DATA_TPC
ist ein Befehl zum Schreiben von Daten aus 512 Bytes in die Datenpufferschaltung 14.
Das heißt,
er ist ein Befehl zur Übertragung
all der Daten für
die Datenpufferschaltung 14 von der Hosteinrichtung 2 zur
Speicherkarte 1. WRITE_LONG_DATA_TPC ist ein Schreibsystembefehl.
Insbesondere werden bei Ausgabe von WRITE_LONG_DATA_TPC von der
Hosteinrichtung 2 zur Speicherkarte 1 im Zustand
BS1 Daten aus 512 Bytes, die in die Datenpufferschaltung 14 zu
schreiben sind, im Zustand BS2 von der Hosteinrichtung 2 zur
Speicherkarte 1 übertragen.
-
WRITE_SHORT_DATA_TPC
ist ein Befehl zum Schreiben von Daten, die eine durch das TPC-Parameterregister
eingestellte Datenlänge
aufweisen, in die Datenpufferschaltung 14. Das heißt, er ist
ein Befehl zur Übertragung
einer vorbestimmten Menge von Daten von der Hosteinrichtung 2 in
die Datenpufferschaltung 14. WRITE_SHORT_DATA_TPC ist ein
Schreibsystembefehl. Insbesondere werden bei Ausgabe von WRITE_SHORT_DATA_TPC
von der Hosteinrichtung 2 zur Speicherkarte 1 im
Zustand BS1 Daten einer vorbestimmten Anzahl von Bytes, die in die
Datenpufferschaltung 14 zu schreiben sind, im Zustand BS2
von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen.
-
WRITE_REG_TPC
ist ein Befehl zum Schreiben des Werts eines Registers, das eine
dafür gesetzte Adresse
aufweist. Das Register, das eine dafür gesetzte Adresse aufweist,
ist jedes interne Register der Statusregistergruppe, der Parameterregistergruppe
und der Extraregistergruppe. Jedoch ist das Register, in das von
der Hosteinrichtung 2 ein Wert geschrieben werden kann,
in der Parameterregistergruppe und der Extraregistergruppe inkludiert.
Die Adressenposition (Führungs-
bzw. Anfangsadresse und Datenlange) des Registers, bei dem ein Schreiben
auszuführen
ist, ist der im Registeradressenregister gespeicherte Wert. Kurz
ausgedrückt
ist es beim Schreiben eines Werts in ein Register notwendig, die
Zieladressenposition im Voraus in das Registeradressenregister zu
schreiben. Ein TPC zum Schreiben der Adressenposition in das Registeradressenregister
ist SET_R_W_REG_ADRS_TPC. WRITE_REG_TPC ist ein Schreibsystembefehl.
Insbesondere werden bei Ausgabe von WRITE_REG_TPC aus der Hosteinrichtung 2 zur
Speicherkarte 1 im Zustand BS1 Daten, die in das Zielregister
zu schreiben sind, im Zustand BS2 von der Hosteinrichtung 2 zur
Speicherkarte 1 übertragen.
-
SET_R_W_REG_ADRS_TPC
ist ein Befehl zum Speichern der Adressenposition eines Registers,
auf das entsprechend READ_REG_TPC oder WRITE_REG_TPC zuzugreifen
ist, im Registeradressenregister. SET_R_W_REG_ADRS TPC ist ein Schreibsystembefehl.
Insbesondere werden bei Ausgabe von SET_R_W_REG_ADRS_TPC aus der
Hosteinrichtung 2 zur Speicherkarte 1 im Zustand
BS1 Daten, die in das Registeradressenregister zu schreiben sind,
im Zustand BS2 von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen.
-
SET_CMD_TPC
ist ein Befehl zum Speichern eines Steuerungsbefehls zum Speicher-I/F-Kontroller 16 im
Befehlsregister als einen Operationsbefehl. Wenn im Befehlsregister
ein Steuerungsbefehl entsprechend SET_CMD_TPC gespeichert wird,
führt der
Speicher-I/F-Kontroller 16 eine mit dem Steuerungsbefehl korrespondierende
Operationssteuerung aus. Die Inhalte der Operation umfassen beispielweise
eine Operationssteuerung für
den Speicher, eine Operation zu unterschiedlichen Funktionen mit
Ausnahme für
den Speicher, eine sich auf die Sicherheit von Daten beziehende
Operation usw. Auf Basis des Steuerungsbefehls wird die Operation
abhängig
von den Inhalten der Operation in Bezug auf den im Parameterregister
gespeicherten Wert ausgeführt.
In diesem Fall ist es notwendig, den Wert vor Ausgabe von SET_CMD_TPC
unter Benutzung des oben beschriebenen WRITE_REG_TPC im
-
Voraus
in einem Paket in ein vorbestimmtes internes Register der Parameterregistergruppe
zu schreiben. SET_CMD_TPC ist ein Schreibsystembefehl. Insbesondere
wird bei Ausgabe von SET_CMD_TPC von der Hosteinrichtung 2 zur
Speicherkarte 1 im Zustand BS1 ein Code eines in das Befehlsregister
zu schreibenden Steuerungsbefehls im Zustand BS2 von der Hosteinrichtung 2 zur
Speicherkarte 1 übertragen.
-
EX_SET_CMD_TPC
ist ein Befehl zum Speichern von Daten im Datenzählungs/Sicherheitsparameter-Register
und Datenadressen/Revisionszahl-Register
und zum Speichern eines Steuerungsbefehls im Befehlsregister. Wenn
ein Speicherzugriffsbefehl als ein Steuerungsbefehl entsprechend
EX_SET_CMD_TPC übertragen
wird, wird die Datenmenge von Daten, auf die im nichtflüchtigen
Halbleiterspeicher 17 zuzugreifen ist, im Datenzählungs/Sicherheitsparameter-Register
gespeichert, und die Datenadresse im nichtflüchtigen Halbleiterspeicher 17 wird
im Datenadressen/Revisionszahl-Register gespeichert. Wenn ein Sicherheitsbefehl als
ein Steuerungsbefehl entsprechend EX_SET_CMD_TPC übertragen
wird, wird ein Parameter zur Sicherheitsverwaltung im Datenzählungs/Sicherheitsparameter-Register
gespeichert, und eine Revisionszahl zur Sicherheitsverwaltung wird
im Datenadressen/Revisionszahl-Register gespeichert. Wenn ein Steuerungsbefehl entsprechend
EX_SET_CMD_TPC übertragen
wird, werden Übertragungsdaten
im Datenzählungs/Sicherheitsparameter-Register
und Datenadressen/Revisionszahl-Register
gespeichert, bevor der Speicher-I/F-Kontroller 16 den Steuerungsbefehl
ausführt.
-
EX_SET_CMD_TPC
ist ein Schreibsystembefehl. Insbesondere wird bei Ausgabe von EX_SET_CMD_TPC
aus der Hosteinrichtung 2 zur Speicherkarte 1 im
Zustand BS1 ein Code eines Steuerungsbefehls oder dgl. im Zustand
BS2 von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen.
-
Die
gleiche Datenübertragungsoperation
wie die von EX_SET_CMD_TPC kann auch mit EX_SET_CMD_TPC realisiert
werden. Jedoch beispielsweise im Fall einer Übertragung eines Steuerungsbefehls
für eine
sich auf einen in einem internen Register der Parameterregistergruppe
gespeicherten Wert beziehenden Operationssteuerung müssen im
Fall einer Übertragung
eines Steuerungsbefehls wie beispielsweise READ_DATA, READ_INFO,
WRITE_DATA oder WRITE_INFO die Daten, auf die Bezug zu nehmen ist,
im Voraus zum Parameterregister übertragen werden.
Das heißt,
SET_R_W_REG_ADRS_TPC und WRITE_REG_TPC müssen vor der Ausführung von
SET_CMD_TPC übertragen
werden.
-
Wenn
andererseits EX_SET_CMD_TPC benutzt wird, ist es nicht notwendig,
Daten im Voraus unter Benutzung von WRITE_REG_TPC im Datenzählungs/Sicherheitsparameter-Pegister
und Datenadressen/Revisionszahl-Register
zu speichern. Kurz ausgedrückt
kann EX_SET_CMD_TPC die Datenübertragungsoperation,
die im Fall einer Benutzung von SET_CMD_TPC drei Pakete erfordern
würde,
mit nur einem einzelnen Paket realisieren.
-
Deshalb
muss bei Übertragung
eines Steuerungsbefehls unter Benutzung von EX_SET_CMD_TPC keine
Paketsequenz zur Übertragung
von SET_R_W_REG_ADRS_TPC und WRITE_REG_TPC ausgeführt werden,
und es kann eine Hochgeschwindigkeitsverarbeitung realisiert werden.
-
15 zeigt
ein spezielles Beispiel einer Übertragung
von Daten, die von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen
werden, wenn SET_CMD_TPC ausgeführt
wird. 16 zeigt ein spezielles Beispiel
einer Übertragung
von Daten, die von der Hosteinrichtung 2 zur Speicherkarte 1 übertragen
werden, wenn EX_SET_CMD_TPC ausgeführt wird. Die in den 15 und 16 gezeigten Übertragungsdaten
werden im Zustand BS2 übertragen.
-
Übertragungsdaten
im Fall, dass SET_CMD_TPC ausgeführt
wird, weisen einen Befehlscode aus einem einzelnen Byte und einem
CRC aus zwei Bytes auf. Der Einbyte-Befehlscode ist ein Code, der
einen Steuerungsbefehl spezifiziert, der im Speicher-I/F-Kontroller 16 auszuführen wird.
Der Befehlscode wird im Befehlsregister gespeichert.
-
Übertragungsdaten
im Fall, dass EX_SET_CMD_TPC ausgeführt wird, weisen einen Befehlscode
aus einem einzelnen Byte, Zählungs/Sicherheitsparameter-Daten
aus zwei Bytes, Adressen/Revisionszahl-Daten aus zwei Bytes und
einen CRC aus zwei Bytes auf. Die Zählungs/Sicherheitsparameter-Daten
sind Daten, die im Datenzählungs/Sicherheitsparameter-Register
zu speichern sind. Die Adressen/Revisionszahl-Daten sind Daten,
die im Datenadressen/Revisionszahl-Register zu speichern sind.
-
Wie
in den 15 und 16 gezeigt
weisen die Übertragungsdaten
im Fall von EX_SET_CMD_TPC eine längere Datenlänge als
die Übertragungsdaten
im Fall von SET_CMD_TPC auf. Deshalb benutzt, wenn ein Befehlscode übertragen
wird, der ohne Nezugnahme auf das Datenzählungs/Sicherheitsparameter-Register
und das Datenadressen/Revisionszahl-Register ausgeführt werden
kann, die Hosteinrichtung 2 durch Benutzung von SET_CMD_TPC
anstelle von EX_SET_CMD_TPC ein kurzes Paket. Deshalb kann, wenn
SET_CMD_TPC und EX_SET_CMD_TPC als ein TPC-Befehlssatz gesetzt und entsprechend
einem zu übertragenden
Steuerungsbefehl adaptiv ausgewählt
werden, eine Verarbeitung mit einer höheren Geschwindigkeit ausgeführt werden.
-
Es
werden mm Steuerungsbefehle beschrieben.
-
Steuerungsbefehle
sind Operationssteuerungsbefehle, die von der Hosteinrichtung 2 dem
Speicher-I/F-Kontroller 16 der Speicherkarte 1 bereitgestellt
werden. Ein Steuerungsbefehl wird von der Hosteinrichtung 2 entsprechend
SET_CMD_TPC oder EX_SET_CMD_TPC im Befehlsregister in der Speicherkarte 1 gespeichert.
Wenn der Steuerungsbefehl im Befehlsregister gespeichert wird, führt der
Speicher-I/F-Kontroller 16 eine mit diesem Steuerungsbefehl
korrespondierende Operationssteuerung aus. Dann aktualisiert der
Speicher-I/F-Kontroller 16 jeden Wert im INT-Register zusammen
mit der Ausführung
der Operationssteuerung richtig.
-
Steuerungsbefehle
sind als drei Typen klassifiziert, das heißt Speicherzugriffsbefehle,
Funktionsbefehle und Sicherheitsbefehle. Speicherzugriffsbefehle
sind Befehle zum Zugriff auf den nichtflüchtigen Halbleiterspeicher 17 in
der Speicherkarte 1. Funktionsbefehle sind Befehle zum
Zugriff auf unterschiedliche Funktionen auf der Speicherkarte 1.
Sicherheitsbefehle sind Befehle zum Realisieren notwendiger Sicherheitsfunktionen
zum Urheberrechts- bzw.
Copyrightschutz.
-
Die
Speicherzugriffsbefehle weisen beispielsweise einen Befehl zum Auslesen
von Daten aus dem nichtflüchtigen
Halbleiterspeicher 17 in die Datenpufferschaltung 14,
einen Befehl zum Schreiben von Daten von der Datenpufferschaltung 14 in
den nichtflüchtigen
Halbleiterspeicher 17, einen Befehl zum Löschen von Daten
im nichtflüchtigen
Halbleiterspeicher 17 usw. auf.
-
Die
Funktionsbefehle umfassen beispielsweise einen Formatierungsbefehl
zur Wiederherstellung des Zustands dieser Speicherkarte 1 zur
Zeit eines Versands von der Fabrik, einen Schlaf- bzw. Ruhebefehl
zum Stoppen der Operation des Oszillators 18 der Speicherkarte 1 usw.
-
Die
Sicherheitsbefehle umfassen beispielsweise einen Befehl zum Auslesen
einer für
diese Speicherkarte 1 richtigen ID, einen Befehl zur Ausführung einer Operation
in Bezug auf das Sperren eines Inhaltsschlüssels, einen Befehl zum Erzeugen
einer Zufallszahl usw.
-
17 zeigt
Beispiele der Speicherzugriffsbefehle.
-
Wie
in 17 gezeigt umfassen die Speicherzugriffsbefehle
READ_DATA, WRITE_DATA_READ_INFO, WRITR_INFO, READ_ATRB, STOP, ERASE
usw.
-
READ_DATA
ist ein Befehl zum kontinuierlichen Auslesen von Daten von einer
bezeichneten Adresse in einem Benutzerbereich des nichtflüchtigen
Halbleiterspeichers 17. Wenn dieser READ_DATA dem Speicher-I/F-Kontroller 16 bereitgestellt
wird, bezieht sich der Speicher-I/F-Kontroller 16 auf eine
im Daten-Adressen/Revisionszahl-Register
gespeicherte Adresse und greift auf diese Adresse im nichtflüchtigen
Halbleiterspeichers 17 zu und liest infolgedessen von dieser
Adresse Daten aus. Die Auslesedaten werden temporär zur Datenpufferschaltung 14 übertragen.
Wenn die Datenpufferschaltung 14 gefüllt ist, das heißt wenn
Daten von 512 Bytes ausgelesen sind, validiert (1) der Speicher-I/F-Kontroller 16 das
BREQ/PRG-Bit im INT-Register und gibt an die Hosteinrichtung 2 eine
Unterbrechung für
eine Übertragungsanforderung
aus. Wenn dann die Daten in der Datenpufferschaltung 14 von
der Hosteinrichtung 2 ausgelesen werden, überträgt der Speicher-I/F-Kontroller 16 die
nachfolgenden Daten vom nichtflüchtigen
Halbleiterspeichers 17 in die Datenpufferschaltung 14. Der
Speicher-I/F-Kontroller 16 wiederholt die oben beschriebene
Verarbeitung, bis er Daten, die mit der im Datenzählungs/Sicherheitsparameter-Register
gespeicherten Menge von Daten korrespondieren, ausliest. Wenn die
Daten bis zum Ende ohne Fehler ausgelesen werden, validiert (1)
der Speicher-I/F-Kontroller 16 das CMD-Bit im INT-Register
und beendet die Verarbeitung. Wenn während der Verarbeitung ein
Fehler auftritt, validiert (1) der Speicher-I/F-Kontroller 16 das
CMD-Bit im INT-Register und validiert (1) auch das ERR-Bit bis zum
Ende der Verarbeitung.
-
WRITE_DATA
ist ein Befehl zum kontinuierlichen Schreiben der in der Datenpufferschaltung 14 gespeicherten
Daten, startend bei einer bezeichneten Adresse im Benutzerbereich
des nichtflüchtigen
Halbleiterspeichers 17. Wenn dem Speicher-I/F-Kontroller 16 WRITE_DATA
bereitgestellt wird, bezieht sich der Speicher-I/F-Kontroller 16 auf
eine im Datenadressen/Revisionszahl-Register gespeicherte Adresse
und greift auf diese Adresse im nichtflüchtigen Halbleiterspeicher 17 zu.
Startend bei dieser Adresse schreibt der Speicher-I/F-Kontroller 16 sequentiell
Daten. Die zu schreibenden Daten sind Daten, die in der Datenpufferschaltung 14 gespeichert
sind.
-
Wenn
die Datenpufferschaltung 14 leer wird, das heißt Daten
von 512 Bytes geschrieben sind, validiert (1) der Speicher-I/F-Kontroller 16 das
BREQ/PRG-Bit im INT-Register und gibt an die Hosteinrichtung 2 eine Unterbrechung
für eine Übertragungsanforderung
aus. Wenn die nachfolgenden Daten von der Hosteinrichtung 2 in
die Datenpufferschaltung 14 geschrieben werden, schreibt
der Speicher-I/F-Kontroller 16 die Daten sequentiell von
der Datenpufferschaltung 14 in den nichtflüchtigen
Halbleiterspeicher 17.
-
Der
Speicher-I/F-Kontroller 16 wiederholt die oben beschriebene
Verarbeitung, bis er Daten schreibt, die mit der im Datenzählungs/Sicherheitsparameter-Register
gespeicherten Menge von Daten korrespondiert. Wenn die Daten bis
zum Ende ohne Fehler geschrieben werden, validiert (1) der Speicher-I/F-Kontroller 16 das
CMD-Bit im INT-Register und beendet die Verarbeitung. Wenn während der
Verarbeitung ein Fehler auftritt, validiert (1) der Speicher-I/F-Kontroller 16 das
CMD-Bit im INT-Register
und validiert (1) auch das ERR-Bit, um die Verarbeitung zu beenden.
-
READ_INFO
ist ein Befehl zum kontinuierlichen Auslesen von Daten von einer
bezeichneten Adresse im Informationsbuchbereich eines Systembereichs
im nichtflüchtigen
Halbleiterspeichers 17. Die vom Speicher-I/F-Kontroller 16 durchzuführende Verarbeitungsprozedur
ist die gleiche wie im Fall READ_DATA.
-
WIRTE_INFO
ist ein Befehl zum kontinuierlichen Schreiben von Daten in eine
bezeichnete Adresse im Informationsbuchbereich (information book
area) des Systembereichs im nichtflüchtigen Halbleiterspeicher 17.
Die vom Speicher-I/F-Kontroller 16 durchzuführende Verarbeitungsprozedur
ist die gleiche wie im Fall READ_DATA.
-
READ_ATRB
ist ein Befehl zum Auslesen von Attributinformation aus dem nichtflüchtigen
Halbleiterspeicher 17. Wenn dieser READ_ATRB dem Speicher-I/F-Kontroller 16 bereitgestellt
wird, liest der Speicher-I/F-Kontroller 16 Attributinformation
im nichtflüchtigen
Halbleiterspeicher 17 aus und überträgt die Attributinformation
zur Datenpufferschaltung 14.
-
STOP
ist ein Befehl zu Beendigung der Ausführung der Verarbeitung von
READ_DATA, WRITE_DATA, READ_INFO, WRITE_INFO oder READ_ATRB auf
halben Weg. Wenn dem Speicher-I/F-Kontroller 16 STOP bereitgestellt
wird, stoppt der Speicher-I/F-Kontroller 16 die Ausführung von
READ_DATA, WRITE_DATA, READ_INFO, WRITE_INFO oder READ_ATRB.
-
ERASE
ist ein Befehl zum Löschen
von Daten von einer bezeichneten Adresse im Benutzerbereich. Wenn
ERASE dem Speicher-I/F-Kontroller 16 bereitgestellt wird,
bezieht sich der Speicher-I/F-Kontroller 16 auf eine im
Daten-Adressen/Revisionszahl-Register
gespeicherte Adresse und löscht
Daten, die mit der im Datenzählungs/Sicherheitsparameter-Register
gespeicherte Menge von Daten korrespondieren, vom nichtflüchtigen
Halbleiterspeicher 17, startend bei der durch die Adresse
angezeigten Position.
-
Die
entfernbare Speicherkarte, bei der die vorliegende Erfindung ausgewendet
ist, und die Hosteinrichtung, die diese Speicherkarte als ein externes
Speichermedium benutzt, sind oben beschrieben. Die vorliegende Erfindung
ist nicht auf eine solche Speicherkarte beschränkt. Beispielsweise kann die
vorliegende Erfindung auch bei einer Kameraeinrichtung als eine
externe Verbindungseinrichtung der Hosteinrichtung angewendet werden.
In diesem Fall führt
der Speicher-I/F-Kontroller 16 eine Operationssteuerung
der Kameraeinrichtung aus, und Befehle für die Kamerasteuerung werden
als Steuerungsbefehle gesetzt.
-
Wenn
eine gewisse bevorzugte, in den beigefügten Zeichnungen dargestellte
und in der obigen Beschreibung im Detail beschriebene Ausführungsform
der Erfindung beschrieben worden ist, ist dies vom Fachmann so zu
verstehen, dass die Erfindung nicht auf die Ausführungsform beschränkt ist,
sondern dass ohne Verlassen des in den beigefügten Ansprüchen dargelegten und definierten
Schutzbereichs der vorliegenden Erfindung unterschiedliche Modifikationen,
alternative Konstruktionen oder Äquivalente
implementiert werden können.
-
Industrielle Anwendbarkeit
-
Mit
der externen Verbindungseinrichtung und der Hosteinrichtung gemäß der vorliegenden
Erfindung wird, wenn der Zustand eines Buszustandssignals ein Zustand
zum Akzeptieren einer Unterbrechung von der externen Verbindungseinrichtung
zur Hosteinrichtung ist, Information, die den Inhalt einer auf der
Basis eines von der Hosteinrichtung dem Kontroller der externen
Verbindungseinrichtung bereitgestellten Operationssteuerungsbefehls
erzeugten Unterbrechung anzeigt, von der externen Verbindungseinrichtung über den
Datenbus zur Hosteinrichtung als ein Unterbrechungssignal übertragen.
Deshalb kann die Hosteinrichtung durch sich beziehen auf das Unterbrechungssignal
das Element einer von der externen Verbindungseinrichtung erzeugten
Unterbrechung feststellen. Die Hosteinrichtung kann auf das Element
einer Unterbrechung ohne Bestätigung
des Elements der Unterbrechung durch eine Kommunikation mit der
externen Verbindungseinrichtung nach Empfang des Unterbrechungssignals
antworten. Deshalb kann mit der externen Verbindungseinrichtung
und der Hosteinrichtung gemäß der vorliegenden
Erfindung eine Datenübertragungssequenz
reduziert werden, wenn eine Unterbrechungsanforderung von der Externverbindungseinrichtungsseite
ausgegeben wird.