Как сделать из жесткого диска оперативную память

Обновлено: 30.06.2024

↑ Выживаем на слабом ПК: работа с Интернетом на RAM-диске

↑ Что такое RAM-диск

RAM-диск – это виртуальный диск, создаваемый за счёт ресурса оперативной памяти, самой быстродействующей памяти компьютера. Её мощности превосходят мощности SSD в несколько раз, а HDD – в несколько десятков раз. Взглянем на тесты чтения и записи данных дисками HDD, SSD и RAM.

Созданный за счёт оперативной памяти RAM-диск развил последовательную скорость чтения и записи в районе 2000 Мб/с. Выборочно мелкие файлы RAM-диск прочитал и записал со скоростью 120-150 Мб/с. Тогда как примерно в этом районе скорость HDD выдал на пике своих возможностей: при последовательном чтении и записи данных винчестер разогнался до 140 Мб/с. Да и то, такая скорость была развита, поскольку в тесте участвовал современный HDD. Но даже современный HDD выборочно с мелкими файлами возился очень долго, со скоростью чтения и записи до 1 Мб/с.

Чудовищно медленная скорость чтения и записи маленьких файлов классическими винчестерами является причиной долгого запуска браузера и открытия в нём сайтов. Ведь кэш, профили, расширения и прочие составляющие веб-обозревателей обычно состоят из множества (или хотя бы нескольких) маловесных файликов. У проблемы с медленными скоростями работы HDD давно уже есть решение – жёсткие диски SSD. Вот только покупка такого дорогостоящего устройства хранения данных, как SSD, целесообразна не в каждом случае.

Если мы говорим о старых ПК или ноутбуках, которым до достижения более-менее приемлемого уровня производительности, кроме жёсткого диска, нужно поменять процессор, а вместе с ним материнку и, возможно, оперативную память, такой апгрейд может вылиться в хорошую сумму. Тогда как добавление одной лишь оперативной памяти, если её изначально мало на устройстве, особо на месячный бюджет не повлияет. Так, к примеру, планку б/у-шной старой памяти DDR/DDR2 на 1 Гб сегодня можно купить за 100-200 рублей.

Итак, RAM-диск – это виртуальный диск с сумасшедшей, по сравнению с HDD, производительностью. Создаётся он за счёт ресурса оперативной памяти с помощью специальных программ. Однако не каждая из таких программ способна обеспечить сохранение данных на RAM-диске после перезагрузки компьютера. Зачем нужно такое сохранение данных, и какие ещё у RAM-дисков есть особенности?

↑ Особенности RAM-диска

Оперативная память предназначается только для временного хранения данных. Всё, что было помещено в неё, после отключения питания компьютера исчезает. Потому о сохранности находящихся на RAM-диске папок и файлов должен позаботиться софт, с помощью которого в среде Windows реализуется такой виртуальный диск. Эта функция предусматривается не каждой программой, умеющей создавать RAM-диски. Но платные программы обычно предусматривают. Реализуется такое сохранение данных за счёт подвязки RAM-диска к другим типам виртуальных жёстких дисков, существующих в файлах-образах. Всё, что записывалось или стиралось на RAM-диске, периодически или по завершении работы Windows переносится в файл-образ. И, соответственно, изымается оттуда при новом запуске Windows. Если мы намереваемся постоянно работать с данными RAM-диска, следовательно, нам нужно использовать программу, обеспечивающую сохранность данных.

Другая особенность создания RAM-диска – это наличие лишнего объёма оперативной памяти. Желательно, чтобы у системы было хотя бы 2 Гб для нужд её самой и стороннего ПО. И только из излишка уже можно формировать RAM-диск.

↑ Как создать RAM-диск

Для создания RAM-диска в нашем случае будет использоваться платная программа Daemon Tools Ultra. У неё понятный русифицированный интерфейс, и она обеспечивает сохранение данных в файл-образ виртуального жёсткого диска. Что же, поехали.

Всё, теперь можно приступать к работе с RAM-диском. Всё его содержимое будет дублироваться в VHD-образ в указанном месте. И если с RAM-диском что-то случится – программа Daemon Tools Ultra перестанет работать или саму Windows придётся переустанавливать, наши данные останутся в целости и сохранности. И мы сможем получить доступ к ним, подключив VHD-образ.

↑ Как использовать RAM-диск

Как создать RAM диск в Windows

Если на вашем компьютере достаточно много оперативной памяти (RAM), значительная часть которой не используется, вы можете создать RAM диск (RAMDisk, RAM Drive), т.е. виртуальный накопитель, который операционная система видит, как обычный диск, но который фактически находится в оперативной памяти. Главное преимущество такого диска — он очень быстрый (быстрее, чем SSD накопители).

В этом обзоре о том, как создать RAM диск в Windows, для чего его можно использовать и о некоторых ограничениях (помимо размера), с которыми при этом можно столкнуться. Все программы для создания RAM диска были протестированы мной в Windows 10, но совместимы и с предыдущими версиями ОС, вплоть до 7-ки.

Для чего может пригодиться RAM диск в оперативной памяти

Как уже было отмечено, главное в этом диске — высокая скорость (можно увидеть результат теста на скриншоте ниже). Вторая особенность — данные с RAM диска автоматически исчезают при выключении компьютера или ноутбука (т.к. для хранения информации в оперативной памяти нужно питание), правда этот аспект некоторые программы для создания рам-дисков позволяют обойти (сохраняя содержимое диска на обычный диск при выключении компьютера и снова загружая его в RAM при включении).

