Быстрая запись на Hard Drive
Теперь вопрос: есть ли у меня шанс параллельно, он-лайн сохранять эти данные на диске, без потерь? Может как-то через DMA?
Попробуй просто сохранять их в файл. По идее, драйвера и так уже используют режим DMA (если не запрещено в настройках).
Кстати, аналогичная проблема давно уже была решена в программах захвата видео в реальном времени. Кто знает, как пишут на диск эти программы?
Попробуй просто сохранять их в файл. По идее, драйвера и так уже используют режим DMA (если не запрещено в настройках).
Кстати, аналогичная проблема давно уже была решена в программах захвата видео в реальном времени. Кто знает, как пишут на диск эти программы?
Попробуй просто сохранять их в файл. По идее, драйвера и так уже используют режим DMA (если не запрещено в настройках).
Пробовал. Без потерь не получается. Я принимаю из USB2 кусками по 8 килобайт и теми же кусками пытался сохранять. Пока диск пишет, уже приходит новая порция. Видимо, маловаты кусочки. Может попробовать сохранять их штук по 10 в отдельном буфере и потом уже сбрасывать на диск?
А вообще, при захвате видео и правда скорость записи высокая. Например, при использовании алгоритма Хаффмана, записывается около 700 мегабайт в минуту, то есть даже больше, чем у меня. Значит, реально это.
1)
при UDMA 100, rpm 7200 максимальная скорость чтения с одног винта - 40-45МБ/с, при чтении с двух винтов параллельно - 60-70МБ/c. Должен заметить, запись - медленнее.
2)
попытки работать напрямую винт - PCI устройство (банк памяти на устройстве отображался на ОЗУ и инф читалась в этот буфер). При этом была надежда, что контроллер (ICH) разберется куда слать данные. Все это привело к жесткому зависанию. Эксперименты не были очень настойчивыми, но есть большое подозрение, что со стандартными драйверами IDE контроллеров это не получится, хотя теоретически - возможно.
Могу посоветовать следующее - сделайте файл, отображенный на память и читайте в туда
Могу посоветовать следующее - сделайте файл, отображенный на память и читайте в туда
Подскажите, пожалуйста, что такое файл, отображенный на память ?