Como um hard-drive é um gargalo quando se grava um CD ou DVD?

2

Sempre me perguntei por que as pessoas continuam culpando os discos rígidos por causar erros no buffer ao gravar um CD ou DVD. Eu li muitas pessoas dizendo para usar um disco rígido mais rápido ou para ter certeza de desfragmentar ou algo assim antes de gravar.

Isso não faz sentido para mim. Eu não me importo com a rapidez com que você grava um disco, a velocidade e a taxa de transferência de dados de um disco rígido sempre serão mais rápidas do que qualquer unidade óptica. (Estou falando de unidades giratórias, nem nos importamos com o SSD!)

Por exemplo, gravar um CD a 52x precisaria de um fluxo de dados de 7.6MBps. Mesmo um hard-drive lento (PIO2) deve ser capaz de manter (8.3MBps), e muito menos qualquer drive UDMA (o UDMA0 pode gerenciar 16,7MBps), o que pode fornecer um fluxo estável.

Gravar um DVD até mesmo no 24x mais rápido precisaria de apenas 32MBps, mas um sistema com essa unidade certamente teria um disco rígido com ordens de magnitude mais rápido (o SATA1 pode fazer até 150MBps, então mesmo um unidade ridiculamente fragmentada deve ser rápido o suficiente).

Até mesmo um disco Blu-ray precisa de apenas 54MBps, o que até mesmo um disco rígido IDE ATA66 pode fornecer.

E essas velocidades da unidade óptica são as velocidades ideais, de leitura ; as velocidades reais, em gravação costumam ser um pouco mais lentas!

Ok, admito que os tempos de busca desempenham um papel e a fragmentação aumenta os tempos de acesso, mas, mesmo assim, a menos que a unidade seja classificada acima da velocidade do disco que está sendo gravado (por exemplo, 8.3MBps de um PIO2 acima de 52x 7.6MPbs do CD-R = apenas 716.8KBps mais rápido), então as diferenças devem ser grandes o suficiente para tornar os tempos de acesso irrelevantes (por exemplo, 150MPbs de uma unidade SATA1 sobre 32MPbs de um DVD 24x = 118MBps mais rápido!)

Então qual é o negócio? Por que as pessoas continuam insinuando que os discos rígidos são o gargalo na gravação de discos ópticos? O que poderia estar causando o problema e por que o LED de atividade da unidade sempre fica sólido quando o software de gravação começa a ler o disco rígido, embora a transferência de um arquivo gigante normalmente faça com que ele pisque?

    
por Synetech 12.06.2011 / 00:22

3 respostas

3

Existem várias coisas importantes que significam que um disco rígido pode ser a razão por trás de um buffer under-run.

  1. O disco rígido usado para usar cabos IDE, o que pode significar que em um cabo você tem dados sendo copiados do disco rígido e gravados na unidade de CD / DVD. Isso reduziria efetivamente a largura de banda disponível para ou de cada dispositivo. Embora isso tenha mudado com o SATA, ainda há contenção no controlador do barramento SATA. Isso leva ao meu segundo ponto

  2. Pode haver programas tentando fazer coisas ao mesmo tempo, outro programa lendo ou gravando qualquer quantidade substancial de dados pode limitar novamente a largura de banda para qualquer um dos dispositivos de maneira semelhante ao primeiro ponto. Uma leitura sequencial excessivamente grande poderia bloquear completamente a E / S do disco rígido por segundos ou mais.

  3. O sistema operacional com pouca memória significará que ele precisa exibir outros programas de dentro ou de fora para o disco, causando grandes leituras sequenciais ou gravações no arquivo de paginação que podem bloquear a E / S como no ponto 2.

Todas essas coisas significam que qualquer pico teórico de largura de banda que você acha que não está disponível o tempo todo.

O problema surge quando o gravador de CD precisa ter largura de banda garantida entre o disco rígido e o CD-ROM, se essa largura de banda for reduzida a mais de um segundo ou dois (o tamanho padrão do buffer em um gravador de CD) um estouro de buffer ocorrerá. Programas ou o sistema operacional exigindo o uso do disco rígido é suficiente para interromper o fluxo de dados para o gravador de CD por tempo suficiente para causar isso.

O principal motivo pelo qual recomendamos discos rígidos substancialmente mais rápidos para evitar a falta de buffer é porque um drive mais rápido será capaz de passar o bloqueio de E / S muito mais rápido e voltar à tarefa de ler os dados a serem enviados o gravador de CD.

- = EDIT = -

Você está certo de que muitos usuários inexperientes teriam um grande número de aplicativos "auxiliares" (RealPlayer, quickstarters e outros aplicativos variados de malware próximo), o que significava que havia menos memória disponível. Sistemas de usuários domésticos mais antigos geralmente só tinham memória suficiente disponível para o SO e um programa ou dois para serem executados confortavelmente, adicionar todos os inúteis programas de lixo e o software de gravação de CD precisando de um grande buffer de memória própria e "confortável" tornar-se decididamente desconfortável.

Observe também que o software antivírus também pode ter um impacto na largura de banda do disco rígido, já que eles precisam verificar cada bit de dados provenientes do disco rígido. Libertar recursos fechando esses programas e limpando o sistema geralmente permitia ao gravador de CD continuar com seu trabalho.

A principal coisa que faz um underrun, na verdade, uma coisa para evitar a todo custo, porém, foi a maneira como o gravador de CD realmente grava na unidade. O laser, enquanto escreve, é estúpido: "Tenho dados em buffer, escrevo dados".

Não é escrito bloco por bloco, mesmo que um CD seja escrito em setores, o processo de gravação é feito como uma trilha longa e o laser simplesmente envia o que está no buffer para os setores no disco. Se o buffer no gravador de CD de repente não estiver sendo atualizado com novos dados (como o sistema está fazendo outra coisa), os mesmos dados no buffer serão gravados várias vezes, sem nenhum sinal do software de controle que deveria ter parado escrevendo dados há muito tempo e você acaba com lixo no disco. Pode ser várias centenas de megabytes de lixo ou pode ser apenas alguns kilobytes, de qualquer forma esse disco agora é inútil, pois é impossível dizer onde os dados bons terminaram e os dados ruins começaram.

Recuperar do lixo que está sendo escrito é difícil, já que você não tem como dizer o quanto dos dados gravados era realmente lixo e quanto dele realmente deveria ser repetido. Seria muito melhor se pudéssemos evitar que o lixo fosse escrito em primeiro lugar e é isso que a proteção sub-executável está fazendo, ele observa o amortecedor e quando chega perto de ficar vazio, ele diz ao laser para parar de escrever e aguarde a exibição de novos dados antes de continuar.

    
por 12.06.2011 / 00:58
0

Procure tempo e se o HDD estiver no mesmo canal que o gravador. Além disso, como você mencionou, essas são MAX SPEEDS, não mínimas. O software também pode atrasá-lo, e o CD precisa de dados constantes sendo gravados, a menos que você o use como um disquete. Se o disco rígido é mais que o dobro, então ele pode ficar descansando por qualquer razão

    
por 12.06.2011 / 00:36
0

Se você tiver muitos arquivos pequenos sendo queimados, o gravador de CD será mais rápido que o disco rígido, pois os arquivos (provavelmente) não estarão localizados contíguos no disco, enquanto o CD estará sendo gravado contíguamente. Então, você estaria comparando o HDD leituras aleatórias vs. CD gravação sequencial , a última das quais é frequentemente mais rápida.

    
por 28.12.2011 / 05:44