-
GEBIET DER ERFINDUNG
-
Allgemein
betreffen Ausgestaltungen der vorliegenden Erfindung das Gebiet
von Speicher und insbesondere ein Verfahren, eine Vorrichtung und
ein System für
Posted Write Buffer für
Speicher mit unidirektionaler Vollduplex-Schnittstelle.
-
HINTERGRUND DER ERFINDUNG
-
Sowie
die Rechenleistung von Prozessoren steigt, steigt auch das Bedürfnis für schnellere
Datenübertragungen
bei Speichervorrichtungen. Zusätzlich zum
Verbessern der Speicherbandbreite, ist es nützlich, die Effizienz zu verbessern,
mit der die Speicherbandbreite verwendet wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird in den Figuren der beiliegenden Zeichnungen
beispielhaft und nicht einschränkend
dargestellt, in denen ähnliche Bezugszeichen ähnliche
Elemente anzeigen und in denen:
-
1 ein
Blockdiagramm einer beispielhaften elektronischen Vorrichtung ist,
die in Übereinstimmung
mit einer beispielhaften Ausgestaltung der Erfindung zum Ausführen eines
Zwischenspeicheragenten geeignet ist;
-
2 ein
Blockdiagramm einer beispielhaften Zwischenspeicheragenten-Architektur
in Übereinstimmung
mit einer beispielhaften Ausgestaltung der Erfindung ist;
-
3 ein
Flussdiagramm eines beispielhaften Verfahrens für Posted Write Buffering in Übereinstimmung
mit einer beispielhaften Ausgestaltung der Erfindung ist; und
-
4 ein
Blockdiagramm eines beispielhaften Speichermediums ist, das Inhalt
aufweist, der, wenn darauf von einer Vorrichtung zugegriffen wird, die
Vorrichtung zum Ausführen
einer oder mehrerer Aspekte einer oder mehrerer Ausgestaltungen
der Erfindung veranlasst.
-
DETAILLIERTE BESCHREIBUNG
-
In
der folgenden Beschreibung sind zum Zweck der Erklärung zahlreiche
spezielle Details angegeben, um ein vollständiges Verständnis der
Erfindung zu ermöglichen.
Es wird jedoch für
den Fachmann ersichtlich sein, dass Ausgestaltungen der Erfindung
ohne diese speziellen Details ausgeführt werden können. In
anderen Fällen
sind Strukturen und Vorrichtungen in der Form eines Blockdiagramms
dargestellt, um zu vermeiden, dass die Erfindung unverständlich wird.
-
In
der gesamten Beschreibung bedeutet die Bezugnahme auf „ein Ausführungsbeispiel", dass ein besonderes
Merkmal, eine besondere Struktur oder eine Eigenschaft, die in Verbindung
mit dem Ausführungsbeispiel
beschrieben ist, in wenigstens einem Ausführungsbeispiel der vorliegenden
Erfindung beinhaltet ist. Daher bezieht sich das Auftreten des Satzteils „in einem
Ausführungsbeispiel" an verschiedenen
Orten in der gesamten Beschreibung nicht notwendigerweise auf dasselbe
Ausführungsbeispiel.
Weiterhin können
die bestimmten Merkmale, Strukturen oder Eigenschaften in jeder
geeigneten Weise in einer oder mehreren Ausgestaltungen kombiniert
sein.
-
1 ist
ein Blockdiagramm einer beispielhaften elektronischen Vorrichtung,
die zum Ausführen
eines Zwischenspeicheragenten in Übereinstimmung mit einer beispielhaften
Ausgestaltung der Erfindung geeignet ist. Die elektronische Vorrichtung 100 ist
gedacht, jedes einer großen
Vielzahl von traditionellen und nicht-traditionellen elektronischen Vorrichtungen,
Laptops, Desktops, Mobiltelefonen, drahtlosen Kommunikationsteilnehmereinheiten, drahtlosen
Kommunikationstelefonie-Infrastrukturelementen, Personal Digital
Assistants, Set-Top Boxes oder jede andere elektrische Vorrichtung
darzustellen, die von den Lehren der vorliegenden Erfindung Nutzen
ziehen würden.
In Übereinstimmung
mit der dargestellten beispielhaften Ausgestaltung kann die elektronische
Vorrichtung 100 einen oder mehrere Prozessoren 102,
eine Speichersteuerung 104, einen Zwischenspeicheragenten 106,
Systemspeicher 108, Posted Write Buffer 110, eine
Schreib-Schnittstelle 112, eine Lese-Schnittstelle 114,
eine Eingabe/Ausgabe-Steuerung 116, eine Netzwerksteuerung 118,
und Eingabe/Ausgabe Gerät(e) 120 aufweisen,
die wie in 1 gezeigt, miteinander verbunden
sind. Der Zwischenspeicheragent 106, der im Folgenden vollständiger beschrieben
werden wird, kann in elektronischen Vorrichtungen von größerer oder
weniger großer
Komplexität
verwendet werden, als der in 1 dargestellten.
Ebenso können
die innovativen Eigenschaften des Zwischenspeicheragenten 106,
die im Folgenden näher
beschrieben werden, in jeder Kombination von Hardware und Software
ausgestaltet sein.
-
Prozessor(en) 102 können eine
große
Vielfalt von Steuerlogik darstellen, einschließlich, aber nicht auf eine
oder mehrere davon begrenzt, einen Mikroprozessor, eine Programmable
Logic Device (PLD), eine Programmable Logic Array (PLA), einen Application
Specific Integrated Circuit (ASIC), einen Mikrocontroller und Ähnliches,
obwohl die vorliegende Erfindung in dieser Hinsicht nicht begrenzt
ist.
-
Die
Speichersteuerung 104 kann jede Art von Chipsatz oder Steuerlogik
darstellen, die den Systemspeicher 108 mit den anderen
Komponenten der elektronischen Vorrichtung 100 koppelt.
In einer Ausgestaltung kann die Verbindung zwischen Prozessor(en) 102 und
Speichersteuerung 104 als Front-Side Bus bezeichnet werden.
In einer anderen Ausgestaltung kann die Speichersteuerung 104 als North
Bridge bezeichnet werden.
-
Der
Speicheragent 106 kann eine Architektur haben, wie sie
in größerem Detail
mit Bezug auf 2 beschrieben ist. Der Zwischenspeicheragent 106 kann
auch eine oder mehrere Verfahren zum Speichern von Speichereinträgen durchführen, wie etwa
das in größerem Detail
mit Bezug auf 3 beschriebene Verfahren. Obwohl
als Bestandteil der Speichersteuerung 104 gezeigt, kann
der Zwischenspeicheragent 106 auch Bestandteil einer anderen Komponente
sein, zum Beispiel des/der Prozessor(en) oder der Eingabe/Ausgabe-Steuerung 116, oder
kann als Software oder einer Kombination von Hardware und Software
ausgeführt
sein.
-
Der
Systemspeicher 108 kann jede Art von Speichervorrichtung(en)
darstellen, die zum Speichern von Daten und Anweisungen verwendet
werden, die von Prozessoren 102 verwendet wurden oder verwendet
werden. Obwohl die Erfindung diesbezüglich nicht darauf beschränkt ist,
wird der Systemspeicher 108 üblicherweise aus Dynamic Random
Access Memory (DRAM) bestehen. In einer Ausgestaltung kann der Systemspeicher 108 aus Rambus
DRAM (RDRAM) bestehen. In einer anderen Ausgestaltung kann der Systemspeicher 108 aus Double
Data Rata Synchronous DRAM (DDRSDRAM) bestehen. Die vorliegende
Erfindung ist jedoch auf die hier genannten Beispiele von Speichern nicht
begrenzt.
-
Posted
Write Buffer 110 stellt einen relativ kleinen Speicher
dar, der zum temporären
Speichern von Daten verwendet wird, bevor diese an ihre Zieladresse
entlassen (geschrieben) werden. Der Posted Write Buffer 110 kann
indiziert sein, so dass ein bestimmter Dateneintrag entlassen werden
kann, unabhängig
von der Reihenfolge, in der er empfangen wurde. In einer Ausgestaltung
speichert der Posted Write Buffer 110 auch die Adresse(n),
an die die Daten schließlich
entlassen werden. Der Posted Write Buffer 110 kann eine
Steuerlogik enthalten, um unter anderem einen Zwischenspeicherzeiger
zurückzusetzen
und zu pflegen, um Daten an Speicherorte einzugeben, und um Daten
an Speichervorrichtungen auszugeben.
-
Die
Schreib-Schnittstelle 112 stellt eine unidirektionale Schnittstelle
dar, durch die Daten und Befehle an den Systemspeicher 108 gesendet
werden. In einer Ausgestaltung ist die Schreib-Schnittstelle 112 eine serielle
Schnittstelle. In einer anderen Ausgestaltung ist die Schreib-Schnittstelle 112 eine parallele
Schnittstelle.
-
Die
Lese-Schnittstelle 114 stellt eine unidirektionale Schnittstelle
dar, über
die Daten vom Systemspeicher 108 gelesen werden. In einer
Ausgestaltung ist die Lese-Schnittstelle 114 eine serielle Schnittstelle.
In einer anderen Ausgestaltung ist die Lese-Schnittstelle 114 eine
Parallelschnittstelle.
-
Die
Eingabe/Ausgabe (Input/Output; I/O) Steuerung 116 kann
jede Art von Chipsatz oder Steuerlogik darstellen, die I/O Vorrichtung(en) 120 mit
den anderen Komponenten der elektronischen Vorrichtung 100 koppelt.
In einer Ausgestaltung kann die I/O Steuerung 116 als South
Bridge bezeichnet werden. In einer anderen Ausgestaltung kann die
I/O Steuerung 116 mit der Peripheral Component Interconnect (PCI)
ExpressTM Basisspezifikation, Revision 1.0a, PCI
Special Interest Group, veröffentlicht
15. April 2003, übereinstimmen.
-
Die
Netzwerksteuerung 118 kann jede Art von Vorrichtung darstellen,
die es der elektronischen Vorrichtung 100 ermöglicht,
mit anderen elektronischen Vorrichtungen oder Geräten zu kommunizieren.
In einer Ausgestaltung kann die Netzwerksteuerung 118 dem
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
802.11b Standard entsprechen (genehmigt 16. September 1999, Anlage zur
ANSI/IEEE Std 802.11, Ausgabe 1999). In einer anderen Ausgestaltung
kann die Netzwerksteuerung 118 eine Ethernet Netzwerk Schnittstellenkarte
sein.
-
Die
Eingabe/Ausgabe (I/O) Vorrichtung(en) können jede Art von Vorrichtung,
Peripheriegerät oder
Komponente darstellen, die eine Eingabe bereitstellt oder Ausgaben
von der elektronischen Vorrichtung 100 verarbeitet.
-
2 ist
ein Blockdiagramm einer beispielhaften Zwischenspeicheragenten-Architektur
in Übereinstimmung
mit einer beispielhaften Ausgestaltung der Erfindung. Wie gezeigt,
kann der Zwischenspeicheragent 106 eine oder mehrere von
Steuerlogik 202, Speicher 204, Steuerung Schnittstelle 206 und
Zwischenspeichermaschine 208 aufweisen, die, wie in 2 gezeigt,
verbunden sind. Die Übereinstimmung
mit einem Aspekt der vorliegenden Erfindung, der im Folgenden vollständig entwickelt
wird, kann der Zwischenspeicheragent 206 eine Zwischenspeichermaschine 208 beinhalten,
die eine oder mehrere Datendienste 210, Tabellendienste 212 und/oder
Entlassungsdienste 214 umfasst. Es sollte bemerkt werden,
dass, obwohl als Anzahl von ungleichen funktionalen Blöcken dargestellt,
eine oder mehrere der Elemente 202 bis 214 in
einem oder in mehreren multi-funktionalen Blöcken kombiniert werden können. Ähnlich kann
die Zwischenspeichermaschine 208 mit weniger funktionalen
Blöcken,
d.h. nur mit Tabellendiensten 212, ausgeführt sein,
ohne sich vom Geist und Umfang der vorliegenden Erfindung zu lösen und
kann als Hardware, Software, Firmware oder jeder Kombination davon
umgesetzt sein. Diesbezüglich
sind der Zwischenspeicheragent 106 im Allgemeinen und die
Zwischenspeichermaschine 208 im Besonderen lediglich eine
beispielhafte Ausführung
eines Aspekts der vorliegenden Erfindung illustrierend. Wie hier
verwendet kann der Zwischenspeicheragent 106 in Hardware,
Software, Firmware und/oder jeder Kombination davon umgesetzt sein.
-
Der
Zwischenspeicheragent 106 hat die Befähigung, Daten an einen Posted
Write Buffer zu senden, eine Tabelle von Daten im Posted Write Buffer zu
pflegen und Daten vom Posted Write Buffer an eine Speicheradresse
zu entlassen. In einer Ausgestaltung kann der Zwischenspeicheragent 106 dem Posted
Write Buffer 110 den Speicherort mitteilen, der zum Speichern
der Daten verwendet werden soll. In einer anderen Ausgestaltung
können
der Zwischenspeicheragent 106 und der Posted Write Buffer 110 einen
gemeinsamen Algorithmus verwenden, um zu bestimmen, welcher Speicherort
zum Speichern der Daten verwendet wird, ohne dass es notwendig ist,
den Ort zu kommunizieren.
-
Wie
hier verwendet, bietet die Steuerlogik 202 die logische
Schnittstelle zwischen dem Zwischenspeicheragenten 106 und
der elektronischen Host Vorrichtung 100. In dieser Hinsicht
kann die Steuerlogik eine oder mehrere Aspekte der Zwischenspeicheragenten 106 verwalten,
um eine Kommunikationsschnittstelle für die elektronische Vorrichtung 100 bereitzuhalten,
z.B. über
die Speichersteuerung 104. Die Steuerungslogik 202 kann
auch den Zwischenspeicheragenten 106 aktivieren, um zu
bestimmen, ob eine bestimmte Speicheradresse geschrieben (entlassen)
werden kann und ob eine Lesetransaktion temporär die Möglichkeit zum Schreiben an
bestimmte Speichervorrichtungen blockiert.
-
Gemäß einem
Aspekt der vorliegenden Erfindung, obwohl die Ansprüche nicht
derart beschränkt
sind, kann die Steuerlogik 202 die Ressourcen der Zwischenspeichermaschine 208 selektiv
aufrufen. Als Teil eines beispielhaften Verfahrens für Posted
Write Buffering, wie in größerem Detail
in Bezug auf 3 beschrieben, kann die Steuerlogik 202 die
Datendienste 210 selektiv aufrufen, die Daten an einen
Posted Write Buffer senden können.
Die Steuerlogik 202 kann auch die Tabellendienste 212 selektiv
aufrufen oder die Dienste 214 entlassen, wie in größerem Detail
mit Bezug auf 3 erklärt ist, um eine Datentabelle
im Posted Wirte Buffer zu pflegen, oder um Daten vom Posted Write
Buffer an eine Speicheradresse zu entlassen. Wie hier verwendet,
ist beabsichtigt, dass die Steuerlogik 202 jedes einer großen Vielzahl
von im Stand der Technik bekannten Steuerlogiken darstellt und als
solches als Mikroprozessor, als Mikrocontroller, als Field Programmable Gate
Array (FPGA), als Application Integrated Circuit (ASIC), als Programmable
Logic Device (PDL) etc. ausgeführt
sein kann. In einigen Ausgestaltungen ist beabsichtigt, dass die
Steuerlogik 202 Inhalt darstellt (zum Beispiel Softwareanweisungen,
etc.), der wenn ausgeführt,
die Merkmale der hier beschriebenen Steuerlogik 202 umsetzt.
-
Es
ist beabsichtigt, dass der Speicher 204 eine große Vielfalt
von Speichervorrichtungen und/oder dem Stand der Technik bekannten
Systemen darstellt. Gemäß einer
beispielhaften Ausgestaltung, obwohl die Ansprüche hierauf nicht begrenzt sind,
kann der Speicher 204 flüchtige und nicht-flüchtige Speicherelemente
aufweisen, möglicherweise Random
Access Memory (RAM) und/oder Read Only Memory (ROM). Beispielsweise
kann der Speicher 204 zum Speichern einer Tabelle zum Darstellen
der im Posted Write Buffer 110 gespeicherten Daten verwendet
werden.
-
Die
Steuerungsschnittstelle 206 stellt einen Pfad bereit, über den
der Zwischenspeicheragent 106 mit der Speichersteuerung 104 kommunizieren kann.
Der Zwischenspeicheragent 106 verwendet diese Schnittstelle
zum Empfangen von Daten, die an den Speicher geschrieben werden
sollen und zum Senden der Daten und Befehle entlang der Schreib-Schnittstelle 112 an
den Systemspeicher 108.
-
Wie
oben vorgestellt, kann die Zwischenspeichermaschine 208 von
der Steuerlogik 202 selektiv aufgerufen werden, um Daten
an einen Posted Write Buffer zu senden, eine Datentabelle im Posted Write
Buffer zu pflegen oder Daten vom Posted Write Buffer an eine Speicheradresse
zu entlassen. In Übereinstimmung
mit der dargestellten beispielhaften Umsetzung aus 2 ist
die Zwischenspeichermaschine 208 eine oder mehrere von
Datendiensten 210, Tabellendiensten 212 und Entlassungsdiensten 214 umfassend
abgebildet. Obwohl als Anzahl von voneinander getrennten Elementen
dargestellt, werden die Fachleute anerkennen, dass ein oder mehrere
der Elemente 210–214 der
Zwischenspeichermaschine 208 kombiniert werden können, ohne
sich vom Umfang und Geist der vorliegenden Erfindung zu lösen.
-
Datendienste 210,
wie oben vorgestellt, können
den Zwischenspeicheragenten 106 mit der Fähigkeit
zum Senden von Daten an einen Posted Write Buffer bereitstellen.
In einer beispielhaften Ausgestaltung können die Datendienste 210 die
Adresse, an die die Daten letztendlich entlassen werden, mit den
Daten, die temporär
im Posted Write Buffer 110 gespeichert werden sollen, senden.
In einer anderen Ausgestaltung kann ein Daten- Übertragungsblock, der
an den Posted Write Buffer 110 gesendet wurde, einen Bit-Vektor
zum Anzeigen des Zwischenspeichereintrags, in den die Daten gespeichert
werden sollen, anzeigen. Alternativ kann der Bit-Vektor weggelassen
werden, wenn ein gemeinsamer Algorithmus vorhanden ist, durch den
die Tabellendienste 212 und der Posted Write Buffer 110 den
Zwischenspeichereintrag, in den die Daten gespeichert werden sollen,
vorher kennen. Der Daten-Übertragungsblock
kann ein Byte von Daten oder eine Serie von Bytes aufweisen, um
der Eintragungsgröße des Posted
Write Buffer 110 oder des Schreibprotokolls für den Systemspeicher 108 zu
entsprechen.
-
Wie
oben vorgestellt, können
die Tabellendienste 212 den Zwischenspeicheragenten 106 mit der
Fähigkeit
zum Pflegen einer Datentabelle im Posted Write Buffer bereitstellen.
In einer beispielhaften Ausgestaltung können die Tabellendienste 212 eine Tabelle
im Speicher 204 pflegen, die dieselben Daten wie der Posted
Write Buffer 110 enthält.
In einer anderen Ausgestaltung kann die im Speicher 204 gepflegte
Tabelle einen Teilsatz der im Posted Write Buffer 110 gespeicherten
Daten enthalten oder kann die im Speicher 204 gepflegte
Tabelle einen Teilsatz der im Posted Write Buffer 110 gespeicherten
Daten enthalten oder kann die Speicheradressen, die mit den Daten,
die im Posted Write Buffer 110 indiziert sind, assoziiert
sind, enthalten. Die Tabellendienste 212 können einen
Algorithmus mit dem Posted Write Buffer 110 teilen, um
zu bestimmen, in welchem Zwischenspeichereintrag ein bestimmter
Datensatz gespeichert werden wird. In einem Ausführungsbeispiel kennen sowohl
die Tabellendienste 212 als auch der Posted Write Buffer 110 die
Größe des Posted
Write Buffers 110, den Zwischenspeichereintrag, in dem der
erste Datensatz nach einem Reset gespeichert wird und das Verfahren
zum Auswählen
folgender Zwischenspeichereinträge.
Ein beispielhaftes Verfahren zum Auswählen folgender Zwischenspeichereinträge würde das
Verwenden des ersten unbenutzten Eintrags sein.
-
Entlassungsdienste 214,
wie oben vorgestellt, können
den Zwischenspeicheragenten 106 mit der Fähigkeit
zum Entlassen von Daten aus dem Posted Write Buffer an eine Speicheradresse
ausstatten. In einer Ausgestaltung können die Entlassungsdienste 214 einen
Column Access Strobe (CAS) Befehl an eine Speicheradresse des Systemspeichers 108 gemeinsam
mit einem Bit Vektor senden, der dem Dateneintrag in dem Posted
Write Buffer 110, der entlassen werden soll, entspricht.
In einem anderen Ausführungsbeispiel
können
die Entlassungsdienste 214 nur den Bit Vektor senden, der dem
Dateneintrag im Posted Write Buffer 110, der entlassen
werden soll, entsprechen, wobei der Posted Write Buffer 110 die
Speicheradresse enthält,
an die die Daten entlassen werden.
-
3 ist
ein Flussdiagramm eines beispielhaften Verfahrens zum Posted Write
Buffering in Übereinstimmung
mit einer beispielhaften Ausgestaltung der Erfindung. Es wird für den Fachmann
leicht ersichtlich sein, dass obwohl die folgenden Handlungen als
ein sequentieller Prozess beschrieben werden, viele der Handlungen
parallel oder gemeinsam ausgeführt
werden können.
Zusätzlich
kann die Reihenfolge der Handlungen geändert werden, ohne sich vom
Wesen der Ausgestaltungen der Erfindung zu lösen.
-
Mit
Ausnahme einer beispielhaften Umsetzung beginnt das Verfahren 300 mit
den Datendiensten 210, die aufgerufen werden, um Speicherschreibdaten
an den Posted Write Buffer 110 zu senden (302).
In einer beispielhaften Ausgestaltung können die Daten von der Netzwerksteuerung 118 empfangen
werden. In einer anderen Ausgestaltung können die Daten vom Prozessor 102 bereitgestellt
werden.
-
Als
nächstes
kann der Zwischenspeicheragent 106 die Tabellendienste 212 aufrufen,
um einen Tabelleneintrag zu erzeugen (304). In einer beispielhaften
Ausgestaltung verfolgen die Tabellendienste 212 die an
den Posted Write Buffer 110 gesendeten Daten und die Adressen,
an die Daten geschrieben werden.
-
Als
nächstes
kann die Steuerungslogik 202 entscheiden, ob die Daten
im Posted Write Buffer entlassen werden können (306). In einer
Ausgestaltung würde
eine Lesetransaktion aus einer besonderen Speicherbank das gleichzeitige
Auftreten des Schreibens in diese Speicherbank verhindern. Auf der
Adresse, an die diese Daten geschrieben werden, basierend, kann
die Steuerungslogik 202 bestimmen, ob die Daten entlassen
werden können.
-
Wenn
die Daten nicht entlassen werden können, kann die Steuerungslogik 202 selektiv
die Sendedienste 210 oder die Entlassungsdienste 214 zum Senden
oder Entlassen anderer Daten aufrufen (308). In einer beispielhaften
Ausgestaltung sind die Sendedienste 210 selektiv aufgerufen,
andere Daten, die temporär
im Posted Write Buffer 110 gespeichert werden sollen, wenn
keine anderen Daten da sind, die entlassen werden können, zu
senden. In einer anderen Ausgestaltung werden die Entlassungsdienste 214 selektiv
aufgerufen, um andere Daten, die im Posted Write Buffer 110 gespeichert
sind, zu entlassen, wenn keine ungenutzten Zwischenspeichereinträge vorhanden
sind.
-
Wenn
die Daten entlassen werden können, kann
die Steuerungslogik 202 die Entlassungsdienste 214 und
die Tabellendienste 212 selektiv aufrufen, um Daten und
Update-Tabelleneinträge zu entlassen (310).
In einem Ausführungsbeispiel
weisen die Entlassungsdienste 214 einen Bit Vektor auf,
der den Daten im Posted Write Buffer 110, die als Teil
eines CAS Datenübertragungsblocks,
der die geeignete Speichervorrichtung zum Speichern der Daten vorbereitet,
entlassen werden soll, entspricht. Die Tabellendienste 212 können den
Eintrag löschen,
der mit den entlassenen Daten assoziiert ist, so dass dieser wiederverwendet
werden kann.
-
4 stellt
ein Blockdiagramm eines beispielhaften Speichermediums dar, das
Inhalt aufweist, der, wenn darauf von einer Vorrichtung zugegriffen
wird, die Vorrichtung veranlasst, eine oder mehrere Ausgestaltungen
der Erfindung umzusetzen, zum Beispiel den Zwischenspeicheragenten 106 und/oder
das dazugehörige
Verfahren 300. In dieser Hinsicht enthält das Speichermedium 400 den Inhalt 402 (zum
Beispiel Anweisungen, Daten oder jede Kombination davon), der, wenn
ausgeführt,
die Vorrichtung zum Umsetzen einer oder mehrerer Aspekte des Zwischenspeicheragenten 106,
der oben beschrieben wurde, umzusetzen.
-
Das
maschinenlesbare (Speicher-)Medium 400 kann aufweisen,
ist aber nicht darauf begrenzt, Floppy-Disketten, optische Scheiben,
CD-Roms und magneto-optische Scheiben, Roms, Rams, EPROMs, EEPROMs,
Magnet- oder optische Karten, Flash Speicher oder andere Daten von
Medien/maschinenlesbaren Medium, die zum Speichern elektronischer
Anweisungen geeignet sind. Darüber
hinaus kann die vorliegende Erfindung auch als Computerprogrammprodukt
geladen werden, wobei das Programm von einem ferngesteuerten Computer
an einen anfragenden Computer mittels Datensignalen übertragen
werden kann, die in einer Trägerwelle oder
anderen sich ausbreitenden Medien über eine Kommunikationsverbindung
(zum Beispiel ein Modem, Funk oder Netzwerkverbindung) verkörpert sind.
-
Viele
der Verfahren sind in ihrer grundlegendsten Form beschrieben, aber
Handlungen können
hinzugefügt
oder aus jedem der Verfahren gestrichen werden und Informationen
können
hinzugefügt oder
aus jeder der beschriebenen Nachrichten entfernt werden, ohne den
grundlegenden Schutzbereich der Erfindung zu verlassen. Jede Anzahl
von Veränderungen
des erfinderischen Konzepts wird als innerhalb des Umfangs und des
Wesens der vorliegenden Erfindung angesehen. Unter diesem Gesichtspunkt
sind die besonderen beispielhaften Ausgestaltungen nicht vorgesehen,
die Erfindung einzuschränken,
sondern sie lediglich zu illustrieren. Daher soll der Umfang der
vorliegenden Erfindung nicht durch die besonderen Beispiele, die
oben bereitgestellt sind, bestimmt werden, sondern nur durch die eindeutige
Sprache der sich anschließenden
Ansprüche.
-
ZUSAMMENFASSUNG
-
In
einigen Ausgestaltungen werden ein Verfahren, eine Vorrichtung und
ein System für
Posted Write Buffer für
Speicher mit unidirektionaler Vollduplex-Schnittstelle vorgestellt.
Diesbezüglich
wird ein Speicheragent zum Senden von Daten an einen Posted Write
Buffer und zum Senden einer unabhängigen Meldung an den Speicher
zum Schreiben der Daten an eine Adresse eingeführt. Andere Ausgestaltungen
werden ebenso offenbart und beansprucht.