WO2004051490A2 - Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung - Google Patents

Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung Download PDF

Info

Publication number
WO2004051490A2
WO2004051490A2 PCT/EP2003/013495 EP0313495W WO2004051490A2 WO 2004051490 A2 WO2004051490 A2 WO 2004051490A2 EP 0313495 W EP0313495 W EP 0313495W WO 2004051490 A2 WO2004051490 A2 WO 2004051490A2
Authority
WO
WIPO (PCT)
Prior art keywords
memory
scx
bus
controller
controllers
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.)
Ceased
Application number
PCT/EP2003/013495
Other languages
English (en)
French (fr)
Other versions
WO2004051490A3 (de
Inventor
Christoph Baumhof
Reinhard KÜHNE
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.)
Hyperstone AG
Original Assignee
Hyperstone AG
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 Hyperstone AG filed Critical Hyperstone AG
Priority to EP03782258A priority Critical patent/EP1567938B1/de
Priority to CA002508655A priority patent/CA2508655A1/en
Priority to DE50305302T priority patent/DE50305302D1/de
Priority to AU2003289919A priority patent/AU2003289919A1/en
Priority to JP2004556244A priority patent/JP2006509279A/ja
Priority to US10/537,700 priority patent/US7415579B2/en
Publication of WO2004051490A2 publication Critical patent/WO2004051490A2/de
Publication of WO2004051490A3 publication Critical patent/WO2004051490A3/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Definitions

  • the invention relates to a memory system which is formed 10 with a plurality of memory controllers arranged in parallel on a clocked bus and memory chips associated with the memory controllers and communicates via the bus with a host system with memory operation commands using logical memory sector numbers.
  • the size of a storage system connected to a host system 15 is limited by the features of the storage controller. This
  • Storage controllers are very simple for price reasons and usually have the following features:
  • connection pins up to 100 connection pins, as inexpensive standard housings are used
  • the object of the invention is to achieve larger storage systems than can be realized with only one standard memory controller by combining several standard memory controllers without the use of additional components
  • the object is achieved in that the memory system has a plurality of memory controllers arranged in parallel on a clocked bus, and in each case the memory controllers
  • a bus is used to access a Memory system accessed and communicated with it via memory operation commands.
  • This bus can be designed as a so-called PCMCIA interface, IDE interface or the like.
  • the controller communicates with the host system using standardized commands in which the memory is addressed with logical memory sector numbers.
  • arbitration methods are assigned to each memory controller exclusively areas of logical memory sector numbers. In the case of host commands which relate to the respective logical memory sector numbers, the assigned memory controller takes over the processing of the command.
  • Storage sector numbers are each processed by one of the controllers and changed with a command, e.g. a read command for a memory area of several sector numbers, which complement the controller accordingly and each the bus to
  • the master executes and respond to storage operations that affect the storage system as a whole. Such memory operations are, for example: “Reset”, “Initialization”, “SetFeatures”, “Diagnosis”. For some storage operations, the commands are executed by all 5 storage controllers, but communication via the status is only carried out by the master with the host system.
  • This line is designed as a tri-state line and has the three electrical states "0", “1", “Tri-State”. For example, the state “0” is the logical “occupied” of the bus and the state “ 1 "assigned to the logical” released ".
  • controller 1 assigned to memory sector numbers 0,4,8,12, controller 2 to memory sector numbers 1,5,9,13, ...., der
  • controller 1 first takes over the bus for memory sector 4 by pulling the tri-state line to “0”. When memory sector 4 is transmitting
  • the ControUerl releases the bus by switching the tri-state line to "1" or by going into the "tri-state state". Thereafter, the controller 2 takes over the bus for the memory sector 5 in the same way. In this way, the bus is taken over by the controllers one after the other until all the requested ones
  • a particularly advantageous embodiment of the memory system results from the use of flash memories as memory chips. This type of memory takes a long time compared to reading
  • the real memory sectors also called “pages”, which are written into the flash chips, can have a multiple size of the logical memory sectors.
  • a simple and inexpensive memory structure results if the 30 memory controllers are integrated together on a semiconductor substrate. With such a structure, the costs for the individual housings are eliminated and the number of connection pins among one another is not significant. In particular, additional control registers are then also accommodated on the semiconductor substrate, with which, for example, the sequence of the individual memory controllers on the bus is determined and the master is determined. 5
  • the initializing host system knows the size of the storage system and the number of storage controllers used.
  • the tri-state line is in the "released” state.
  • the host system sends a determination command via the bus, which is picked up by all connected memory controllers
  • memory controllers determine a waiting time based on a counter that counts the clock that has been created.
  • the memory controller in which the waiting time expires first pulls the tri-state line to "occupied" for a defined period of time. It thus has the memory controller number 1 and it is also designated as the master
  • the tri-state line occupies the waiting time again and is thus assigned the next memory controller number.
  • the master confirms the process to the host system again.
  • the storage controller which has now received a control number, is pulling
  • the host system repeats the process with the determination command as often as it corresponds to the number of memory controllers. Get that Host system no confirmation of a determination command, since a controller number was assigned twice due to the equally long waiting times, it repeats the entire procedure from the beginning. 5
  • the waiting time in the determination method is advantageously derived from a counter in the memory controller by means of a randomly determined counter reading.
  • the clock counted up here is generated separately in each memory controller with an RC oscillator 10, which due to component tolerances does not run synchronously with the others. Therefore, the probability of waiting times of the same length, even with the same random number for the meter reading, is extremely low.
  • Memory controller wrote a so-called anchor sector, which then contains the information about the memory size corresponding to the total number of logical sector numbers, the number of controllers and the page size. So the memory controller has it all
  • FIG. 1 shows a block diagram of the memory system
  • Fig. 2 shows the supplementary block diagram when integrating the
  • Memory controller on a semiconductor substrate.
  • Fig. 3 shows a block diagram for the determination process of
  • FIG. 4 shows a flow chart for the determination process of FIG
  • Memory controller numbers 1 the host system HS communicates with the memory controllers SCx via the bus B.
  • the x stands for the consecutive numbers 1 to 4.
  • the memory controllers SCx are connected in parallel on the bus B.
  • Each memory controller SCx controls memory chips Fx, 5, which are preferably constructed using flash technology.
  • the memory controllers SCx are also connected to the arbitration line BA, which indicates the respective status “occupied” or “released”.
  • This line BA is designed as a tri-state line with a pull-up resistor.
  • the first 10 memory controller SCI is also designated as the master M.
  • FIG. 2 shows the same block diagram as FIG. 1 without the memory chips Fx.
  • the memory controllers SCx are integrated on the semiconductor substrate H.
  • the semiconductor substrate H the semiconductor substrate
  • control register KR which contains a field for each memory controller SCx, which contains the controller number Sx and the determination of the master M. These values are written to the control register KR when the memory system is initialized.
  • FIG. 3 shows the components for the process of determining the memory controller numbers in a block diagram.
  • the evaluation logic AL in the respective memory controllers SCx monitors the commands from the host system HS which are transmitted via bus B
  • Each memory controller SCx has a clock oscillator OSZ, the frequency of which is determined by the capacitor Cx and the resistor Rx. The clock generated here is counted up in counter Z until
  • the counter reading reaches the value W, which is predetermined by the evaluation logic AL. As soon as this value is reached, the transistor T is turned on and the arbitration line BA is pulled to "0".
  • the evaluation logic AL is also connected to the arbitration line BA and monitors it to determine whether another memory controller SCx has previously driven the bus to "0".
  • FIG. 4 shows the process of determining the controller numbers Sx.
  • the host system sends a reset command, which sets the repetition counter N to 0 on the connected controllers SCx.
  • the host system then sends the determination command to the memory controller SCx. Have this
  • controller number Sx is determined and this controller returns to the waiting position. If the counter reading Z establishes the value W, this controller drives the arbitration line to "0" for a predetermined time, thereby indicating that it has determined its controller number Sx.
  • the controller number Sx corresponds to the value of the
  • the host system HS is sent a confirmation of the acceptance of the controller number Sx.
  • the host system HS monitors the bus B for a send confirmation. If no confirmation is received within a predetermined time limit, the host system starts the determination process again.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Die Erfindung beschreibt ein Speichersystem, welches mit mehreren, an einem getakteten Bus (B) parallel angeordneten Speichercontrollern (SCx) und jeweils den Speichercontrollern (SCx) zugeordneten Speicherchips (Fx) gebildet ist und über den Bus (B) mit einem Hostsystem (HS) mit Speicheroperationskommandos unter Verwendung unvon logischen Speichersektornummern kommuniziert, dadurch gekennzeichnet, dass bei einer vom Hostsystem (HS) angeforderten Speicheroperation der jeweils für einen Bereich von logischen Speichersektornummern betroffene Speichercontroller (SCx) den Bus für die Kommunikation mit dem Hostsystem (HS) mittels einer Arbitrierung übernimmt.

