Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.01.2011, 19:26
Feodor Feodor вне форума
Прохожий
 
Регистрация: 19.01.2011
Сообщения: 24
Репутация: 10
Восклицание получения параметров и тест HDD

Есть идея создания программы на 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  
Старый 19.01.2011, 20:09
guranvir guranvir вне форума
Начинающий
 
Регистрация: 19.01.2010
Сообщения: 113
Репутация: 11
По умолчанию

http://www.rsdn.ru/article/delphi/SMART.xml
Статейка как раз по S.M.A.R.T. +Delphi
Ответить с цитированием
  #3  
Старый 20.01.2011, 15:49
Feodor Feodor вне форума
Прохожий
 
Регистрация: 19.01.2011
Сообщения: 24
Репутация: 10
По умолчанию PC-3000 Disk Analyzer

ТЕКСТ ИЗ ХЕЛПА 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  
Старый 20.01.2011, 15:54
Feodor Feodor вне форума
Прохожий
 
Регистрация: 19.01.2011
Сообщения: 24
Репутация: 10
По умолчанию вопросики

Как реализовывать тесты чтения\записи? В чем смысл теста верефикации? Может есть примеры подобных программ на Delphi? Как получить серийный номер диска, прошивка (firmware)? Как посылать команды старт\остановки шпиндельного двигателя? Как управлять питанием и Automatic Acustic Managment? И как можно производить тестирование данного софта без наличия разнообразных винчестеров(возможно в виртуальной машине?) ?
Ответить с цитированием
  #5  
Старый 28.02.2011, 23:26
1o1man 1o1man вне форума
Прохожий
 
Регистрация: 21.12.2008
Адрес: в квартире
Сообщения: 3
Репутация: 10
По умолчанию

сделал что нибудь?
я это вот нагуглил 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.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:06.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025