MÉTODO E DISPOSITIVO PARA LEITURA E GRAVAÇÃO DE CARTÃO DE MEMÓRIA
CAMPO TÉCNICO DA INVENÇÃO
[001] A presente invenção refere-se ao campo de desenvolvimento do sistema embarcado e em particular a um método e dispositivo para leitura e gravação de cartão de memória.
ESTADO DA TÉCNICA
[002] Como um meio de armazenamento de grande capacidade, cartões de memória, tais como os cartões compactos de memória flash (cartões CF de modo abreviado), os cartões de memória do tipo Secure Digital Card (cartões SD de modo abreviado) e os cartões do tipo TransFlash (cartões TF), têm sido usados em muitos dispositivos embarcados. Um cartão de memória se constitui geralmente de um controlador de cartão e uma unidade de memória Flash, em que a memória Flash se refere de modo geral a uma memória Flash NAND. A memória flash NAND é limitada pelo número de vezes de leituras/gravações (isto é, sua vida útil), que geralmente fica em torno de 10 a 100 mil vezes. Um cartão CF é largamente usado em dispositivos de sistemas de comunicação que possuem altos requisitos de estabilidade. E cartões SD e TF são largamente usados em dispositivos portáteis.
[003] Um cartão de memória é comumente utilizado do seguinte modo: usando um dado tipo de sistema de arquivo no cartão, tal como o sistema de arquivo pHILE, tabela de alocação de arquivo (FAT), FAT32, ext2, ext3 e assim por diante, em que a FAT32 é mais largamente usada. O software lê o cartão de memória na forma de um arquivo. Com uma capacidade bem menor do que a de um disco rígido, um cartão de memória tem geralmente apenas uma partição. Esse esquema de implementação pode ser facilmente gerenciado, mas ainda assim apresenta os seguintes defeitos em algumas aplicações: (1) Muitas seções são lidas com frequência durante o processo de acesso a um arquivo e são assim facilmente danificadas, por exemplo, em um sistema de arquivo FAT32, os setores localizados em um DBR (DOS boot Record) , FAT1, FAT2 e a região do diretório são frequentemente lidos e por isso são os mais vulneráveis a danos. Um dano em um setor frequentemente lido causará uma falha de acesso ao cartão de memória, o que fará com que uma placa única opere de modo anormal em um dispositivo embarcado; (2) Devido à ausência de um sistema de alarme perfeito, um sistema será desabilitado quando um cartão de memória é danificado, sem que haja tempo para que o pessoal da manutenção possa tentar solucionar o problema.
[004] A fim de melhorar a tolerância a erro de um cartão de memória e a robustez de um sistema, existem atualmente várias soluções. Por exemplo, (1) empregar uma placa única de cópia de segurança. A placa única de cópia de segurança evitará o problema de que um cartão de memória único desabilitado em uma placa desabilitará a placa toda em um dispositivo embutido, porém, a um alto custo. (2) Usar dois cartões de memória em uma única placa. Essa solução, apesar de ter um custo mais baixo do que a primeira solução, ainda tem um custo alto, considerando as dimensões e os materiais dos dois cartões indispensáveis. Ademais, nessa solução, as placas únicas atuais com um cartão de memória não podem ser atualizadas por meio de software para obter proteção para tolerância a erros. (3) Configurar controle de acesso de leitura/gravação de certos campos de informações chave do sistema de arquivos ou congelar as regiões com determinadas informações. Embora essa solução possa reduzir a frequência com a qual uma região com informações chave de um cartão de memória é lida/gravada e reduzir a probabilidade de dano ao cartão de memória, ela é altamente limitada em aplicações, tornando-se assim não universal. Adicionalmente, devido à ausência de um mecanismo de assistência de alarme perfeito, essa solução não introduz nenhuma melhora significativa na manutenção do dispositivo
SUMÁRIO DA INVENÇÃO
[005] A presente invenção provê um método e dispositivo para tratar do problema existente no estado da técnica de que um sistema embutido é instável por conta da baixa tolerância a erros de um cartão de memória.
[006] De acordo com um aspecto da invenção, um método para a leitura/gravação de um cartão de memória é provido, em que o cartão de memória compreende uma partição principal e ao menos uma partição de cópia de segurança, e o método compreende as seguintes etapas:
[007] ao fazer a gravação no cartão de memória, após gravar um primeiro arquivo na partição principal do cartão de memória, um dispositivo para leitura/gravação grava o primeiro arquivo em ao menos uma partição de cópia de segurança; e
[008] durante a leitura de um segundo arquivo a partir do cartão de memória, o dispositivo para leitura/gravação lê o segundo arquivo a partir da ao menos uma partição de cópia de segurança; se a leitura do segundo arquivo a partir da partição de cópia de segurança falhar, o dispositivo para leitura/gravação faz então a leitura do segundo arquivo a partir da partição principal.
[009] De acordo com outro aspecto da presente invenção, um dispositivo para leitura e gravação de um cartão de memória é provido, em que o cartão de memória compreende uma partição principal e ao menos uma partição de cópia de segurança, e o dispositivo compreende:
[010] uma unidade de gravação adaptada para gravar um primeiro arquivo na partição principal e depois gravar o primeiro arquivo na ao menos uma partição de cópia de segurança; e
[011] uma unidade de leitura adaptada para ler um segundo arquivo a partir da ao menos uma partição de cópia de segurança, se a leitura do segundo arquivo a partir da partição de cópia de segurança falhar, ler então o segundo arquivo a partir da partição principal.
[012] De acordo com a presente invenção, um cartão de memória é dividido em uma partição principal e ao menos uma partição de cópia de segurança de modo que o dispositivo para leitura/gravação possa gravar um primeiro arquivo na ao menos uma partição de cópia de segurança após gravar o primeiro arquivo na partição principal. Assim, o objetivo de proteção por cópia de segurança é alcançado porque os mesmos dados são armazenados em ambas as partições, na principal e na de cópia de segurança. Durante a leitura de um segundo arquivo a partir de um cartão de memória, o dispositivo para leitura/gravação lê o segundo arquivo a partir da ao menos uma partição de cópia de segurança ou a partir da partição principal se um erro ocorrer na leitura do segundo arquivo a partir da partição de cópia de segurança, garantindo assim o funcionamento normal de um sistema, melhorando a tolerância a erros do cartão de memória e a estabilidade do sistema.
BREVE DESCRIÇÃO DOS DESENHOS
[013] A Fig. 1 é um diagrama esquemático que ilustra as partições formatadas de um cartão de memória de acordo com os modos de execução da presente invenção;
[014] A Fig. 2 é um diagrama esquemático que ilustra a gravação de um arquivo em um cartão de memória de acordo com um primeiro modo de execução da presente invenção;
[015] A Fig. 3 é um diagrama esquemático que ilustra a leitura de um arquivo a partir de um cartão de memória de acordo com um segundo modo de execução da presente invenção;
[016] A Fig. 4 é um diagrama esquemático que ilustra a leitura de um arquivo a partir de um cartão de memória de acordo com um terceiro modo de execução da presente invenção; e
[017] A Fig. 5 é um diagrama esquemático que ilustra um dispositivo para armazenar um cartão de leitura/gravação de acordo com um modo de execução da presente invenção.
DESCRIÇÃO DETALHADA DOS MELHORES MODOS DE EXECUÇÃO
[018] Nos modos de execução da presente invenção, para uma placa única ou sistema com apenas um cartão de memória, o cartão de memória é dividido em uma pluralidade de regiões ao ser formatado e particionado. A pluralidade de regiões inclui uma partição principal e uma ou mais partições de cópia de segurança que é/são iguais ou diferentes em capacidade da partição principal.
[019] Consequentemente, para a placa única ou o sistema com apenas um cartão de memória incluindo uma partição principal e uma partição de cópia de segurança, durante a gravação de um primeiro arquivo no cartão de memória, um dispositivo de leitura/gravação grava o primeiro arquivo na partição principal e depois na partição de cópia de segurança. Isto é, o dispositivo de leitura/gravação grava o primeiro arquivo na partição de cópia de segurança após gravar o primeiro arquivo na partição principal. Aqui, no caso em que a partição principal e a partição de cópia de segurança têm a mesma capacidade, o primeiro arquivo é gravado na partição principal e na partição de cópia de segurança do mesmo modo; e no caso da partição de cópia de segurança ter menos capacidade do que a partição principal, o primeiro arquivo é comprimido primeiro e depois é gravado na partição de cópia de segurança.
[020] A gravação do primeiro arquivo na partição principal ou na partição de cópia de segurança é concluída normalmente se nenhuma falha de hardware ocorrer na partição principal ou na partição de cópia de segurança. Se uma falha de hardware ocorrer ou na partição principal ou na partição de cópia de segurança, então apenas a gravação do primeiro arquivo na partição onde não há falha é concluída normalmente, e um alarme comum é transmitido a um administrador de rede. Se uma falha de hardware ocorrer na partição principal e na partição de cópia de segurança, então o primeiro arquivo não poderá ser gravado em nenhuma das partições, e um alarme grave é transmitido. Um alarme comum é usado para notificar o pessoal da manutenção acerca do dano à partição principal ou à partição de cópia de segurança do cartão de memória e da necessidade de substituição de um cartão de memória recente. Um alarme grave é usado para notificar o pessoal da manutenção que ambas as partições, a principal e a de cópia de segurança, do cartão de memória estão danificadas e que o cartão de memória deve ser imediatamente substituído. A falha de hardware inclui: um ou mais setores do cartão de memória estarem danificados de modo que uma indicação de falha de hardware é emitida pelo controlador do cartão de memória quando o cartão de memória é lido ou gravado, e há um mal funcionamento no controlador do cartão de memória.
[021] Nos modos de execução da presente invenção, durante a leitura de um segundo arquivo a partir do cartão de memória, o dispositivo de leitura/gravação lê o segundo arquivo primeiro a partir da partição de cópia de segurança e finaliza o processo normalmente se o segundo arquivo pôde ser lido da partição de cópia de segurança corretamente. Se a leitura do segundo arquivo a partir da partição de cópia de segurança falhar, então o segundo arquivo é lido a partir da partição principal. O erro que ocorre na leitura do segundo arquivo a partir da partição de cópia de segurança inclui: falha de hardware e erro de software.
[022] Assim, se uma falha de hardware ocorrer na partição de cópia de segurança durante a leitura do segundo arquivo a partir da partição de cópia de segurança, um alarme comum é transmitido ao administrador da rede, e então o segundo arquivo é lido a partir da partição principal. Se o segundo arquivo é lido a partir da partição principal corretamente, o processo de leitura é finalizado normalmente. Caso contrário, um alarme grave é transmitido para indicar uma falha de hardware ocorrida na partição principal.
[023] No caso de uma falha de hardware ocorrer durante a leitura do segundo arquivo a partir da partição de cópia de segurança, o segundo arquivo é lido a partir da partição principal, e então copiado da partição principal para a partição de cópia de segurança se for lido da partição principal corretamente. Em seguida, o processo de leitura é concluído normalmente. O erro de software inclui: um erro ocorrer na verificação do campo-chave do segundo arquivo após a leitura do segundo arquivo, e falha ao ler o segundo arquivo. O erro de software tem menor prioridade do que o erro de hardware.
[024] Os modos de execução da presente invenção serão descritos abaixo em detalhes com referência aos desenhos.
[025] Nos modos de execução da presente invenção, um cartão de memória é formatado em um sistema de arquivo FAT32 com uma pluralidade de setores, conforme mostrado na Fig. 1. No cartão de memória há duas partições de mesmo tamanho. E, os setores de baixo para cima do cartão de memória formatado são: o MBR (master boot record), o setor reservado, a partição principal, a partição de cópia de segurança e o setor reservado não utilizado, em que a partição principal e a partição de cópia de segurança são idênticas em capacidade e na função de alocação de unidade. Aqui, considerando que a capacidade do cartão de memória é limitada, apenas uma partição principal e uma partição de cópia de segurança são incluídas nos setores formatados no cartão de memória.
[026] Desse modo, as áreas existentes em apenas uma parte de todo o cartão de memória incluem: o setor reservado não utilizado, o MBR e o setor reservado. As áreas existentes em ambas as partições, a principal e a de cópia de segurança, incluem: o DBR do sistema operacional, o primeiro setor após o DBR, um setor reservado, a FAT1, uma FAT2 de reserva, uma região de diretório e uma região de dados, em que o primeiro setor após o DBR é usado para registrar a capacidade residual de um disco e o endereço inicial do próximo cluster inativo, e a região do diretório é usada para armazenar um diretório raiz.
[027] Modo de Execução 1: uma placa única embutida em um dispositivo de comunicação compreende o cartão de memória mostrado na Fig. 1. Conforme mostrado na Fig. 2, gravar um arquivo no cartão de memória compreende as seguintes etapas.
[028] Etapa 201: gravar um arquivo na partição principal. No fluxo de gravação, um dispositivo para leitura/gravação grava o arquivo na partição principal por primeiro.
[029] Etapa 202: determinar se há uma falha de hardware na partição principal. Se houver, executar a Etapa 206, caso contrário, gravar o arquivo na partição principal normalmente, e então executar a Etapa 203.
[030] Durante a gravação do arquivo na partição principal, se o arquivo não puder ser normalmente gravado na partição principal devido a uma falha de hardware que ocorreu na partição principal, executar então a Etapa 206; se não ocorrer nenhuma falha de hardware na partição principal, gravar o arquivo na partição principal normalmente, e então executar a Etapa 203. Uma falha de hardware poderá ocorrer nos seguintes casos: um dispositivo de comunicação é repentinamente reiniciado ou desligado, ou a quantidade de gravações do cartão de memória excedeu o limite máximo da vida útil de uma memória flash.
[031] Etapa 203: gravar o arquivo na partição de cópia de segurança e em seguida proceder à Etapa 204.
[032] Etapa 204: determinar se há uma falha de hardware na partição de cópia de segurança. Se houver, então o arquivo não poderá ser gravado na partição de cópia de segurança normalmente, executar então a Etapa 205; caso contrário, o arquivo pode ser gravado na partição de cópia de segurança normalmente, gravar arquivo na partição de cópia de segurança normalmente, e em seguida finalizar o fluxo de gravação de arquivo normalmente.
[033] Etapa 205: transmitir um alarme comum para o administrador de rede para notificar o pessoal da manutenção acerca do dano na partição de cópia de segurança do cartão de memória e da necessidade de substituição de um cartão de memória recente.
[034] Embora tenha ocorrido uma falha de hardware na partição de cópia de segurança, o arquivo foi gravado na partição principal normalmente, e assim, o fluxo de gravação de arquivo é também finalizado normalmente.
[035] Etapa 206: transmitir um alarme comum para um administrador de rede para notificar o pessoal da manutenção acerca do dano na partição principal do cartão de memória e da necessidade de substituição do cartão de memória recente.
[036] Etapa 207: gravar o arquivo na partição de cópia de segurança e em seguida proceder à Etapa 208.
[037] Etapa 208: determinar se há uma falha de hardware na partição de cópia de segurança. Se houver, então o arquivo não poderá ser gravado na partição de cópia de segurança normalmente, executar então a Etapa 209; caso contrário, gravar o arquivo na partição de cópia de segurança normalmente, e então finalizar o fluxo de gravação de arquivo normalmente.
[038] Aqui, uma falha de hardware ocorreu na partição de cópia de segurança, isto é, ambas as partições, a principal e a de cópia de segurança, apresentaram falha, o arquivo não pode ser gravado em nenhuma das duas partições, assim, o fluxo segue para Etapa 209.
[039] No caso de não haver falha de hardware na partição de cópia de segurança, o arquivo, embora não possa ser gravado na partição principal, pode ainda ser gravado na partição de cópia de segurança, assim, o fluxo de gravação de arquivo é também normalmente concluído.
[040] Etapa 209: transmitir um alarme grave ao administrador de rede para notificar o pessoal da manutenção que ocorreu um dano em ambas as partições, a principal e de cópia de segurança, do cartão de memória e o cartão de memória deve ser substituído imediatamente.
[041] Nesse caso, o arquivo não pode ser gravado nem na partição principal e nem na partição de cópia de segurança, assim, o fluxo de gravação de arquivo é concluído de modo anormal.
[042] Modo de Execução 2: a placa única embutida em um dispositivo de comunicação compreende o cartão de memória mostrado na Fig. 1. Conforme mostrado na Fig. 3, a leitura de um arquivo do cartão de memória compreende as seguintes etapas (nessas etapas, um erro ocorrendo na leitura do arquivo do cartão de memória é uma falha de hardware).
[043] Etapa 301: ler um arquivo a partir da partição de cópia de segurança. No fluxo de leitura, um dispositivo de leitura/gravação lê o arquivo a partir da partição de cópia de segurança por primeiro.
[044] Etapa 302: determinar se há uma falha de hardware na partição de cópia de segurança. Se houver, então o arquivo não poderá ser lido na partição de cópia de segurança normalmente, executar a Etapa 303; caso contrário, ler o arquivo na partição de cópia de segurança normalmente, e então finalizar o fluxo de leitura de arquivo normalmente.
[045] Etapa 303: transmitir um alarme comum para um administrador de rede para notificar o pessoal da manutenção acerca do dano na partição de cópia de segurança do cartão de memória e da necessidade de substituição do cartão de memória recente.
[046] Etapa 304: ler o arquivo a partir da partição principal e então proceder à Etapa 305.
[047] Etapa 305: determinar se há uma falha de hardware na partição principal. Se houver, então o arquivo não poderá ser lido a partir da partição principal, executar a Etapa 306; caso contrário, ler o arquivo na partição principal, e finalizar o fluxo de leitura de arquivo normalmente.
[048] Aqui, se uma falha de hardware ocorrer na partição principal, isto é, ambas as partições, a principal e a de cópia de segurança, apresentarem falha, o arquivo não pode ser lido de nenhuma das duas partições, assim, o fluxo segue para Etapa 306.
[049] No caso de não houver falha na partição principal, o arquivo, embora não possa ser lido a partir da partição de cópia de segurança, pode ainda ser lido a partir da partição principal, assim, o fluxo de leitura de arquivo é também concluído normalmente.
[050] Etapa 306: transmitir um alarme grave ao administrador de rede para notificar o pessoal da manutenção que ocorreu um dano em ambas as partições, a principal e de cópia de segurança, do cartão de memória e o cartão de memória deve ser substituído imediatamente.
[051] Nesse caso, o arquivo não pode ser lido nem a partir da partição principal e nem da partição de cópia de segurança, assim, o fluxo de leitura de arquivo é concluído de modo anormal.
[052] Modo Execução 3: como uma falha de hardware tem maior prioridade do que um erro de software durante o processo de leitura de um arquivo, este modo de execução é um subfluxo do modo de execução 2, no qual presume-se que nenhuma falha de hardware ocorra durante o processo de leitura de um arquivo. Conforme mostrado na Fig. 4, a leitura de um arquivo do cartão de memória mostrado na Fig. 1 compreende as seguintes etapas.
[053] Etapa 401: ler um arquivo a partir de uma partição de cópia de segurança. No fluxo de leitura, um dispositivo de leitura/gravação lê o arquivo a partir de uma partição de cópia de segurança por primeiro.
[054] Etapa 402: determinar se há um erro de software ocorrendo durante o processo de leitura. Se houver, então o arquivo não poderá ser lido a partir da partição de cópia de segurança, executar então a Etapa 403; caso contrário, ler normalmente o arquivo a partir da partição de cópia de segurança, e então finalizar normalmente o fluxo de leitura de arquivo.
[055] É possível que nenhum arquivo seja lido a partir da partição de cópia de segurança ou que o campo-chave do arquivo lido seja selecionado erroneamente, isto é, um erro de software ocorre e o arquivo não pode ser lido da partição de cópia de segurança, então o fluxo prossegue à Etapa 403.
[056] Etapa 403: ler o arquivo a partir da partição principal e então proceder à Etapa 404.
[057] Etapa 404: determinar se há um erro de software ocorrendo durante o processo de leitura. Em caso positivo, isto é, há um erro de software e o arquivo não pode ser lido normalmente a partir da partição principal, executar a Etapa 405; caso contrário, se não há um erro de software, ler o arquivo normalmente a partir da partição principal, e então executar a Etapa 406.
[058] Etapa 405: falha na leitura do arquivo, reiniciar então o fluxo de gravação de arquivo.
[059] Aqui, o arquivo não pode ser lido a partir de nenhuma das partições, nem da principal e nem da de cópia de segurança, assim, o fluxo de leitura de arquivo é concluído de modo anormal.
[060] Etapa 406: copiar o arquivo da partição principal para a partição de cópia de segurança.
[061] Como ocorreu um erro de software na partição de cópia de segurança após o arquivo ser lido a partir da partição principal, a cópia do arquivo da partição principal para a partição de cópia de segurança garante a totalidade do arquivo, de modo que o arquivo possa ser lido normalmente na próxima leitura.
[062] Em seguida, o arquivo, embora não possa ser lido normalmente a partir da partição de cópia de segurança, ainda poderá ser lido a partir da partição, e assim o fluxo de leitura de arquivo é normalmente concluído também.
[063] Nos três modos de execução mencionados acima, um arquivo é primeiramente gravado na partição principal e depois na partição de cópia de segurança durante o processo de gravação de um cartão de memória e é lido primeiro a partir da cópia de segurança partição e depois a partir da partição principal durante o processo de leitura de um cartão de memória.
[064] Assim, quando o sistema é repentinamente desligado ou reiniciado durante o processo de gravação, pode acontecer do arquivo ser completamente gravado na partição principal mas ser gravado de modo incompleto na partição de cópia de segurança. Se nesse caso a partição principal for lida antes da partição cópia de segurança, então o fluxo retornará normalmente uma vez que a partição principal é sempre lida corretamente, o que faz com que não seja possível determinar se o arquivo atual existe ou não na partição de cópia de segurança ou se o arquivo atual que consta da partição de cópia de segurança está correto ou não. Conforme essa situação se repete, muitos arquivos ficarão faltando na partição principal ou muito arquivos errados serão deixados na partição de cópia de segurança. Quando um erro ocorrer na partição principal, considerando que o arquivo é inteiramente transferido para a partição cópia de segurança, os arquivos errados deixados na partição de cópia de segurança farão com que a partição de cópia de segurança seja usada de modo anormal. Se uma tentativa é feita para sanar esse problema ao sincronizar a partição principal com a partição de cópia de segurança, como resultado a eficiência do sistema será reduzida consideravelmente uma vez que há arquivos demais. Se o problema é sanado ao se verificar a partição de cópia de segurança toda vez que a partição principal for lida, a eficiência do sistema será reduzida, pois cada arquivo deverá ser verificado.
[065] Entretanto, em modos de execução da presente invenção, a partição de cópia de segurança é lida antes da partição principal. Se nenhum erro de arquivo ou de verificação de arquivo é encontrado durante a leitura de um arquivo a partir da partição de cópia de segurança, a partição principal é lida. Se a leitura a partir da partição principal for correta, então o arquivo é copiado para a partição de cópia de segurança a partir da partição principal, o que garante a sincronização da partição principal e da partição de cópia de segurança, isto é, garante a disponibilidade dos arquivos armazenados na partição principal e na partição de cópia de segurança. Consequentemente, a probabilidade de uma falha ocorrer após o repasse fica diminuída significativamente. Ademais, esse esquema de sincronizar apenas um arquivo errado economiza tempo e melhora a eficiência em comparação com um esquema de cópia de segurança de um disco inteiro.
[066] Em modos de execução da presente invenção, o cartão de memória, se provido com capacidade suficiente, pode incluir uma partição principal e uma pluralidade de partições de cópia de segurança, por exemplo, uma partição principal, uma primeira partição de cópia de segurança e uma segunda partição de cópia de segurança. Nesse caso, ao ser gravado no cartão de memória, um arquivo é primeiramente gravado na partição principal, depois na primeira partição de cópia de segurança, e finalmente na segunda partição de cópia de segurança. Ao ser lido do cartão de memória, um arquivo é lido primeiramente da primeira partição de cópia de segurança. Se a leitura falhar, o arquivo é então lido a partir da segunda partição de cópia de segurança, e se essa leitura também falhar, arquivo é lido a partir da partição principal. A primeira partição de cópia de segurança e a segunda partição de cópia de segurança podem ser trocadas.
[067] Aqui, ao ser gravado no cartão de memória, um arquivo é primeiramente gravado na partição principal. Se uma falha de hardware ocorrer na partição principal, um alarme comum é transmitido, e então o arquivo é gravado na primeira partição de cópia de segurança. Se uma falha de hardware ocorrer na primeira partição de cópia de segurança, um alarme comum é transmitido, e então o arquivo é gravado na segunda partição de cópia de segurança. Se uma falha de hardware também ocorrer na segunda partição de cópia de segurança, um alarme grave é transmitido para indicar que o arquivo não pode ser gravado no cartão de memória.
[068] Quando um arquivo é lido do cartão de memória, ele é lido primeiramente a partir da primeira partição de cópia de segurança. Se uma falha de hardware ocorrer na primeira partição de cópia de segurança, um alarme comum é transmitido, e então o arquivo é lido a partir da segunda partição de cópia de segurança. Se uma falha de hardware ocorrer na segunda partição de cópia de segurança, um alarme comum é transmitido, e então o arquivo é lido a partir da partição principal. Se uma falha de hardware ocorrer na partição principal também, um alarme grave é transmitido para indicar que o arquivo não pode ser lido do cartão de memória.
[069] Quando um arquivo é lido de um cartão de memória que não tem problema de hardware, se um erro de software ocorrer na primeira partição de cópia de segurança quando o arquivo é lido a partir da primeira partição de cópia de segurança, então, o arquivo é lido a partir da segunda partição de cópia de segurança. Se a leitura a partir da segunda partição de cópia de segurança é concluída com sucesso, então o arquivo é copiado na primeira partição de cópia de segurança e o fluxo é finalizado. Se um erro de software ocorrer na segunda partição de cópia de segurança quando o arquivo é lido a partir da segunda partição de cópia de segurança, então, o arquivo é lido a partir da partição principal. Se a leitura a partir da partição principal é concluída com sucesso, então o arquivo é copiado na primeira e/ou na segunda partição de cópia de segurança, e o fluxo é finalizado.
[070] Certamente, se no modo de execução acima a partição principal e a primeira e a segunda partições de cópia de segurança tiverem todas capacidades diferentes, durante o processo de gravação de arquivo, os arquivos 1, 2, 5, 6 podem ser gravados primeiramente na partição principal e depois na primeira partição de cópia de segurança, e os arquivos 3, 4, 7, 8 podem ser gravados na partição principal e depois na segunda partição de cópia de segurança. Desse modo, durante o processo de leitura de um arquivo, a primeira ou a segunda partição de cópia de segurança é lida por primeiro, e se houver uma falha na leitura da primeira ou da segunda partição de cópia de segurança, a partição principal é lida. Por exemplo, durante o processo de leitura do arquivo 7, a primeira partição de cópia de segurança é lida por primeiro, se o arquivo 7 é lido com sucesso a partir da primeira partição de cópia de segurança, o fluxo é finalizado, caso contrário, a partição principal é lida.
[071] Certamente, em modos de execução da presente invenção, o cartão de memória pode também ser formatado para arquivar sistemas tais como o pHILE, FAT, ext2, ext3 e assim por diante, em que o cartão de memória inclui ao menos duas partições que têm a mesma capacidade e formato. Ademais, a partição principal pode ser trocada com a partição de cópia de segurança, isto é, durante o processo de leitura/gravação de um cartão de memória, um arquivo pode ser gravado na partição de cópia de segurança por primeiro e depois na partição principal, e lido primeiro a partir da partição principal e depois a partir da partição de cópia de segurança. O processo específico de leitura/gravação não será descrito aqui repetidamente.
[072] Um dispositivo para leitura/gravação de um cartão de memória pode ser configurado de acordo com método acima mencionado para a leitura/gravação de um cartão de memória. O dispositivo pode ser uma placa única embutida em um dispositivo de comunicação ou em um módulo em um sistema, por exemplo, uma unidade de memória de uma unidade de processamento central (CPU). Uma placa única embutida em um dispositivo de comunicação ou um cartão de memória em um sistema já vem providos com uma partição principal e ao menos uma partição de cópia de segurança ao serem formatados e particionados. Conforme mostrado na Fig. 5, o dispositivo para a leitura/gravação de um cartão de memória compreende: uma unidade de gravação 100 e uma unidade de leitura 200.
[073] A unidade de gravação 100 é adaptada para gravar um primeiro arquivo na partição principal e depois gravar o primeiro arquivo na ao menos uma partição de cópia de segurança. A unidade de leitura 200 é adaptada para ler um segundo arquivo a partir da ao menos uma partição de cópia de segurança, e depois ler o segundo arquivo a partir da partição principal se a leitura do segundo arquivo a partir da partição de cópia de segurança falhar.
[074] Ao gravar o primeiro arquivo na partição principal, a unidade de gravação 100 verifica se há ou não uma falha de hardware na partição principal, e transmite um alarme comum no caso de haver uma falha de hardware na partição principal. Ao gravar o primeiro arquivo na partição de cópia de segurança, a unidade de gravação 100 também verifica se há uma falha de hardware na partição de cópia de segurança, transmite um alarme comum se uma falha de hardware ocorreu apenas na partição de cópia de segurança, ou transmite um alarme grave se uma falha ocorreu em ambas as partições, a principal e a de cópia de segurança. No caso em que o cartão de memória possui uma pluralidade de partições de cópia de segurança, a unidade de gravação 100 grava um primeiro arquivo em uma ou mais partições de cópia de segurança. A unidade de gravação 100 verifica se um erro de hardware ocorreu na partição de cópia de segurança na qual o arquivo é gravado, e transmite um alarme comum se um erro de hardware ocorreu apenas na partição de cópia de segurança, ou transmite um alarme grave se um erro de hardware ocorreu em todas as partições de cópia de segurança e na partição principal.
[075] Se um erro de hardware ocorrer enquanto a unidade de leitura 200 lê um segundo arquivo a partir do cartão de memória, então, ao ler o segundo arquivo a partir da partição de cópia de segurança, a unidade de leitura 200 verifica se há uma falha de hardware na partição de cópia de segurança e lê o segundo arquivo a partir da partição de cópia de segurança se não houver nenhuma falha de hardware na partição de cópia de segurança. Se houver uma falha de hardware na partição de cópia de segurança, a unidade de leitura 200 transmite um alarme comum e depois lê o segundo arquivo a partir da partição principal. Ao ler o segundo arquivo a partir da partição principal, a unidade de leitura igualmente verifica se há uma falha de hardware na partição principal, e lê o segundo arquivo a partir da partição principal se não houver nenhuma falha na partição principal, ou transmite um alarme grave se houver uma falha também na partição principal. No caso em que o cartão de memória possui uma pluralidade de partições de cópia de segurança, a unidade de leitura 200 lê primeiro o segundo arquivo a partir de uma das partições de cópia de segurança, e se houver uma falha de hardware na partição de cópia de segurança, transmite um alarme comum, e depois lê o segundo arquivo a partir de outra partição de cópia de segurança; se a outra partição de cópia de segurança também tiver uma falha de hardware, transmite um alarme comum, e depois lê o segundo arquivo a partir da partição principal se nenhuma falha de hardware ocorrer na partição principal, ou transmite um alarme grave se houver uma falha de hardware na partição principal.
[076] Se um erro de software ocorrer enquanto a unidade de leitura 200 lê o segundo arquivo a partir do cartão de memória, então, a unidade de leitura 200 lê o segundo arquivo a partir da partição principal quando o erro de software ocorre durante a leitura do segundo arquivo a partir da partição de cópia de segurança. Ademais, após ser lido a partir da partição principal, o segundo arquivo é copiado da partição principal para a partição de cópia de segurança. Se o cartão de memória compreende uma pluralidade de partições de cópia de segurança e um erro de software ocorre enquanto a unidade de leitura 200 lê o segundo arquivo a partir de uma partição de cópia de segurança, então, a unidade de leitura lê o segundo arquivo a partir de outra partição de cópia de segurança e depois copia o segundo arquivo na primeira partição de cópia de segurança. Se a leitura do segundo arquivo a partir de outra partição de cópia de segurança falhar, então a unidade de leitura 200 lerá o segundo arquivo a partir partição principal. Além disso, após ser lido a partir da partição principal, o segundo arquivo é copiado da partição principal em ao menos uma partição de cópia de segurança.
[077] Concluindo, em modos de execução da presente invenção, uma partição principal e ao menos uma partição de cópia de segurança são formatadas em um cartão de memória de modo que um arquivo possa ser gravado em ambas as partições, a principal e a de cópia de segurança. Assim, um sistema de arquivos pode criar automaticamente duas regiões de leitura/gravação frequente e duas regiões de dados, alcançando assim o objetivo de proteção por cópia de segurança. Quando um arquivo é lido de um cartão de memória, se uma partição de cópia de segurança apresentar falha por algum motivo, e um erro ocorrer, pode-se trocar para a partição principal imediatamente a fim de que os dados possam ser lidos a partir da partição principal, o que garante o funcionamento normal do sistema. Enquanto isso, um alarme é transmitido para um administrador de rede se uma falha de hardware ocorrer ou na partição principal ou na partição de cópia de segurança durante o processo de leitura/gravação do cartão de memória para notificar o pessoal da manutenção para substituir o cartão de memória no momento correto. Se uma falha de hardware ocorrer na partição principal e em todas as partições de cópia de segurança, um alarme grave é transmitido diretamente para notificar o pessoal da manutenção para substituir o cartão de memória imediatamente. Desse modo, a manutenção e a robustez do sistema são aperfeiçoadas.
[078] Aparentemente, várias modificações e variações podem ocorrer aos técnicos no assunto sem que se afastem do escopo e alcance da presente invenção. A presente invenção destina-se a abarcar tais modificações e variações que estão incluídas no escopo das reivindicações em anexo ou seus equivalentes.