Тест скорости RAM диска

Конечно, есть у использования дисков в оперативной памяти и минусы. Главный такой минус — как раз использование RAM, которая часто лишней не бывает. И, в итоге, если какой-то программе нужно больше памяти, чем осталось после создания такого диска, она будет вынуждена использовать файл подкачки на обычном диске, что будет медленнее.

Лучшие бесплатные программы для создания RAM диска в Windows

Далее — обзор лучших бесплатных (или условно-бесплатных) программ для создания RAM-диска в Windows, об их функциональности и ограничениях.

AMD Radeon RAMDisk

Программа AMD RAMDisk — одна из самых популярных программ для создания диска в оперативной памяти (нет, она не требует, чтобы на компьютере было установлено оборудование AMD, если у вас возникло такое подозрение из названия), несмотря на своё основное ограничение: бесплатная версия AMD RAMDisk позволяет создавать RAM диск размером не более 4 гигабайт (или 6 Гб, если у вас установлена оперативная память AMD).

Однако, часто такого объема оказывается вполне достаточно, а простота использования и дополнительные функции программы позволяют рекомендовать её к использованию.

Процесс создания RAM диска в AMD RAMDisk сводится к следующим простым шагам:

Softperfect RAM Disk

Softperfect RAM Disk единственная в этом обзоре платная программа (бесплатно работает 30 дней), однако я решил включить её в список, поскольку это единственная программа для создания RAM-диска на русском языке.

В течение первых 30 дней никаких ограничений по размеру диска, а также по их количеству (можно создавать более одного диска) нет, а точнее они ограничены объемом доступной оперативной памяти и свободных букв дисков.

Чтобы сделать RAM Disk в программе от Softperfect, используйте следующие простые шаги:

ImDisk

ImDisk — полностью бесплатная программа с открытым исходным кодом для создания RAM-дисков, без каких-либо ограничений (можно задавать любой размер в пределах доступной оперативной памяти, создавать несколько дисков).

OSFMount

PassMark OSFMount — ещё одна полностью бесплатная программа, которая, помимо монтирования различных образов в системе (её основная задача), также умеет создавать RAM диски без ограничений.

Процесс создания выглядит следующим образом:

StarWind RAM Disk

И последняя бесплатная программа в этом обзоре — StarWind RAM Disk, также позволяющая создавать несколько RAM дисков произвольного объема в удобном интерфейсе. Процесс создания, думаю, будет ясен из скриншота ниже.

Startwind RAM Disk

Создание RAM диска в Windows — видео

На этом, пожалуй, завершу. Думаю, приведенных программ будет достаточно под почти любые потребности. Кстати, если вы собираетесь использовать RAM диск, поделитесь в комментариях, для каких именно сценариев работы?

А вдруг и это будет интересно:

11.07.2018 в 13:53

До сих пор пользуюсь бесплатной ASUS ROG RamDisk, хоть она давно не обновляется. На русском языке. Диск создаётся в два клика. Отправляю туда кэш браузера. По результатам тестов (из сети, сам не тестировал) — самая быстрая.

11.07.2018 в 14:29

До сих пор пользуюсь ASUS RAMDisk, хоть давно и не обновляется. На русском языке. Диск создаётся в два клика. Отправляю туда кэш браузера.
По тестам — самая быстрая.

31.03.2019 в 21:36

А сколько выделили под кэш скажите пожалуйста?

11.07.2018 в 22:13

Для хранения кэша локального прокси торрент ТВ, и скорость радует, и физический диски не портит.

12.07.2018 в 08:43

А если мало оперативной памяти? Есть ли смысл создать диск.

12.07.2018 в 08:58

Скорее нет, чем да: т.е. у вас в итоге станет ещё меньше её, что скажется на скорости работы системы.

25.08.2018 в 13:25

Конечно нет, ведь память берётся именно из оперативки.

12.07.2018 в 16:39

просто хочу сказать спасибо,много раз вытащили мой камп из халепы, давно на вас подписан, благодаря вам я сильнее как юзер, год назад думал поставить в оперативку игру 6 гиг, в этом нет особо надобности, так шутки ради потренируюсь, у меня всё равно 7 из 16 бездействует,как ни крути

25.08.2018 в 13:23

Я в нём браузер запускаю просто летает.

01.09.2018 в 11:23

Здравствуйте! Стесняюсь спросить, а каким образом браузер заработает на RAM диске? И ещё один тупой вопрос: если у меня вообще на всё про всё 4ГБ памяти и пробовать не стоит? Спасибо.

01.09.2018 в 12:23

Ну я про размещение браузера на RAM-диске не писал, кажется (только про кэш браузера), хотя да, в комментариях такое кто-то сделал. В принципе, это возможно и работать будет, хотя из плюсов — разве что очень быстрый запуск браузера (с некоторыми оговорками, например, расширения могут тормозить запуск, независимо от того, где расположены).

А вот если у вас 4 Гб RAM всего — нет, настойчиво рекомендую не пробовать, заметно потеряете в скорости работы самой Windows, а это все-таки приоритетнее.

16.04.2019 в 21:25

