VC-SDRAM im Detail

Funktionsprinzip

In modernen PCs mit Multitasking-Betriebssystemen erfolgt der Zugriff auf den Speicher von vielen Quellen aus. Parallel laufende Tasks reservieren sich bestimmte Speicherbereiche und sorgen für ein intensives Datenaufkommen auf dem Speicherbus. Zusätzlich greifen andere Hardwarekomponenten direkt auf den Arbeitsspeicher des PCs zu (DMA-Betrieb). Von der DMA-Fähigkeit machen unter anderem IDE- und SCSI-Controller sowie Soundkarten Gebrauch. AGP-Grafikkarten können über den AGP-Bus direkt auf den Arbeitsspeicher zugreifen und von dort beispielsweise große Texturen holen.

All diese so genannten Memory Master sorgen bei gleichzeitigen Zugriffen auf den Speicher oft für lange Wartezyklen. Ziel bei der Entwicklung von VCM war die Entflechtung dieses Datenstaus und somit eine Verkürzung der Wartezyklen bei mehrfachen Speicheranfragen. Eine bessere Gesamtperformance soll erreicht werden.

Um den Overhead abzubauen, sind in jedem VC-SDRAM 16 unabhängige Speicherkanäle integriert. Die Channels ermöglichen jedem Memory Master einen direkten und schnellen Zugriff auf die einzelnen Speichersegmente. Jeder Channel ist aus schnellem SRAM aufgebaut und besitzt eine Puffergröße von 1024 Bit.

Die Speicherkanäle sind zwischen dem I/O-Interface und der Speichermatrix angeordnet und können Daten temporär speichern. Somit ist es dem Speicherchip möglich, weitere Zugriffe auf den Speicher vorzubereiten, während gleichzeitig der aktuelle Schreib-/Lesezyklus abläuft. Interne Operationen, wie ein Precharge der Bitleitungen oder ein Zeilen-Refresh, laufen parallel zu den eigentlichen Zugriffen auf den Speicher ab. Die bereits anstehenden Zugriffe lassen sich zudem in den Channels puffern.

Bei mehreren simultanen Anfragen erfolgt einfach eine Zwischenspeicherung der Adressen und Zugriffsinformationen in den einzelnen Channels des VCM. Die verschiedenen Anfragen müssen keine Wartezyklen einlegen, bis der Speicher sie einliest. Bisherige DRAM-Technologien verursachen bei mehrfachen Speicheranfragen ein so genanntes Page Trashing. Lange Wartezyklen sind die Folge. Jede nicht angenommene Speicheranfrage muss neu initiiert werden und kostet somit Zeit. Standard-SDRAM kann durch seine Multibank-Organisation die Wartezyklen zwar ebenfalls verkürzen, indem es Precharge-Vorgänge in der jeweils alternierenden Bank versteckt. Gegenüber VCM kann es aber mehrere Anfragen wegen der fehlenden Cache Lines nicht so effektiv verwalten.