Архитектура хранения данных на жестком диске (HDD)
Архитектура хранения данных на жестком диске (HDD)

1. Введение

Жесткий диск (HDD) — это обычное постоянное запоминающее устройство. Он использует диск в качестве носителя информации и считывает и записывает данные, вращая диск и перемещая головку чтения-записи. В этой статье представлено подробное представление об архитектуре хранения данных на жестком диске, включая ее внутренние компоненты, а также о том, как она работает и как организованы данные.

2. Основы жесткого диска

2.1 Базовая структура жесткого диска

  1. Диск. Наиболее важной частью жесткого диска является диск, состоящий из одной или нескольких металлических пластин. Каждая пластина имеет две поверхности, к которым имеют доступ головки чтения и записи. Диск вращается с высокой скоростью, приводимый в движение двигателем шпинделя, обычно от 5400 до 15 000 оборотов в минуту.
  2. Головка чтения-записи: Головка чтения-записи расположена над диском и состоит из одной или нескольких магнитных головок. Каждая головка имеет катушку записи и катушку чтения, которые распознают и изменяют магнитное поле на поверхности диска. Головка чтения-записи находится на небольшом расстоянии от диска благодаря воздушной подушке, подвешенной на поверхности диска, чтобы избежать контакта и повреждения поверхности диска.
  3. Головной рычаг: Головной рычаг представляет собой механическую конструкцию, которая соединяет головку чтения-записи и двигатель шпинделя. Головка может перемещаться между разными положениями на поверхности диска для доступа к разным дорожкам. Движение головного рычага контролируется двигателем звуковой катушки (VCM), который перемещает положение головного рычага точно так, как необходимо.
  4. Двигатель шпинделя. Двигатель шпинделя является одним из основных компонентов жесткого диска. Он отвечает за вращение диска на высокой скорости. В двигателях шпинделя обычно используется технология бесщеточного двигателя постоянного тока (BLDC) или асинхронного двигателя (IM), чтобы обеспечить стабильность и надежность высокоскоростного вращения.
  5. Контроллер: Контроллер жесткого диска является мозгом жесткого диска и управляет всей передачей данных и операциями с диском. Контроллер обеспечивает доступ и управление жестким диском, управляя движением магнитной головки, работой головки чтения-записи и передачей данных.
  6. Кэш: Кэш — это высокоскоростная память на жестком диске, которая используется для временного хранения данных, подлежащих записи на диск, или данных, подлежащих чтению с диска. Кэширование может улучшить производительность чтения и записи жесткого диска и сократить время передачи данных.
  7. Корпус. Корпус жесткого диска защищает внутренние компоненты и обеспечивает защиту от пыли и влаги. Корпус обычно изготавливается из металла или пластика и имеет вентиляционные отверстия для рассеивания тепла.

2.2 Расчет емкости хранилища

Расчет емкости жесткого диска обычно основан на следующей формуле: Емкость жесткого диска = Количество дорожек × Количество секторов × Количество байтов на сектор. Где количество дорожек — это количество концентрических круговых дорожек на поверхности жесткого диска. а количество секторов — это количество концентрических круговых дорожек на каждой дорожке. Количество разделенных областей, количество байтов в секторе — это количество байтов, которые могут храниться в каждом секторе.

