DE3851038T2 - Zugriff auf einen geschützten Speicher. - Google Patents

Zugriff auf einen geschützten Speicher.

Info

Publication number
DE3851038T2
DE3851038T2 DE3851038T DE3851038T DE3851038T2 DE 3851038 T2 DE3851038 T2 DE 3851038T2 DE 3851038 T DE3851038 T DE 3851038T DE 3851038 T DE3851038 T DE 3851038T DE 3851038 T2 DE3851038 T2 DE 3851038T2
Authority
DE
Germany
Prior art keywords
access
read
variable
transaction
lock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3851038T
Other languages
English (en)
Other versions
DE3851038D1 (de
Inventor
Albert Chang
John Cocke
Mark Frederick Mergen
Richard Raphael Oehler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3851038D1 publication Critical patent/DE3851038D1/de
Publication of DE3851038T2 publication Critical patent/DE3851038T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Description

  • Diese Erfindung bezieht sich auf den Zugriff auf einen geschützten Speicher.
  • Gegenwärtige Anwendungen der Datenverarbeitung schließen die Forderung ein, daß mehrere Tasks gleichzeitig durchgeführt werden. Diese Tasks erfordern Lese- und Schreibzugriff auf Datenspeicher in den Datenverarbeitungssystemen. Probleme treten auf, wenn diese Multi-Task-Transaktionen versuchen, gleichzeitig Daten in dem Speicher zu lesen und in ihn zu schreiben. Diese Probleme entstehen, wenn das System versucht, für Gleichzeitigkeit von Transaktionen zu sorgen, während es sicherstellt, daß die Durchführung von Tasks in eingeplanter Weise durchgeführt wird, d. h., daß eine Task vor der anderen ausgeführt wird. Diese Probleme werden in einem Aufsatz angesprochen mit dem Titel "Transaction Monitoring ENCOMPASS: Reliable Distributed Transaction Processing", veröffentlicht in den IEEE Proceedings on Very Large Data Bases, September 1981, Seiten 244-254. Darüberhinaus adressiert eine Patentanmeldung (88 30 8752.0) mit dem Titel "Concurrent Record Access Database System" auch die Probleme der Verarbeitung gleichzeitiger Transaktionen. Ein Sperrprotokoll sorgt für gleichzeitigen Zugriff auf Daten in einem Speicher durch mehrfache Transaktionen in einer geordneten Weise. Das Sperren verhindert das Zugreifen einer Transaktion auf einen Datensatz, der durch eine andere Transaktion modifiziert wird oder ihr eigen ist. Dies stellt sicher, daß eine Transaktion nicht einen Datensatz liest, der sich in dem Prozeß der Änderung durch eine andere Transaktion befindet, wodurch eine geordnete Interaktion zwischen diesen Transaktionen sichergestellt wird.
  • Ein Verfahren eines Sperrprotokolls ist in US-A- 4 680 700 mit dem Titel "Virtual Memory Address Translation Mechanism With Combined Hash Address Table And Inverted Page Table" erläutert. Ein anderes Patent, das den Speicherschutz beim Betrieb gleichzeitiger Transaktionen beschreibt, ist US-A-4 638 426 mit dem Titel "Virtual Memory Address Translation Mechanism With Control Data Persistence". Diese beiden Referenzen sprechen die Anwendung von Sperrprotokollen auf die Umrechnung virtueller Adressen an. Das Regeln des Zugriffs auf geschützte Daten kann durchgeführt werden, während die Task der Umrechnung zwischen den virtuellen Adressen und den realen Adressen in einem virtuellen Speichersystem durchgeführt wird. Beim Durchführen der Umrechnung von virtuellen in reale Adressen enthält jeder adressierbare Datenblock zusätzliche Daten, die die Verfügbarkeit dieser Daten für Transaktionen beschreiben. Mit anderen Worten bestimmt das Setzen dieser Datenbits, ob eine Transaktion auf einen Datenblock zugreifen kann.
  • Das Ziel der vorliegenden Erfindung ist es, eine Speicherzugriffssteuerung bereitzustellen, die Zugriff auf das gleichzeitige Ausführen von Transaktionen gewährt, während sie die Integrität der Daten, auf die zugegriffen wird, schützt.
  • Die vorliegende Erfindung stellt ein Datenverarbeitungssystem nach Anspruch 1 bereit. Mit anderen Worten wird für eine Form eines gesteuerten Delegierens gesorgt, die einen Datensatz festhält, wo er angewendet wurde.
  • Wie später beschrieben wird, wird bei einer Form der vorliegenden Erfindung für Zugriffe auf Datenblöcke gesorgt, die unter Adressen in einem Speicher gespeichert sind und auf die durch mehrere Transaktionen zugegriffen werden kann. Das Verfahren besteht aus den Schritten des (a) Empfangens einer Adresse eines Datenblocks, auf den durch eine erste Transaktion zuzugreifen ist, (b) des Ableitens eines Eintrags in eine Zugriffstabelle aus der Adresse, die dem Datenblock entspricht, wobei der Eintrag Sperrdaten einschließt, die den Zugriff auf den Datenblock regeln, und (c) des Sorgens für den Zugriff, wenn er durch die Sperrdaten erlaubt wird, oder des Sorgens für den Zugriff, wenn er durch die Sperrdaten nicht erlaubt wird, und des Aufzeichnens des Vorkommens des Zugriffs in den Sperrdaten.
  • Die Beschreibung ist in der Form des entscheidungstreffenden Flusses, der durch Software implementiert werden kann in einer verzweigten seriellen Art oder seriell oder parallel durch Logik in der Steuereinheit, da die externen Ergebnisse Zugriff sind, mit oder ohne das Umschalten von relativ wenigen ausgewählten Sebsthalteschaltungen, häufig nur einer, oder das Erzeugen eines Unterbrechungssignals.
  • Die vorliegende Erfindung wird weiter unter Bezugnahme auf ein Ausführungsbeispiel beschrieben, das in den zugehörigen Zeichnungen dargestellt ist, in denen:
  • Fig. 1 ein Blockdiagramm eines Datenverarbeitungssystems ist,
  • Fig. 2 eine Darstellung der Umrechnung einer kurzen Adresse in eine lange Adresse ist,
  • Fig. 3 ein hochstilisiertes Diagramm ist, das eine Adreßumrechnung einer invertierten Seitentabelle darstellt,
  • Fig. 4A ein Flußdiagramin für die Prozedur der Speichersteuereinheit während einer Leseoperation ist und
  • Fig. 4B ein Flußdiagramm für die Prozedur der Speichersteuereinheit während einer Schreiboperation ist.
  • Das beschriebene Ausführungsbeispiel schließt ein Verfahren und eine Vorrichtung zum Regeln des Zugriffs mehrerer gleichzeitig ablaufender Transaktionen auf Datenblöcke in einen Speicher ein. Das bevorzugte Ausführungsbeispiel enthält ein virtuelles Speichersystem. Die Regeln des Zugriffs auf die Daten wird während des Verfahrens der Umrechnung von virtuellen in reelle Adressen durchgeführt. Mechanismen zum Durchführen des Zugriffs in einem virtuellen Speichersystem sind in den vorher erwähnten Patenten US-A-4 680 700 und US-A-4 638 426 beschrieben.
  • Fig. 1 ist ein vereinfachtes Blockschaltbild eines Datenverarbeitungssystems, das einen Prozessor 10 enthält, der über einen bidirektionalen Bus 12 mit einer Speichersteuereinheit 20 verbunden ist, die über einen bidirektionalen Bus 22 mit einem Speicher 30 verbunden ist. In der Praxis kann der Prozessor 10 ein einzelner Prozessor sein oder aus mehreren Prozessoren bestehen, die Programmfolgen ausführen. Diese Programmfolgen schließen Transaktionen ein, die gleichzeitig ausgeführt werden und versuchen, über die Speichersteuereinheit 20 gleichzeitig auf Daten zuzugreifen, die in dem Speicher 30 gespeichert sind. Bei diesem Ausführungsbeispiel führt die Speichersteuereinheit 20 darüberhinaus die Umrechnung virtueller in reale Speicheradressen durch, die im einzelnen in den oben genannten zwei Patenten beschrieben ist. Daher wird eine genaue Beschreibung der virtuellen Adreßumrechnung nicht gegeben. Gewisse Aspekte der virtuellen Adreßumrechnung werden jedoch beschrieben, um das Regeln des Zugriffs auf Daten in der beschriebenen Anordnung zu beschreiben.
  • In Fig. 2 ist das Erzeugen einer langen Adresse aus einer kurzen Adresse dargestellt. Die kurze Adresse wird von dem Prozessor 10 empfangen und ist in eine reale Adresse umzurechnen. In Fig. 2 enthält die kurze Adresse 20 zwei Teile. Der erste Teil ist eine vier Bit-Kennzeichnung des Segmentregisters. Der zweite Teil ist eine 28 Bit-Kennzeichnung einer Position in einem Segment. Das Segmentregister 42, das in der Speichersteuereinheit 20 enthalten ist, enthält zusätzliche Daten, die das Verfahren der virtuellen Adreßumrechnung regeln. Ein Teil des Inhaltes des Segmentregisters ist die Segmentidentifizierung oder Segment-ID. Dies ist eine 24 Bit-Segment-ID, die mit der 28 Bit-Position in dem Segmentteil der kurzen Adresse verkettet wird, um eine lange virtuelle Gesamtadresse 44 zu bilden. Die lange virtuelle Adresse wird dann in einer in Fig. 3 dargestellten Weise umgerechnet.
  • Fig. 3 stellt die Arbeitsweise der invertierten Seitentabelle dar. Wiederum, eine genaue Erklärung des Verfahrens der virtuellen Adreßumrechnung ist in den beiden Patenten beschrieben, die vorher abgehandelt wurden. Die lange virtuelle Adresse 44 schließt die Segment-ID ein und die Position im Segment. Die Position in dem Segmentteil ist unterteilt in eine Position in dem Seitenteil und einen Teil der virtuellen Seite. Die Segment-ID und der virtuelle Seitenteil werden AUSSCHLIESSLICH ODER-verknüpft, um einen Index H zu bilden, der benutzt wird, um auf die Daten in einer Hash-Tabelle 46 zuzugreifen. Das Ausgangssignal der Hash-Tabelle 46 ist ein Index I, der benutzt wird, um auf die invertierte Seitentabelle 50 zuzugreifen. Die invertierte Seitentabelle 50 enthält Einträge, die den Zugriff auf die Datenblöcke in dem Speicher regeln. Das Feld VSEITE in dem K. Eintrag in der invertierten Seitentabelle 50 ist gleich der virtuellen Seite, die der K. realen Seite des Speichers zugeordnet ist, und die reale Adresse 48 wird durch Verkettung gebildet, wie das in Fig. 3 dargestellt ist. Die Speichersteuereinheit enthält ferner ein Transaktions-ID-Register 52, das die Identifizierung der augenblicklich auf dem Prozessor ablaufenden Transaktion enthält. Der Eintrag 54 in der invertierten Seitentabelle schließt die Segment-ID, den Bezeichner der virtuellen Seite, die Sperrbits und einige andere Variable, die zu erläutern sind, ein. Wie vorher angegeben, regeln die Sperrbits den Zugriff auf den Datenblock J, der die durch die Transaktion gesuchte adressierte Speicherstelle enthält. NB-Fig. 3 zeigt nicht an, daß RSEITE mit J geladen wird, aber das, was in RSEITE geladen wird, ist die höherstellige Adresse einer größeren Unterteilung des Speichers, die den Block J enthält, auf den später Bezug genommen wird als auf den j. Block auf der fraglichen Seite. Wenn ein Zugriff zu gestatten ist, wird das Sperrbit für den entsprechenden Datenblock auf eine eins gesetzt. Wenn der Zugriff nicht zu gestatten ist, wird das Sperrbit auf null gesetzt.
  • Dies liefert nicht nur ein Verfahren zum Regeln des Zugriffs auf die Datenblöcke gemäß den Sperrbits, sondern auch eine wirksamere Ausführung gleichzeitiger Transaktionen, mit gleichzeitigem Zugriff auf einige Datenblöcke, selbst wenn dies durch die Sperrbits verhindert wird. Dieser zusätzliche Zugriff ist vorgesehen, wenn die Integrität der Daten garantiert werden kann oder wenn der Transaktionszugriff nicht irgendwelche anderen Zugriffe beeinflußt. Die Speichersteuereinheit 20 (Fig. 1) benutzt die reale Adresse 48, um auf Daten in dem Speicher 30 gemäß dem Zugriffsverfahren zuzugreifen, das durch die Sperrbits im Eintrag 54 geregelt wird.
  • In Fig. 3 schließt die Zeile 54 die Variablen l, w, r und a ein. Die Variable "l" steht für die Sperrart. Dies ist eine Ein- Bit-Anzeige, ob die Sperrbits (32 Sperrbits in Zeile 54) Schreibsperren oder Lesesperren für die Datenblöcke auf der Seite darstellen. Die variable "a" stellt die Anzeige Lesen erlaubt dar. Die Anzeige Lesen erlaubt erlaubt es irgendeiner Transaktion, die Datenblöcke auf der Seite zu lesen. Die Variablen "w" und "r" stellen die Anzeigen für Schreibberechtigungssperren bzw. Leseberechtigungssperren dar. Wenn diese Sperrvariablen gesetzt sind, sorgt die Speichersteuereinheit automatisch für Zugriff auf Datenblöcke und das Aufzeichnen gewährten Zugriffs ohne Intervention durch irgendwelche Supervisor-Software. Im Betrieb versucht eine Transaktion auf eine Seite zuzugreifen durch Liefern der langen virtuellen Seitenadresse, die durch die Speichersteuereinheit 20 in eine reale Adresse 48 umgesetzt wird. Eine durch die Speichersteuereinheit ausgeführte Funktion liest den Eintrag 54 in der invertierten Seitentabelle während der Umsetzung der virtuellen Adresse in die reale Adresse. Die Funktion gewährt oder verwehrt Zugriff auf der Basis des Eintrags 45 in der invertierten Seitentabelle und des Transaktions- Identifizierungs-Registers 52, das die augenblicklich ablaufende Transaktion angibt. Dadurch stellt die Funktion sicher, daß die Sperrbits für diese Transaktion solche sind, daß die Transaktion nur Zugriff erhält, wie es zweckmäßig für sie ist. Mit anderen Worten, diese Funktion stellt durch Benutzen der Sperrbits sicher, daß einer Transaktion kein Zugriff auf Datenblöcke gewährt wird, weder für das Lesen oder das Schreiben, wenn solch ein Zugriff unzweckmäßig ist.
  • Bei diesem Ausführungsbeispiel ist solch eine Supervisorfunktion vorgesehen. Darüberhinaus kann der Supervisor durch Benutzen der Anzeigen für das Sperren der Leseberechtigung und der Schreibberechtigung wahlweise eine automatische Fähigkeit für eine Transaktion aufrufen, auf Datenblöcke zuzugreifen und den Zugriff automatisch in den Sperrbits aufzuzeichnen. Dies wird erreicht durch Ausführen derjenigen Verfahren, die in den Flußdiagrammen in den Fig. 4A und 4B angegeben sind. Diese Prozeduren werden durch die Steuereinheit ausgeführt, während die Umrechnung der virtuellen Adressen in reale Adressen erfolgt.
  • In Fig. 4A ist ein Flußdiagramm dargestellt, das den Lesezugriff darstellt. Es wird auf Fig. 4A Bezug genommen. Die Speichersteuereinheit bestimmt zuerst im Schritt 100, ob die Transaktion eine Lese- oder eine Schreibtransaktion ist. Wenn die Transaktion eine Schreibtransaktion ist, geht die Steuereinheit zur Übergangs stelle 102 zu dem Flußdiagramm in Fig. 4B. Wenn die Transaktion eine Lesetransaktion ist, dann bestimmt die Steuereinheit im Schritt 104, ob der Anzeiger Lesen erlaubt auf null gesetzt ist. Wenn Lesen erlaubt auf eins gesetzt ist, wird Zugriff gewährt. Wenn der Anzeiger Lesen erlaubt eine null ist, geht die Steuereinheit zum Schritt 106 weiter, um zu bestimmen, ob die Transaktions-ID auf der invertierten Seitentabelle 54 mit dem Inhalt des Transaktions- ID-Registers 52 übereinstimmt. Wenn die Transaktions-ID nicht übereinstimmt, geht die Steuereinheit zum Schritt 118 weiter, um Zugriff zu verwehren und erzeugt eine Unterbrechung. Wenn die Transaktions-ID übereinstimmt, geht die Steuereinheit zum Schritt 108 weiter, um zu bestimmen, ob die Sperrart gleich eins oder null ist. Wenn die Sperrart gleich eins ist, was anzeigt, daß alle der Sperrbits Schreibsperren sind, werden alle Lesezugriffe erlaubt. Die Steuereinheit geht dann weiter zum Schritt 120, um den Lesezugriff zu gewähren. Wenn die Sperrart auf null gesetzt ist, geht die Steuereinheit zum Schritt 110, um den Zustand des Anzeigers für die Leseberechtigung zu bestimmen. Wenn der Anzeiger für die Leseberechtigung eins ist, bestimmt die Steuereinheit im Schritt 112 den Zustand des Sperrbits für den zu lesenden Datenblock (in diesem Beispiel der j. Datenblock). Wenn das Sperrbit nicht gesetzt ist, geht die Steuereinheit zum Schritt 114 weiter, um das Sperrbit für diesen Datenblock gleich eins zu setzen, und geht dann weiter zum Schritt 120, um Zugriff zu gewähren. Im Schritt 112 erlaubt die Steuereinheit, wenn das Sperrbit bereits gesetzt ist, den Zugriff über den Schritt 120. Zurückkehrend zum Schritt 110 geht die Steuereinheit, wenn die Leseberechtigung auf null gesetzt ist, zum Schritt 116 weiter, um den Zustand des Sperrbits zu bestimmen. Wenn das Sperrbit auf eins gesetzt ist, sorgt die Steuereinheit über den Schritt 120 für einen Zugriff. Wenn das Sperrbit auf null gesetzt ist, geht die Steuereinheit zum Schritt 118 weiter, um für eine Unterbrechung zu sorgen.
  • Es wird auf das Flußdiagramm in Fig. 4B Bezug genommen. Die Steuereinheit geht über die Übergangsstelle 102 zum Schritt 140 weiter, um zu bestimmen, ob die Transaktions-ID in der invertierten Seitentabelle 54 mit dem Inhalt des Transaktions- ID-Registers 52 übereinstimmt. Wenn nicht, wird im Schritt 150 eine Unterbrechung erzeugt. Wenn eine Übereinstimmung vorhanden ist, geht die Steuereinheit zum Schritt 142 weiter, um zu bestimmen, ob der Anzeiger für die Schreibberechtigung gesetzt ist. Wenn nicht, geht die Steuereinheit weiter zum Schritt 144, um zu bestimmen, ob die Sperrart gleich null ist. Wenn das der Fall ist, wird die Unterbrechung im Schritt 150 erzeugt. Wenn nicht, geht die Steuereinheit zum Schritt 152 weiter, um zu bestimmen, ob das Sperrbit auf eins gesetzt ist. Wenn nicht, geht die Steuereinheit zum Schritt 150 weiter, um eine Unterbrechung zu erzeugen. Wenn das Sperrbit auf eins gesetzt ist, geht die Steuereinheit zum Schritt 158 weiter, um einen Schreibzugriff zu gewähren.
  • Zum Schritt 142 zurückkehrend, geht die Steuereinheit, wenn die Schreibberechtigung gesetzt ist, zum Schritt 146 weiter, um zu bestimmen, ob die Sperrart auf eins gesetzt ist. Wenn das der Fall ist, geht die Steuereinheit zum Schritt 154 weiter, um zu bestimmen, ob das Sperrbit auf eins gesetzt ist. Wenn das der Fall ist, gewährt die Steuereinheit im Schritt 158 Zugriff. Wenn nicht, wird das Sperrbit dann im Schritt 156 auf eins gesetzt und der Schreibzugriff wird im Schritt 158 gewährt.
  • Zurückkehrend zum Schritt 146, geht die Steuereinheit, wenn die Sperrart gleich null ist zum Schritt 160 weiter, um die Sperrart gleich eins zu setzen. Im Schritt 162 wird das Sperrbit, auf das zugegriffen wird, auf eins gesetzt und alle anderen Sperrbits werden auf null gesetzt. Dann wird im Schritt 158 der Schreibzugriff gewährt.
  • In dem Flußdiagramm in Fig. 4A wird der Zugriff, wenn ein Sperrbit keinen Zugriff gewährt, aber die Leseberechtigung auf eins gesetzt ist, doch gewährt, und das betreffende Sperrbit wird geändert, um den Zugriff aufzuzeichnen. Gemäß diesem Verfahren erfolgt dieses Aufzeichnen des Lesezugriffs zu dem Datenblock automatisch, ohne Intervention irgendeiner Funktion der Supervisorsoftware. Ebenso wird in Fig. 4B der Schreibzugriff gewährt, wenn der Anzeiger der Schreibberechtigung gesetzt ist, selbst wenn die Sperrbits nicht geeignet gesetzt sind, und die Aufzeichnung des Schreibzugriffs ist durch das automatische Setzen dieser Sperrbits vorgesehen. Ebenso wird, wenn die Sperrart nicht gesetzt ist, die Sperrart gesetzt, um für einen Schreibzugriff zu sorgen, und zeichnet so das Gewähren des Schreibzugriffs auf.
  • Der Fluß für das Treffen von Entscheidungen nach den Fig. 4A und 4B kann durch Software in einer verzweigten seriellen Weise implementiert werden oder seriell oder parallel durch Logik in der Steuereinheit, da die externen Ergebnisse Zugriffe sind, mit oder ohne das Umschalten von verhältnismäßig wenigen ausgewählten Selbsthalteschaltungen, häufig nur einer, oder die Erzeugung eines Unterbrechungssignals. Die Einzelheiten jeder Implementierung werden hier nicht angegeben, da sie für einen Fachmann aus der dargelegten Information in den genau beschriebenen Figuren offensichtlich sind.

Claims (2)

1. Datenverarbeitungssystem mit einer Verarbeitungseinrichtung (10), die mit einer Speichersteuereinheit verbunden ist, die den Zugriff auf einen Speicher (30) steuert, wobei die Verarbeitungseinrichtung nutzbar ist, um gleichzeitig ablaufende Transaktionen auszuführen, die versuchen, gleichzeitig auf in dem Speicher (30) gespeicherte Daten zuzugreifen, und die Speichersteuereinheit (20) wirksam ist, um eine virtuelle Adreßumrechnung von virtuellen Adressen, die von der Verarbeitungseinheit empfangen wurden, in reale Adressen durchzuführen unter Bezugnahme auf eine invertierte Seitentabelle, die Einträge enthält, die Datensperrbits aufweisen, die den Zugriff auf Datenblöcke in dem Speicher regeln, und ein Transaktions- Identifizierungsfeld (TID), wobei die Steuereinheit ein Transaktionsregister (52) einschließt, um die Transaktion zu identifizieren, die augenblicklich von der Verarbeitungseinrichtung ausgeführt wird, dadurch gekennzeichnet, daß jeder Eintrag in der Tabelle eine Variable (L) vom Sperrtyp einschließt, die setzbar ist, um anzuzeigen, ob die Sperrbits Schreibsperren oder Lesesperren sind, eine Lesevariable (A), die setzbar ist, um die Erlaubnis eines Lesezugriffs durch irgendeine Transaktion anzugeben, eine Variable (W), die eine Schreibberechtigung anzeigt, und eine Variable (R), die eine Leseberechtigung anzeigt, wobei die Steuereinheit wirksam ist, um für einen Lesezugriff zu sorgen unter der Steuerung der Lesevariable (A), des Transaktionsregisters (52), der Variablen (L) vom Sperrtyp und der Variablen (R) zur Leseberechtigung, wobei die Steuereinheit wirksam ist, um für einen Schreibzugriff zu sorgen unter der Steuerung des Transaktionsregisters (52), der Variablen (L) vom Sperrtyp und der Variablen (W) zur Schreibberechtigung, und die Steuereinheit weiter wirksam ist, um in den Sperrbitdaten jeden Zugriff aufzuzeichnen, der gewährt wird, wenn die Variable (R) zur Leseberechtigung oder zur Schreibberechtigung (W) gesetzt ist.
2. System nach Anspruch 1, bei dem die Zugriffssteuerfelder Einträge enthalten, die in der Lage sind, einen Lesezugriff auf alle Blöcke in der Seite zu gestatten und die Identität der zuerst durchgeführten Transaktion für diese Seite seit der Rückstellung des Supervisors anzugeben.
DE3851038T 1987-11-30 1988-10-20 Zugriff auf einen geschützten Speicher. Expired - Fee Related DE3851038T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/126,529 US4937736A (en) 1987-11-30 1987-11-30 Memory controller for protected memory with automatic access granting capability

Publications (2)

Publication Number Publication Date
DE3851038D1 DE3851038D1 (de) 1994-09-15
DE3851038T2 true DE3851038T2 (de) 1995-03-09

Family

ID=22425309

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3851038T Expired - Fee Related DE3851038T2 (de) 1987-11-30 1988-10-20 Zugriff auf einen geschützten Speicher.

Country Status (4)

Country Link
US (1) US4937736A (de)
EP (1) EP0319134B1 (de)
JP (1) JPH0680500B2 (de)
DE (1) DE3851038T2 (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724540A (en) * 1988-03-28 1998-03-03 Hitachi, Ltd. Memory system having a column address counter and a page address counter
EP0425771A3 (en) * 1989-11-03 1992-09-02 International Business Machines Corporation An efficient mechanism for providing fine grain storage protection intervals
US5063502A (en) * 1989-12-18 1991-11-05 At&T Bell Laborabories Information control system for counting lock application against composite information infrastructure
US5062038A (en) * 1989-12-18 1991-10-29 At&T Bell Laboratories Information control system
US5063503A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for selectively locking an entity with requested intermediate reserve exclusive and share locks
US5063501A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for selectively transferring a tree lock from a parent node to a child node thereby freeing other nodes for concurrent access
US5063504A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for reserve locking infrastructure nodes for subsequent exclusive and share locking by the system
US5410691A (en) * 1990-05-07 1995-04-25 Next Computer, Inc. Method and apparatus for providing a network configuration database
US5349652A (en) * 1990-08-31 1994-09-20 Advanced Micro Devices, Inc. Single chip integrated address manager with address translating unit
US5193180A (en) * 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
US5388266A (en) * 1992-03-30 1995-02-07 International Business Machines Corporation Management of data objects used intain state information for shared data at a local complex
US5675762A (en) * 1992-04-03 1997-10-07 International Business Machines Corporation System for locking down part of portion of memory and updating page directory with entry corresponding to part of portion of the memory locked down
JP2675961B2 (ja) * 1992-05-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 実記憶のページをロックするための方法
JPH07507893A (ja) * 1992-06-12 1995-08-31 ザ、ダウ、ケミカル、カンパニー プロセス制御コンピュータ用保安フロントエンド通信システムおよび方法
US5276878A (en) * 1992-10-07 1994-01-04 International Business Machines Corporation Method and system for task memory management in a multi-tasking data processing system
US5652864A (en) * 1994-09-23 1997-07-29 Ibm Concurrent storage allocations or returns without need to lock free storage chain
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
EP0755003A2 (de) * 1995-07-19 1997-01-22 Sun Microsystems, Inc. Verfahren und Gerät zur Wiederordnung von Softwarekomponenten
US6412056B1 (en) 1997-10-01 2002-06-25 Compac Information Technologies Group, Lp Extended translation lookaside buffer with fine-grain state bits
US6098153A (en) * 1998-01-30 2000-08-01 International Business Machines Corporation Method and a system for determining an appropriate amount of data to cache
US6253274B1 (en) * 1998-08-28 2001-06-26 International Business Machines Corporation Apparatus for a high performance locking facility
US6185650B1 (en) 1998-08-28 2001-02-06 International Business Machines Corporation High performance locking facility
US6189007B1 (en) 1998-08-28 2001-02-13 International Business Machines Corporation Method and apparatus for conducting a high performance locking facility in a loosely coupled environment
US7290284B1 (en) * 1999-01-11 2007-10-30 Myspace Ab System for data processing a security critical activity
US7369550B1 (en) 1999-04-22 2008-05-06 Advanced Micro Devices Method and apparatus for locking a table in a network switch
US6594780B1 (en) * 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US7188344B1 (en) * 1999-12-21 2007-03-06 Unisys Corporation Architecture for a read/write thread lock
US7900054B2 (en) * 2002-03-25 2011-03-01 Intel Corporation Security protocols for processor-based systems
JP4016741B2 (ja) * 2002-06-25 2007-12-05 ソニー株式会社 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
JP3979194B2 (ja) * 2002-06-25 2007-09-19 ソニー株式会社 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
US20040268143A1 (en) * 2003-06-30 2004-12-30 Poisner David I. Trusted input for mobile platform transactions
WO2005088462A1 (en) * 2004-03-05 2005-09-22 Finisar Corporation Hierarchical and byte-configurable memory in an optical transceiver
TW200743113A (en) * 2006-05-08 2007-11-16 Apacer Technology Inc Dynamic management method of portable data storage device
US7509441B1 (en) 2006-06-30 2009-03-24 Siliconsystems, Inc. Systems and methods for segmenting and protecting a storage subsystem
US7447807B1 (en) * 2006-06-30 2008-11-04 Siliconsystems, Inc. Systems and methods for storing data in segments of a storage subsystem
US7949841B2 (en) * 2006-12-08 2011-05-24 Microsoft Corporation Protection of critical memory using replication
US8112597B2 (en) * 2006-12-08 2012-02-07 Microsoft Corporation Critical memory
US8549236B2 (en) * 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US20080162823A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation System and method for handling multiple aliased shadow register numbers to enhance lock acquisition
US7941411B2 (en) * 2007-06-29 2011-05-10 Microsoft Corporation Memory transaction grouping
US7941616B2 (en) * 2008-10-21 2011-05-10 Microsoft Corporation System to reduce interference in concurrent programs
US8825940B1 (en) 2008-12-02 2014-09-02 Siliconsystems, Inc. Architecture for optimizing execution of storage access commands
US9176859B2 (en) * 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US10079048B2 (en) * 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
GB2482700A (en) 2010-08-11 2012-02-15 Advanced Risc Mach Ltd Memory access control
CN104520801B (zh) * 2012-08-07 2019-10-18 诺基亚技术有限公司 对于无线存储器的访问控制
US20190196984A1 (en) * 2017-12-27 2019-06-27 Qualcomm Incorporated Method, apparatus, and system for dynamic management of integrity-protected memory
CN110851887A (zh) * 2019-10-18 2020-02-28 浙江大华技术股份有限公司 多媒体存储卡的数据保护方法、装置、设备和存储介质
CN112130904B (zh) * 2020-09-22 2024-04-30 黑芝麻智能科技(上海)有限公司 处理***、处理器间通信方法、以及共享资源管理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3683418A (en) * 1970-04-16 1972-08-08 Bell Telephone Labor Inc Method of protecting data in a multiprocessor computer system
FR2258112A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US4104718A (en) * 1974-12-16 1978-08-01 Compagnie Honeywell Bull (Societe Anonyme) System for protecting shared files in a multiprogrammed computer
US4084230A (en) * 1976-11-29 1978-04-11 International Business Machines Corporation Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4410941A (en) * 1980-12-29 1983-10-18 Wang Laboratories, Inc. Computer having an indexed local ram to store previously translated virtual addresses
US4439830A (en) * 1981-11-09 1984-03-27 Control Data Corporation Computer system key and lock protection mechanism
US4472790A (en) * 1982-02-05 1984-09-18 International Business Machines Corporation Storage fetch protect override controls
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4698752A (en) * 1982-11-15 1987-10-06 American Telephone And Telegraph Company At&T Bell Laboratories Data base locking
USRE37305E1 (en) * 1982-12-30 2001-07-31 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence
US4580217A (en) * 1983-06-22 1986-04-01 Ncr Corporation High speed memory management system and method
US4680700A (en) * 1983-12-07 1987-07-14 International Business Machines Corporation Virtual memory address translation mechanism with combined hash address table and inverted page table
US4685088A (en) * 1985-04-15 1987-08-04 International Business Machines Corporation High performance memory system utilizing pipelining techniques

Also Published As

Publication number Publication date
JPH01166236A (ja) 1989-06-30
EP0319134A2 (de) 1989-06-07
EP0319134A3 (en) 1990-06-20
US4937736A (en) 1990-06-26
JPH0680500B2 (ja) 1994-10-12
DE3851038D1 (de) 1994-09-15
EP0319134B1 (de) 1994-08-10

Similar Documents

Publication Publication Date Title
DE3851038T2 (de) Zugriff auf einen geschützten Speicher.
DE3650532T2 (de) Speicher mit programmierbarem Zugang
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE3586912T2 (de) Datenverarbeitungsanlage mit geschuetzten systemdateien.
DE69502381T2 (de) Verfahren und vorrichtung zum steuern des zugriffs auf eine datenbank
DE69719479T2 (de) Datenverarbeitungssystemsicherheit
DE3687787T2 (de) Speicherzugriff-steuerungsschaltung.
DE68927755T2 (de) System zur sicheren chiffrierschlüsselverarbeitung
DE69225389T2 (de) Programmattributsteuerung in einem Rechnersystem
DE69818135T2 (de) Verfahren zum Zugriff auf Datenbankinformation
DE2758152A1 (de) Speicherschutzanordnung
WO2015032791A1 (de) Verfahren und system zum bereitstellen von anonymisierten daten aus einer datenbank
DE10226909A1 (de) System und Verfahren zur vorgeschriebenen Zugriffssteuerung auf ein Dateisystem
DE2844357A1 (de) Speichererweiterung
DE69114321T2 (de) Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.
DE2414311A1 (de) Speicherschutzeinrichtung
DE68929080T2 (de) Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor
WO2000008558A1 (de) Programmgesteuerte einheit und verfahren zum debuggen derselben
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE69600588T2 (de) Erweitern der Datenträgerverwaltung von Informationsspeichereinrichtungen zum Behandeln des direkten Zugriffs zu Speichereinrichtungen
DE4123550A1 (de) Informationsverarbeitungssystem mit direktem speicherzugriff
DE2149200C3 (de) Einrichtung zur Auswahl von im Verlauf einer Programmbearbeitung am häufigsten benötigten Daten
DE3688136T2 (de) Verfahren zum Testen und Setzen von Daten in einen Datensatz auf einer Platte in eine atomaren Ein/Ausgabeoperation.
DE2810421A1 (de) Speicherschutzeinrichtung
DE3686660T2 (de) Vorrichtung und verfahren zur zugriffsteuerung in einer mehrcachespeicherdatenverarbeitungsanordnung.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee