Suchen

Flash-Speicher Geschichtete Architektur

| Redakteur: Jan Vollmuth

Derzeit gebräuchliche Speichersysteme für Mobiltelefone bieten eine begrenzte Performance, die ohne Verbreiterung der kostenintensiven Speicher-Interfaces den hohen Anforderungen der

Firmen zum Thema

( Archiv: Vogel Business Media )

Derzeit gebräuchliche Speichersysteme für Mobiltelefone bieten eine begrenzte Performance, die ohne Verbreiterung der kostenintensiven Speicher-Interfaces den hohen Anforderungen der nächsten Handy-Generation nicht vollständig gewachsen ist. Mithilfe neuer, skalierbarer Flash-Speicherplattformen mit repartitioniertem Speichercontroller lassen sich sowohl einfache Einsteiger-Handys als auch Highend-Handys mit anspruchsvollen Applikationen realisieren.

Es ist ein ständiges Abwägen: Hersteller von Mobiltelefonen stehen bei jedem neuen Modell vor dem Problem, wie sie die Speicherbandbreite erhöhen können, um den Anforderungen kommender Applikationen gerecht zu werden, und gleichzeitig die Abmessungen und Kosten des Geräts so gering wie möglich halten. Dies wird durch die neuen Applikationen deutlich erschwert, die zusätzliche Speicherbandbreiten von mehreren GBit/s erfordern – während die meisten aktuellen Anwendungen lediglich mit Datenraten von 100 KBit/s bis einigen MBit/s arbeiten.

Bildergalerie

So benötigt z.B. eine LCD-Anzeige mit einer Auflösung von 1280 × 1024 Punkten bei einer typischen Refresh-Rate von 60 Hz und 24-Bit-RGB-Farbcodierung eine Lese/Schreib-Bandbreite zum Pufferspeicher von insgesamt 1,5 GBit/s, was eine Gesamt-Speicherbandbreite von 3,7 GBit/s zur Folge hat.

Ein typisches Mobiltelefon der Highend-Klasse enthält zwei Prozessor-Cores: einen für die Basisband-Verarbeitung und einen zur Abarbeitung der Applikationen (Bild 1). Dabei benötigen beide Prozessor-Cores nicht flüchtigen Speicher, um Programm-Code und Daten zu speichern, sowie flüchtigen Speicher als temporären Puffer während der Datenverarbeitung. Applikationsprozessoren nutzen in der Regel kostengünstigen NAND-Flash-Speicher für Daten sowie DRAM (Dynamic RAM) zum Ausführen des Anwendungs-Codes, da NAND keinen wahlfreien Zugriff unterstützt. Ähnlich verhält es sich mit den Basisband-Prozessoren.

Zur Integration dieser Speichertypen sind oft allein für die Speicherschnittstelle über 100 Pins nötig, was durchaus ungefähr 30% der Gesamt-CPU-Pins eines Handys ausmachen kann.

Wie lässt sich angesichts dieser Gegebenheiten die Speicherbandbreite sinnvoll erhöhen? Die Verbreiterung der Speicherbus-Schnittstelle mag zwar technisch realisierbar sein, doch damit steigt die Zahl der Pins an der CPU weiter an. Und auch die Speicherbusse lassen sich aufgrund der umfangreichen Infrastruktur, die um das Speichersystem herum gebaut ist, kaum ändern (Bild 2).

Eine intelligente Lösung ermöglicht die Migration zu radikal neuen Bussen: Eine Repartitionierung des Speichercontrollers minimiert die Auswirkungen auf das System während der Übergangsphase. Diese Lösung integriert einen Speichercontroller, MirrorBit-ORNAND-Flash-Speicher zur Datenspeicherung und MirrorBit-NOR-Flash zur Code- und Datenspeicherung in einem einzelnen MCP- oder POP-Gehäuse.

Den Speichercontroller in neue Interfaces partitionieren

Wie funktioniert diese Lösung? Speichercontroller enthalten ein Host-Interface, das den Controller mit dem Systembus verbindet, während die Speicherschnittstelle den Controller mit den Speicherbausteinen verbindet. Jede dieser Schnittstellen arbeitet in ihrer eigenen Clock-Domain, wobei die Trennung der Domains in der Regel mit FIFOs erfolgt. Indem die Queues durch einen schnellen Bus mit wenigen Pins ersetzt werden, kann der Speichercontroller neu in eine Host-Schnittstelle und eine Speicherschnittstelle partitioniert werden.