Хардлинками Не надо весь браузер туда пихать, пусть он так и сидит в программфайлсах. Дайте ссылку на профиль (что обычно в %appdata%) и ни кеш, ни купи не побеспокоят вас. А если захватите особо тупого червя что перезапускает комп как только скопируется в темпы — удачи ему. Память не слита, кеш откатился к последнему удачному запуску. И вы дальше радуйтесь жизни.

12.12.2018 в 09:31

Здравствуйте! Что-то не понятно, ImDisk откусывает от HDD или оперативки?

12.12.2018 в 09:33

03.02.2019 в 19:36

Здравствуйте. Зачем AMD Radeon RAMDisk создает образ рам диска на хдд диске, если потом он не загружается в рам диск? Какая программа может после перезагрузки восстанавливать данные на рам диске?

04.02.2019 в 11:25

Здравствуйте. AMD как раз может, там на вкладке Load/Save настройки.

04.02.2019 в 19:51

По идее да, но у меня почему не восстанавливает. Установил RAMDisk, он восстанавливает, только ограничение в 1ГБ

11.02.2019 в 04:59

Включаю комп — и вся теория просто ломается. Теория про то, что данные из оперативной памяти хранятся только пока электропитание есть.

Есть ли рациональное объяснение происходящему?

11.02.2019 в 05:21

Короче, я как предыдущий коммент написал, придумал скопировать кучу мелких файлов на несколько гигабайт на RAM-диски… о да, выключалась система несколько минут! Включался тоже комп не быстро.
Вывод? Перед выключением компа надо удалять эти долбаные рам-диски, иначе всё ненужное, все файлы то есть с ram-дисков будут сохраняться на винчестер.

Хотелось бы решение этой проблемы.

11.02.2019 в 09:26

Так просто отключить сохранение содержимого рам-диска на жесткий в программе, где создаете его, вот и все решение….

21.03.2019 в 20:22

всем привет.
поставил SoftPerfect RAM Disk и что то не пойму, как сохранять образ диска?

22.03.2019 в 09:56

25.03.2019 в 22:55

У меня две планки ддр3 4 и 8 гб, в самом конце второй планки битые ячейки есть. Из-за них видимо блюсткрины вылетают иногда. Вот думаю — можно ли как-то создать этот рам-диск, чтобы битая ячейка оказалась в нем и винда к ней не обращалась в процессе работы? Он вообще какую часть памяти использует? Начало или конец?
и еще такой вопрос — там резервируется 100 мб под видеокарту. Они откуда берутся — из начала диапазона или из конца?

26.03.2019 в 09:22

08.04.2019 в 13:49

Ок, буду тестить проги дальше. Просто StarWind RAM Disk странно работает. При перезагрузке помню обнулялись диски, а вот выключил на ночь комп, из розетки в том числе, включаю днём систему и… рам-диски на месте в смысле (галочку автомонтирования НЕ ставил, естественно). В оперативке они храниться не могли в принципе. Значит чо? Значит на диск всё это скидывалось. Придётся снова RamSoft поставить пока что ли.

Вообще найти бы решение, чтобы уходе в спящий режим рам-диски удалялись сами. А тут даже при выключении не справляется с элементарными задачами (просто очищении RAM) эти проги.

13.05.2019 в 23:24

Спасибо за обзор!

10.07.2019 в 12:03

11.07.2019 в 14:34

А этот же способ не работает для RAM-дисков? Мне первый именно он пришел в голову, но провести эксперимент сейчас не могу.

18.07.2019 в 13:58

17.09.2019 в 22:48

Вот бы еще инструкцию по созданию на этом диске нужных папок (вроде Темпа и кэша браузера)

18.09.2019 в 11:21

А такие инструкции есть: про перенос временных файлов на другой точно писал, про кэш я вроде не писал, но на других сайтах, уверен, найдется.

19.09.2019 в 12:52

Спасибо большое, нашел про Темп у Вас, а про Хром в другом месте =) Только много разной информации, говорят увеличивается время загрузки и выключения системы из-за сохранения образа. Так же видел, что можно не сохранять информацию, тот же Темп может быть очень большим по размеру (придется чистить). Но если не сохранять кэш браузера, то как будет прирост в скорости? В общем надо еще изучать и лучше потестировать =)

19.09.2019 в 12:59

Темп-то чистить можно. Что касается кэша браузера, то двояко: конечно, ресурсы он заново каждый раз загружать будет вместо того, чтобы брать из кэша, но на сегодняшних скоростях домашнего Интернета обычно прирост времени несущественен.

19.09.2019 в 14:59

Я немного запутался… Если скорость интернета такая быстрая, то зачем вообще кэш и тем более RAMdisc? Ну вот, нужно теперь изучать как этот кэш работает и ускоряет работу =)

И еще можно вопросик? Воспользовался я другой программой и у меня скорость значительно ниже показывает, от нее может зависеть или от мощности оборудования в целом?

19.09.2019 в 16:18

Может и от нее зависеть тоже, по-разному они могут реализовывать доступ к памяти)

Насчет запутались: с кэшэм в общем случае быстрее, чем без него (при условии, что жесткий диск не тормоз). Но часто это быстрее-медленнее для пользователя, посещающего десяток простых сайтов и социальных сетей оно просто незаметно, во всяком случае на домашнем интернете (на телефоне лучше с кэшем жить).

