Почему у одного SSD несколько величин ёмкости
В инженерных данных NVMe встречаются Namespace Size, Namespace Capacity и Namespace Utilization. Их нельзя автоматически подписывать как размер раздела, свободное место Windows и занятые пользовательские файлы. Пространство имён — объект интерфейса контроллера, а файловая система находится на другом уровне. Для интерпретации сначала нужно разделить эти сущности.
Материал посвящён чтению полей Identify Namespace. Он не содержит инструкций создания или удаления пространств имён, форматирования и восстановления разметки. Такие действия способны уничтожить доступ к данным. Здесь достаточно понять значения, единицы и ограничения, не меняя конфигурацию рабочего накопителя ради эксперимента.
Namespace и раздел
Контроллер предоставляет пространство логических блоков, которое система видит как определённое устройство. Внутри него ОС может использовать свою таблицу разделов и файловые системы. Это разные уровни организации. Несколько разделов на одном устройстве не доказывают наличие нескольких namespace. И наоборот, архитектурная возможность NVMe не означает её доступность на каждом потребительском SSD.
Нельзя также считать namespace отдельной микросхемой NAND. Физическое размещение управляется контроллером и не следует из границ логического объекта. Поэтому разделение интерфейсных пространств не гарантирует независимые каналы, постоянную скорость или отсутствие общей конкуренции ресурсов. Эти свойства требуют иных документов и измерений.
Размер NSZE
Namespace Size описывает число логических блоков в соответствующем пространстве. Чтобы получить байтовую величину, необходимо знать выбранный формат блока. Одного числа недостаточно. Нельзя умножать его на привычный размер сектора по памяти, если текущий формат не установлен. В NVMe могут существовать разные поддерживаемые форматы.
При пересчёте также различают пользовательские данные и дополнительные метаданные, если они применимы. Здесь не задаётся универсальная схема для всех устройств. Для точного отчёта сохраняют исходные поля и применённый формат. Это позволяет проверить арифметику, не смешивая техническую ёмкость с тем, как её округляет интерфейс операционной системы.
Ёмкость NCAP
Namespace Capacity относится к количеству логических блоков, которое может быть выделено в описываемом контексте. Его смысл особенно важен при поддержке определённых способов управления пространством. Но нельзя по одному отличию назначать устройству конкретную корпоративную функцию. Требуются объявленные возможности и определения применимой редакции спецификации.
В типичном потребительском устройстве некоторые величины могут совпадать. Само совпадение не делает поля синонимами и не отменяет различий стандарта. Аналогично несовпадение не является автоматически признаком подделки или поломки. Сначала проверяют формат, поддержку функций и документированное поведение контроллера.
Использование NUSE
Namespace Utilization нельзя читать как точную сумму размеров файлов. Контроллер и файловая система располагают разной информацией, а освобождение логических блоков зависит от поддерживаемых операций и передачи сведений. Удалённый файл не обязан мгновенно изменить каждый аппаратный показатель так, как ожидает пользователь.
Поэтому несходство с окном свободного места ОС само по себе не является диагнозом. В отчёте нужно записывать название поля буквально и не переименовывать его в «занято на диске». Если устройство не предоставляет полезную динамику для этой конфигурации, ограничение отмечают. Не следует добиваться изменения числа опасными операциями с разметкой.
Что видно через мост
Внешний корпус или переходник может скрывать часть NVMe-команд и представлять устройство через другой интерфейс. Тогда доступность полей зависит не только от SSD. Отсутствие Identify Namespace в программе не доказывает отсутствие namespace у контроллера. Нужно учитывать весь путь подключения и поддержку передачи команд.
Результат для внутреннего слота и внешнего корпуса нельзя смешивать без оговорки. Если задача состоит в идентификации, предпочтителен поддерживаемый путь чтения с понятным происхождением данных. Здесь нет рекомендации разбирать ноутбук ради одного поля: для пользовательского выбора может быть достаточно официальной спецификации и штатной информации системы.
Безопасный инженерный отчёт
Сохраните модель, прошивку, идентификатор пространства, исходные NSZE, NCAP, NUSE и активный формат блока. Отдельно запишите интерфейс подключения и версию инструмента. Рассчитанные байты пометьте как производную величину. Размеры разделов ОС, если они нужны, вынесите в другую таблицу, не подменяя ими аппаратные поля.
Не используйте команды изменения namespace для проверки догадки на диске с данными. Чтение описания и перестройка конфигурации — разные действия. При обнаружении непонятного расхождения безопаснее сохранить сведения и обратиться к документации или поддержке, чем форматировать устройство ради совпадения чисел в двух программах.
Источниковая граница
Определения зависят от редакции NVMe и поддерживаемых возможностей, поэтому их точная применимость требует NEEDS_FACTCHECK_LATER. Структуры libnvme помогают найти поля, но не заменяют модельный документ. Вывод: namespace описывается в логических блоках интерфейса контроллера, а разделы и файлы относятся к другому уровню и не являются прямыми подписями NSZE, NCAP и NUSE.
Привязка к идентификатору
Если контроллер предоставляет несколько пространств, убедитесь, что сравниваются поля одного и того же идентификатора. Смешение снимков разных объектов способно создать ложное впечатление изменения ёмкости. Сохранение исходного идентификатора полезно даже на устройстве, где сейчас виден только один namespace: оно делает происхождение данных явным и исключает неоднозначность при повторном обращении к журналу.