Je nach Taktfrequenz ermöglicht die vorgesehene Systempartitionierung eine externe Speicherbandbreite von bis zu 10 GBit/s mit nur 43 Pins (Control-Bus zur Steuerung: 15 Pins, Adressbus: 12 Pins, Datenbus: 16 Pins), sodass die Anzahl der externen Pins um etwa 60% sinkt, während gleichzeitig die Performance deutlich ansteigt.

Wichtigster Vorteil der Partitionierung: Der Bus ist von den Speichern getrennt, denn auch die Speicher-Systemarchitektur wird in einzelne Schichten (Layer) unterteilt. Dies ermöglicht eine Anpassung des Busses nach oben – in einer für die Speicher transparenten Art und Weise: Speicherbausteine können so entweder direkt mit dem Bus verbunden oder hinter der repartitionierten Busschnittstelle platziert werden.

Sämtliche Speicherbausteine greifen auf den Bus zwischen Client und Host-Schnittstelle zu (Bus Sharing), in der Regel nutzen nur statische Speicher (NOR, SRAM, NAND) gemeinsam einen Bus. Dies setzt ein sorgfältiges System-Design voraus, um besonders bei DRAMs Latency-Penalties (künstlich eingefügte Pflicht-Verzögerungszeiten) zu vermeiden, denn schließlich haben DRAMs den größten Einfluss auf die Performance des Gesamtsystems.

Der Betrieb im DDR-Modus ist die einfachste Lösung

Im Gegensatz zum DRAM-Zugriff holt das System nur sporadisch Daten aus dem Flash-Speicher. Daher ist eine geringere Dauer-Bandbreite akzeptabel, falls der Datenverkehr angepasst werden kann, etwa indem bei Spitzenlasten zeitweise Daten in schnellen RAMs zwischengespeichert werden und ein konstanter Datenstrom zum und vom Flash-Speicher realisiert wird. Im einfachsten Fall handelt es sich bei den statischen und dynamischen Speichern, die mit einem Host-System verbunden sind, um SDR-Bausteine, die auf einen gemeinsamen Speicherbus (Shared Bus) zugreifen.

Die einfachste Lösung: Der Speicherbus wird im DDR-Modus betrieben. Dann erfolgt der Datenverkehr mit den dynamischen Speichern bei jeder steigenden Taktflanke, bei den fallenden Taktflanken erfolgt die Kommunikation mit den statischen Speichern.

Der Speicher-Systembus lässt sich so realisieren, dass er nur unwesentlich (mit maximal einem Taktimpuls pro Richtung) zur Verzögerungszeit innerhalb des dynamischen Speicherpfads beiträgt. Da ein zusätzlich zur Verzögerung eingefügter Taktzyklus die Zugriffszeit nur um 1/8 verlängert, sinkt die Performance infolgedessen lediglich um max. 12,5%. Dieser Wert lässt sich durch sachtes Übertakten des Busses wieder ausgleichen. Dieser umfangreiche Plattformansatz von Spansion kombiniert unterschiedliche MirrorBit-Flash-Speicherprodukte in einem einzelnen Gehäuse: XIP-Code-Flash-Speicher aus den MirrorBit-Familien NOR WS und NS, Daten-Flash-Speicher der Produktfamilie MirrorBit ORNAND MS sowie RAM-Speicher. Diese optimierten Subsysteme bieten einen echten Wettbewerbsvorteil, weil sie die Kosten senken und gleichzeitig auf der Leiterplatte weniger Platz benötigen. Zudem sinkt die Verlustleistungsaufnahme.

Repartitionierungsansatz minimiert die Belastung am externen Bus

Für eine Host-Plattform sind unterschiedliche Speichersubsysteme erhältlich, sodass Entwickler die Verarbeitungsleistung und Kosten ihres Systems über einen großen Bereich hinweg flexibel einstellen können. Der Repartitionierungsansatz minimiert die Belastung am externen Bus und stellt einen einheitlichen Bus zwischen Host und Speichersystem zur Verfügung. Das wiederum erhöht die externe Speicherbandbreite auf bis zu 10 GBit/s und verringert gleichzeitig die Anzahl der Pins um 60%, wodurch die Kosten pro CPU sinken. Darüber hinaus steht eine getrennte physikalische Schicht für das Speichersystem zur Verfügung, mit dem eine vollständig transparente, flexible Migration des aktuellen Speicherbusses hin zu künftigen Architekturen möglich ist. Dies löst ein grundlegendes Problem, das bei einem Upgrade auf ein neues Speichersystem in einem Mobiltelefon auftritt.

Spansion, Tel. +49(0)89 12477011

*Dr. Stephan Rosner ist Senior Manager, Jeremy Mah, Qamrul Hasan und Roger Isaac sind Mitglieder des Technik-Teams der Systems Architecture Group von Spansion.

(ID:181054)