Если взять в качестве примера жесткий диск SATA емкостью 1 ТБ со скоростью вращения 5400 об/мин, то его физическая структура выглядит следующим образом:

  1. Пластины. Жесткие диски обычно имеют две или три пластины, каждая из которых имеет слой магнитного материала на поверхности.
  2. Дорожки: на каждом диске есть несколько концентрических круговых дорожек, и эти дорожки называются дорожками.
  3. Сектор: каждая дорожка разделена на несколько областей, которые называются секторами.
  4. Головки: внутри жесткого диска есть одна или несколько головок, которые используются для чтения и записи данных.
  5. Цилиндр: Все дорожки на каждом диске образуют цилиндрическую поверхность, которая называется цилиндром. Основываясь на приведенной выше физической структуре, мы можем рассчитать емкость жесткого диска. Предположим, что на жестком диске 2 пластины, на каждой пластине 1000 дорожек, на каждой дорожке 100 секторов, и каждый сектор может хранить 512 байт данных. Тогда емкость этого жесткого диска равна: Емкость жесткого диска = 2 × 1000 × 100 × 512 = 10 485 760 000 байт В пересчете на ГБ это: Емкость жесткого диска = 10,485,760,000 / 1024 / 1024 / 1024 = 931.5 GB Следует отметить, что фактическая доступная емкость жесткого диска обычно меньше номинальной, поскольку производители жестких дисков обычно резервируют часть места для замены поврежденных блоков, управления файловой системой и т. д. Кроме того, на емкость жесткого диска будут влиять и другие факторы, такие как время поиска головки, задержка вращения, скорость передачи данных и т. д.

Причины, по которым номинальная емкость HDD не соответствует фактической:

В основном из-за разных методов расчета между производителями и компьютерами. Производители жестких дисков рассчитывают на основе десятичной системы, а компьютеры - на основе двоичной системы. Фактическая емкость будет меньше номинальной из-за различных правил преобразования. На примере жесткого диска емкостью 1 ТБ производитель жесткого диска рассчитывает емкость как 100000000000 байт на основе 1 МБ = 1000 КБ и 1 ГБ = 1000 МБ. Однако для расчета фактической емкости операционная система использует двоичный алгоритм 1 МБ = 1024 КБ и 1 ГБ = 1024 МБ. как 931,32 ГБ. Таким образом, существует определенная разница между отображаемой мощностью продукта и его номинальной мощностью.

2.3 Типы интерфейсов жестких дисков

По набору команд его можно разделить на:

1. Интерфейс IDE на основе набора инструкций ATA (практически снят с рынка) и интерфейса SATA;

  • Интерфейс IDE (Integrated Drive Electronics) — это более ранний тип интерфейса жесткого диска. Обычно он используется для подключения жестких дисков, оптических приводов, устройств чтения DVD/CD и других устройств с интерфейсами IDE. Интерфейс IDE широко используется в настольных компьютерах, но сейчас его заменил интерфейс SATA. Производительность чтения и записи жестких дисков IDE обычно составляет от 50 МБ/с до 100 МБ/с, а число операций ввода-вывода в секунду составляет около 50–100. Причины, по которым серверы не используются широко: С постоянным улучшением тактовой частоты процессора и пропускной способности памяти протокол интерфейса PATA (ParaleATA) постепенно проявляет свои недостатки. С одной стороны, развитие технологии производства жестких дисков постепенно снизило стоимость единицы жестких дисков ATA. С другой стороны, из-за использования параллельных интерфейсов шин шины для передачи данных и сигналов мультиплексируются, поэтому передача данных. ставка будет подлежать определенным ограничениям. Если необходимо увеличить скорость передачи, передаваемые данные и сигналы часто будут вызывать помехи, приводящие к ошибкам.

  • SATA — это аббревиатура Serial ATA (Serial Advanced Technology Attachment) в настоящее время является наиболее часто используемым типом интерфейса жесткого диска. Существует множество версий интерфейсов SATA. Исходная скорость передачи данных интерфейса SATA составляет 1,5 Гбит/с, тогда как скорость передачи данных SATA. 2.0 имеет скорость передачи данных 3,0 Гбит/с, SATA. Скорость передачи 3.0 увеличена до 6,0 Гбит/с. Этот тип интерфейса можно использовать для подключения жестких дисков.、Оптический Такое оборудование, как приводы, устройства чтения и записи DVD/CD.,Поэтому он широко используется в настольных и портативных компьютерах. Преимущество интерфейса SATA — более высокая скорость передачи данных.,И поддерживает горячую замену. также,Интерфейс SATA также имеет меньший размер интерфейса.,Это упрощает установку жесткого диска. Скорость чтения и записи жестких дисков SATA обычно составляет от 100 МБ/с до 200 МБ/с.,IOPSок.100-200。——Сервер используется больше

