Suchen

Code- und Datenspeicher in einem Speicher für tragbare und Embedded-Systeme

| Autor / Redakteur: Vijay K. Devadiga / Jan Vollmuth

Der Wunsch nach immer kleineren Endgeräten mit mehr Funktionalität zu reduzierten Systemkosten erfordert neue Speicherlösungen. Die All-in-OneMemory-Lösung von SST vereint Code- und Datenspeicher in einem Gehäuse und vereinfacht als Single-Bus-Speichersubsystem das Design tragbarer Geräte und von Embedded Systemen.

Firmen zum Thema

Der SST88VP1107 vereint die Vorzüge von NOR-, NAND- und RAM-Speicher in einer einheitlichen Architektur und ist das erste Produkt der All-in-OneMemory-Familie von SST
Der SST88VP1107 vereint die Vorzüge von NOR-, NAND- und RAM-Speicher in einer einheitlichen Architektur und ist das erste Produkt der All-in-OneMemory-Familie von SST
( Archiv: Vogel Business Media )

All-in-OneMemory ist ein hochintegriertes, komplett gemanagtes Speichersubsystem bestehend aus Codespeicher, Datenspeicher und System-RAM. Alle Elemente sind in einem gemeinsamen Gehäuse vereint, liegen an einem gemeinsamen Bus und werden von einem eingebauten, intelligenten Speichercontroller verwaltet. Auf diese Weise vereint die Lösung die Vorteile der NOR-Technik (kurze Lesezeiten, Direktzugriff), der NAND-Technik (günstiger Preis, hohe Dichte) und der RAM-Speicher (einfacher Bus-Betrieb) in einer einheitlichen Architektur. Dies ermöglicht das Bereitstellen eines mehrere GByte großen Execute-In-Place (XIP) Codespeichers und eines Memory-Mapped-ATA-NAND-Disk-Bereichs.

Speichercontroller, NAND-Flash-Speicher und RAM (Random-Access Memory) befinden sich gemeinsam auf einem einzigen Baustein (Bild 1). Der Speichercontroller enthält SuperFlash-NOR-Blöcke für den Boot-Code, ein Flash File System (FFS) für das NAND-Flash-Management, einen NAND-Controller mit in Hardware ausgeführter ECC-Funktion (Error detection and Correction Circuitry) für MLC- und SLC-NAND sowie einen Cache-Controller für den PNOR-Speicher (Pseudo NOR), mit dem NOR-Flash hoher Dichte emuliert wird.

Bildergalerie

Selektion der Speichersegmente erfolgt mittels Chip-Enable-Signal

Mit separaten Chip-Enable-Eingängen werden die vier Speicherbereiche NOR, PNOR, RAM und mATA selektiert (Bild 2). Mit Ausnahme des NOR-Bereichs kann die Größe dieser Bereiche durch die Host-Software konfiguriert werden. Das NAND-Flash dient als nichtflüchtiges Speichermedium für den PNOR- und den mATA-Bereich, während das RAM als PNOR-Cache und System-RAM fungiert. Kann die normalerweise vorgegebene Konfiguration mit vier Chip-Enable-Signalen nicht genutzt werden, ist eine Konfiguration mit drei Chip-Enables möglich.

Der NOR-Bereich ist dem eingebauten Instant-On-SuperFlash-NOR-Block im Memory Controller direkt zugeordnet. Er ermöglicht kurze Boot-Zeiten und steht unmittelbar nach dem Einschalten für Host-Zugriffe zur Verfügung. Der NOR-Speicher bietet sich für das Ablegen von Boot-Code sowie zeitkritische Code- und Datenelemente an.

Die ausgefeilten Datenschutzmerkmale des NOR-Bereichs sichern den Boot-Code und schützen von Code und Daten. Zu diesen Merkmalen zählen sichere OTP-Blöcke, der Schutz flüchtiger und nicht flüchtiger Speicherblöcke, Passwortschutz, in Hardware ausgeführter Schutz für Boot-Blöcke und eine eindeutige 512-Byte-OTP-Sicherheitskennung.

Der NOR-Flashspeicher ermöglicht den direkten XIP-Zugriff

Der erweiterbare nichtflüchtige PNOR-Bereich emuliert einen großen NOR-Speicher, indem NAND-Speicher als nicht flüchtiger Speicher und RAM als Cache benutzt wird (Bild 3). Während der NAND-Flash-Speicher nur sequenzielle Zugriffe erlaubt, ermöglicht das NOR-Flash den direkten XIP-Zugriff. Das Voranstellen eines RAM-Cache vor den NAND-Bereich dient der Umwandlung der Direktzugriffe in sequenzielle Zugriff zur Emulation der NOR-Lesefunktion.

Der PNOR-Bereich, der den NAND-Speicher als nicht flüchtiges Speichermedium verwendet, ist eine höchst kosteneffektive Lösung, die einen mehrere GByte großen linear adressierbaren XIP-Codespeicher für das Betriebssystem, Protokoll-Stacks und anderen Applikationscode bereitstellt.

Der PNOR-Speicher kann umfangreichen NOR-Flash-Speicher in einem konventionellen Speicher-Subsystem ersetzen und gibt Designern die Möglichkeit, von den rapide fallenden Preisen und immer größeren Kapazitäten von NAND-Flashspeicher zu profitieren. Er arbeitet mit einfachen Lese- und Schreibzugriffen nach RAM-Manier, was die hostseitige Hard- und Software vereinfacht. Zur Verbesserung der Schreib- und Lese-Performance unterstützt der PNOR-Bereich den Page und Burst-Modus.

Verschiedene Algorithmen zum Aktualisieren des Cache-Inhalts

