Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Работа с жестким диском / 25 сообщений из 28, страница 1 из 2
13.11.2013, 15:18
    #38463515
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Добрый день.
Встала задача получения всей информации о жестком диске. С IDE проблем нет - все работает. Алгоритм:
-проверка готовности HDD (ждем пока 7 бит регистра 1F7h не будет равен 0)
-запрет прерывания от дисков (в бит 1 порта 3F6 пишем 1)
-указываем номер диска (сначала в 4 бит порта 1F6 записываем 0, потом 1)
-посылаем EC в порт 1F7.
Далее читаем инфу из порта 1F0.

С Sata уже такой метод не катит.
Делаю следующее:
-ищу через PCi Bios жесткий диск, читаю адреса базовых регистров.
(у меня они следующие: 4039h,404Dh,4031h,4049h,4011h).
-использую вышеприведенный алгоритм для получения информации (только вместо 1F0 использую 4038, потом 404B,4030,4048,4010; для других адресов использую такое же смещение как и в описанном выше примере (1F0-1F7 -> 4038-403F ...).

Не получается( Что я не так делаю?
...
Рейтинг: 0 / 0
13.11.2013, 15:24
    #38463528
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Да, еще...работаю в DOS'е
...
Рейтинг: 0 / 0
13.11.2013, 15:39
    #38463565
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kip,

AHCI используй
...
Рейтинг: 0 / 0
13.11.2013, 15:41
    #38463573
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Изопропил, а можно немного поподробнее?
...
Рейтинг: 0 / 0
13.11.2013, 16:18
    #38463670
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kip, чел. Ну ты и динозавр. Щас уже мало кто так кодит. Еще-бы написал
про диаграммы напряжений...
...
Рейтинг: 0 / 0
13.11.2013, 17:14
    #38463765
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Ну а каким образом еще можно всю инфу вытащить о харде?
...
Рейтинг: 0 / 0
13.11.2013, 17:41
    #38463811
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipкаким образом еще можно всю инфу вытащить о харде?А какая именно инфа тебе нужна?

http://segfault.kiev.ua/smart-questions-ru.html#goal
...
Рейтинг: 0 / 0
13.11.2013, 17:59
    #38463847
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipДобрый день.
Встала задача получения всей информации о жестком диске
Какую информацию о нем можно получить?!
Для IDE описанный алгоритм находит следующее:
Общее число цилиндров
Общее число головок
Общее число байт на дорожке
Общее число байт в секторе
Общее число секторов на дорожке
Серийный номер, 20 ASCII-символов. Если первое слово равно 0, серийного номера нет
Тип буфера
Размер буфера (удвоенный)
Число используемых байт ЕСС
Версия модели, 8 ASCII-символов
Номер модели, 40 ASCII-символов
Макс. число секторов, передаваемых командой Read/Write Multiple Blocks
...
Рейтинг: 0 / 0
13.11.2013, 17:59
    #38463849
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Akina, поэтому Ваш вопрос неуместен
...
Рейтинг: 0 / 0
13.11.2013, 18:02
    #38463858
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipAlex_kipДобрый день.
Встала задача получения всей информации о жестком диске
Какую информацию о нем можно получить?!
Для IDE описанный алгоритм находит следующее:
Общее число цилиндров
Общее число головок
Общее число байт на дорожке
Общее число байт в секторе
Общее число секторов на дорожке
Серийный номер, 20 ASCII-символов. Если первое слово равно 0, серийного номера нет
Тип буфера
Размер буфера (удвоенный)
Число используемых байт ЕСС
Версия модели, 8 ASCII-символов
Номер модели, 40 ASCII-символов
Макс. число секторов, передаваемых командой Read/Write Multiple Blocks



Таблица на этом еще не заканчивается.
авторСкорость передачи данных
Скорость передачи, управляемая DMA
Текущее число цилиндров
Текущее число головок
Текущее число секторов на дорожке
Общее число секторов
...
Рейтинг: 0 / 0
13.11.2013, 18:51
    #38463942
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipработаю в DOS'еЭто догма?
...
Рейтинг: 0 / 0
13.11.2013, 19:33
    #38463997
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipНу а каким образом еще можно всю инфу вытащить о харде?
Если тебя не пугает Linux, то можно поискать исходники hdparm
http://www.cyberciti.biz/faq/find-hard-disk-hardware-specs-on-linux/

Это конечно не DOS но на каком-то уровне программирования
аппаратуры эти две операционки должни сойтись вместе в дисковом
API.

Еще посмотреть smartctl. Выдаёт много интересной статистической
инфы из SMART-таблиц. По ним можно определить историю жёсткого
диска и узнать сколько ему еще осталось жить.
...
Рейтинг: 0 / 0
13.11.2013, 21:07
    #38464108
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Только Dos и ничего другого(
Мой алгоритм по какой причине может не работать?
...
Рейтинг: 0 / 0
13.11.2013, 21:28
    #38464124
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipМой алгоритм по какой причине может не работать?
на SATA контроллере не включён режим эмуляции IDE

информации по программированию AHCI, включая официальную спецификацию - в инете дохера и больше
...
Рейтинг: 0 / 0
13.11.2013, 22:27
    #38464193
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipТолько Dos и ничего другого(
Мой алгоритм по какой причине может не работать?
Ты привёл словесное описание алгоритма. А когда его реализовал
то допустил тыщу ошибок. Как вариант.
...
Рейтинг: 0 / 0
13.11.2013, 22:29
    #38464195
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Словесно алгоритм правильный?
...
Рейтинг: 0 / 0
13.11.2013, 22:38
    #38464205
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipСловесно алгоритм правильный?
не вижу алгоритма
Со спецификацией AHCI ознакомился?
...
Рейтинг: 0 / 0
13.11.2013, 22:41
    #38464206
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
ИзопропилAlex_kipСловесно алгоритм правильный?
не вижу алгоритма
Со спецификацией AHCI ознакомился?

Пытаюсь. Не могу найти то, что мне нужно.
...
Рейтинг: 0 / 0
13.11.2013, 22:51
    #38464220
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kip,

http://wiki.osdev.org/AHCI смотрел?
...
Рейтинг: 0 / 0
13.11.2013, 22:59
    #38464227
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Вот что смотрел
...
Рейтинг: 0 / 0
13.11.2013, 23:00
    #38464229
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kip,

правильный документ, но поищи примеры использования
...
Рейтинг: 0 / 0
14.11.2013, 02:30
    #38464360
Mike7
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipТолько Dos и ничего другого(
Так ведь линуксовые утилиты все-равно напрямую с диском работают. Вам и надо глянуть, что за команды и как они посылают диску. Например, вот здесь исходники набора утилит smartmontools http://sourceforge.net/projects/smartmontools/files/

Особо в этом не разбирался, но вроде с SATA дисками без режима совместимости с IDE в первом приближении надо обращаться как со SCSI дисками, они к SCSI так сказать, генетически куда ближе, чем к IDE.
...
Рейтинг: 0 / 0
14.11.2013, 16:53
    #38465359
Alex_kip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Ничего дельного так и не получилось(
Кстати, HDD определяется в PCI как RAID
...
Рейтинг: 0 / 0
14.11.2013, 17:24
    #38465415
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kip,

ну дык смотри сорцы драйверов линуксных, например
...
Рейтинг: 0 / 0
14.11.2013, 17:34
    #38465430
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с жестким диском
Alex_kipНичего дельного так и не получилось(
Кстати, HDD определяется в PCI как RAID
Чувак ну из этой фразы вообще ни пса ни понятно.
А как он должен определятся?

Какую вообще инфу тебе надо получить? Ты хоть бы в обстановке
такого инфо-вакуума взял стороннюю тулзу, сделал скриншот и сказал
- хочу как здесь. Мыб высказали предположения. А так...
Капризная принцесса. И сахар тебе не сладкий и огурец не солёный.

Вот как-то так вобщем.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Работа с жестким диском / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]