Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 276

/ вопрос решён /

Вопрос неординарный :)
Можно ли сделать такую прожку, чтобы при записи диска записывала на него .тхт-файл, где будут хранится номера всех поврежденных секторов DVD-диска(или как-то еще пометить эти сектора)?
Потом похожая программа оценит этот файл и не будет считывать с этих секторов информацию
(и не будет показывать ошибок).
Таким образом РВ-диски можно будет использовать много раз, и можно быть уверенным что информация не будет "записываться" на поврежденные сектора.

Приложение:
  1.  


Pokemonchyk Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Pokemonchyk (статус: Посетитель)
Вопрос отправлен: 21 января 2007, 01:02
Состояние вопроса: решён, ответов: 3.

Ответ #1. Отвечает эксперт: Сергей Устинов

Здравствуйте!

Лично мое мнение (может не совпадать с реальностью):
Теоретически это возможно: перед записью программа пытается считать все сектора по-порядку - результаты сохраняет в какой-либо файл. Потом этот файл добавляется к тому, что записывается на диск и лишь потом происходит запись. Соответственно, при считывании сначала считывается такой файл, а уже потом читается сам диск.

Вот только один момент: а есть ли в этом смысл?
Смотрите: Вам нужно получить физический доступ к ДВД диску - считать посекторно, создать модуль записи на ДВД (при этом я думаю будет какая - то разница для разных видов ДВД, разных видов болванок и т.д. не зря же, например за NERO Burning Rom денежки берут...) ну и еще куча всяких запарок...
Может проще новую болванку купить? :)

Удачи!

Ответ отправил: Сергей Устинов (статус: 2-ой класс)
Время отправки: 21 января 2007, 01:20
Оценка за ответ: 5

Комментарий к оценке: Значит все-таки возможно... :)

Ответ #2. Отвечает эксперт: Матвеев Игорь Владимирович

Здравствуйте, Pokemonchyk!

Вопрос действительно "неординарный"...

Скажите, а если Вы сможете определять поврежденные сектора - зачем помечать их или записывать на диск в файл (кстати, если уж записывать, то лучше в субканалы, а не в файл) когда можно просто пропускать их в момент записи (если записывать своей программой), в заголовке тогда будут указаны сектора, на которых размещены данные и, естествернно, поврежденных секторов здесь уже не будет, и любая (а не только Ваша) программа, считывая данные не наткнется на поврежденный сектор.

Кстити, если кому нужна запись CD/DVD - есть пакет Magic CD DVD Burner - http://www.binarymagics.com, правда платный.

Ответ отправил: Матвеев Игорь Владимирович (статус: Студент)
Время отправки: 21 января 2007, 03:44
Оценка за ответ: 5

Ответ #3. Отвечает эксперт: ANBsoft

Несколько месяцев назад в одной из рассылок (сейчас уже не помню в какой) приводился даже исходник. Идея в следующем: создается файл контейнер, в который пишутся данные и кодируются с избыточным кодом (наподибие Raid), в случае повреждения данных в одном месте, они берутся из другого.
Минусы: полезная емкость диска уменьшается (хотя надежность важнее), доступ к файлам контейнера только через оболочку, нет 100% гарантии целостности данных (зависит от степени избыточности кодирования и количества ошибок на диске).
Плюсы: на ДВД не так уж много ошибок (обычно)(поэтому даже при появлении новых ошибок, появившихся уже после записи, большая вероятность что данные уцелеют).
Так что советую поискать в инете (извиняюсь за плохую память, но сама идея надеюсь поможет).

Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 22 января 2007, 08:55


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 23 января 2007, 06:11; участников в обсуждении: 2.
fd_coder

fd_coder (статус: Посетитель), 22 января 2007, 23:46 [#1]:

Для записи я находил (не помню где, но могу у себя поискать если надо) плагин испоьзующий НероАпи!!! тут думаю некоторые проблемы с записыванием отпадут
Матвеев Игорь Владимирович

Матвеев Игорь Владимирович (статус: Студент), 23 января 2007, 06:11 [#2]:

To Бубырь Александр Николаевич

Дело в том, что формат CD/DVD дисков избыточен сам по себе, т.к. содержит коды коррекции ошибок. То что Вы описваете сложно и неудобно - доступ к файлам только из собственной оболочки или писать драйвер вирт. файловой системы. Кстати тогда можно просто сжать все RAR'ом с информацией для восстановления.

Если есть идея сделать CD/DVD более устойчивый к механическим повреждениям - проще изменить число кодов коррекции - тогда большинство устройств смогут читать такие диски.

И еще. Все что здесь предлагается в действительности работать не будет в половине случаев. На CD/DVD дисках есть область заголовка - в ней содержатся данные файловой системы - если произойдет потеря байтов в этой области - весь диск будет нечитаем. Вернее его можно прочитать только в binary mode, например положить в привод рабочую болванку прочитать какие-то данные, а затем вложить в привод диск с поврежденной ТОС (не открывая лоток, нужно разбирать привод).

Работа с областью заголовка осуществляется на аппаратном уровне, поэтому никакие ухищрения не помогут сберечь данные в случае повреждения заголовка.

31 января 2011, 19:58: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:53
Выполнено за 0.03 сек.