Erweiterungskarten mit statischem RAM gesucht

Hallo Leute,

ich suche eine Quelle, wo man Erweiterungskarten für PCs bekommen kann, auf denen statisches RAM (z.B. CMOS oder schneller Flash-Speicher – sollte auf alle Fälle auch einen Stromausfall z.B. mit Batterie überleben) drauf ist.

Meine Suche bei Google fördert immer nur die 10.000te Anleitung zutage, wie man sein BIOS tunen kann … und irgendwie scheinen heutige PCs alle 0815-mäßig aufgebaut zu sein … (seufz)

Was ich suche wäre aber eine Erweiterungskarte mit mindestens 1kB statischem Speicher, der von Programmen aus möglichst direkt gelesen und beschrieben werden kann.

Für Quellenhinweise oder Markennamen (falls sowas nicht nur in Sonderanfertigungen existiert) wäre ich dankbar.

Die reinen CMOS-Chips möchte ich aber nicht selbst verlöten – es sollte schon eine fertige Karte sein, die am besten auch gleich Linux-Treiber mitbringt oder ohne Treiber ansprechbar ist.

Vielen Dank!

/juergen

Moien

ich suche eine Quelle, wo man Erweiterungskarten für PCs
bekommen kann, auf denen statisches RAM (z.B. CMOS oder
schneller Flash-Speicher – sollte auf alle Fälle auch einen
Stromausfall z.B. mit Batterie überleben) drauf ist.

Für was genau brauchst du das Ding ?

USB-Sticks sind auch nur Flashspeicher mit Controller und USB-anschluss. Unter Linux einwandfrei benutzbar. Auch als Blockdevice.

Was ich suche wäre aber eine Erweiterungskarte mit mindestens
1kB statischem Speicher, der von Programmen aus möglichst
direkt gelesen und beschrieben werden kann.

Noch direkter als blockdevice wird schwierig …

cu

Hallo,

Was ich suche wäre aber eine Erweiterungskarte mit mindestens
1kB statischem Speicher, der von Programmen aus möglichst
direkt gelesen und beschrieben werden kann.

neben den schon genannten USB-Sticks und diversen anderen Speichern, die in geeigneten Laufwerken betrieben werden, gibt es noch Compact-Flash, die durch einen simplen Adapter am IDE-Port angeschlossen, als Festplatte arbeiten.


Philipp

Was ich suche wäre aber eine Erweiterungskarte mit mindestens
1kB statischem Speicher, der von Programmen aus möglichst
direkt gelesen und beschrieben werden kann.

Noch direkter als blockdevice wird schwierig …

mmap(2) rockt in der Hinsicht ungemein. Aber stimmt schon, wenn du sowas meinst wie eine PCI-Karte, die irgendwo ein Bisschen SRAM einblendet, dann könnte das auf ein Einzelstück aus eigener Produktion rauslaufen.

Hmmm. Wenn ich die Zeit hätte… So schwierig kann das nicht sein, der Treiber dürfte auch nicht die absolute Härte sein.

Kleine Praezisierung
Hi,

USB-Sticks sind auch nur Flashspeicher mit Controller und
USB-anschluss. Unter Linux einwandfrei benutzbar. Auch als
Blockdevice.

ich vergass zu schreiben, dass USB-Sticks oder andere Teile die als Blockdevice angeschlossen werden nicht in Frage kommen.

Genauso wenig kommen die heute gaengigen Flash-Speicher (NAND?) in Frage, da diese auch nur blockmaessig geschrieben werden koennen.

Fuer mich wichtig ist, dass nicht ganze Bloecke geschrieben werden muessen – am besten Einzelbytes, aber auf jeden Fall kleinere Einheiten als Bloecke. Es soll eben gerade schneller als eine Festplatte sein und fuer kleinere Datenmengen (mehrere 10 oder 100 Bytes) optimiert sein.

Was ich suche wäre aber eine Erweiterungskarte mit mindestens
1kB statischem Speicher, der von Programmen aus möglichst
direkt gelesen und beschrieben werden kann.

Noch direkter als blockdevice wird schwierig …

Genau, deshalb meine Frage!

Achja: es darf auch gerne mehr Speicher sein – je mehr desto besser.

Hallo Nicos,

yep. Es muesste noch nicht mal mmap sein (waere natuerlich geil). Wie ich in meiner „kleinen Praezisierung“ schon schrieb, ginge es mir wirklich darum, nicht blockmaessig sondern in (meist) kleineren Einheiten schreiben zu koennen. Was mich an den Flash-Speichern stoert ist, dass sie ueber das IDE oder sonstige Blockinterfaces nicht besonders schnell sind (fraglich, ob die schneller als eine moderne Festplatte sind – sollte mal nachrechnen …). Die haetten fuer mich also keinen Vorteil vor einer Festplatte (ausser der Transportierbarkeit, auf die es mir nicht ankommt).