19.09.2019 в 16:38

Еще раз спасибо) Вообще я из-за покупки ССД этим стал интересоваться, для увеличения срока службы, хотя лет через 5 можно будет новый купить) Но лучше уж буду игры устанавливать, чем зря мучать его ютубом и стримами)

А еще сильнее стало видно, что надо скорее менять процессор…

14.02.2020 в 17:53

Сейчас наверное проще диск м.2 ставить у них сейчас скорость 3000 мбс и выше

16.02.2020 в 09:15

Здравствуйте! Интересует такой вопрос: Вам доводилось создавать Рам-диски в недоступной для виндовс 7 памяти? Перешел с Вин 10 на Вин 7. Вин 10 домашняя видела и могла использовать 16 гб оперативной памяти, а Вин 7 видит 16, а доступно только 8. SuperSpeed Ramdisk Plus вроде бы как может создавать рам-диски в недоступной памяти.

16.02.2020 в 14:33

Здравствуйте.
Не пробовал, так что ответа к сожалению нет.

25.11.2021 в 15:04

Прога видит то пространство RAM, что выдаёт ОС. В Вашем случае ограничение со стороны 7: Starter (х32) = 2Gb, Home (любая х64) = 8Gb, Pro (и выше х64)= 192Gb.

01.12.2020 в 08:46

Здравствуйте.
У меня 16гб памяти всего, сколько из них стоит отвести под ramdisk? Хочу кеш браузера и временные файлы в него отправлять.

01.12.2020 в 13:16

Здравствуйте.
Тут уж вам решать, смотрите по использованию памяти при ваших типичных задачах, чтобы оставшегося хватало.

29.03.2021 в 10:57

Создал RAM диск и установил в него портабельный браузер камодо другое! Кучу вкладок открыты, работает все на Ура!

07.06.2021 в 12:19

Создал ram-диск на 4 гб. Теперь у меня на накопителе лежит образ диска на 4 гб, который перезаписывается каждый раз при выключении компьютера. Я перенес на него портативные программы, в том числе браузеры, и папку Temp. Основной мотив — уменьшение износа накопителя. Какого-то ускорения работы особо не заметил.

Подскажите, правильно ли я понимаю, что каждый раз при отключении на накопитель записывается 4 гб информации? Уместно ли в таком случае говорить об уменьшении износа накопителя? Может, без ram-диска за один сеанс на накопитель записывалось бы меньше информации?

07.06.2021 в 20:31

Здравствуйте.
Понимаете правильно. И действительно в вашем сценарии цели поставленные не достигаются: количество записанной информации на накопитель будет большим, чем без RAM-диска.

21.08.2021 в 21:24

Хром при просмотре ютуб постоянно пишет много потоков на диск. Нафига? У меня неплохой сетап: R5-3600+nvme Samsung 512 EVO+ и 32ГБ ОЗУ, а при просмотре длинного списка комментариев начитает подтупливать, интернет 150мбит. Может это проделки резалки Ghostery, но страница с видео и комментариями может спокойно выжрать 1.5ГБ ОЗУ. Докатились! этот монстр спокойно может накэшировать в ОС 10 ГБ! Короче скорость такая же как на 10летней давности E5450 +8ГБ ОЗУ SATA2 SSD, но с кешем в ОЗУ.
Если пусть на рам-диск кеш Хрома, то он забивает его всего на100мб. Но диск заметно меньше минимально дергает.

22.08.2021 в 11:44

А попробуйте проверить поведение в инкогнито на тех же видео. Тот же результат? Если нет, то может оказаться что действительно какое-то расширение, не обязательно Ghostery, а что-то ещё, что работает с контентом страницы… не знаю, например, в каком-нибудь неумело сделанном цикле лопатит тысячи вложенных HTML-элементов комментов и съедает ресурсы.

06.09.2021 в 20:07

Подскажите какая будет разница в скорости чтения\записи у RAM диска-ОЗУ DDR4 на 2133 и RAM диска-озу DDR4 частотой на 3200.
в обоих случаях оперативки на 128 гб.
нигде не могу найти инфу.
Если нет разницы особой то лучше купить серверную, будет в несколько раз дешевле))

07.09.2021 в 10:17

Не могу ответить. Сейчас решил потестировать — скриншот в начале статьи как раз на 2133 сделан. Запустил тот же тест, сделав рам-диск на 2933 Мгц и странные результаты: последовательная запись-чтение быстрее на 70% (8 с лишним тысяч мб/сек, ближе к 9), а те, которые случайные 4kb — на том же уровне.
И сдаётся мне, что там не только в память будет упираться, а эти 70% больше объясняются тем что тогда был i5-7200u, а сейчас i7-10870h (хотя могу и ошибаться), но полноценно поэкспериментировать нет возможности.

25.11.2021 в 15:16

Разница будет и по скорости и по задержкам, т.е. если читать/писать в 128 гиг образ ОС из VHD — на высокой частоте будет быстрее, но задержки по обычным операциям с файлами будут тоже выше. Регистровая (сервачная) оператива не поддерживается десктопными процами, но если у Вас Зеон и куча слотов — можете попробовать…

22.01.2022 в 15:48

