Ssd = ram?

Timdaroxxa

Lieutenant
Registriert
März 2009
Beiträge
954
Hey,
ich hab hier gerade in meinem Vorlesungskript zur Programmierung gelesen, dass man Speicher, bei dem auf jede Speicherzelle unter gleichem Zeitaufwand unabhängig von ihrer Lokalisierung zugegriffen werden kann, als "random-access-memory" bezeichnet.

Kann man sogesehen sagen, dass eine SSD auch "RAM" ist?

Gruß
Tim
 
Zuletzt bearbeitet:
Eine SSD besteht aus nichtflüchtigem, dafür aber langsamen, Speicher und wird im Gegensatz zum RAM blockweise angesprochen, während RAM zeilenweise adressiert wird und flüchtig ist.

Ich würde sagen Flash-RAM und SD-RAM kann man als sehr ähnlich ansehen.
 
Zuletzt bearbeitet:
Nein!
Eine SSD ist ein statischer Speicher, d.h. die in ihr gespeicherten Daten bleiben erhalten, auch wenn man Sie vom Versorgungsstrom trennt. RAm ist volatil/flüchtig, nach dem die Versorgungsspannung erlischt geht der Inhalt des RAM verloren. (Dynamischer Speicher)
 
Danke für die Antworten.
Dann ist ja alles klar :)
@Penislebra: Deine Begründung ist irgendwie falsch :)

-->close
 
Ich denke nicht:
  • SSDs bestehen aus Flash-Speicher, der zwar einen Random-Acces-Read auf eine Speicherzelle, aber keinen "wahlfreien" Write erlaubt.
  • Der "Speicher" einer SSD wird komplett von der Firmware der SSD und dem File System des OS gekapselt,auch so ist ein gezielter Zugriff auf eine bestimmte Adresse im Falsh durch den Butzer nicht möglich.
  • Die Daten auf einer SSD lassen sich also nur unter Zuhilfenahme des File System lesen und schreiben, was sicher nicht "wahlfrei" ist
 
@Skeidinho: Nein, in der Definition von Ram ist es nicht Pflicht das der Speicher Flüchtig ist oder nicht.
 
Hier geht ja alles durcheinander!

Timdaroxxa schrieb:
hab hier gerade in meinem Vorlesungskript zur Programmierung gelesen, dass man Speicher, bei dem auf jede Speicherzelle unter gleichem Zeitaufwand unabhängig von ihrer Lokalisierung zugegriffen werden kann, als "random-access-memory" bezeichnet.
Ja, so ist es und daher die Abkürzung RAM.


Timdaroxxa schrieb:
Kann man sogesehen sagen, dass eine SSD auch "RAM" ist?
Nein. Außerdem müsste man wenn, dann nicht die SSD sondern ehr das NAND Flash darin betrachten, wobei die Antwort immer noch Nein ist.

Penislebra schrieb:
Eine SSD ist ein statischer Speicher, d.h. die in ihr gespeicherten Daten bleiben erhalten, auch wenn man Sie vom Versorgungsstrom trennt. RAm ist volatil/flüchtig, nach dem die Versorgungsspannung erlischt geht der Inhalt des RAM verloren. (Dynamischer Speicher)
Kraut und Rüben! Es gibt statisches und dynamisches RAM, aber beide sind flüchtig. Der Unterschied ist, dass das dynamische RAM auch bei anliegender Spannung seinen Inhalt verliert und daher regelmäßig aufgefrischt (Refresh) werden muss. Beim statischen RAM bleibt der Inhalt auch ohne refresh so lange erhalten, wie die Versorgungsspannung anliegt. Ohne Versorgungsspannung verlieren beiden den Inhalt, sind also flüchtig.

Bei Flash bleibst der Inhalt auch ohne eine Spannungsversorgung erhalten bis er explizit gelöscht wird. Flash ist also ein nicht flüchtiger Speicher und somit kann es kein dynamischer Speicher (also einer der einen Refresh bracht) sein, weshalb es die Unterscheidung von statisch und dynamisch auch nur bei flüchtigem Speicher gibt!

MyPVR schrieb:
Ich denke nicht:
  • SSDs bestehen aus Flash-Speicher, der zwar einen Random-Acces-Read auf eine Speicherzelle, aber keinen "wahlfreien" Write erlaubt.
Das stimmt auch nicht, wie HisN schon geschrieben hat:
HisN schrieb:
Eine SSD besteht aus nichtflüchtigem, dafür aber langsamen, Speicher und wird im Gegensatz zum RAM blockweise angesprochen, während RAM zeilenweise adressiert wird und flüchtig ist.
Das stimmt aber auch nur zu Hälfte, denn auch das Lesen geht nicht wahlfei. NAND-Flash wie es in SSD verbaut wird, unterscheidet sich ja genau darin vom NOR-Flash, welches wirklich linear adressierbar ist.

Deshalb ist SSD!=RAM. Praktisch genügt aber heute RAM auch nicht mehr der Definition: "auf jede Speicherzelle unter gleichem Zeitaufwand unabhängig von ihrer Lokalisierung zugegriffen" seid es in den CPUs Caches gibt. Bei den heute üblichen bis zu 3 Cacheleveln ist die Zugriffszeit also schon mal stark davon abhängig, ob und wo die Daten der Adresse gecacht sind. Man kann aber auch argumentieren, dass innerhalb des gleiche Cache Levels der Zugriff auf alle Adressen wieder gleich schnell ist. Dann kann man aber auch sagen, dass man innerhalb eines Flashbausteins ja auch auf alle Pages gleich schnell zugreifen kann, nur eben nicht auf die Bytes einer Page, weil das eben nur seq. erfolgt und damit die Zeit davon abhängt, ob die Byte am Anfang oder Ende der Page steht.

Deshalb ist eine NAND Page letztlich wie ein Sektor einer HDD, von dem man auch nicht ein einzelnes Byte adressieren kann, auch wenn man weiß wo es steht. Außerdem kommen sowohl beim Magnetscheiben als auch bei NAND immer wieder mal Fehler vor. Es wird also ab und an mal ein Bit falsch gelesen und daher verwenden beide eine Fehlerkorrektor (ECC). Das sind Prüfsummen über einen bestimmen Datenmenge die es erlauben den Fehler zu erkennen und in Grenzen auch zu korrigieren. Man muss aber den Datenblock und diese ECC-Daten lesen und verarbeiten, bevor man die einzelnen Bytes darauf verwerten kann. Das machen eben die Controller, entweder der HDD, der SSD oder bei Compute NAND direkt im NAND Chip.

Man sieht: Definitionen aus der Computer Steinzeit auf moderne Systeme 1:1 anwenden zu wollen, ist sehr problematisch.
 
Zuletzt bearbeitet: (SSD!=RAM korrigiert)
Mhhm ok.
USB-Sticks fallen dann wohl auch eher unter "kein Ram"?

btw: Nach dem letzten Zitat müsste doch eher SSD|= Ram stehen oder nicht
 
Zuletzt bearbeitet:
Richtig, gut aufgepasst.
 
SSD |= RAM würde imho wohl passen. Als RAM (Random Access Memory) wird im allgemeinen ein flüchtiger Speicher (statischer oder dynamischer Bauart) bezeichnet, der über den Adress & Datenbus direkt an eine CPU angebunden ist. Externes RAM ist wegen der höheren Speicherdichte meist als dynamischen RAM, Caches wegen der hohen Schnelligkeit meist als statisches RAM konzipiert.

Speicher wie eine SSD oder auch HDD wird dagegen über einen I/O Bus und entsprechende I/O Controller als Massenspeicher angesprochen, der meist nur als Block I/O (also 512 Byte Blöcke bzw unter NTFS meist als 4k Block) addressierbar angesprochen wird. Die Basis der SSD liegt auch ursprünglich in den EEPROMs, die eben deutlich langsamer als RAM Bausteine sind, dafür aber die Daten auch nichtflüchtig speichern können.

Neuere Speichertechniken wie PRAM, FeRAM oder auch Memristor sind da wieder spezielle Zukunftslösungen, die die Schnelligkeit/Speicherdichte von üblichen RAM mit der Eigenschaft der Nichtflüchtigkeit bei Spannungslosigkeit vereinen.
 
Sagen wir besser, EEPROMs waren die Vorgänger der heutigen Flash Speicher oder die Flash Speicher sind eine besondere Form von EEPORMs.
Die klassischen EEPROMs sind dem NOR-Flash am ähnlichsten und wurden in der Anwendung auch von diesen größtenteils ersetzt, denn die NOR-Flash kann man genau wie RAM auch linear adressieren und wahlfrei lesen und schreiben zumindest wenn es nur von 1 auf 0 geht, aber eben (anders als die klassischen EEPROMs) wie alle Flashtypen auch nur blockweise löschen (die Bits alle wieder auf 1 setzen).

In SSDs werden Daten aber NAND Flash gespeichert und das sind Block Devices weil man eben keine einzelnen Bytes sondern immer ganze Blöcke adressiert.
 
Zuletzt bearbeitet:
Zurück
Oben