Форум 3DNews

Форум 3DNews (http://forum.3dnews.ru/index.php)
-   Носители информации (http://forum.3dnews.ru/forumdisplay.php?f=16)
-   -   Работа SSD с контроллером без поддержки AHCI (http://forum.3dnews.ru/showthread.php?t=130515)

t0p_VD 28.10.2013 16:49

Работа SSD с контроллером без поддержки AHCI
 
Добрый день, друзья.

Имеется старая мать с южным мостом ICH5. Есть желание водрузить на нее SSD диск.
Однако возникает резонный вопрос относительно работы команды TRIM. Контроллер на матери старый, поддерживает лишь САТА1. Понятное дело, никаких тримов он не знает (наверное!?).
В интернете много чего написано о работе SSD на старом железе в старых операционках в том числе (WinXP в частности). Рассказывается о том, как можно было бы пользовать аналоги команды TRIM в том числе и для IDE Mode. Это и всякие wiper'ы, и дефрагментаторы типа O&O defrag.
Собственно, как это все работает, если SATA контроллер не пропускает команду от ОС к контроллеру диска? Это один вопрос.

Второй вопрос: не сталкивался ли кто-либо с работой данного типа накопителей с близкими к моим условиям?
Я наткнулся на один тест, который у меня вызвал сомнение: http://club.dns-shop.ru/forum/?action=thread&id=30480
То, что скорости несколько отличаются не в ту сторону - это ладно, может, конечно, регулярный TRIM так и снижает производительность
Не ясно главное - на сколько занято свободное пространство диска, т.е. имеются ли свободные блоки, при наличие которых и без TRIM все будет работать хорошо.
Собственно, интересует вот что: на сколько будет иметь место падение производительности при исчерпании свободных блоков в случае отсутствия применения команды TRIM.

Smirnoff 28.10.2013 20:30

Цитата:

Сообщение от t0p_VD (Сообщение 2297476)
имеются ли свободные блоки, при наличие которых и без TRIM все будет работать хорошо.

Погугли по термину "over-provisioning"; помогает при наличии отсутствия команды TRIM...

t0p_VD 29.10.2013 16:57

Smirnoff
Цитата:

Погугли по термину "over-provisioning"
Спасибо, Олег. Не ясным остается вот что: на сколько интенсивно OP помогает сборке мусора. В некоторых (1, 2) статьях показывается влияние объема резервной области на эффективность текущей работы, однако не показывается, как будет проходить сборка мусора после того, как раздел будет полностью занят, и как интенсивно будет восстанавливаться скорость диска - не ясно. На thg лишь сказали, что через некоторое время простоя скорость частично восстановилась. А будет ли она восстановлена до исходных значений, или нет (а если нет, то до скольки будет), через сколько - не ясно.

У тебя же, к слову, тоже SSD в конфиге записан. На нем, по идее, 9% под OP должно быть выделено (хотя, может и ошибаюсь). Нет желания провести опыт? ;)

Smirnoff 29.10.2013 20:50

Цитата:

Сообщение от t0p_VD (Сообщение 2297839)
На нем, по идее, 9% под OP должно быть выделено (хотя, может и ошибаюсь). Нет желания провести опыт?

Дык а мне-то зачем? У мну Win7, которая в курсе наличия команды TRIM... :)

Цитата:

Сообщение от t0p_VD (Сообщение 2297839)
как будет проходить сборка мусора после того, как раздел будет полностью занят, и как интенсивно будет восстанавливаться скорость диска - не ясно.

Так, уже "на пальцах": Для того, чтобы что-то записать во флеш-память, она должна быть сначала к этому подготовлена; подготовка может быть осуществлена только большими кусками (ориентировочно: запись возможна блоками по 4k, стирание - блоками по 512k), где эти "куски" взять?
Т.н. алгоритм GC (Garbage Collection) постоянно занят этой проблемой: как бы это всё, что нужно "стереть" собрать бы в одно место да и угрохать...
Постепенно оно и собирается - когда контроллер SSD получает команду что-то записать туда, где уже хранятся какие-то данные.
Есть способ сильно помочь GC: нужно помечать блоки, которые ОС уже не нужны - тогда они не будут дожидаться "перезаписи" а сразу попадут в "мусор" (как с этим "мусором" распорядиться - это уже проблемы алгоритма GC).
А что с ОС, которые команду TRIM вообще не знают? А вот тут у нас как раз и есть "over-provisioning": если значительная часть SSD "зарезервирована", то этот объём SSD всегда и обязательно должен быть "чистым и готовым к записи".
Пример: из общего объёма 60 гб 10 отдано под over-provisioning, что это значит? А значит это то, что эти 10 гб в любой момент готовы принять новые данные (совершенно независимо от того, может ли ОC выдавать команду TRIM). Пока вот эти 10 гб будут чем-то перезаписываться (и эти блоки "уйдут" в пул адресуемых ОС), те блоки данных, которые стали "неактуальными" ввиду перезаписи попадут в пул over-provisioning и станут в очередь на обработку GC.
P.S. У клиентов уже год под WinXP работают SSD на 40 гигов, под over-provisioning отдано 10 гигов; никаких проблем с производительностью на наблюдается.
P.P.S. Ещё одним клиентам на прошлой неделе поставил WinXP на SSD 60 гигов (20 - под over-provisioning), тоже никаких проблем не жду; в таком вот аспекте... :cool:

t0p_VD 29.10.2013 22:05

Smirnoff
Цитата:

Дык а мне-то зачем? У мну Win7, которая в курсе наличия команды TRIM...
Увидеть количественную сторону дел. Если в этом, конечно, есть интерес.
Цитата:

Сообщение от Smirnoff (Сообщение 2297915)
А что с ОС, которые команду TRIM вообще не знают? А вот тут у нас как раз и есть "over-provisioning": если значительная часть SSD "зарезервирована", то этот объём SSD всегда и обязательно должен быть "чистым и готовым к записи".
Пример: из общего объёма 60 гб 10 отдано под over-provisioning, что это значит? А значит это то, что эти 10 гб в любой момент готовы принять новые данные (совершенно независимо от того, может ли ОC выдавать команду TRIM). Пока вот эти 10 гб будут чем-то перезаписываться (и эти блоки "уйдут" в пул адресуемых ОС), те блоки данных, которые стали "неактуальными" ввиду перезаписи попадут в пул over-provisioning и станут в очередь на обработку GC.

Это хорошо и логично. Вопрос, однако, как раз в том, как этот самый сборщик мусора будет в дальнейшем распоряжаться данными? Какой объем диска сборщик мусора будет чистить? Ведь область OP - на сколько я понимаю, никак не обозначена для диска, как спец. область, а просто обрезана командой HPA, или аналогичным образом. Даже если и область эту на фабрике не сделали, то создавая раздел меньшего размера, чем имеется на диске, мы также получим некий аналог OP. О таком способе, на сколько я понимаю, ты и говорил.
Так вот и вопрос: как контроллер диска догадается, что именно такой объем выделен под OP, и будет числить только его? Или сборщик мусора будет чистить весь диск? В этом направлении как-то нарушается логика. Или я что-то не понял...
Цитата:

P.S. У клиентов уже год под WinXP работают SSD на 40 гигов, под over-provisioning отдано 10 гигов; никаких проблем с производительностью на наблюдается.
Это показатель. Хотя бы субъективный. А эти клиенты случайно не пользуются тестами диска? Или ты с ними контакта не имеешь? Просто покупатели обычные...

Олег, скажи пожалуйста, ты диски SSD своим клиентам ставишь просто при покупке компа, и они просто очень сильно желают XP юзать, или в рамках апгрейда старых компов? Меня, собственно, последнее интересует. На сколько заметна разница при установке SSD на старый компьютер, особенно с небольшим объемом памяти, в направлении ускорения работы подкачки. Сам пробовал такие варианты?

garniv 29.10.2013 22:24

Цитата:

Сообщение от t0p_VD (Сообщение 2297962)
На сколько заметна разница при установке SSD на старый компьютер

http://www.youtube.com/watch?v=rsOL8iebGoI&hd=1

Smirnoff 30.10.2013 07:04

Цитата:

Сообщение от t0p_VD (Сообщение 2297962)
ты диски SSD своим клиентам ставишь просто при покупке компа, и они просто очень сильно желают XP юзать, или в рамках апгрейда старых компов?

Не угадал... ;)
Эти компы с SSD и WinXP - компы с кассовыми аппаратами в аптеках клиента. WinXP потому, что - лицензия, балин; а SSD потому, что ногами частенько пинают - вот и все секреты.
Цитата:

Сообщение от t0p_VD (Сообщение 2297962)
эти клиенты случайно не пользуются тестами диска?

Они - не пользуются, а я раз в месяц проверяю (надо же з/п отрабатывать :rolleyes:).

Цитата:

Сообщение от t0p_VD (Сообщение 2297962)
как контроллер диска догадается, что именно такой объем выделен под OP

Достаточно просто: объём OP изначально пребывает в "пустом" т.е. годном к записи состоянии. Причём, писать туда что-то ОС не может, так как не видит этого объёма.
Транслятор SSD, наоборот, в любом случае видит весь наличный объём флеш-памяти.
Так что, учитывая очень сложную работу транслятора по т.н. "выравниванию износа" и не более простую работу алгоритма GC, - это уже вовсе не сложно... :)


Текущее время: 12:52. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot