Yosic:Подсказка, речь там шла о файловой системе, о которой диск ничего не знает
Yosic:Стираться страница будет только при необходимости туда что-то записать. До этого никто не будет ничего там стирать просто так.
офлайн
Неизвестный кот
Senior Member
|
|
4889 |
13 лет на сайте Город:
|
Yosic:Подсказка, речь там шла о файловой системе, о которой диск ничего не знает
Yosic:Стираться страница будет только при необходимости туда что-то записать. До этого никто не будет ничего там стирать просто так.
NY152:Yosic:Подсказка, речь там шла о файловой системе, о которой диск ничего не знает
Yosic:Стираться страница будет только при необходимости туда что-то записать. До этого никто не будет ничего там стирать просто так.
Прочитайте все, а не кусочками и станет ясно.
StepCool:ну так может скажете, что же это за область?
Ну я не знаю уже как вам по другому объяснить. Это часть все той же флэш памяти, просто работает она в другом режиме.
офлайн
Неизвестный кот
Senior Member
|
|
4889 |
13 лет на сайте Город:
|
Yosic:Прочитайте все, а не кусочками и станет ясно.
да тут как ни читай...
я вам говорю что контроллер на физическом уровне, после получения команды трим, запускает уборку мусора, и физически удаляет старую информацию из нанд, дабы ускорить в последующем запись. Вы мне говорите что ничерта там не удаляется, все лежит пока повторно запись в блок не пойдет, а считать файл с ссд после уборки нельзя потому что он так фрагментирован, что хрен его соберешь... и тут внезапно выясняется что разговор за файловую систему, что к чему? или какая страница будет стираться только при необходимости туда что-то записать?
офлайн
Неизвестный кот
Senior Member
|
|
4889 |
13 лет на сайте Город:
|
Wolfheart:
ну? и?
вот этот момент происходит в фоне, а не в процессе записи новой инфы, и тут показано в рамках одного блока, в реальности при сборке мусора он скорее всего перезапишет DOCX в другой блок, а этот просто зачистит.
так в чем проблема?
NY152:ну? и?
Что ну и? трим не запускает сборку мусора, а лишь помечает ячейки как "ненужные". Потом, при простое системы хранения, при сборке мусора эти ячейки будут стерты, но не ранее того.
NY152:в реальности при сборке мусора он скорее всего перезапишет DOCX в другой блок
Чушь, контроллеру ничего не известно о том, какие ячейки какому файлу принадлежат, ничего он не дефрагментирует на файловом уровне, в отличие от. Он просто освобождает как можно больше страниц, обеспечивая повышение скорости записи, и при этом еще и работая по алгоритмам равномерной нагрузки на ячейки памяти.
Wolfheart:
все так, как говорит NY152,
Wolfheart:NY152:ну? и?
Что ну и? трим не запускает сборку мусора, а лишь помечает ячейки как "ненужные". Потом, при простое системы хранения, при сборке мусора эти ячейки будут стерты, но не ранее того.
объясните это йожику
офлайн
Неизвестный кот
Senior Member
|
|
4889 |
13 лет на сайте Город:
|
Wolfheart:Что ну и? трим не запускает сборку мусора, а лишь помечает ячейки как "ненужные". Потом, при простое системы хранения, при сборке мусора эти ячейки будут стерты, но не ранее того.
тебе не кажется что ты сейчас то же самое говоришь, только как представляется мне, именно трим инициализирует уборку, сразу после получения команды, а не через пять часов, или завтра... Но возможно на разных контроллерах могут быть нюансы
Wolfheart:Чушь, контроллеру ничего не известно о том, какие ячейки какому файлу принадлежат
а ему и не надо знать, при чем здесь файловая система? он пометит что этому массиву lba теперь соответствуют новые блоки/страницы
Yosic:Ну я не знаю уже как вам по другому объяснить. Это часть все той же флэш памяти, просто работает она в другом режиме.
ляпнули чушь, теперь выкручивайтесь
Wolfheart:при сборке мусора эти ячейки будут стерты, но не ранее того.
Yosic:Стираться страница будет только при необходимости туда что-то записать. До этого никто не будет ничего там стирать просто так.
офлайн
Неизвестный кот
Senior Member
|
|
4889 |
13 лет на сайте Город:
|
Wolfheart:Блин, я же даже картинку повесил, там же вроде все нарисовано...
так чему она противоречит?
вот у нас остались блоки, которые
Wolfheart:Потом, при простое системы хранения, при сборке мусора эти ячейки будут стерты, но не ранее того.
ты говоришь что уборка начнется когда то позже, завтра или через час, не знаю. Я думаю что она стартанет после получения трим, как только диск оставят в покое, дабы иметь максимальное число свободных страниц/блоков, что бы, чуть что, сразу с ноги писать на полной скорости. И вполне вероятно что на разных контроллерах, может быть один или второй вариант.
StepCool:ляпнули чушь, теперь выкручивайтесь
Вот, что пишет производитель SSD
Для вас приведу цитату оттуда
ATP addresses this problem by reserving a portion of the drive that acts like SLC. This portion is called “SLC cache.” It is not the same as “SLC NAND” but behaves like it by storing only one bit of data to enhance the SSD’s read/write performance.
Так, кто тут чушь ляпнул и выкручивается?
NY152:да тут как ни читай...
я вам говорю что контроллер на физическом уровне, после получения команды трим, запускает уборку мусора, и физически удаляет старую информацию из нанд, дабы ускорить в последующем запись. Вы мне говорите что ничерта там не удаляется, все лежит пока повторно запись в блок не пойдет, а считать файл с ссд после уборки нельзя потому что он так фрагментирован, что хрен его соберешь... и тут внезапно выясняется что разговор за файловую систему, что к чему? или какая страница будет стираться только при необходимости туда что-то записать?
Да уж. чем и как вы читаете я не понимаю.
Как вам выше написал, сразу при trim - ничего не удаляется. Это делается асинхронно, когда есть на это свободное время.
Когда я говорю, что ничего не удаляется, а лежит до поры до времени, я это и имею ввиду. Когда блок перестает содержать полезную информацию, по мнению контроллера, будь то по причине того, что логический сектор в нем хотели поменять и весь блок был перезаписан в новый, свободный блок, или еще по чему-то, то контроллер не стирает в нем данные сразу, а просто помечает его как свободный, но не стертый и все. Потом, в простое, он может проводить процедуру очистки таких блоков. А если простоя нет и нету свободных блоков, то будет стирать перед записью.
Что касается файловой системы, то упомянул я ее как раз для того, чтобы подчеркнуть, что SSD не может делать никакой дефрагментации как на HDD просто в силу того, что это перемещение секторов разбросанных по диску, в одно место. Делает это тоже не HDD, а операционная система. Сам HDD тоже ничего не знает про файловую систему, но для HDD - это имеет смысл потому, что в нем есть четко установленная зависимость между номером логического сектора и его физическим положением, в SSD - этого нету. В современных HDD, кстати, с черепичной записью, уже такая связь становиться условной потому что там, как и в SSD, появляются блоки данных которые нужно записывать целиком, а не по сектору, и там тоже есть своя таблица трансляции, пусть и не такая как в SSD.
Так, кто тут чушь ляпнул и выкручивается?
ок, будем считать, что у вас трудности с донесением своих мыслей
Yosic:Как вам выше написал, сразу при trim - ничего не удаляется. Это делается асинхронно, когда есть на это свободное время.
Когда я говорю, что ничего не удаляется, а лежит до поры до времени, я это и имею ввиду. Когда блок перестает содержать полезную информацию, по мнению контроллера, будь то по причине того, что логический сектор в нем хотели поменять и весь блок был перезаписан в новый, свободный блок, или еще по чему-то, то контроллер не стирает в нем данные сразу, а просто помечает его как свободный, но не стертый и все. Потом, в простое, он может проводить процедуру очистки таких блоков.
Стираться страница будет только при необходимости туда что-то записать. До этого никто не будет ничего там стирать просто так.
так в простое, или при необходимости?
StepCool:ок, будем считать, что у вас трудности с донесением своих мыслей
Вы считайте как хотите, я больше склонен считать, что у вас проблемы с пониманием.
StepCool:так в простое, или при необходимости?
Вы из контекста не вырывайте. Там речь вообще шла несколько о другом. О работе с блоками, где есть полезная информация.
NY152:ты говоришь что уборка начнется когда то позже, завтра или через час, не знаю. Я думаю что она стартанет после получения трим
У вас есть Plextor с записями NAND. Запишите данные. Удалите половину. Контроллер обязан* до собрать свободные блоки. Вы увидите новые записи NAND.
* Почему-то мне с трудом верится, что контроллер немедленно начнет разряжать ячейки. Если вы удалите 1 ТБ информации с твердотельного накопителя объемом 2 ТБ, дадите команду TRIM, после чего твердотельный накопитель сядет и разрядит весь 1 ТБ. И сразу после разрядки только 1 ТБ начнет собирать блоки.
UPD
В любом случае, будут блоки, в которых половину ячеек нужно разрядить, а половину нужно сохранить. Получается, что контроллеру придется либо пропускать нецелые блоки для удаления, либо перемещать часть блоков в новое место прямо на лету, либо соединять половинки блоков прямо на лету и записывать в новое место.
офлайн
Неизвестный кот
Senior Member
|
|
4889 |
13 лет на сайте Город:
|
1515650:Удалите половину. Контроллер обязан* до собрать свободные блоки. Вы увидите новые записи NAND.
это чет какой то костыль
сверху ссылочку кидали на статью, там есть раздел с проверкой действительно ли работает трим, если считать метод адекватным, то...
если запустить сразу же, секунд через десять
через минуту
и по тексту
NY152:сверху ссылочку кидали на статью, там есть раздел с проверкой действительно ли работает трим, если считать метод адекватным, то...
если запустить сразу же, секунд через десять
Я запустил мгновенно.
Как теперь понять*, что именно TRIM разрядил ячейки, а не однобитная запись, уплотнилась до мультибитной в новом месте.
Возможно, я немного не понимаю написанное при первом запуске теста, но как вы можете узнать, в каком блоке LBA произошла запись.
Информация была записана в однобитовом режиме, прошло время, контроллер уплотнил запись до мультибитной в новом месте.
Эту программу нельзя проверить, она автоматически отправляет команду TRIM.
Для тестирования этой программы требуется твердотельный накопитель с мультибитными ячейками, который выполняет первоначальную запись в однобитной режиме и неподдерживаемую команду TRIM.
*Пустые ячейки по-прежнему свидетельствуют о том, что контроллер разрядил ячейки. Но неясно, были ли они сброшены командой TRIM, или контроллер удалил запись в однобитном режиме и переместил данные в новое место.
офлайн
Неизвестный кот
Senior Member
|
|
4889 |
13 лет на сайте Город:
|
1515650:Как теперь понять
не знаю, но могу предположить, если мы считаем, что сами по себе данные никуда не исчезают, до момента запуска уборки мусора, то что было записано в однобитовом формате, должно лежать на месте, пока уборщик не пройдется. Раз там ничего нет, видимо он отработал, что было триггером, команда трим, или какие то внутренние дела контроллера...
Mih-Mih:Ух! какой зачОтный срачик!!!
Подкину еще
а какой ПРАКТИЧЕСКИЙ смысл всех этих высоконаучных изыскний? влиять на логику работы контроллера пользователь не может. Он может только выбирать накопитель по неким тестам. Причем работа накопителя в реальной жизни имеет не слишком много общего с тестами.