sprzętowe RAM dyski

0

Dawno temu istniały sprzętowe dyski bazujące na pamięci ulotnej z podtrzymywaniem bateryjnym. Np. do C64 można było podłączyć takie cudo oferujące całe 256 KB.

Obecnie mamy HDD i SDD i nie widzę nic więcej ofercie.

Czy istnieją w sprzedaży dyski bazujące na zwykłych kościach pamięci? Nie muszą nawet mieć bateryjnego podtrzymywania. Bo tak sobie myślę, że można by na nie wrzucić plik wymiany i trochę oszukać systemowy limit RAM-u.

Czy to jest w ogóle sensowny pomysł? Ew. wszelkie uwagi mile widziane.

1

A po co dodawać RAMu w taki dziwny sposób zamiast po prostu obsadzić kolejne złącza RAMu?

1
Freja Draco napisał(a):

Czy istnieją w sprzedaży dyski bazujące na zwykłych kościach pamięci?

To się robi programowo, odpowiednim sterownikiem, używając RAMu który już masz.
Ale umieszczanie na takim dysku pliku wymiany jest bez sensu, bo to używanie RAMu do symulowania dysku który symuluje RAM.

Nie muszą nawet mieć bateryjnego podtrzymywania. Bo tak sobie myślę, że można by na nie wrzucić plik wymiany i trochę oszukać systemowy limit RAM-u.

Ile tego RAMu masz że ci mało?

2

Ja nie kojarzę takich nowoczesnych rozwiązań (pomijając np. jakieś pamięci cache przy macierzach RAID). I raczej nie wynika to z mojego ignoranctwa (w które oczywiście nigdy nie wątpiłem), co raczej z tego, o czym koledzy pisali powyżej.

Dawniej trzeba było sobie jakoś radzić - ponieważ RAMu było mało, stworzono pliki wymiany. Oszukiwały one system, ale kosztem wydajności.
Ewentualnie, jeśli ktoś potrzebował super szybki dysk, to mógł sobie stworzyć wirtualny napęd w RAM.
Trzeba było wybrać jeden parametr, który się poświęcało kosztem drugiego, wymienialiśmy prędkość za pojemność lub odwrotnie.

Obecnie sprawa wygląda tak, że wsadzenie 32GB RAM (i to wcale nie jest jakaś wartość oszałamiająca czy szczytowa) to żaden problem, a jedynie koszt kilku dodatkowych stówek, więc pliki wymiany już nie są taką kluczową sprawą, jak 15 lat temu. Z drugiej strony nie trzeba emulować w pamięci dysków, bo SSD jest już bardzo szybki sam z siebie, a jak ktoś chce petardę, to wsadza M.2, albo totalny zboczeniec (pozdrawiam @mr_jaro ;) ) może jeszcze postawić RAID na M.2.

Raczej takie rozwiązania wymarły, podobnie jak karty perforowane i dyskietki.Może są jakieś dedykowane do superkomputerów, ale jeśli coś takiego istnieje, to raczej byś musiała całą swoją jaskinię i zapas owieczek sprzedać, żeby sobie pozwolić na taki luksus. A i tak prawdopodobnie byś nie wiedziała, gdzie, jak i do czego to wsadzić, bo raczej do desktopa by nie pasowało.

EDIT tak mi się przypomniało - były takie wynalazki - https://en.wikipedia.org/wiki/I-RAM ale okazały się niewypałem i się z nich wycofano szybciej, niż zostały na rynek wprowadzone. Oferowały 150MB/s, a obecnie SATA ma 3x więcej.

https://www.geckoandfly.com/21507/ramdisk-virtual-disk-memory/ - są programy do tworzenia softowych RAM-dysków, ale nie wiem, jaki byłby tego sens. Ewentualnie może jakiś TEMP na tym podstawić dla programów, które muszą gdzieś zapisywać dużo danych tymczasowych, ale to jest trochę bez sensu - bo równie dobrze te programy by mogły korzystać po prostu z pamięci i tam trzymać te swoje dane. A jak pisał @Azarien - branie RAM, żeby udawał dysk, na którym będziemy trzymać dane, które się nie mieszczą w RAM - jest dość bez sensu ;)

1

Takie coś rzeczywiście było, nawet do w miarę współczesnych maszyn, ale wymarło najwyraźniej. O nowszych produktach tego typu nie słyszałem od około 10 lat, zapewne od czasu upowszechnienia się SSD.

https://pclab.pl/news36522.html
http://www.benchmark.pl/testy[...]kund-testy-gigabyte-iram.html
https://www.amazon.com/ACARD-[...]odules-Included/dp/B00VMS9ER4
http://www.thessdreview.com/o[...]eview-500k-iops-ddr3-storage/ (o proszę, 2014!)

