HDD >8Gb access
От: latemic Украина  
Дата: 05.04.06 16:10
Оценка:
Ребята, подскажите как через порты можно получить доступ к дисковому пространству винта за 8-м гектаром.
Интересует именно работа с "большими" винтами, а не в целом. Как через LBA32 я знаю.
Заранее спасибо.
"Если нельзя, но очень хочется... то можно"
Re: HDD >8Gb access
От: h0rnet Украина  
Дата: 05.04.06 16:56
Оценка:
Здравствуйте, latemic, Вы писали:

L>Ребята, подскажите как через порты можно получить доступ к дисковому пространству винта за 8-м гектаром.

L>Интересует именно работа с "большими" винтами, а не в целом. Как через LBA32 я знаю.
L>Заранее спасибо.

Так LBA32 хватает до 128ГБ. В чем проблема ?
Re[2]: HDD >8Gb access
От: Аноним  
Дата: 06.04.06 06:37
Оценка:
сначала читаем на форуме www.rom.by статью про доступ к большим винтам, а потом ищем исходники биоса
Re[2]: HDD >8Gb access
От: latemic Украина  
Дата: 06.04.06 12:38
Оценка:
Здравствуйте, h0rnet, Вы писали:

H>Здравствуйте, latemic, Вы писали:


L>>Ребята, подскажите как через порты можно получить доступ к дисковому пространству винта за 8-м гектаром.

L>>Интересует именно работа с "большими" винтами, а не в целом. Как через LBA32 я знаю.
L>>Заранее спасибо.

H>Так LBA32 хватает до 128ГБ. В чем проблема ?


Прошу прощения, не точно выразился. Для LBA28 ограничение в 128Гб. Мне нужна информация о том как я могу работать с большими дисками (>128Gb) через порты. Во многих статьях что я читал написано такое дело:


Номер порта     CHS                       LBA           Read        Write
1F0h (170h)                                             Порт данных Порт данных
1F1h (171h)                                             Порт ошибок Порт свойств
1F2h (172h)                                             Счетчик секторов Счетчик секторов
1F3h (173h)  Номер сектора              Адрес 0-7         
1F4h (174h)  Цилиндр [0:7]              Адрес 8-15         
1F5h (175h)  Цилиндр [8:15]              Адрес 16-23         
1F6h (176h)  Номер головки и устройства      Адрес 24-27, устройство         
1F7h (177h)                                             Регистр состояния Регистр команды
3F6h (376h)                                             Регистр состояния Управление


Из этого следует что максимальный LBA адрес сектора задаётся 28-р числом. Однако я слышал о LBA48. Подскажите, что это такое и с чем его едят.
"Если нельзя, но очень хочется... то можно"
Re[3]: HDD >8Gb access
От: onyx2 Украина  
Дата: 06.04.06 14:58
Оценка:
Здравствуйте, latemic, Вы писали:

L>Здравствуйте, h0rnet, Вы писали:


H>>Здравствуйте, latemic, Вы писали:


L>>>Ребята, подскажите как через порты можно получить доступ к дисковому пространству винта за 8-м гектаром.

L>>>Интересует именно работа с "большими" винтами, а не в целом. Как через LBA32 я знаю.
L>>>Заранее спасибо.

H>>Так LBA32 хватает до 128ГБ. В чем проблема ?


L>Прошу прощения, не точно выразился. Для LBA28 ограничение в 128Гб. Мне нужна информация о том как я могу работать с большими дисками (>128Gb) через порты. Во многих статьях что я читал написано такое дело:



М-да! Крутой драйвер написать хочешь Да?
У меня есть книжка "Программирование дисковых подсистем" но там только описана работа работа с винтами до 128 GB.
Это стандарт IDE (до 128 GB). А вот больше это уже наверно Extended IDE или как там его называют.
Не даром win2k бочит винты размером больше 128 GB.У людей разделы внезапно слетают и т.д. Чтоб такого не было там какой-то параметр в реестре прописывают.
В общем нужно порыться на сайтах производителей винтов или...
www.cubik.biz
Re[4]: HDD >8Gb access
От: Alter_ Украина http://alter.org.ua
Дата: 06.04.06 16:22
Оценка: 2 (1)
Здравствуйте, onyx2, Вы писали:

L>>Мне нужна информация о том как я могу работать с большими дисками (>128Gb) через порты.


O>Не даром win2k бочит винты размером больше 128 GB.У людей разделы внезапно слетают и т.д. Чтоб такого не было там какой-то параметр в реестре прописывают.

O>В общем нужно порыться на сайтах производителей винтов или...

Рррррр...........!
Апдейты накатывают, иначе реестр не поможет.
И стандарты читать надо. Гугл очень даже рулит в вопросе их поиска.
ftp://ftp.t13.org/index.html
И там в ATA/ATAPI стандартнах все описано. Нашару.

Предельно просто. В регистры заносится сначала старшая часть адреса, а потом — младшая.

Работающий код можете посмотреть в FreeBSD ata драйвере или
в виндовом http://alter.org.ua/soft/win/uni_ata/index.php (конкретно функция AtaCommand48() в id_ata.cpp)
--
Alter, http://alter.org.ua
Re[5]: HDD >8Gb access
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 06.04.06 22:25
Оценка:
Здравствуйте, Alter_, Вы писали:

убедительная просьба следить за объемом цитирования — модератор
... << RSDN@Home 1.2.0 alpha rev. 648>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[3]: HDD >8Gb access
От: Roman_M rgmroman.narod.ru
Дата: 07.04.06 09:01
Оценка:
Здравствуйте, latemic, Вы писали:


L>Прошу прощения, не точно выразился. Для LBA28 ограничение в 128Гб. Мне нужна информация о том как я могу работать с большими дисками (>128Gb) через порты. Во многих статьях что я читал написано такое дело:


L>

L>Номер порта     CHS                       LBA           Read        Write
L>1F0h (170h)                                             Порт данных Порт данных
L>1F1h (171h)                                             Порт ошибок Порт свойств
L>1F2h (172h)                                             Счетчик секторов Счетчик секторов
L>1F3h (173h)  Номер сектора              Адрес 0-7         
L>1F4h (174h)  Цилиндр [0:7]              Адрес 8-15         
L>1F5h (175h)  Цилиндр [8:15]              Адрес 16-23         
L>1F6h (176h)  Номер головки и устройства      Адрес 24-27, устройство         
L>1F7h (177h)                                             Регистр состояния Регистр команды
L>3F6h (376h)                                             Регистр состояния Управление
L>


L>Из этого следует что максимальный LBA адрес сектора задаётся 28-р числом. Однако я слышал о LBA48. Подскажите, что это такое и с чем его едят.


Для использования LBA48 есть дополнительные команды READ_DMA_EXT (0x25), WRITE_DMA_EXT (0x35), FLUSH_CACHE_EXT (0xEA) и т.п. Нужно пользоватся ими. Но это ещё не всё. Запись LBA в соответствующие порты производится почти также, но в два захода — сначала старшие биты адреса, а потом младшие. Подробности должны быть в документации по ATA-6, я их уже не могу вспомнить сходу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.