Этот проект начался несколько лет назад в рамках DC программы (*distributed computing – распределённые вычисления). Со временем скорость интернет-соединения выросла и основной проблемой скорости DC стала низкая скорость HDD. SSD частично решали эту проблему, но повышенный износ SSD, вызванный постоянной перезаписью заданий, отталкивал новых пользователей DC сети. Никому не хочется гробить свой недешёвый SSD ради абстрактной цели. Но ресурс и большая скорость записи/чтения с равномерной латентностью очень важны для DC вычислений, где задержка или сбой в каждом сегменте замедляет всю сеть вычислителей.

В этот момент наша команда сформировала образ будущего RAM диска на базе re-fan (*бывшей в употреблении и перепаянной) DDR памяти. Дело в том, что такая память стоит достаточно дёшево – примерно 40 центов за гигабайт для DDR3 – и хорошо доступна в больших количествах. Перепайка, выполненная с соблюдением температурных режимов, не вредит RAM чипам. Такие производители памяти как Kllisre, ZIFEI, TANBASSH, Rasalas etc. используют именно re-fan чипы. Они же установлены в большинстве бюджетных ноутбуков и планшетов Китайских производителей. Использование re-fan позволяет снизить стоимость конечного устройства до приемлемых значений без потери его характеристик или надёжности.

Вторым очевидным условием было то, чтобы будущий диск работал в системе также, как HDD или SSD диск и был бы полностью совместим с операционной системой и программными продуктами. Поэтому за основу был взят чип Silicon Motion SM2262EN. Этот чип поддерживает PCIe x4, NVME 1.3, собственную DDR память для буферизации и 8 каналов NAND/TLC памяти. Благодаря этому он может использовать всю доступную скорость PCIe x4 не теряя её.

Первая проблема таилась в том, что интерфейсы NAND и DDR памяти очень сильно отличаются и просто так подключить DDR вместо NAND не получится.

Вторая проблема была в том, что длина дорожек между DDR чипом и SM2262EN не может быть бесконечной. А чтобы набрать объём в 1 TB нам потребуется 256 чипов DDR памяти по 4GB каждый.

Напрашивалось использование FPGA в роли промежуточного звена между SM2262EN и DDR, но третья проблема состояла в том, что HMC FPGA не может адресовать такое количество чипов DDR памяти (данный диск возможен в версиях от 128 гигабайт до 2 терабайт).

Я не буду тратить ваше время на историю наших поисков, но, в итоге, мы пришли к архитектуре с четырьмя FPGA, равномерно распределёнными по плате, каждая из которых подключена к двум банкам по 32 чипа DDR и программно имитирует работу двух NAND чипов каждая.

Благодаря этому решению SM2262EN не видит трюка и работает с памятью также, как с NAND чипами. Длины дорожек между FPGA и самым дальним DDR чипом в банке находятся в рамках допустимого и их импедансы могут быть согласованы, используя резисторы и DCI (*Digitally Controlled Impedance) технологию. Большая площадь 12-и слойной платы и изобилие свободного места позволило нам сократить множество пассивных компонентов используя межслойную ёмкость и сопротивление самих проводников. Данные решения тщательно обкатывались в HyperLynx и позже подтвердили работоспособность в прототипе. Пример такой трассировки изображён на рис. ниже.


Дополнительно на плате установлены управляемые источники питания (PIMC) и система загрузки с двумя чипами памяти BIOS, содержащими битстримы и настроечную информацию. Два чипа установлены из соображений надёжности. Также диск имеет индикатор нагрузки и семисегментный индикатор, на который выводятся статусы работы диска, коды самодиагностики и ошибок. Этот маленький помощник позволит оперативно диагностировать диск и выявлять проблемы. Ниже показан проект печатной платы и изготовленные образцы:

Чертёж печатной платы диска Изготовленные платы

Тестирование диска показало скорость чтения/записи на уровне 7000/6000 МБ/с соответственно, что является пределом для PCIeX4 gen 4 и приближается к пределу скорости DDR3 памяти (см. скриншот из этого видео).


Особенно примечательны результаты тестов RND4K Q32T16 и Q1T1 – такая скорость достигается за счёт особенностей работы банка памяти DDR чипов, представляющего собой виноградную гроздь из носителей малого объёма, что позволяет работать с ними параллельно и одновременно, в отличие от одного единственного NAND чипа. Нам не известны SSD диски, способные показать сравнимую скорость в таких тестах.

Сравнение последовательного и рандомного доступа (картинка стырена с вики).

Сравнение последовательного и рандомного доступа (картинка стырена с вики).

На рисунке ниже показаны основные элементы управления DDRAM диском. Это индикатор нагрузки, дисплей и кнопка самотеста. После нажатия данной кнопки диск отключает весь обмен по PCIe и запускает тестирование всех своих элементов, включая чипы памяти. Все данные на диске будут уничтожены при этом. В течение теста индикатор показывает номер тестируемого банка памяти. Если тест пройден, индикатор покажет P = passed. В противном случае будет отображён код ошибки. Для удобства пользователя таблица расшифровки кодов ошибок нарисована на плате диска справа от индикатора. Во время работы индикатор мигает десятичной точкой с частотой 2 Гц. Это является признаком нормальной работы всех систем диска.