2. Параллельный SCSI на основе набора инструкций SCSI (интерфейс малой компьютерной системы). интерфейс, последовательный интерфейс SCSI (SAS), последовательный интерфейс FC (FCP)

  • Интерфейс SAS, Serial Attached SCSI (последовательный Attached SCSI) — новый тип интерфейса жесткого диска.,Это вариант интерфейса SCSI. Жесткий диск SAS — это высокопроизводительный механический жесткий диск.,Стандарт интерфейса — SAS (совместим с SATA снизу вверх).,Поддерживает три различные скорости передачи: SAS1, SAS2 и SAS3. Скорость чтения и записи жестких дисков SAS обычно составляет от 150 МБ/с до 300 МБ/с.,IOPS около 150-300. Поскольку интерфейс SAS поддерживает подключение нескольких устройств,Поэтому его обычно используют в центрах обработки данных и серверах, где требуется высокая надежность и производительность. также,Интерфейс SAS также поддерживает возможности обнаружения и исправления ошибок.,Может помочь уменьшить количество ошибок и потерь при передаче данных.。——Сервер используется больше
  • SCSI (интерфейс малой компьютерной системы) — это режим интерфейса устройства хранения данных, специально разработанный для небольших компьютерных систем. Он может выполнять операции динамического разделения труда на нескольких устройствах в компьютере. Он может гибко и соответствующим образом распределять несколько задач, требуемых системой одновременно. время. Завершается динамически. SCSI превратился из исходного SCSI (8-битного) в современный Ultra 320 SCSI, а скорость качественно выросла с 1,2 МБ/с до нынешних 320 МБ/с. Все современные жесткие диски SCSI используют интерфейс Ultra 320 SCSI. Жесткие диски SCSI также имеют интерфейсы, специально поддерживающие технологию горячей замены. При использовании в сочетании с объединительной платой SCSI можно реализовать жесткие диски с возможностью горячей замены.

Причина, по которой сервер обычно не используется: Причина, по которой он появляется, заключается главным образом в том, что скорость жесткого диска исходного интерфейса IDE слишком низкая, а скорость передачи слишком низкая, поэтому появляется высокоскоростной жесткий диск SCSI. На самом деле SCSI не предназначен специально для жестких дисков. На самом деле это интерфейс шинного типа. Работает независимо от системной шины.

  • FCP — это последовательный интерфейс FC. Английское написание Fibre Channel — Fibre Channel.

Причины, по которым серверы не используются широко: Как и интерфейс SCIS, Fibre Channel изначально не был технологией интерфейса, разработанной и разработанной для жестких дисков. Он был специально разработан для сетевых систем. Однако с учетом требований к скорости в системах хранения данных это постепенно изменилось. применяется к системам с жесткими дисками. Жесткие диски Fibre Channel были разработаны для повышения скорости и гибкости систем хранения данных с несколькими жесткими дисками. Их появление значительно улучшило скорость передачи данных в системах с несколькими жесткими дисками. Он использует оптоволоконные кабельные соединения между системами в конфигурации «точка-точка» (или коммутируемой).

Пополнить:

Параллельный интерфейс относится к интерфейсу для параллельной передачи. Например, если имеется десять чисел от 0 до 9 и используется 10 линий передачи, то для завершения каждой линии необходимо передать только одно число. Теоретически эффективность параллельной передачи очень высока, но по физическим причинам на линии частота ее передачи не может быть слишком высокой, поэтому фактическая скорость передачи не пропорциональна степени параллелизма и может даже быть хуже.

Последовательный интерфейс относится к интерфейсу для последовательной передачи. Это также десять цифр от 0 до 9. Используя одну линию передачи, ее необходимо передать 10 раз, прежде чем ее можно будет завершить. Теоретически эффективность последовательной передачи невысока, но благодаря точности данных и поддержке высоких частот скорость передачи может быть очень высокой.

2.4 Размер жесткого диска

Существует два типа основных жестких дисков: 3,5-дюймовые и 2,5-дюймовые. Внешние размеры жестких дисков разных производителей находятся в пределах допуска, а различия минимальны.

