"MEIO DE GRAVAÇÃO ÓTICA, MÉTODO PARA O GERENCIAMENTO DE BLOCOS COM DEFEITO DENTRO DE UMA ÁREA DE DADOS DE USUÁRIO DE UM MEIO DE GRAVAÇÃO ÓTICA E APARELHO PARA GRAVAÇÃO DE DADOS." Campo da Técnica A presente invenção refere - se a um meio para a gravação de sinais óticos o qual permite novas gravações e, mais particularmente, a um método e aparelho para a gravação de dados no meio para a gravação de sinais óticos no qual as áreas com defeitos podem ser gerenciadas.
Um meio para a armazenagem de sinais óticos está geralmente dividido em uma memória somente de leitura (ROM), uma memória de gravação única e diversas leituras (WORM) no qual os dados podem ser gravados uma vez, e memórias de múltipla gravação as quais podem ser gravadas diversas vezes. Os meios para armazenagem de sinais óticos os quais podem ser gravados inúmeras vezes, isto é, os discos óticos, incluem discos compactos regraváveis (CD-RW) e discos digitais versáteis regraváveis (DVD-RW, DVD-RAM, DVD+RW).
As operações de gravação e leitura de dados em um disco ótico regravável podem ser repetidas. Esse processo repetido altera a relação das camadas de armazenagem para a gravação de dados no disco ótico a partir da relação inicial. Desta forma, os discos óticos perdem suas características e geram erros durante uma gravação/leitura. Essa degradação é indicada como uma área com defeito quando da formatação, gravação ou leitura a partir de um meio para a armazenagem de sinais óticos. Também, as áreas com defeito de um disco ótico regravável podem ser causadas por um arranhão sobre superfície, partículas de sujeira e poeira, ou erros durante a fabricação. Portanto, de modo a impedir a gravação em ou a leitura a partir de uma área com defeito, o gerenciamento destas áreas com defeito é necessário. A Fig. 1 mostra uma área de gerenciamento de defeitos (DMA) em uma área de entrada e uma área de saída do disco ótico para gerenciar uma área com defeito. Mais particularmente, a área de dados está dividida em uma pluralidade de zonas para o gerenciamento das áreas com defeito, nas quais cada zona está adicionalmente dividida em uma área de uso e uma área de reserva. A área de uso é onde os dados estão realmente gravados e a área de reserva é usada quando um defeito ocorre na área de uso.
Existem quatro DMAs em um disco, por exemplo, um DVD-RAM, duas das quais existem na área de entrada e duas existem na área de saída. Como o gerenciamento das áreas com defeito é importante, as mesmas informações são repetidamente gravadas em todas as quatro DMAs para proteger os dados. Cada DMA compreende dois blocos de 32 setores, onde um bloco compreende 16 setores. O primeiro bloco da DMA, denominado bloco DDS/PDL, inclui uma estrutura de definição de disco (DDS) e uma lista de defeitos primária (PDL). 0 segundo bloco da DMA, denominado um bloco SDL, inclui uma lista de defeitos secundária (SDL). O PDL corresponde a uma armazenagem primária de dados de defeitos e a SDL corresponde a uma armazenagem de dados secundária de defeitos. o PDL geralmente armazena as entradas dos setores com defeito causados durante a fabricação do disco, ou identificados quando da formatação de um disco, a saber quando da inicialização e reinicialização de um disco. Cada entrada corresponde a um tipo de entrada e a um número de setor correspondente a um setor com defeito. A SDL relaciona as áreas com defeito nas unidades de blocos, armazenando assim as entradas dos blocos com defeito ocorridos após a formatação ou blocos com defeito os quais não puderam ser armazenados na PDL durante a formatação. Conforme mostrado na Fig. 2, cada entrada de SDL tem uma área para a armazenagem de um número de setor do primeiro setor de um bloco tendo setores com defeito, uma área para armazenar um número de setor de um bloco de substituição para o bloco com defeito e áreas reservadas.
Ainda, cada entrada SDL recebe um valor de 1 bit para uma marcação de indicação forçada (FRM). Um bit FRM de valor 0 indica que um bloco de substituição foi indicado e que o bloco indicado não apresenta nenhum defeito. Um bit FRM de valor 1 indica que um bloco de substituição não foi indicado ou que o bloco de substituição indicado tem um defeito. Destas forma, para gravar dados em um bloco com defeito relacionado em uma entrada SDL, um novo bloco de substituição deve ser encontrado para gravar os dados. Consequentemente, as áreas com defeito, isto é, setores com defeito ou blocos com defeito, no interior da área de dados são substituídos por setores ou blocos normais ou sem defeito através de um algoritmo de substituição por salto e um algoritmo de substituição linear. A substituição por salto é utilizada quando uma área ou setor com defeito está gravada no PDL. Conforme mostrado na Fig. 3A, es setores com defeito "m" e "n", correspondentes a setores na área de uso, estão gravados na PDL, tais setores com defeito são pulados para o próximo setor disponível. Pela substituição dos setores com defeito pelos setores subsequentes, os dados são gravados em um setor normal. Como um resultado, a área de uso na qual os dados são gravados cresce a ocupa a área de reserva em uma quantidade equivalente aos setores com defeito saltados. A substituição linear é utilizada quando um bloco com defeito é gravado no SDL ou quando um bloco com defeito é encontrado durante a leitura. Conforme mostrado na Figura 3B, se blocos com defeito "m" e "n", correspondentes a blocos na área de uso ou na área de reserva, estão gravados na SDL, tais blocos com defeito são substituídos por blocos normais na área de reserva e os dados a serem gravados na bloco com defeito são gravados em uma área de reserva indicada. Para realizar a substituição, um número de setor fisico (PSN) indicado para um bloco com defeito permanece, enquanto um número de setor lógico (LSN) é deslocado para o bloco de substituição junto com os dados a serem gravados. A substituição linear é efetiva para o processamento de dados não em tempo real. Para conveniência, dados os quais não exigem processamento em tempo real são aqui a seguir denominados dados de computador pessoal (PC) .
Se um bloco de substituição relacionado na SDL, é observado como apresentando um defeito, um método de indicador direto é aplicado na relação SDL. De acordo com o método de indicador direto, o bloco de substituição com defeito é substituído por um novo bloco de substituição em uma entrada SDL do bloco de substituição com defeito é modificada para um número de setor do primeiro setor do novo bloco de substituição. A Figura 4A mostra um procedimento para gerenciar um bloco com defeito encontrado durante a gravação ou a leitura de dados em ou a partir de uma área de uso. As Figuras 4B a 4D mostram realizações de entradas SDL geradas de acordo com o algoritmo de substituição linear. Cada entrada SDL tem, em ordem, um FRM, um número de setor do primeiro setor do bloco com defeito, e um número de setor do primeiro setor do bloco de substituição.
Por exemplo, se a entrada SDL é (1, blkA, 0) conforme mostrado na Figura 4B, um bloco com defeito que foi recentemente observado durante a reprodução é relacionado na SDL. Esta entrada indica que um defeito ocorreu no bloco blkA e que não existe um bloco de substituição indicado. A entrada SDL é usada para impedir que dados sejam gravados no bloco com defeito quando da próxima gravação. Desta forma, durante a próxima gravação, um bloco de substituição é indicado para substituir o bloco de substituição blkA de acordo com uma substituição linear.
Uma entrada SDL de (0, blkA, blkE) mostrada na Figura 4C, indica que o bloco de substituição indicado blkE não tem nenhum defeito e que dados a serem gravados no bloco com defeito blkA na área de uso são gravados no bloco de substituição blkE na área de reserva. Uma entrada SDL de (1, blkA, blkE) mostrada na Figura 4D indica que um defeito ocorreu não bloco de substituição blkE da área de reserva a qual substituiu o bloco com defeito blkA da área de uso. Em um tal caso, um novo bloco de substituição é indicado de acordo com o método de indicador direto. A Fig. 5 é um diagrama parcial de um dispositivo para gravação/leitura (R/P) em um disco ótico relacionado à operação de gravação. O aparelho R/P de disco ótico inclui um braço ótico para gravar dados em e para ler os dados a partir do disco ótico; uma unidade servo controlando o braço ótico para manter uma determinada distância a partir de uma lente de objeto do braço ótico para o disco ótico, e para manter uma trilha especificada; um processador de dados ou processando e transferindo os dados de entrada para o braço ótico ou recebendo e processando os dados reproduzidos através do braço ótico; uma interface transmitindo e recebendo dados para e a partir de um hospedeiro externo; e um microprocessador controlando 05 componentes. A interface do aparelho para gravar/ler um disco ótico está acoplada ao hospedeiro, tal como um PC, e comunica comandos e dados com o hospedeiro.
Se existem dados a serem gravados no aparelho para gravar/ler um disco ótico, o hospedeiro envia um comando de gravação para o aparelho para gravar/ler um disco ótico. O comando de gravação compreende um endereço de bloco lógico (LBA) indicando um local para a gravação e uma transferência de comprimento indicando o tamanho dos dados. Subseqüentemente, o hospedeiro envia os dados a serem gravados para o aparelho para gravar/ler um disco ótico. Após os dados a serem gravados no disco ótico terem sido recebidos, o aparelho para gravar/ler um disco ótico grava os dados a partir do LBA indicado. Neste momento, o aparelho para gravar/ler um disco ótico não grava os dados nas áreas com defeito, tendo como referência PDL e SDL, as quais indicam os defeitos no disco ótico.
Com referência novamente à Fig. 4A, o aparelho para gravar/ler um disco ótico salta os setores físicos relacionados na PDL e substitui os blocos físicos relacionados na SDL no interior da área entre A e B, pelos blocos com defeito indicados na área de reserva durante a gravação. Se um bloco com defeito não relacionado na SDL ou um bloco sujeito a erros é encontrado durante a gravação ou leitura, o aparelho para gravar/ler um disco ótico considera um tal bloco como um bloco com defeito. Como um resultado, o aparelho para gravar/ler um disco ótico busca um bloco de substituição na área de reserva para regravar os dados correspondentes ao bloco com defeito e relaciona o primeiro número de setor da bloco com defeito e o primeiro número de setor do bloco com defeito na entrada SDL.
Para realizar a substituição linear, a saber, gravar os dados no bloco de substituição indicado na área de reserva quando um bloco com defeito é encontrado (relacionado ou nâo na SDL), o aparelho R/P de disco ótico deve mover o braço de leitura a partir da área de uso para a área de reserva e de volta para a área de uso. Devido ao deslocamento do braço de leitura exigir tempo, uma substituição linear interfere com uma gravação em tempo real.
Desta forma, os métodos de gerenciamento de áreas com defeito para gravação em tempo real, tal como um aparelho visual de áudio, têm sido extensivamende discutidos. Um método é usa um algoritmo de saltar no qual um bloco com defeito é saltado e os dados são gravados no próximo bloco normal, similarmente ao algoritmo de substituição linear. Se esse algoritmo é empregado, o braço de leitura não necessita ser deslocado para a área de reserva sempre que um bloco com defeito é encontrado, com o que o tempo necessário para deslocar o braço de leitura pode ser reduzido e a interferência com a gravação em tempo real pode ser eliminada.
Por exemplo, se os dados de PC os quais não exigem um processamento em tempo real, conforme mostrado na Figura 4A, são recebidos quando a SDL é usada, o algoritmo de substituição linear é executado quando blocos com defeito blkA e blkB são encontrados. Se os dados recebidos exigem um processamento em tempo real, conforme mostrado na área entre B e C da Figura 4A, o algoritmo de saltar é usado quando um bloco com defeito blkC é encontrado. Em outras palavras, a substituição linear não é realizada. Para a substituição linear, o PSN do bloco com defeito é mantido como está e o LSN do bloco com defeito é deslocado para o bloco de substituição, Para o algoritmo de saltar, ambos o LSN e o PSN do bloco com defeito blkC são mantidos como estão.
Consequentemente, quando o hospedeiro lê os dados gravados de acordo com o algoritmo de saltar, o microprocessador transmite todos os dados, inclusive os dados dos blocos com defeito através da interface. Entretanto, o hospedeiro não pode identificar os dados dos blocos com defeito saltados, resultando em uma leitura incorreta dos dados. Portanto, o microprocessador do aparelho R/P de disco ótico deve instruir o braço de leitura para não ler os blocos com defeito entre os dados lidos a partir do disco ótico e transmitidos para o usuário. Aqui, as informação relativa aos blocos com defeito, conforme mostrada nas Figuras 4B a 4D, permanece na SDL o microcomputador pode transmitir a informação para o hospedeiro, a pedido. A SDL é a informação nos blocos com defeito com relação ao algoritmo de substituição linear. Entretanto, o microprocessador não pode discriminar a informação gravada com relação à substituição linear a partir da informação gravada com relação ao algoritmo de saltar não realizando a substituição linear. Consequentemente, se o algoritmo de saltar é utilizado, o microprocessador pode transmitir a informação incorreta para o hospedeiro. Da mesma forma, o hospedeiro não pode identificar os dados dos blocos com defeito saltados, resultando em uma leitura errada dos dados.
Adicionalmente, como o tamanho da área de reserva pode não ser suficiente, a área de reserva pode se tornar cheia enquanto a DMA tem área redundantes para relacionar os blocos com defeito nas entradas PDL ou SDL. Se a área de reserva está cheia, um indicador de área de reserva cheia é estabelecido no DMA. A área de reserva pode se tornar cheia antes da DMA quando a alocação inicial da área de reserva é insuficiente ou quando a área de reserva disponível é rapidamente reduzida devido a defeitos, particularmente defeitos de pulsos ocorrendo na área de reserva. Como é desejável aumentar a capacidade de gravação do disco ótico, um método para adicionalmente reduzir o tamanho da área de reserva tem sido considerado. Em um tal caso, entretanto, existe uma maior possibilidade que a área de reserva se torne cheia antes da DMA.
Consequentemente, se o aparelho R/P de disco ótico encontras um bloco com defeito o qual não está relacionado na SDL, ou o qual está relacionado na SDL mas exige um novo bloco de substituição conforme mostrado nas Figuras 4B a 4D quando da gravação ou leitura de dados, o mesmo verifica a indicação de área de reserva cheia da DMA. Se a indicação de área de reserva cheia está em um estado de ajuste, o que indica que as áreas de reserva permanecem disponíveis, o aparelho grava os dados do bloco com defeito em um bloco de substituição na área de reserva e relaciona uma nova entrada SDL ou modifica a entrada SDL existente. Por outro lado, se a indicação de área de reserva cheia está em um estado estabelecido, o que indica que as áreas de reserva não estão disponíveis, uma substituição linear não pode ser executada mesmo se a DMA tem uma área redundante. Se a substituição linear não pode ser executada quando necessário, o gerenciamento das áreas com defeito não pode ser mantido. Como um resultado, o disco não pode ser usado.
Sumário da Invenção Consequentemente, um objetivo da presente invenção é solucionar pelo menos os problemas e desvantagens da técnica anterior.
Um objetivo da presente invenção é proporcionar um disco ótico e um método de gerenciamento de defeitos para o gerenciamento de defeitos do disco ótico de acordo com se um bloco de substituição foi indicado.
Um outro objetivo da presente invenção é proporcionar um aparelho e método para a gravação de dados o qual discriminadaraente armazena e gerencia a informação sobre blocos com defeito no interior do disco ótico de acordo com se um bloco de substituição foi indicado.
Ainda um outro objetivo da presente invenção é proporcionar um disco ótico, um método de gerenciamento de defeito para o gerenciamento de defeitos no referido disco ótico, e um aparelho e método para gravação de dados para armazenar a informação sobre blocos com defeito de acordo com se uma substituição linear é realizada.
Um objetivo adicional da presente invenção é proporcionar um disco ótico, um método de gerenciamento de defeito para o gerenciamento de defeitos no referido disco ótico, e um aparelho e método para gravação de dados para armazenar a informação sobre blocos com defeito sem a aplicação de uma substituição linear quando não existe nenhuma área de substituição disponível.
Ainda um objetivo adicional da presente invenção é proporcionar um disco ótico, um método de gerenciamento de defeito para o gerenciamento de defeitos no referido disco ótico, e um aparelho e método para discriminadamente armazenar informação em blocos com defeito saltados para um processamento em tempo real ou saltados devido a uma área de reserva cheia, e a informação relativa aos blocos com defeito relacionados a um algoritmo de substituição linear.
Ainda um objetivo adicional da presente invenção é proporcionar um disco ótico, um método de gerenciamento de defeito para o gerenciamento de defeitos no referido disco ótico, e um aparelho e método para gravação de dados para discriminadamente armazenar informação em blocos com defeito relacionados em entradas SDL pelo dar a informação de identificação para as entradas SDL de acordo com se uma substituição linear é realizada.
Vantagens, objetivos e características adicionais da presente invenção serão apresentadas na descrição a seguir e, em parte, tornar-se-âo aparentes àqueles tendo um conhecimento ordinário da técnica quando do estudo do relatório a seguir ou pode ser aprendido a partir da prática da invenção. Os objetivos e vantagens da invenção podem ser realizados e atingidos conforme particularmente indicado nos desenhos anexos.
Para atingir esses objetivos, e de acordo com os propósitos da presente invenção, conforme realizada e amplamente descrita aqui, um disco ótico tem uma DMA para o gerenciamento de defeitos e compreende uma área na DMA para gravar a informação de identificação. A informação de identificação permite discriminar entre quando um bloco de substituição foi indicado de acordo com um algoritmo de substituição linear e quando um bloco de substituição não foi indicado. A área para gravar a informação de identificação é indicada como uma área reservada de uma entrada SDL na DMA. A informação de identificação indica que um bloco com defeito estava relacionado na SDL quando da gravação de dados de acordo com um algoritmo de saltar blocos ou quando uma área de reserva do meio de registro ótico estava cheia.
Um método para o gerenciamento de defeitos em um disco ótico de acordo com a presente invenção compreende determinar se um bloco de substituição deve ser indicado quando da descoberta de um bloco com defeito durante uma gravação no disco ótico; e armazenar a informação relativa ao bloco com defeito e armazenar a informação de identificação para discriminar um bloco de substituição com um bloco de substituição indicado a partir de um bloco com defeito sem um bloco de substituição indicado, com base nos resultados da determinação. A informação relativa a um bloco de substituição não é armazenada durante uma gravação de dados em tempo real. Também, a informação relativa a quando um bloco de substituição não foi indicado não existe nenhuma área de substituição disponível. A informação de identificação é armazenada em uma lista secundária de defeitos em uma área de gerenciamento de defeitos junto com a informação sobre o bloco com defeito. Ainda, a informação de marcação de indicação forçada é estabelecida como 0. Ainda, a informação relativa ao bloco com defeito discriminada com base na informação de identificação é notificada para um hospedeiro que transmite um comando de gravação.
Em uma outra realização, um método para o gerenciamento de defeitos de um disco ótico acordo com a presente invenção compreende determinar a existência ou não de uma área de substituição disponível quando um bloco com defeito é encontrado enquanto gravando os dados no disco ótico, e armazenar a informação a respeito do bloco com defeito e a informação de identificação indicando que um bloco de substituição foi indicado, se uma área de substituição disponível existe ou se um bloco de substituição não foi indicado se uma área de substituição não existe. Um bloco de substituição disponível é determinado como não existindo se os dados são gravados pelo saltar o bloco com defeito. Também, o bloco de substituição disponível é determinado como não existindo se a área de substituição está cheia.
Em ainda uma outra realização, um método para gravar dados de um disco ótico compreende receber dados e a informação de áreas nas quais os dados serão gravados no disco ótico; ler a informação de áreas com defeito do disco ótico; detectar se a informação de área com defeito do disco ótico cobre um bloco com defeito o qual foi encontrado durante a gravação; detectar se um bloco de substituição foi indicado para o bloco com defeito com base na informação de identificação contida na informação da área com defeito quando o bloco com defeito está coberto pela informação da área com defeito, e se um bloco de substituição foi indicado, gravar os dados no bloco de substituição indicado e, se não, encontrar um novo bloco de substituição disponível para gravar os dados no mesmo; e determinar se o bloco com defeito será substituído por um bloco de substituição se o bloco com defeito não está coberto pela informação da área com defeito e armazenar a informação sobre o bloco com defeito e a informação de identificação para discriminar se um bloco de substituição foi indicado para o bloco com defeito na área de gerenciamento de defeitos do disco com base no resultado da determinação. A informação de identificação é representada por pelo menos um bit de uma área reservada na relação secundária de defeitos no interior da área de gerenciamento de defeitos.
Adicionalmente, um método de gravação de dados em tempo real de um disco ótico de acordo com a presente invenção compreende receber dados e informação relativa à área na qual os dados serão gravados no disco ótico; saltar um bloco com defeito e gravar os dados em um bloco normal a seguir se o bloco com defeito é encontrado durante a gravação tem tempo real; e armazenar a informação relativa ao bloco com defeito saltado discriminadamente a partir da informação relativa a um bloco com defeito substituído por um bloco de substituição. A informação de identificação está ajustada para indicar que o bloco com defeito não foi substituído por um bloco de substituição. Se o bloco com defeito é encontrado durante a gravação dos dados pelo saltar os blocos com defeito e se a informação relativa a um bloco de substituição para o bloco com defeito está relacionada na entrada da relação secundária de defeitos, a informação sobre o bloco de substituição sendo mantida como está quando a informação relativa ao bloco com defeito é armazenada.
Adicionalmente, um aparelho para a gravação de um disco ótico compreende um controlador para detectar um bloco com defeito e determinar se um bloco de substituição foi indicado para o bloco com defeito quando da gravação de dados; um braço ótico gravando e lendo dados em/a partir do disco ótico de acordo com um controle do controlador; e uma unidade de armazenagem informando com relação ao bloco com defeito e à informação de identificação para discriminar se um bloco de substituição foi indicado para um bloco com defeito. A unidade de armazenagem não armazena o bloco de substituição durante uma gravação em tempo real e representa este fato usando a informação de identificação. A unidade de armazenagem também não armazena o bloco de substituição se não existe uma área de substituição disponível e representa este fato usando a informação de identificação.
Breve Descrição dos Desenhos A invenção será descrita em detalhes com referência aos desenhos anexos, nos quais os mesmos números de referência se referem aos mesmos elementos, nos quais: a Figura 1 mostra uma área de dados de um disco ótico convencional;
a Figura 2 ilustra uma estrutura de uma entrada SDL convencional; a Figura 3A ilustra um algoritmo de substituição de pular convencional; a Figura 3B ilustra um algoritmo de substituição linear convencional; a Figura 4A ilustra um estado de gravação de dados de acordo com o algoritmo de substituição linear ou de acordo com o algoritmo de substituição de pular quando usando uma SDL no disco ótico convencional; as Figuras 4B a 4D ilustram realizações de entradas SDL relacionando a informação relativa a blocos com defeito ocorrendo quando da gravação ou leitura de dados de acordo com o algoritmo de substituição linear; a Figura 5 é um diagrama de blocos de um aparelho para gravar/ler um disco ótico convencional; a Figura 6 é um diagrama de blocos de um aparelho para gravar/ler um disco ótico de acordo com a presente invenção; a Figura 7A ilustra a indicação de uma informação de identificação para um entrada SDL de acordo com método para o gerenciamento de defeitos em um disco ótico de acordo com a presente invenção; as Figuras 7B a 7D ilustram entradas SDL discriminadamente relacionadas quando da gravação ou leitura de dados de acordo com o algoritmo de saltar e o algoritmo de substituição linear usando a informação de identificação; as Figuras 8A e 8B são fluxogramas mostrando como a área com defeito é gerenciada usando a informação de identificação da Figura 7 de acordo com a presente invenção; e a Figura 9 ilustra uma entrada SDL relacionada quando da gravação ou leitura de dados de acordo com o algoritmo de saltar após a troca de uma definição de FRM no método para o gerenciamento de defeitos em um disco ótico de acordo com a presente invenção.
Modo para Realizar a Invenção Referência será feita agora em detalhes às realizações preferidas da presente invenção, exemplos das quais estão ilustrados nos desenho anexos. Nitidamente, a presente invenção relaciona a informação relativa aos blocos com defeito na SDL de acordo com se uma substituição linear foi realizada quando da observação de blocos com defeito quando da gravação ou leitura de dados em ou a partir de um disco ótico. Em uma realização, a presente invenção nitidamente relaciona tal informação pelo indicar a informação de identificação. Em uma outra realização, tal informação é nitidamente relacionada pela substituição de parte da definição FRM.
Na primeira realização da presente invenção, a informação indicando se ou não um correspondente bloco com defeito está relacionado enquanto os dados são gravados de acordo com um algoritmo de substituição linear é gravada em uma entrada SDL em uma área reservada. A Figura 6 mostra um aparelho para gravar/ler um disco ótico de acordo com a presente invenção compreendendo um braço ótico 602 para gravar e ler dados em e a partir de um disco ótico 601, uma unidade servo 603 controlando o braço ótico 602 para manter uma determinada distância a partir de uma lente de objeto do braço ótico 602 para o disco ótico 601, e para manter uma trilha especificada; um processador de dados 604 processando os dados de entrada e transmitindo os dados processados para o braço ótico 602; uma unidade de armazenagem de informação DMA 606 lendo e armazenando a informação DMA gravada em uma área DMA do disco ótico através do processador de dados 604; uma interface 605 transmitindo e recebendo dados para e a partir de um hospedeiro externo 608; e um controlador 607 detectando se um bloco com defeito existe durante a gravação/leitura de dados e determinando se uma substituição linear foi executada para o bloco com defeito. A interface 605 do aparelho para gravar/ler um disco ótico está acoplada ao hospedeiro 608, tal como um PC, e comunica comandos e dados com o hospedeiro 608.
Quando um disco ótico o que pode ser regravado, por exemplo, um DVD-RAM, é inserido no aparelho de acordo com a presente invenção, as entradas SDL e PDL relacionadas na área DMA do disco ótico 601 são armazenadas na unidade de armazenagem de informação DMA 606 através do processador de dados 604 sob o controle do 607. Neste instante, a informação de identificação indicando se uma substituição linear foi realizada com relação a um correspondente bloco com defeito é adicionada à informação DMA armazenada na unidade de armazenagem de informação DMA 105.
Por exemplo, pelo menos um bit da área reservada na entrada SDL existente é indicada como o bit de informação de identificação (info ID) . o bit info ID é estabelecido com um valor de 1 ou 0 para identificar se a substituição linear foi realizada para a informação relacionada na SDL. Em outras palavras, o algoritmo de substituição linear não é realizado quando o algoritmo de saltar é realizado ou quando a área de reserva está cheia. Na presente invenção, o bit info ID é denominado um bit de controle de substituição linear (LRC) e está mostrado na Figura 7A.
Com referência à Figura 7A, cada entrada SDL compreende uma área LRC, uma área para armazenar um número de setor do primeiro setor de um bloco tendo setores com defeito, e uma área para armazenar um número de setor do primeiro setor de um bloco de substituição substituindo o bloco com defeito. Como o bit LRC tem um diferentes significado a partir do bit FRM, o FRM também pode ser incluido na SDL. Entretanto, nesta realização da presente invenção, o bit FRM não é utilizado.
Conforme mostrado na Figura 7B, o valor de bit LRC de 0 na entrada SDL foi feito quando da gravação dos dados de acordo com o algoritmo de substituição linear. Conforme mostrado na Figura 7C ou 7D, um valor de bit LRC de 1 significa que a entrada SDL foi feita quando da gravação dos dados de acordo com o algoritmo de saltar ao invés de com a substituição linear ou enquanto a área de reserva estava cheia. Quando um bloco com defeito é encontrado durante a gravação de dados de acordo com o algoritmo de substituição linear, os dados correspondente ao bloco com defeito são gravados em um bloco de substituição e o bit LRC é estabelecido para 0, desde que a área de reserva não esteja cheia. De outra forma, se a área de reserva está cheia, a substituição linear não é realizada e o bit LRC é estabelecido como 1. Também, quando um bloco com defeito é encontrado durante a gravação de dados de acordo com o algoritmo de saltar, o bloco com defeito é saltado e o bit LRC e a entrada SDL correspondentes ao bloco com defeito são estabelecidos como 1.
Após um tempo pré-determinado ter passado, por exemplo, durante a gravação de dados ou após o término da gravação, o controlador 607 transmite a informação relativa aos blocos com defeito para o hospedeiro. Em um tal momento, o controlador 607 pode detectar se ou não a correspondente entrada SDL foi feita quando da gravação dos dados de acordo com um algoritmo de substituição linear com base no bit LRC, sendo capaz, assim de transmitir a informação correta para o hospedeiro. Consequentemente, o hospedeiro pode apropriadamente comandar pata não mais gravar/ler em/a partir dos blocos com defeito relacionados na SDL. 0 hospedeiro pode expedir um comando de gravar/ler devido às SDL. Em outras palavras, o hospedeiro iria comandar para não mais gravar/ler dados em ou a partir dos blocos com defeito relacionados na SDL. O aparelho para gravar/ler um disco ótico recebe ambos os dados e a informação das áreas nas quais os dados serão gravados no disco ótico, e lê a informação relativa a áreas com defeito do disco ótico. 0 aparelho para gravar/ler um disco ótico detecta se a informação das áreas com defeito cobre um bloco com defeito o qual foi encontrado durante a gravação; e detecta se um bloco de substituição foi indicado para o bloco com defeito com base na informação de identificação contida na informação de área com defeito se o bloco com defeito encontrado está coberto pela informação das áreas com defeito. Se um bloco de substituição foi indicado, grava os dados no bloco de substituição indicado e, se não, encontra um novo bloco de substituição disponível para gravar os dados no mesmo. 0 aparelho para gravar/ler um disco ótico adicionalmente determina se o bloco com defeito será substituído por um bloco de substituição se o bloco de substituição não está coberto pela informação das áreas com defeito, e armazena a informação relativa aos blocos com defeito e à informação de identificação para discriminar se um bloco de substituição foi indicado para o bloco com defeito na área de gerenciamento de defeitos do disco com base no resultado da determinação. A informação de identificação está representada com pelo menos um bit de uma área de reserva de uma relação secundária de defeitos no interior da área de gerenciamento de defeitos.
Desta forma, o aparelho para gravar/ler um disco ótico se desvia dos blocos com defeito relacionados na SDL quando da gravaçâo/leitura dos dados. Em um tal caso, o bit LRC da entrada SDL é estabelecido como 1 quando um novo bloco com defeito é encontrado e a localização da informação relativa ao bloco com defeito é alimentada. Uma vez que a informação relativa ao bloco de substituição não é necessária, o valor existente é mantido como está ou um valor 0 é alimentado.
Alternativamente, se o hospedeiro expede um comando para gravar/ler independente da informação relativa ao bloco com defeito na SDL, o controlador 607 do aparelho para gravar/ler um disco ótico identifica os blocos com defeito relacionados na SDL com base na informação DMA armazenada na unidade de armazenagem de informação DMA 606 durante a gravação/leitura dos dados. Se o comando de leitura é emitido, se um bloco de substituição deve ser encontrado pode ser determinado com base no bit LRC da entrada SDL na qual o bloco com defeito está relacionado. Se um comando de gravar é emitido, o bit LRC de uma entrada existente pode variar dependendo do algoritmo de substituição linear ou não. Aqui, um bloco com defeito recém encontrado é processado da mesma maneira que descrito acima. Por exemplo, se um bloco com defeito relacionado na SDL é encontrado quando da gravação de dados de acordo com o algoritmo de saltar o bloco com defeito é saltado e o bit LRC da entrada SDL correspondente ao bloco com defeito é estabelecido como 1.
Neste momento, se a informação relativa a um bloco de substituição está gravada na área para armazenar o número de setor do primeiro setor do bloco de substituição na entrada SDL, a informação é mantida como está. Por exemplo, uma entrada SDL de (0, blkC, blkG) conforme mostrada na Figura 7B, significa que os dados foram gravados de acordo com o algoritmo de substituição linear e um bloco de substituição foi indicado. Se uma tal entrada SDL é encontrada quando da gravação de dados de acordo com o algoritmo de saltar, o bloco com defeito blkC é saltado e a entrada SDL é modificada para (1, blkC, blkG), conforme mostrada na Figura 7C.
Desta forma, a entrada SDL (1, blkC, blkG), conforme mostrada na Figura 7C, significa que os dados foram gravados de acordo com o algoritmo de saltar, um defeito ocorrido no bloco blkC, e a informação relativa ao bloco de substituição blkG é mantida mas não é usada durante a gravação/leitura. Uma entrada SDL (1, blkC, 0) , conforme mostrada na Figura 7D, significa que os dados foram gravados de acordo com o algoritmo de saltar e um novo bloco com defeito blkC foi encontrado e alimentado. Se uma tal entrada SDL é encontrada quando da gravação dos dados de acordo com o algoritmo de saltar, o bloco com defeito blkC é saltado e a entrada SDL é mantida como está.
Se a informação relativa ao bloco de substituição da área de reserva, a qual estava previamente relacionada na entrada SDL de acordo com o algoritmo de substituição linear, é mantida na entrada SDL como a mesma estava quando da gravação dos dados de acordo com o algoritmo de saltar, a informação relativa ao bloco de substituição pode ser usada em gravações subsequentes. Em outras palavras, quando da gravação de dados em um tal bloco com defeito relacionado na SDL de acordo com o algoritmo de substituição linear, se a informação relativa ao bloco de substituição não existe, um bloco de substituição para o bloco com defeito deve ser prontamente indicado para a área de reserva.
Entretanto, se a informação relativa ao bloco de substituição é mantida, a localização do bloco de substituição previamente indicado pode ser usada como o novo bloco de substituição recém indicado.
Por exemplo, um bloco seguinte ao bloco de substituição blkH, mostrado na Figura 4A, é indicado como o novo bloco de substituição. Uma vez que um bloco de substituição o qual não estava anteriormente indicado não pode ser reutilizado, a capacidade disponível do disco ótico é reduzida, reduzindo assim a eficiência do disco ótico. Portanto, se a informação relativa ao bloco de substituição é mantida mesmo quando da gravação de dados de acordo com o algoritmo de saltar, conforme descrito acima, o bloco de substituição previamente indicado pode ser reutilizado tal como está quando da gravação de dados de acordo com o algoritmo de substituição linear em uma gravação subsequente, aumentando assim a eficiência do disco ótico.
Mais especificamente, se a informação relativa ao bloco de substituição blkG, no qual os dados do bloco com defeito blkC foram gravados durante a gravação com substituição linear, é mantida na entrada SDL durante a gravação em tempo real, os dados do bloco com defeito blkC não são gravados no novo bloco de substituição na área de reserva mas no bloco de substituição blkG, o qual já foi indicado, durante a próxima gravação com substituição linear.
Ao mesmo tempo, se um bloco com defeito o qual exige um novo bloco de substituição é encontrado durante a gravação/ leitura usando a substituição linear, mas não existe nenhum bloco de substituição indicado para o bloco com defeito, em outras palavras, a área de reserva está cheia (desde que a DMA tenha redundância) , o valor do bit LRC da entrada SDL é estabelecido como 1. Neste momento, o bloco de substituição ainda não existe. Como um resultado, a informação relativa ao bloco de substituição não está relacionada e a informação de localização do bloco com defeito está relacionada conforme mostrado na Figura 7D. Se a indicação de área de reserva cheia e o bit bit LRC estão estabelecidos como 1 durante a gravação ou leitura, os dados relativos ao bloco com defeito não podem ser lidos e os dados não podem ser gravados no bloco com defeito porque o bloco de substituição para o bloco com defeito não existe e a substituição linear não pode ser efetuada.
As Figuras 8A e 8B são fluxogramas mostrando as operações acima do aparelho para gravar/ler um disco ótico de acordo com a presente invenção . Se existem dados a serem gravados, o hospedeiro alimenta um comando de gravação e se existe uma leitura de dados o hospedeiro alimenta um comando de leitura, através da interface do aparelho para gravar/ler um disco ótico (800). Após um comando de gravação ou de leitura ser recebido a partir do hospedeiro, o controlador 607 do aparelho para gravar/ler um disco ótico determina se os dados de entrada exigem uma gravação/leitura em tempo real (802) .
Quando os dados são determinados como exigindo uma gravação em tempo real, o aparelho começa a gravar os dados na localização da LBA indicada pelo hospedeiro (804). Uma determinação é feita de se a gravação de dados terminou (806) e se um bloco com defeito foi encontrado quando da gravação dos dados não terminou (808), o bloco com defeito é saltado e os dados são gravados em um bloco normal a seguir (810) . A informação relativa ao bloco com defeito saltado é alimentada para a SDL (812) e enviada para o hospedeiro (814). Esta informação é alimentada de uma maneira a qual a diferencia a partir de uma informação de um bloco com defeito encontrado quando da realização de um algoritmo de substituição linear, Desta forma, o controlador 607 pode identificar a entrada SDL feita quando da gravação de dados de acordo com o algoritmo de substituição linear. Para este propósito, o bit LRC da SDL é estabelecido como 1 e a informação de localização do bloco com defeito é alimentada para a entrada SDL. O bloco com defeito encontrado na etapa 808 pode ser um bloco com defeito recém encontrado ou um bloco já relacionado na SDL. Se o bloco com defeito não está relacionado na SDL, o bloco com defeito é novo e a informação de localização relativa ao bloco com defeito é relacionada na entrada SDL pelo se estabelecer o bit LRC como 1, tal como (1, blkc, 0), conforme mostrado na Figura 7D. Se o bloco com defeito está relacionado na SDL, a SDL é corrigida pelo se estabelecer o bit LRC como 1 e manter a informação relativa ao bloco de substituição, tal como (1, blkc, blkG), conforme mostrado na Figura 7C. Tal procedimento é realizado até a gravação dos dados pelo comando de gravação do hospedeiro ter sido completada. Se a gravação é completada (806), o controlador 607 transmite um relatório de execução de comando para o hospedeiro (816).
Quando os dados são determinados como exigindo uma leitura em tempo real, o aparelho começa a ler os dados a partir de uma localização da LBA indicada pelo hospedeiro (804). Como na gravação, uma determinação é feita se a leitura dos dados terminou (806). Entretanto, se um bloco com defeito é encontrado quando da leitura dos dados ainda não terminou (808), o bloco com defeito pode ser saltado, dados parcialmente corretos podem ser lidos a partir do bloco com defeito ou dados sem significado podem ser retornados (não mostrados na Figura 8A) . A informação relativa ao bloco com defeito saltado é alimentada para a SDL (812) e enviada para o hospedeiro (814). Tal procedimento é realizado até a leitura dos dados pelo comando de leitura do hospedeiro ser terminado. Quando a leitura terminou (806), o controlador 607 transmite um relatório de execução de comando para o hospedeiro (816).
Durante a gravação/leitura, o controlador 607 pode enviar a informação relativa ao bloco com defeito para o hospedeiro de diversas maneiras. Por exemplo, a informação relativa ao bloco com defeito pode ser embutida em uma mensagem para transmissão para o hospedeiro, ou um novo comando permitindo o reconhecimento do bloco saltado pode ser gerado e transmitido para o hospedeiro, ou a informação relativa ao bloco com defeito pode ser transmitida junto com o relatório de execução de comando para o hospedeiro após o término da gravação/leitura em tempo real.
Se é determinado que os dados a serem gravados não exigem uma gravação em tempo real na etapa 802, a saber, os dados são dados de PC, o controlador 607 grava/lê os dados começando a partir da LBA indicada pelo hospedeiro (820) . Se um comando de leitura é recebido, a leitura é realizado começando a partir da LBA indicada pelo hospedeiro e se um comando de gravação é recebido, a gravação é iniciada a partir da LBA indicada pelo usuário. Quando a gravação/leitura de dados ainda não terminou (822) e um bloco com defeito é encontrado, (824), uma determinação é feita de se o bloco com defeito está relacionado na SDL (826).
Se o bloco com defeito não está relacionado na SDL, um bloco de substituição a partir da área de reserva é indicado. Desta forma, a indicação de área cheia é verificada para determinar se existe algum bloco de substituição disponível, isto é, se a área de reserva está cheia (828) . Uma indicação de área cheia de valor 1 indica que não existe nenhum bloco de substituição disponíveis. Se não existe nenhum bloco de substituição disponível, a informação LRC é estabelecida como 1, a informação relativa à localização do bloco com defeito é relacionada e a informação de localização do bloco de substituição é estabelecida como 0, tal como (1, blkC, 0), conforme mostrado na Figura 7D (830) . A informação relativa ao bloco com defeito é transmitida para o hospedeiro (832) e um relatório de um erro no processo de gravação/leitura é enviado para o hospedeiro (834).
Se a área de reserva não está cheia durante a gravação de dados, um bloco de substituição é indicado e os dados a serem gravados no bloco com defeito são gravados no bloco de substituição (836). Também, a informação relativa à localização do bloco com defeito e ao bloco de substituição está relacionada na SDL, e a informação LRC na SDL é estabelecida como 0, tal como (0, blkC, blkG), conforme mostrado na Figura 7B (836) . A informação relativa ao bloco com defeito é transmitida para o hospedeiro (838) e o processo retorna para a etapa 820 para a gravação de mais dados (840).
Durante a leitura de dados, mesmo se existe um bloco de substituição disponível, os dados não podem ser lidos a partir do bloco com defeito. Consequentemente, um relatório de um erro é enviado para o hospedeiro (840). Entretanto, a informação relativa ao bloco com defeito pode ser transmitida para o hospedeiro para futuro uso (838) e um bloco de substituição pode até mesmo ser indicado para utilização na próxima gravação (não mostrada). Se um bloco de substituição foi indicado, a informação relativa à localização do bloco com defeito e do bloco de substituição está relacionada na SDL e a informação relativa à LRC na SDL é estabelecida como 0 na etapa 836.
Se o bloco com defeito está relacionado nba SDL, uma determinação adicional é feita de se um bloco de substituição foi indicado (842). A saber, se o bit LRC é 0, a entrada SDL havia sido anteriormente quando da gravação/leitura de dados de acordo com o algoritmo de substituição linear. Desta forma, a gravação/ leitura é continuada de acordo com o algoritmo de substituição linear (844) e o processo retorna para a etapa 820 para uma nova gravação/leitura de dados. Em outras palavras, se um bloco de substituição é indicado para a entrada SDL, o braço ótico é deslocado para o bloco de substituição e os dados são gravados em ou lidos a partir do bloco de substituição. Se o bit LRC da entrada SDL é 1 e um bloco de substituição foi indicado, tal como (1, blkC, blkG), conforme mostrado na Figura 7C, o bloco de substituição relacionado é usado para a realização da substituição linear e o bit LRC é corrigido para 0, tornando a entrada SDL 0 (0, blkC, blkG), conforme mostrado na Figura 7B.
Se o bloco de substituição indicado apresenta um defeito, um novo bloco de substituição pode ser indicado de acordo com o método de indicador direto e os dados são então gravados/lidos a partir do bloco de substituição indicado. Entretanto, se a área de reserva se torna cheia antes da DMA e não existe um bloco de substituição para ser indicado, a informação relativa â localização do bloco com defeito da entrada SDL é mantida e o bit LRC é estabelecido como 1, tal como (1, blkC, 0), conforme mostrado na Figura 7D, indicando a não execução da substituição linear.
Se um bloco de substituição não foi indicado na entrada SDL, a indicação de área de reserva cheia é verificada para determinar se existe um bloco de substituição disponível (846) . A saber, se o bit LRC da entrada SDL é estabelecido como 1, a entrada SDL pode ter sido feita enquanto os dados eram gravados/lidos da acordo com o algoritmo de saltar ou enquanto a área de reserva estava cheia. Consequentemente, se não existe nenhum bloco de substituição disponível, isto é, a área de reserva está cheia, um relatório de um erro de gravação/leitura é enviado para o hospedeiro (834). Entretanto, quando da formatação de um disco ótico cuja área de reserva está cheia, a SADL pode ser deslocada para a PDL, dependendo do método de formatação, de tal modo que a área de reserva não está mais cheia. Em um tal caso, se a área de reserva não está cheia, o processo é o mesmo como quando a área de reserva não está cheia para os blocos com defeito não relacionados na SDL (836-840). 0 procedimento acima para os dados que não exigem tempo real é realizado até a gravação/leitura dos dados pelo comando de gravação/leitura do hospedeiro ser terminada. Se a gravação/leitura terminou, o controlador 607 envia um relatório de execução de comando para o hospedeiro (848). Aqui, o controlador 607 envia a informação relativa ao bloco com defeito saltado para o hospedeiro nos diversos métodos descrito acima com relação á Figura 8A, etapa 816.
Em uma segunda realização da presente invenção, a definição do FRM é alterada para identificar uma substituição linear a partir de uma substituição por salto. Se um bloco com defeito blkC é encontrado quando da gravação de dados de acordo com o algoritmo de saltar em tempo real, a entrada SDL é relacionada como (0, blkC, 0) conforme mostrado na Figura 9. Neste momento, um bloco de substituição não é necessário, com o que a informação relativa ao bloco de substituição na área de reserva não é modificada ou está relacionada como 0. Somente a definição do FRM é modificada.
Por exemplo, se o FRM e o bloco de substituição são ambos 0, o mesmo é modificado para ser identificado como um bloco com defeito encontrado quando da realização do algoritmo de saltar ou como uma indicação de um bloco de substituição indicado ao invés de um caso defeituoso de realização de uma substituição linear. Isto é porque o bloco com defeito, mesmo se encontrado durante uma gravação em tempo real, é saltado e um bloco de substituição para o bloco com defeito não existe na área de reserva. Adicionalmente, isso visa identificar a entrada SDL relacionada de acordo com o algoritmo de saltar a partir da entrada SDL relacionada de acordo com o algoritmo de substituição linear. Mesmo sob a condição que a área entre B e C na Figura 4A estivesse relacionada de acordo com ao algoritmo de substituição linear e a informação relativa ao bloco com defeito tal como (0, blkC, blkG) fosse mantida como a entrada SDL, se a área é usada para uma nova gravação de acordo com o algoritmo de saltar, a entrada SDL é modificada para (0, blkc, 0).
Resumidamente, a presente invenção tem as seguintes vantagens. Inicialmente, uma vez que o controlador pode detectar a existência ou não de uma substituição linear de acordo com o bit LRC indicado para cada entrada SDL, o aparelho para gravar/ler um disco ótico (a saber, um drive), pode transmitir a informação correta para o usuário. Consequentemente, mesmo se dados não corretos de blocos saltados, a saber, dados anteriores nos blocos saltados são reproduzidos pelo aparelho para gravar/ ler um disco ótico e transmitidos para o hospedeiro durante a reprodução dos dados, o hospedeiro descarta os dados dos blocos saltados e lê somente os dados dos blocos normais com base na informação relativa ao bloco com defeito recebida a partir do controlador. Em outras palavras, a presente invenção pode impedir que um erro ocorra quando o hospedeiro não conhece a informação relativa aos blocos saltados.
Também, mesmo se um bloco com defeito relacionado na SDL é encontrado quando da realização de um comando de leitura a partir do hospedeiro, o controlador pode distintamente determinar se encontrar um bloco de substituição ou se descartar o bloco com defeito e retornar só uma mensagem de erro para o hospedeiro. Finalmente, quando um bloco com defeito exigindo um novo bloco de substituição é encontrado quando da gravação ou leitura de dados quando a área de reserva está cheia, ao invés de realizar uma substituição linear, o bit LRC é estabelecido na entrada SDL junto com a informação relativa à localização do bloco com defeito para indicar que a entrada SDL correspondente foi feita quando a área de reserva estava cheia, pelo que os dados não são gravados nos blocos com defeito ou os dados nos blocos com defeito não são lidos quando de uma nova gravação ou leitura dos dados. Consequentemente, a presente invenção permite um gerenciamento eficiente do disco e aumenta a durabilidade do disco.
As realizações acima são somente exemplificativas e não devem ser consideradas como limitando a presente invenção. Os ensinamentos da presente invenção podem ser prontamente aplicados a outros tipos de aparelhos. A descrição da presente invenção deve ser entendida como ilustrativa, e não limita o escopo das reivindicações. Diversas alternativas, modificações e variações serão aparentes àquelas pessoas versadas na técnica.