С обратной стороны платы диска установлены чипы DDR памяти, накрытые радиатором. Радиатор необходим, т.к. чипы установлены очень плотно и снизу дополнительно подогреваются чипами FPGA и другими элементами устройства. Радиатор не только отводит лишнее тепло, но также выравнивает нагрев различных участков платы диска, что исключает перекос характеристик DDR чипов вызванный неравномерным нагревом. Использован сухой термоинтерфейс на базе термопрокладки от 3M.


Для снижения механической нагрузки на PCIe разъём и упрощения установки диска в материнскую плату диск имеет выступ на плате, опирающийся на край разъёма. При необходимости этот выступ можно отломать, для этого предусмотрена линия разлома из просверленных в ряд отверстий. Однако, мы пока не встречали материнскую плату, где он бы мешал.

Во время ресурсных испытаний диск отработал 200 часов непрерывно под максимальной нагрузкой и чередующимися операциями чтения/записи. Никаких изменений в характеристиках диска отмечено не было. Ниже можно увидеть видео тестирования скорости:

Сейчас мы тестируем прототип RAM диска, использующего два чипа SM2262EN параллельно и работающего в слоте x8. Ожидаемо, скорость выросла вдвое.

Сразу оговорюсь, что мне не нужен ram-disk, а нужно сделать так, чтобы SSD считался системой как некая планка(и) памяти ОЗУ. Вопрос про скорость и латентность не ставится.

То есть, я определяю на SSD некий файл или весь диск, который в системе считается как слот памяти.

Виртуальная (swap) память не подходит, поскольку является "прозрачной" или невидимой для ПО.

Для примера: есть 4ГБ реального ОЗУ и 128ГБ SSD. Хотелось бы получить часть SSD как ОЗУ для ВМ и в целом для программ. При желаемой схеме я могу предоставить до максимума для процессора (64ГБ), а не максимум доступной ОЗУ (4ГБ)

Рассмотрю все варианты, кроме варианта "купи ОЗУ и не свопь мозги".

Благодарю всех за разъяснение теории работы ОЗУ и страничной организации памяти.

Речь про чисто программный способ "подделки" памяти, чтобы можно было выделять для программ больше памяти, чем есть на борту. Пример с ВМ наглядный: ни одна из ВМ не позволит выделить больше памяти, чем есть ОЗУ, даже при наличии своп-файла в 16 раз больше.


На уровне ядра системы такое можно сделать. На уровне драйвера такое возможно сделать немного "матюком", и довольно затратно по-времени. А SWAP - как раз то что нужно, и что значит не видно, параметр Total paging file/ free pagin file. SSD всёравно во первых будет работать медленнее чем ОЗУ, во вторых оно не поддерживает DMA именно в том смысле в котором его поддерживает физическая память. Поэтому - делайте своп.

Виртуальная память = физическая память + своп. Поэтому лучшее решение - разместить своп в SSD. ОС сама следит за страницами, и переписывает память из свопа в физическую (а с SSD по-другому не выйдет), т.е. ваша задача уже давно решена и называется это своп, либо вы не совсем понимаете что есть своп, или вас он чем-то кардинально не устраивает.

Итог: SSD невозможно прилинковать как оперативку, ввиду наличия последовательно интерфейса и блочного доступа (нельзя прочесть 1 байт, нужно читать или писать весь блок кратно 512 байт) что замедлит быстродействие. В итоге, работа такого эмулятора будет на 99% похожа на работу page file (swap), ввиду этого, всеравно рекомендуем вам использовать swap. Теоретически написание такого ПО возможно, но практически будет много трудностей, таких которые сводят написание такого чуда к нулю. Фактически нужно найти алгоритм своп-файла и чуть переделать (для линукса да, винда - нет).

Это принципиально невозможно на уровне железа. Поэтому в любом случае вам придется выделять на уровне ядра ОС реальную RAM и мапировать в нее адреса SSD. Т.о. получится еще одно пространство виртуальной памяти.

1 ответ 1

Вам нужно использовать page file или swap. Попробую подробно обьяснить почему.

Вначале - какая вообще бывает память.

Реально для ОЗУ существует физически два интерфейса поддерживающих оперативную память, один DDR(RAM) разьем, второй PCI (или PCI-express) как живой пример - память видеокарты. Есть и другие устаревшие интерфейсы AGP PCMMCI не могу все перечислить, но они уже впрошлом.

Если ваш девайс физически не вставляется не в первый интерфейс не во второй - то физически ваше устройство не может быть непосредственно источником оперативной памяти т.к. не существует другого протокола обмена между ЦП и устройством чем вышеприведенные. Поэтому гипотетически можно "спаять" переходник. Правда. как PCI память сделать доступной ПК - это отдельный вопрос, на который я не могу однозначно ответить.

Интерфейс SATA и IDE не поддерживают прямой обмен оперативной памятью, поэтому его устройства не могу быть источниками оперативной памяти. UPD почитав интернет, я нашел PCIe SSD диски, их нельзя использовать как оперативку потому что в PCIe-SSD-диск вшита программа SATA, а не программа оперативной памяти. Можно ли вшить другую программу что б PCIe виделась как оперативная (очень медленная) память - это под вопросом. Теоретически можно поспорить, на практике не встречал, и убить SSD перепрошивкой - не весело.

Итак физическая оперативная память доступна через контроллер памяти между PCI и DDR-RAM всё.