3,5 дюйма: большой форм-фактор, длина*ширина=147 мм*101,85 мм. Толщина 3,5-дюймовых жестких дисков корпоративного уровня обычно составляет 26,1 мм.

2,5-дюймовый: SFF, длина*ширина = 100,45*69,85 мм. Толщина 2,5-дюймовых жестких дисков корпоративного уровня обычно составляет 15 мм.

3. Принцип работы жесткого диска

3.1 Введение в магнитные принципы жестких дисков

Принцип работы жестких дисков основан на свойствах магнитных материалов. Когда диск вращается, головки чтения и записи могут перемещаться по поверхности диска, получая доступ к различным дорожкам. Когда головка чтения-записи обнаруживает магнитный сигнал на поверхности диска, она преобразует магнитный сигнал в электрический сигнал и передает его обратно на контроллер. Затем контроллер преобразует электрический сигнал в формат данных, понятный компьютеру.

3.2 Полный процесс запроса доступа к диску

Когда данные необходимо прочитать с диска, система передает логический адрес данных на диск, а схема управления диском преобразует логический адрес в физический адрес в соответствии с логикой адресации, то есть определяет, какая дорожка и сектор данные для чтения включены.

Чтобы прочитать данные в этом секторе, необходимо поместить голову над этим сектором. Для этого:

(1) Сначала необходимо найти цилиндр, то есть магнитная головка должна переместиться, чтобы выровняться по соответствующей дорожке. Этот процесс называется поиском, а затраченное время называется временем поиска.

(2) Затем целевой сектор поворачивается под магнитной головкой, то есть вращение диска вращает целевой сектор под магнитной головкой. Время, которое занимает этот процесс, называется временем вращения.

То есть процесс завершения запроса доступа к диску (чтение/запись) состоит из трёх действий: (1) Поиск (время): Магнитная головка перемещается по указанной дорожке. (2) Задержка вращения (время): дождитесь, пока указанный сектор повернется под головой. (3) Передача данных (время): фактическая передача данных между диском и памятью.

Итак, время, необходимое для чтения сектора данных (фрагмента данных) на диске:

Язык кода:javascript
копировать
    Ti/o = tseek + tla + n*twm

в:

Язык кода:javascript
копировать
    tseek искать время
    tla — время вращения
    twm это время передачи

3.2 Подробное объяснение процесса чтения и записи жесткого диска

Когда система сохраняет файлы на диске, она делает это в виде цилиндров, головок и секторов, то есть сначала все сектора под первой головкой дорожки 1 (то есть первой дорожкой диска 1), а затем , Это следующая головка того же цилиндра... Когда один цилиндр заполнен, он переходит к следующему цилиндру, пока все содержимое файла не будет записано на диск.

Записи файлов хранятся в одной группе дисков.,сначала следует сконцентрироваться на цилиндре,Затем храните их последовательно на соседних цилиндрах.,Соответствует тому же цилиндру,Затем их следует хранить в порядке расположения на диске.。Сверху вниз, затем снаружи внутрь。Чтение данных/Пишите по цилиндру,Вместо того, чтобы действовать в соответствии с советом.

Система также считывает данные в том же порядке. При чтении данных контроллеру диска приказывают считать номер цилиндра, номер головки и номер сектора (три компонента физического адреса), в котором расположен сектор. Контроллер диска непосредственно подводит узел магнитной головки к соответствующему цилиндру, стробирует соответствующую магнитную головку и ждет, пока нужный сектор переместится под магнитную головку. Когда поступает сектор, контроллер диска считывает заголовок каждого сектора, сравнивает адресную информацию в этих заголовках с ожидаемыми номерами головки и цилиндра (т. е. выполняет поиск), а затем ищет необходимый номер сектора. Когда контроллер диска находит заголовок сектора, он решает, переключить ли схему записи или считывать данные и хвостовые записи, в зависимости от того, является ли его задачей запись сектора или чтение сектора. После того, как сектор найден, контроллер диска должен выполнить постобработку информации о секторе, прежде чем продолжить поиск следующего сектора.

