Dlaczego nie wykorzystać przestrzeni SSD jako pamięci RAM?


61

Jestem nowy po stronie sprzętu. Korzystam z kilku maszyn, które mają 400 GB + dyski SSD i 32 GB pamięci RAM. Myślałem o zwiększeniu pojemności do 64 GB pamięci RAM, jednak myślałem, ponieważ skoro dyski SSD są półprzewodnikowe jak pamięć RAM, czy mojej dodatkowej przestrzeni nie można użyć jako pamięci RAM?

Jeśli to zrobię, czy dodatkowa pamięć RAM (z miejsca na dysku) będzie znacznie mniej wydajna niż pamięć RAM DDR3?


14
Czy nie jest to w zasadzie to, co robią funkcje „zamień” / „plik stronicowania” we współczesnych systemach operacyjnych?
grawity

7
Ponieważ dyski SSD mają ograniczoną liczbę zapisów, a system wykonuje setki zapisów w pamięci co godzinę, co oznacza, że ​​urządzenie SSD miałoby żywotność kilku dni z tą szybkością. Plus pod względem czystej prędkości SSD jest wyjątkowo wolny w porównaniu do pamięci. Pamięć o dostępie swobodnym nie przechowuje wartości po wyłączeniu zasilania, podobnie jak pamięć NAND w sprzęcie SSD. NAND stworzyłby straszną pamięć o dostępie swobodnym z wielu innych powodów niż szybkość.
Ramhound,

Gdyby to było takie proste, czy nie wszyscy by to zrobili?
Keltari

1
Wiem, że jest to starsze pytanie, ale w zależności od obciążenia mogą z pewnością być przydatne jako pamięci podręczne dla macierzy dysków twardych, mniej zapisów niż próba użycia go jako pamięci, ale odpowiednio dwustronna pamięć podręczna SDD dla obciążenia może być znaczącą korzyścią z wydajności dzięki unikanie niepotrzebnego dostępu do dysku twardego dla często używanych danych. Prawdopodobnie nie jest to zły pomysł, aby zainwestować w dysk o dużej pojemności z pamięcią flash o wysokim cyklu P / E na dysk pamięci podręcznej. To powiedziawszy 6000 P / E * 1 TB = 6 PB mojej pamięci podręcznej średnio 30 GB / dzień, więc przy tym tempie starość prawdopodobnie dostanie mnie przed 547 lat.
MttJocy

Zaczynam widzieć nowe komputery sprzedawane z DDR RAM i bardzo małe dyski półprzewodnikowe do buforowania oraz zwykłe dyski twarde. Nazywają to po prostu „pamięcią”, ale to nie to samo co pamięć RAM.
Scott M. Stolz,

Odpowiedzi:


41

Dwa lata po postawieniu pytania odpowiedź zmienia się z „nie” na „może”.

Samsung SM951 jest najnowszym stanem techniki, a w macierzy RAID 0 wykazano w testach osiągnięcie odczytu 4,5 GB / s i zapisu 3 GB / s. Koszt 1 USD / GB na dysk jest znacznie tańszy niż pamięć RAM.

http://www.legitreviews.com/samsung-sm951-m2-pcie-ssds-raid0-performance_161753/5

DDR4 data transfer rate:
DDR4 2133:17 GB/s
DDR4 2400:19.2 GB/s
DDR4 2666:21.3 GB/s
DDR4 3200:25.6 GB/s

http://www.transcend-info.com/Support/FAQ-292

Ponadto krótka żywotność dysków SSD została znacznie przesadzona, ponieważ testy wykazały, że 250 GB Samsung 840 Pro wytrzymuje 2,4PB zapisów.

http://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead/4

Zależy od aplikacji. Jeśli prędkość jest ważniejsza niż miejsce, to pamięć RAM, w przeciwnym razie (być może) spójrz na SSD.


