LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

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

Если у тебя стоит дешёвый SSD без внутреннего кэша, то куча рандомных запросов на запись по несколько килобайт будет писаться очень медленно.

Если кратко, SSD - это по сути флеш память.

У неё есть ресурс циклов перезаписи. Поэтому контроллер делает выравнивание износа ячеек. Это первое.

Второе, при записи в память контроллер оперирует блоками в несколько мегабайт. Условно, допустим 4 Мб. Когда ты записываешь на SSD диск 4 Кб данных, контроллер делает следующее:

  • Считывает блок размером в 4 Мб, в котором находится сектор, в который ты хочешь записать данные;
  • Заменяет в памяти в 4Мб нужный фрагмент данных;
  • Определяет свободный блок в 4Мб с наименьшим износом;
  • Записывает в него 4 Мб;
  • Изменяет схему сопоставления флеш памяти и номеров секторов.

В случае наличия внутреннего кэша контроллер в начале упорядочивает поступившие на запись данные, чтобы он мог записать их во флеш память за раз, порциями по 4Мб в наименее изношенные области памяти.

Не покупай дешёвых SSD, покупай серверные, у них и очередь записи нормальная и нормальная работа контроллера с указанной в 7 абзаце схемой.

А у тебя слишком дешёвый, не подходящий для твоих нужд.

Исходная версия kostik87, :

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

Если у тебя стоит дешёвый SSD без внутреннего кэша, то куча рандомных запросов на запись по несколько килобайт будет писаться очень бедленно.

Если кратко, SSD - это по сути флеш память.

У неё есть ресурс циклов перезаписи. Поэтому контроллер делает выравнивание износа ячеек. Это первое.

Второе, при записи в память контроллер оперирует блоками в несколько мегабайт. Условно, допустим 4 Мб. Когда ты записываешь на SSD диск 4 Кб данных, контроллер делает следующее:

  • Считывает блок размером в 4 Мб, в котором находится сектор, в который ты хочешь записать данные;
  • Заменяет в памяти в 4Мб нужный фрагмент данных;
  • Определяет свободный блок в 4Мб с наименьшим износом;
  • Записывает в него 4 Мб;
  • Изменяет схему сопоставления флеш памяти и номеров секторов.

В случае наличия внутреннего кэша контроллер в начале упорядочивает поступившие на запись данные, чтобы он мог записать их во флеш память за раз, порциями по 4Мб в наименее изношенные области памяти.

Не покупай дешёвых SSD, покупай серверные, у них и очередь записи нормальная и нормальная работа контроллера с указанной в 7 абзаце схемой.

А у тебя слишком дешёвый, не подходящий для твоих нужд.