Description

Speichersystem mit mehreren Speichercontrollern und Verfahren 5 zu deren Synchronisierung
Die Erfindung betrifft ein Speichersystem, welches mit mehreren, an einem getakteten Bus parallel angeordneten Speichercontrollern und jeweils den Speichercontrollern zugeordneten Speicherchips gebildet 10 ist und über den Bus mit einem Hostsystem mit Speicheroperationskommandos unter Verwendung von logischen Speichersektor- nurnmern kommuniziert.
Die Größe eines Speichersystems, angeschlossen an ein Hostsystem, 15 ist durch die Merkmale des Speichercontrollers begrenzt. Diese
Speichercontroller sind aus Preisgründen sehr einfach aufgebaut und besitzen üblicherweise folgende Merkmale:
- bis zu 100 Anschlusspins, da preiswerte Standardgehäuse verwendet werden,
20 - bis zu 10 Chipselect-Signale zur Auswahl von Speicherchips,
- bis zu 16 KByte interner RAM-Speicher.
Um größere Systeme mit mehr als 10 Speicherchips aufzubauen, sind zusätzliche externe Bauteile erforderlich wie Decoder, Bustransceiver und evtl. auch RAM-Speicher.
25 Aus der Anmeldeschrift mit dem Aktenzeichen DE102 27 256.5 ist beispielsweise eine Anordnung bekannt, bei der die Speicherchips eines größeren Speichers über zusätzliche Bauteile an einen Controller angeschlossen sind. In der Patentschrift US 6,397,314 ist eine Anordnung von
30 Speicherchips an einem Controller beschrieben, wobei der Controller einen doppelt breiten Datenbus besitzt, um zwei Speicherchips parallel mit Daten zu versorgen. Dies bedingt einen nicht standardmäßigen Speichercontroller, der zusätzliche Anschlusspins benötigt. Diese Anordnung ist außerdem nicht auf noch größere Anordnungen anwendbar, da sie auf zwei simultan ansprechbare Speicherchips begrenzt ist. 5
Der Erfindung liegt die Aufgabe zugrunde, größere Speichersysteme als sie mit nur einem standardmäßigen Speichercontroller realisierbar sind, durch die Kombination von mehreren standardmäßigen Speichercontrollern ohne den Einsatz zusätzlicher Bauelemente zu
10 bilden, wobei die maximale Größe nur durch die Anzahl der eingesetzten Speichercontroller begrenzt ist. Um mit der durch Standardgehäuse vorgegebenen Anzahl von Anschlusspins auszukommen, soll für die Zusammenschaltung mehrer Speichercontroller nur eine minimale Anzahl von Anschlusspins
15 benötigt werden.
Gelöst wird die Aufgabe erfindungsgemäß dadurch, dass das Speichersystem mit mehreren, an einem getakteten Bus parallel angeordneten Speichercontrollern und jeweils den Speichercontrollern
20 zugeordneten Speicherchips gebildet ist und dabei über den Bus mit einem Hostsystem mit Speicheroperationskommandos unter Verwendung von logischen Speichersektornummern kommuniziert, wobei bei einer vom Hostsystem angeforderten Speicheroperation der jeweils für einen Bereich von logischen Speichersektornummern
25 betroffene Speichercontroller den Bus für die Kommunikation mit dem Hostsystem mittels einer Arbitrierung übernimmt.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen beschrieben.
30
In PC-Systemen, digitalen Kameras oder in ähnlichen Geräten, hier als Hostsystem bezeichnet, wird über einen Bus auf ein Speichersystem zugegriffen und über Speicheroperationskommandos mit diesem kommuniziert. Dieser Bus kann als sogenannte PCMCIA- Schnittstelle, IDE-Schnittstelle oder dergleichen ausgeführt sein. Mit den verschiedenen Einsatzfällen der Hostsysteme ist ein skalierbarer 5 Speicher gefordert.
Durch die Parallelschaltung von mehreren Speichercontrollern mit jeweils zugeordneten Speicherchips in einer vom Controller maximal verwaltbaren Anzahl wird mit dem Einsatz von immer gleichen Speichercontrollern eine skalierbare Speichergröße erreicht, die keine
10 weiteren Bauteile benötigt, solange die physikalische Spezifikation des Busses eingehalten wird. Die Kommunikation der Controller mit dem Hostsystem erfolgt unter Verwendung von standardisierten Kommandos, bei denen der Speicher mit logischen Speichersektornummern adressiert ist. Durch ein
15 Arbitrierungsverfahren sind j edem Speichercontroller exklusiv Bereiche von logischen Speichersektornummern zugeordnet. Bei Hostkommandos, welche die jeweiligen logischen Speichersektornummern betreffen, übernimmt der zugeordnete Speichercontroller die Abarbeitung des Kommandos. Das
20 Arbitrierungsverfahren stellt sicher, dass alle logischen
Speichersektornummern jeweils von einem der Controller bearbeitet werden und sich bei einem Kommando, z.B. einem Lesekommando für einen Speicherbereich von mehreren Sektornummern, die Controller entsprechend ergänzen und jeweils den Bus zum
25 geeigneten Zeitpunkt übernehmen.
Da mehrere Speichercontroller mit dem Hostsystem kommunizieren, ist es vorteilhaft, dass einer der Speichercontroller als Master an dem Bus bestimmt ist. Dieser fuhrt solange die Kommunikation mit dem 30 Hostsystem durch, wie kein anderer Speichercontroller aufgrund der zugeordneten Speichersektomummer die Kommunikation auf dem Bus übernimmt. Insbesondere werden vom Master Speicheroperationen ausgeführt und beantwortet, die das Speichersystem als Ganzes betreffen. Solche Speicheroperationen sind beispielsweise: „Reset", „Initialisierung", „SetFeatures", „Diagnose". Bei einigen Speicheroperationen werden die Kommandos von allen 5 Speichercontrollern ausgeführt, die Kommunikation über den Status wird aber nur vom Master mit dem Hostsystem geführt.
Ein wesentlicher Vorteil der erfindungsgemäßen Ausführung des Speichersystems ist die Verwendung nur einer einzigen Leitung zur
10 Arbitrierung des Busses zwischen den Speichercontrollern. Diese Leitung ist als Tri-State-Leitung ausgeführt und besitzt die drei elektrischen Zustände „0", „1", „Tri-State". Dabei ist dann z.B. der Zustand „0" dem logischen „belegt" des Busses und der Zustand „1" dem logischen „freigegeben" zugeordnet.
15 Bei der Initialisierung der Controller erhalten die Controller
Nummern, über die auch der zugeordnete Bereich von logischen Speichersektornummern festgelegt ist. So ist z.B. bei vier Controllern der Controller 1 den Speichersektornummern 0,4,8,12, zugeordnet, der Controller 2 den Speichersektornummern 1,5,9,13,...., der
20 Controller 3 den Speichersektornummern 2,6,10,14,...., der Controller 4 den Speichersektornummern 3,7,11,15,... . Wenn nun durch ein Lesekommando die Sektoren 4-11 gelesen werden sollen, übernimmt zuerst der Controller 1 für den Speichersektor 4 den Bus, indem er die Tri-State-Leitung auf „0" zieht. Wenn der Speichersektor 4 übertragen
25 ist, gibt der ControUerl den Bus frei, indem er die Tri-State-Leitung auf „1" schaltet oder in den „Tri-State-Zustand" geht. Danach übernimmt der Controller 2 für den Speichersektor 5 den Bus auf gleiche Art und Weise. So wird der Bus nacheinander fortlaufend von den Controllern übernommen, bis alle angeforderten
30 Speichersektoren, in diesem Fall bis Sektor 11, übertragen sind. Um einen sauberen Wechsel der Kontrolle über den Bus zwischen den Controllern zu erreichen, ist es vorteilhaft, eine Schutzzeit einzuhalten, in welcher die Tri-State-Leitung definiert auf „freigegeben" getrieben ist. Die Zeitkonstante der Tri-State-Leitung 5 mit einem Pull-Up- Widerstand ist bei einem schnellen Busbetrieb nicht kurz genug. Eine günstige Schutzzeit ist eine Taktlänge auf dem Bus.
Wie oben beschrieben, ist es günstig, die Zuordnung der Speicher- 10 Controller zu logischen Speichesektornummern so vorzunehmen, dass aufeinanderfolgenden Speichersektornummern unterschiedliche Controller zugeordnet sind. Damit können so viele logische Speichersektoren quasi parallel geschrieben oder gelesen werden, wie Speichercontroller vorhanden sind. Damit wird eine hohe Arbeitsge- 15 schwindigkeit des Speichersystems erreicht.
Eine besonders vorteilhafte Ausführung des Speichersystems ergibt sich bei dem Einsatz von Flashspeichern als Speicherchips. Bei diesem Speichertyp treten gegenüber den Zeiten des Lesens lange
20 Schreib- und Löschzeiten auf. Durch das Überlappen („Interleave") der Bedienung von fortlaufenden logischen Speichersektornummern durch unterschiedliche Speichercontroller und damit auch unterschiedlichen Speicherchips laufen diese Schreib- und Löschvorgänge quasi parallel ab, was die Geschwindigkeit des gesamten Speicher-
25 Systems steigert. Dabei können die realen Speichersektoren, auch „Pages" genannt, die in die Flashchips geschrieben werden, eine vielfache Größe der logischen Speichersektoren besitzen.
Ein einfacher und preisgünstiger Speicheraufbau ergibt sich, wenn die 30 Speichercontroller zusammen auf einem Halbleitersubstrat integriert sind. Bei einem solchen Aufbau entfallen die Kosten für die einzelnen Gehäuse, und die Anzahl der Anschlusspins untereinander ist nicht von Bedeutung. Insbesondere sind dann auf dem Halbleitersubstrat auch zusätzliche Kontrollregister untergebracht, mit denen beispielsweise die Reihenfolge der einzelnen Speichercontroller am Bus festgelegt wird und der Master bestimmt ist. 5
Falls solche Kontrollregister nicht vorhanden sind, wird während der Initialisierung des Speichersystems die Bestimmung des Masters und die Festlegung der Reihenfolge der Speichercontroller am Bus durch nachfolgendes Verfahren festgelegt:
10 Dem initialisierenden Hostsystem ist die Größe des Speichersystems und die Anzahl der eingesetzten Speichercontroller bekannt. Die Tri-State-Leitung befindet sich im Zustand „freigegeben". Das Hostsystem sendet über den Bus ein Bestimmungskommando, das von allen angeschlossenen Speichercontrollern aufgenommen wird. Die
15 Speichercontroller bestimmen anhand eines Zählers, der den angelegten Takt zählt, eine Wartezeit. Derjenige Speichercontroller, bei dem die Wartezeit als erstes abläuft, zieht die Tri-State-Leitung für einen definierten Zeitraum auf „belegt". Er besitzt damit die Speichercontrollernummer 1, und er ist auch als Master bestimmt. Die
20 anderen Speichercontroller registrieren diesen Vorgang. Der Master sendet an das Hostsystem ein Bestätigungssignal. Daraufhin wiederholt das Hostsystem das Bestimmungskommando. Der Master zieht sich jetzt aus der Bestimmungsprozedur zurück. Alle anderen Speichercontroller warten wieder gemäß ihrer intern bestimmten
25 Wartezeit. Derjenige Speichercontroller, der jetzt die kürzeste
Wartezeit hat, belegt wieder die Tri-State-Leitung und bekommt damit die nächst Speichercontrollernummer zugeteilt. Der Master bestätigt wieder den Vorgang gegenüber dem Hostsystem. Der Speichercontroller, der jetzt eine Controllemummer erhalten hat, zieht
30 sich auch aus dem Vergabeverfahren zurück. Das Hostsystem wiederholt den Vorgang mit dem Bestimmungskommando so oft, wie es der Anzahl der Speichercontroller entspricht. Bekommt das Hostsystem keine Bestätigung auf ein Bestimmungskommando, da eine Controllernummer aufgrund von gleich langen Wartezeiten doppelt vergeben wurde, wiederholt es das gesamte Verfahren von vorn. 5
Die Wartezeit beim Bestimmungsverfahren wird vorteilhafterweise aus einem Zähler im Speichercontroller mittels eines zufällig bestimmten Zählerstandes abgeleitet. Der hier hochgezählte Takt wird in jedem Speichercontroller separat mit einem RC-Oszillator erzeugt, 10 der aufgrund von Bauteiletoleranzen j eweils nicht synchron zu den anderen läuft. Daher ist die Wahrscheinlichkeit von gleich langen Wartezeiten, auch bei gleicher Zufallszahl für den Zählerstand, äußerst gering.
15 Nach der Bestimmung der Controllernummern wird in alle
Speichercontroller ein sogenannter Ankersektor geschrieben, der dann die Angaben über die Speichergröße entsprechend der Gesamtanzahl der logischen Sektomummern, die Anzahl der Controller und der Pagegröße enthält. Damit besitzt der Speichercontroller alle
20 notwendigen Informationen, um an der Kommunikation über den Bus teilzunehmen.
Die Ausgestaltung der Erfindung ist in den Figuren beispielhaft beschrieben. 25 Fig. 1 zeigt ein Blockschaltbild des Speichersystems
Fig. 2 zeigt das ergänzte Blockschaltbild bei Integration der
Speichercontroller auf einem Halbleitersubstrat.
Fig. 3 zeigt ein Blockschaltbild für den Bestimmungsprozess der
Speichercontrollernummern 30 Fig. 4 zeigt ein Ablaufdiagramm für das Bestimmungsverfahren der
Speichercontrollernummern In Fig. 1 kommuniziert das Hostsystem HS über den Bus B mit den Speichercontrollern SCx. Das x steht für die fortlaufenden Ziffern 1 bis 4. Die Speichercontroller SCx sind parallel am Bus B angeschlossen. Jeder Speichercontroller SCx steuert Speicherchips Fx, 5 die vorzugsweise in Flashtechnologie aufgebaut sind. Zusätzlich zum Bus B sind die Speichercontroller SCx auch mit der Arbitrierungsleitung BA verbunden, die den jeweiligen Zustand „belegt" oder „freigegeben" angibt. Diese Leitung BA ist als Tri- State-Leitung mit Pull-Up-Widerstand ausgeführt. Der erste 10 Speichercontroller SCI ist gleichzeitig als Master M bestimmt.
Fig. 2 zeigt das gleiche Blockschaltbild wie Fig. 1 ohne die Speicherchips Fx. Hier sind die Speichercontroller SCx auf dem Halbleitersubstrat H integriert. Zusätzlich ist auf dem
15 Halbleitersubstrat H das Kontrollregister KR untergebracht, welches für jeden Speichercontroller SCx ein Feld enthält, das die Controllernummer Sx und die Bestimmung des Masters M enthält. Diese Werte werden bei der Initialisierung des Speichersystems in das Kontrollregister KR geschrieben.
20
In Fig. 3 sind die Komponenten für den Bestimmungsprozess der Speichercontrollernummern in einem Blockschaltbild dargestellt. Die Auswertelogik AL in den jeweiligen Speichercontrollern SCx überwacht die Kommandos vom Hostsystem HS, die über den Bus B
25 übertragen werden. Durch den Pull-Up-Widerstand RP ist der Ruhezustand der Leitung BA gleich „1".
Jeder Speichercontroller SCx besitzt einen Taktoszillator OSZ, dessen Frequenz von dem Kondensator Cx und dem Widerstand Rx bestimmt ist. Der hier erzeugte Takt wird solange im Zähler Z hochgezählt, bis
30 der Zählerstand den Wert W erreicht, der von der Auswertelogik AL vorgegeben ist. Sobald dieser Wert erreicht ist, wird der Transistor T durchgeschaltet und die Arbitrierungsleitung BA auf „0" gezogen. Auch die Auswertelogik AL ist an die Arbitrierungsleitung BA angeschlossen und überwacht diese daraufhin, ob ein anderer Speichercontroller SCx den Bus vorher auf „0" getrieben hat.
5 In Fig. 4 ist der Ablauf der Bestimmung der Controllernummern Sx dargestellt. Zunächst sendet das Hostsystem ein Reset-Kommando, das bei den angeschlossenen Controllern SCx den Wiederholungszähler N auf 0 setzt. Danach sendet das Hostsystem das Bestimmungskommando an die Speichercontroller SCx. Diese haben
10 auf das Kommando gewartet und erhöhen den Wiederholungszähler um 1. Sie starten den Zähler Z. Während auf das Erreichen des Zählerstandes auf den Zufallswert W gewartet wird, überwacht der Controller die Arbitrierungsleitung BA. Falls die Leitung BA den Zustand „0" annimmt, hat ein anderer Speichercontroller SCx seine
15 Controllernummer Sx bestimmt und dieser Controller geht wieder in die Wartestellung. Falls der Zählerstand Z den Wert W erricht, treibt dieser Controller die Arbitrierungsleitung für eine vorbestimmte Zeit auf „0" und zeigt damit an, dass er seine Controllernummer Sx bestimmt hat. Die Controllemummer Sx entspricht dem wert des
20 Wiederholungszählers N. Dem Hostsystem HS wird eine Bestätigung der Übernahme der Controllernummer Sx gesendet. Das Hostsystem HS überwacht den Bus B auf eine Sendebestätigung. Wird innerhalb eines vorgegeben Zeitlimits keine Bestätigung erhalten, beginnt das Hostsystem den Bestimmungsprozess von vorn.
25 Wird die Bestätigung innerhalb der vorgegebenen Zeit erhalten, registriert das Hostsystem diesen Vorgang.
Wenn der Wiederholungszähler N den Maximalwert MAX erreicht hat, welcher der Anzahl der vorgegebenen Speichercontroller entspricht, ist der Bestimmungsprozess beendet. Anderenfalls werden
30 weitere Bestimmungskommandos gesendet. Bezugszeichenliste
AL Auswertelogik
B Bus
BA Arbitrierungsleitung für den Bus
Cx Kondensator am Oszillator x
Fx Speicherchips
H Halbleitersubstrat
HS Hostsystem
KR Kontrollregister
M Master
Max Maximale Zahl der Speichercontroller
N Wiederholungszahl des Bestimmekommandos
OSZ Oszillator
RP Pull-Up- Widerstand
Rx Widerstand am Oszillator x
Sx Controllernummern
SCx Speichercontroller
T Transistor w Zufallswert x 1 .. 4, fortlaufende Nummer z Zähler
Vergleicher

Claims

Patentansprüche:
1. Speichersystem, welches mit mehreren, an einem getakteten Bus (B) parallel angeordneten Speichercontrollern (SCx) und jeweils den Speichercontrollern (SCx) zugeordneten Speicherchips (Fx) gebildet ist und über den Bus (B) mit einem Hostsystem (HS) mit Speicheroperationskommandos unter Verwendung von logischen Speichersektomummern kommuniziert, dadurch gekennzeichnet, dass bei einer vom Hostsystem (HS) angeforderten
10 Speicheroperation der jeweils für einen Bereich von logischen Speichersektornummern betroffene Speichercontroller (SCx) den Bus für die Kommunikation mit dem Hostsystem (HS) mittels einer Arbitrierung übernimmt.
15 2. Speichersystem nach Anspruch 1 , dadurch gekennzeichnet, dass einer der parallelen Speichercontroller (SCx) als Master (M) am Bus (B) bestimmt ist, und dieser, solange keiner der anderen Speichercontroller (SCx) den Bus (B) übernommen hat, die Kommunikation mit dem Hostsystem (HS) durchführt.
20
3. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass die Arbitrierung des Busses (B) zwischen den Speichercontrollern (SCx) anhand der angesprochenen Speichersektornummer und über eine einzige Tri-State-Leitung (BA) erfolgt, welche die
25 Belegung des Busses (B) durch den betroffenen
Speichercontroller (SCx) während der Kommunikationszeit mit einem Belegt-Signal angibt.
4. Speichersystem nach Anspruch 3, dadurch gekennzeichnet, dass 30 bei der Freigabe des Busses (B) durch einen Speichercontroller
(SCx) auf der Arbitrierungsleitung (BA) eine Schutzzeit eingefügt ist, in der die Leitung (B A) aktiv auf Freigabe getrieben ist.
5. Speichersystem nach Anspruch 4, dadurch gekennzeichnet, dass die Schutzzeit einer Taktlänge des Busses (B) entspricht.
6. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass 5 für aufeinanderfolgende logische Speichersektornummern unterschiedliche Speichercontroller (SCx) zugeordnet sind.
7. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass die Speicherchips (Fx) blockweise löschbare Flashspeicher sind.
10
8. Speichersystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Speichercontroller (SCx) gemeinsam auf einem Halbleitersubstrat (H) angeordnet sind.
15 9. Speichersystem nach Anspruch 8, dadurch gekennzeichnet, dass die Bestimmung die Reihenfolge der Speichercontroller (SCx) am Bus (B) und des Masters (M) durch eine Programmierung eines Kontrollregisters (KR) zu den jeweiligen Speichercontrollern (SCx) erfolgt.
20
10. Verfahren zur Bestimmung der Reihenfolge der
Speichercontroller (SCx) am Bus (B), dadurch gekennzeichnet, dass
• auf ein wiederholtes Bestimmungskommando des Hostsystems 25 (HS) jeweils ein Speichercontroller (SCx) nach einer zufällig bestimmtem Zeit die Arbitrierungsleitung (BA) für einen definierten Zeitraum belegt, sofern kein anderer Controller (SCx) die Leitung (BA) vorher belegt hat,
• aus der Wiederholungszahl dieses Kommandos dieser 30 Controller seine Controllernummer (Sx) ableitet,
• jeweils ein Bestätigungssignal zum Hostsystem (HS) gemeldet wird, • sich der jeweilige Speichercontroller (SCx) nach der Bestätigung aus dem Bestimmungsverfahren zurückzieht.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass der 5 Speichercontroller (SCx) mit der Controllemummer 1 als Master
(M) bestimmt ist.
12. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass das Hostsystem (HS) die Bestimmungsvorgang wiederholt, falls nicht
10 genügend Bestätigungen der Bestimmung gemeldet werden.
13. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die zufällige Zeit zur Belegung der Arbitrierungsleitung (BA) von einem Zähler abgeleitet ist, der von Bauteiletoleranzen abhängig
15 ist.
PCT/EP2003/013495 2002-12-04 2003-12-01 Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung Ceased WO2004051490A2 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP03782258A EP1567938B1 (de) 2002-12-04 2003-12-01 Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung
CA002508655A CA2508655A1 (en) 2002-12-04 2003-12-01 Memory system comprising a plurality of memory controllers and method for synchronizing the same
DE50305302T DE50305302D1 (de) 2002-12-04 2003-12-01 Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung
AU2003289919A AU2003289919A1 (en) 2002-12-04 2003-12-01 Memory system comprising a plurality of memory controllers and method for synchronizing the same
JP2004556244A JP2006509279A (ja) 2002-12-04 2003-12-01 複数のメモリコントローラを持つメモリシステム及びその同期化方法。
US10/537,700 US7415579B2 (en) 2002-12-04 2003-12-01 Memory system having a plurality of memory controllers and method for synchronizing the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10256502A DE10256502A1 (de) 2002-12-04 2002-12-04 Speichersystem mit mehreren Speichercontrollern und Verfahren zu deren Synchronisierung
DE10256502.3 2002-12-04

Publications (2)

Publication Number Publication Date
WO2004051490A2 true WO2004051490A2 (de) 2004-06-17
WO2004051490A3 WO2004051490A3 (de) 2005-01-06

Family

ID=32335931

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/013495 Ceased WO2004051490A2 (de) 2002-12-04 2003-12-01 Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung

Country Status (10)

Country Link
US (1) US7415579B2 (de)
EP (1) EP1567938B1 (de)
JP (1) JP2006509279A (de)
KR (1) KR20050084876A (de)
CN (1) CN100409212C (de)
AT (1) ATE341788T1 (de)
AU (1) AU2003289919A1 (de)
CA (1) CA2508655A1 (de)
DE (2) DE10256502A1 (de)
WO (1) WO2004051490A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065380A (ja) * 2004-08-24 2006-03-09 Sony Corp データ記録方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502256B2 (en) * 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US9129071B2 (en) 2012-10-24 2015-09-08 Texas Instruments Incorporated Coherence controller slot architecture allowing zero latency write commit
US10331360B2 (en) * 2016-09-29 2019-06-25 Intel Corporation Scalable bandwidth non-volatile memory
US11487445B2 (en) * 2016-11-22 2022-11-01 Intel Corporation Programmable integrated circuit with stacked memory die for storing configuration data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4376974A (en) * 1980-03-31 1983-03-15 Ncr Corporation Associative memory system
US4773005A (en) 1984-09-07 1988-09-20 Tektronix, Inc. Dynamic address assignment system
US4893302A (en) * 1988-03-31 1990-01-09 American Telephone And Telegraph Company, At&T Bell Laboratories Arrangement for switching concentrated telecommunications packet traffic
US5265231A (en) * 1991-02-08 1993-11-23 Thinking Machines Corporation Refresh control arrangement and a method for refreshing a plurality of random access memory banks in a memory system
US5212799A (en) * 1991-07-31 1993-05-18 Ncr Corporation Method and apparatus for storing a data block in multiple memory banks within a computer
JP4038237B2 (ja) 1993-11-29 2008-01-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ モジュラーシステムにおける順位に基づくアドレス割り当て
US5751292A (en) * 1995-06-06 1998-05-12 Hewlett-Packard Company Texture mapping method and system
US6081878A (en) 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6026464A (en) * 1997-06-24 2000-02-15 Cisco Technology, Inc. Memory control system and method utilizing distributed memory controllers for multibank memory
US6330645B1 (en) * 1998-12-21 2001-12-11 Cisco Technology, Inc. Multi-stream coherent memory controller apparatus and method
JP4688584B2 (ja) * 2005-06-21 2011-05-25 株式会社日立製作所 ストレージ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065380A (ja) * 2004-08-24 2006-03-09 Sony Corp データ記録方法

Also Published As

Publication number Publication date
DE50305302D1 (de) 2006-11-16
EP1567938B1 (de) 2006-10-04
CN1720511A (zh) 2006-01-11
US20060117150A1 (en) 2006-06-01
DE10256502A1 (de) 2004-06-24
US7415579B2 (en) 2008-08-19
WO2004051490A3 (de) 2005-01-06
EP1567938A2 (de) 2005-08-31
CA2508655A1 (en) 2004-06-17
CN100409212C (zh) 2008-08-06
JP2006509279A (ja) 2006-03-16
ATE341788T1 (de) 2006-10-15
KR20050084876A (ko) 2005-08-29
AU2003289919A1 (en) 2004-06-23

Similar Documents

Publication Publication Date Title
DE69029238T2 (de) Serielle Datenübertragung
DE2448212C2 (de) Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten
DE3914265C2 (de)
DE3938018C2 (de)
DE3038639C2 (de) Anordnung zur Datenübertragung zwischen einer Zentraleinheit und n E/A-Einheiten
DE102007039462B4 (de) Verfahren und Vorrichtung zur Aufzählung
DE19614238C1 (de) Kommunikationssystem mit einer Meisterstation und mindestens einer Sklavenstation
DE19614237C1 (de) Kommunikationssystem mit einer Meisterstation und mindestens einer Sklavenstation
DE3049774C2 (de)
DE102008024262B4 (de) Anschlussmultiplexbildung
DE2725396C3 (de)
DE4418862C1 (de) Speichervorrichtung mit Seitenwählfähigkeit und Speichersystem für seriellen Zugriff
DE102018123978A1 (de) Verfahren und vorrichtung zur speichercontrollererkennung von anbieterspezifischen nichtflüchtigen speichergeräten
DE10306149A1 (de) Verfahren und Schaltung zum Zuweisen von Speicheranordnungs-Adressen
EP1567938B1 (de) Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung
DE69734910T2 (de) Verfahren zur Identifizierung eines Peripheriegerätes in einem Halbleitergerät
DE4302754C1 (de) Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb
WO2004025493A1 (de) Integrierter schaltkreis mit umschaltung durch multiplexer zwischen normalbetrieb und testbetrieb
DE10136852A1 (de) Verfahren und Schaltungsanordnung zur Erzeugung eines Datenstrobesignals für sehr schnelle Halbleiterspeichersysteme
EP1316891B1 (de) Datenübertragungseinrichtung
DE69315785T2 (de) Modulare Vorrichtung zum Koppeln und zum Multiplexen von unterschiedlichen Bussen
DE10156749B4 (de) Speicher, Prozessorsystem und Verfahren zum Durchführen von Schreiboperationen auf einen Speicherbereich
DE102023105663B3 (de) Verfahren zur Emulation eine EEPROMs in einem Flash-Speicher für sicherheitsrelevante Systeme mit restriktiven Zeitanforderungen der Buskommunikation
EP0961975A1 (de) Verfahren zum austausch von signalen zwischen über einen bus verbundenen modulen sowie vorrichtung zur durchführung des verfahrens
DE2702586B2 (de) Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003782258

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020057007226

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004556244

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2508655

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 20038A49814

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020057007226

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003782258

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006117150

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10537700

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10537700

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 2003782258

Country of ref document: EP