Właściwie istotne, choć trochę ekstremalne. newsoffice.mit.edu/2015/cutting-cost-power-big-data-0710 - MIT eksperymentuje z klastrem wykorzystującym dyski SSD i niektóre elementy FPGA. Świat technologii zmienił się nieco od mojej pierwotnej odpowiedzi, choć nadal uważam, że kompilacja dysków SSD nie zastępuje wystarczającej ilości pamięci RAM do tego, co robisz.
Journeyman Geek

Niezła lektura, ten ostatni link. A także, niezwiązane, ale dobrze znane: „Wśród testowanych przez nas tylko Intel 335 Series i pierwszy HyperX pozostały dostępne na końcu. Nawet te same się zepsuły po ponownym uruchomieniu”. Więc jeśli mój dysk SSD kiedykolwiek zgłosi błąd, upewnię się, że nie uruchomię się ponownie, dopóki nie zapisam wszystkich ostatnich danych :-)
Arjan 1'15

Zdecydowanie zgadzam się, że „krótka żywotność dysków SSD została znacznie przesadzona”, nawet jeśli wykonujesz ciągły pełny test warunków skrajnych zapisu, powinien on mieć stosunkowo długą żywotność, nawet przez ponad rok.
sharp12345

jeśli odpowiedź zmienia się z „nie” na „może”, czy można to zrobić ?, w jaki sposób?
elikesprogramming

1
Podane wydajności PCIe M.2 to szybkość przesyłania sekwencyjnego, a nie losowy odczyt / zapis. Więc możemy nie porównywać tutaj jabłek do jabłek.
Καrτhικ

52

Po pierwsze, pamięć RAM jest nadal znacznie szybsza niż zarówno zwykłe SATA 6 Gb / s, a nawet nowsze rozwiązania oparte na PCI-e. Pamięć RAM jest również zaprojektowana do wielokrotnego zapisywania i usuwania, kosztem zmienności. RAM zwykle nie zużywa się z powodu regularnego użytkowania - choć oczywiście może zawieść jak każdy element.

Chociaż żywotność dysków SSD znacznie się poprawiła, dyski SSD ulegają zużyciu. Są absolutnie genialne do nieulotnego użytku, ale jeśli napisałeś i nadpisałeś NAND (który zawiera dyski SSD) tak jak robisz RAM, to by się zużyło.

Oba są naprawdę zoptymalizowane pod kątem różnych rzeczy, i lepiej jest mieć wystarczającą ilość pamięci RAM (i używać dysków SSD lub spinny dysków twardych do stronicowania) niż kompromis na wystarczającej ilości pamięci RAM do wykonania zadania.


39

Jak sugeruje grawity, masz już plik wymiany / strony wykonujący to zadanie. Teraz nawet dysk SSD jest znacznie wolniejszy w porównaniu do DDR3. Dyski SSD mogą dostarczać do około 654 MB / s, a pamięć DDR3 1333 MHz w trybie dwukanałowym może dostarczać do 21,3 GB / s (21 332 MB / s).


Ale wiele aplikacji nie działa na pliku stronicowania, gdy pamięć RAM jest pełna, po prostu dają błąd.
skan

1
@skan Nic nie można zrobić z źle napisanymi aplikacjami. AFAIK stronicowanie pamięci systemowej powinno być przezroczyste dla aplikacji. Zepsute aplikacje po prostu uważam, że jeśli nie ma już więcej pamięci RAM, nadszedł czas, aby zamknąć firmę.
user555,

@skan, no .. aplikacje nawet nie zdają sobie sprawy, że są stronicowane. Jedyny sposób, w jaki potrafią to stwierdzić, to spowolnienie, które może być spowodowane po prostu zadaniami o wyższym priorytecie, które powodują zawieszenie procesora.
psusi

25