Die Größe des PNOR-Bereichs und des PNOR-Cache kann von der Host-Software konfiguriert werden. Da die Leistungsfähigkeit des PNOR-Bereichs von der Größe des PNOR-Cache abhängt, kann die Hostsoftware die Cache-Kapazität aufstocken (bis auf die Größe des eingebauten RAM), um die Applikationsperformance zu verbessern.

Der Baustein unterstützt mehrere Cache-Performance-Parameter und unterschiedliche Algorithmen zum Aktualisieren des Cache-Inhalts. An den Performance-Parametern kann die Host-Software die Cache-Trefferquote ermitteln, um daraufhin die Größe des PNOR-Cache zu verändern oder einen anderen Cache-Replacement-Algorithmus zu wählen.

Der Cache-Controller übernimmt das On-Demand-Paging und unterstützt den statischen und den dynamischen Paging-Modus. Das Management der Cache-Kohärenz liegt ohne Intervention des Hosts ganz in der Zuständigkeit des All-in-OneMemory-Controllers. Bei zu geringer Batteriekapazität, einem Ausfall der Stromversorgung usw. kann die Host-Software ein Löschen des Cache anfordern.

ATA-ähnlicher Diskspeicher mit Standard-ATA-Protokollen

Das RAM ist in den PNOR-Cache und das System-RAM aufgeteilt. Beide Partitionen können in ihrer Größe von der Host-Software konfiguriert werden. Während die erste Partition als Cache für den PNOR-Bereich fungiert, wird die zweite als System-RAM zum Ablegen von Laufzeitvariablen, Stacks, Queues, Heaps usw. benutzt. Der RAM-Bereich ist direkt der System-RAM-Partition zugeordnet, ermöglicht den Direktzugriff vom Host und unterstützt den Page- und den Burst-Modus zum Verbessern der Schreib-Lese-Performance.

Der mATA-Bereich stellt einen ATA-ähnlichen Diskspeicher zur Verfügung und nutzt die standardmäßigen ATA-Protokolle. Mit bis zu 128 GByte Speicherkapazität unterstützt der mATA-Bereich – ebenso wie das standardmäßige ATA-Protokoll – ausschließlich Blocktransfers mit mindestens 512 Bytes (1 Sektor). Im Unterschied zur ATA-üblichen I/O-Adressierung sind die Task-File-Register im All-in-OneMemory speicheradressiert (daher die Bezeichnung mATA für Memory-mapped ATA). Dies ermöglicht das Bereitstellung eines ATA-ähnlichen Diskspeichers am Standard-RAM-Bus ohne ATA-Standardschnittstelle.

Ein Baustein für verschiedene Applikationen

Die Zahl der hostseitig konfigurierbaren Parameter und Register ist hoch: Die Standardgröße des PNOR-Bereichs und des PNOR-Caches wird werksseitig festgelegt, in nicht flüchtigen Registern abgelegt und kann von der Host-Software mit Hilfe von SST-spezifischen ATA-Befehlen verändert werden. Ein und derselbe Baustein kann durch Variieren der host-konfigurierbaren Parameter für verschiedene Applikationen gerüstet werden, was die Entwicklungs und Markteinführungszeit verkürzt und die Kosten senkt. Auch die Verbindung mit dem Host-Bus ist vielfältig konfigurierbar (z. B. asynchroner/synchroner Betrieb, Zugriffslatenz, Polarität des WAIT-Ausgangs, WAIT-Konfiguration, Burst-Länge usw.).

Der in hohem Maße skalierbare, vollständig geprüfte und qualifizierte Baustein besitzt bei allen Kapazitäten einen einheitlichen Anschluss-Footprint, was den Wechsel zwischen verschiedenen Versionen erleichtert.

All-in-OneMemory – Speicher für Code und Daten

All-in-OneMemory ist ein hochintegriertes Speichersubsystem aus Codespeicher, Datenspeicher und System-RAM. Alle Elemente sind in einem gemeinsamen Gehäuse vereint, liegen an einem gemeinsamen Bus und werden von einem integrierten Speichercontroller gemanagt. Auf diese Weise kombiniert die Lösung die Vorteile von NOR- (kurze Lesezeiten, Direktzugriff), NAND- (günstiger Preis, hohe Dichte) und RAM-Speicher (einfacher Bus-Betrieb) in einer einheitlichen Architektur. Dies ermöglicht die Bereitstellung eines mehrere GByte großen Execute-In-Place (XIP) Codespeichers und eines Memory-Mapped ATA (mATA) NAND-Disk-Bereichs. Das Speichersubsystem ist für Mobil? und Embedded-Applikationen konzipiert.

Die All-in-OneMemory-Familie

Der SST88VP1107 ist das erste Produkt der All-in-OneMemory-Familie von SST. Der Baustein bietet neben einem 512 KByte großen Instant-On Boot-NOR-Speicher einen 128-KByte-XIP-Codespeicher (Execute-In-Place) sowie einen memory-mapped ATA-Bereich (mATA) mit 128 MByte Datenspeicher am PSRAM-Bus, sodass kein physisches ATA-Interface benötigt wird. Darüber hinaus stehen 12 MByte System-RAM bereit. Zusätzlich bietet der SST88VP1107 ein integriertes FFS (Flash File System), eine MMU (Memory Management Unit) und eine hardwaremäßig implementierte ECC-Engine (Error Checking and Correcting). Die Single-Bus/Single-Package-Lösung stellt als derzeit einzige verfügbare Lösung ein komplett verwaltetes Speichersubsystem in einem 10 mm × 13 mm × 1,4 mm großen LBGA-Gehäuse zur Verfügung.

Vijay K. Devadiga ist Mitarbeiter von Silicon Storage Technology

(ID:220974)