SATA IDE USB устройства поддерживают DMA, но DMA является неполноценным доступом в память, а доступом в память через "посредника", т.е. надо сначала выставить счётчик адреса в регистр DMA, потом сказать устройству что оно может использовать DMA, а потом устройство может использовать DMA а может не использовать - там сложный метод обмена, который аппаратно кардинально отличается от оперативного доступа в память. Т.е. DMA не является оперативным доступом в память, оно даже не знает сколько памяти на устройстве, хоть и упрощает работу.

Програмы под Windows и Linux работают как правило с виртуальной памятью, это означает что память может быть оперативной, может быть дисковой (и SSD тоже) а может не быть вообще. Память программы разделена на блоки (минимум 4096 байт бывают больше), и в оперативной памяти находятся лишь те блоки, которые программа непосредственно сейчас использует. Остальные блоки могут быть как на диске, так и вообще не быть. При попытке доступа к виртуальной памяти которая неоперативная при определенный условиях память подменяется оперативной, т.е. ОС смотрит дисковая эта память или нет. Если память дисковая - ОС ищет кусок оперативной памяти, считывает с диска в оперативную память кусок, и память снова из дисковой становиться оперативной. Если свободного оперативного куска нет - ОС может сбросить кусок малоиспользуемой (вычисляется) памяти на диск, таким образом свободный кусок ОС всегда найдет.

Такой механизм называется swap, page file, файл подкачки. Т.е. объем виртуальной памяти это объем физической оперативной памяти + объем файла подкачки.

Ваш предложенный алгоритм очень похож на алгоритм описанный выше, но с той разницей, что вы не хотите программам ничего сообщать о наличии дисковой памяти. Не думаю что это хорошо, поскольку если "ядро" ОС попадёт на диск - то всё будет ужасно тормозить. В ОС идет разграничение какие участки можно сделать дисковой памятью, а какие нельзя. Теоретически такую программу создать можно. К сожалению, вам её никто не поможет делать, а на реализацию у вас уйдут годы, и надеюсь вы понимаете что пользы от такой программы много не будет.

Для такой цели обычно используют файл подкачки.

Вопрос Речь про чисто программный способ "подделки" памяти, чтобы можно было выделять для программ больше памяти, чем есть на борту Ответ- это можно, но не так как обычно. Очень желательно выделать память именно через VirtualAlloc, потому что штатный мененджер памяти будет в ступоре, он вероятнее всего не расчитан на такой объем. Выделать надо кратно размеру страницы памяти (что б узнать размер нужно вызвать GetSystemInfo и взять параметр dwAllocationGranularity). А дальше ОС сама распределит где у вас будет оперативная память, а где дисковая. Надо понимать, что в х86 это сделать нельзя в рамках одного процесса (т.к. теоретически макс объем виртуальной памяти 4Gb, а где-то половина из них зарезервирована под ОС и библиотеки, линейный свободный кусок ещё меньше половины), для x86-программ прийдется создать более одного процесса, и на каждый процесс можно выделить где-то по 1Gb (условно). Т.е. если вы хотите взять 64Gb то надо создать 64 процесса. Память можно читать с помощью ReadProcessMemory например. Некоторые web-браузеры создают много процессов, думаю для этой цели. Так же можно использовать AWE окно (но на практике только через админские права или службу).

Для x64 можно, быть может с одной особенность. Думаю что нельзя выделить огромный обьем одним куском. Зато можно выделить 64 раза по 1Gb (или больше) и именно через VirtualAlloc . Под линуксом не скажу точно как, но думаю аналогично. Пробуйте, будут ещё вопросы - спрашивайте.

Вопрос ни одна из ВМ не позволит выделить больше памяти, чем есть ОЗУ - Ответ позволяют ещё и как. Может не все программы, но часть программ точно могут "съесть" больше чем ОЗУ.

P.S. Не забываем, что файл подкачки не обязательно должен быть файлом. Под линуксом можно выделить в партиции раздел под подкачку, и тогда определенная часть диска будет задействована под файл подкачки, и за счёт отсутствия файловой системы на этой части - работа будет быстрее.

UDP: RAM-Диск. Появились RAM-диски, на них можно записывать информацию, но информация с них теряется после выключения питания. Например Gigabyte i-RAM (GC-RAMDISK) в PCIe широкий разьём. Вероятно они хорошо подходят для файлов подкачки или темповых папок. Туда вставляется оперативка, но используется она как диск, т.е. наоборот чем в вопросе - память используется как диск.

Ещё замечу, PCIe v 1.0 можно сделать на микроконтроллере, v2.0 условно можно сделать на микроконтроллере.

О PCIe. Скорость 2.5GT/s до 10.0GT/s(8 линий) для PCIe1.0 возможна на частоте 250Мhz. Для 99% логики и микроконтроллеов это потолок (при условии что логика распаралеливает сигнал, еденицы МС потянут 250Мhz (D-триггеры есть на 350 МHz у TI)). Для реализации скоростей выше нужно использовать дорогие ПЛИС, которые к тому же нужно уметь программировать и паять. Извесных ПЛИС на которые есть документация - не более 10-20 штук (не учитывая разделение на серии), плюс ещё в документации что-то пишут о лицензии на PCIe. Поэтому самому "пощупать" PCIe 2.0+ не получится, и PCIe будет развиваться исключительно у компаний которые могут себе позволить изготавливать чипы самостоятельно, или хотя бы могут программировать ПЛИС, т.е. новинок PCIe от обычных белых людей можно не ждать, нам туда дорога пока что закрыта. Разве что какие-то отдельные энтузиасты могут освоить ПЛИС. Переходников или PCI-phy-layer микросхем для PCIE почему то до сих пор нету и наверно не будет т.к. даная область вероятно не востребована.

