Стоимость чтения и записи дискового ввода-вывода

Стоимость чтения и записи дискового ввода-вывода

Является ли запись на диск более затратной операцией, чем чтение с диска. Например - запись файла записей размером 1 ГБ по сравнению с чтением всего файла.

решение1

На уровне привода операция чтения сектора займет примерно столько же (или немного больше) времени, что и операция записи сектора. Для сектора чтения команда должна поступить через интерфейс привода (например, SATA), команда декодируется, выполняется поиск, выполняется сканирование адресных меток и запись идентификаторов до тех пор, пока сектор не будет найден, данные сектора считываются в буфер, проверяется сектор с помощью ECC (код коррекции ошибок) и затем, наконец, отправляются данные сектора. (Обратите внимание, что существует широко распространенное заблуждение, что данные сектора могут быть переданы напрямую со считывающей головки на интерфейс. Абсолютно неверно: данные сектора всегда полностью буферизуются и всегда передаются на полной скорости интерфейса только после того, как весь сектор будет прочитан и проверен.) Если выполняется опережающее чтение и кэшируется, то последующее последовательное чтение не будет иметь задержек поиска и вращения. Для сектора записи команда и данные сектора должны поступить через интерфейс привода, команда декодируется, выполняется поиск, выполняется сканирование адресных меток и запись идентификаторов до тех пор, пока сектор не будет найден, запись сектора с помощью ECC, и хост уведомляется о завершении.

На уровне ОС или файловой системы запись становится более сложной, когда создается новый файл. Чтение или перезапись существующего файла на диске требует только поиска того, где находятся секторы данных (или кластеры). Запись нового файла или добавление в файл потребует сначала выделения секторов/кластеров из свободного списка, назначения этих секторов/кластеров файлу (обновление записи каталога?), а затем записи данных. Обратите внимание, что таблица(ы) распределения диска обычно обновляются (т. е. записываются на диск) как можно скорее, возможно, даже до данных файла, чтобы сохранить целостность файловой системы. Если вы когда-либо замечали/слышали много поисков на диске при создании файла, вы можете предположить, что головки перемещались между таблицей распределения и новым файлом.

Связанный контент