Alhlm:ему важно лишь свободное место в логических банках
как он определяет что свободно а что - нет? он что, разбирается в содержимом? и сколько файловых систем и какие именно поддерживают ваши диски?
96_JkO:как он определяет что свободно а что - нет? он что, разбирается в содержимом? и сколько файловых систем и какие именно поддерживают ваши диски?
его интересует лишь состояние ячеек: есть инфа или её нет
Alhlm:есть инфа или её нет
и что это за состояние такое, третье? 0 или 1 - данные, третье - нет данных?
Ячейка хранит один бит информации: 1 или 0
На простейшем уровне ячейка флэшпамяти представляет собой n-канальный MOSFET-транзистор с так называемым плавающим затвором. Напомним, что обычный n-канальный MOSFET-транзистор (структура n-p-n) может находиться в двух состояниях: открытом и запертом (закрытом). Управляя напряжением между стоком и затвором, можно создавать канал проводимости электронов (n-канал) между истоком и стоком (рис. 1). Напряжение, при котором возникает канал проводимости, называется пороговым. Наличие канала проводимости соответствует открытому состоянию транзистора, а отсутствие (когда транзистор не способен проводить ток от истока к стоку) — запертому.
Рис. 1. Устройство MOSFET-транзистора (открытое и закрытое состояние)
В открытом состоянии напряжение между стоком и истоком близко к нулю, а в закрытом может достигать высокого значения. Конечно, сам по себе транзистор не способен сохранять информацию. Собственно, для хранения информации как раз предназначен плавающий затвор (рис. 2). Он выполнен из поликристаллического кремния и полностью окружен слоем диэлектрика, что обеспечивает ему полное отсутствие электрического контакта с элементами транзистора. Плавающий затвор расположен между управляющим затвором и подложкой из p-n-переходов. Такой затвор способен сохранять помещенный на него заряд (отрицательный) в течение неограниченного времени (до 10 лет). Наличие или отсутствие избыточного отрицательного заряда (электронов) на плавающем затворе может трактоваться как логические единица и ноль.
Alhlm:Ячейка хранит один бит информации: 1 или 0
как тогда ячейка понимает - свободна она или занята?
Alhlm:его интересует лишь состояние ячеек: есть инфа или её нет
Alhlm, вам ещё не кажется, что вы наградили SSD диск какими-то совсем уж невероятными свойствами?
96_JkO:как тогда ячейка понимает - свободна она или занята?
Контроллер записывает в отдельной области куда и сколько было записей, чтобы равномерно изнашивать ячейки. Запись идет не последовательно, чтобы не было постоянного износа начала диска. Данные в режиме ожидания контроллер перераспределяет на основе таблицы износа.
96_JkO:Alhlm, вам ещё не кажется, что вы наградили SSD диск какими-то совсем уж невероятными свойствами?
Какими именно невероятными свойствами?
Daimos:Какими именно невероятными свойствами?
всё было нормально, пока речь шла о "резервной области", размер которой можно регулировать с помощью фирменных утилит контроллера. всё, что не относится к "резервной области", контроллер отдаёт компьютеру. отсюда накопители с одинаковым количеством памяти на борту из-за разных настроек "резервной области" предстают перед компьютером накопителями с разным объёмом.
но когда стали утверждать, что в качестве "резервной области" контроллер использует неразмеченные операционной системой области данных, у меня возник закономерный вопрос: а как контроллер SSD определяет - размеченная ли эта область или не размеченная? или я что-то пропустил, и при разбиение диска на партишены происходит его побайтная инициализация?
Daimos:Контроллер записывает в отдельной области куда и сколько было записей, чтобы равномерно изнашивать ячейки. Запись идет не последовательно, чтобы не было постоянного износа начала диска. Данные в режиме ожидания контроллер перераспределяет на основе таблицы износа
как раз это сомнения и не вызывает
96_JkO:но когда стали утверждать, что в качестве "резервной области" контроллер использует неразмеченные операционной системой области данных, у меня возник закономерный вопрос: а как контроллер SSD определяет - размеченная ли эта область или не размеченная? или я что-то пропустил, и при разбиение диска на партишены происходит его побайтная инициализация?
Контроллер вообще не знает как диск разбит на разделы - контроллер использует все пространство в любом случае.
Слишком много разных версий файловых систем, чтобы контроллер мог про них все знать - да и бессмысленно это.
Daimos:контроллер использует все пространство в любом случае
именно
дополнительное свободное пространство позволяет сделать износ более равномерным.
Если накопитель занят под 100%, то вероятно будет повышенный износ резервной области.
Чем меньше постоянных данных, тем равномернее износ между "свободными" ячйками
Alhlm, опять 25. Для контроллера всё видимое компьютером пространство является занятым. Не понимаете?
96_JkO:Alhlm, опять 25. Для контроллера всё видимое компьютером пространство является занятым. Не понимаете?
Это Вы заблуждаетесь, и сбиваете других с пути истинного....
Windows, начиная с Vista, и другие современные OS, сообщают контроллеру SSD по командам Interface (ATAPI) контроллеру SSD адреса освобождаемой памяти.
В этом и состоит суть TRIM...
Поднимаем производительность SSD c колен, куда нажимать и зачем
&
ОПАСНОСТИ ТЕХНОЛОГИИ TRIM
Tau_0, trim к спору отношения не имеет.
Флэш память устроена так, что в неё невозможно записать 1, только 0. Поэтому перед записью реальных данных сектора стирают, то есть заносят во все биты сектора 1. Стирание сектора одна из самых продолжительных процедур, поэтому придумали делать её заранее и фоном. Этим и занимается trim
96_JkO:Для контроллера всё видимое компьютером пространство является занятым
это не так, в противном случае выравнивание износа происходило бы только в резервной области и не было никакого смысла оставлять 10-20% пустым
96_JkO:Флэш память устроена так, что в неё невозможно записать 1, только 0.
Да любая память так устроена, любая.
Со времён сотворения, когда машины были большими (по физическим размерам) и из них, как клопы из перины сыпались пачками большие и откормленные биты, что жили на магнитных сердечниках и ферритовых кольцах для оперативной памяти... .
В память, как оперативную так и внешнюю нельзя было записать или прочитать только один бит. И работа шла только с ячейками. Затем IBM ввела понятие байта,как минимальной адресуемой и выбираемой и единицы памяти. И пошло оно и поехало. Биты поселили на двухмерные матрицы...
А в наша время с харда можно вытрясти тольно один сектор, а с флеш памяти ячейку/блок. Порой их тоже называют секторами, что не есть гуд. И только после выборки ячейки можно подобраться к байтам к битам... И никак по другому не бывает.
Tau_0:96_JkO:
Флэш память устроена так, что в неё невозможно записать 1, только 0.Да любая память так устроена, любая.
Со времён сотворения,
... ну были еще 3 позиционные... это история.... И пару лет назад была инфа что РФ хочет возобновить технологию...
96_JkO:пишутся любые значения после любых значений. а в флэш после 0 записать 1 нельзя, только через стирание всего сектора
не суть. По факту контроллер знает есть ли инфа в ячейке или нет
Alhlm:96_JkO:пишутся любые значения после любых значений. а в флэш после 0 записать 1 нельзя, только через стирание всего сектора
не суть. По факту контроллер знает есть ли инфа в ячейке или нет
для той области данных, которая принадлежит ему, - знает
Alhlm:что мешает ему знать о всех ячейках?
Daimos:Контроллер вообще не знает как диск разбит на разделы - контроллер использует все пространство в любом случае.
Слишком много разных версий файловых систем, чтобы контроллер мог про них все знать - да и бессмысленно это.