Kleine Datenmengen sollen schnell schreibbar sein – das kann auch gerne ueber ein IO-Device gehen, wenn das schneller geht als das Schreiben auf Platte.

Gruesse,

/juergen

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moien

Fuer mich wichtig ist, dass nicht ganze Bloecke geschrieben
werden muessen

Du schreibst was von 1-10 KB. Wenn du nun immer die ersten X Byte jedes Blocks nimmst kommst du mit NAND ganz gut hin.

– am besten Einzelbytes, aber auf jeden Fall
kleinere Einheiten als Bloecke. Es soll eben gerade schneller
als eine Festplatte sein und fuer kleinere Datenmengen
(mehrere 10 oder 100 Bytes) optimiert sein.

Schneller als Platte => schneller im Durchsatz oder schneller in der Seekzeit ?

Wenn es nur um´s seeken geht würd ich serielle EEPROM´s ins Auge fassen. Ansprechbar über I2C kann man sowas entweder per Druckerport oder gleich SMB-Bus anschliessen. Intern wird mit Blöcken von 4-16 Byte gearbeitet, nach aussen ist nur byteweise arbeiten drin. Aber wirklich viel Durchsatz haben die nicht (

Du schreibst was von 1-10 KB. Wenn du nun immer die ersten X
Byte jedes Blocks nimmst kommst du mit NAND ganz gut hin.

Hast Du mglw. falsch verstanden. Die Groesse des Speichers sollte mindestens 1kB sein. Eine Obergrenze setzt nur der Geldbeutel – also auch gerne 1GB, falls bezahlbar.

Etwas anderes sind die Haeppchen, die auf einmal geschrieben werden – die liegen so bei 10-100 Bytes (koennen auch mal mehr sein, aber meist vermutlich deutlich unter der normalen Blockgroesse von 512 Bytes.

Ich kann zwar bei Flash jeweils nur die ersten 100 Bytes nutzen und dann den naechsten Block schreiben – aber das macht die Schreibgeschwindigkeit real nicht schneller sondern langsamer (pro Nutzdaten). Es soll ja gerade schneller sein als eine plumpe Platte.

Schneller als Platte => schneller im Durchsatz oder
schneller in der Seekzeit ?

Durchsatz (vor allem beim Schreiben). Seekzeit ist (fast) egal.

Und wenn du das Blockdevice mmap´st ? OK, wird dem
Flashspeicher nicht sonderlich gut gefallen, geht aber.

Das duerfte an den technischen Realitaeten nicht sehr viel aendern … blockweises Schreiben – eben wie bei ordinaeren Platten.

Gruesse,

/juergen

Moien

Ich kann zwar bei Flash jeweils nur die ersten 100 Bytes
nutzen und dann den naechsten Block schreiben – aber das
macht die Schreibgeschwindigkeit real nicht schneller sondern
langsamer (pro Nutzdaten). Es soll ja gerade schneller sein
als eine plumpe Platte.

Wenn gerade bei Platte sind:

http://www.giga-byte.com/Products/Storage/Products_O…

150MB/s, 30MB/s anfallen muss man irgendwo buffern und auf Blockgrösse gehen.

Das duerfte an den technischen Realitaeten nicht sehr viel
aendern … blockweises Schreiben – eben wie bei ordinaeren
Platten.

Was stört dich so daran ?

cu

1 Like

Spurt-Geschwindigkeit

Wenn gerade bei Platte sind:

http://www.giga-byte.com/Products/Storage/Products_O…

150MB/s, 30MB/s anfallen muss man irgendwo buffern
und auf Blockgrösse gehen.

Wenn die anfallen sollten, habe ich damit keine Probleme – aber meist ist das nicht so.

Das duerfte an den technischen Realitaeten nicht sehr viel
aendern … blockweises Schreiben – eben wie bei ordinaeren
Platten.

Was stört dich so daran ?

Die mangelnde Spurtschnelligkeit. Ich moechte kleine Datenmengen wirklich schnell wegschreiben koennen – und da ist als Kennzahl halt nicht nur die reine (Brutto-) Datenuebertragungsrate interessant sondern wie schnell ein „typisches Datenpaket“ (das bei mir eben eher klein ausfaellt) sicher weggeschrieben werden kann.

cu

/juergen

Wenn gerade bei Platte sind:

http://www.giga-byte.com/Products/Storage/Products_O…

ich muss mich wohl selbst korrigieren – habe eben einen Test des i-RAM gelesen:

http://www.kaltmacher.de/artikel.php?t=70160&start=0…

Von den 150 MB/s bleiben nur 30-40 MB uebrig, wenn man das Teil an einen handelueblichen SATA-Controller dranhaengt. Das mag vielleicht noch schneller als so manche Platte sein, aber umhauen tut mich das nicht mehr.

Das ist auch einer der Gruende, warum ich nicht durch das dumme IDE-Geroell will – es geht nichts ueber Speicher, der auch moeglichst direkt am Prozessor dranhaengt.

ja, hat eine tolle Seekzeit, aber hilft mir nicht.

Moien

ich muss mich wohl selbst korrigieren – habe eben einen Test
des i-RAM gelesen:

In Rev 0.9. (die aktuelle ist 1.3.) mit dem Kommentra:
Beide SATA-Laufwerke (i-RAM, Raptor) sind über SATA-U160-Adapter am SCSI-Controller angeschlossen und büßen dadurch fast 50% Performance ein.

Also SATA Adapter SCSI PCI Northbridge (anstelle von SATA Northbridge wie es 90% aller SATA-fähigen Motherboards tun). Wer so testet sollte nicht veröffentlichen.

Es gibt „Dauerlaeufer-Schnelligkeit“ und „Spurtschnelligkeit“ – und mir
kommt es eher auf die Spurtschnelligkeit an. Wenn immer 512 Bytes am
Stueck geschrieben werden, dann leidet die Spurtschnelligkeit, da ich
ja warten muss, bis alle 512 Bytes angekommen sind.

Du brauchst also möglichst viele I/O-Operationen pro Sekunde ?

http://www.tomshardware.com/2005/09/07/can_gigabyte/…

Etwas über 9000 Operationen pro Sekunde. Gegenüber von

1 Like

Hi pumpkin,

Also SATA Adapter SCSI PCI
Northbridge (anstelle von SATA Northbridge
wie es 90% aller SATA-fähigen Motherboards tun). Wer so testet
sollte nicht veröffentlichen.

Das stimmt allerdings. Habe den Test bei TomsHW auch erst nach meinem Posting gesehen – die haben wohl einen guten Controller genommen.

Du brauchst also möglichst viele I/O-Operationen pro Sekunde ?

Genau das. Wobei die Writes sicher sein muessen – also schon auf ein sicheres Medium gehen sollen. Das i-RAM scheint diese Bedingung ja zu erfuellen.

http://www.tomshardware.com/2005/09/07/can_gigabyte/…

Etwas über 9000 Operationen pro Sekunde. Gegenüber von

Moien

RAID hilft hier uebrigends auch nicht viel.

Doch, man muss es nur klever einrichten. Fahr ein RAID0 mit einer möglichst kleinen Blockgrösse. Mach alle Schreibzugriffe in exakt dieser Grösse. Dann landet der erste Zugriff auf dem ersten iRAM, der 2. auf dem 2.,… usw. => 9000 * Anzahl der iRAM´s Operationen pro Sekunde. Den Linux MD-Treiber kann man zu Blockgrössen von 512 Byte überreden (Immernoch reichlich Verschnitt, aber wenn das ganze schnell sein soll muss man irgendwo auf Blöcke kommen). Dann wird der Link ziwschen SATA-Controller und CPU zum begrenzenden Faktor. Ich glaub nämlich nicht dass ein 0815 SATA Controller auf 4x 9000 Operationen pro Sekunde und 4x 130MB/s ausgelegt wird.

PCIe SATA RAID Controller hingegen …

Fuer
Rechnerabstuerze muesste man sich ggf. etwas anderes
ausdenken.

Wenn der Rechner Amok laufen kann wäre ein write-once Speicher das beste (der Absturz könnte ja alles mögliche auslösen). Aber dann wird es wieder wesentlich komplexer …

Wo zum Geier willst du eigentlich die Daten herbekommen ?

cu

Hi pumpkin,

PCIe SATA RAID Controller hingegen …

jaaaaa …??

Willst Du mehr verraten?

Gruesse,

/juergen

Hallo Leute,

ich suche eine Quelle, wo man Erweiterungskarten für PCs
bekommen kann, auf denen statisches RAM (z.B. CMOS oder
schneller Flash-Speicher – sollte auf alle Fälle auch einen
Stromausfall z.B. mit Batterie überleben) drauf ist.

Hallo Juergen,

man sollte meinen, direkter Speicher wäre am besten für deine Zwecke geeignet, aber das ist nicht so, jedenfalls nicht in einem heutigen PC: die Hardware müsste sich um den Chipsatz herumtricksen und überhaupt erst mal einen freien Adressbereich finden, und die Software müsste die virtuelle Speicherverwaltung komplett umgehen können. Insgesamt viel zu viel Aufwand.

In Frage kommt meiner Meinung nach nur ein Zugriff über I/O-Befehle: Adresse in Register schreiben, Daten lesen oder schreiben, fertig. I/O ist zwar viel langsamer als Memory, aber man muss ja nur das niederwertigste Byte der Adresse jedesmal setzen, die höherwertigen viel seltener. Dem Vergleich mit Flash über IDE und ähnliches hält das allemal stand, denn eine IDE-Schnittstelle wird ja auch über I/O-Befehle angesteuert, aber viel komplexer. Flash scheidet sowieso aus, da Flash nur direkt gelesen werden kann, zum Schreiben ist die Ausführung eines Programms nötig - es kommt also nur Statisches RAM mit Batterie in Frage.

Klar ist natürlich, dass man dafür einen Treiber bzw. mindestens einen Pseudotreiber braucht, um auf die I/O-Ports überhaupt zuzugreifen.

Gruss Reinhard

Moien

Willst Du mehr verraten?

Für das Zeug:
http://www.3ware.com/products/serial_ata2-9590.asp

gibt´s auch Notfallbatterien (sprich: alle Befehle werden zuende ausgeführt auch wenn der Strom am Rechner schon weg ist). Und so wie ich 3ware einschätze können die Karten alle SATA Anschlüsse dauerhaft mit 130MB/s versorgen (bis halt der PCIe4x slot bei etwa 10Gb/s aufgibt.).

Woher willst du die ~ 50 000 Ereignisse pro Sekunde nehmen ?

cu

man sollte meinen, direkter Speicher wäre am besten für deine
Zwecke geeignet, aber das ist nicht so, jedenfalls nicht in
einem heutigen PC: die Hardware müsste sich um den Chipsatz
herumtricksen und überhaupt erst mal einen freien
Adressbereich finden, und die Software müsste die virtuelle
Speicherverwaltung komplett umgehen können.

Warum? Alle Bussysteme in PCs sind in der Lage, zumindest einen kleinen Speicherbereich automatisch so in den absoluten Adressraum einzublenden, der dann für Programme wie Hauptspeicher aussieht. Das einzige Problem an der Sache sind Zugriffsrechte. Unter Linux könnte man sowas mit einem ähnlichen Mechanismus wie /dev/shm nutzen, so dass dieser Speicherbereich direkt als Dateisystem ansprechbar ist, oder man stellt per Eintrag in /dev oder per ProcFS eine Datei zur Verfügung, in die man nach Lust und Laune schreibt.

Hallo,

ich weiß nicht ob’s helfen wird, aber ein Tip von mir:

Suche mal bei einschlägigen Firmen, die PC-Meßtechnik
anbieten (also z.B. schnelle AD/DA-Karten, PC-Oszi oder
Signalgenratoren. z.B. Fa. Meilhaus
-> http://www.meilhaus.de/
oder hier: http://www.gbm.de

Da gibt es evtl. auch Karten mit schnellem SRAM, auch wenn das
evtl. nicht die Hauptfunktion einer solchen karte ist…

Gruß Uwi

ich suche eine Quelle, wo man Erweiterungskarten für PCs
bekommen kann, auf denen statisches RAM (z.B. CMOS oder
schneller Flash-Speicher – sollte auf alle Fälle auch einen
Stromausfall z.B. mit Batterie überleben) drauf ist.

Meine Suche bei Google fördert immer nur die 10.000te
Anleitung zutage, wie man sein BIOS tunen kann … und
irgendwie scheinen heutige PCs alle 0815-mäßig aufgebaut zu
sein … (seufz)

Was ich suche wäre aber eine Erweiterungskarte mit mindestens
1kB statischem Speicher, der von Programmen aus möglichst
direkt gelesen und beschrieben werden kann.

Für Quellenhinweise oder Markennamen (falls sowas nicht nur in
Sonderanfertigungen existiert) wäre ich dankbar.

Die reinen CMOS-Chips möchte ich aber nicht selbst verlöten –
es sollte schon eine fertige Karte sein, die am besten auch
gleich Linux-Treiber mitbringt oder ohne Treiber ansprechbar
ist.

Vielen Dank!

/juergen