Владельцы ноутбуков и стационарных ПК знают о том, что увеличение объема оперативной памяти по определению подразумевает ускорение работы устройства. Однако, если в случае с ПК увеличить объем ОЗУ проще простого – достаточно вставить память в свободные слоты, то с ноутбуком все немного сложнее из-за риска потерять гарантию, если ее срок еще не истек.

Ноутбук

Как увеличить оперативную память на ноутбуке без переустановки Windows

В целом механизмы добавления оперативной памяти в ноутбук и ПК не особо отличаются друг от друга, разве только в конструкционных особенностях этих устройств. Другое дело – сам апгрейд, который будет иметь свои особенности, в зависимости от того, с каким именно девайсом доводится работать.

В каких случаях действительно нужен апгрейд памяти

Часто при длительной эксплуатации ноутбук начинает тормозить, особенно при открытии нескольких требовательных программ одновременно. Один из способов решения данной проблемы заключается в увеличении объема ОЗУ.

Но как расширить оперативную память, не влезая внутрь ноутбука, тем самым перечеркивая возможность гарантийного обслуживания? Возможно ли это вообще? Да, возможно, и ниже мы опишем, как это сделать.

Разумеется, просто так, к примеру, сразу же после покупки, увеличивать количество оперативной памяти не нужно. Делать это следует только в случае возникновения такой необходимости.

Итак, как же понять, что ноутбук действительно нуждается в апгрейде?

Рука подносит плату к слоту

Существует ряд характерных признаков, среди которых:

  • При запуске требовательных приложений или нескольких обычных одновременно ПК начинает зависать, медленно работать и т. д.
  • Проблемы начались после обновления операционной системы: устройство стало медленно справляться с выполнением своих повседневных сценариев, появились баги, самопроизвольное отключение и пр.
  • Операционная система сама сообщает о нехватке оперативной памяти.

Увеличение ОЗУ за счет жесткого диска для разных версий ОС

Для расширения RAM за счет жесткого диска был придумал файл подкачки. Он используется системой для работы приложений, если не хватает основной ОЗУ. Размер файла подкачки обычно определяется системой автоматически. Обычно он должен в 1,5-2 раза превышать объем установленной оперативной памяти. Кроме того, его можно регулировать вручную, о чем, собственно, и пойдет речь.

Windows XP

Начнем с ОС Windows XP, ведь несмотря на то, что корпорация Microsoft уже прекратила поддержку этой версии, последняя все еще имеет своих пользователей. Чаще всего она установлена на старых ноутбуках или нетбуках, которые в силу своих характеристик, не могут заполучить более продвинутую ОС.

Заставка Windows XP

Со временем даже самый внушительный объем памяти может себя исчерпать, что не самым лучшим образом отразиться на производительности устройства

Увеличить объем ОЗУ за счет жесткого диска на Windows XP можно за счет нескольких простых шагов:

Windows 7/Vista

Однако будет лучше, если пользователь станет хранить его на другом диске, ведь тогда компьютер станет работать быстрее.

Заставка Windows 7

Для этого необходимо:

Windows 10

Для Windows 10 предусматривается несколько другой алгоритм действий.

Заставка Windows 10

Менять конфигурации памяти можно на любом устройстве, другое дело, что это может грозить гарантии, если та еще не истекла

Он подразумевает выполнение следующих шагов:

Как добавить память с помощью USB-флешки

ReadyBoost – технология, позволяющая использовать флешку для расширения объема ОЗУ. Данная функция была создана в Windows vista совместно со службой Superfetch. При использовании функции на флешке создается кэш, позволяющий ускорить передачу данных между жестким диском и RAM.

Флеш-накопители возле ПК

Некоторые моменты, которые требуют учета, касаясь переносимых устройств, подключаемых для использования ReadyBoost:

  • пропускная способность 2,5 Мб/сек;
  • общий объем устройств до 256 ГБ в целом;
  • объем флешки должен втрое превышать объем ОЗУ на ноутбуке;
  • максимальный объем кэша составляет 32 ГБ. Дабы задать размер кэша более 4 ГБ, флешка должна быть отформатирована в NTFS или exFAT.

Как воспользоваться ReadyBoost:

Можно ли менять конфигурации оперативки без потери гарантии и в каких случаях

Но следует помнить, что прибегать к таким приемам своими силами в большинстве случаев подразумевает лишение права на гарантийное обслуживание. Чтобы этого не произошло, для установки дополнительных плат ОЗУ следует обращаться в официальный сервисный центр.

Устройство ноутбука

Чтобы расширить объем памяти на ноутбуке, не потеряв при этом гарантию, необходимо обращаться в сервисный центр

Поэтому имеет смысл заранее изучать свои гарантийные обязательства еще до того, как совершать какие-либо действия, подразумевающие любые радикальные вмешательства в конструкцию и аппаратную составляющую используемого ПК.

Читайте также: