Войти

Показать полную графическую версию : Оптимально ли используется пространство SSD


vombat2
03-12-2019, 08:13
Привет всем! Windows 8.1, SSD GoodRam IRDM, 120 гб, не самый дорогой, не самый лучший контроллер, но.. Везде уже довно написано, что в SSD и флешках реализовано т.н. выравнивание, т.е. оптимальное использование ячеек памяти. По факту я вижу в окне дефрагментаора (Defraggler), что вновь копируемый файл, либо он же удаленный и заново копируемый или удаленный и копируемый другой файл снова располагается в том же назовем так "пространстве" ужатом к началу т.ск. "диска". Ну т.е. в те или ни те ячейки заново копируется я точно сказать не могу, но как бы наверное, если бы файл писался в другие - полагаю было бы как минимум чуть более чем софсем не заметно в окне дефрагментатора. Такая же ситуация (динамическим) файлом подкачки, расположенном на SSD - когда он увеличивается, вслед за этим уменьшается и потом снова увеличивается все в том же месте, используя, я так понимаю, все те же ячейки. Проверял все сначала в NTFS, потом в EXFAT, ситуация не изменилась. TRIM, AHCI, intel Rpid, драйвера "все включено", и работает.

Jula0071
03-12-2019, 11:53
Defragger видит (и показывает вам) LBA, расположение которых в случае HDD действительно примерно соответствуют (если не было ремаппингов сбойных секторов) физическому расположению секторов на диске, но в случае SSD всё гораздо сложнее – группы LBA мапятся на физические страницы ячеек, а где они находятся – системе (и пользователю) недоступно, да и не нужно. Каждый запрос хоста к LBA транслируется контроллером диска на физическую страницу, карта этих маппингов хранится в RAM и резервируется в NVRAM диска (не хоста!). Короче, карта LBA, которую вы видите, и близко не соответствует физическому расположению данных. Оптимизировать там нечего, да и попросту невозможно.

Если хочется подробностей, нашёл хорошую статью где очень подробно рассказано, как это всё работает Coding for SSDs – Part 3: Pages, Blocks, and the Flash Translation Layer (http://codecapsule.com/2014/02/12/coding-for-ssds-part-3-pages-blocks-and-the-flash-translation-layer/). Вас наиболее заинтересует параграф 4. Flash Translation Layer (FTL)

vombat2
03-12-2019, 14:48
Короче, карта LBA, которую вы видите, и близко не соответствует физическому расположению данных. Оптимизировать там нечего, да и попросту невозможно. »
Отлично, если это действительно так, то это именно то что я хотел выяснить! Попутно может посоветуете какой-нибудь хороший аналог виндового риди-буста для кэшированя фс на ssd? Беглый поиск дал нечто как Primo-cache и SanDisk ExpressCache, надо псм. Была раньше неплохая прожка eboostr очень удобная и стабильная, там можно было задать файл кэша с динамическим размером, что-то бы вот такое..

Jula0071
03-12-2019, 15:10
Попутно может посоветуете какой-нибудь хороший аналог виндового риди-буста для кэшированя фс на ssd? »
Не подскажу. Да особого и смысла в этом сейчас нет, SSD подешевели сильно и продолжают дешеветь. К примеру, брал я Samsung 860 QVO на 2TB (знаю, что не суперскоростной, но и дешёвый) за 250.49 € в марте с.г., а сегодня он уже 237.49 в том же магазине. И появились новые модели ещё дешевле, например Patriot P200 на те же 2TB – 206 евро. И это двухтерабайтные модели, терабайтники дешевле почти вдвое, полутерабайтники – вчетверо. У ж какой ни будь ты нищеброд, но 50-60 евро на системный диск наскрести не проблема, имхо.

Grabber2006
03-12-2019, 18:28
Для кеширования HDD в современных системах используется Intel Optane. Но, как верно заметил Jula0071, проще купить SSD вместо винчестера.




© OSzone.net 2001-2012