-
Die
vorliegende Erfindung bezieht sich auf ein Halbleiterspeicherbauelement,
ein Treiberverfahren für
ein Halbleiterspeicherbauelement, ein Verfahren zum Schreiben von
Daten in einen Flashspeicher und ein mobiles Kommunikationssystem.
Insbesondere beziehen sich Ausführungsformen
der Erfindung auf ein Halbleiterspeicherbauelement, auf das über mehrere
Pfade zugegriffen werden kann und das mit einer Mehrzahl von Prozessoren
verwendbar ist.
-
Im
Allgemeinen wird ein Halbleiterspeicherbauelement mit einer Mehrzahl
von Zugriffsports als Multiportspeicher bezeichnet. Ein Speicher,
mit zwei Zugriffsports wird als Doppelportspeicher bezeichnet. Ein
typischer Doppelportspeicher wird als bildverarbeitender Videospeicher
verwendet, welcher einen RAM-Port (RAM – Speicher mit direktem Zugriff), auf
welchen man in beliebiger Abfolge zugreifen kann, und einen SAM-Port
(SAM – Speicher
mit seriellem Zugriff) umfasst, auf welchen man nur in einer seriellen
Abfolge zugreifen kann. Ein dynamischer Speicher mit direktem Zugriff
(DRAM) ist dazu konfiguriert, über
eine Mehrzahl von Zugriffsports aus einem geteilten Speicherbereich
in einem Speicherzellenfeld zu lesen oder zu schreiben. Ein DRAM,
welcher keinen SAM-Port aufweist, wird nachfolgend als Mehrpfadzugriffshalbleiterspeicherbauelement
bezeichnet, um es von einem Multiportspeicherbauelement zu unterscheiden.
-
Multiprozessorsysteme
werden in mobilen Kommunikationssystemen, welche beispielsweise tragbare
Multimediaabspielgeräte,
Telefone und PDAs umfassen, verwendet, um eine Hochgeschwindigkeitskommunikation
zu erzielen. Ein solches System ist in 1 dargestellt,
welches ein Blockdiagramm eines Multiprozessorsystems zeigt, welches in
einem mobilen Kommunikationsgerät
verwendbar ist. Ein erster Prozessor 101 und ein zweiter
Prozessor 201 sind über
eine Leitung B3 verbunden. Ein erster Speicher 301 und
ein DRAM 401 sind mit dem ersten Prozessor 101 über einen
festgelegten Systembus B1 gekoppelt. Der DRAM 402 und ein
Flashspeicher 302 sind mit dem zweiten Prozessor 201 durch
einen festgelegten Bus B2 gekoppelt. Der erste Prozessor 101 kann
dazu bestimmt werden, Benutzerapplikationsfunktionen, wie beispielsweise
eine Datenkommunikation, Spiele, usw., zur Verfügung zu stellen. Der zweite
Prozessor 201 kann eine MODEM-Funktion zum Modulieren und/oder
Demodulieren eines Kommunikationssignals aufweisen.
-
Die
Flashspeicher 301 und 302 können vom NOR-Typ oder vom NAND-Typ sein. Der NOR-Flashspeicher
oder der NAND-Flashspeicher sind nichtflüchtige Speicher, welche eine
Transistorspeicherzelle mit einem floatenden Gate aufweisen. Der
nichtflüchtige
Speicher ist dazu ausgebildet, Daten unabhängig vom Energiezustand zu
speichern. Die DRAMs 401 und 402 fungieren als
Hauptspeicher für die
Datenverarbeitung der korrespondierenden Prozessoren 101 und 201.
In einem Multiprozessorsystem muss jedem Prozessor ein DRAM zugewiesen werden.
Obwohl auch UART-, SPI- und SRAM-Schnittstellen genutzt werden können, weisen diese
jedoch nur eine niedrige Übertragungsge schwindigkeit
auf. Daher ist es schwierig eine ausreichende Datenübertragungsgeschwindigkeit
sicherzustellen, was wiederum die Größe und Kosten einer korrespondierenden
Speicherkonfiguration ansteigen lässt.
-
2 ist
eine Multiprozessorkonfiguration, welche die Anzahl von DRAM-Speichern
und die Gesamtspeichergröße reduziert,
während
die Datenübertragungsgeschwindigkeit
erhöht
wird. Ein DRAM 403 ist über
einen Bus B1 oder B2 mit einem ersten bzw. einem zweiten Prozessor 101 und 201 verbunden.
Der erste Prozessor 101 ist über einen Bus B4 mit einem
Flashspeicher 303 gekoppelt und der zweite Prozessor 201 ist über einen
Bus B5 mit einem Flashspeicher 304 gekoppelt und über Leitung
B3 mit dem ersten Prozessor 101 verbunden. Zwei Ports, welche
entsprechend mit dem Bus B1 und B2 verbunden sind, sind innerhalb
des DRAM 403 für
einen Zugriff durch den ersten bzw. den zweiten Prozessor 101 und 201 über zwei
Pfade vorgesehen. Eine solche Multiportkonfiguration unterscheidet
sich von einem generellen DRAM, welcher einen einzelnen Port aufweist.
-
Die
US-Patentanmeldung Nr. 2003/0093628 offenbart ein Multiprozessorsystem,
welches einen geteilten Speicherbereich aufweist. Ein Speicherfeld ist
aus einem ersten, zweiten und dritten Teilbereich aufgebaut. Der
erste Teilbereich ist nur für
einen ersten Prozessor zugänglich.
Der zweite Teilbereich ist nur für
einen zweiten Prozessor zugänglich
und der dritte Teilbereich ist ein geteilter Speicherbereich, welcher
für den
ersten und zweiten Prozessor zugänglich
ist. Bei dieser Konfiguration sind Lese-/Schreibpfade für den ersten,
zweiten und dritten Teilbereich des Speicherfeldes erforderlich.
Typischerweise werden UART-, SPI- oder
SRAM-Schnittstellen für
die Kommunikation zwischen herkömmlichen
Prozessoren (MODEM- und Applikationsprozessoren) verwendet. Solche
Schnittstellen beeinträchtigen
die Datenübertragungsgeschwindigkeit und
erhöhen
die Anzahl der Pins am Gerät.
Prozessoren, welche sich einen außerhalb des zugewiesenen DRAMs
liegenden Speicherbe reich teilen, erfordern eine Übertragungsschnittstellenfunktion
zwischen den Prozessoren, beispielsweise über eine Leitung B3. Zusätzlich ist
für jeden
Prozessor ein Flashspeicher vorgesehen, was das System weiter verkompliziert,
während
zusätzliche
Kosten entstehen. Diese Schnittstellenfunktion beeinträchtigt wiederum
die Datenübertragungsgeschwindigkeit
und erhöht
die Anzahl der Pins am Gerät.
Mit dem Ansteigen des Datenverkehrs in dreidimensionalen Spielen oder
bei einer Bildkommunikation (HDPDA, wibro usw.) sind Hochgeschwindigkeitsschnittstellen
zwischen den Multiprozessoren erforderlich. Entsprechend ist es
in Multiprozessorsystemen erforderlich, einen DRAM und einen Flashspeicher
zu teilen und einen solchen Prozessor, welcher nicht direkt mit
einem Flashspeicher verbunden ist, aber indirekt auf den Flashspeicher über den
DRAM zugreifen kann, unter Verwendung eines DRAMs mit einem Mehrpfadzugriff
zu vernetzen.
-
Der
Erfindung liegt die technische Aufgabe zugrunde, ein Halbleiterspeicherbauelement,
ein Treiberverfahren für
ein Halbleiterspeicherbauelement, ein Verfahren zum Schreiben von
Daten in einen Flashspeicher und ein mobiles Kommunikationssystem
bereitzustellen, welche eine Schnittstellenfunktion zwischen mehreren
Prozessoren bereitstellen, die dazu in der Lage ist, einen Flashspeicher
indirekt zu steuern.
-
Die
Erfindung löst
diese Aufgabe durch ein Halbleiterspeicherbauelement mit den Merkmalen des
Patentanspruchs 1 oder 11, ein Treiberverfahren für ein Halbleiterspeicherbauelement
mit den Merkmalen des Patentanspruchs 21, ein Verfahren zum Schreiben
von Daten in einen Flashspeicher mit den Merkmalen des Patentanspruchs
22 und ein mobiles Kommunikationssystem mit den Merkmalen des Patentanspruchs
23.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben,
deren Wortlaut hiermit durch Bezugnahme in die Beschrei bung aufgenommen
wird, um unnötige
Textwiederholungen zu vermeiden.
-
Bei
einer beispielhaften Ausführungsform umfasst
das Halbleiterspeicherbauelement einen geteilten Speicherbereich,
auf den durch einen ersten und einen zweiten Prozessor über unterschiedliche Eingabe-/Ausgabeports zugegriffen
werden kann. Der geteilte Speicherbereich ist einem Teilbereich des
Speicherzellenfelds zugeordnet. Ein Flashspeicher ist außerhalb
des geteilten Speicherbereichs angeordnet und mit dem zweiten Prozessor
gekoppelt. Ein internes Register ist außerhalb des Speicherzellenfelds
angeordnet und für
den ersten und den zweiten Prozessor zugänglich. Eine Steuereinheit
ist dazu konfiguriert, die Speicherung von Adressenabbildungsdaten
zu steuern, welche dem Flashspeicher zugeordnet sind, sodass der
erste Prozessor unter Verwendung des geteilten Speicherbereichs
und des internen Registers indirekt auf den Flashspeicher zugreift,
selbst wenn nur der zweite Prozessor mit dem Flashspeicher gekoppelt
ist. Die Steuereinheit ist weiter dazu konfiguriert, den geteilten
Speicherbereich operativ mit dem ersten oder zweiten Prozessor zu
verbinden.
-
Vorteilhafte,
nachfolgend im Detail beschriebene Ausführungsformen der Erfindung
sowie die zu deren besserem Verständnis oben erläuterten,
herkömmlichen
Ausführungsbeispiele
sind in den Zeichnungen dargestellt. Es zeigt/zeigen:
-
1 ein
Blockdiagramm eines Multiprozessorsystems, welches für ein mobiles
Kommunikationsgerät
gemäß dem Stand
der Technik geeignet ist,
-
2 ein
Blockdiagramm eines Multiprozessorsystems gemäß dem Stand der Technik,
-
3 ein
Blockdiagramm eines Multiprozessorsystems, welches einen DRAM mit
Mehrpfadzugriff aufweist, gemäß der vorliegenden
Erfindung,
-
4 ein
Blockdiagramm des in 3 dargestellten DRAM mit Mehrpfadzugriff,
-
5 eine
Darstellung einer Adressenzuordnung zu Speicherbereichen und ein
internes Register, auf welches 4 Bezug
nimmt,
-
6 eine
Adressenabbildungstabelle, welche ein Abbildungs- bzw. Zuordnungsbeispiel
zwischen logischen Adressen und physikalischen Adressen für den Flashspeicher
aus 3 zeigt,
-
7 ein
Blockdiagramm eines Schaltkreises, der auf einen Mehrpfadzugriff
auf den geteilten Speicherbereich und ein internes Register bezogen ist,
auf welches 4 Bezug nimmt,
-
8 eine
Detailansicht des Schaltkreises aus 7,
-
9 ein
Schaltplan eines Beispiels einer Steuereinheit, auf welche 4, 7 und 8 Bezug
nehmen,
-
9A ein
Zeitablaufdiagramm für
Signale PA und PB,
-
10 ein
Schaltplan eines Beispiels eines Adressmultiplexers, auf welchen 7 und 8 Bezug
nehmen,
-
11 ein
Flussdiagramm für
eine Schreiboperation von Prozessoren, um Daten über das DRAM mit Mehrpfadzugriff
aus 4 in einen Flashspeicher zu schreiben, und
-
12 ein
Flussdiagramm für
eine Leseoperation von Prozessoren, um Daten aus einem Flashspeicher über das
DRAM mit Mehrpfadzugriff aus 4 zu lesen.
-
3 ist
ein Blockdiagramm eines Multiprozessorsystems, welches einen DRAM
mit Mehrpfadzugriff aufweist, mit einer geteilten bzw. gemeinsamen
Nutzung eines Flashspeichers gemäß einer Ausführungsform
der Erfindung. Ein DRAM mit Mehrpfadzugriff 400 ist zwischen
einem ersten Prozessor 100 und einem zweiten Prozessor 200 eingeschleift. Der
erste Prozessor 100 kann für Applikationsprozesse verwendet
werden und der zweite Prozessor 200 kann ein ASIC (anwendungsspezifischer
integrierter Schaltkreis) sein. Der DRAM 400 kann beispielsweise
auch ein statischer Speicher mit direktem Zugriff oder ein nichtflüchtiger
Speicher usw. sein. Ein Flashspeicher 300 ist mit dem zweiten
Prozessor 200 gekoppelt. Der erste Prozessor 100 ist über einen
Bus 61 mit dem DRAM 400 gekoppelt und der zweite
Prozessor 200 ist über
einen Bus B2 mit dem DRAM 400 gekoppelt. Bei einem anfänglichen Systembootvorgang
sind Adressenabbildungsdaten des Flashspeichers in Form einer Tabelle
in einem geteilten Speicherbereich des DRAM 400 gespeichert.
Der erste Prozessor 100 kommuniziert mit dem zweiten Prozessor 200 über den
DRAM 400 ohne eine externe Schnittstelle zu nutzen, wobei
indirekt auf den Flashspeicher 300 zugegriffen wird. Auf
diese Weise greift der erste Prozessor 100 indirekt auf den
Flashspeicher 300 zu, welcher mit dem zweiten Prozessor 200 verbunden
ist, wenn der erste Prozessor 100 mit dem DRAM 400 gekoppelt
ist. Die Adressenabbildungsdaten des Flashspeichers werden durch
eine DRAM-Schnittstelle geleitet und im geteilten Speicherbereich
des DRAM 400 gespeichert. Das Multiprozessorsystem aus 3 kann
beispielsweise ein tragbares Computergerät oder ein mobiles Kommunikationsgerät, wie z.
B. ein zellulares Telefon, ein Zwei-Weg-Funkkommunikationssystem, ein Simplex-Pager,
ein Duplex-Pager usw., sein. Obwohl nur der erste Prozessor 100 und
der zweite Prozessor 200 dargestellt sind, kann die Anzahl
der verwendeten Prozessoren auch drei oder mehr betragen. Der Prozessor
kann eine CPU, ein ASIC, ein digitaler Signalprozessor, ein Mikrocontroller,
ein Computer mit reduziertem Befehlssatz, ein Computer mit komplexem
Befehlssatz oder eine Kombination daraus sein.
-
Bezugnehmend
auf 4 fungiert ein internes Register 50 als
Schnittstelleneinheit innerhalb des DRAM 400, um die Kommunikation
zwischen den Prozessoren 100 und 200 zu ermöglichen.
Das interne Register 50 beinhaltet einen Semaphorbereich
und einen Mailboxbereich und ermöglicht
eine Datenkommunikation durch den geteilten Speicherbereich 11,
auf den gemeinsam von den Prozessoren 100 und 200 zugegriffen
werden kann. Der DRAM mit Mehrpfadzugriff 400 umfasst vier
Speicherbereiche 10, 11, 12 und 13,
welche ein Speicherzellenfeld bilden, und ein internes Register 50,
welches außerhalb des
Speicherzellenfelds angeordnet ist. Eine erste und eine zweite Pfadeinheit 20 und 21,
Multiplexer 40 und 41 und eine Steuereinheit 30 sind
ebenfalls außerhalb
des Speicherzellenfelds angeordnet. Der DRAM 400 kann zwei
unabhängige
Ports aufweisen. Der erste Port 60 ist beispielsweise mit
dem Bus B1 verbunden und der zweite Port 61 ist mit dem
Bus B2 verbunden. Die Busse B1 und B2 können eine General-Purpose-Input/Output(GIPO)-Leitung
sein.
-
Auf
einen dedizierten Speicherbereich A (10) greift der erste
Prozessor 100 über
den ersten Port 60 zu. Auf einen dedizierten Speicherbereich
B, welcher eine Bank C (12) und eine Bank D (13)
umfasst, greift der zweite Prozessor 200 über den
zweiten Port 61 zu. Zusätzlich
wird auf den geteilten Speicherbereich 11 vom ersten und
vom zweiten Prozessor 100 und 200 über den
ersten bzw. den zweiten Port 60 und 61 zugegriffen.
Die Speicherbank B (11) dient als der geteilte Speicherbereich
und Bänke
A (10), C (12) und D (13) dienen als
die Speicherbereiche für einen
Zugriff des jeweiligen korrespondierenden Prozessors. Jeder der
vier Speicherbereiche 10 bis 13 kann beispielsweise
eine Größe von 64
MB, 128 MB, 256 MB, 512 MB oder 1024 MB aufweisen.
-
Ein
Speichertabellenbereich 110 ist innerhalb des geteilten
Speicherbereichs 11 dazu konfiguriert, Adressenabbildungsdaten
des Flashspeichers 300 zu speichern. Die Adressenabbildungsdaten
repräsentieren
Informationen über
eine logische Adresse des Flashspeichers 300, welche mit
einer physikalischen Adresse korrespondiert. Das interne Register 50 fungiert
als Schnittstelleneinheit zwischen dem ersten und dem zweiten Prozessor 100 und 200 und kann
ein Flip-Flop, ein Datenzwischenspeicher oder eine SRAM-Zelle sein.
Das interne Register 50 kann einen Semaphorbereich 51,
einen ersten Mailboxbereich (Mailbox A nach B (A → B): 52),
einen zweiten Mailboxbereich (Mailbox B nach A (B → A): 53),
einen Überprüfungs(CHK)-Bit-Bereich 54 und
einen Reservebereich 55 umfassen. Die Bereiche 51 bis 55 können gemeinsam
durch eine spezifische Zeilenadresse freigegeben werden und sind
durch eine angelegte Spaltenadresse individuell selektierbar. Wenn
beispielsweise auf eine Zeilenadresse 1FFF800h bis 1FFFFFFh, welche
mit einem spezifischen Zeilenbereich 121 des geteilten
Speicherbereichs 11 korrespondiert, zugegriffen wird, ist
der Bereich 121 des geteilten Speicherbereichs gesperrt
und das interne Register 50 ist freigegeben. Im Semaphorbereich 51 ist
die Zugriffs- bzw. Steuerberechtigung für den geteilten Speicherbereich 11 gespeichert.
In den ersten und den zweiten Mailboxbereich 52 und 53 wird
eine Nachricht, welche an einen Zählerprozessor geleitet wird,
gemäß einer
vorgegebenen Übertragungsrichtung
geschrieben. Diese geschriebene Nachricht kann beispielsweise eine
Berechtigungsanfrage, eine Übertragung
von Daten, welche eine logische/physikalische Adresse des Flashspeichers
oder eine Datengröße anzeigen,
oder eine Adresse des geteilten Speicherbereichs zum Speichern von
Daten sein.
-
Die
Steuereinheit 30 initiiert einen Steuerbefehl, um die Adressenabbildungsdaten
des Flashspeichers 300 in den Speichertabellenbereich 110 zu speichern.
Dieser Steuerbefehl ermöglicht
dem ersten Prozessor 100 unter Verwendung des geteilten Speicherbereichs 11 und
des internen Registers 50 einen indirekten Zugriff auf
den Flashspeicher 300. Das wird auch dann durchgeführt, wenn
nur der zweite Prozessor 200 mit dem Flashspeicher 300 gekoppelt
ist, und stellt einen Pfad bereit, um den geteilten Speicherbereich 11 operativ
mit dem ersten oder dem zweiten Prozessor 100 oder 200 zu
verbinden. Eine Signalleitung R1 verbindet den ersten Port 60 mit
der Steuereinheit 30, um ein erstes externes Signal, welches über den
Bus B1 vom ersten Prozessor 100 angelegt wird, zu übertragen.
Eine Signalleitung R2 verbindet den zweiten Port 61 mit
der Steuereinheit 30, um ein zweites externes Signal, welches über den
Bus B2 vom zweiten Prozessor 200 angelegt wird, zu übertragen.
Das erste und das zweite externe Signal können ein Zeilenadressenabtastsignal RASB,
ein Schreibfreigabesignal WEB und eine Bankauswahladresse BA umfassen,
welche individuell über
den ersten und den zweiten Port 60, 61 angelegt
werden. Die Signalleitungen C1 und C2 übertragen jeweils Pfadauswahlsignale,
um den geteilten Speicherbereich 11 operativ mit dem ersten
Port 60 oder dem zweiten Port 61 zu verbinden.
-
5 stellt
eine Adressenzuordnung korrespondierend mit den Speicherbereichen
und dem internen Register aus 4 dar. Wenn
beispielsweise jede Bank 10 bis 13 eine Kapazität von 16
Megabits aufweist, werden 2 Kilobit des Speichers von Bank B als
gesperrter Bereich bestimmt. Das bedeutet, dass eine spezifische
Zeilenadresse (1FFF800h bis 1FFFFFFh, 2 Kilobit = 1 Zeilengröße), welche
eine optionale Zeile des geteilten Speicherbereichs 11 freigibt,
veränderbar
dem internen Register 50 als eine Schnittstelleneinheit
zuordenbar ist. Wenn die spezifische Zeilenadresse (1FFF800h bis 1FFFFFFh)
angelegt wird, wird eine spezifische Wortleitung 121, welche
mit dem geteilten Spei cherbereich 11 korrespondiert, deaktiviert,
während
das interne Register freigegeben ist. Daraus resultiert, dass der
Semaphorbereich und die Mailboxbereiche 52 und 53 durch
das direkte Adressenzuordnungsverfahren zugänglich sind. Die Abbildung
auf das interne Register des DRAM wird durch Decodieren eines Befehls
ausgeführt,
welcher einer korrespondierenden gesperrten Adresse zugeordnet ist.
Auf diese Weise erzeugt eine Speichersteuereinheit eines Chipsatzes
einen Befehl für
diesen Bereich durch das gleiche Verfahren, das benutzt wird, um
auf die Speicherzellen zuzugreifen, wodurch Vorladefehler verhindert
werden, welche von einer Steuereinheit verursacht werden, die ein
offenes Verfahren verwendet. Der Semaphorbereich 51, der
erste Mailboxbereich 52 und der zweite Mailboxbereich 53 können jeweils
beispielsweise 16 Bits des Speichers umfassen und die Größe des Steuer(CHK)-Bit-Bereichs 54 kann
4 Bit betragen.
-
6 ist
eine Adressenabbildungstabelle, welche die Zuordnung von physikalischen
und logischen Adressen des Flashspeichers 300 zeigt. Ein Adressenbereich
LA1 bis LA8 kennzeichnet eine logische Adresse, welche auf einer
eins-zu-eins Basis einem physikalischen Adressenbereich PA1 bis
PA10 zugeordnet ist. Wenn im Flashspeicher ein fehlerhafter Sektor
lokalisiert wird, wird keine logische Adresse einer physikalischen
Adresse zugeordnet. Ein Pfeil AR4 verbindet beispielsweise den logischen Adressbereich
LA4 mit dem physikalischen Adressbereich PA4. Wenn die mit der ausgewählten Adresse
korrespondierende Speicherzelle (BAD1) defekt ist, wird die logische
Adresse dem physikalischen Adressbereich PA5 zugeordnet, wie durch
einen Pfeil AR5 angezeigt wird. Daraus resultiert, dass ein Prozessor
auf den physikalischen Adressenbereich PA5 des Flashspeichers zugreift,
wenn der Prozessor auf den Speicherbereich mit der logischen Adresse 0×0FFFFFFh
zugreift. Wenn der erste Prozessor 100 auf eine logische
Adresse des Flashspeichers 300 zugreift, kann der erste
Prozessor die physikalische Adresse, welche mit der logischen Adresse
korrespondiert, oder die lo gische Adresse in das interne Register 50 schreiben.
Im ersten Fall kann sich der erste Prozessor 100 auf einen
Speichertabellenbereich 110 des geteilten Speicherbereichs 11 beziehen.
Im letzten Fall kann sich der zweite Prozessor 200 auf
den Speichertabellenbereich 110 beziehen. Die Adressenabbildungsdatei
des Flashspeichers 300 ist im Tabellenbereich 110 gespeichert
und wird vom zweiten Prozessor 200 durch einen anfänglichen
Systembootvorgang geladen.
-
8 zeigt
den Schaltkreis mit Mehrpfadzugriff aus 7 im Detail.
Multiplexer 40 und 41 sind symmetrisch angeordnet
und mit der Steuereinheit 30 verbunden. Ein Eingabe-/Ausgabeabtastverstärker und
Treiber 22 und ein Eingabe-/Ausgabeabtastverstärker und
Treiber 23 sind symmetrisch angeordnet und mit den Multiplexern 40 bzw. 41 verbunden. Im
geteilten Speicherbereich 11 ist eine DRAM-Zelle 4 aus
einem Zugriffstransistor (AT) und einem Speicherkondensator C aufgebaut,
um eine Speichereinheit zu bilden. Die DRAM-Zelle 4 ist
mit Kreuzungen einer Mehrheit von Wortleitungen und einer Mehrzahl von
Bitleitungen gekoppelt, wodurch ein Matrixbankfeld gebildet wird.
Eine Wortleitung WL ist zwischen einem Gate des Zugriffstransistors
AT und einem Zeilendecoder 75 eingeschleift. Der Zeilendecoder 75 legt
in Reaktion auf eine ausgewählte
Zeilenadresse SADD eines Zeilenadressenmultiplexers 71 ein
Zeilendecodiersignal an die Wortleitung WL und das Register 50 an.
Eine Bitleitung BLi, welche ein Bitleitungspaar bildet, ist mit
einem Drain des Zugriffstransistors AT und einem Spaltenauswahltransistor
T1 gekoppelt. Eine komplementäre
Bitleitung BLBi ist mit einem Spaltenauswahltransistor T2 verbunden. PMOS-Transistoren
P1 und P2 und NMOS-Transistoren N1 und N2 sind mit dem Bitleitungspaar
BLI und BLEI verbunden und definieren einen Bitleitungsabtastverstärker. Abtastverstärkertreibertransistoren
PM1 und NM1 empfangen jeweils Treibersignale LAPG und LANG, um den
Bitleitungsabtastverstärker
zu treiben. Ein Spaltenauswahlgatter 6, welches aus den
Spaltenauswahltransistoren T1 und T2 aufgebaut ist, ist mit einer
Spaltenauswahlleitung CSL verbunden, um ein Spaltendecodiersignal
des Spaltendecoders 74 zu übertragen. Der Spaltendecoder 74 legt
das Spaltendecodiersignal an die Spaltenauswahlleitung und das Register 50 in
Reaktion auf eine Spaltenauswahladresse SCADD des Spaltenadressenmultiplexers 70 an.
-
Eine
lokale Eingabe/Ausgabeleitung 110, welche in 7 dargestellt
ist, korrespondiert mit einem lokalen Eingabe-/Ausgabeleitungspaar 110, welches ähnlich wie
die Leitung LIOB in 8 mit einem Transistor T10 verbunden
ist. Transistoren T10 und T11 definieren einen ersten Multiplexer 7:F-MUX.
Wenn diese Transistoren von einem lokalen Eingabe-/Ausgabeleitungssteuersignal
LIOC angeschaltet werden, wird ein lokales Eingabe-/Ausgabeleitungspaar
LIO, LIOB logisch mit einem globalen Eingabe-/Ausgabeleitungspaar
GIO, GIOB verbunden. In einem Datenlesemodus werden Daten, welche
auf dem lokalen Eingabe-/Ausgabeleitungspaar LIO,
LIOB auftreten, an das globale Eingabe-/Ausgabeleitungspaar GIO, GIOB übertragen.
In einem Datenschreibmodus werden Schreibdaten, welche am globalen
Eingabe-/Ausgabeleitungspaar
GIO, GIOB angelegt sind, an das lokale Eingabe-/Ausgabeleitungspaar LIO, LIOB übertragen.
Das lokale Eingabe-/Ausgabeleitungssteuersignal
LIOC kann ein Signal sein, welches in Reaktion auf eine Decodiersignalausgabe
vom Zeilendecoder 75 erzeugt wird.
-
Wenn
ein Pfadentscheidungssignal MA, welches von der Steuereinheit 30 ausgegeben
wird, einen aktiven Zustand aufweist, werden Lesedaten, welche an
das globale Eingabe-/Ausgabeleitungspaar GIO, GIOB gesendet werden, über den
zweiten Multiplexer 40 an den Eingabe-/Ausgabeabtastverstärker und Treiber 22 übertragen.
Der Eingabe-/Ausgabeabtastverstärker und
Treiber 22 verstärkt
Daten, welche gemäß den Übertragungsprozeduren über den
Datenpfad einen schwachen Pegel aufweisen. Die Lesedaten, welche
vom Eingabe- /Ausgabeabtastverstärker und
Treiber 22 ausgegeben werden, werden über einen Multiplexer und Treiber 26 an
den ersten Port 60 übertragen.
Hierbei weist ein Pfadentscheidungssignal MB einen inaktiven Zustand
auf und der zweite Multiplexer 41 ist gesperrt. Dadurch
wird die Zugriffsoperation des zweiten Prozessors 200 auf
den geteilten Speicherbereich 11 unterbrochen. Auf diese
Weise kann der zweite Prozessor 200 auf die zugeordneten Speicherbereiche 12 und 13 über den
zweiten Port 61 zugreifen, aber nicht auf den geteilten
Speicherbereich 11 zugreifen. Wenn sich das Pfadentscheidungssignal
MA, welches von der Steuereinheit 30 ausgegeben wird, unter
dem aktiven Zustand befindet, werden über den ersten Port 60 angelegte Schreibdaten
zum globalen Eingabe-/Ausgabeleitungspaar GIO, GIOB übertragen
und passieren den Multiplexer und Treiber 26, den Eingabe-/Ausgabeabtastverstärker und
Treiber 22 und den zweiten Multiplexer 40. Wenn
der erste Multiplexer 7:F-MUX aktiviert ist, werden Schreibdaten
an das lokale Eingabe-/Ausgabeleitungspaar
LIO, LIOB übertragen
und in der ausgewählten
Speicherzelle 4 gespeichert. Ein Ausgabepuffer und Treiber 60-1 und
ein Eingabepuffer 60-2 können mit dem ersten Port 60 korrespondieren
oder in diesen integriert werden.
-
Die
zwei Eingabe-/Ausgabeabtastverstärker und
Treiber 22 und 23 sind im geteilten Speicherbereich 11 angeordnet.
Die Multiplexer 40 und 41 weisen wechselseitige
komplementäre
Operationen auf, um einem gleichzeitigen Zugriff beider Prozessoren auf
den geteilten Speicherbereich 11 zu verhindern. Der erste
Prozessor 100 und der zweite Prozessor 200 nutzen
die Bauelemente und Leitungen des Schaltkreises, welche zwischen
dem globalen Eingabe-/Ausgabeleitungspaar GIO, GIOB existieren,
gemeinsam, um auf die Speicherzelle 4 zuzugreifen. Insbesondere
ist das lokale Eingabe-/Ausgabeleitungspaar LIO, LIOB operativ mit
dem globalen Eingabe-/Ausgabeleitungspaar GIO, GIOB verbunden. Das
Bitleitungspaar BL, BLB ist operativ mit dem Eingabe-/Ausgabeleitungspaar
LIO, LIOB über
das Spaltenauswahlsignal CSL verbunden. Ein Bitleitungsabtastverstärker 5,
welcher auf dem Bitleitungspaar BL, BLB angeordnet ist, tastet Daten
von der Speicherzelle 4 über den Zugriffstransistor
AT, welcher mit der Bitleitung BL verbunden ist, ab und verstärkt diese
Daten. Ein Eingabe-/Ausgabeabtastverstärker und Treiber 24 ist
dem Speicherbereich A (Bank A) 10 zugeordnet und ein Eingabe-/Ausgabeabtastverstärker und
Treiber 25 ist dem Speicherbereich B (Bank B) 12 zugeordnet.
-
Wie
oben beschrieben, führen
die Prozessoren 100 und 200 unter Verwendung des
internen Registers 50, welches als Schnittstelleneinheit
fungiert, eine Datenkommunikation durch einen gemeinsamen Zugriff
auf den geteilten Speicherbereich 11 aus. Der Prozessor 100 greift
indirekt auf den Flashspeicher 300 zu, welcher mit dem
Prozessor 200 verbunden ist. Auf diese Weise kann die Datenkommunikation
zwischen den Prozessoren über
den geteilten Speicherbereich ohne eine externe Schnittstelle ausgeführt werden
und ein einzelner Flashspeicher kann in einem Multiprozessorsystem
gemeinsam verwendet werden. Zusätzlich
kann eine Mehrzahl von Prozessoren auf den geteilten Speicherbereich
mit hohen Geschwindigkeiten zugreifen, wenn eine Kopplung zwischen
Prozessoren über
das Innere des DRAM-Speichers erfolgt, wodurch die Datenübertragung
verbessert und die Systemgröße verringert werden.
-
9 zeigt
ein Beispiel der Steuereinheit 30, welche einen Gatterteil 30a umfasst,
welcher aus einer Mehrzahl von logischen Gattern konstruiert ist. Der
Gatterteil 30a empfängt
ein Zeilenadressenabtastsignal RASB_A,B, ein Schreibfreigabesignal WEB_A,B
und eine Bankauswahladresse BA_A,B, welche über den ersten Port 60 und
den zweiten Port 61 bereitgestellt werden. Der Gatterteil 30a erzeugt Gattersignale
PA und PB, welche einen zeitlichen Ablauf aufweisen, welcher in 9A dargestellt
ist. Wenn das Gattersignal PA mit einem niedrigen logischen Pegel
ausgegeben wird, wird auch das Pfadentscheidungssignal MA mit einem
niedrigen logischen Pegel ausgegeben. Wenn das Gat tersignal PA mit
dem niedrigen logischen Pegel ausgegeben wird, wird das Gattersignal
PB auf einem hohen logischen Pegel gehalten und das Pfadentscheidungssignal MB
wird mit einem hohen logischen Pegel ausgegeben. Wenn das Zeilenadressenabtastsignal
RASB über
den Port 60 oder 61 eingegeben wird, passt sich der
Gatterteil 30a den geteilten Speicherbereich 11 an.
Wenn das Zeilenadressenabtastsignal RASB gleichzeitig über die
Ports 60 und 61 angelegt wird, weist der Prozessor,
welcher innerhalb des Systems Priorität hat, den Zugriff auf den
geteilten Speicherbereich 11 auf. Die Steuereinheit 30 umfasst
Inverter 30b, 30c, 30i und 30k,
NAND-Gatter 30d und 30e, Verzögerungsbauelemente 30f und 30g und NAND-Gatter 30h und 30i.
Das Pfadentscheidungssignal MA initiiert eine Verzögerung um
eine spezifizierte Zeitspanne und eine Zwischenspeicherung des Gattersignals
PA. Ähnlich
initiiert das Pfadentscheidungssignal MB eine Verzögerung um
eine spezifizierte Zeitspanne und eine Zwischenspeicherung des Gattersignals
PB.
-
10 ist
ein Schaltbild, welches ein Beispiel für einen Adressenmultiplexer
darstellt, welcher in Abhängigkeit
vom Typ des Eingangssignals durch den Zeilenadressenmultipiexer 71 oder
den Spaltenadressenmultiplexer 70, welche in 7 und 8 dargestellt
sind, definiert wird. Der Spaltenadressenmultiplexer 70 umfasst
getaktete CMOS-Inverter, welche aus PMOS-Transistoren P1 bis P4, NMOS-Transistoren
N1 bis N4 und einem Inverterzwischenspeicher LA1 konstruiert sind,
welcher aus Invertern INV1 und INV2 konstruiert ist. Zwei Spaltenadressen
A_CADD und B_CADD werden über zwei
Eingabeanschlüsse
an den Spaltenadressenmultiplexer 70 angelegt und eine
dieser beiden Eingaben wird durch einen logischen Zustand des Pfadentscheidungssignals
MA, MB ausgewählt
und als eine ausgewählte
Spaltenadresse SCADD ausgegeben. Ein NMOS-Transistor N5 und ein
NOR-Gatter NOR1 sind angepasst, um einen Endladepfad zwischen dem
Eingabeanschluss des Inverterzwischenspeichers LA1 und Masse zu
bilden. Inverter IN1 und IN2 sind angepasst, um den logischen Zustand
des Pfadentscheidungssignals MA, MB zu invertieren.
-
Wenn
beispielsweise das Pfadentscheidungssignal MA mit einem niedrigen
logischen Pegel angelegt ist, wird die Spaltenadresse A_CADD, welche über den
ersten Port 60 angelegt ist, durch den Inverter invertiert,
welcher durch einen PMOS-Transistor P2 und einen NMOS-Transistor N1 konstruiert ist.
Dieses Signal wird wiederum durch einen Inverter INV1 invertiert
und als ausgewählte
Spaltenadresse SCADD ausgegeben. Während das Pfadentscheidungssignal
MB mit einem hohen logischen Pegel angelegt ist, kann die Spaltenadresse
B_CADD, welche durch den zweiten Port 61 angelegt werden kann,
nicht an den Eingabeanschluss des Zwischenspeichers LA1 angelegt
werden, da ein Inverter, welcher durch einen PMOS-Transistor P4
und einen NMOS-Transistor
N3 konstruiert ist, in einem inaktiven Zustand ist. Daraus resultiert,
dass die Spaltenadresse B_CADD nicht als ausgewählte Spaltenadresse SCADD ausgegeben
wird. Wenn eine Ausgabe des NOR-Gatters
NOR1 einen hohen logischen Pegel aufweist, wird der NMOS-Transistor N5 angeschaltet
und ein logischer Pegel, welcher vom Zwischenspeicher LA1 zwischengespeichert
ist, wird auf einen niedrigen logischen Pegel zurückgesetzt.
-
11 ist
ein Flussdiagramm, welches eine Schreiboperation der Prozessoren 100 und 200 darstellt,
um Daten über
den DRAM mit Mehrpfadzugriff 400, welcher in 4 dargestellt
ist, in den Flashspeicher 300 zu schreiben. Umgekehrt zeigt 12 ein
Flussdiagramm, welches eine Leseoperation der Prozessoren 100 und 200 darstellt,
um Daten über den
DRAM mit Mehrpfadzugriff 400, welcher in 4 dargestellt
ist, aus dem Flashspeicher 300 zu lesen. Obwohl der erste
Prozessor 100 dazu konfiguriert werden kann, nur logische
Adressen des Flashspeichers während
einer Schreiboperation anzupassen, kann er auch nach einer physikalischen
Adresse suchen, welche mit einer speziellen logischen Adresse korrespondiert.
Wenn der erste Prozessor 100 nur logische Adressen des
Flashspeichers 300 verwendet, muss der zweite Prozessor 200 nach
der physikalischen Adresse suchen, welche mit der logischen Adresse
korrespondiert. Zuerst werden bei einem anfänglichen Bootvorgang des Multiprozessorsystems, welches
in 3 dargestellt ist, die Adressabbildungsdaten (AMD),
welche auf die logischen Adressen des Flashspeichers 300 und
ihre korrespondieren physikalischen Adressen bezogen sind, in den Speichertabellenbereich 110 des
geteilten Speicherbereichs unter Verwendung des zweiten Prozessors 200 geladen.
Der Semaphorbereich 51 und die zweite Mailbox 53 innerhalb
des internen Registers 50 können so konfiguriert werden,
dass der zweite Prozessor 200 die Steuerberechtigung erhält. Die
Erwerbung der Steuerberechtigung ist erforderlich, um den geteilten
Speicherbereich 11 als eine gemeinsame Prozessorenressource
ohne einen Konflikt zu verwenden.
-
Im
Allgemeinen wird bei einem Initialisierungsschritt eines typischen
DRAM-Speichers zwei Mal ein automatischer Auffrischungsvorgang durchgeführt und
dann wird ein Modusregistersetz(MRS)-Signal gesetzt. Bei dieser
Ausführungsform
wird das MRS-Signal jedoch gesetzt, bevor die Initialisierung des
Speichers abgeschlossen ist. Dies verhindert, dass ein automatischer
Auffrischungsvorgang ausgeführt
wird. Um den automatischen Auffrischungsvorgang durchzuführen, kann
dem Prozessor 200 die Steuerberechtigung des geteilten Speicherbereichs 11 als
Voreinstellung zugeordnet werden. Wenn der Prozessor 100 ohne
Berechtigung versucht den geteilten Speicherbereich 11 zu
nutzen, wird ein Signal zur Anforderung der Berechtigung über die
erste Mailbox 52 an den Prozessor 200 gesendet.
Der erste Prozessor 100 überwacht periodisch den Semaphorbereich 51,
um zu überprüfen, ob
die Steuerberechtigung erteilt wurde. Wenn der zweite Prozessor 200 die
Ausführung
beendet hat, wird der Semaphorbereich 51 freigegeben. Dadurch klärt der erste
Prozessor 100 die Freigabe des Semaphorbereichs und erhält eine
Zugriffsberechtigung auf den geteilten Speicherbereich 11 als
gemeinsame Ressource, wie im Schritt S10 in 11 gezeigt ist.
-
Im
Schritt S11 sucht der erste Prozessor 100 nach einer physikalischen
Adresse, welche mit einer logischen Adresse korrespondiert, an welche
Daten bezugnehmend auf den Speichertabellenbereich 110 des
geteilten Speicherbereichs 11 geschrieben werden sollen.
Durch den Zugriff auf die in 6 dargestellte
Adressenabbildungstabelle sucht der erste Prozessor 100 beispielsweise
nach einer physikalischen Adresse, welche mit der logischen Adresse des
Flashspeichers 300 korrespondiert. Im Schritt S12 schreibt
der erste Prozessor 100 die physikalische Adresse des Flashspeichers,
eine Schreibdatengröße, eine
Adresse des geteilten Speicherbereichs 11, an welcher die
Schreibdaten gespeichert sind, und den Schreibbefehl in den ersten
Mailboxbereich 52. Der erste Prozessor 100 schreibt
die Schreibdaten außerdem
in den geteilten Speicherbereich 11. Im Schritt S13 überträgt der erste
Prozessor 100 ein Interruptsignal INTb. Daten, welche als
eine logische „1" im Semaphorbereich 51 auftreten,
werden zu einer logischen „0" geändert, sodass
der zweite Prozessor 200 erkennen kann, dass der erste
Prozessor 100 die Zugriffsberechtigung bereitstellt. Da andere
Bereiche des internen Registers 50 ein Flip-Flop oder Speicherzellen
vom Zwischenspeichertyp aufweisen, ist ein Vorladen nicht erforderlich.
-
Der
zweite Prozessor 200, welcher periodisch den Semaphorbereich 51 überprüft, bestimmt, ob
das übertragene
Signal INTb im Schritt 814 empfangen wurde. Wenn das Signal
INTb empfangen wurde, hat der zweite Prozessor im Schritt 315 die Zugriffsberechtigung
nachdem Flagdaten aus dem Semaphorbereich 51 gelesen sind.
Der zweite Prozessor 200 erwirbt die Benutzungspriorität für den geteilten
Speicherbereich 11 und liest im Schritt S16 den Inhalt,
welcher in den ersten Mailboxbereich 52 geschrieben ist.
Im Schritt S17 werden die Daten, welche in den geteilten Speicherbereich 11 geschrieben
sind, gelesen und die Daten werden basierend auf dem Inhalt der
aus dem ersten Mailboxbereich 52 gelesenen Daten an eine
korrespondierende physikalische Adresse des Flashspeichers 300 geschrieben.
Die Schreiboperation des Flashspeichers 300 im Schritt
S17 wird durch Anlegen einer hohen Spannung von ungefähr 12 bis
18 Volt an einen Speicherzellentransistor ausgeführt, welcher ein floatendes Gate
aufweist, um eine F-N-Tunnelungsoperation
zu erzeugen. Diese Schreiboperation ist typisch für NAND-
und NOR-Flashspeicher.
-
Wenn
der erste Prozessor 100 während der Schreiboperation
nur die logische Adresse des Flashspeichers behandelt, wird der
Schritt S11 ausgelassen, und im Schritt S12 wird die logische Adresse
des Flashspeichers in den ersten Mailboxbereich 52 geschrieben.
Der zweite Prozessor 200 sucht basierend auf der Information
vom Speichertabellenbereich 110 nach der physikalischen
Adresse, welche mit der logischen Adresse korrespondiert. Der zweite Prozessor 200 sucht
nach einer Adressenabbildungstabelle, welche dem Inneren des Flashspeichers 300 zugeordnet
ist.
-
12 zeigt
die Datenleseoperation vom Flashspeicher 300 durch den
ersten Prozessor 100. Ähnlich
wie bei der Schreiboperation kann der erste Prozessor 100 die
logischen Adresse des Flashspeichers während der Leseoperation verarbeiten,
zudem kann er auch nach der physikalischen Adresse suchen, welche
mit der logischen Adresse korrespondiert. Zuerst erwirbt der erste
Prozessor 100 im Schritt S20 die Zugriffsberechtigung auf
den geteilten Speicherbereich 11. Im Schritt S21 sucht
der erste Prozessor 100 bezugnehmend auf den Speichertabellenbereich 110 des
geteilten Speicherbereichs 11 nach der physikalischen Adresse,
welche mit der logischen Adresse korrespondiert. Im Schritt S22 schreibt
der erste Prozessor 100 die physikalische Adresse des Flashspeichers,
eine Lesedatengröße, eine
Adresse des geteilten Spei cherbereichs 11, in welche die
Lesedaten gespeichert werden sollen, und einen Lesebefehl in den
ersten Mailboxbereich 52. Im Schritt S23 überträgt der erste
Prozessor ein Interruptsignal INTb. Daten, welche einen hohen logischen
Pegel „1" im Semaphorbereich 51 aufweisen, werden
auf einen niedrigen logischen Pegel „0" geändert, sodass der zweite Prozessor 200 erkennt, dass
der erste Prozessor 100 die Zugriffsberechtigung an den
zweiten Prozessor übergeben
hat.
-
Der
zweite Prozessor 200, welcher periodisch den Semaphorbereich 51 überprüft, bestimmt im
Schritt S24, ob das übertragene
Signal INTb empfangen wurde. Wenn das Signal INTb empfangen wurde,
weist der zweite Prozessor im Schritt S25 die Zugriffsberechtigung
auf nachdem Flagdaten des Semaphorbereichs 51 gelesen wurden.
Der zweite Prozessor 200 erwirbt die Benutzungspriorität für den geteilten
Speicherbereich 11 und liest im Schritt S26 den Inhalt,
welcher in den ersten Mailboxbereich 52 geschrieben wurde.
Im Schritt S27 greift der zweite Prozessor 200 auf den
Flashspeicher 300 zu und liest Daten, welche mit der korrespondierenden
physikalischen Adresse gespeichert sind, welche vom ersten Prozessor 100 basierend
auf dem Inhalt, welcher aus dem ersten Mailboxbereich 52 gelesen
wurde, zugeordnet wird. Die gelesenen Daten werden dann im Schritt
S28 in eine festgelegte Adresse des geteilten Speicherbereichs 11 geschrieben.
Im Schritt S29 schreibt der zweite Prozessor 200 Informationen
in den zweiten Mailboxbereich 53 und überträgt ein Signal INTa. Der erste
Prozessor 100 überprüft und klärt den Semaphorbereich 51 und
den zweiten Mailboxbereich 53 und liest die Daten des Flashspeichers 300,
welche der ASIC (Application Specific Integrated Circuit) 200 in
den geteilten Speicherbereich 11 des DRAM 400 geschrieben
hat.
-
Die
Leseoperation des Flashspeichers 300 wird durch Anlegen
einer Spannung, welcher niedriger als die mit der Schreiboperation
assoziierte Spannung ist, an den Speicherzellentransistor durchgeführt. Diese
Diffe renz der Spannungspegel stellt ein Mittel zur Verfügung, um
zu bestimmen, ob eine ausgewählte
Speicherzelle eine An-Zelle oder eine Aus-Zelle ist. Obwohl das Verfahren, welches
unter Bezugnahme auf 12 beschrieben ist, den ersten Prozessor 100 als
Hauptsucher für
die Adressenabbildungsdaten (AMD) beschreibt, kann der erste Prozessor 100 auch
dazu konfiguriert werden, die logischen Adressenoperationen zu verarbeiten,
und der zweite Prozessor 200 kann verwendet werden, um nach
der physikalischen Adresse zu suchen.
-
Der
Flashspeicher 300 kann auch ein nichtflüchtiger Halbleiterspeicher,
wie beispielsweise ein PRAM, RRAM, MRAM usw., sein. Zusätzlich können die
vier oben beschriebenen Speicherbereiche so konfiguriert werden,
dass zwei Speicherbereiche als geteilte Speicherbereiche und zwei
als bestimmte bzw. zugeordnete Speicher verwendet werden, oder alle
vier Speicherbereiche können
als geteilte Speicherbereiche konfiguriert werden. Die vorliegende
Ausführungsform
wurde als zwei Prozessoren umfassend beschrieben. Wenn jedoch drei
oder mehr Prozessoren verwendet werden, können drei oder mehr korrespondierende
Ports in einem DRAM vorgesehen werden und einer der drei Prozessoren kann
dazu bestimmt werden, auf einen vorbestimmten geteilten Speicherbereich
zuzugreifen. Des Weiteren kann die Erfindung, obwohl oben ein DRAM
als Beispiel beschrieben wurde, auf einen statischen Speicher mit
direktem Zugriff oder einen nichtflüchtigen Speicher usw. erweitert
werden, ohne die technische Lehre darauf zu beschränken.