![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть идея создания программы на Delphi под Win Xp для отображения разнообразной информации о жестком диске (то что отображает Everest к примеру) и добавить разнообразные тесты чтения и записи (желательно посекторно). Идей в общем не мало нужна информация о том, что возможно сделать без лишних хлопот. Может кто подскажет пример, возможные функции, пример реализации, ограничения накладываемые ОС и т.д. Рекомендации литературы по теме (на рус) приветствуются.
P.S Я хочу взять работу по этой теме на дипломную. Времени будет мало(2-3 месяца), пишу программы медленно, знания тоже оставляют желать лучшего. Во общем у кого-какие мысли или советы пишите. Некоторые из идей на скорую руку: ID модели, Серийный номер:, Версия (прошивка), Параметры: цилиндров: , головок:, секторов в треке:, байт в секторе:, Секторы LBA: Буфер(Кэш), Мультисекторы ,Статус мультисектров (On Off),Байты ECC,Макс. режим PIO,Макс. режим UDMA,Активный режим UDMA, ATA (33,66,100,133),Неформатированная ёмкость,Стандарт ATA/ATAPI Свойства устройства (Поддерживаемые технологии) Физические данные Производитель, Название жёсткого диска,Форм-фактор,Форматированная ёмкость ,Записываемые поверхности 1,Физические габариты,Средняя задержка раскрутки 4.16 ms Скорость вращения RPM ,Скорость данных 'буфер-контроллер',Логический\Физический размер сектора Отображение SMART атрибутов Разнообразные тесты диска (получается самая трудоемкая как я посмотрю часть), создание графиков, журнала, и прочее. Возможность сохранения результатов и сравнения с др. Запуск SMART тестов встроенных в накопитель производителем Управление Automatic Acustic Managment Управление питанием Старт\Остановка двигателя вала Восстановление заводского размера (разблокирование) Возможность отключения логического тома, изменения его буквы и метки perform device read timings perform cache read timings Последний раз редактировалось Feodor, 19.01.2011 в 19:29. |
#2
|
|||
|
|||
![]() http://www.rsdn.ru/article/delphi/SMART.xml
Статейка как раз по S.M.A.R.T. +Delphi |
#3
|
|||
|
|||
![]() ТЕКСТ ИЗ ХЕЛПА PC-3000 Disk Analyzer (Как и что из этого можно реализовать на Delphi?) Хотелось бы подробнее о чтении\записи конкретного сектора.
Для того чтобы выполнить тестирование и ремонт и восстановление информации с дисковых устройств, необходимо иметь максимально полный доступ к аппаратным возможностям носителя информации, т.е. доступ к портам и регистрам. Иными словами, применительно к жестким дискам, крайне желательно иметь возможность подать на него любую команду, посмотреть значение регистров, подать при необходимости сброс. К сожалению операционная система Windows не предоставляет для этого прикладной программе какого-либо стандартного механизма. Поскольку дисковые накопители используются операционной системой для файловой организации данных, то стандартно присутствует возможность читать/писать сектора по их логическим адресам. Возможность любого другого доступа к HDD или иному дисковому устройству не гарантирована и зависит от нескольких факторов. Для доступа к дисковому устройству приложение PC-3000 Disk Analizer использует несколько программных механизмов SCSI Pass Through IOCTL (SPTI) S.M.A.R.T. IOCTL IDE Pass Through IOCTL SCSI ATA Translation Каждый из методов доступа имеет свои ограничения поскольку изначально разрабатывался разработчиками операционной системы для решения вполне конкретных задач, которые сильно отличаются от ремонта HDD и восстановления данных. Ниже приводится краткая характеристика каждого из методов доступа с указанием его возможностей и ограничений SCSI Pass Through IOCTL (SPTI) По сути является системных механизмом выполнения операций чтения записи. Поэтому операции чтения, записи о частично верификации работают всегда, с любым типом хранилища данных и в любом программно аппаратном окружении. Единственным обнаруженным исключением является исполнение верификации для USB FLASH накопителей (Судя по всему на них верификация ничего не выполняет и всегда возвращает успех). Кроме чтения записи SPTI всегда позволяет получить некоторую информацию об идентификации диска, так называемый SCSI паспорт, который также используется операционной системой для идентификации дисковых накопителей и получения их доступной емкости. Применительно к накопителям подключенным к шине SCSI это означает так же возможность подать любую аппаратную команду, т.е. полный доступ к диску. К сожалению, почти для всех остальных накопителей действует ограничение: чтение/запись + идентификация. S.M.A.R.T. IOCTL Данная возможность предназначена для получения информации о состоянии S.M.A.R.T. (Self-monitoring, analysis, and reporting technology) для накопителей с интерфейсом IDE (PATA/SATA). Данный механизм допускает подачу команд чтения атрибутов и пороговых значений S.M.A.R.T., а также идентификационных данных HDD (Стандартный паспорт ATA) через задание значений регистров HDD. К сожалению, операционная система содержит очень жесткое ограничение на значение регистра команд. Разрешены только команды 0xB0 (S.M.A.R.T.) и 0xEC (HDD Id). Плюс ограничения на значение регистра +1 для команды 0xB0. К тому же довольно часто сторонний драйвер контроллера HDD не содержит реализации функций доступа к S.M.A.R.T. IDE Pass Through IOCTL Данная возможность, к сожалению, является недокументированной и также имеет очень существенные ограниченные. Для IDE Pass Through нет ограничения на значение регистра +1, что позволяет использовать большее количество функций S.M.A.R.T., включая доступ к логам и запуск S.M.A.R.T. диагностики HDD, но вероятность того, что эти функции будут доступны еще ниже. SCSI ATA Translation Чрезвычайно интересная возможность работы с жестким диском. В её основе управление IDE (ATA) HDD посредством SCSI команд. Основное применение SCSI ATA Translation - работа с HDD имеющими интерфейс USB. Все это относится только к HDD, имеющим интерфейс USB в качестве основного и как правило единственного интерфейса. Видимо такой доступ используется самими производителями HDD в процессе их производства. Для таких HDD практически отсутствуют ограничения операционной системы на подаваемые команды, поскольку механизм SPTI позволяет подать любую SCSI команду. Драйвер USB хоста стандартно передает эти команды по шине USB. Таким образом единственное возможное ограничение - сам HDD, т.е. наличие или отсутствие в его интерфейсе поддержки SCSI ATA Translation. HDD Western Digital и Toshiba такую поддержку реализуют, Samsung - нет. По остальным производителям информация пока отсутствует. Поддержка SCSI ATA Translation сама по себе является не тривиальной задачей. Включение поддержки данного механизма в интерфейс USB HDD видимо является вынужденной мерой, необходимость которой обусловлена задачами производства и заводского тестирования HDD. Поскольку при использовании USB-ATA переходников такой необходимости нет, то нет и поддержки механизма SCSI ATA Translation. Также данный механизм не может быть использован при доступе к HDD подключенным к IDE/ATA контроллерам на шине PCI. |
#4
|
|||
|
|||
![]() Как реализовывать тесты чтения\записи? В чем смысл теста верефикации? Может есть примеры подобных программ на Delphi? Как получить серийный номер диска, прошивка (firmware)? Как посылать команды старт\остановки шпиндельного двигателя? Как управлять питанием и Automatic Acustic Managment? И как можно производить тестирование данного софта без наличия разнообразных винчестеров(возможно в виртуальной машине?) ?
|
#5
|
|||
|
|||
![]() сделал что нибудь?
я это вот нагуглил http://decoding.narod.ru/faq/hard/disk/hdd/hdd001.html serial ^_^ (23:19:10 28/02/2011) ну serial ^_^ (23:19:14 28/02/2011) включаешь NAS serial ^_^ (23:19:26 28/02/2011) там чубрик, у него на животе написано свободное место serial ^_^ (23:19:33 28/02/2011) по мере наполнения харда serial ^_^ (23:19:36 28/02/2011) он растёт serial ^_^ (23:19:46 28/02/2011) ну и соответственно пишется другое кол-во места serial ^_^ (23:19:47 28/02/2011) serial ^_^ (23:20:13 28/02/2011) ну а на плечах чубрика, к примеру будут индикаторы температуры Последний раз редактировалось 1o1man, 01.03.2011 в 00:18. |