Tak, będzie znacznie mniej wydajny niż pamięć RAM DDR3.

  1. Dysk SSD szybko się zużyje, jeśli zostanie użyty jako pamięć RAM (częste zapisy). Będzie to skuteczne tylko przez około 2 miesiące, po czym na pewno umrze. (Więc zamiast 10 lat życia ... będzie żył przez około 10 tygodni.)
  2. SSD to urządzenie dyskowe. Procesory mogą tylko pre- ładowanie danych do pamięci podręcznej z pamięci RAM. Jeśli będzie na dysku SSD, należy go najpierw załadować do pamięci RAM ... Dostęp do dysku (nawet bardzo szybkiego dysku SSD) jest około 100 razy wolniejszy niż dostęp do pamięci RAM. Zobacz testy porównawcze dysków HDD, SSD i RAMDISK (ramdyski na DDR3 mają więcej niż 3000 MB / s, a czas oczekiwania na dostęp wynosi mniej niż 0,1 milisekundy. Zatem wyraźnie: dysk SSD nie może konkurować z prędkością pamięci RAM).

20

Głównym powodem, dla którego nie można użyć dysku SSD jako pamięci RAM, jest to, że jest on podłączony do komputera tak, jakby był dyskiem, a nie pamięci RAM. To znaczy, że procesor nie może bezpośrednio zaadresować pamięci na dysku SSD, ale zamiast tego musi przekazać blok RAM do kontrolera SATA i poprosić go o przesłanie danych między tym RAM a obszarem w napędzie.

Nowy interfejs NVM Express może to zmienić. Pozwala procesorowi mapować obszary dysku SSD bezpośrednio w jego przestrzeni pamięci i używać go jak pamięci RAM zamiast generować żądania We / Wy do transferu między pamięcią RAM a dyskiem SSD. Może to potencjalnie znacznie przyspieszyć dostęp do dysku SSD przy jednoczesnym zużyciu mniejszej ilości pamięci RAM, ponieważ nie jest już wymagane buforowanie danych, gdy procesor uzyskuje do nich dostęp. Jest to obecnie obszar aktywnego rozwoju w jądrze Linuksa.


4
Pierwszy akapit jest w zasadzie poprawną odpowiedzią na bezpośrednie pytanie. Wspomniana przez innych prędkość i zużycie dysku to drugorzędne problemy - nawet jeśli dyski SSD były tak szybkie i odporne jak pamięć RAM, wciąż nie możemy ich używać jako pamięci RAM.
tony

Czy ktoś w tej dziedzinie jest w stanie zaktualizować odpowiedź? Na przykład, czy Samsung M.2 960 Pro jest wystarczająco szybki i ma wystarczająco dobre odprowadzanie ciepła, aby poradzić sobie z zadaniem?
n1k31t4

@DexterMorgan, rozpraszanie ciepła tak naprawdę nie jest rzeczą, a to, czy jest wystarczająco szybkie, wymaga oceny.
psusi

0

Mam zainstalowanego laptopa z maksymalną pamięcią RAM 4 GB. Myślałem, że użycie SSD do wymiany przestrzeni przyspieszy mój system. Mam 250 GB napędu Samsunga i przeznaczyłem 32 GB na miejsce wymiany. Mój komputer działa znacznie wolniej! Korzystam z systemu Windows 10 Pro 1709 na laptopie Lenovo 3000 N200. Niedawno przeczytałem, że Microsoft zaleca co najmniej 8 GB pamięci RAM dla systemu Windows 10. Mam teraz laptop o pojemności 8 GB, a jego wydajność jest znacznie, znacznie lepsza.


korekta: moje wyniki prędkości są nieprawidłowe. Popełniłem błąd, zmieniając ustawienia pamięci wirtualnej w Panelu sterowania, zamiast po prostu kliknąć przycisk ReadyBoost w Eksploratorze plików.
rhmccullough

1
To nie jest prawidłowy test!
TheFiddlerWins

1
Ok Fiddler - wygrywasz.
Murdoch Ripper
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.