При считывании данных магнитная головка преобразует магнитные частицы различной полярности в различные электрические импульсные сигналы, а затем использует преобразователь данных для преобразования этих исходных сигналов в данные, которые компьютер может использовать. Контроллер вычисляет код ECC. данные, а затем преобразует. Код ECC сравнивается с записанным кодом ECC.

При записи данных магнитная головка преобразует различные электрические импульсные сигналы магнитных частиц в разные полярности, а затем использует преобразователь данных для преобразования этих исходных сигналов в данные, которые компьютер может использовать. Контроллер вычисляет код ECC. данные и Данные хранятся вместе. Диск продолжает вращаться, пока контроллер выполняет необходимую обработку данных в этом секторе.

3.3 Кодирование данных и обнаружение ошибок

HDD (Hard Disk Drive) — энергонезависимое запоминающее устройство, используемое для долговременного хранения данных. На жестком диске данные хранятся в намагниченной форме на магнитном материале на поверхности диска. Чтобы обеспечить целостность и надежность данных, на жестких дисках используются различные технологии кодирования данных и обнаружения ошибок.

  1. Кодирование данных: а. Модуляционное кодирование: перед записью данных на диск их необходимо преобразовать в магнитный сигнал. Этот процесс называется кодированием модуляции. Обычно используемые методы кодирования модуляции включают безвозврат к нулю (NRZ), возврат к нулю (RZ) и фазовую модуляцию (PM). b. Кодирование с коррекцией ошибок. Чтобы повысить надежность и устойчивость данных к ошибкам, жесткий диск использует технологию кодирования с коррекцией ошибок для кодирования исходных данных в новые данные с избыточной информацией. Общие методы кодирования с коррекцией ошибок включают код проверки четности, код проверки циклическим избыточным кодом (CRC), код Рида-Соломона (RS) и т. д.
  2. Обнаружение ошибок: а. Когда магнитная головка считывает данные, на нее могут влиять шум, нестабильность намагничивания и другие факторы, в результате чего считанные данные могут не соответствовать исходным данным. Поэтому жесткие диски должны использовать технологию обнаружения ошибок для обнаружения и исправления этих ошибок. б. Общие методы обнаружения ошибок включают проверку четности, проверку циклическим избыточным кодом (CRC) и т. д. Функция четности обнаруживает ошибки, добавляя к данным биты четности, а CRC обнаруживает ошибки, вычисляя контрольную сумму данных и сравнивая ее с исходной контрольной суммой. в. Когда жесткий диск обнаруживает ошибку, он обычно пытается ее исправить, используя избыточную информацию в кодировании для исправления ошибок. Если ошибку исправить невозможно, HDD сообщит об ошибке и попросит пользователя принять соответствующие меры, например, перечитать данные или отремонтировать жесткий диск.

Короче говоря, жесткий диск обеспечивает целостность и надежность данных с помощью таких технологий, как кодирование модуляции, кодирование с коррекцией ошибок и обнаружение ошибок. Хотя эти технологии могут повысить надежность данных, они не устраняют полностью риск потери данных.

4. Показатели производительности жесткого диска

Показатели производительности жесткого диска включают в себя:

  • Емкость: максимальная емкость жесткого диска.
  • Об/мин: количество оборотов диска в минуту.
  • Среднее время поиска: время, необходимое головке чтения-записи для перехода с одной дорожки на другую.
  • Средняя задержка вращения: время, необходимое диску для одного вращения.
  • Размер кэша: место для временного хранения данных на жестком диске.
  • IOPS: количество операций ввода-вывода в секунду, мера производительности чтения и записи жесткого диска.
  • Пропускная способность: объем данных, которые жесткий диск может передать за единицу времени.

Впервые для новичков~

Я участвую в последнем конкурсе эссе для специального учебного лагеря Tencent Technology Creation 2024. Приходите и разделите со мной приз!

«Приглашающий: «Пользователь 10922768»

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.