0

Może nie ma takich rozwiązań, bo nie ma na nie popytu. Teraz SSD są tak dopracowane, że można ich spokojnie używać na co dzień.
Warto pamiętać, że plik wymiany nie jest przedłużeniem RAMu, bo nie jest adresowany. Aplikacja trzymana w pliku wymiany nie ma adresu, więc nie może działać. Teoretycznie można stworzyć logicznie spójne adresowanie dla RAMU i innego urządzenia, ale mogłoby to się wiązać z dużymi spadkami wydajności. Sam NUMA (https://pl.wikipedia.org/wiki[...]y_dost%C4%99p_do_pami%C4%99ci) działa tylko dlatego, że mamy wiele procesorów i kanałów pamięci i można obejść ten problem optymalizując aplikację. I tu jest kolejny problem: nie widzę, żeby producenci oprogramowania nagle nauczyli się optymalizować programy.

0
Wibowit napisał(a):

A po co dodawać RAMu w taki dziwny sposób zamiast po prostu obsadzić kolejne złącza RAMu?

Jak się skończą sloty na RAM to można wrzucić w niektórych przypadkach karty z dodatkowymi slotami RAMu. Raczej dla serwerów niż PCtów.
https://www.globalonetechnology.com/452179-b21.htm

2

plik wymiany nie jest przedłużeniem RAMu, bo nie jest adresowany

No tutaj mam inną opinię, proszę niech się osoby bardziej wtajemniczone wypowiedzą. Z tego co kojarzę, to aplikacja nie ma pojęcia, gdzie jest fizycznie trzymana (w sensie, czy realnie siedzi w RAM, czy na SWAP). System oferuje jakąś płaską wirtualną przestrzeń adresową (w przypadku np. 32-bitowych Windowsów zaczęło się do już od Win95), każda aplikacja dostaje swoją pulę niezależnie. System zajmuje się zapewnieniem obsługi i moja aplikacja np. może skorzystać z 4GB RAM, niezależnie od tego. ile jest fizycznie w maszynie. A żonglowanie danymi między RAM a plikiem wymiany odbywa się całkowicie poza moją świadomością, po prostu otrzymuję od systemu jakąś porcję RAM i dla mnie jest to "prawdziwy" RAM, a zabawa w przerzucanie danych RAM-SWAP to jest zadanie systemu.

http://catalogue.pearsoned.co.uk/samplechapter/1562057464.pdf:
MCSE Training Guide: Windows 95 - Architecture and Memory

Windows 95 uses two types of memory: physical and virtual. Most users are familiar with the amount of RAM, or physical memory, on the computer itself. As mentioned in Chapter 1, the minimum requirement for RAM on a computer running Windows 95 is 4 MB. The recommended amount of RAM is at least 8 MB. The author even suggests 16 MB of RAM for Windows 95. With Windows 95, the operating system uses all of the available physical memory on the computer. You can overcome hardware memory limitations through the use of virtual memory. The Windows 95 operating system uses a flat memory model, which leverages off the Intel 386 or greater processor’s capability to handle 32-bit addresses. This flat memory model provides a logical address space range of up to 4 GB. Although current computer hardware does not yet handle up to 4 GB of physical memory, some file servers can now run with up to 1 GB of RAM. Virtual memory bridges the gap between physical memory and logical memory. 

The 4 GB of addressable space used as virtual memory under the flat memory model is implemented through the use of RAM and a swap file. The Windows 95 operating system performs memory management, called demand paging, whereby code and data are moved in 4-KB pages between physical memory and the temporary Windows 95 swap file on the hard drive. The Virtual Memory Manager controls paging and maintains a page table. The page table tells which pages are swapped to the hard drive, which remain in RAM, and to which system process or application they belong.

Application programs are allocated a virtual memory address space, which is the set of addresses available for use by that program. Both 32-bit Windows and MS-DOS-based programs are allocated private virtual memory address space. All 16-bit Windows-based programs share a single, common virtual memory address space. Figure 2.4 shows how Windows 95 allocates the 4 GB of virtual memory to each address space. Each process is allocated a unique virtual address space of 4 GB. The upper 2 GB is shared with the system, whereas the lower 2 GB is private to the application.
1
Freja Draco napisał(a):

Czy to jest w ogóle sensowny pomysł?

  1. NIE!
  2. Dołóż RAMu
0

@cerrato: No tak, możesz mieć adres wirtualny. Z resztą i tak pamięć jest stronicowana. W każdym razie takie żonglowanie między dyskiem a RAMem powoduje spadek wydajności. Już lepiej dołożyć RAMu niż męczyć się z plikiem wymiany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0