BR0007239B1 - Aparelho de acesso á placa de memória semicondutora, placa de memória semicondutora e método de inicialização. - Google Patents

Aparelho de acesso á placa de memória semicondutora, placa de memória semicondutora e método de inicialização. Download PDF

Info

Publication number
BR0007239B1
BR0007239B1 BRPI0007239-7A BR0007239A BR0007239B1 BR 0007239 B1 BR0007239 B1 BR 0007239B1 BR 0007239 A BR0007239 A BR 0007239A BR 0007239 B1 BR0007239 B1 BR 0007239B1
Authority
BR
Brazil
Prior art keywords
area
sectors
file
block
sector
Prior art date
Application number
BRPI0007239-7A
Other languages
English (en)
Other versions
BR0007239A (pt
Inventor
Takuji Maeda
Teruto Hirota
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Publication of BR0007239A publication Critical patent/BR0007239A/pt
Publication of BR0007239B1 publication Critical patent/BR0007239B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)

Description

Relatório Descritivo da Patente de Invenção para "APARE- LHO DE ACESSO À PLACA DE MEMÓRIA SEMICONDUTORA, PLA- CA DE MEMÓRIA SEMICONDUTORA E MÉTODO DE INICIALIZA- ÇÃO".
Campo Técnico A presente invenção refere-se a um aparelho de acesso para acesso a uma placa de memória semicondutora, que tem uma memória in- terna não volátil, tal como uma EEPROM (memória apenas de leitura pro- gramável apagável elétrica), um meio de gravação que pode ser lido em computador, para a gravação de um programa de inicialização para uma placa de memória semicondutora, um método de inicialização, e uma placa de memória semicondutora, e, em particular, a um melhoramento para ele- var a eficiência com a qual dados podem ser reescritos em uma memória não volátil.
Fundamentos da Técnica As placas de memória semicondutoras têm a vantagem de se- rem pequenas e de peso leve, e de estarem bem no caminho para a conso- lidação de sua posição como o meio de gravação de escolha em uma ampla variedade de campos técnicos. Uma placa de memória semicondutora tem uma memória não volátil interna conhecida como EEPROM, a qual é aces- sada por um dispositivo conectado, permitindo que a placa de memória se- micondutora seja usada como um meio de gravação. Os dados podem ser escritos diretamente nos setores de EEPROM em branco da mesma forma que para os discos magnéticos ou óticos. Contudo, quando os setores de EEPROM já contêm um dado, este dado tem de ser apagado, retornando os setores para um estado em branco, antes de novos dados poderem ser es- critos nos setores. No tipo de EEPROM conhecida como NAND (Não E) u- sada em muitas placas de memória semicondutoras, a operação para o re- torno de setores para um estado em branco tem de ser realizada em 32 se- tores de uma vez (nesta memória não volátil, um grupo de 32 setores é co- nhecido como um bloco apagável). Conseqüentemente, a placa de memória semicondutora contém um circuito de controle interno especializado para a realização de um gerenciamento de memória, usando blocos apagáveis como unidades de acesso. O controle de status de blocos apagáveis, e a leitura e a escrita de dados para / de blocos apagáveis, é gerenciado por meio deste circuito de controle.
Isso significa que a placa de memória semicondutora tem uma estrutura de hardware única (camada física), que é completamente diferente daquela usada em discos magnéticos e óticos. Contudo, um modelo de ca- mada mostrado na Figura 1A é formado a partir de camadas de sistema de arquivo e de aplicativo físicas, da mesma forma que em um disco magnético ou ótico. A Figura 1B mostra um layout detalhado da camada física. No de- senho, a camada física inclui uma área de volume, na qual uma pluralidade de blocos apagáveis é disposta. Cada bloco apagável é formado por 32 se- tores e tem um comprimento de dados de 16 KB. O layout da camada de sistema de arquivo mostrada na Figura 1C é o que é comumente conhecido como um sistema de arquivo de FAT (tabela de alocação de arquivo). Em um sistema de arquivo de FAT, o gerenciamento da área de volume é reali- zado em unidades conhecidas como agrupamentos. A informação de geren- ciamento de volume é disposta no começo da área de volume, e uma área de usuário para a gravação de dados de usuário é disposta diretamente se- guindo-se à informação de gerenciamento de volume. A informação de ge- renciamento de volume inclui um registro de tabela de partições, uma tabela de partição, um setor de tabela de partição, uma tabela de alocação de ar- quivo duplicada (FAT), e uma entrada de diretório raiz. A FAT duplicada mostra ligações entre a pluralidade de agrupamentos incluídos na área de volume. A provisão deste tipo de camada de sistema de arquivo permite que dados sejam armazenados na camada de aplicativo em uma estrutura hie- rárquica formada a partir de diretórios e arquivos. Pela instalação de um mo- delo de camada, o aparelho de acesso pode acessar uma placa de memória semicondutora com o mesmo procedimento usado para acessar um meio de gravação, tal como um disco magnético ou ótico, sem a necessidade de prestar atenção às diferenças na camada física.
Contudo, um usuário tem muitas oportunidades de determinar o tamanho de dados da área de volume, quando o dado for armazenado na área de volume do sistema de arquivo. Quando o tamanho da área de volu- me é mudado em resposta a uma requisição de usuário, o número de agru- pamentos incluídos na área de volume aumenta ou diminui de modo confor- me. Se o número de agrupamentos é aumentado ou diminuído, a FAT for- mada a partir das entradas correspondentes a esses agrupamentos também aumenta ou diminui de modo conforme, como faz o tamanho da informação de gerenciamento de volume na qual a FAT é incluída. Se o tamanho da in- formação de gerenciamento de volume for aumentado ou diminuído, o ende- reço de começo da área de usuário seguindo-se à informação de gerencia- mento de volume também será mudado. O endereço de começo da área de usuário muda de acordo com o tamanho da área de volume. Conseqüente- mente, os endereços de começo de cada agrupamento também mudam de acordo com o tamanho da área de usuário.
Se o endereço de começo de cada agrupamento mudar de acordo com o tamanho da área de usuário, os as podem ultrapassar as fronteiras entre dois blocos apagáveis, e a porção de término da informação de geren- ciamento de volume pode estar disposta no mesmo bloco apagável que um agrupamento posicionado no começo da área de usuário. A Figura 1D mos- tra o layout da área de volume, quando a porção de término da informação de gerenciamento de volume e o agrupamento posicionado no começo da área de usuário estão no mesmo bloco apagável. Se os agrupamentos forem dispostos como mostrado no desenho, e um usuário desejar modificar o dado armazenado em um agrupamento em particular, os dois blocos apagá- veis nos quais o agrupamento é disposto terão de ser lidos e, então, retor- nados para um estado em branco. Contudo, uma memória não volátil é for- mada a partir de um componente de memória, que inclui uma porta flutuante incrustada em uma camada de isolamento. Este componente de memória pode ser apagado apenas umas poucas dezenas de milhares de vezes, de modo que, se o fenômeno no qual dois blocos apagáveis tiverem de ser apagados para modificar um agrupamento ocorrer freqüentemente, a vida útil da memória não volátil será notadamente reduzida.
Geralmente, quando 32 setores são gerenciados como um agru- pamento, a escrita de dados em um agrupamento pode ser completada em 32 x 200 ps (200 ps é o tempo requerido para se escrever em cada setor), desde que o destino de escrita já tenha sido apagado. Contudo, se o destino de escrita tiver de ser apagado antes do dado poder ser escrito, um período de apagamento de 2 ms é adicionado. Se o agrupamento ultrapassar a fronteira entre dois blocos apagáveis, ambos os blocos precisam ser apaga- dos, e o apagamento do dgstino de escrita leva 4 ms. Como resultado, o tempo levado para escrever um dado é notadamente aumentado.
Descrição da Invenção Um objeto da presente invenção é prover um aparelho de aces- so, que obtém uma redução no tempo de processamento requerido para modificar blocos apagáveis, bem como uma formação de um formato de ar- mazenamento de dado em uma placa de memória semicondutora que permite que uma memória não volátil tendo uma vida útil mais longa seja realizada. O tipo de placa de memória semicondutora conhecida como uma placa de memória digital segura (SD) fez grandes avanços em direção à re- solução dos problemas mencionados anteriormente de redução do tempo de processamento e de longevidade da memória não volátil, pelas razões a se- guir. Em uma placa de memória de SD, uma área conhecida como a área protegida, a qual não pode ser usada pelo usuário em geral, é provida. Esta área protegida é usada para o armazenamento de informação secreta, tal como uma chave de encriptação usada para a encriptação de dados, infor- mação sobre tributação usada para cobrar um usuário, quando um material com direito autoral é reproduzido, e similares. A quantidade de dados que precisa ser mantida em segredo varia de acordo com o tipo de programa aplicativo usado, de modo que o tamanho da área protegida tem de mudar, de acordo com o tipo de programa aplicativo. Se o tamanho da área protegi- da for mudado, isso significa que o layout da área de volume também muda, em resposta ao tipo de programa aplicativo. Se o layout da área de volume mudar desta forma, um layout no qual os agrupamentos ultrapassam as fronteiras entre blocos apagáveis, freqüentemente, é gerado, de modo que a obtenção do objeto mencionado acima é particularmente desejável. De modo a obter este objeto, o aparelho de acesso de placa de memória semi- condutora pode ter a estrutura a seguir. O aparelho de acesso executa um acesso de arquivo em uma placa de memória semicondutora, que tem uma área de memória compreendendo uma pluralidade de setores, pelo gerenci- amento do dado em cada grupo de 2' setores (j sendo 0 ou um número intei- ro positivo) como um agrupamento, e gerenciando um ou mais agrupamen- tos como um arquivo. Aqui, cada grupo de 2' setores consecutivos na área de memória forma um bloco (i sendo 0 ou um número inteiro positivo), o qual é a menor unidade na qual um apagamento de dado pode ser realizado. O aparelho de acesso inclui uma unidade de cálculo, uma unidade de reserva e uma unidade de gravação. A unidade de cálculo calcula o tamanho de uma informação de gerenciamento de volume, com base em um número de agru- pamentos na área de memória que devem ser gerenciados. Aqui, a informa- ção de gerenciamento de volume inclui uma tabela de alocação de arquivo, que indica, para cada arquivo, ligações entre agrupamentos corresponden- tes ao arquivo. A unidade de reserva reserva uma primeira área para a gra- vação de uma informação de gerenciamento de volume, e uma segunda área para a gravação de dados de usuário. A primeira área tem um tamanho de dado maior do que a informação de gerenciamento de volume calculada, e é formada a partir de m x 2' setores (m sendo um número inteiro positivo), enquanto a segunda área é formada a partir dos setores seguintes à primei- ra área. A unidade de gravação grava a informação de gerenciamento de volume na primeira área, e os dados de usuário na segunda área, e gerencia a informação de gerenciamento de volume e o dado de usuário como agru- pamentos. Neste aparelho de acesso, uma área na área de volume tendo m agrupamentos (m é um número inteiro positivo) é reservada para a gravação da informação de gerenciamento de volume, de modo que não haja nenhu- ma possibilidade de qualquer agrupamento ser armazenado atravessando dois blocos apagáveis. As fronteiras de agrupamento podem ser alinhadas com as fronteiras de bloco apagável, e a fronteira da informação de gerenci- amento de volume pode ser alinhada com uma fronteira de bloco apagável.
Conseqüentemente, apenas um bloco apagável precisa ser apagado, quan- do um agrupamento for reescrito ou sobrescrito, e o número de vezes que os blocos apagáveis tem de ser apagados pode ser reduzido. Se o número de blocos apagáveis for reduzido, a placa de memória semicondutora pode es- crever dados em um tempo mais curto, e a vida útil da memória não volátil em si pode ser aumentada.
Aqui, a informação de gerenciamento de volume pode incluir, além da tabela de alocação de arquivo, um registro de tabela de partição, uma tabela de partição, uma informação de setor de tabela de partição e uma entrada de diretório raiz. Mais ainda, a unidade de gravação grava o registro de tabela de partição e a tabela de partição em um primeiro setor da primeira área, desvia-se um número predeterminado de setores e, então, grava a informação de setor de tabela de partição, a tabela de alocação de arquivo e a entrada de diretório raiz nos setores subseqüentes. Como resul- tado, um término da primeira área pode ser alinhado com um término de uma entrada de diretório raiz. O número de setores entre o registro de tabela de partição mostrando o começo da unidade, e o setor de tabela de partição mostrando a frente da área de partição podem ser ajustados, de modo que a informação de gerenciamento de volume possa estar restrita a uma primeira área formada por m agrupamentos, e uma compatibilidade com dispositivos que usam um sistema de arquivo de FAT preservada.
Aqui, a unidade de cálculo pode calcular uma soma SUM totali- zando um número de setores usados para a gravação da informação de se- tor de tabela de partição, a tabela de alocação de arquivo e a entrada de diretório raiz. A unidade de reserva reserva a primeira área, calculando o valor de m, com base em uma {equação 1} NOM+SUM = 2’ x m. Aqui, NOM é o número de setores. A unidade de gravação calcula o número predeter- minado de setores, subtraindo 1 do número de setores NOM. Mesmo se o tamanho da tabela de alocação de arquivo mudar, uma primeira área, a qual é maior do que o tâmanho da informação de gerenciamento de volume e é um múltiplo inteiro do tamanho de bloco apagável, é reservada. Como re- sultado, um tamanho mínimo necessário para a primeira área pode ser reser- vado, não importando como o tamanho da tabela de alocação de arquivo é cal- culado.
Aqui, a unidade de gravação pode regular um número predeter- minado de setores na tabela de partição gravando a informação de gerenci- amento de volume. Nesta estrutura, mesmo se o tamanho da primeira área mudar, fazendo com que o endereço de começo da segunda área mude, um número de setores, obtido subtraindo-se 1 do número de setores NOM, é regulado na tabela de partição, de modo que o aparelho de acesso possa acessar a área de usuário precisamente, referindo-se à tabela de partição.
Breve Descrição dos Desenhos A Figura 1A mostra um modelo de layout formado a partir de uma camada física, uma camada de sistema de arquivo conforme com a ISO/ IEC9293, e uma camada de aplicativo;
As Figuras 1B e 1C mostram o formato da camada física e da camada de sistema de arquivo; A Figura 1D mostra um layout da área de volume, quando uma porção de término da informação de gerenciamento de volume e um agru- pamento posicionado no começo da área de usuário forem dispostos no mesmo bloco apagável; A Figura 2A é uma vista externa de uma placa de memória se- micondutora;
As Figuras 2B e 2C são vistas externas de aparelhos de acesso; A Figura 3A mostra uma estrutura interna de uma placa de me- mória semicondutora e de um aparelho de acesso; A Figura 3B mostra um modelo de camada para software usada pelo aparelho de acesso; A Figura 4 mostra um formato de armazenamento de dados, conforme a norma ISO/IEC9293, usado pela memória não volátil 1; A Figura 5 mostra a estrutura de uma área de controle de partição, uma área de sistema e uma área de usuário incluída na área de volume; A Figura 6A ilustra a estrutura de um registro de tabela de parti- ção e um setor de tabela de partição; A Figura 6B mostra a estrutura de um setor de tabela de partição; A Figura 7A mostra uma estrutura de uma FAT duplicada; A Figura 7B mostra uma estrutura de uma entrada de diretório raiz; A Figura 7C mostra uma estrutura da área de usuário; A Figura 8 mostra um exemplo de um método de armazena- mento de arquivo; A Figura 9 mostra um exemplo de regulagens para a entrada de diretório raiz e para a FAT, quando um arquivo AOB001.SA1 é armazenado em uma pluralidade de agrupamentos; A Figura 10A mostra a relação entre blocos apagáveis e agru- pamentos; A Figura 10B mostra agrupamentos quando n = 1; A Figura 10C mostra agrupamentos quando n = 16; A Figura 11A divisa uma situação onde m agrupamentos de s blocos apagáveis estão alocados para a gravação de uma informação de gerenciamento de volume; A Figura 11B mostra o número de agrupamentos alocados para a gravação de informação de gerenciamento de volume, quando n = 1; A Figura 11C mostra o número de agrupamentos alocados para a gravação de informação de gerenciamento de volume, quando n = 16; A Figura 12 é um desenho obtido pela construção da área de controle de partição, da área de sistema e dos agrupamentos com um tama- nho calculado usando-se as equações 11 e 12; A Figura 13 é um fluxograma que mostra um procedimento de inicialização para a área de volume; A Figura 14 mostra uma estrutura de um aparelho de acesso e uma placa de memória semicondutora em uma segunda modalidade; A Figura 15 mostra uma estrutura interna de uma unidade de processamento seguro 11; A Figura 16 mostra uma estrutura detalhada de uma área de volume provida com uma área protegida; A Figura 17 mostra um layout de exemplo para a área de dados de usuário; A Figura 18 mostra um layout de exemplo para a área protegida; A Figura 19 mostra uma estrutura interna de uma unidade de controle de acesso 2 em uma terceira modalidade;
As Figuras 20A a 20D mostram uma seqüência de processa- mento realizada quando da reescrita de um bloco apagável; A Figura 21 mostra uma estrutura interna de uma unidade de operação de sistema de arquivo 9 na terceira modalidade; A Figura 22 é um fluxograma que mostra o processamento de- talhado executado pela unidade de operação de sistema de arquivo 9 na terceira modalidade;
As Figuras 23A e 23B mostram um processo de apagamento efetuado em um bloco apagável na terceira modalidade; A Figura 24 mostra uma estrutura interna de uma unidade de controle de acesso 2 em uma quarta modalidade; A Figura 25 é um fluxograma, que mostra o processamento de- talhado realizado pela unidade de operação de sistema de arquivo 9 na quarta modalidade;
As Figuras 26A e 26B mostram um processo de apagamento realizado em um bloco apagável na quarta modalidade;
As Figuras 27A e 27B mostram a relação de causa e efeito entre a fragmentação e os auxiliares, quando um comando é emitido; A Figura 28 é um fluxograma, que mostra uma seqüência de processamento detalhada para um processo de eliminação de fragmentação realizado em um endereço lógico;
As Figuras 29A a 29D mostram modelos divisados para cada uma das variáveis s, t, u, v e y mostradas no fluxograma da Figura 28;
As Figuras 30A a 30C mostram como a fragmentação é elimina- da em uma quinta modalidade; A Figura 31 mostra um novo atributo estendido especificado usando-se uma implementação de atributo estendido de uso na UDF; A Figura 32 mostra uma estrutura interna de uma placa de me- mória semicondutora provida em uma área de cópia de segurança; A Figura 33 mostra uma estrutura interna de uma placa de me- mória semicondutora em uma sexta modalidade; e As Figuras 34A a 34C mostram o conteúdo de processamento realizado por uma unidade de operação de sistema de arquivo 9 em uma sétima modalidade.
Melhor Modo de Realização da Invenção A seguir, há uma descrição de modalidades de uma placa de memória semicondutora, e de um sistema que inclui uma placa de memória semicondutora e um aparelho de acesso, com referência às figuras. A Figura 2A mostra uma vista externa de uma placa de memória semicondutora 100, e as Figuras 2B e 2C mostram vistas externas de apa- relhos de acesso. A Figura 3A mostra uma estrutura interna da placa de memória semicondutora 100 e um aparelho de acesso 200. A placa de memória semicondutora 100 tem a estrutura externa da Figura 2A, tendo 32,0 mm de comprimento, 24,0 mm de largura, e 2,1 mm de espessura: quase o tamanho de um selo postal, e pequeno o bas- tante para que um usuário o mantenha na ponta de um dedo. A placa de memória semicondutora 100 tem nove conectores, para conexão a um apa- relho de acesso 200, e uma chave de proteção de escrita 101 em um lado, a qual pode ser regulada pelo usuário, para permitir ou proibir a sobrescrita de um dado gravado. Como mostrado na parte inferior da Figura 3A, a placa de memória semicondutora 100 inclui uma memória não volátil 1, formada a partir de uma EEPROM NAND, uma unidade de controle de acesso 2 e uma memória de trabalho 3. A unidade de controle de acesso 2 escreve dados na memória não volátil 1, lê lados da memória não volátil 1, e apaga dados, de acordo com os comandos emitidos pelo aparelho de acesso 200. A memória de trabalho 3 é usada para o armazenamento de dados temporários, quando o dado lido da memória não volátil for reescrito ou escrito de volta na memó- ria não volátil.
Em seguida, um aparelho de acesso 200, tal como um sistema de som doméstico mostrado na Figura 2B ou um aparelho de processa- mento de informação, tal como um computador pessoal mostrado na Figura 2C, é descrito. Esse aparelho de acesso 200 inclui um conector de placa 4, uma memória secundária 5, uma CPU 6 e uma memória primária 7. O co- nector de placa 4 é usado para conectar a placa de memória semicondutora 100. A memória secundária 5 armazena vários tipos de software para aces- so à placa de memória semicondutora 100. A CPU 6 executa o controle ge- ral do aparelho de acesso 200. A memória primária 7 é usada para um ar- mazenamento temporário da FAT e da entrada de diretório raiz, quando a placa de memória semicondutora 100 for acessada. A Figura 3B mostra um modelo de layout para um software usado no aparelho de acesso 200. Na Figura, o software de aparelho de acesso inclui um programa aplicativo 8, uma unidade de operação de sistema de arquivo 9 e um controlador de dis- positivo 10. O programa aplicativo 8 executa um processamento predetermi- nado, tal como uma reprodução de áudio ou de vídeo, para o aparelho de acesso 200. A unidade de operação de sistema de arquivo 9 executa opera- ções de leitura de arquivo, escrita, apagamento e modificação (reescrita) no sistema de arquivo, de acordo com as instruções do programa aplicativo 8. O controlador de dispositivo 10 executa operações no sistema de arquivo, emitindo comandos de leitura e escrita para a placa de memória semicon- dutora 100. A seguir, há uma explanação de um formato de armazenamento de dados de exemplo para a memória não volátil 1. A memória não volátil 1 executa o armazenamento de dados usando o formato mostrado na Figura 4. Na Figura, toda a memória não volátil 1 é referida como uma área de vo- lume. A área de volume é gerenciada dividida em uma pluralidade de agru- pamentos, e inclui uma área de controle de partição (também conhecida como área regular). A partição é dividida em uma área de sistema e uma área de usuário, como mostrado no lado direito da Figura 4.
Um endereço de começo da área de usuário segue-se direta- mente após a área de sistema. Contudo, o tamanho da FAT duplicada na área de sistema varia, de acordo com o tamanho da área de usuário, de modo que o endereço de começo da área de usuário mude de modo con- forme, como foi explicado na seção de Técnica Anterior. Cada setor na área de volume é indicado por um endereço físico relativo ao começo da área de volume.
Em seguida, cada uma das áreas incluídas na área de volume é descrita por sua vez. A Figura 5 mostra uma estrutura para a área de con- trole de partição, a área de sistema e a área de usuário incluídas na área de volume. A área de controle de partição inclui um setor de registro de ta- bela de partição e de tabela de partição, e uma informação reservada 1/2 e 2/2. A Figura 6A mostra uma estrutura detalhada do setor de registro de ta- bela de partição e de tabela de partição. Na Figura, o conteúdo do setor de registro de tabela de partição e de tabela de partição é mostrado hierarqui- camente entre um par de setas ky1. O setor de registro de tabela de partição e de tabela de partição inclui um registro de tabela de partição, quatro tabe- las de partição 1,2, 3 e 3, e uma palavra de assinatura. O registro de tabela de partição é um sinal indicando para o apa- relho de acesso 200 que uma área subseqüente é fisicamente um meio (um meio físico). Na Figura 6A, a área de volume tem apenas um registro de ta- bela de partição, de modo que a área de volume é reconhecida pelo apare- lho de acesso 200 como sendo um meio físico. Geralmente, se nenhum re- gistro de tabela de partição for disposto na área de volume, dois meios físi- cos são reconhecidos pelo aparelho de acesso 200. A tabela de partição é uma tabela de gravação de informação de partição. Com mostrado pelas setas ky2, quando a placa de memória semi- condutora 100 é usada como um controlador de começo, a tabela de parti- ção inclui os campos a seguir: 'indicador de tabela', 'cabeçalho de começo', 'setor de começo / cilindro de começo', 'ID de sistema', 'cabeçalho de térmi- no', 'setor de término / cilindro de término', 'setor relativo', e 'setor total'. O campo 'indicador de tabela' é regulado em '0x80'. O campo 'cabeçalho de começo1 especifica o cabeçalho de começo de uma partição. O campo 'setor de começo / cilindro de começo' especifica o setor de começo e o cilindro de começo da partição. O 'ID de sistema' especifica um tipo de sistema de ar- quivo, sendo regulado em '01', quando o tamanho da partição for menor do que 32680 bytes, e em '04', quando o tamanho de partição for menor do que 65536. O campo 'setor de término / cilindro de término' especifica o setor de término e o cilindro de término da partição. O campo ‘setor relativo' especifica o número de setores existente antes do setor de começo da partição. O campo 'setor total' especifica o número de setores na partição. A seguir, há uma explanação da partição na placa de memória semicondutora 100. A partição é formada a partir da área de sistema, segui- da pela área de usuário, mas esta explanação começa com uma descrição da área de usuário, com referência à Figura 7C. A área de usuário armazena arquivos em unidades não menores do que um agrupamento. A seta ff2, desenhada usando-se uma linha pontilha- da na Figura 7C, mostra a pluralidade de agrupamentos 002, 003, 004, 005 ... incluída na área de usuário. Os números 002, 003, 004, 005, 006, 007, 008 ... usados na Figura 7C são números de agrupamento hexadecimal de três dígitos, que são exclusivamente atribuídos para a identificação de cada agrupamento. Uma vez que a menor unidade por meio da qual um acesso pode ser realizado é um agrupamento, as posições de armazenamento na área de usuário são indicadas usando-se números de agrupamento. A área de sistema inclui um setor de tabela de partição, uma tabela de alocação de arquivo duplicada, e uma entrada de diretório raiz. O setor de tabela de partição, a FAT duplicada e a entrada de diretório raiz são descritos, por sua vez, com referência, respectivamente, às Figuras 6B, 7A e 7B.
Um descritor de FDC (controlador de disco flexível) estendido com os campos de informação mostrados na Figura 6B é regulado no setor de tabela de partição. O descritor de FDC estendido inclui os campos a se- guir: 'comando jump', 'identificador de sistema de criação', 'tamanho de se- tor', 'setores por agrupamento', 'contagem de setor reservado', 'número de FATs' (número de FATs incluídas na FAT duplicada), 'número de entradas de diretório raiz' (comprimento de dado da entrada de diretório raiz), 'total de setores', 'identificador de meio', 'setores por FAT', 'setores por trilha', 'núme- ro de lados', 'número de setores ocultos', 'total de setores1 (o número total de setores na área de sistema e na área de usuário), 'número de disco físico', 'assinatura de registro de tabela estendido', 'número de ID de volume', ‘rótulo de volume1, 'tipo de sistema de arquivo', e 'palavra de assinatura'. A FAT duplicada é formada a partir de duas FATs conformes com a norma ISO/IEC (International Organization for Standardization / Inter- national Electrotechnical Commission) 9293. Cada FAT inclui uma pluralida- de de entradas de FAT, cada uma ligada a um agrupamento. As entradas de FAT indicam se um agrupamento correspondente está em uso ou não, sen- do regulado para '0', se o agrupamento não estiver em uso, e com o número de agrupamento correspondente, se o agrupamento estiver em uso. O nú- mero de agrupamento indica uma ligação para um próximo agrupamento, que deve ser lido seguindo-se a este agrupamento. A seta ff 1, desenhada usando-se uma linha pontilhada na Figura 7A, mostra uma pluralidade de entradas de FAT 002, 003, 004, 005 ... incluídas na FAT. Os valores numéri- cos '002, 003, 004, 005 ...' afixados a cada entrada de FAT mostram o nú- mero de agrupamento do agrupamento correspondente. A entrada de diretório raiz inclui uma pluralidade de entradas de arquivo para uma pluralidade de arquivos presentes no diretório raiz. Cada entrada de arquivo inclui um 'nome de arquivo' de um arquivo existente, um 'identificador de arquivo', um 'número de primeiro agrupamento em arquivo1 armazenado no começo do arquivo, um 'atributo de arquivo', uma 'hora de gravação' e uma 'data de gravação', indicando quando o arquivo foi gravado, e uma 'extensão do arquivo'. O que vem a seguir descreve o método de armazenamento de arquivo, mostrando como um arquivo denominado 'AOB001.SAT é armaze- nado no diretório raiz, com referência à Figura 8. Uma vez que a menor uni- dade pela qual uma área de usuário pode ser acessada é um agrupamento, o arquivo ΆΟΒ001 .SA1' precisa ser armazenado na região de dados em se- ções que não são menores do que um agrupamento. O arquivo ΆΟΒ001 .SA1', portanto, é armazenado tendo sido primeiro dividido em agrupamentos. Na Figura 8, o arquivo 'AOB001.SAT é dividido em cinco seções considerando o tamanho do agrupamento, e as seções resultantes são armazenadas nos agrupamentos numerados 003, 004, 005, 00A e 00C. A Figura 9 mostra um exemplo de como a entrada de diretório raiz e a FAT precisam ser reguladas, quando o arquivo 'AOB001.SA1' é ar- mazenado tendo sido dividido em seções e armazenado. No desenho, o co- meço do arquivo 'AOB001.SA1' é armazenado no agrupamento 003, de modo que o número de agrupamento 003 seja escrito no 'número de primei- ro agrupamento no arquivo' na entrada de diretório raiz, para indicar o agru- pamento armazenado a primeira seção do arquivo. As seções subseqüentes do arquivo 'AOB001.SA1' são armazenadas nos agrupamentos 004 e 005.
Como resultado, enquanto a entrada de FAT 003 (004) corresponde ao agrupamento 003 que armazena a primeira seção do arquivo 'AOB001.SA1', esta entrada indica o agrupamento 004 como o agrupamento armazenando a próxima seção do arquivo ΆΟΒ001 .SA1'. Da mesma forma, enquanto as en- tradas de FAT 004 (005) e 005 (00A), respectivamente, correspondem aos agrupamentos 004 e 005, que armazenam as próximas seções do arquivo 'AOB001.SA1', essas entradas indicam, respectivamente, o agrupamento 005 e o agrupamento 00A como os agrupamentos armazenando as próxi- mas seções do arquivo ΆΟΒ001 .SA1'. Ao serem lidos os agrupamentos com os números de agrupamento escritos nessas entradas de FAT, na ordem como mostrado pelas setas fk1, fk2, fk3, fk4, fk5, ... na Figura 9, todas as seções produzidas dividindo o arquivo 'AOB001.SA1' podem ser lidas. Como explicado acima, a área de usuário da placa de memória semicondutora 100 é acessada em unidades de agrupamentos, cada uma da quais estando as- sociada a uma entrada de FAT. Note que a entrada de FAT que corresponde ao agrupamento armazenando a seção final de um arquivo AOB (o agrupa- mento 00C no exemplo mostrado na Figura 9) é regulada com o número de agrupamento 'FFF', para mostrar que o agrupamento correspondente arma- zena a seção final de um arquivo. A explanação acima deu uma breve visão geral do sistema de arquivo na memória não volátil 1 da presente invenção. A explanação a se- guir se concentra no objetivo de princípio das modalidades, descrevendo como as fronteiras de agrupamento e a fronteiras de bloco apagável são ali- nhadas, em outras palavras, como a fronteira da área de sistema e da área de usuário é alinhada com uma fronteira entre dois blocos apagáveis. As modalidades executam dois melhoramentos, de modo a realizar este ali- nhamento de fronteira. O primeiro deles envolve a regulagem do tamanho de agrupamento em 1/enésimo do tamanho do tamanho de bloco apagável (n sendo 1, 2, 4, 8, 16 ou 32). A Figura 10A mostra a relação entre os blocos apagáveis e os agrupamentos. Aqui, um agrupamento é especificado como tendo 1/n do tamanho de um bloco apagável, isto é, 1/n de 16 KB (1/n de 32 setores). A Figura 10B mostra um número de agrupamentos quando n = 1 e a Figura 10C um número de agrupamentos quando n = 16. O segundo melhoramento envolve a alocação de uma área na área de volume, tendo um tamanho igual a m vezes o tamanho de um agru- pamento, para a gravação da informação de gerenciamento de volume. A
Figura 11A divisa uma situação onde m agrupamentos dentre s agrupa- mentos incluídos em s blocos apagáveis são alocados, para a gravação da informação de gerenciamento de volume. Se m agrupamentos forem aloca- dos para a gravação da informação de gerenciamento de volume, uma área m/n dentro dos s blocos apagáveis será ocupada pela informação de geren- ciamento de volume, e a área remanescente (s.n-m)/n será alocada para a área de usuário.
Ao regular o tamanho da informação de gerenciamento de volu- me em m vezes o tamanho do agrupamento, a informação de gerenciamento de volume e os s.n-m agrupamentos podem ser comprimidos, de modo que agrupamentos não ultrapassem as fronteiras entre dois blocos apagáveis. A Figura 11B mostra o número de agrupamentos alocados para a informação de gerenciamento de volume, quando n = 1, e a Figura 11C mostra o número de agrupamentos alocados para a informação de gerenci- amento de volume, quando n = 16. Como essas figuras mostram claramen- te, uma pluralidade de agrupamentos é ajustada precisamente em uma plu- ralidade de blocos apagáveis, regulando-se a informação de gerenciamento de volume, de modo que nenhum agrupamento ultrapasse as fronteiras en- tre blocos apagáveis. Um layout detalhado de uma área de volume, cujo ta- manho foi ajustado desta forma, é mostrado na Figura 5. Na Figura, o tama- nho da área de controle de partição é NOM, o tamanho do setor de tabela de partição é RSC, o tamanho da FAT duplicada é Size 1 x 2, o tamanho da entrada de diretório raiz é RDE, o tamanho do total de setor é TS, e o núme- ro de setores incluídos em um agrupamento SC.
Na Figura 5, um tamanho Size 1 das FATs incluídas na FAT du- plicada é determinado de acordo com o tamanho do total de setor é TS. Mais especificamente, ele é um valor calculado usando-se uma equação 11 des- crita adiante.
Equação 11 Para FAT 12: Size 1 (((((TS- (RSC+RDE))/SC) +2)x12/8)+511)/512 Para FAT 16: Size 1 (((((TS- (RSC+RDE))/SC) +2)x16/8)+511)/512 Aqui, FAT12 indica um sistema de arquivo no qual a cada entra- da de FAT são alocados 12 bits, e a FAT 16 é um sistema de arquivo no qual a cada entrada de FAT são alocados 16 bits.
Na equação 11, (TS-(RSC+RDE)) é o número de agrupamentos requeridos para que a gravação seja realizada pela área de usuário. O nú- mero indicador 2 é adicionado a este número, o valor resultante, então, sen- do multiplicado pelo comprimento de byte da entrada de FAT (12 ou 16), e, então, dividido por 8, para obter o comprimento de byte de FAT. Um valor de deslocamento de 511 bytes é adicionado ao resultado deste cálculo, e o nú- mero resultante dividido pelo comprimento de byte de setor de 512, para se calcular o número de setores requeridos para o armazenamento de uma FAT.
Se o comprimento de dado de FAT fosse 1 byte, a divisão do dado de FAT por 512 resultaria no número de setores na FAT sendo calculado como 0.
Contudo, a adição do valor de deslocamento 511 pela equação 11 assegura que um Size 1 tendo pelo menos um setor seja calculado.
Um ponto de importância a destacar na Figura 5 é o tamanho da área de controle de partição, conhecido como NOM. O NOM é regulado a um valor de 'SC+α', para assegurar que a área de controle de partição e a área de sistema pertençam a agrupamentos diferentes. A razão para a re- gulagem de NOM desta forma é impedir falhas de modificarem os agrupa- mentos na área de sistema ao terem um efeito de batida sobre a área de controle de partição. Em outras palavras, se o setor de registro de tabela de partição e de tabela de partição na área de partição for danificado por uma V ■' falha de modificação, a placa de memória semicondutora 100 não será mais reconhecida como um meio de gravação autorizado pelo aparelho de acesso 200. NOM é regulado em SC+α, de modo a evitar esse cenário de pior caso. O valor SC+α é regulado da forma a seguir. O valor α é calculado dividindo-se (RSC+RDE-Size 1 x 2) por SC, de modo que a soma de RSC, Si- ze 1x2 e RDE seja um múltiplo inteiro de SC, e subtraindo-se o restante deste cálculo de SC. Se esses fatores forem levados em conta, o NOM é calculado como na equação 12.
Eauacão 12 NOM= (SC-(RSC+RDE+Size 1 x2) %SC) +SC
Se α for especificado desta forma, a área de controle de partição e a área de usuário serão formadas de modo a se ajustarem exatamente em uma pluralidade de blocos apagáveis, e a fronteira entre a área de sistema e a área de usuário estará alinhada com a fronteira de blocos apagáveis. Se esse alinhamento de fronteiras puder ser realizado, as fronteiras de todos os agrupamentos subseqüentes estarão alinhadas com as fronteiras de blocos apagáveis.
Aqui, um exemplo, mostrando como o NOM e Size 1 são calcu- lados, quando o SC é de 32 setores (16 KB), o RDE é de 32 setores, o RSC é de 1 setor, e TS é de 65600 setores, é descrito. Se o tipo de FAT duplica- da for FAT12, Size 1 e calculado da forma a seguir, usando a equação 11.
Size 1= (((((TS- (RSC+RDE))/SC) +2)x12/8) + 511)/512 = (((((65600 - (1 + 32))/SC) +2) x12/8) + 511)/512 = 7 Setores.
Mais ainda, NOM é calculado da forma a seguir, usando-se a equação 12.
NOM= (SC-(RSC+RDE+Size 1 x2) %SC) +SC = (32- (1+32+7x2) %32) +32 = 47 Setores. A Figura 12 ilustra uma área de controle de partição, uma área de sistema e agrupamentos, de acordo com os tamanhos calculados. O se- tor de registro de tabela de partição e de tabela de partição e a informação reservada 1/2 são dispostos nos setores PSN000 e PSN031, e a informação reservada 2/2, o setor de tabela de partição e a FAT duplicada são dispostos nos setores PSN032 a PSN063. A entrada de diretório raiz é disposta nos setores PSN064 a SPN095. Na área de volume, 32 setores formam um blo- co apagável, de modo que o registro de tabela de mestre, a tabela de parti- ção e a informação reservada 1/2 sejam dispostos em um primeiro bloco apagável 001, a informação reservada 2/2, o setor de tabela de partição e a FAT duplicada sejam dispostos em um segundo bloco apagável 002, e a entrada de diretório raiz seja disposta em um terceiro bloco apagável 003. A entrada de diretório raiz é armazenada em um bloco apagável de mesmo tamanho, de modo que a fronteira entre a área de usuário e a área de siste- ma combine com uma fronteira entre blocos apagáveis. O layout de área de volume acima é realizado quando a unidade de operação de sistema de arquivo 9 executa a inicialização na memória não volátil 1. O procedimento para a execução deste processamento de iniciali- zação é explicado com referência ao fluxograma da Figura 13.
Na etapa S1, a unidade de operação de sistema de arquivo 9 determina o tamanho do agrupamento, de acordo com um tamanho da área a ser formatada (TS) e uma capacidade de armazenamento total da placa de memória semicondutora 100, um sistema operacional operado pelo aparelho de acesso 200, e instruções de um usuário.
Uma vez que o tamanho do agrupamento tenha sido determina- do, na etapa S2, a unidade de operação de sistema de arquivo 9 usa o ta- manho de agrupamento SC e o tamanho total de setor TS, para determinar se um sistema de arquivo de FAT12 ou de FAT16 deve ser usado. Uma vez que um dentre o sistema de arquivo de FAT12 ou de FAT16 foi determinado, na etapa S3, a unidade de operação de sistema de arquivo 9 determina o comprimento RDE da entrada de diretório raiz (nessas modalidades, o RDE é fixado em 32 setores) e, seguindo-se a isso, na etapa S4, determina o comprimento RSC do setor de tabela de partição (nessas modalidades, o RSC é fixado em 1 setor). Uma vez que o RDE e o RSC tenham sido obti- dos, a unidade de operação de sistema de arquivo 9 usa a equação 11 para calcular o comprimento de dados da FAT, na etapa S5. Então, na etapa S6, a unidade de operação de sistema de arquivo 9 usa a equação 12, para calcular o NOM, de modo que o registro de tabela de partição e o setor de tabela de partição estejam em agrupamentos diferentes. O processamento executado nas etapas S5 a S7 acima é virtu- almente idêntico àquele realizado nas equações 11 e 12 previamente des- critas. Contudo, o processamento executado nas etapas S7 a S9 é primeiro introduzido neste fluxograma. Na etapa S7, a unidade de operação de sis- tema de arquivo 9 calcula o número de agrupamentos CN na área de usuá- rio, usando a equação 13.
Equação 13 CN = (TS- (RSC+RDE+Size 1 x 2+NOM))/SC
Na etapa S8, a unidade de operação de sistema de arquivo 9 calcula o comprimento de dados da FAT, usando a equação 14 a seguir.
Equação 14 Para FAT12 : Size 2 = (((CN+2) x12/8+511)/512 Para FAT16 : Size 2 = (((CN+2) x16/8+511)/512 Na etapa S9, a unidade de operação de sistema de arquivo 9 compara o Size 1 calculado na etapa S5 e o Size 2, calculado na etapa S8, e se os dois valores forem idênticos, termina o processamento. Se os valores não forem idênticos, a unidade de operação de sistema de arquivo 9 substi- tui o Size 1 pelo Size 2 na etapa S10, se move para a etapa S6, e recalcula o NOM. Uma vez que Size 1 é agora um valor diferente devido à substitui- ção, um NOM diferente pode ser calculado, movendo-se para a etapa S6.
Então, a unidade de operação de sistema de arquivo 9 recalcula o Size 2 na etapa S8, com base no NOM recém calculado, e se Size 1 e Size 2 forem idênticos, a etapa S9 é Sim e o processamento termina. O NOM calculado, usando-se o processamento acima, é regula- do no campo 'setor relativo' na tabela de partição que mostra o número de setores existentes antes do setor de começo da partição, e o TS é regulado no campo 'total de setor' na tabela de partição. O SC é regulado no campo 'setores por agrupamento' no setor de tabela de partição, mostrando o número de setores em cada agrupa- mento. Mais ainda, o RDE, que mostra um número de setores, é multiplicado pelo comprimento de setor de 512 bytes e, então, dividido por 32, para a obten- ção de um número de entradas de arquivo, este número, então, sendo re- gulado no campo 'número de entradas de diretório raiz' no setor de tabela de partição. O Size 1 é regulado no campo 'setores por FAT', que mostra o nú- mero de setores em cada FAT, no setor de tabela de partição. O aparelho de acesso 200 se refere a esses valores regulados na tabela de partição e no setor de tabela de partição quando especificando os locais da FAT duplica- da, da entrada de diretório raiz e da área de usuário.
Isso conclui a explanação do fluxograma na Figura 13. Em se- guida, um cálculo de exemplo, ilustrando como o tamanho da área de parti- ção e a área de sistema são calculados, quando o TS é 65568, é descrito.
Uma vez que TS é 65568, na etapa S1, a unidade de operação de sistema de arquivo 9 determina o tamanho de agrupamento como sendo de 32 setores. Uma vez que o tamanho de agrupamento tenha sido determi- nado como sendo de 32 setores, na etapa S2, a unidade de operação de sistema de arquivo 9 determina que um sistema de arquivo de FAT12 deve ser usado referindo-se ao tamanho de agrupamento SC e ao tamanho de total de setores TS. Nestas modalidades, os tamanhos do RDE e do RSC são fixados, respectivamente, em 32 setores e 1 setor, de modo que o cál- culo das etapas S3 e S4 não seja realizado. Na etapa S5, o sistema de ope- ração de arquivo calcula o comprimento de dados da FAT, usando as equa- ções 11 e 12. Aqui, uma vez que a FAT é FAT12, o cálculo a seguir é reali- zado.
Size 1= (((((TS-(RSC+RDE))/SC)+2) x12/8)=511)/512 = (((((65568-(1 +32))/SC)+2) x12/8)=511)/512 = 7 setores.
Uma vez que Size 1 tenha sido calculado, na etapa S6, a unida- de de operação de sistema de arquivo 9 calcula o NOM, usando a equação 12, de modo que o registro de tabela de partição e o setor de tabela de parti- ção estejam em agrupamentos diferentes.
NOM= (SC-(RSC+RDE+Size 1 x2)%SC) +SC = (32 - (1 +32+7x2)%32)+32 = 49 setores Uma vez que o NOM tenha sido calculado, na etapa S7, a uni- dade de operação de sistema de arquivo 9 calcula o número de agrupa- mentos na área regular, usando a equação 13.
CN = (TS-(RSC+RDE+Size 1 x2+NOM))/SC = (65568 - (1 +32+7x2+49))/32 = 2046 setores Na etapa S8, a unidade de operação de sistema de arquivo 9 calcula o comprimento de dados da FAT, usando a equação 14.
Para FAT 12: Size 2 = (((CN+2)x12/8)+511)/512 = (((2046+2)x12/8)+511)/512 = 6 setores.
Na etapa S9, a unidade de operação de sistema de arquivo 9 compara o Size 1 calculado na etapa S5 e o Size 2 calculado na etapa S8.
Aqui, Size 1 é de 7 setores e Size 2 é de 6 setores. Uma vez que eles não são idênticos, a unidade de operação de sistema de arquivo 9 se move para a etapa S10, substitui Size 1 por Size 2, se move para a etapa S6 de novo, e recalcula o NOM.
NOM= (SC-(RSC+RDE+Size 1 x2)%SC) +SC = (32 - (1 +32+6x2) %32)+32 = 51 setores Uma vez que NOM tenha sido calculado, na etapa S7, a unidade de operação de sistema de arquivo 9 calcula o número de agrupamentos na área regular.
CN = (TS-(RSC+RDE+Size 1 x2+NOM))/SC = (65568 - (1 +32+6x2+49))/32 = 2046 setores Na etapa S8, o comprimento de dados da FAT é calculado.
Para FAT 12: Size 2 = (((CN+2)x12/8)+511)/512 = (((2046+2)x12/8)+511)/512 = 6 Seguindo-se a este cálculo, na etapa S9, a unidade de operação de sistema de arquivo 9 compara Size 1 e Size 2, e uma vez que os dois valores são idênticos, o processamento do fluxograma termina.
Como mostrado acima, a presente modalidade permite que o NOM seja calculado, de modo que o tamanho da área de partição e o tama- nho da área de sistema sejam um múltiplo inteiro do número de blocos apa- gáveis, desse modo assegurando que os agrupamentos não sejam armaze- nados atravessando dois blocos apagáveis. As fronteiras de agrupamento podem ser alinhadas com fronteiras de bloco apagável, e a fronteira da in- formação de gerenciamento de volume com uma fronteira de bloco apagá- vel, de modo que quando um agrupamento for reescrito ou sobrescrito, o número de blocos apagáveis que precise ser apagado seja limitado a um, desse modo reduzindo o número de vezes que qualquer bloco apagável pre- cise ser apagado. Consequentemente, o tempo requerido para escrever da- dos na placa de memória semicondutora 100 é encurtado, e uma memória não volátil 1 com uma vida útil mais longa pode ser realizada.
Segunda Modalidade Uma segunda modalidade propõe um arranjo no qual a área de volume é dividida em uma área à qual o usuário geral pode ter acesso (a área de dados de usuário), e uma área que armazena dados com segurança (a área protegida).
Uma estrutura de um aparelho de acesso 200 e uma placa de memória semicondutora 100 na segunda modalidade são mostradas na Fi- gura 14. Na estrutura interna mostrada na Figura, em contraste com aquela mostrada na Figura 3A, a memória não volátil 1 foi provida com uma área pro- tegida, e a placa de memória semicondutora 100 e o aparelho de acesso 200 foram providos, respectivamente, com unidades de processamento seguro 11 e 12. A seguir, há uma explanação da unidade de processamento se- guro 11, provida de modo a executar uma leitura e uma escrita seguras para e da área protegida na memória não volátil 1. Como mostrado na Figura 15, a unidade de processamento seguro 11 inclui uma área de sistema 13, uma área oculta 14, uma unidade de processamento AKE 15, uma unidade de desencriptação de Ks 16 e uma unidade de encriptação de Ks 17. A área de sistema 13 é uma área apenas de leitura, que arma- zena um bloco de chave de meio (MKB) e uma ID de meio. O MKB e a ID de meio armazenados nesta área não podem ser reescritos. Suponha que a placa de memória semicondutora 100 esteja conectada a um aparelho de acesso 200, e que o MKB e a ID de meio sejam lidos por aquele aparelho de acesso 200. Se o aparelho de acesso 200 executar corretamente um cálculo específico, usando o MKB, a ID de meio e uma chave de dispositivo Kd manti- da internamente, ele pode obter uma chave de encriptação correta Kmu. A área oculta 14 armazena um valor correto para a chave de encriptação Kmu, em outras palavras, a chave de encriptação Kmu que deve ser obtida, se o aparelho de acesso 200 executar um cálculo correto usando uma chave de dispositivo Kd válida. A unidade de processamento AKE (autenticação e troca de chave) 15 executa uma autenticação mútua entre o aparelho de acesso 200 e a pla- ca de memória semicondutora 100, usando o método de resposta a desafio, verifica a autenticidade do dispositivo oposto e, se o dispositivo oposto for inválido, pára o processamento. Se o dispositivo oposto for válido, contudo, uma chave de encriptação (chave de sessão Ks) é compartilhada pelo apa- relho de acesso 200 e pela placa de memória semicondutora 100. A autenti- cação realizada pelo aparelho de acesso 200 tem três fases. Em primeiro lugar, em uma primeira fase de desafio, o aparelho de acesso 200 gera um número randômico, encripta o número randômico, usando a chave de en- criptação Kmu, e transmite o número randômico encriptado para a placa de memória semicondutora 100, como um valor de desafio A. Então, em uma primeira fase de resposta, a placa de memória semicondutora 100 usa a chave de encriptação Kmu armazenada internamente para desencriptar o valor de desafio A, e transmite o valor desencriptado para o aparelho de acesso 200, como um valor de resposta B. Seguindo-se a isso, em uma pri- meira fase de verificação, o aparelho de acesso 200 desencripta o valor de desafio A mantido internamente, usando sua chave de encriptação Kmu, e compara o valor desencriptado com o valor de resposta B transmitido da placa de memória semicondutora 100. A autenticação realizada pela placa de memória semicondutora 100 também tem três fases. Em primeiro lugar, em uma segunda fase de desafio, a placa de memória semicondutora 100 gera um número randômico, encripta o número randômico usando a chave de encriptação Kmu, e trans- mite o número randômico encriptado para o aparelho de acesso 200, como um valor de desafio C. Então, em uma segunda fase de resposta, o aparelho de acesso 200 usa a chave de encriptação Kmu armazenada internamente para desencriptar o valor de desafio C, e transmite o valor desencriptado para a placa de memória semicondutora 100, como um valor de resposta D.
Seguindo-se a isso, em uma segunda fase de verificação, a placa de memó- ria semicondutora 100 desencripta o valor de desafio C mantido interna- mente, usando sua chave de encriptação Kmu, e compara o valor desen- criptado com o valor de resposta D transmitido do aparelho de acesso 200.
Se o aparelho de acesso 200 usar uma chave de encriptação Kmu inválida para a execução da autenticação mútua, o valor de desafio A e o valor de resposta B, na primeira fase de verificação, e o valor de desafio C e o valor de resposta D, na segunda fase de verificação, serão julgados como valores sem combinação, e a autenticação mútua será parada. Se a autenticidade dos dispositivos opostos for verificada, contudo, a unidade de processamento AKE 15 calcula um OU exclusivo do valor de desafio A e do valor de desafio C, e obtém a chave de sessão Ks, desencriptando o OU exclusivo, usando a chave de encriptação Kmu.
Quando um dado encriptado a ser escrito na área protegida é extraído do aparelho de acesso 200 conectado à placa de memória semi- condutora 100, a unidade de desencriptação de Ks 16 usa a chave de ses- são Ks para desencriptar o dado que já foi encriptado pela chave de sessão Ks, antes de ser extraído. O dado obtido por esta desencriptação é escrito na área protegida, como o dado original. A unidade de encriptação de Ks 17 recebe um comando do apa- relho de acesso 200 conectado à placa de memória semicondutora 100, ins- truindo-a para ler um dado, encripta o dado armazenado na área protegida usando a chave de sessão Ks e, então, extrai o dado encriptado para o apa- relho de acesso 200. A leitura e a escrita de dados para e da área protegida é realizada seguindo-se a desencriptação realizada pela unidade de desen- criptação de Ks 16 e a encriptação realizada pela unidade de encriptação de Ks 17, de modo que a área protegida possa ser acessada apenas quando a placa de memória semicondutora 100 e o aparelho de acesso 200 conectado tiverem executado o processamento de AKE com sucesso.
Em seguida, o formato da área de volume na segunda modali- dade é explicado, com referência à Figura detalhada da área de volume, in- cluindo a área protegida, mostrado na Figura 16. Na Figura, se o tamanho total da área de volume for 'tamanho de volume', a área de dado de usuário é um 'tamanho de volume x (1-β)', que se estende a partir do começo da área de volume, e um 'tamanho de volume x β' de área seguindo-se à área de dado de usuário é alocado à área protegida. Aqui, β é um valor para o qual a regulagem mínima é 0,01. Para tomar um exemplo, se o tamanho de volume for de 64 MB e β for 0,01, a área protegida é regulada a 640 KB. O formato da área de dado de usuário e da área protegida é realizado quando a unidade de operação de sistema de arquivo 9 executar a procedimento de inicialização mostrado na Figura 9. O que vem a seguir descreve um cálculo de exemplo que é rea- lizado, para calcular o tamanho da área de controle de partição e da área de sistema na área de dado de usuário, quando o número total de setores TS na área de dado de usuário for 124160.
Uma vez que TS seja 124160, na etapa S1, a unidade de opera- ção de sistema de arquivo 9 determina que o tamanho de agrupamento seja de 32 setores. Uma vez que o tamanho de agrupamento tenha sido determi- nado como de 32 setores, na etapa S2, a unidade de operação de sistema de arquivo 9 determina que um sistema de arquivo de FAT12 deve ser usa- do referindo-se ao tamanho de agrupamento SC e ao tamanho de total de setor TS. Nessas modalidades, os tamanhos do RDE e do RSC são fixados, respectivamente em 32 setores e 1 setor, de modo que o cálculo das etapas S3 e S4 não seja realizado. Na etapa S5, o sistema de operação de arquivo calcula o comprimento de dados da FAT, usando as equações 11 e 12. Aqui, uma vez que a FAT é FAT 12, o cálculo a seguir é realizado.
Size 1= (((((TS-(RSC+RDE))/SC)+2) x12/8)+511)/512 = (((((124160-(1 +32))/32)+2) x12/8)+511 )/512 = 12 setores.
Uma vez que Size 1 tenha sido calculado, na etapa S6, a unida- de de operação de sistema de arquivo 9 calcula o NOM, usando a equação 12, de modo que o registro de tabela de partição e o setor de tabela de parti- ção estejam em agrupamentos diferentes.
NOM= (SC-(RSC+RDE+Size 1 x2)%SC) +SC = (32 - (1 +32+12x2)%32)+32 = 39 setores Uma vez que o NOM tenha sido calculado, na etapa S7, a uni- dade de operação de sistema de arquivo 9 calcula o número de agrupa- mentos na área regular, usando a equação 13.
CN = (TS-(RSC+RDE+Size 1 x2+NOM))/SC = (124160 - (1+32+12x2+49))/32 = 3877 setores Na etapa S8, a unidade de operação de sistema de arquivo 9 recalcula o comprimento de dados da FAT, usando a equação 14.
Para FAT 12: Size 2 = (((CN+2)x12/8)+511)/512 = (((3877+2x12/8)+511 )/512 = 12 setores.
Na etapa S9, a unidade de operação de sistema de arquivo 9 compara o Size 1 calculado na etapa S5 e o Size 2 calculado na etapa S8.
Aqui, ambos o Size 1 e o Size 2 são calculados como sendo de 12 setores, de modo que eles são julgados idênticos, e o processamento do fluxograma termina.
Um layout da área protegida, quando a área de sistema e a área de controle de partição são formadas com um TS, Size 1, e NOM dimensio- nado como calculado pelos cálculos acima, é mostrado na Figura 17. Se esta Figura for comparada com a Figura 12, pode ser visto que o tamanho da FAT duplicada aumentou de 14 para 24 setores, enquanto o tamanho da informação reservada 1/2 e da 2/2 retraiu de 17 para 7 setores, de modo que a área de controle de partição e a área de sistema se adaptem exatamente a três blocos apagáveis. O que vem a seguir descreve um cálculo de exemplo que é rea- lizado para calcular o tamanho da área de controle de partição e da área de sistema na área protegida, quando o número total de setores TS na área de dado de usuário for 1280.
Uma vez que TS seja determinado como sendo 1280, na etapa 51, a unidade de operação de sistema de arquivo 9 determina que o tama- nho do agrupamento seja de 2 setores (1 KB de memória, e apenas 1/16 avos do tamanho da área de dado de usuário). Uma vez que o tamanho do agrupamento tenha sido determinado como sendo de 2 setores, na etapa 52, a unidade de operação de sistema de arquivo 9 determina que um sis- tema de arquivo de FAT12 deve ser usado referindo-se ao tamanho de agrupamento SC e ao tamanho de total de setor TS. Nessas modalidades, os tamanhos do RDE e do RSC são fixados, respectivamente, em 32 setores e 1 setor, de modo que o cálculo das etapas S3 e S4 não é realizado. Na etapa S5, o sistema de operação de arquivo calcula o comprimento de da- dos da FAT, usando as equações 11 e 12. Aqui, uma vez que FAT é FAT12, o cálculo a seguir é realizado.
Size 1= (((((TS-(RSC+RDE))/SC)+2) x12/8)+511)/512 = (((((1280-(1+32))/2)+2) x12/8) +511)/512 = 2 setores.
Uma vez que Size 1 tenha sido calculado, na etapa S6, a unida- de de operação de sistema de arquivo 9 calcula o NOM, usando a equação 12, de modo que o registro de tabela de partição e o setor de tabela de parti- ção estejam em agrupamentos diferentes.
NOM= (SC-(RSC+RDE+Size 1 x2)%SC) +SC = (2 - (1 +32+2x2)%2)+2 = 3 setores Uma vez que o NOM tenha sido calculado, na etapa S7, a uni- dade de operação de sistema de arquivo 9 calcula o número de agrupa- mentos na área regular, usando a equação 13.
CN = (TS-(RSC+RDE+Size 1 x2+NOM))/SC = (1280 - (1 +32+2x2+3))/32 = 620 setores Na etapa S8, a unidade de operação de sistema de arquivo 9 calcula o comprimento de dados da FAT, usando a equação 14.
Para FAT12: Size 2 = (((CN+2)x12/8)+511)/512 = (((620+2x12/8)+511)/512 = 2 Na etapa S9, a unidade de operação de sistema de arquivo 9 compara o Size 1 calculado na etapa S5 e o Size 2 calculado na etapa S8.
Aqui, ambos o Size 1 e o Size 2 são calculados como sendo de 2 setores, de modo que eles são julgados idênticos, e o processamento do fluxograma termina.
Um layout da área protegida, quando a área de sistema e a área de gerenciamento de controle de partição forem formadas com um TS, um Size 1 e NOM dimensionado como calculado pelos cálculos acima, é mos- trado na Figura 18. Nestas modalidades, ambas a área de dado de usuário e a área protegida têm uma área de controle de partição, uma área de sistema e uma área protegida, de modo que cada uma seja tratada como um meio físi- co independente pelo aparelho de acesso 200. Assim, embora a área de dado de usuário e a área protegida tenham tamanhos de agrupamento diferentes, as fronteiras de agrupamentos em ambas a área de dado de usuário e a área protegida podem ser alinhadas com as fronteiras de blocos apagáveis.
Na modalidade acima, mesmo se a área de volume incluir duas áreas, a área de dado de usuário e a área protegida, as fronteiras dessas áreas estarão alinhadas com as fronteiras de blocos apagáveis, e, assim, uma reescrita de agrupamentos pode ser completada em um tempo curto.
Além disso, o número de vezes que os blocos apagáveis precisam ser apa- gados é reduzido, de modo que a vida útil da memória não volátil não é des- necessariamente encurtada.
Terceira Modalidade A terceira modalidade refere-se a um melhoramento usado quando o dado armazenado nos blocos apagáveis é apagado, os blocos apagáveis sendo gerenciados usando-se um endereço lógico e um endereço físico. Uma estrutura de uma unidade de controle de acesso 2 na terceira modalidade é mostrada na FIG> 19. A unidade de controle de acesso 2 na Figura inclui uma unidade de decodificação de comando 21, uma unidade de conversão de endereço lógico / físico 22, uma unidade de controle de leitura 23, uma unidade de mudança de alocação 24, uma unidade de controle de escrita 25, uma unidade de controle de apagamento 26, e uma unidade de controle de modificação 27. A unidade de decodificação de comando 21 recebe um comando emitido por um aparelho de acesso 200, e decodifica o conteúdo original do comando no ponto de emissão. Se um comando de leitura for recebido, a unidade de decodificação de comando 21 instrui a unidade de controle de leitura 23 para ler um dado a partir da memória não volátil 1 (Ler). Se um comando de escrita for recebido, a unidade de decodificação de comando 21 instrui a unidade de controle de escrita 25 para escrever um dado na memó- ria não volátil 1 (Escrever). Se um comando de escrita especificando um blo- co não apagado como um alvo de acesso for recebido, a unidade de decodi- ficação de comando 21 instrui a unidade de controle de modificação para modificar (reescrever) um dado armazenado na memória não volátil 1 (Modi- ficar). Se um comando de obter status for recebido, a unidade de decodifica- ção de comando 21 instrui a unidade de mudança de alocação 24 para ler uma lista de bloco apagado (descrita mais tarde neste relatório descritivo).
Se um comando de apagar for recebido, a unidade de decodificação de co- mando 21 instrui a unidade de mudança de alocação 24 para apagar o bloco apagável especificado. A unidade de conversão de endereço lógico / físico 22 tem uma tabela de correspondência de endereço, que mostra as correspondências entre endereços lógicos e físicos para blocos apagáveis. Quando um ende- reço lógico que deve ser acessado é especificado pelo aparelho de acesso 200, a unidade de conversão de endereço lógico / físico 22 se refere à cor- respondência para o endereço lógico mostrado na tabela de correspondên- cia de endereço, troca o endereço lógico por um endereço físico correspon- dente, e extrai o endereço físico para a unidade de controle de leitura 23, para a unidade de mudança de alocação 24 e para a unidade de controle de modificação 27.
Quando um comando de leitura é emitido pelo aparelho de acesso 200, a unidade de controle de leitura 23 executa um controle, de modo a ter o dado de leitura de aparelho de acesso 200 armazenado no lo- cal de leitura especificado pelo comando de leitura. A unidade de mudança de alocação 24 mantém uma lista de bloco apagado, na qual os endereços físicos para blocos apagáveis que fo- ram apagados são dispostos em um formato de primeiro a entrar primeiro a sair (FIFO). Quando um comando de leitura é emitido pelo aparelho de acesso 200, a unidade de mudança de alocação 24 julga se um endereço físico correspondente ao endereço lógico especificado como um destino de leitura está presente na lista de bloco apagado. Se um endereço físico como esse for julgado como estando presente, a unidade de mudança de alocação 14 extrai o endereço físico para a unidade de controle de escrita 25, e apaga o endereço físico da lista de bloco apagado. Se o endereço físico correspon- dente indicar um bloco apagável que ainda não foi apagado, a unidade de mudança de alocação 24 aloca um endereço físico no começo da lista de bloco apagado ao endereço lógico, como o destino de leitura, e extrai o en- dereço físico alocado para a unidade de controle de escrita 25, enquanto adiciona o endereço físico que estava previamente alocado ao endereço ló- gico como o destino de leitura ao final da lista de bloco apagado. Mais ainda, quando um comando de obter status é emitido pelo aparelho de acesso 200, a unidade de mudança de alocação 24 muda os endereços físicos mostra- dos na lista de bloco apagado para endereços lógicos, e extrai uma lista de bloco apagado, indicando blocos apagáveis apagados, usando uma tabela de endereços lógicos, para o aparelho de acesso 200. Se um comando de apagar, indicando que um endereço lógico já foi emitido pelo aparelho de acesso 200, a unidade de mudança de alocação 24 controla as operações, de modo que um endereço físico correspondente a este endereço lógico seja adicionado à lista de bloco apagado. A unidade de controle de escrita 25 escreve dados para a me- mória não volátil 1, de acordo com o endereço físico extraído da unidade de mudança de alocação 24, quando um comando de escrita para escrever em um bloco for recebido. A unidade de controle de apagamento 26 executa uma interro- gação em intervalos fixos, para determinar se um endereço físico para um bloco não apagado foi adicionado à lista de bloco apagado. Se esse endere- ço físico tiver sido adicionado, a unidade de mudança de alocação 24 apaga o bloco apagável indicado pelo endereço físico. A unidade de controle de modificação 27 lê dados da memória não volátil 1 para a memória de trabalho 3, e modifica o dado, enquanto ele estiver sendo mantido na memória de trabalho 3, antes de escrever o dado modificado da memória de trabalho 3 para a 1, quando um comando de es- crita para modificar um bloco apagável, no qual um dado já está escrito, for recebido. O processamento de modificação realizado pela unidade de con- trole de modificação 27 é efetuado por um processamento cooperativo com a unidade de mudança de alocação 24. O fluxo do processamento de modi- ficação de dado realizado pela unidade de controle de modificação 27 é mostrado em uma seqüência de tempo na Figura 20.
No estado inicial mostrado na Figura 20A, o dado está atual- mente armazenado em blocos sombreados (blocos com endereços físicos 001,002, 004, 007 a 015), e os blocos remanescentes 003, 005 e 006 foram apagados. Os endereços físicos 003, 005 e 006, representando blocos apa- gados, são dispostos na lista de bloco apagado. Em uma tabela de corres- pondência de endereço, que mostra as correspondências entre endereços lógicos e físicos, os endereços lógicos 001, 002, 003, 004 e 005 correspon- dem, respectivamente, aos endereços físicos 001,002, 003, 004 e 005.
Aqui, se um comando de escrita, indicando que um valor dife- rente deve ser escrito em um bloco apagável com o endereço lógico 001, for emitido pelo aparelho de acesso 200, a unidade de controle de escrita 25 transfere o dado escrito no bloco com o endereço lógico 001 da memória não volátil 1 para a memória de trabalho 3 (veja a seta © Ler na Figura 20A).
Então, a unidade de controle de escrita 25 modifica o dado escrito no bloco com o endereço lógico 001, enquanto este bloco é mantido na memória de trabalho 3 (veja a seta ® Modificar na Figura 20A).
Em seguida, na Figura 20B, a unidade de controle de modifica- ção 27 lê um endereço físico 003 na frente da lista de bloco apagado, como mostrado por uma seta BN1, e escreve um dado no bloco indicado pelo en- dereço físico 003, como mostrado pela seta ® Escrever. Então, na Figura 20C, a unidade de controle de modificação 27 dispõe o endereço físico 001, cujo bloco correspondente deve ser apagado, na lista de bloco apagado, como mostrado pela seta ©.
Por último, a unidade de controle de modificação 27 faz um in- tercâmbio entre correspondências de endereço lógico / endereço físico, como mostrado na Figura 20D. Aqui, o endereço físico 003 é alocado ao en- dereço lógico 001, e o endereço físico 001 é alocado ao endereço lógico 003. O dado, assim, pode ser sobrescrito no endereço lógico 001, escreven- do-se o dado no endereço físico 003 e, então, alternando as correspondên- cias entre endereços lógicos e físicos. A seguir, há uma explanação da estrutura interna do aparelho de acesso 200. A Figura 21 mostra uma estrutura interna de uma unidade de operação de sistema de arquivo 9 no aparelho de acesso 200 da terceira modalidade. A unidade de operação de sistema de arquivo 9 mostrada na Figura inclui uma unidade de apagamento de arquivo 28 e uma unidade de controle de apagamento precedente 29. A unidade de apagamento de arquivo 28 apaga arquivos atuali- zando uma FAT lida da memória primária 7, e escrevendo a FAT atualizada na placa de memória semicondutora 100. Se o programa aplicativo 8 emitir uma instrução para apagar um arquivo, a unidade de apagamento de arqui- vo 28 executa o apagamento de arquivo, regulando entradas de FAT corres- pondentes a agrupamentos armazenando seções deste arquivo em Ό', indi- cando que esses agrupamentos são não usados. Contudo, os agrupamentos (blocos apagáveis) armazenado seções de arquivo não foram retornados para um estado em branco, de modo que os agrupamentos devem, primeiro, ser apagados, antes de um outro arquivo poder ser gravado nos mesmos agrupamentos. Portanto, a quantidade de tempo requerida para o proces- samento de apagamento aumenta proporcionalmente com aumentos no núme- ro de vezes que um arquivo antigo é apagado e um novo arquivo gravado. A unidade de controle de apagamento precedente 29 emite um comando de obter status para a placa de memória semicondutora 100, ins- truindo-a para ler a lista livre de memória apagada, enquanto espera por uma instrução do programa aplicativo 8. Uma vez que o comando seja emiti- do, e a lista livre de memória apagada extraída, a unidade de controle pre- cedente 29 recebe a lista livre apagada extraída, e a compara com a FAT, para especificar blocos apagáveis correspondentes a agrupamentos que são regulados como não usados na FAT. (Quando um bloco apagável inclui uma pluralidade de agrupamentos, apenas blocos apagáveis formados inteira- mente de agrupamentos não usados podem ser especificados). Então, des- ses blocos apagáveis, os blocos que não estão presentes na lista de bloco apagado também são especificados. Os blocos são blocos apagáveis que são não usados e não apagados, e a unidade de controle de apagamento precedente 29 emite um comando de apagar para a placa de memória semi- condutora 100, instruindo que esses blocos sejam apagados. O comando de apagar inclui uma especificação de endereço lógico, e uma instrução para adicionar um endereço físico correspondente a este endereço lógico à lista de bloco apagado. Se um endereço físico for adicionado à lista de bloco apagado emitindo-se esse comando de apagar, o bloco indicado pelo co- mando de apagar é apagado da mesma forma que outros blocos apagáveis não usados e não apagados, quando uma interrogação é realizada pela uni- dade de controle de apagamento 26. O mesmo procedimento é executado em todos os blocos não usados e não apagados. O procedimento detalhado realizado pela unidade de controle de apagamento precedente 29 é explica- do abaixo, com referência ao fluxograma da Figura 22.
Nesta modalidade, se a unidade de controle de apagamento precedente 29 for ativada, ela se move para o processamento de laço das etapas S21 a S22. Na etapa S21, a unidade de controle de apagamento pre- cedente 29 julga se uma instrução de acesso foi recebida do programa apli- cativo 8, e, na etapa S22, julga se um tempo de interrogação predetermina- do decorreu. Se uma instrução tiver sido recebida do programa aplicativo 8, a unidade de controle de apagamento precedente 29 se move para a etapa S23, e executa uma operação de sistema de arquivo, e acessa a placa de memória semicondutora 100, de acordo com a instrução. Se o tempo de in- terrogação predeterminado tiver passado, a unidade de controle de apaga- mento precedente 29 se move da etapa S22 para a etapa S24, e emite um comando de obter status, para a leitura da lista livre apagada para a placa de memória semicondutora 100. Seguindo-se a isso, na etapa S25, a unida- de de controle de apagamento precedente 29 está em um estado de espera, esperando que a lista de bloco apagado seja lida. Uma vez que a lista de bloco apagado tenha sido lida, na etapa S26, a unidade de controle de apa- gamento precedente 29 especifica endereços lógicos para todos os blocos apagáveis que sejam formados de agrupamentos regulados como não usa- dos na FAT e que não estejam presentes na lista de bloco apagado.
Na etapa S27, a unidade de controle de apagamento precedente 29 julga se blocos apagáveis não usados que não foram ainda apagados existem, e se nenhum desses blocos existir, retorna imediatamente para o processamento de laço das etapas S21 a S22. Se esses blocos existirem, a unidade de controle de apagamento precedente 29 executa o processa- mento de laço das etapas S28 a S30. Em outras palavras, a unidade de controle de apagamento precedente 29 emite comandos de apagar para a placa de memória semicondutora 100, estipulando o apagamento de dados em cada um dos endereços físicos para os blocos apagáveis não usados e também para os não apagados ainda especificados na etapa S26. Uma vez que esses comandos tenham sido emitidos, os endereços físicos para cada um desses blocos são adicionados à lista de bloco apagado, e estão sujeitos a apagamento. A seguir, há uma explanação mais detalhada da operação acima da unidade de controle de apagamento precedente 29 descrita com referên- cia às Figuras 23A e 23B. Em um estado inicial mostrado na Figura 23A, um endereço 0001 para um bloco apagável é regulado na FAT como estando em uso, e endereços físicos 0003, 0005 e 0006 são dispostos na lista de bloco apagado como endereços de blocos apagados. Um dado é armazena- do em blocos no sistema de arquivo, que estão sombreados na Figura (en- dereços 0000, 0001, 0002, 0004). Neste estado, se não houver uma instru- ção do programa aplicativo 8, e o tempo de interrogação predeterminado tiver passado (etapa S21 Não, etapa S22 Sim), a unidade de operação de sistema de arquivo 9 no aparelho de acesso 200 lê a lista de bloco apagado, emitindo um comando de obter status para a placa de memória semicondu- tora 100 (etapa S24), e compara a lista de bloco apagado lida com a FAT (etapa S25). Como resultado desta comparação, os blocos que são regula- dos como não usados na FAT e cujos endereços lógicos não existem na lista de bloco apagado (blocos apagáveis com endereços 0000, 0002, 0004) são especificados (etapa S26). Uma vez que esses blocos não estão em uso, a unidade de operação de sistema de arquivo 9 emite comandos de apagar para a placa de memória semicondutora 100, para ter esses blocos apagá- veis apagados (etapas S28 a S30). Conseqüentemente, os endereços 0000, 0002 e 0004 são adicionados à lista de bloco apagado, como mostrado na Figura 23B, e os blocos apagáveis indicados por esses endereços são apa- gados.
Na modalidade acima, o aparelho de acesso 200 lê a lista de bloco apagado da placa de memória semicondutora 100, e compara a FAT com a lista de bloco apagado lida, de modo a especificar blocos apagáveis não usados que ainda não foram apagados, e instrui a placa de memória semicondutora 100 para apagar esses blocos. Como resultado, a unidade de operação de sistema de arquivo 9 pode apagar blocos apagáveis não usa- dos que ainda estejam não apagados, enquanto espera por uma instrução do programa aplicativo 9, e, assim, um apagamento dos blocos não usados pode ser realizado mais eficientemente.
Além disso, o apagamento de blocos não usados pode ser reali- zado sempre que o aparelho de acesso 200 estiver livre, de modo que as oportunidades de realização de um apagamento de bloco possam ser gran- demente aumentadas. Como resultado, não há um perigo de haver endere- ços físicos insuficientes na lista de bloco apagado, e a eficiência do proces- samento realizado quando os blocos são modificados e sobrescritos é gran- demente melhorada.
No aparelho de acesso 200 desta modalidade, a lista de bloco apagado é lida a partir da placa de memória semicondutora 100, e os blocos não usados e ainda não apagados são especificados. Contudo, a unidade de controle de apagamento 26 dentro da unidade de controle de acesso 2 da placa de memória semicondutora 100 pode especificar blocos que sejam não usados e não apagados, referindo-se à FAT e, então, apagando esses blocos. Aqui, a unidade de controle de acesso 2 troca endereços físicos in- cluídos na lista de bloco apagado por endereços lógicos, e passa os endere- ços trocados para o aparelho de acesso 200. Contudo, a lista de bloco apa- gado e a tabela de correspondência de endereço podem ser passadas para o aparelho de acesso 200, e a troca de endereços físicos por endereços ló- gicos realizada no aparelho de acesso 200. Um apagamento de dados pode ser realizado quando um arquivo for apagado, ou como um processamento em paralelo, quando um outro comando estiver sendo executado. Mais ain- da, uma outra informação, tal com uma lista de bloco não apagado, que ge- rencia os endereços físicos de blocos apagáveis não apagados, pode ser usada ao invés da lista de bloco apagado que gerencia os endereços físicos de blocos apagáveis apagados. Esta modalidade é descrita usando-se a FAT, mas a informação pode ser armazenada como uma lista ou em um ou- tro formato similar.
Quarta Modalidade A quarta modalidade descreve um melhoramento realizado, quando o processamento da terceira modalidade é executado usando-se uma tabela de bloco apagado ao invés de uma lista de bloco apagado. A
Figura 24 mostra uma estrutura interna para um aparelho de acesso 200 2 na quarta modalidade. Se esta Figura for comparada com a Figura 19, pode ser visto que a lista de bloco apagável foi substituída pela tabela de bloco apagado. A tabela de bloco apagado na quarta modalidade é formada a par- tir de entradas correspondentes a cada bloco apagável. Se um bloco for apagado, a entrada correspondente é regulada para T, e se o bloco for não apagado, a entrada correspondente é regulada para '0'. A tabela de bloco apagado expressa o estado de apagamento de cada bloco apagável, regu- lando '1' ou '0' na tabela de bloco apagado.
Como resultado da lista de bloco apagado ter sido substituída pela tabela de bloco apagado, o processamento realizado pela unidade de controle de escrita 25 e pela unidade de controle de apagamento 26 na quarta modalidade difere daquele realizado na terceira modalidade no as- pecto a seguir.
Quando um comando de escrita é gerado pelo aparelho de acesso 200, a unidade de controle de escrita 25 na quarta modalidade se refere à tabela de bloco apagado, e julga se o destino de escrita especifica- do pelo comando está apagado, e se ele é um bloco não usado. Então, se o bloco de destino de escrita for um bloco não apagado, a unidade de controle de escrita 25 tem o bloco de controle de apagamento 26 apagando dados do bloco, antes de escrever um novo dado no bloco. Em outras palavras, a uni- dade de controle de escrita 25 da quarta modalidade apaga os dados, antes de executar uma escrita de dados.
Em seguida, o processamento da unidade de controle de apa- gamento precedente 29 na quarta modalidade é explicado. A unidade de controle de apagamento precedente 29 executa um apagamento de blocos apagáveis enquanto espera por instruções do programa aplicativo 8. O pro- cedimento de apagamento é o mesmo que aquele descrito na terceira mo- dalidade, e é mostrado no fluxograma da Figura 25. Este fluxograma é idên- tico àquele mostrado na Figura 22, a parte do fato de que a ‘lista de bloco apagado' foi trocada para a 'tabela de bloco apagado', e uma vez que não há uma grande variação do conteúdo, uma descrição detalhada é omitida aqui.
Em seguida, o processamento realizado pela unidade de controle de apa- gamento precedente 29 na quarta modalidade é descrito com referência às Figuras 26A e 26B.
Em um estado inicial mostrado na Figura 26A, um bloco com um endereço 0001 é gerenciado como um bloco em uso, e os blocos com ende- reços 0003, 0005 e 0006 são gerenciados na tabela de bloco apagado como blocos a partir dos quais o dado foi apagado. O dado é armazenado em blo- cos na memória não volátil que foram sombreados na Figura (endereços 0000, 0001, 0002, 0004). Neste estado inicial, se os blocos os quais não estão em uso, mas contêm dados, existirem, e comandos de escrita para escrever dados para esses blocos não usados forem gerados, um proces- samento de apagamento de dados será requerido. Nesta modalidade, se a unidade de controle de apagamento precedente 29 estiver esperando por uma instrução do programa aplicativo 8, e o tempo de interrogação prede- terminado tiver passado (etapa S21 Não, etapa S22 Sim), a unidade de con- trole de apagamento precedente 29 lê a tabela de bloco apagado, emitindo um comando de obter status para a placa de memória semicondutora 100 (etapa S24), e compara a tabela de bloco apagado lida com a FAT (etapa S25). Como resultado desta comparação, os blocos que estão regulados como não usados na FAT e cujos endereços lógicos não são gerenciados pela tabela de bloco apagado (blocos apagáveis com endereços 0000, 0002, 0004) são encontrados (etapa S26). Na Figura 26, '0' é regulado na FAT, e na tabela de bloco apagado para blocos com endereços 0000, 0002 e 0004, então, esses blocos são blocos não usados e também ainda não apagados.
Uma vez que esses blocos não estão em uso, e, assim, contêm um dado que pode ser apagado com segurança, a unidade de controle de apaga- mento precedente 29 emite comandos de apagamento, para regular um va- lor '1' para cada um dos endereços correspondentes na tabela de bloco apa- gado, indicando que esses blocos devem ser apagados (etapas S28 a S30).
Como resultado, todos os dados em blocos não usados são apagados, e esses blocos são, então, gerenciados pela tabela de bloco apagado como blocos apagados. Portanto, o procedimento para a execução de uma escrita de dados pela alocação de blocos não usados, descrito anteriormente neste rela- tório descritivo, pode ser realizado sem requerer qualquer processamento de apagamento, e escritas de dados de alta velocidade podem ser obtidas.
Quinta Modalidade A quinta modalidade propõe uma solução para o problema de fragmentação de arquivo. A fragmentação de arquivo, convencionalmente, se refere ao processo no qual um arquivo é dividido em uma pluralidade de seções de arquivo, e essas seções são, então, armazenadas de forma não consecutiva na memória. Se uma pluralidade de seções de arquivo for ar- mazenada de forma não consecutiva em um meio de gravação, tal como um disco ótico ou um disco magnético, um grande número de buscas de disco é requerido para se ler seções de arquivo armazenadas de forma não conse- cutiva, e o tempo de processamento de leitura é aumentado. De modo a resol- ver os problemas criados por essa fragmentação, a unidade de operação de sistema de arquivo 9 lê as seções de arquivo armazenadas de forma não con- secutiva, e as armazena, de novo, de forma consecutiva na memória (des- fragmentação). Se o processamento acima for realizado, as seções de ar- quivo que formam um arquivo podem ser lidas suavemente, sem requerer que quaisquer buscas de disco sejam realizadas, permitindo que os dados sejam lidos a uma alta velocidade. Isso completa o resumo da solução pro- vida para resolver o problema de fragmentação em discos. Em seguida, uma fragmentação ocorrendo na placa de memória semicondutora 100 é conside- rada. Uma busca de disco não é requerida quando da leitura de um dado a partir da placa de memória semicondutora 100, de modo que, se as seções de arquivo forem armazenadas de forma não consecutiva, não há uma ten- dência de que o processamento seja aumentado por esta razão.
Contudo, embora buscas em disco não sejam um problema, uma fragmentação causa 1. um auxiliar gerado quando comandos são emiti- dos, e 2. perdas de cache geradas quando a FAT é lida (ambos descritos em maiores detalhes abaixo), aumentam, consideravelmente, desse modo au- mentando o tempo requerido para se ler um arquivo. 1. Auxiliar Gerado Quando Comandos são Emitidos O impacto que a fragmentação tem sobre os auxiliares gerados quando comandos são emitidos pode ser mais facilmente compreendido se descrito com referência às Figuras 27A e 27B. A Figura 27A ilustra uma situ- ação na qual um arquivo de 48 KB é dividido em três seções de arquivo de 16 KB e armazenado aleatoriamente em três áreas. A Figura 27B ilustra uma situação na qual um arquivo de 48 KB é armazenado em áreas de memória consecutivas. Nas Figuras 27A e 27B, a unidade de operação de sistema de arquivo 9 emite um comando de leitura no formato 'Ler (end, tamanho)' para a memória não volátil, para ter uma leitura de dado efetuada. Aqui, 'end' re- presenta um endereço lógico de um destino de leitura, e 'tamanho' é o tama- nho do dado que deve ser lido. O tempo levado por cada comando de leitura é a soma de um tempo de leitura de dado que é proporcional ao compri- mento do dado de leitura, e um tempo auxiliar fixo, requerido para a emissão do comando de leitura. No arranjo de dados mostrado na Figura 27A, um arquivo 1 deve ser lido emitindo-se três comandos de leitura: 'Ler (0000, 16 Kbyte)', 'Ler (0002, 16 Kbyte)' e 'Ler (0004, 16 Kbyte)'. Isso significa que o tempo requerido para ler este arquivo é de 36 ms (= (8+4)x3). Por outro lado, se o dado for disposto como na Figura 27B, todos os 48 KB de dados para o arquivo podem ser lidos simplesmente emitindo-se um comando 'Ler (0000, 48 Kbyte)'. Conseqüentemente, o tempo gasto para ler o arquivo, neste caso, é de 28 ms (= (8x3+4)). Assim, pode ser visto que o auxiliar gerado quando comandos são emitidos aumenta em proporção com o grau de ale- atoriedade com a qual as seções de arquivo são armazenadas.
2. Cache de FAT
Um cache de FAT é uma leitura antecipada da FAT disposta na área de sistema da placa de memória semicondutora 100 para a memória interna do aparelho de acesso 200, o que permite que a FAT seja referida a uma alta velocidade acessando-se a memória interna. A FAT é posta em cache, freqüentemente, se o aparelho de acesso 200 for um dispositivo por- tátil com uma memória interna de pequena escala. A FAT é colocada em cache seqüencialmente lendo-se seções da FAT que foram armazenadas consecutivamente na memória. Contudo, se uma fragmentação de FAT for gerada, o cache da FAT envolverá a leitura de ambas as seções contendo a FAT e das seções contendo outros dados na ordem para a memória interna.
Se outros dados além de seções de FAT forem lidos para a memória interna, uma grande quantidade de dados a qual não é o objeto do cache será lida, desse modo gerando uma perda de cache. Se um grande número dessas perdas de cache for gerado, o número de leituras para a memória interna aumentará de modo correspondente, e, assim, o tempo requerido para ler a FAT será aumentado.
Apesar da presença desses dois problemas, a aplicação do mesmo meio para resolver uma fragmentação na placa de memória semi- condutora 100, como foi usado para resolver o problema em um disco, não é um curso de ação inteligente. A razão para isso é que uma modificação de um dado armazenado em blocos na placa de memória semicondutora 100 requer o apagamento do dado armazenado, e esse apagamento requer um tempo de processamento mais longo do que o que é requerido, quando um processamento equivalente é realizado em um disco. Nesta modalidade, uma mudança das correspondências entre endereços físicos e endereços lógi- cos é proposta como uma contramedida, para combater os aumentos de auxili- ares de comando e perdas de cache geradas quando ocorre uma fragmen- tação. Em outras palavras, as correspondências entre endereços físicos e endereços lógicos são mudadas, de modo que os blocos nos quais as se- ções de FAT são armazenadas podem ser mostrados consecutivamente, usando-se endereços lógicos, sem a necessidade de mudar seu arranjo físi- co a memória.
Quando um arquivo de 48 KB é dividido em três seções de 16 KB e armazenado em áreas de memória separadas, como na Figura 27A, o aparelho de acesso 200 pode ler as seções de arquivo armazenadas nessas três áreas (blocos), desde que os endereços lógicos para os blocos sejam indicados consecutivamente. A leitura é realizada emitindo-se um comando de leitura indicando o primeiro da pluralidade de endereços lógicos, e o comprimento de dados do arquivo (aqui, 48 KB). Mais ainda, se a FAT for dividida em três seções e armazenada em três áreas de memória (blocos), o aparelho de acesso 200 pode ler seções de FAT armazenadas de forma não consecutiva para a memória interna em ordem, desde que os endereços ló- gicos para os blocos sejam indicados consecutivamente. Aqui, a leitura é realizada emitindo-se comandos de leitura indicando cada um dos endere- ços lógicos consecutivos como destinos de leitura por sua vez. Se esse pro- cessamento for realizado, perdas de cache não serão mais geradas. Assim, mesmo se uma pluralidade de seções de arquivo e de FAT forem armaze- nadas aleatoriamente em uma pluralidade de áreas, a essas áreas podem ser alocados endereços lógicos consecutivos, resolvendo o problema de au- xiliares gerados quando os comandos de leitura forem emitidos, e permitindo que a geração de perdas de cache seja evitada. O processamento realizado pela unidade de controle de apaga- mento precedente 29 para resolver a questão de fragmentação usando en- dereços lógicos é explicado com referência ao procedimento mostrado no fluxograma da Figura 28. A Figura 29, a qual mostra objetos reais aos quais correspondem às variáveis t, u, v e y no fluxograma, também é referida du- rante esta explanação. Na etapa S50, a unidade de controle de apagamento precedente 29 regula valores iniciais para as variáveis x e y (x-1, y-1). Isso significa que o processamento deve ser realizado em uma primeira seção de um primeiro arquivo. Em seguida, na etapa S51, a unidade de controle pre- cedente 29 compara posições de um endereço lógico s, correspondendo a um bloco armazenando uma y-ésima seção de um x-ésimo arquivo, e um endere- ço lógico t, correspondendo a um bloco que armazena uma y+1-ésima seção do x-ésimo arquivo, para determinar se esses blocos são adjacentes. Quan- do, como mostrado na Figura 29A, a y-ésima seção e a y+1-ésima seção são armazenadas em blocos apagáveis não adjacentes, na ordem de y -> y+1, a etapa S52 é Sim, e a unidade de controle de apagamento precedente 29 se move para a etapa S54.
Quando as seções são armazenadas na ordem y+1 -> y, como mostrado na Figura 29B, a unidade de controle de apagamento precedente 29 se move para a etapa S53, e aloca um endereço físico u ao endereço lógico t, e um endereço físico v a um endereço lógico s. Como resultado, a alocação de endereços físicos a endereços lógicos muda, como mostrado pelas setas rv1 e rv2 na Figura 29B. Em seguida, na etapa S54, a unidade de controle de apagamento precedente 29 julga se o endereço lógico do blo- co apagável que armazena a y-ésima seção e o endereço lógico do bloco apagável que armazena a y+1-ésima seção são consecutivos. Se o bloco apagável que armazena a y+1-ésima seção imediatamente se seguir ao blo- co apagável que armazena a y-ésima seção, como mostrado na Figura 29C, uma relação s+1=t é estabelecida, de modo que a etapa S54 é Sim, e o pro- cessamento se move para a etapa S56. Se os blocos apagáveis que arma- zenam a y-ésima seção e a y+1-ésima seção forem não adjacentes, a rela- ção s+1=t não é estabelecida, de modo que a etapa S54 é Não, e o proces- samento se move para a etapa S55. Aqui, se um endereço físico correspon- dente ao endereço lógico s+1 for w, na etapa S55, o endereço físico v para o bloco apagável armazenando a y+1-ésima seção é alocado ao endereço lógico s+1, e o endereço físico w é alocado ao endereço lógico t. Se o pro- cessamento da etapa S55 for executado quando as y-ésima e y+1-ésima seções forem armazenadas como mostrado na Figura 29D, as correspon- dências de endereço são mudadas, como mostrado pelas setas rv3 e rv4.
Uma vez que o processamento acima tenha sido completado, na etapa S56, a unidade de controle de apagamento precedente 29 julga se a variável y é o último número de seção. Se y não for o último número, a uni- dade de controle de apagamento precedente 29 incrementa y na etapa S57, e o processamento se move para a etapa S51. O processamento das etapas S51 a S57 é repetido para cada uma das seções e um x-ésimo arquivo, exe- cutando-se a verificação da etapa S56, e incrementando-se y na etapa S57.
Se, por outro lado, a etapa S56 for Sim, a unidade de controle de apagamento precedente 29 julga se x é o último número de arquivo, na eta- pa S58, e se a resposta for Não, se move para a etapa S59, incrementa a variável x (x-x+1), e regula um valor inicial para a variável y na etapa S60.
Assim, o processamento das etapas S51 a S57 é repetido para todos os ar- quivos, pela execução da verificação da etapa S58, e incrementando-se a variável y na etapa S59. A resolução para os problemas impostos pela fragmentação proposta nesta modalidade é explicada com referência a um exemplo real mostrado na Figura 30. No estado inicial mostrado na Figura 30A, as seções de arquivo 1-1/3, arquivo 12/3 e arquivo 1-3/3 formando um arquivo 1 são armazenadas em blocos apagáveis correspondentes aos endereços lógicos 0000, 0001 e 0004. Além disso, as seções de arquivo 2-1/4, arquivo 2-2/4, arquivo 2-3/4 e arquivo 2-4/4 formando um arquivo 2 são armazenadas em blocos apagáveis correspondentes aos endereços lógicos 0002, 0003, 0005 e 0006. A seção de arquivo 2-1/4 é armazenada em um bloco apagável correspondente a um endereço (endereço lógico 0002) seguindo-se ao en- dereço lógico 0001, no qual a seção de arquivo de arquivo 1 -2/3 é armaze- nada, e a seção de arquivo 1-3/3 é armazenada em um bloco apagável cor- respondente a um endereço lógico 0004.
Se o processamento no fluxograma da Figura 28 for aplicado no exemplo desta Figura, as seções de arquivo 1-1/3 e de arquivo 1-2/3 corres- pondem, respectivamente, aos endereços lógicos 0000 e 0001, de modo que essas seções sejam dispostas na mesma ordem que os endereços lógicos cor- respondentes, e suas correspondências não sejam intercambiadas. Contudo, se a relação entre as seções de arquivo 1 -2/3 e de arquivo 1 -3/3 for conside- rada, pode ser visto que, enquanto o bloco apagável armazenando a seção de arquivo 1-2/3 corresponde ao endereço lógico 0001, o bloco apagável correspondente ao próximo endereço lógico 0002 é o arquivo 2-1/4. Conse- qüentemente, a etapa S54 é Não, e o processamento se move para a S55.
Então, na etapa S55, a correspondência entre os endereços lógicos e físicos do bloco apagável que armazena a seção de arquivo 1-3/3, e a correspon- dência entre os endereços lógicos e físicos do bloco apagável armazenando a seção de arquivo 2-1/4 é intercambiada. Como resultado, as seções de arquivo 1-2/3 e de arquivo 1-3/3 podem ser mostradas como endereços lógi- cos consecutivos, de modo que o endereço físico 0002 do bloco apagável armazenado a seção de arquivo de arquivo 2-1/4 seja alocado ao endereço lógico 0004, e, inversamente, o endereço físico 0004 do bloco apagável ar- mazenando a seção de arquivo 1-3/3 esteja alocado ao endereço lógico 0002. As correspondências entre endereços físicos e lógicos seguindo-se a esta mudança são mostradas na Figura 30B. Uma vez que o processamento para a seção de arquivo 1-3/3 tenha sido completado, o processamento para a seção de arquivo 2-2/4 é realizado. Na Figura 30B, a relação entre as se- ções de arquivo 2-1/4 e de arquivo 2-2/4 é tal que a seção de arquivo 2-1/4 está armazenada em um bloco apagável correspondente ao endereço lógico 0004, e a próxima seção de arquivo 2-2/4 está armazenada em um bloco apagável correspondente ao endereço lógico 0003. Assim, os endereços lógicos afixados a essas seções devem estar na ordem inversa. Como re- sultado, a etapa S52 é Não, e o processamento se move para a etapa S53, onde a ordem dos endereços correspondentes às seções de arquivo 2-1/4 e de arquivo 2-2/4 é intercambiada. Aqui, o endereço físico 0002 correspon- dente a um bloco apagável armazenando a seção de arquivo 2-1/4 é aloca- do ao endereço lógico 0003, e o endereço físico 0003 correspondente ao bloco apagável que armazena a seção de arquivo 2-2/4 está alocado ao en- dereço lógico 0004. Como resultado deste processamento, as seções de arquivo que formam os arquivos 1 e 2 são todas indicadas por endereços lógicos consecutivos.
Nesta modalidade, mesmo se as seções de arquivo forem arma- zenadas em áreas de memória não consecutivas, essas áreas de memória podem ser alocadas a endereços lógicos consecutivos, desse modo reduzindo os auxiliares gerados quando comandos de leitura forem emitidos, e perdas de cache ocorrendo quando a FAT e os arquivos passam por um cache.
Sexta Modalidade A sexta modalidade descreve um melhoramento aplicado quan- do uma variedade de conteúdos é gravada na memória não volátil através de um serviço de distribuição, e o conteúdo gravado reproduzido em um aparelho de execução portátil. Neste caso, arquivos tendo uma variedade de atributos, tais como música, imagens, jogos e texto, são propensos a serem armazenados na placa de memória semicondutora 100. Caso haja diferen- ças quanto a que arquivos podem ser lidos ou editados, dependendo do tipo de arquivo, a unidade de operação de sistema de arquivo 9 no aparelho de acesso 200 precisa verificar o conteúdo do arquivo, antes de executar a lei- tura ou a edição. Se uma verificação como essa for requerida a cada vez que um arquivo for lido ou editado, o processamento realizado pela unidade de operação de sistema de arquivo 9 se tornará complicado. Conseqüente- mente, um formato de disco universal (UDF) usado nos discos versáteis di- gitais (DVDs) regula um atributo estendido para cada arquivo, permitindo que o tipo de dado armazenado em um arquivo seja reconhecível em uma olhada, sem haver qualquer necessidade de verificar o conteúdo do arquivo.
A Figura 31 mostra um exemplo de um atributo estendido. O atributo mostrado na Figura é um novo tipo de atributo formado com base em um atributo estendido de uso de implementação no UDF. O atributo es- tendido inclui um tipo de atributo 2000, um subtipo de atributo 2010, uma área reservada 2020, um comprimento de atributo 2030, um comprimento de uso de implementação 2040, um identificador de implementação (esses são idênticos aos campos no atributo estendido de uso de implementação no UDF, de modo que uma explanação mais detalhada é omitida aqui) e um uso de implementação 2060. O uso de implementação 2060 inclui uma soma de verificação de cabeçalho 2061, que armazena uma soma de verificação para a seção de cabeçalho do atributo estendido, um nome 2063 armazenando um nome de arquivo, e um indicador 2062 armazenando um atributo de ar- quivo. Cada bit no indicador 2062 é regulado para '0' ou para '1', para ilustrar um atributo de arquivo. O primeiro bit do indicador 2062 mostra se o arquivo correspondente é um arquivo de texto, o segundo bit mostra se o arquivo correspondente é um arquivo de imagem, e uma área do terceiro bit em di- ante é uma área reservada.
Se este atributo estendido for armazenado na placa de memória semicondutora 100, uma dificuldade será imediatamente evidente. Esta é aquela informação de gerenciamento de volume da placa de memória semi- condutora 100 que é conforme com a estrutura de dados estabelecida pela norma ISO/IEC 9293, como explicado previamente, e, então, não há uma provisão para dar a cada arquivo um atributo estendido.
Nesta modalidade, o atributo estendido é armazenado pelo me- nos em uma dentre a área protegida e a área de cópia de segurança. A área protegida já foi explicada na segunda modalidade, de modo que uma expla- nação adicional é omitida aqui. A área de cópia de segurança é gerenciada separadamente da partição normal na área de usuário. Quando um setor defeituoso aparece na área de usuário da memória não volátil, a unidade de mudança de alocação 24 escolhe um setor da área de cópia de segurança para substituir o setor defeituoso. A Figura 32 mostra uma estrutura interna de uma placa de memória semicondutora 100, que é provida com o setor defeituoso. Novos atributos estendidos que não podem ser definidos em um sistema de arquivo de FAT podem ser regulados para cada arquivo, arma- zenando esses atributos na área protegida ou na área de cópia de seguran- ça. Mais ainda, uma vez que a área de usuário e a área de dado de usuário usadas por um usuário geral utilizam um sistema de arquivo convencional, que é totalmente independente dos atributos estendidos recém-regulados, o sistema é compatível com outros sistemas. Além disso, uma vez que o apa- relho de acesso 200 precisa implementar apenas as operações necessárias para cada tipo de arquivo, menos operações são implementadas pelo apa- relho de acesso 200, desse modo permitindo que o tamanho de memória do aparelho de acesso 200 seja reduzido. Mais ainda, uma vez que o tipo de arquivo para cada arquivo pode ser julgado apenas por meio de uma refe- rência à informação de atributo estendido, ao invés de por uma referência ao conteúdo do arquivo, operações de alta velocidade podem ser realizadas. Sétima Modalidade Esta modalidade propõe que os arquivos em um sistema de ar- quivo de FAT sejam regulados como proibidos para escrita e proibidos para leitura, para melhorar mais a proteção do sistema. Em um sistema de arqui- vo de FAT convencional, os atributos para arquivos individuais, tais como proibidos para escrita e proibidos para leitura, podem ser regulados em en- tradas de arquivo. A unidade de operação de sistema de arquivo 9 no apa- relho de acesso 200, quando conectada à placa de memória semicondutora 100, lê e mantém uma informação de gerenciamento de volume, e se refere ao atributo de arquivo para um arquivo em particular, para julgar se o arquivo pode ser lido ou escrito. Desde que o programa aplicativo 8 no aparelho de acesso 200 acesse a placa de memória semicondutora 100 através da uni- dade de operação de sistema de arquivo 9, os atributos nas entradas de ar- quivo são válidos. Contudo, se o programa aplicativo 8 acessar a placa de memória semicondutora 100, desviando-se da unidade de operação de sis- tema de arquivo 9 e executando uma escrita ou uma leitura emitindo um co- mando direto de escrita ou leitura para a placa de memória semicondutora 100, quaisquer atributos e proibidos para escrita e proibidos para leitura re- gulados nas entradas de arquivo serão sem significado. Aqui, esta modali- dade propõe que a placa de memória semicondutora 100 seja estruturada como mostrado na Figura 33, de modo que os atributos de proibidos para escrita e proibidos para leitura sejam válidos, mesmo se o programa aplicati- vo 8 cessar a placa de memória semicondutora 100 diretamente. A Figura 33 mostra uma estrutura interna de uma 100 na sétima modalidade. As caracte- rísticas desta Figura são que a memória não volátil 1 tem uma área de cópia de segurança, a qual contém uma tabela de atributo de bloco. A tabela de atributo de bloco é constituída por entradas corres- pondentes a blocos apagáveis incluídos na área de volume. Se uma entrada for regulada '1', o bloco correspondente é proibido para escrita. Mais ainda, se uma entrada for regulada '2', o bloco correspondente é proibido para es- crita. A unidade de operação de sistema de arquivo 9 e a unidade de con- trole de acesso 2 mostradas na quinta modalidade executam operações na tabela de atributo de bloco, bem como nas entradas de arquivo. Se o pro- grama aplicativo 8 instruir ã unidade de operação de sistema de arquivo 9 para abrir um arquivo para o qual um atributo foi regulado, a unidade de ope- ração de sistema de arquivo 9 regula o atributo na entrada de arquivo cor- respondente a este arquivo. Por exemplo, se o programa aplicativo 8 tiver sido instruído para regular um arquivo como proibido para leitura, o atributo para a entrada de arquivo correspondente é regulado como proibido para leitura. Se o programa aplicativo 8 tiver sido instruído para regular um atri- buto oculto, a unidade de operação de sistema de arquivo 9 regula um atri- buto proibido para leitura na entrada de arquivo correspondente.
Se atributos de arquivo forem regulados em entradas de arquivo desta forma, a unidade de operação de sistema de arquivo 9 divide um ar- quivo em seções de tamanho da g, e grava essas seções em uma pluralida- de de agrupamentos na área de usuário. Seguindo-se à gravação das se- ções de arquivo nos agrupamentos, a unidade de operação de sistema de arquivo 9 regula o atributo de arquivo em entradas na tabela de atributo de bloco, que correspondem a cada um dos blocos apagáveis nos quais um arquivo é armazenado. Se a escrita do arquivo for proibida, a unidade de operação de sistema de arquivo 9 regula um atributo de proibido para escrita nas entradas correspondentes a cada um dos agrupamentos armazenando as seções de arquivo, e se o atributo de arquivo for proibido para leitura, re- gula um atributo de proibido para leitura nas entradas correspondentes a cada um dos agrupamentos armazenando seções de arquivo. Se o atributo de arquivo for um atributo oculto, a unidade de operação de sistema de ar- quivo 9 regula um atributo de proibido para leitura em entradas correspon- dentes a cada um dos agrupamentos que armazenam as seções de arquivo.
Se o arquivo for gravado na área de usuário desta forma, um dado e lido ou escrito para blocos de acordo com os atributos mostrados na tabela de atributo de bloco. Em outras palavras, se um comando de leitura for emitido pelo aparelho de acesso 200, a unidade de controle de leitura 23 se refere a uma entrada na tabela de atributo de bloco correspondente ao endereço de destino de leitura. Se a entrada mostrar que uma leitura é per- mitida, a unidade de controle de leitura 23 lê o dado do bloco mostrado pelo endereço de destino de leitura, ou se a entrada mostrar que a leitura está proibida, não lê o dado do bloco mostrado pelo endereço de destino de leitura.
Se um comando de escrita for emitido pelo aparelho de acesso 200, a unidade de controle de escrita 25 ou a unidade de controle de modifi- cação 27 se refere à entrada na tabela de atributo de bloco correspondente ao endereço de destino de escrita. Se a entrada mostrar que a escrita é permitida, a unidade de controle de escrita 25 ou a unidade de controle de modificação 27 escreve o dado no bloco mostrado pelo endereço de destino de escrita, e se a entrada mostrar que a escrita é proibida, não escreve o dado para o bloco mostrado pelo endereço de destino de escrita.
Este tipo de controle de escrita e leitura pode ser realizado quando o programa aplicativo 8 emite um comando de escrita ou de leitura, através da unidade de operação de sistema de arquivo 9, e quando o programa apli- cativo 8 emite um comando de escrita ou de leitura diretamente, desviando- se da unidade de operação de sistema de arquivo 9. Assim, a escrita e a leitura de blocos podem ser restritas, se o aparelho de acesso 200 emitir comandos através da unidade de operação de sistema de arquivo 9 ou não. A operação de sistema de arquivo 9 na presente modalidade é explicada com referência a um exemplo real na Figura 34. Na Figura 34A, o dado con- tido em um arquivo 1 é armazenado em blocos apagáveis com endereços 0000, 0002 e 0003, o dado contido em um arquivo 2 é armazenado em blo- cos apagáveis com os endereços 0001 e 0004, o dado contido em um arqui- vo 3 é armazenado em um bloco apagável com um endereço 0005, e um dado contido em um arquivo 4 é armazenado em um bloco apagável com um endereço 0006. A Figura 34B mostra uma situação, quando um arquivo 1, para o qual um atributo de proibido para escrita foi regulado, é armazena- do. Em uma tabela de atributo de bloco, entradas correspondentes a blocos armazenando seções de arquivo 1 (endereços 0000, 0002 e 0003) são re- guladas '1', indicando um atributo proibido para escrita. Se a tabela de atri- buto de bloco for regulada desta forma, a unidade de controle de escrita 25 rejeitará comandos para executar um processamento de escrita nos blocos com endereços 0000, 0002 e 0003. A Figura 34C mostra uma situação onde um arquivo 2, para o qual um atributo de proibido para leitura foi regulado, é armazenado na me- mória não volátil 1. Neste caso, um indicador, indicando um atributo de proi- bido para leitura, é regulado em entradas na tabela de atributo de bloco que correspondem ao arquivo 2. Então, o arquivo 2 é dividido em uma pluralida- de de seções, e essas seções são armazenadas em uma pluralidade de blo- cos na área de usuário.
Quando as seções de arquivo do arquivo 2 são armazenadas em blocos com endereços lógicos 0001 e 0004, as entradas na tabela de atributo de bloco que correspondem a esses blocos são reguladas em '2', indicando um atributo de proibido para leitura. Se a tabela de atributo de blo- co for regulada desta forma, a unidade de controle de leitura 23 rejeita co- mandos para ler dados de blocos que têm endereços 0001 a 0004.
Na modalidade acima, atributos de atributo de proibido para lei- tura e proibido para escrita correspondentes a cada bloco podem ser regula- dos na placa de memória semicondutora 100, de modo que mesmo se o programa aplicativo 8 acessar a placa de memória semicondutora 100 dire- tamente, desviando-se da unidade de operação de sistema de arquivo 9, o acesso de arquivos os quais são proibidos pode ser evitado pela placa de memória semicondutora 100. Portanto, pela regulagem dos atributos de proibido para leitura e proibido para escrita para blocos armazenando um arquivo desta forma, uma proteção do arquivo pode ser assegurada, e, caso o arquivo tenha direitos de propriedade, uma proteção de direitos autorais também pode ser obtida.
Nesta modalidade, o indicador que mostra o atributo de proibido para escrita é mostrado como '1', e o indicador que mostra o atributo de proibido para leitura como '2', mas esses são meramente exemplos, e a in- venção não precisa estar limitada a esses indicadores. Mais ainda, nesta modalidade, uma tabela de atributo de bloco é usada para afixar atributos de proibido para leitura e para escrita a cada bloco na memória não volátil 1, mas desde que um atributo possa ser regulado para cada bloco individual, uma lista ou uma estrutura similar pode ser usada. Nesta modalidade, um método para a regulagem de atributos de proibido para leitura e para escrita na memória não volátil 1 como atributos de bloco é descrito, mas uma outra informação além daquela descrita nas modalidades pode ser usada como atributos de bloco. Os exemplos incluem blocos de gerenciamento, de modo que apenas usuários com um privilégio de raiz possam obter acesso, ou dando-se a cada bloco uma ID de usuário, e permitindo que apenas usuários de posse daquela ID obtenham acesso, ou regulando-se privilégios de aces- so a blocos para cada usuário individual. Na explanação acima do sistema de arquivo, um sistema de arquivo de FAT é usado, mas efeitos similares podem ser obtidos usando-se um outro sistema de arquivo convencional, tal como UDF ou o Sistema de Arquivo de Nova Tecnologia (NTFS) usado no WindowsNT®, ou um sistema de arquivo personalizado. Mais ainda, nessas modalidades, o número de setores contidos em um bloco apagável é 32, mas este é apenas um exemplo, e o número de setores em um bloco apa- gável pode ser maior ou menor do que isso.
Aplicabilidade Industrial A placa de memória semicondutora 100 na invenção explicada acima aumenta a vida útil da memória não volátil 1. Portanto, mesmo quan- do uma placa de memória semicondutora 100 como essa grava conteúdos de música obtidos através de uma distribuição de música digital e de uma gravação repetida na qual esses conteúdos de música são apagados e, en- tão, outros conteúdos de música são gravados, é realizada, freqüentemente, a vida útil da memória não volátil 1 não é encurtada. Conseqüentemente, uma placa de memória semicondutora 100 única pode ser usada repetida- mente, para a gravação de conteúdos musicais obtidos através de uma dis- tribuição de música digital.

Claims (30)

1. Aparelho de acesso à placa de memória semicondutora que tem uma área de memória compreendendo uma pluralidade de setores pelo gerenciamento de dados em cada grupo de 2j setores (j sendo 0 ou um nú- mero inteiro positivo) como um agrupamento, e pelo gerenciamento de um ou mais agrupamentos como um arquivo, cada grupo de 2' setores consecu- tivos na área de memória formando um bloco (i sendo 0 ou um número intei- ro positivo), e o bloco sendo a menor unidade na qual um apagamento de dados pode ser realizado, o aparelho de acesso compreendendo: uma unidade de cálculo operável para calcular um tamanho de informação de gerenciamento de volume com base em um número de agru- pamentos na área de memória que devem ser gerenciados, a informação de gerenciamento de volume incluindo um registro de tabela de partições, uma tabela de partição, uma tabela de alocação de arquivo e uma entrada de di- retório principal, a tabela de alocação de arquivo indicando, para cada arqui- vo, as ligações entre agrupamentos correspondentes ao arquivo; uma unidade de reserva operável para reservar uma primeira área usada para gravar a informação de gerenciamento de volume, e uma segunda área usada para gravar dados de usuário, a primeira área tendo um tamanho de dado maior do que a informação de gerenciamento de volume calculada e incluindo dois ou mais blocos, e a segunda área sendo formada a partir de blocos seguindo-se à primeira área; caracterizado pelo fato de que ainda compreende: uma unidade de gravação operável para gravar a informação de gerenciamento de volume na primeira área, e os dados de usuário na se- gunda área, e para gravar o registro de tabela de partições e a tabela de par- tição em um primeiro setor de um primeiro bloco de uma primeira área, pular um número predeterminado de setores e então gravar a informação de setor de tabela de partições, a tabela de alocações de arquivo e a entrada de dire- tório principal nos setores subsequentes com o intuito de alinhar uma extre- midade da primeira área com uma extremidade da entrada de diretório prin- cipal, em que a informação do setor de tabela de partição, a tabela de aloca- ção de arquivo e a entrada de diretório principal são gravadas em pelo me- nos um bloco que é diferente do primeiro bloco.
2. Aparelho de acesso, de acordo com a reivindicação 1, carac- terizado pelo fato de que o primeiro bloco da primeira área é composto do primeiro setor e um primeiro grupo de seções usadas para gravar parte da informação reservada, e o pelo menos um bloco diferente do primeiro bloco é composto de setores usados para gravação da informação do setor de ta- bela de partição, a tabela de alocação de arquivo, e uma entrada de diretório principal e um segundo grupo de seções usado para gravar uma outra parte da informação reservada.
3. Aparelho de acesso, de acordo com a reivindicação 1, carac- terizado pelo fato de que a unidade de cálculo é operável para calcular uma soma SUM, totalizando um número de setores usados para a gravação da informação de setor de tabela de partições, a tabela de alocação de ar- quivo e a entrada de diretório principal; a primeira área é formada de mx2j setores (m sendo um número inteiro positivo); a unidade de reserva é operável para reservar a primeira área, calculando o valor de m com base na {equação 1} {equação 1} NOM + SUM = 2ixm, NOM sendo um número de setores; e a unidade de gravação é operável para calcular o número prede- terminado de setores subtraindo 1 do número de setores NOM.
4. Aparelho de acesso, de acordo com a reivindicação 3, carac- terizado pelo fato de que a unidade de gravação é operável para regular um número predeterminado de setores NOM na tabela de partição, de acor- do com a informação de gerenciamento de volume.
5. Aparelho de acesso, de acordo com a reivindicação 3, carac- terizado pelo fato de que o número de setores usados para gravar a tabela de alocação de arquivo é calculado baseado no número de agrupamentos na área de memória que devem ser gerenciados.
6. Aparelho de acesso, de acordo com a reivindicação 5, carac- terizado pelo fato de que: a tabela de alocação de arquivo tem uma pluralidade de entra- das iguais em número ao número de agrupamentos a serem gravados na segunda área, e cada uma da pluralidade de entradas mostrando uma liga- ção para um outro agrupamento em um mesmo arquivo; o aparelho de acesso compreende uma unidade de recepção operável para receber uma regulagem para um número total de setores e agrupamentos na área de memória; a unidade de cálculo inclui uma primeira unidade de cálculo o- perável para calcular um número total de agrupamentos, dividindo o número total de setores pelo número de setores 2j, e para calcular um tamanho da tabela de alocação de arquivo, multiplicando o número total de agrupamen- tos por um comprimento de bit de entrada, e a unidade de reserva inclui uma segunda unidade de cálculo operável para calcular uma soma SUM pela adição do tamanho da tabela de alocação de arquivo aos números de setores respectivamente formando a informação de setor de tabela de partições e a entrada de diretório principal, e para calcular o valor de m substituindo a soma SUM na {equação 1}.
7. Aparelho de acesso, de acordo com a reivindicação 5, carac- terizado pelo fato de que: a área de memória inclui uma área protegida que pode ser acessada apenas por um dis- positivo conectado à placa de memória semicondutora uma vez que uma autenticidade do dispositivo conectado tenha sido verificada, e uma área de dado de usuário que pode ser acessada pelo dis- positivo conectado, independentemente de a autenticidade do dispositivo conectado ter sido verificada; a unidade de recepção é operável para receber, a partir de uma fonte externa ao aparelho de acesso, regulagens para números de setores e agrupamentos a serem alocados em cada uma da área protegida e na área de dado de usuário; a primeira unidade de cálculo é operável para calcular um tama- nho de uma tabela de alocação de arquivo para cada uma da área protegida e da área de dado de usuário, com base nas regulagens recebidas; e a segunda unidade de cálculo é operável para calcular duas so- mas SUM para cada uma da área protegida e da área de dado de usuário, respectivamente, adicionando cada tamanho de área protegida e tamanho de área de dado de usuário ao número de setores que forma a informação de setor de tabela de partições e o número de setores formando a entrada de diretório principal e para calcular o valor de m para cada uma da área protegida e da área de dado de usuário substituindo cada uma das duas somas SUM na {equação 1}.
8. Aparelho de acesso, de acordo com a reivindicação 7, carac- terizado pelo fato de que os agrupamentos na área protegida diferem dos agrupamentos na área de dados do usuário no tamanho.
9. Aparelho de acesso, de acordo com a reivindicação 6, carac- terizado pelo fato de que a unidade de gravação é operável para: gravar dados de usuário divididos em uma pluralidade de seções na segunda área como uma pluralidade de agrupamentos, cada uma da plu- ralidade de seções sendo armazenada em um da pluralidade de agrupamen- tos na segunda área; regular a pluralidade de entradas na tabela de alocação de ar- quivo, cada uma da pluralidade de entradas mostrando uma ligação entre agrupamentos; e gravar uma informação de localização e nome de arquivo mos- trando a localização de um primeiro agrupamento no arquivo na entrada de diretório principal.
10. Aparelho de acesso, de acordo com a reivindicação 7, ca- racterizado pelo fato de que parte do nome do arquivo é gravada na área de dados de usuário.
11. Placa de memória semicondutora que possui uma área de memória compreendendo uma pluralidade de setores e gerencia dados em cada grupo de 2j setores (j sendo 0 ou um número inteiro positivo) como um agrupamento, e um ou mais agrupamentos como um arquivo, cada grupo de 2' setores consecutivos na área de memória formando um bloco (i sendo 0 ou um número inteiro positivo), e o bloco sendo a menor unidade na qual um apagamento de dado pode ser realizado, a placa de memória semicondutora compreendendo: uma primeira área incluindo dois ou mais blocos usados para gravar a informação de gerenciamento de volume; e uma segunda área sendo formada de blocos seguindo a primeira área usados para gravação de dados de usuário; a informação de gerenciamento de volume incluindo um registro de tabelas de partições, uma tabesla de partições, informação de setor de tabela de partições, uma tabela de alocação de arquivos, e uma entrada de diretório principal, a tabela de alocação de arquivo indicando, para cada ar- quivo, ligações entre agrupamentos correspondendo ao arquivo, caracterizada pelo fato de que o registro de tabela de partições e a tabela de partições são gravados em um primeiro setor de um primeiro bloco da primeira área, e com um número predeterminado de setores pula- dos, a informação de setor de tabela de partições, a tabela de alocação de arquivo, e a entrada de diretório principal sendo gravado em setores subse- qüentes a fim de alinhar uma extremidade da primeira área com uma extre- midade da entrada de diretório principal, em que a informação de setor de tabela de partições, a tabela de alocação de arquivos, e a entrada de diretó- rio principal são gravadas em pelo menos um bloco que é diferente do pri- meiro bloco.
12. Placa de memória semicondutora, de acordo com a reivindi- cação 11, caracterizada pelo fato de que o primeiro bloco da primeira área é composto do primeiro setor e um primeiro grupo de seções usado para gravar parte de informação reservada e o pelo menos um bloco diferente do primeiro bloco é composto de setores usados para gravação da informação de setor de tabela de partições, a tabela de alocação de arquivos e a entra- da de diretório principal e um segundo grupo de seções usadas para grava- ção de outra parte da informação reservada.
13. Placa de memória semicondutora, de acordo com a reivindi- cação 11, caracterizada pelo fato de que: a primeira área é formada por m x 2j setores (m sendo um núme- ro inteiro positivo); e o número predeterminado de setores é calculado pela subtração de 1 de um número de seções NOM que satisfaz a seguinte equação 1: {equação 1} NOM + SUM = 2ixm, em que SUM é uma soma calculada pela totalização de um nú- mero de setores usados para gravar a informação de setor de tabela de par- tições, a tabela de alocação de arquivos e a entrada de diretório principal.
14. Placa de memória semicondutora, de acordo com a reivindi- cação 13, caracterizada pelo fato de que o número de setores NOM é re- gulado na tabela de partição, quando da gravação da informação de geren- ciamento de volume.
15. Placa de memória semicondutora, de acordo com a reivindi- cação 13, caracterizada pelo fato de que o número de setores usados para gravar a tabela de alocação de arquivos é calculado baseado no número de agrupamentos na área de memória que devem ser gerenciados.
16. Placa de memória semicondutora, de acordo com a reivindi- cação 15, caracterizada pelo fato de que: a tabela de alocação de arquivo tem uma pluralidade de entra- das igual em número ao número de agrupamentos a serem gravados na se- gunda área, e cada uma da pluralidade de entradas mostrando uma ligação para outro agrupamento no mesmo arquivo; um tamanho da tabela de alocação de arquivos é calculada pelo cálculo de um número total de agrupamentos pela divisão do número de se- tor total pelo número de setores 2j e multiplicando o número total de agru- pamentos por um comprimento de bit de entrada; e o valor de m é calculado pelo cálculo de uma soma SUM pela adição do tamanho da tabela de alocação de arquivos aos números de seto- res formando respectivamente a informação de setor de tabela de partições e a entrada de diretório principal e substituindo a soma SUM na {equação 1}.
17. Placa de memória semicondutora, de acordo com a reivindi- cação 16, caracterizada pelo fato de que: a pluralidade de agrupamentos na segunda área é obtida pela divisão dos dados de usuário; a pluralidade de entradas na tabela de alocação de arquivos mostra ligações entre a pluralidade de agrupamentos; e a entrada de diretório principal inclui um nome do arquivo e in- formação de posição que indica um endereço do primeiro agrupamento den- tre agrupamentos constituindo o arquivo.
18. Placa de memória semicondutora, de acordo com a reivindi- cação 17, caracterizada pelo fato de que parte do nome do arquivo é gra- vado na área de dados do usuário.
19. Placa de memória semicondutora possuindo uma área de memória que inclui uma área protegida que pode apenas ser acessada por um dispositivo conectado à placa de memória semicondutora uma vez que a autenticidade do dispositivo conectado tenha sido verificada e uma área de dados de usuário que pode ser acessada pelo dispositivo conectado sem levar em consideração se a autenticidade do dispositivo conectado foi verifi- cada ou não, em que a área protegida e a área de dados de usuário incluem uma pluralidade de setores e os dados são gerenciados em cada grupo de 2j setores G sendo 0 ou um número inteiro positivo) como um agrupamento e um ou mais agrupamentos como um arquivo, cada grupo de 2j setores con- secutivos formando um bloco (i sendo 0 ou um número inteiro positivo) e o bloco é a menor unidade na qual o apagamento pode ser realizado e pelo menos uma da área protegida e da área de usuário da área de memória da placa de memória semicondutora compreende uma primeira área, incluindo dois ou mais blocos, usada para gravar informação de gerenciamento de volume; e uma segunda área, sendo formada de blocos seguintes a primei- ra área, usada para gravação de dados de usuário; caracterizada pelo fato de que a informação de gerenciamento de volume incluindo um registro de tabela de partições, uma tabela de parti- ção, uma informação de setor de tabela de partições, uma tabela de aloca- ção de arquivos, uma entrada de diretório principal, a tabela de alocação de arquivo indicando, para cada arquivo ligações entre agrupamentos corres- pondendo ao arquivo, onde o registro de tabela de partições e a tabela de partições são gravados em um primeiro setor de um primeiro bloco da pri- meira área e com um número predeterminado de setores pulados, a infor- mação de setor de tabela de partições, a tabela de alocação de arquivos e a entrada de diretório principal são gravadas em setores subsequentes a fim de alinhar uma extremidade da primeira área com uma extremidade da en- trada de diretório principal, em que a informação de setor de tabela de parti- ções, a tabela de alocação de arquivos e a entrada de diretório principal são gravados em pelo menos um bloco que é diferente do primeiro bloco.
20. Placa de memória semicondutora, de acordo com a reivindi- cação 19, caracterizada pelo fato de que o primeiro bloco da primeira área é composto do primeiro setor e um primeiro grupo de seções usado para gravar parte de informação reservada e o pelo menos um bloco diferente do primeiro bloco é composto de setores para gravação da informação de setor de tabela de partições, da tabela de alocação de arquivos e da entrada de diretório principal e um segundo grupo de seções usadas para gravação de outra parte da informação reservada.
21. Placa de memória semicondutora, de acordo com a reivindi- cação 19, caracterizada pelo fato de que: a primeira área é formada por m x 2j setores (m sendo um núme- ro inteiro positivo); e o número predeterminado de setores é calculado pela subtração de 1 de um número de setores NOM que satisfaz a seguinte equação 1: {equação 1} NOM + SUM = 2ixm, em que SUM é uma soma calculada pela totalização de um nú- mero de setores usados para gravar a informação de setor de tabela de par- tições, a tabela de alocação de arquivos e a entrada de diretório principal.
22. Placa de memória semicondutora, de acordo com a reivindi- cação 21, caracterizada pelo fato de que o número de setores NOM é re- guiado na tabela de partição.
23. Placa de memória semicondutora, de acordo com a reivindi- cação 21, caracterizada pelo fato de que o número de setores usados para gravar a tabela de alocação de arquivos é calculado baseado no número de agrupamentos na área de memória que devem ser gerenciados.
24. Placa de memória semicondutora, de acordo com a reivindi- cação 23, caracterizada pelo fato de que: a tabela de alocação de arquivo tem uma pluralidade de entra- das igual em número ao número de agrupamentos a serem gravados na se- gunda área, e cada uma da pluralidade de entradas mostrando uma ligação para outro agrupamento no mesmo arquivo; um tamanho da tabela de alocação de arquivos é calculada pelo cálculo de um número total de agrupamentos pela divisão do número de se- tor total pelo número de setores 2j e multiplicando o número total de agru- pamentos por um comprimento de bit de entrada; e o valor de m é calculado pelo cálculo de uma soma SUM pela adição do tamanho da tabela de alocação de arquivos aos números de seto- res formando respectivamente a informação de setor de tabela de partições e a entrada de diretório principal e substituindo a soma SUM na {equação 1}.
25. Placa de memória semicondutora, de acordo com a reivindi- cação 24, caracterizada pelo fato de que os agrupamentos na área prote- gida diferem dos agrupamentos na área de dados de usuário no tamanho.
26. Placa de memória semicondutora, de acordo com a reivindi- cação 24, caracterizada pelo fato de que: a pluralidade de agrupamentos na segunda área é obtida pela divisão dos dados de usuário; a pluralidade de entradas na tabela de alocação de arquivos mostra ligações entre a pluralidade de agrupamentos; e a entrada de diretório principal inclui um nome do arquivo e in- formação de posição que indica um endereço do primeiro agrupamento den- tre agrupamentos constituindo o arquivo.
27. Placa de memória semicondutora, de acordo com a reivindi- cação 26, caracterizada pelo fato de que parte do nome do arquivo é gra- vado na área de dados de usuário.
28. Método de inicialização para inicializar um computador para realizar um acesso de arquivo em uma placa de memória semicondutora, que tem uma área de memória que compreende uma pluralidade de setores, pelo gerenciamento de dados em cada grupo de 2j setores (j sendo 0 ou um número inteiro positivo) como um agrupamento, e pelo gerenciamento de um ou mais agrupamentos como um arquivo, cada grupo de 2' setores consecu- tivos na área de memória formando um bloco (i sendo 0 ou um número inteiro positivo), e o bloco sendo a menor unidade na qual um apagamento de da- dos pode ser realizado, caracterizado pelo fato de que compreende as etapas de: calcular um tamanho de informação de gerenciamento de volu- me, com base em um número de agrupamentos na área de memória, que devem ser gerenciados, a informação de gerenciamento de volume incluindo um registro de tabela de partições, uma tabela de partição, uma tabela de alocação de arquivo e uma entrada de diretório principal, a tabela de aloca- ção de arquivo indicando, para cada arquivo, as ligações entre agrupamen- tos correspondentes ao arquivo; reservar uma primeira área usada para a gravação da informa- ção de gerenciamento de volume, e uma segunda área usada para a grava- ção de dados de usuário, a primeira área tendo um tamanho de dado maior do que da informação de gerenciamento de volume calculada e incluindo dois ou mais blocos e a segunda área sendo formada a partir de blocos se- guindo-se à primeira área; e gravar a informação de gerenciamento de volume na primeira área, e um dado de usuário na segunda área, e gravar o registro de tabela de partições e a tabela de partição em um primeiro setor de um primeiro blo- co de uma primeira área, pular um número predeterminado de setores e en- tão gravar a informação de setor de tabela de partições, a tabela de aloca- ções de arquivo e a entrada de diretório principal nos setores subseqüentes com o intuito de alinhar uma extremidade da primeira área com uma extre- midade da entrada de diretório principal, em que a informação do setor de tabela de partição, a tabela de alocação de arquivo e a entrada de diretório principal são gravados em pelo menos um bloco que é diferente do primeiro bloco.
29. Método de inicialização, de acordo com a reivindicação 28, caracterizado pelo fato de que o primeiro bloco da primeira área é com- posto do primeiro setor e um primeiro grupo de seções usadas para gravar parte da informação reservada, e os blocos diferentes do primeiro bloco são compostos de setores usados para gravação da informação do setor de ta- bela de partição, tabela de alocação de arquivo, e uma entrada de diretório principal e um segundo grupo de seções usado para gravar uma outra parte da informação reservada.
30. Método de inicialização, de acordo com a reivindicação 28, caracterizado pelo fato de que: a primeira área é formada por m x 2j setores (m sendo um núme- ro inteiro positivo); e o número predeterminado de setores é calculado pela subtração de 1 de um número de seções NOM que satisfaz a seguinte equação 1: {equação 1} NOM + SUM = 2ixm, em que SUM é uma soma calculada pela totalização de um nú- mero de setores usados para gravar a informação de setor de tabela de par- tições, a tabela de alocação de arquivos e a entrada de diretório principal.
BRPI0007239-7A 1999-10-21 2000-10-19 Aparelho de acesso á placa de memória semicondutora, placa de memória semicondutora e método de inicialização. BR0007239B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-299636 1999-10-21
JP29963699 1999-10-21
PCT/JP2000/007267 WO2001029670A2 (en) 1999-10-21 2000-10-19 A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card

Publications (2)

Publication Number Publication Date
BR0007239A BR0007239A (pt) 2001-10-30
BR0007239B1 true BR0007239B1 (pt) 2014-03-18

Family

ID=17875164

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0007239-7A BR0007239B1 (pt) 1999-10-21 2000-10-19 Aparelho de acesso á placa de memória semicondutora, placa de memória semicondutora e método de inicialização.

Country Status (10)

Country Link
US (14) US6611907B1 (pt)
EP (2) EP1145126B1 (pt)
JP (1) JP3954790B2 (pt)
CN (2) CN1203395C (pt)
BR (1) BR0007239B1 (pt)
CA (1) CA2355082C (pt)
DE (1) DE60017870T2 (pt)
MY (1) MY123682A (pt)
RU (1) RU2257609C2 (pt)
WO (1) WO2001029670A2 (pt)

Families Citing this family (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100566464B1 (ko) 1995-01-31 2006-03-31 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US20040157612A1 (en) * 1997-04-25 2004-08-12 Minerva Industries, Inc. Mobile communication and stethoscope system
US7321783B2 (en) * 1997-04-25 2008-01-22 Minerva Industries, Inc. Mobile entertainment and communication device
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
RU2257609C2 (ru) 1999-10-21 2005-07-27 Мацусита Электрик Индастриал Ко., Лтд. Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
US6993130B1 (en) * 2000-02-04 2006-01-31 Xtec, Incorporated Methods and apparatus for mediametric data cryptoprocessing
JP2002268874A (ja) * 2001-03-07 2002-09-20 Toshiba Corp 乱数シード生成回路及びこれを備えたドライバ、並びに、sdメモリカードシステム
WO2003005178A2 (en) 2001-07-05 2003-01-16 Matsushita Electric Industrial Co., Ltd. Recording apparatus, medium, method, and related computer program
JP4151246B2 (ja) 2001-08-22 2008-09-17 ソニー株式会社 情報配信端末,コンピュータプログラムおよび情報提供方法
TW516000B (en) * 2001-09-12 2003-01-01 Winbond Electronics Corp Method for security protection of digital processing device and apparatus thereof
GB2411499B (en) * 2001-09-28 2006-02-08 Lexar Media Inc Method of writing data to non-volatile memory
PL351779A1 (en) * 2002-01-18 2003-07-28 Advanced Digital Broadcast Ltd Apparatus for storing data and method of subdividing te data storage area
JP4082913B2 (ja) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
US7206970B1 (en) * 2002-02-07 2007-04-17 Network Appliance, Inc. System and method for diagnostics execution and data capture in a storage system using nonvolatile memory
JP3970070B2 (ja) * 2002-03-20 2007-09-05 富士通株式会社 自動イレーズ機能を有する不揮発性メモリ回路
JP2003296177A (ja) 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
CN100447884C (zh) * 2002-04-05 2008-12-31 松下电器产业株式会社 记录装置、再现装置、记录方法和再现方法
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
JP4238514B2 (ja) 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
JP3866635B2 (ja) * 2002-08-26 2007-01-10 株式会社東芝 メモリカード及び記憶領域切り替え方法
ATE382891T1 (de) * 2002-10-17 2008-01-15 Matsushita Electric Ind Co Ltd Vorrichtung zur dateiaktualisierung
EP1573550A2 (en) * 2002-11-07 2005-09-14 Koninklijke Philips Electronics N.V. Method and device for persistent-memory management
US7213119B2 (en) * 2002-12-05 2007-05-01 Canon Kabushiki Kaisha Inhibiting access to a portable storage device
AU2002353406A1 (en) * 2002-12-27 2004-07-22 Solid State System Co., Ltd. Nonvolatile memory unit with specific cache
CN100347731C (zh) 2003-01-31 2007-11-07 松下电器产业株式会社 半导体存储卡及对其进行控制的程序
US7303135B2 (en) 2003-02-04 2007-12-04 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card and computer readable program
EP1639599A2 (en) * 2003-06-19 2006-03-29 Koninklijke Philips Electronics N.V. Flexible formatting for universal storage device
DE60331823D1 (de) * 2003-07-14 2010-05-06 Em Microelectronic Marin Sa Schaltkreis für einen Mehrzwecktransponder und Verfahren zur Speicherverwaltung desselben
US20050027954A1 (en) * 2003-08-01 2005-02-03 Rothman Michael A. Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data
US7941554B2 (en) 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
US7882510B2 (en) * 2003-08-06 2011-02-01 Microsoft Corporation Demultiplexer application programming interface
EP1686482B1 (en) 2003-11-18 2013-03-06 Panasonic Corporation File recording device
EP1538507A1 (fr) * 2003-12-02 2005-06-08 Axalto S.A. Procédé de contrôle d'acces dans une memoire flash et systeme pour la mise en oeuvre d'un tel procédé
JP4608434B2 (ja) * 2003-12-03 2011-01-12 パナソニック株式会社 情報記録媒体のデータ処理装置及びデータ記録方法
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
US20050182822A1 (en) * 2004-02-17 2005-08-18 Daniel Stuart W. Imaging device with memory device interface
EP1733555A4 (en) 2004-02-23 2009-09-30 Lexar Media Inc SAFE COMPACT FLASH
KR100648243B1 (ko) * 2004-03-19 2006-11-24 삼성전자주식회사 낸드 플래시 메모리를 사용하는 메모리 카드
US20050257017A1 (en) * 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
JP4661086B2 (ja) * 2004-05-24 2011-03-30 パナソニック株式会社 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法
SE527843C2 (sv) * 2004-06-03 2006-06-20 Roxtec Ab Brandskydd för kabelgenomföringar
JP2006004079A (ja) * 2004-06-16 2006-01-05 Sony Corp 記憶装置
JP4157501B2 (ja) * 2004-06-30 2008-10-01 株式会社東芝 記憶装置
JP2006023854A (ja) * 2004-07-06 2006-01-26 Sharp Corp 情報処理装置、記憶装置、記憶制御装置及びプログラム
JP2006023957A (ja) * 2004-07-07 2006-01-26 Sony Corp 半導体集積回路及び情報処理装置
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US6967869B1 (en) * 2004-07-22 2005-11-22 Cypress Semiconductor Corp. Method and device to improve USB flash write performance
JP4667014B2 (ja) * 2004-11-18 2011-04-06 キヤノン株式会社 記憶管理装置及びその制御方法
JP4689247B2 (ja) * 2004-11-19 2011-05-25 キヤノン株式会社 カメラ及びその制御方法
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Control structure for versatile content control
US8601283B2 (en) 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US20060242067A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb System for creating control structure for versatile content control
US20060239450A1 (en) * 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption and error correction method
US20060242150A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Method using control structure for versatile content control
US20060242066A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Versatile content control with partitioning
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US8396208B2 (en) * 2004-12-21 2013-03-12 Sandisk Technologies Inc. Memory system with in stream data encryption/decryption and error correction
US20060242429A1 (en) * 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption method
KR101297760B1 (ko) * 2004-12-21 2013-08-20 디스크레틱스 테크놀로지스 엘티디. 스트림-내 데이터 암호화/복호화 기능을 가진 메모리 시스템
CN100541448C (zh) * 2004-12-22 2009-09-16 松下电器产业株式会社 电子设备、格式辨别系统和格式辨别方法
US7823214B2 (en) * 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20060200414A1 (en) * 2005-02-14 2006-09-07 Roberts Henry A Jr Methods of copy protecting software stored on portable memory
US8724740B2 (en) 2005-03-11 2014-05-13 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
US8995547B2 (en) 2005-03-11 2015-03-31 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
JP5318177B2 (ja) * 2005-03-31 2013-10-16 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びコンピュータプログラム
US7418531B2 (en) * 2005-05-04 2008-08-26 Pillar Data Systems, Inc. Quality of service for data storage volumes
JP4709583B2 (ja) * 2005-05-31 2011-06-22 株式会社東芝 データ送信装置およびデータ送信方法
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
JP4781027B2 (ja) * 2005-07-15 2011-09-28 パナソニック株式会社 データ記録制御方法及びデータ記録システム
WO2007013372A1 (ja) 2005-07-29 2007-02-01 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US8073068B2 (en) 2005-08-22 2011-12-06 Qualcomm Incorporated Selective virtual antenna transmission
US20070041457A1 (en) 2005-08-22 2007-02-22 Tamer Kadous Method and apparatus for providing antenna diversity in a wireless communication system
US7536540B2 (en) 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
JP4808016B2 (ja) * 2005-12-20 2011-11-02 日立オートモティブシステムズ株式会社 マイクロコンピュータの初期化装置および車載用制御装置
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7426606B2 (en) * 2006-03-31 2008-09-16 Intel Corporation Method, apparatus and system for reverting FAT cluster number to file ID and offset of non-FAT flash file system
US20070230690A1 (en) * 2006-04-03 2007-10-04 Reuven Elhamias System for write failure recovery
US7835518B2 (en) * 2006-04-03 2010-11-16 Sandisk Corporation System and method for write failure recovery
JP4229140B2 (ja) * 2006-06-16 2009-02-25 ソニー株式会社 集積回路チップ、データ読み出し方法、データ書き込み方法、icカード、および携帯電話機
JP2008009933A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 記憶装置とその制御方法
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US8140843B2 (en) 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US20080010449A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Chains
US20080010458A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
JP4651586B2 (ja) * 2006-07-11 2011-03-16 シャープ株式会社 録画再生装置
WO2008013228A1 (fr) * 2006-07-26 2008-01-31 Panasonic Corporation Contrôleur de mémoire, dispositif de stockage non-volatile, dispositif d'accès et système de stockage non-volatile
JP4955002B2 (ja) * 2006-08-04 2012-06-20 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP5014344B2 (ja) 2006-08-08 2012-08-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
CN101512931B (zh) 2006-09-06 2014-03-12 高通股份有限公司 编组天线的码字置换和精简反馈
JP2008070929A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JPWO2008032711A1 (ja) * 2006-09-13 2010-01-28 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
TWI325113B (en) * 2006-10-13 2010-05-21 Data security device and the method thereof
US7515500B2 (en) * 2006-12-20 2009-04-07 Nokia Corporation Memory device performance enhancement through pre-erase mechanism
US7818701B1 (en) * 2006-12-22 2010-10-19 Cypress Semiconductor Corporation Memory controller with variable zone size
US20080158388A1 (en) * 2006-12-27 2008-07-03 Tomi Lahcanski Removable storage device providing automatic launch capability in an image processing system
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム
JP4978224B2 (ja) * 2007-02-08 2012-07-18 カシオ計算機株式会社 光電変換装置及びそれを備えた表示パネル
KR101395778B1 (ko) 2007-03-14 2014-05-19 삼성전자주식회사 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
EP2177994A4 (en) * 2007-08-10 2013-08-21 Panasonic Corp REMOVABLE CARRIER, DEVICE, SYSTEM, METHOD, AND FORMATTING PROGRAM
KR20090031102A (ko) * 2007-09-21 2009-03-25 삼성전자주식회사 이동식 저장 장치의 포맷 방법 및 장치
US7870351B2 (en) * 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
US8073884B2 (en) * 2007-12-20 2011-12-06 Hewlett-Packard Development Company, L.P. System and method to derive high level file system information by passively monitoring low level operations on a FAT file system
JPWO2009096180A1 (ja) * 2008-01-30 2011-05-26 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
JP5025009B2 (ja) * 2008-02-15 2012-09-12 株式会社東芝 認証方法、ホスト計算機及び記録媒体
JP4691209B2 (ja) * 2008-04-04 2011-06-01 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
US20090254729A1 (en) * 2008-04-07 2009-10-08 Skymedi Corporation Method of wear leveling for a non-volatile memory
CN101324862B (zh) * 2008-05-05 2010-06-02 青岛海信电器股份有限公司 闪存存储管理方法
US8074023B2 (en) * 2008-05-22 2011-12-06 Nuvoton Technology Corporation In-system programming to switch memory access from one area to another in memory cards
CN101630233B (zh) * 2008-07-17 2012-07-11 群联电子股份有限公司 用于闪存的数据存取方法、储存系统与控制器
TWI406175B (zh) * 2008-08-20 2013-08-21 Nuvoton Technology Corp 記憶卡以及用於記憶卡之方法
WO2010035124A1 (en) * 2008-09-29 2010-04-01 Sandisk Il Ltd. File system for storage device which uses different cluster sizes
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US8880776B2 (en) * 2008-12-16 2014-11-04 Sandisk Il Ltd. Data access at a storage device using cluster information
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
TW201025002A (en) * 2008-12-26 2010-07-01 Asmedia Technology Inc Method of writing data into flash memory based on file system
US8205063B2 (en) * 2008-12-30 2012-06-19 Sandisk Technologies Inc. Dynamic mapping of logical ranges to write blocks
US8392687B2 (en) 2009-01-21 2013-03-05 Micron Technology, Inc. Solid state memory formatting
US20100199060A1 (en) * 2009-02-04 2010-08-05 Panasonic Corporation Memory controller, nonvolatile memory module, access module, and nonvolatile memory system
US20100235473A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
TWI498954B (zh) * 2009-08-21 2015-09-01 Sumco Corp 磊晶矽晶圓的製造方法
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8489907B2 (en) * 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
JP2011118623A (ja) * 2009-12-02 2011-06-16 Canon Inc データ同期装置
JP5558093B2 (ja) * 2009-12-25 2014-07-23 株式会社東芝 半導体装置及びメモリシステム
KR101467514B1 (ko) * 2010-05-14 2014-12-01 삼성전자 주식회사 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법
JP5460486B2 (ja) * 2010-06-23 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データをソートする装置及び方法
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US20120089765A1 (en) * 2010-10-07 2012-04-12 Huang Shih-Chia Method for performing automatic boundary alignment and related non-volatile memory device
JP2012084071A (ja) 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
WO2012089069A1 (zh) * 2010-12-29 2012-07-05 厦门松霖科技有限公司 能切换水路和调节流量的阀
EP2492816A1 (en) * 2011-02-25 2012-08-29 Siemens Aktiengesellschaft Method for managing physical memory of a data storage and data storage management system
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US9058212B2 (en) * 2011-03-21 2015-06-16 Microsoft Technology Licensing, Llc Combining memory pages having identical content
DE102011001430A1 (de) * 2011-03-21 2012-09-27 Wincor Nixdorf International Gmbh Verfahren zum Betreiben einer Geldkassette mit kundenspezifischen Schlüsseln
JP2012208584A (ja) * 2011-03-29 2012-10-25 Toshiba Corp 記憶装置およびプログラム
JP5077726B1 (ja) 2011-05-23 2012-11-21 Necインフロンティア株式会社 コンピュータ、その制御方法及びプログラム
CN102289451A (zh) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 文件或文件夹查找方法和装置
CN102314490B (zh) * 2011-08-16 2013-07-10 晨星软件研发(深圳)有限公司 一种Linux FAT文件系统修复方法及装置
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
JP5112555B1 (ja) 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
JP5204290B1 (ja) * 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、システム、及び装置
JP5100884B1 (ja) 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
JP5204291B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、装置、システム
JP5275482B2 (ja) 2012-01-16 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
CN103246617B (zh) * 2012-02-07 2016-08-17 宇龙计算机通信科技(深圳)有限公司 移动终端和基于Android系统的数据保存方法
JP5687639B2 (ja) 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
US20140229657A1 (en) * 2013-02-08 2014-08-14 Microsoft Corporation Readdressing memory for non-volatile storage devices
US9201811B2 (en) * 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US8984294B2 (en) 2013-02-15 2015-03-17 Kabushiki Kaisha Toshiba System of authenticating an individual memory device via reading data including prohibited data and readable data
US9336131B1 (en) * 2013-04-16 2016-05-10 Veritas Technologies, LLC Systems and methods for enabling virtual environments to mount non-native storage disks
US9678689B2 (en) 2013-05-29 2017-06-13 Microsoft Technology Licensing, Llc Storage systems and aliased memory
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
JP6017392B2 (ja) * 2013-09-27 2016-11-02 株式会社東芝 情報処理装置、ホストデバイス、及びシステム
US9785547B2 (en) * 2014-02-13 2017-10-10 Hitachi, Ltd. Data management apparatus and method
KR102196971B1 (ko) 2014-03-28 2020-12-31 삼성전자주식회사 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법
US9984007B2 (en) 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
US10257192B2 (en) 2014-05-29 2019-04-09 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
TWI531963B (zh) * 2015-06-04 2016-05-01 Accelstor Inc Data storage systems and their specific instruction enforcement methods
CN105303208B (zh) * 2015-10-26 2019-01-25 新大陆数字技术股份有限公司 一种ic卡管理方法及系统
US20170220284A1 (en) * 2016-01-29 2017-08-03 Netapp, Inc. Block-level internal fragmentation reduction using a heuristic-based approach to allocate fine-grained blocks
TWI637264B (zh) * 2016-05-20 2018-10-01 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
US11054991B2 (en) * 2018-03-21 2021-07-06 Western Digital Technologies, Inc. Data storage system scale-out with local address remapping
CN110442301A (zh) * 2018-05-05 2019-11-12 南京橡东信息科技有限公司 一种用于内网安全的u盘分区的方法及装置
CN111045962B (zh) * 2019-12-18 2023-06-09 湖南国科微电子股份有限公司 一种sd卡数据保密方法、系统、设备及计算机介质
CN113253945B (zh) * 2021-07-08 2021-09-28 成都易我科技开发有限责任公司 磁盘卷变簇的方法、装置及电子设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033438T2 (de) 1989-04-13 2000-07-06 Sandisk Corp., Santa Clara Austausch von fehlerhaften Speicherzellen einer EEprommatritze
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
WO1993021579A1 (en) * 1992-04-21 1993-10-28 Storage Technology Corporation Method for managing data records in a cached data subsystem with non-volatile memory
JPH07219720A (ja) 1993-10-01 1995-08-18 Hitachi Maxell Ltd 半導体メモリ装置ならびにその制御方法
JPH07225727A (ja) * 1994-02-14 1995-08-22 Fujitsu Ltd 計算機システム
RU2103732C1 (ru) 1995-06-08 1998-01-27 Дьяков Юрий Александрович Устройство для выполнения платежей и услуг с помощью электронной карточки с документированием операций
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
RU2094846C1 (ru) 1996-03-28 1997-10-27 Акционерное общество открытого типа Страховая компания "Росгал" Финансовая система безналичных платежей
JPH10124384A (ja) 1996-08-28 1998-05-15 Toshiba Corp 不揮発性半導体メモリの制御方法
US5845322A (en) * 1996-09-17 1998-12-01 Vlsi Technology, Inc. Modular scalable multi-processor architecture
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
JP3588231B2 (ja) * 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6134581A (en) * 1997-10-06 2000-10-17 Sun Microsystems, Inc. Method and system for remotely browsing objects
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
EP2200032A3 (en) * 1998-09-18 2010-09-22 Kabushiki Kaisha Toshiba Information recording method, information recording device, and information recording medium
US6308264B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Dual use master boot record
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP3389186B2 (ja) 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP3417889B2 (ja) * 1999-09-20 2003-06-16 克彦 長岡 糞尿処理工程などで用いる台車走行装置
RU2257609C2 (ru) * 1999-10-21 2005-07-27 Мацусита Электрик Индастриал Ко., Лтд. Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP2001307334A (ja) * 2000-04-21 2001-11-02 Toshiba Corp 情報記憶媒体、情報記録方法、及び情報再生方法
WO2001093263A1 (en) * 2000-05-31 2001-12-06 Matsushita Electric Industrial Co., Ltd. Information recording medium, information recording method, information recording apparatus, information reproducing method, and information reproducing apparatus
WO2003005178A2 (en) * 2001-07-05 2003-01-16 Matsushita Electric Industrial Co., Ltd. Recording apparatus, medium, method, and related computer program
JP2003196142A (ja) * 2001-12-25 2003-07-11 Sony Corp ライトワンス型メモリ装置及びファイル管理方法
US7123556B2 (en) * 2002-01-22 2006-10-17 Matsushita Electric Industrial Co., Ltd. Multi-layered information recording medium with spare defect management areas
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
KR100527276B1 (ko) * 2004-06-04 2005-12-13 주식회사 르노소프트 시스템 변경 데이터를 시스템 영역 내에서 비선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム

Also Published As

Publication number Publication date
US6611907B1 (en) 2003-08-26
US8473671B2 (en) 2013-06-25
JP2001188701A (ja) 2001-07-10
US20030196064A1 (en) 2003-10-16
US20110125958A1 (en) 2011-05-26
US8990487B2 (en) 2015-03-24
DE60017870D1 (de) 2005-03-10
CA2355082A1 (en) 2001-04-26
US7734864B2 (en) 2010-06-08
US8015349B2 (en) 2011-09-06
US20030196028A1 (en) 2003-10-16
US20140237203A1 (en) 2014-08-21
US6829675B2 (en) 2004-12-07
US20080209115A1 (en) 2008-08-28
CN100442393C (zh) 2008-12-10
RU2257609C2 (ru) 2005-07-27
US8176239B2 (en) 2012-05-08
US8751734B2 (en) 2014-06-10
CN1203395C (zh) 2005-05-25
BR0007239A (pt) 2001-10-30
US20120191905A1 (en) 2012-07-26
US20030200411A1 (en) 2003-10-23
US6829676B2 (en) 2004-12-07
US20130268778A1 (en) 2013-10-10
JP3954790B2 (ja) 2007-08-08
EP1145126B1 (en) 2005-02-02
US7899982B2 (en) 2011-03-01
WO2001029670A2 (en) 2001-04-26
US7143261B2 (en) 2006-11-28
US7398353B2 (en) 2008-07-08
CN1674159A (zh) 2005-09-28
EP1498810B1 (en) 2018-12-26
US20070033335A1 (en) 2007-02-08
US20110283076A1 (en) 2011-11-17
DE60017870T2 (de) 2005-06-23
CA2355082C (en) 2008-09-23
CN1341237A (zh) 2002-03-20
US20100205361A1 (en) 2010-08-12
MY123682A (en) 2006-05-31
EP1498810A1 (en) 2005-01-19
US6829674B2 (en) 2004-12-07
US20030196027A1 (en) 2003-10-16
WO2001029670A3 (en) 2001-09-13
EP1145126A2 (en) 2001-10-17
US6823422B2 (en) 2004-11-23
US20050060513A1 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
BR0007239B1 (pt) Aparelho de acesso á placa de memória semicondutora, placa de memória semicondutora e método de inicialização.
US7269741B2 (en) Recording apparatus, medium, method, and related computer program
JP4991320B2 (ja) ホスト装置およびメモリシステム
US8307172B2 (en) Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
US20030046484A1 (en) Flash management system for large page size
US20080046760A1 (en) Storage device for storing encrypted data and control method thereof
KR101025368B1 (ko) 데이터 저장 매체, 데이터 저장 매체를 제어하는 방법 및 데이터 저장 매체를 판독하는 방법

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: PANASONIC CORPORATION (JP)

Free format text: NOME ALTERADO DE: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 18/03/2014, OBSERVADAS AS CONDICOES LEGAIS.