Veraltete Schnittstellen

SATA-HDD und SD-Karte ersetzen SCSI-Technologie

Seite: 3/5

Anbieter zum Thema

Der PU-Software vorgaukeln, dass sie einen SCSI-Controller ansteuert

Wie bringt man die existierende PU-Software dazu, die neuen Massenspeichergeräte nebst deren Controller für SATA und die SD-Karte anzusteuern, ohne diese Software anzupassen? Man lässt die Software in dem Glauben, dass sie über PCI nach wie vor einen SCSI-Controller ansteuert, auch wenn der neue „Controller“ auf dem geänderten Flyer-Subboard nur ein „altes Mäntelchen“ umhängt, um diese Illusion zu erzeugen.

Bild 2: Die Hardwarearchitektur des neues Flyer-Subboards mit Power-PC-Prozessor, FPGA, FEPROM und DDR2-RAM (Archiv: Vogel Business Media)

Realisiert wird dieses „alte Mäntelchen“ mithilfe eines FPGA (Field Programmable Gate Array), das alle Register und die Interrupt-Logik des bisher eingesetzten SCSI-Controllers nachbildet und somit der existierenden Software eine unveränderte Schnittstelle zur Verfügung stellt.

Und wie realisiert man die Kernfunktionalität des SCSI-Controllers und die Umsetzung des SCSI-Protokolls in eine Ansteuerung des SATA-Festplattenlaufwerks und des SD-Kartenlesers? Eine Realisierung dieser kompletten Funktionalität als FPGA scheitert am Aufwand, daher ist eine geeignete Mischung aus Hardware und Software die Lösung. Damit diese Lösung der PU die Illusion eines SCSI-Controllers vermittelt, muss die neu entwickelte Software unsichtbar für die PU auf dem neuen Flyer-Subboard ablaufen.

Die scheinbare unkomplizierte Aufgabenstellung entpuppt sich als Herausforderung

Auf dem Flyer-Subboard befinden sich anstelle des alten SCSI-Controllers neben den Massenspeichergeräten ein FPGA, ein Power-PC (AMCC 460EX), FEPROM und DDR2-RAM, die die Funktionalität des abgekündigten Controller-Bausteins übernehmen.

Damit scheint die Aufgabenstellung für das neue Flyer-Subboard einfach: Der auf der PU laufende, unveränderte SCSI-Treiber schreibt seine Kommandos (wie z.B. read, write, etc.) in das FPGA und die Software setzt diese Kommandos dann in eine entsprechende SATA- und SD-Karten Ansteuerung um.

So einfach geht es leider nicht: Der so genannte SCSI-Controller ist nämlich streng genommen ein SCSI-HBA (Host Bus Adaptor). Dieser beschäftigt sich nicht mit der Abwicklung des SCSI-Protokolls, sondern „nur“ mit der Ansteuerung des SCSI-Busses, über den der alte SCSI-Treiber der PU die Kommunikation mit den Massenspeichergeräten führte.

(ID:282758)