Взагалі кажучи, в прямій відповіді на ваше запитання я не знаю жодних основних марок накопичувачів SATA, які б у самому диску були помилками щодо правильної роботи з увімкненим кешуванням записів. Тобто, лише з точки зору диска, привід робить те, що повинен робити з точки зору кешування. Я хотів би також відзначити , що навіть якщо кешування запису буде включена, що затримка з диска записи на кабель SATA до обертовим ЗМІ фізично оновлюваних досі дуже мало (~ 50 до 100 мс типово). Це не так, як брудні дані кешу будуть просто сидіти там секунди за один раз ..... накопичувач постійно намагається отримати брудні дані з кешуна фізичні носії, як тільки це можливо. Це не лише питання безпеки даних, але й готовність приймати майбутні записи без будь-якої затримки (тобто: писати публікацію).
Проблема, яка виникає при ввімкненому кешуванні, полягає в тому, що порядок запису на накопичувач через кабель SATA та порядок запису на обертовий носій неоднакові. Це ніколи не може спричинити проблеми, БІЛЬШЕ у вас є втрата живлення або збій системи, перш ніж весь вміст кешу перетворить його на диск. Чому? ->
Проблема, яка може виникнути тут, стосується стійкості транзакцій файлової системи та / або вмісту файлу бази даних до цих втрачених записів. Фактично, ті, що потенційно втрачені з ладу записи, теоретично можуть пошкодити цілісність логіки транзакцій, яка б інакше була гарантована записом диска, що відбувається в дуже специфічному порядку для засобів масової інформації.
Тепер, звичайно, розробники файлової системи, баз даних, контролери RAID тощо знають (або, безумовно, повинні знати) цього явища щодо кешування записів. Кешування запису є надзвичайно бажаним з точки зору продуктивності у більшості сценаріїв вводу / виводу типу випадкового доступу. Насправді, доступне кешування записів є ключовим елементом можливості мати будь-яку реальну користь для більш просунутого черги Native Command ( NCQ)), що підтримується на новіших SATA та останніх кількох поколіннях впровадження PATA. Таким чином, щоб гарантувати порядок у фізичних носіях у такі певні критичні моменти, файлова система та / або додаток тощо можуть спеціально вимагати перемивання кеш-записів на носій. Після завершення цього запиту на синхронізацію - все, що очікує на (потенційно) буфери файлів, кешування диска ОС, кешування фізичного диска і т. Д., Насправді виводиться на носії відповідно до розробки системи транзакцій при правильних критичних операціях. Тобто це відбувається правильно, якщо програмісти здійснюють правильний дзвінок у верхній частині І кожен елемент цього ланцюга програмних та апаратних шарів зробив свою роботу правильно. тобто: У цьому плані немає помилок на диску, контролерах RAID, драйверах дисків, кешах ОС, файловій системі, двигуні бази даних тощо. Це велика кількість програмного забезпечення, яке має працювати правильно. Крім того, перевірити правильність у цьому плані дуже складно, оскільки майже в будь-якій ситуації зазвичай запис на замовлення зовсім не має значення .... а сценарії відключення електроенергії та збоїв є складними тестами. Отже, врешті-решт "вимкнення кешування запису" на одному або декількох різних шарах та / або значеннях цього терміна .... має репутацію "виправлення" певних питань. Фактично, вимкнення поведінки кешування запису контролера RAID або кеш-дисків ОС, або Диска тощо, дозволяє уникнути однієї або декількох помилок у системі ..... та джерела подібних джерел. а сценарії відключення електроенергії та аварії - важкі випробування. Отже, врешті-решт "вимкнення кешування запису" на одному або декількох різних шарах та / або значеннях цього терміна .... має репутацію "виправлення" певних питань. Фактично, вимкнення поведінки кешування запису контролера RAID або кеш-дисків ОС, або Диска тощо, дозволяє уникнути однієї або декількох помилок у системі ..... та джерела подібних джерел. а сценарії відключення електроенергії та аварії - важкі випробування. Отже, врешті-решт "вимкнення кешування запису" на одному або декількох різних шарах та / або значеннях цього терміна .... має репутацію "виправлення" певних питань. Фактично, вимкнення поведінки кешування запису контролера RAID або кеш-дисків ОС, або Диска тощо, дозволяє уникнути однієї або декількох помилок у системі ..... та джерела подібних джерел.
Як би там не було, повертаючись до основи питання: У розділі SATA специфічна обробка всіх команд читання / запису диска та команд кешу флеш добре визначена специфікаціями SATA . Крім того, виробники приводів повинні мати детальну документацію для кожної моделі приводів або сімейства приводів, що описують їх реалізацію та відповідність цим правилам, як цей приклад для приводів Searac Barracuda . Зокрема, перегляньте деталі ОСОБЛИВОСТІ SATA SETДля відключення кешування диска на рівні диска можна використовувати команду, яка керує робочим режимом диска, а конкретно опцію 82h, тому що за замовчуванням кеш запису записаний на всіх дисках, про які я знаю. Якщо ви дійсно хотіли відключити кеш, цю команду потрібно виконати на початку кожного скидання диска або його включення, і, як правило, знаходиться під контролем драйверів дисків для вашої операційної системи. Можливо, ви зможете заохотити драйвер ОС встановити цей режим за допомогою типу IOCTL та / або налаштування реєстру, але це дуже різниться.