KR100513814B1 - Data management device, data management method and storage medium - Google Patents

Data management device, data management method and storage medium Download PDF

Info

Publication number
KR100513814B1
KR100513814B1 KR10-1998-0022819A KR19980022819A KR100513814B1 KR 100513814 B1 KR100513814 B1 KR 100513814B1 KR 19980022819 A KR19980022819 A KR 19980022819A KR 100513814 B1 KR100513814 B1 KR 100513814B1
Authority
KR
South Korea
Prior art keywords
management information
data
storage unit
distributed
information
Prior art date
Application number
KR10-1998-0022819A
Other languages
Korean (ko)
Other versions
KR19990007069A (en
Inventor
아키라 사싸
다쿠미 오카우에
게니치 나카니시
미츠히로 히라바야시
Original Assignee
소니 가부시끼 가이샤
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
Priority claimed from JP09267175A external-priority patent/JP3072722B2/en
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR19990007069A publication Critical patent/KR19990007069A/en
Application granted granted Critical
Publication of KR100513814B1 publication Critical patent/KR100513814B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • 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/10Digital recording or reproducing
    • 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/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • 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/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

데이터를 소정 단위마다 관리하는 분산관리 정보 0과 같은 분산관리 정보를 플래쉬 메모리의 각 블록의 용장영역에 기억시키기는 것에 반하여 상기 데이터를 일괄해서 관리하는 집합관리 정보는 플래쉬 메모리의 소정 블록에 기억한다. 플래쉬 메모리를 사용할 때, 우선, 집합관리 정보가 오류인지를 검출한다. 오류가 검출되면, 각 블록의 용장 영역에 있는 분산관리 정보에서 집중관리 정보가 구축된다. 상기 데이터가 변경 되는 경우에는, 각 블록의 용장영역에 있는 분산관리 정보에 의거해 집합관리 정보를 재 구축하고, 이 집합관리 정보를 상기 소정의 블록에 기억한다. The distributed management information, such as the distributed management information 0 for managing data for each predetermined unit, is stored in the redundant area of each block of the flash memory, while the collective management information for collectively managing the data is stored in a predetermined block of the flash memory. . When using flash memory, first, it is detected whether the set management information is an error. If an error is detected, the centralized management information is constructed from the distributed management information in the redundant area of each block. When the data is changed, the aggregate management information is reconstructed based on the distributed management information in the redundant area of each block, and the aggregate management information is stored in the predetermined block.

Description

데이터 관리장치, 데이터 관리방법 및 기억매체Data management device, data management method and storage medium

본 발명은 플래쉬 메모리를 사용한 데이터 관리장치, 데이터 관리방법 및 기억매체에 관한 것이다.The present invention relates to a data management apparatus using a flash memory, a data management method and a storage medium.

종래에는, 컴퓨터와 같은 전자장치를 주 저장장치로서 사용 하였을 때에는, 메모리 장치가 이 주 저장장치의 충분한 용량으로 사용되었다. 이 기억장치로서, 자기테이프, 자기디스크, 광자기디스크, 종이테이프 등으로 예시할 수 있다. 이들 장치중, 메모리 카드는 전송율이 비교적 고속용으로 광범위하게 사용되었다.Conventionally, when an electronic device such as a computer is used as the main storage device, the memory device has been used with sufficient capacity of this main storage device. Examples of this storage device include magnetic tapes, magnetic disks, magneto-optical disks, paper tapes, and the like. Among these devices, memory cards have been widely used for transfer rates of relatively high speed.

게다가, 이 메모리 카드는 촬상정보를 기록하는 기억장치로 사용되도록 정지화상 촬상장치(소위 스틸카메라) 및 비디오 테이프 레코더(recorder)의 카메라에 내장된다. In addition, this memory card is incorporated in cameras of still image imaging devices (so-called still cameras) and video tape recorders so as to be used as storage devices for recording imaging information.

메모리 카드는 반도체 집적회로와 같은 기억수단을, 예에서는 합성수지에서 만들어진 상자에 매설한 것을 포함한다. 반도체 집적회로로서, 플래쉬 메모리(전기적으로 소거 가능형 프로그램 ROM(Read Only Memory)등이 사용된다. The memory card includes embedding a storage means such as a semiconductor integrated circuit in a box made of synthetic resin, for example. As a semiconductor integrated circuit, a flash memory (electrically erasable program ROM (Read Only Memory) or the like is used.

그런데 상기 메모리 카드와 같은 기억장치에 있어서는, 데이터 관리를 소위 분산관리 방법 또는 집합관리 방법에 의해 실행한다.By the way, in a storage device such as the memory card, data management is executed by a so-called distributed management method or collective management method.

분산관리 방법은 다음과 같이 실행된다. 기억장치에 있는 데이터를 기억하는 기억수단은 블록과 같은 데이터 소거 단위로 분할되고, 그리고 각 블록마다 블록 플래그, 논리 어드레스 및 연결정보와 같은 블록 관리정보를 제공하고, 각 블록에 대해 분산 및 작성된다. 이하, 이러한 관리정보 목록을 분산관리 정보로 칭한다. 분산관리 방법에서, 상기 기억장치에 대해서 데이터를 독출 및/또는 기입을 실행하기 위해 전자장치를 기동시킬 때에, 기억장치의 기억수단을 일괄해서 관리를 실행할 수 있는 집합관리 테이블을 작성하기 위해, 우선, 전자장치가 기억수단의 각 블록에 분산된 분산관리 정보 목록을 모으고 이것을 전자장치의 기억수단 내에 독출하고, 따라서 기억장치의 데이터 관리를 실행한다.The distributed management method is executed as follows. The storage means for storing data in the storage device is divided into data erasing units such as blocks, and provides block management information such as block flags, logical addresses, and connection information for each block, and is distributed and created for each block. . This management information list will hereinafter be referred to as distributed management information. In the distributed management method, in order to create a collective management table that can collectively execute management of the storage means of the storage device when the electronic device is activated to read and / or write data to the storage device, firstly. Then, the electronic device collects the distributed management information list distributed in each block of the storage means, reads it out into the storage means of the electronic device, and thus executes data management of the storage device.

이 분산관리 방법을 사용하는 경우에, 전자장치에서 송신에 의해 기억장치의 기억수단 내의 각 블록에 있는 데이터가 변경되는 동시에, 분산관리 정보도 변경된다. 따라서, 전자장치가 상기 처럼 기동될 때 마다, 전자장치의 기억수단에 관리 테이블을 작성하기 위해, 최신 분산관리 정보목록이 기억장치에 있는 기억수단의 각 블록에서 수집된다. 즉, 이 분산관리 방법에 의하면, 예에서, 기억장치에 있는 기억수단 내의 일부 블록이 파손되는 경우에도, 전자장치의 다음 기동시에, 전자장치의 기억수단 내에 집합관리 테이블을 작성하기 위해 파손된 블록을 소거한 분산관리 정보목록을 수집한다. 따라서, 분산관리 방법에 있어서, 기억장치의 기억수단 내의 일부 블록이 파손되는 경우에도, 파손되지 않은 블록에 대해서 데이터의 기입 및/또는 데이터의 독출이 가능하다. 즉, 전체 기억수단에 대해서 기입 및/또는 독출이 실행되지 않는 경우가 없기 때문에 분산관리 방법은 비교적 파손에 대해 강하다.In the case of using this distributed management method, the data in each block in the storage means of the storage device is changed by transmission in the electronic device, and the distribution management information is also changed. Therefore, each time the electronic device is activated as described above, the latest distributed management information list is collected in each block of the storage means in the storage device in order to create a management table in the storage means of the electronic device. That is, according to this distributed management method, in the example, even if some blocks in the storage means in the storage device are broken, at the next startup of the electronic device, the damaged blocks for creating the collective management table in the storage means of the electronic device. Collect a list of distributed management information that has been deleted. Therefore, in the distributed management method, even when some blocks in the storage means of the storage device are damaged, data can be written and / or data can be read for the unbroken block. That is, since there is no case where writing and / or reading is not performed for all the storage means, the distributed management method is relatively resistant to damage.

그러나, 상기 분산관리 방법이 용량이 크고 블록수가 많은 기억장치에 사용되고, 기억장치에 대응해서 데이터의 기입 및/또는 독출를 행하는 전자장치를 기동할 때, 전자장치 내에 집합관리 테이블를 작성하는데 많은 시간이 걸린다. 따라서, 전자장치의 기동시에 많은 시간이 필요하고, 고속 처리를 방해한다.However, when the distributed management method is used for a storage device having a large capacity and a large number of blocks, and activates an electronic device that writes and / or reads data in response to the storage device, a large amount of time is required to create a collective management table in the electronic device. Takes Therefore, a large amount of time is required at the start of the electronic device, which hinders high speed processing.

다른 방법, 즉, 집합관리 방법이 다음과 같이 실행된다. 기억장치에 있는 기억수단 내의 각 블록의 블록 플래그, 논리 어드레스 및 연결정보 등의 관리정보 목록을 기억수단 내의 1개소에 저장하고 각 블록의 데이터를 일괄해서 관리하는 관리 정보로서 작성한다. 이하, 관리정보를 집합관리 정보로 칭한다. 상기 기억장치에 대해서 데이터의 독출 및/ 또는 기입을 행하기 위한 전자장치를 기동시킬 때, 전자장치의 기억수단에 있는 집합관리 테이블를 작성하기 위해 전자장치는 상기 집합관리 정보를 독출하며, 따라서 기억장치의 데이터 관리를 수행한다.Another method, the set management method, is executed as follows. A list of management information such as block flags, logical addresses, and connection information of each block in the storage means in the storage device is stored in one place in the storage means and created as management information for collectively managing the data of each block. Hereinafter, the management information is referred to as collective management information. When activating an electronic device for reading and / or writing data to the storage device, the electronic device reads out the collection management information to create a collection management table in the storage means of the electronic device, and thus the storage device. Perform data management.

이 집합관리 방법을 이용하는 경우에, 기억장치에 대해서 데이터의 기입 및/또는 데이터의 독출를 실행할 때, 전자장치는 집합관리 정보를 독출할 필요가 있으며, 따라서 전자장치의 수행이 짧은 시간에 행해지고, 고속처리를 실행할 수 있다.In the case of using this collective management method, when writing data and / or reading data to and from the storage device, the electronic apparatus needs to read the collective management information, so that the electronic apparatus is performed in a short time, High speed processing can be performed.

그러나, 상기 집합관리 방법에 의해 기억장치의 데이터를 관리하는 경우에, 기억장치의 기억수단 내에 집합관리 정보가 파손되면, 전체 기억수단에 대해서 데이터 기입 및/또는 독출를 수행하는 것이 불가능 하다. 즉 이 방법은 데이터 파손에 약하다. 게다가, 집합관리 방법에 따라서, 각 블록의 데이터를 기억장치의 기억수단 내에서 변경할 때 마다, 집합관리 정보와 각 블록 사이의 데이터 정합을 위해 집합관리 정보 전체를 변경할 필요가 있다. 다량의 블록을 재기록 하기 위해서, 집합관리 정보를 변경하는데 많은 시간이 필요하며, 따라서 고속처리를 방해한다.However, in the case of managing the data of the storage device by the above-described collection management method, if the collection management information is broken in the storage means of the storage device, it is impossible to perform data writing and / or reading of all the storage means. This method is vulnerable to data corruption. In addition, according to the set management method, whenever the data of each block is changed in the storage means of the storage device, it is necessary to change the set management information as a whole for matching data between the set management information and each block. In order to rewrite a large number of blocks, a large amount of time is required to change the collective management information, thus preventing the high speed processing.

따라서 본 발명의 목적은 파손에 강하고 그리고 데이터의 고속처리가 가능한 데이터 관리장치, 데이터 관리방법 및 기록매체를 제공하는 것이다.It is therefore an object of the present invention to provide a data management apparatus, a data management method, and a recording medium that are resistant to damage and enable high-speed processing of data.

본 발명에 따르는 데이터 관리장치는 소정의 기억단위 마다 구성된 데이터 기억영역에 임의의 데이터를 기억하고, 그리고 분산관리 정보 기억영역에 소정의 기억단위 마다 데이터를 관리하는 분산관리 정보를 기억하고, 집합관리 정보 기억영역에 분산관리 정보에 따라 데이터를 일괄해서 관리하는 집합관리 정보를 기억하는 기억수단과 집합관리 정보가 유효한 것인지를 기동시에 판단하는 관리수단과 집합관리 정보가 유효한 것으로 판단되면, 집합관리 정보에 따라서 데이터 관리를 실행하고, 집합관리 정보가 유효하지 않을 때에는 분산관리 정보에 따라서 데이터 관리를 실행하는 것을 포함한다.The data management apparatus according to the present invention stores arbitrary data in a data storage area configured for each predetermined storage unit, and stores distributed management information for managing data for each predetermined storage unit in the distributed management information storage area, and sets management. If it is determined that the storage means for storing the collective management information for collectively managing data according to the distributed management information in the information storage area and the management means for determining at the time of startup whether the collective management information is valid and the collective management information are effective, the collective management information And data management in accordance with the distributed management information when the collective management information is invalid.

본 발명에 따르는 데이터 관리방법은 소정의 기억단위 마다 구성된 데이터 기억영역에 임의의 데이터를 기억하는 단계와 분산관리 정보 기억영역에 소정의 기억단위 마다 데이터를 관리하는 분산관리 정보를 기억하는 단계와 집합관리 정보 기억영역에 분산관리 정보에 따라 데이터를 일괄 관리하는 집합관리 정보를 기억하는 단계와 집합관리 정보가 유효한지를 기동시에 판단하는 단계와 집합관리 정보가 유효한 것으로 판단되면 집합관리 정보에 의거해 데이터를 관리하는 단계, 또는 집합관리 정보가 유효하지 않은 것으로 판단되면 분산관리 정보에 의거해 데이터를 관리하는 단계를 포함한다.The data management method according to the present invention comprises the steps of: storing arbitrary data in a data storage area configured for each predetermined storage unit and storing and managing distributed management information for managing data for each predetermined storage unit in the distributed management information storage area. Storing the collective management information for collectively managing data in accordance with the distributed management information in the management information storage area; determining whether the collective management information is valid at startup; and if the collective management information is determined to be valid, the data based on the collective management information. Or managing data based on the distributed management information if it is determined that the set management information is invalid.

본 발명에 따르는 기억매체는 소정의 기억단위 마다 구성된 데이터 기억영역에 임의의 데이터를 기억하고 집합관리 정보기억 영역에 분산관리 정보에 따라 데이터를 일괄 관리하는 분산관리 정보를 기억하는 것을 특징으로 한다.The storage medium according to the present invention is characterized by storing arbitrary data in a data storage area configured for each predetermined storage unit, and storing distributed management information for collectively managing data in accordance with the distributed management information in the collective management information storage area.

이하, 본 발명의 실시예를 도면을 참조해서 설명한다. 본 발명은, 도 1의 예에서 나타낸 것 처럼, 호스트 컴퓨터(10), 메모리 카드(20)를 포함하는 메모리 카드 시스템(1)에 적용된다.Hereinafter, embodiments of the present invention will be described with reference to the drawings. The present invention is applied to the memory card system 1 including the host computer 10 and the memory card 20, as shown in the example of FIG.

여기에서는 호스트 컴퓨터(10)에서 송신된 화상 데이터를 메모리 카드에 기입하는 경우에 있어서 설명하지만 음성 데이터를 포함하는 다른 데이터의 경우에도 동일하게 적용된다.Although description is made here in the case of writing the image data transmitted from the host computer 10 to the memory card, the same applies to the case of other data including audio data.

도 1에 나타낸 것 처럼, 상기 호스트 검퓨터(10)는 정지화상의 화상 데이터 및 음성 데이터를 기억하는 하드디스크 드라이브(11)(이하 HDD로 칭함)와 HDD(11)에서 화상 데이터 등을 일시적으로 기억 및 독출하는 RAM(12)(random access memory)과 디스플레이 인터페이스(13)(이하 디스플레이 I/F로 칭함)와 디스플레이 I/F(13)를 통해서 공급된 화상 데이터에 의거해 화상을 표시하는 디스플레이(14)와 3개의 회선을 통해서 메모리 카드(20)로 데이터의 송수신을 실행하는 시리얼 인터페이스(15)(이하 시리얼 I/F로 칭함)와 버스(16)와 전체 시스템을 제어하는 CPU(17)(Central Processing Unit)와 CPU(17)를 제어하기 위한 프로그램을 포함한 ROM(18)을 포함한다.As shown in Fig. 1, the host computer 10 temporarily stores image data and the like on a hard disk drive 11 (hereinafter referred to as an HDD) that stores still image image data and audio data, and the HDD 11; And a display for displaying an image on the basis of image data supplied through a random access memory (RAM) 12 and a display interface 13 (hereinafter referred to as display I / F) and display I / F 13 that are read out. Serial interface 15 (hereinafter referred to as serial I / F) for performing data transmission and reception to and from memory card 20 through three lines 14 and CPU 17 for controlling the bus 16 and the entire system. (Central Processing Unit) and a ROM 18 including a program for controlling the CPU 17.

RAM(12)은, 예에서, 버스(16)를 통해서, HDD(11)에 기억된 음성 데이터와 화상 데이터를 일시적으로 기억하고, 필요에 따라서, 버스(16)를 통해서 화상 데이터를 시리얼 I/F(15)에 공급한다.The RAM 12 temporarily stores audio data and image data stored in the HDD 11 via the bus 16, for example, and stores image data via the bus 16 as necessary. It supplies to F15.

디스플레이(14)는 이들 화상 데이터에 의거해 정지 화상을 표시하기 위해서, HDD(11)에서 독출된 화상 데이터가 버스(16) 및 디스플레이 I/F 통해서 공급될 뿐 아니라 메모리 카드(20)에서 화상 데이터가 공급된다.The display 14 not only supplies the image data read out from the HDD 11 via the bus 16 and the display I / F in order to display still images based on these image data, but also the image data in the memory card 20. Is supplied.

시리얼 I/F(15)는 3개의 회선을 통해서 화상 데이터를 메모리 카드(20)에 송신하고 메모리 카드에 화상 데이터를 수신한다. 구체적으로, 시리얼 I/F(15)는, 제 1회선을 통해서, 메모리 카드(20)에 기입하기 위해 화상 데이터와 제어 데이터를 송신하고 메모리 카드(20)에서 독출된 화상 데이터를 수신한다. 시리얼 I/F(15)는 제 2회선을 통해서, 제 1회선에 있는 화상 데이터와 제어 데이터 사이의 전환에 따라서, 전환 상태를 표시하는 상태신호를 출력한다. 게다가, 시리얼 I/F(15)는 제 3회선을 통해서, 상기 제어 데이터 및 화상 데이터 송신하기 위한 시리얼 클럭(SCLK)을 송신한다.The serial I / F 15 transmits image data to the memory card 20 via three lines and receives image data in the memory card. Specifically, the serial I / F 15 transmits image data and control data for writing to the memory card 20 and receives image data read out from the memory card 20 through the first line. The serial I / F 15 outputs a status signal indicating the switching state in accordance with the switching between the image data and the control data on the first line through the second line. In addition, the serial I / F 15 transmits a serial clock SCLK for transmitting the control data and the image data through the third line.

CPU(17)는 RAM(12)과 HDD(11)에서 화상 데이터를 독출하고 RAM(12) 등에 화상 데이터를 기입하는 것을 제어할 뿐 아니라 메모리 카드(20)에서 화상 데이터의 송수신을 제어한다. 예에서, CPU(17)는 메모리 카드(20)에 어드레스의 지정으로 데이터 기입을 발행한다.The CPU 17 not only reads the image data from the RAM 12 and the HDD 11 and writes the image data to the RAM 12 or the like, but also controls transmission and reception of the image data from the memory card 20. In the example, the CPU 17 issues data write to the memory card 20 by designation of an address.

도 2에 나타낸 것 처럼, 본 실시예의 메모리 카드(20)는 상기 호스트 컴퓨터(10)에서 제어 데이터와 화상 데이터 수신용 제어 IC(21)와 수신된 화상 데이터를 기억하기 위한 기억수단으로서 플래쉬 메모리(22)(전기적으로 소거 가능형 프로그램 ROM)를 포함한다.As shown in Fig. 2, the memory card 20 of this embodiment uses a flash memory (A) as a storage means for storing control data and control IC 21 for receiving image data and received image data in the host computer 10. 22) (electrically erasable program ROM).

제어 IC(21)는, 구체적으로, 시리얼/패럴(serial/parallel) - 패럴/시리얼(parallel/serial) 인터페이스 시퀀서(sequencer)(이하 시퀀서로 칭함)(31)와 시퀀서(31)로부터 화상 데이터를 일시적으로 기억하기 위한 페이지 버퍼(32)와 페이지 버퍼(32)로부터 화상 데이터를 플래쉬 메모리(22)에 공급하는 플래쉬 인터페이스 시퀀서(33)(이하 플래쉬 I/F 시퀀서로 칭함)와 오류 정정을 처리하는 ECC 부호기/복호기(34)와 소정의 제어 명령을 발생하는 커맨드(command)발생기(35)와 변환 정보등이 포함되어 있는 구성 ROM(36)과 각 회로에 클럭을 공급하는 발진기(37)를 포함한다.Specifically, the control IC 21 stores image data from a serial / parallel-parallel / serial interface sequencer (hereinafter referred to as a sequencer) 31 and a sequencer 31. A flash interface sequencer 33 (hereinafter referred to as a flash I / F sequencer) for supplying image data from the page buffer 32 and the page buffer 32 to the flash memory 22 for temporary storage and error correction processing An ECC encoder / decoder 34, a command generator 35 for generating a predetermined control command, a configuration ROM 36 containing conversion information, and an oscillator 37 for supplying a clock to each circuit. do.

시퀀서(31)는 상기 제 1 ∼ 제 3 회선을 통해서 호스트 컴퓨터(10)의 시리얼 I/F(15)에 접속된다. 따라서, 시퀀서(31)에는 상태신호와 시리얼 클럭(SCLK) 뿐 아니라 호스트 컴퓨터(10)에서 화상 데이터 및 제어 데이터로 구성된 시리얼데이터(DIO)가 공급된다.The sequencer 31 is connected to the serial I / F 15 of the host computer 10 via the first to third lines. Accordingly, the sequencer 31 is supplied with serial data DIO composed of image data and control data from the host computer 10 as well as the status signal and the serial clock SCLK.

시퀀서(31)는 호스트 컴퓨터(10)에서 공급된 시리얼데이터(DIO)를 상기 시리얼 클럭(SCLK)에 동기해서 패럴 데이터로 변환한다. 패럴 데이터 중, 시퀀서(31)는, 예에서, 제어 데이터를 커맨드 발생기(35)에 공급하고, 영상 데이터를 페이지 버퍼(32)에 공급한다.The sequencer 31 converts the serial data DIO supplied from the host computer 10 into parallel data in synchronization with the serial clock SCLK. Of the parallel data, the sequencer 31 supplies control data to the command generator 35 and image data to the page buffer 32 in the example.

페이지 버퍼(32)는 시퀀서(31)에서 공급된 화상 데이터를 1 페이지 마다 기억하는 버퍼 메모리이다. 페이지 버퍼(32)에 기억된 화상 데이터는 ECC 부호기/복호기에 의해 오류 정정이 부가된다. 페이지 버퍼(32)는 오류 정정 부호를 갖는 1 페이지의 화상 데이터를 플래쉬 I/F 시퀀서(33)를 통해서 플래쉬 메모리(22a ∼22d)에 공급한다. 따라서, 호스트 컴퓨터(10)로부터 화상 데이터가 플래쉬 메모리( 22a ∼ 22d)로 기입된다.The page buffer 32 is a buffer memory that stores image data supplied from the sequencer 31 for each page. Error correction is added to the picture data stored in the page buffer 32 by an ECC encoder / decoder. The page buffer 32 supplies the image data of one page having an error correction code to the flash memories 22a to 22d via the flash I / F sequencer 33. Therefore, image data is written from the host computer 10 into the flash memories 22a to 22d.

게다가, 플래쉬 메모리(22a ∼ 22d)로부터 독출된 화상 데이터는 플래쉬 I/F 시퀀서(33)를 통해서 페이지 버퍼(32)에 공급된다.In addition, the image data read out from the flash memories 22a to 22d is supplied to the page buffer 32 through the flash I / F sequencer 33.

페이지 버퍼(32)는 플래쉬 I/F 시퀀서(33)로부터 화상 데이터를 기억한다. 이때에, ECC 부호기/복호기(34)는 페이지 버퍼(32)에 기억된 데이터에 부가된 오류 정정부호에 의거해 오류 정정처리를 실행한다. The page buffer 32 stores image data from the flash I / F sequencer 33. At this time, the ECC encoder / decoder 34 executes error correction processing based on an error correction code added to the data stored in the page buffer 32.

페이지 버퍼(32)는 오류 정정된 데이터를 1 페이지 마다 독출하고 이 데이터를 시퀀서(31)에 공급한다. 시퀀서(31)는 페이지 버퍼(32)에서 공급된 패럴 화상 데이터를 시리얼 데이터(DIO)로 변환하고 상기 호스트 컴퓨터(10)에 송신한다.The page buffer 32 reads out error corrected data every page and supplies the data to the sequencer 31. The sequencer 31 converts the parallel image data supplied from the page buffer 32 into serial data DIO and transmits it to the host computer 10.

커맨드 발생기(35)는, 시퀀서(31)에서 제어 데이터에 의거해, 제어 명령을 발생한다. 게다가, 커맨드 발생기(35)는 플래쉬 메모리(22)에 화상 데이터를 기입하거나 또는 플래쉬 메모리(22)에서 화상 데이터를 독출하고 있는 상태를 표시하는 비지명령(busy command)(이하 비지신호로 칭함)을 발생하고, 시퀀서(31)를 통해서 호스트 컴퓨터(10)에 명령을 송신한다. 호스트 컴퓨터(10)는 메모리 카드(20)의 동작 상태를 인식하기 위해 비지신호와 준비신호를 수신한다.The command generator 35 generates a control command based on the control data in the sequencer 31. In addition, the command generator 35 writes a busy command (hereinafter referred to as a busy signal) indicating the state in which image data is written to the flash memory 22 or the image data is being read from the flash memory 22. A command is sent to the host computer 10 via the sequencer 31. The host computer 10 receives a busy signal and a ready signal to recognize an operating state of the memory card 20.

구성 ROM(36)은 메모리 카드(20)의 번역정보와 초기 설정치의 정보를 포함한다. 따라서, 호스트 컴퓨터(10)와 메모리 카드(20)가 접속되면, 커맨드 발생기(35)는 우선, 시퀀서(31)를 통해서 구성 ROM(36)으로부터 상기 번역정보 등을 독출하고, 이 정보에 의거해 메모리 카드(20)의 소정의 초기 설정을 실행하기 위해 소정의 명령을 발생한다. The configuration ROM 36 includes translation information of the memory card 20 and information of initial setting values. Therefore, when the host computer 10 and the memory card 20 are connected, the command generator 35 first reads the translation information and the like from the configuration ROM 36 through the sequencer 31 and based on this information. A predetermined command is issued to execute predetermined initial setting of the memory card 20.

여기에서, 상기 플래쉬 메모리(22)는 NAND형이다. 도 3에 나타낸 것 처럼, 이 플래쉬 메모리(22)는 2개의 부트영역, 복수의 블록에서 만들어진 데이터 영역, 복수의 블록 집합관리 정보(집합관리 파일)를 갖는 영역를 포함하는 복수의 블록으로 구성되어 있다.Here, the flash memory 22 is NAND type. As shown in Fig. 3, the flash memory 22 is composed of a plurality of blocks including two boot areas, a data area made up of a plurality of blocks, and an area having a plurality of block set management information (set management files). .

부트영역은 부트블록과 부트블록 백업을 각각 1개의 블록씩 포함한다. 부트블록은 최초에 독출된 데이터, 예에서, 블록을 인식하기 위한 데이터와 집합관리 정보를 포함하는 블록의 어드레스를 포함한다. 게다가, 부트블록 백업은 예에서, 부트블록이 파손되는 경우에 사용하도록 부트블록을 복사한 것이다.The boot area includes one block each of a boot block and a boot block backup. The boot block includes the address of the block that initially contains the data read, for example, data for recognizing the block and aggregate management information. In addition, the bootblock backup is, in the example, a copy of the bootblock for use in case the bootblock crashes.

데이터 영역은 화상 테이터와 음성 데이터와 같은 여러 종류의 데이터를 기억하는데 사용된다. 집합관리 정보를 포함한 영역에서는 억세스(access)하기 위해서 필요한 정보를 관리하기 위해 데이터를 구성한 집합관리 정보가 기억된다.The data area is used to store various kinds of data such as image data and audio data. In the area including the collective management information, the collective management information that forms the data for managing the information necessary for access is stored.

여기에서, 각 블록은 512 바이트의 주 데이터를 기억하는 주 데이터 영역과 16바이트의 용장영역으로 구성된 1페이지(=528바이트)가 소정의 수 페이지로 구성된다. 용장영역은 그 페이지의 기억 상태 등을 표시하는 분산관리 정보를 기억한다.In each block, one page (= 528 bytes) consisting of a main data area storing 512 bytes of main data and a redundant area of 16 bytes is composed of a predetermined number of pages. The redundant area stores distributed management information indicating the storage status of the page and the like.

각 페이지의 분산관리 정보를 나타내는 도 4는 블록 허가/불가 정보(1바이트), 블록 플래그(1바이트), 블록 최종 플래그(4바이트), 참조플래그(4비트), 관리 플래그(1바이트), 논리 어드레스(2바이트), 연결 어드레스(2바이트), 형식 예약(3바이트), 분산 정보 ECC(2바이트), 그리고 데이터 ECC(3바이트)를 포함한다.Fig. 4 showing distributed management information of each page shows block permission / non-availability information (1 byte), block flag (1 byte), block last flag (4 bytes), reference flag (4 bits), management flag (1 byte), Logical address (2 bytes), connection address (2 bytes), format reservation (3 bytes), distributed information ECC (2 bytes), and data ECC (3 bytes).

“블록 허가/불가 정보”는 블록이 사용 불가능한 상태인지를 식별하기 위한 정보이다. 예에서, 블록이 파손되고 사용이 불가능할 때에, “블록 허가/불가 정보”는 중복기재 되어 블록이 사용 불가능한 것을 나타낸다. “블록 플래그”는 블록에 기입되지 않은 데이터 즉, 사용되지 않은 블록을 표시하거나 또는 파일 선두로서 사용된 블록 또는 파일 선두 이외로 사용된 블록을 표시하거나 또는 소거 또는 재기록 때문에 이 블록이 불필요하게 될 때, 후에 소거 되도록 블록이 사용된 상태로 설정되는 것을 표시한다. “블록 최종 플래그”는 복수블록이 1개의 파일로 구성될 때 블록이 최종 블록인지를 표시한다. “블록 최종 플래그”가 블록이 최종 블록인 것을 표시할 때, “연결 어드레스”는 비록 지정된 것이라도 무효로 된다. “참조 플래그”후술하는 부가정보의 참조를 지정하는 플래그이다. 이 부가정보는 블록의 최후 페이지에 존재한다. “관리 플래그”는 1바이트의 정보이다. 1바이트 중에서 3개의 비트(비트 2 ∼ 0)는 집합관리 정보 테이블에 기억되고, 반면에 나머지 5비트는 집합관리 테이블에 기억되지 않지만 오류 정정 처리 등에 사용된다. "Block enable / disallow information" is information for identifying whether a block is in an unusable state. In an example, when a block is broken and unavailable, the "block grant / disallow information" is overwritten to indicate that the block is unavailable. The "block flag" indicates data not written in a block, that is, an unused block, a block used as a file head, or a block used outside the file head, or when this block becomes unnecessary due to erase or rewrite. Indicates that the block is set to the used state to be erased later. The "block final flag" indicates whether a block is the last block when a plurality of blocks are composed of one file. When the "block final flag" indicates that the block is the last block, the "connection address" is invalid even if specified. "Reference Flag" is a flag that specifies a reference of additional information described later. This additional information exists in the last page of the block. The "management flag" is 1 byte of information. Three bits (bits 2 through 0) of one byte are stored in the set management information table, while the remaining five bits are not stored in the set management table but are used for error correction processing and the like.

“논리 어드레스”는 블록의 논리 어드레스를 표시한다. “연결 어드레스”는 이 블록으로 연결된 블록의 논리 어드레스를 표시한다. 블록이 최종 블록으로 이미 구별될 때, “블록 최종 플래그”를 턴온하고, “연결 어드레스”에“0xffff”가 설정된다. 이 블록이 최종 블록인지를 구별할 수 없을 때, 논리 어드레스를 확보하고 “연결 어드레스”에 설정한다. 이 블록이 최종 블록이 될 때 중복기재가 실행되고 “블록 최종 플래그”는 턴온된다. “형식 예약”은 예약 영역으로서 사용하는 3바이트의 정보이다. “분산정보 ECC”는 “관리 플래그”, “논리 어드레스”, “연결 어드레스” 및 “형식 예약”의 오류를 정정하는데 사용된다. “데이터 ECC”는 분산관리 정보 이외의 데이터 오류를 정정하는데 사용된다."Logical address" indicates the logical address of the block. "Connection address" indicates the logical address of the block connected to this block. When the block is already distinguished as the last block, the "block final flag" is turned on and "0xffff" is set in the "connection address". When it is impossible to tell whether this block is the last block, a logical address is secured and set to the "connection address". When this block becomes the last block, the overlap is executed and the “block final flag” is turned on. "Form reservation" is 3 bytes of information used as a reservation area. "Distributed information ECC" is used to correct errors in "management flag", "logical address", "connection address" and "format reservation". "Data ECC" is used to correct data errors other than distributed management information.

각 블록의 최후 페이지 상의 분산관리 정보는 부가정보로서 사용된다. 부가정보는, 도 5에 나타낸 것 처럼, 중복기재 영역과 부가관리 정보영역을 포함한다. 중복기재 영역은 상기 분산관리 정보와 동일하다. 부가관리 정보영역은 식별번호(1바이트), 유효 데이터 크기(2바이트) 그리고 형식 예약(5바이트)을 포함한다. “식별번호”는 동일한 논리 블록을 사용해서 갱신할 때 원래의 파일과 목적지를 식별하기 위해 파일을 중복기재하는데 사용된다. The distributed management information on the last page of each block is used as additional information. The additional information includes a redundant base area and an additional management information area, as shown in FIG. The redundant base area is the same as the above distributed management information. The additional management information area includes an identification number (1 byte), an effective data size (2 bytes), and a format reservation (5 bytes). The "identification number" is used to overwrite a file to identify the original file and the destination when updating using the same logical block.

새로운 논리 어드레스가 사용된 때에는, “0”이 기술되고, 갱신된 때에는 그 값이 증대된다. “유효 데이터 크기”는 블록 내의 유효 데이터의 크기를 표시한다. 예에서, 블록이 빈 영역이 없을 때에, “0xffff”로 기술되고 “참조 플래그”는 턴온되고, 블록의 유효한 데이터 크기 - 1를 기술한다.When a new logical address is used, "0" is described, and when updated, its value is increased. "Effective data size" indicates the size of valid data in the block. In the example, when the block has no free area, it is described as "0xffff" and the "reference flag" is turned on and describes the effective data size-1 of the block.

게다가, 집합관리 정보는 각 블록의 분산관리 정보에 의거해 구성된다. 도 6에 나타낸 것 처럼, 집합관리 정보는 플래쉬 메모리(22)의 각 블록에 있는 빈 영역을 검색하기 위한 시작위치정보를 포함하는 헤더와 비트 맵 테이블, 어드레스 변환테이블과 연결정보 테이블로 구성된다. 헤더는 OS 헤더, 파일헤드, 시스템 엔트리 목록, 및 시스템 정보를 포함한다.In addition, the set management information is constructed based on the distributed management information of each block. As shown in Fig. 6, the set management information is composed of a header, a bitmap table, an address conversion table and a connection information table, which contain start position information for searching for a free area in each block of the flash memory 22. The header includes an OS header, filehead, system entry list, and system information.

OS 헤더는, 도 7에 나타낸 것 처럼, 파일 ID(2바이트), 파일 번역(2바이트), 파일 크기(4바이트), 사용 블록수 (2바이트), 연결수(1바이트), 일자(8바이트), 제작자/모델코드(4바이트), 초기 등록 디렉토리번호(2바이트), 등록된 키워드 수(1바이트), 키워드 문자코드(1바이트), 키워드 문자열(32바이트), 파일 명(11바이트), 0 재고정 예약(4바이트), 개별 데이터(32바이트)를 갖는다.As shown in Fig. 7, the OS header includes file ID (2 bytes), file translation (2 bytes), file size (4 bytes), number of blocks used (2 bytes), number of connections (1 byte), and date (8). Byte), author / model code (4 bytes), initial registration directory number (2 bytes), number of registered keywords (1 byte), keyword character code (1 byte), keyword string (32 bytes), file name (11 bytes) ), 0 reserving reservations (4 bytes), and individual data (32 bytes).

“파일 크기”는 집합관리 파일의 전체 크기를 블록수로 표시한 것이다. “사용 블록수”는 플래쉬 메모리(22)에서 집합관리 파일을 사용하고 있는 블록수를 표시한다. “연결수”는 집합관리 파일이 다른 파일과 참조관계에 있을 때 연결수를 표시한다. “일자”는 집합관리 파일이 작성 또는 갱신된 날짜를 표시한다. “제작자/모델코드”는 메모리 카드(20)에 집합관리 파일을 기입한 장치의 제작자 및 모델을 표시한다. “초기 등록 디렉토리번호”는 기술없이 “0xffff”로 표시한다. “등록된 키워드 수”및“키워드 문자코드”는 “0”으로 설정한다. “파일 명”은 집합관리 파일의 관리를 실행할 때 사용되고, 메모리 카드(20)내에서는 사용되지 않는다. “0 재고정 예약”은 중복기재를 실행할 때 항상 0으로 설정한다. “개별 데이터”는 모두 “0”이다."File size" is the total size of the collective management file in blocks. "Number of blocks used" indicates the number of blocks using the set management file in the flash memory 22. "Connections" shows the number of connections when the collective management file is in reference to other files. "Date" indicates the date on which the administration file was created or updated. "Manufacturer / model code" indicates the manufacturer and model of the device which has written the collective management file on the memory card 20. "Initial registration directory number" is displayed as "0xffff" without description. "Registered keyword number" and "Keyword character code" are set to "0". The "file name" is used when performing management of the collective management file, and is not used in the memory card 20. FIG. “0 Reserve Reserve” is always set to 0 when executing duplicate entries. "Individual data" is all "0".

도 8에 나타낸 파일 헤더는 규격식별데이터(8바이트), 파일 규격식별데이터(8바이트), 파일 ID(2바이트), 파일 번역(2바이트), 응용 작성일(8바이트), 응용 갱신일(8바이트), 작성 제작자/모델코드(4바이트), 갱신 제작자/모델코드(4바이트), 0 재고정 예약(16바이트), 테이터 엔트리수(1바이트), 테이블수(1바이트), 문자코드(1바이트), 제목 문자열(128바이트) 및 예약 영역(48바이트)를 포함한다.The file header shown in Fig. 8 includes standard identification data (8 bytes), file standard identification data (8 bytes), file ID (2 bytes), file translation (2 bytes), application creation date (8 bytes), and application update date (8 bytes). ), Maker / model code (4 bytes), update maker / model code (4 bytes), 0 reserving reservation (16 bytes), number of data entries (1 byte), number of tables (1 byte), character code (1 Bytes), a title string (128 bytes), and a reserved area (48 bytes).

“규격식별테이터”는 플래쉬 메모리(22)가 소정의 규격에 따라 집합관리 파일을 기억하는 것을 표시한다. “파일 규격식별데이터 ”는 집합관리 파일이 상기 소정의 규격에 따라 작성된 것을 표시한다. “파일 ID”는 파일 종별을 표시하고, OS 헤더부와 동일한 것이다. “파일 번역”은 번역수를 표시한다. “응용 작성일”은 집합관리 파일을 작성한 날짜를 표시하지만 “응용 갱신일자”는 갱신일를 표시한다. “작성 제작자/모델코드”는 집합관리 파일를 작성한 제작자 및 모델명을 표시하지만, “갱신 제작자/모델코드”는 집합관리 파일을 갱신한 제작자 및 모델명을 표시한다. “데이터 엔트리수”는 후술하는 엔트리수를 표시하고, 그 수는 집합관리 파일에서 3개이다. “테이블수”는 테일블 데이터 영역에 있는 데이터 수를 표시하고, 여기에서 그 수는 “0”으로 표시한다. “문자코드”는 입력문자를 소정의 코드번호로 표시하고, 여기서는 “0xff”이다. “제목 문자열”은 제목 문자를 표시하고, 전부 “0xff”이다."Standard identification data" indicates that the flash memory 22 stores the set management file according to a predetermined standard. "File standard identification data" indicates that the set management file is created according to the predetermined standard. "File ID" indicates the file type and is the same as the OS header part. "File translation" indicates the number of translations. The "Application Date" shows the date the collective management file was created, while the "Application Update Date" shows the date of the update. "Creating producer / model code" shows the author and model name that created the collective management file, while "update producer / model code" indicates the producer and model name that updated the collective management file. "Number of data entries" indicates the number of entries described later, and the number is three in the set management file. "Number of tables" indicates the number of data in the tail data area, where the number is indicated as "0". "Character code" denotes an input character by a predetermined code number, here "0xff". "Title string" indicates the title character, and all are "0xff".

도 9에 나타낸 시스템 엔트리 목록은 시작 어드레스(4바이트), 데이터 크기(4바이트), 테이터 종별 ID(1바이트) 및 예약(3바이트)을 1조로 한 12바이트의 데이터(엔트리)가 4개의 집합으로 구성되어 있다. 즉, 시스템 엔트리 목록은 최대로 4개의 엔트리를 관리한다. 집합관리 파일은, 헤더를 소거하고, 비트 맵 테이블, 어드레스 번역 테이블 및 연결정보 테이블를 소유하고, 따라서, 이들 3개의 테이블를 관리 하기 위한 정보를 포함한다.The system entry list shown in Fig. 9 is a set of four sets of 12 bytes of data (entries) including a starting address (4 bytes), a data size (4 bytes), a data type ID (1 byte), and a reservation (3 bytes). It consists of. That is, the system entry list manages up to four entries. The set management file deletes the header, owns the bit map table, the address translation table and the connection information table, and thus contains information for managing these three tables.

예에서, 비트 맵 테이블에 대해, “시작 어드레스”는 비트 맵 테이블의 시작 위치의 어드레스를 표시하고, “데이터 크기”는 비트 맵 테이블에 필요한 블록수를 표시한다. “데이터 종별 ID”는 비트 맵 테이블를 표시하는 “0x03”을 기술한다. 어드레스 변환테이블 및 연결정보 테이블에 대해서도 동일한 구성이 사용된다.In the example, for the bit map table, the "start address" indicates the address of the start position of the bit map table, and the "data size" indicates the number of blocks required for the bit map table. "Data type ID" describes "0x03" which indicates a bitmap table. The same configuration is used for the address conversion table and the connection information table.

도 10에 나타낸 시스템 구성은 공(empty)블록검색위치(2바이트) 및 예약영역(94바이트)를 포함한다. “공블록검색위치”는 공블록의 검색 위치를 기억하기 위해서 제공된다.The system configuration shown in Fig. 10 includes an empty block search position (2 bytes) and a reserved area (94 bytes). The "blank block search position" is provided for storing the search position of the blank block.

반면에, 도 11에 나타낸 것 처럼, 비트 맵 테이블은 블록 단위로 플래쉬 메모리(22)의 사용 상태를 관리하는데 사용되고 블록 관리를 위해서 분산정보와 다른 선두 정보를 포함한다. 구체적으로, 도 11에 나타낸 것 처럼, 비트 맵 테이블은 블록의 어드레스 순으로, 허가/불가(1비트), 참조 플래그(1비트), 시스템 플래그(1비트), 판독 전용(1비트) 및 표시(1비트)로 구성된 8비트의 정보를 포함한다.On the other hand, as shown in Fig. 11, the bit map table is used to manage the usage state of the flash memory 22 in units of blocks and includes distributed information and other head information for block management. Specifically, as shown in Fig. 11, the bitmap table is in the order of the block address in order of allow / disable (1 bit), reference flag (1 bit), system flag (1 bit), read only (1 bit), and display. Contains 8 bits of information consisting of (1 bit).

“허가/불가”, “블록 플래그”,“블록 최종 플래그”는 분산관리 정보의 “블록 허가/불가 정보”,“블록 플래그”,“블록 최종 플래그”와 동일하다. 즉, “허가/불가”는 블록이 사용 가능한지를 표시한다. “블록 플래그”는 블록이 미사용인지, 선두 블록으로서 사용되었는지, 선두 블록외로 사용되었는지, 사용 및 소거 대기를 표시한다. “블록 최종 플래그”는 1개의 파일에서 블록이 다른 블록에 연속되는지 또는 최종인지를 표시한다. “참조 플래그”는 부가정보가 참조된 항목을 포함하는지를 표시한다. “시스템 플래그”는 블록이 일반적인 적용용인지 또는 시스템용 블록인지를 표시한다. “판독 전용”은 독출/기입이 가능한 블록인지 또는 독출 전용 블록인지를 표시한다. “표시”는 블록이 일반적이 블록인지 또는 표시용 블록인지를 표시하고, 표시용인 경우에, 지정된 분산관리 정보의 참조를 표시한다.The "permit / disallow", "block flag" and "block final flag" are the same as the "block permit / disallow information", "block flag" and "block final flag" of the distributed management information. That is, "permit / disallow" indicates whether the block is available. The "block flag" indicates whether a block is unused, used as a leading block, used outside the leading block, and waiting for use and erasure. The "block final flag" indicates whether a block is contiguous or final in another file in one file. The "reference flag" indicates whether the additional information includes the referenced item. The "system flag" indicates whether the block is for general application or for system use. "Read only" indicates whether the block is read / writeable or read only. "Display" indicates whether the block is generally a block or a display block, and when it is for display, indicates a reference to the designated distributed management information.

도 12에 나타낸 어드레스 변환테이블의 구성은 블록의 논리 어드레스 순으로, 각 블록의 물리 어드레스를 포함한다. 즉, 어드레스 변환테이블에서, 각 블록의 분산관리 정보에 기입된 논리 어드레스에 대응 되도록 블록 물리 어드레스가 기술된다. 물리 어드레스와 논리 어드레스의 변환을 이괄해서 관리 할 수 있으며, 사용하지 않는 블록의 물리 어드레스에는 “0xffff”로 기술된다.The configuration of the address conversion table shown in Fig. 12 includes the physical addresses of each block in the order of the logical addresses of the blocks. That is, in the address conversion table, the block physical address is described so as to correspond to the logical address written in the distribution management information of each block. The conversion of the physical address and the logical address can be managed collectively. The physical address of an unused block is described as "0xffff".

도 13에 나타낸 연결정보 테이블의 구성은, 블록 논리 어드레스 순으로, “연결 논리 어드레스”로서 각 블록에 대응하는 분산관리 정보의 연결 어드레스를 포함한다. “연결 논리 어드레스”는 최종 블록인 경우에는 “0xffff”로서 기술되고, 논리 어드레스가 미사용인 경우에는 “0x0000”로 기술된다. 게다가, 논리 어드레스는 루트 디렉토리용으로 전용되고 이것에 대응하는 연결은 금지된다.The structure of the connection information table shown in FIG. 13 includes a connection address of distributed management information corresponding to each block as a "connection logical address" in order of block logical addresses. The "link logical address" is described as "0xffff" in the case of the last block, and "0x0000" in the case of the unused logical address. In addition, the logical address is dedicated for the root directory and the corresponding connection is prohibited.

상기 구성을 갖는 메모리 카드 시스템(1)에 있어서, 호스트 컴퓨터(10)의 CPU(17)가 기동될 때, 도 14에 나타낸 것 처럼, CPU(17)는 메모리 카드(20)의 플래쉬 메모리(22)에서 부트 블록의 정보를 독출하고 집합관리 정보가 포함되어 있는지를 판단한다(단계 ST1 및 단계 ST2). In the memory card system 1 having the above configuration, when the CPU 17 of the host computer 10 is started up, as shown in FIG. 14, the CPU 17 stores the flash memory 22 of the memory card 20. ), The boot block information is read out and it is determined whether the set management information is included (step ST1 and step ST2).

이 과정에서, 메모리 카드(20) 또한 실질적으로 기동되지만, 여기에서는 호스트 컴퓨터(10)의 처리에 따라서 설명한다.In this process, the memory card 20 is also substantially started up, but it is explained here in accordance with the processing of the host computer 10.

CPU(17)는 집합관리 정보가 포함된 것으로 판단되면, 플래쉬 메모리(22)에서 집합관리 파일을 RAM(12)에 독출한다(단계 ST3). 게다가, CPU(17)는 독출된 집합관리 정보가 유효한지를 판단한다(단계 ST4). 집합관리 정보가 유효한 것으로 판단되면, CPU(17)는 메모리 관리로 사용되도록 RAM(12) 내의 집합관리 테이블를 구축한다(단계 ST5).If it is determined that the set management information is included, the CPU 17 reads the set management file from the flash memory 22 to the RAM 12 (step ST3). In addition, the CPU 17 judges whether the read out set management information is valid (step ST4). If it is determined that the set management information is valid, the CPU 17 builds a set management table in the RAM 12 to be used for memory management (step ST5).

따라서, 호스트 컴퓨터(10)의 CPU(17)는, 기동시에 메모리 카드(20)의 집합관리 정보에 오류가 포함되지 않으면, 플래쉬 메모리(22)에 있는 데이터의 관리를 실행하기 위해 집합관리 정보를 독출할 수 있으며, 기동 후 단시간 안에 고속처리를 실행할 수 있다.Therefore, when the CPU 17 of the host computer 10 does not contain an error in the set management information of the memory card 20 at startup, the CPU 17 of the host computer 10 executes the set management information in order to execute management of data in the flash memory 22. Can read and execute high-speed processing within a short time after startup.

반면에, 단계(ST2)에 있어서, CPU(17)가 집합관리 정보가 포함되지 않은 것으로 판단된 경우, 또는 단계(ST4)에 있어서, 집합관리 정보가 유효하지 않은 것으로 판단된 경우, CPU(17)는 기억수단 내에 집합관리 정보 테이블을 구축함으로써 집합관리 정보를 구성하도록 각 블록의 분산관리 정보영역에 기억된 분산관리 정보를 수집한다(단계 ST6).On the other hand, in step ST2, when the CPU 17 determines that the set management information is not included or in step ST4, when it is determined that the set management information is not valid, the CPU 17 ) Collects the distributed management information stored in the distributed management information area of each block so as to construct the collective management information by constructing the collective management information table in the storage means (step ST6).

구체적으로, 단계(ST6)는 도 15에 나타낸 서브루틴 처리를 실행한다. 호스트 컴퓨터(10)의 CPU(17)는 집합관리 정보 기억용 메모리 테이블를 초기화 하고 부트 블록의 초기 불량어드레스를 비트 맵 테이블에 사용 불가로서 등록하며(단계 ST11), 부트 블록 이전의 블록도 사용 불가능한 것으로서 등록한다(단계 ST12). 부트 블록 이후의 블록을 순서대로 체크하고 모든 블록의 체크가 종료 되었는지를 판단한다(단계 ST13).Specifically, step ST6 executes the subroutine processing shown in FIG. The CPU 17 of the host computer 10 initializes the set management information storage memory table and registers the initial bad address of the boot block as unavailable in the bitmap table (step ST11), and blocks before the boot block are also unavailable. It registers (step ST12). Blocks after the boot block are checked in order, and it is determined whether all blocks have been checked (step ST13).

모든 블록의 체크가 종료되지 않은 것으로 판단되면, CPU(17)는 1 블록의 분산관리 정보를 플래쉬 메모리에서 독출하고 그것을 RAM(12)에 기억한다(단계 ST14). 이 후에, 독출된 분산관리 정보에 오류가 포함 되었는지를 판단한다(단계 ST15). 만약 오류가 발견되면, 블록에서 발생된 오류를 비트 맵 테이블에 등록한다(단계 ST16).If it is determined that the checking of all blocks has not been completed, the CPU 17 reads out one block of distributed management information from the flash memory and stores it in the RAM 12 (step ST14). Thereafter, it is determined whether an error is included in the read distributed management information (step ST15). If an error is found, the error generated in the block is registered in the bitmap table (step ST16).

게다가, 독출된 분산관리 정보에 오류가 포함되지 않은 것으로 판단되면, CPU(17)는 비트 맵 테이블에 분산관리 정보의 관리 플랫(flat)을 등록하고, 어드레스 변환테이블에 대응하는 블록의 물리 어드레스를 기술하고, 연결정보 테이블의 논리 어드레스에 대응하는 연결정보를 기술한다(단계 ST17). 따라서, 블록의 분산관리 정보의 내용은 비트 맵 테이블, 어드레스 변환테이블 및 연결정보 테이블에 기술된다. 게다가, CPU(17)는 이중 논리 어드레스 또는 목적지가 없는 연결 어드레스가 포함되었는지도 체크한다(단계 ST17).In addition, if it is determined that an error is not included in the read distributed management information, the CPU 17 registers a management flat of the distributed management information in the bitmap table and sets the physical address of the block corresponding to the address conversion table. The connection information corresponding to the logical address of the connection information table is described (step ST17). Therefore, the contents of the distribution management information of the block are described in the bitmap table, address conversion table and connection information table. In addition, the CPU 17 also checks whether a dual logical address or a connection address without a destination is included (step ST17).

CPU(17)는 상기 단계(ST13 ∼ ST15) 및 (ST17)의 처리에 의해분산관리 정보의 내용을 연결정보 테이블, 어드레스 변환테이블, 비트 맵테이블 기술한 후에는 비트 맵 테이블 등에 다른 블록의 분산관리 정보의 내용을 기술하기 위해 단계(ST13)로 되돌아 온다. 모든 블록의 분산관리 정보의 독출이 종료되면, 즉 모든 블록의 체크가 종료되면(단계 ST13), CPU(17)는 RAM(12)에 집합관리 파일을 구축하기 위해 비트 맵 테이블, 어드레스 변환테이블 및 연결정보 테이블로 구성된 데이터에 512바이트의 헤더를 부가하고 집합관리 정보의 구축을 종료한다. 따라서, 집합관리 정보가 없고, 집합관리 정보가 유효하지 않을 때 분산관리 정보에서 집합관리 파일이 구축된다. After the CPU 17 describes the contents of the dispersion management information by the processing of the above steps ST13 to ST15 and ST17, the connection information table, address conversion table, and bitmap table are described. The process returns to step ST13 to describe the content of the information. When the reading of the distributed management information of all the blocks is finished, that is, when the checking of all the blocks is finished (step ST13), the CPU 17 performs a bitmap table, an address conversion table and an address to construct a set management file in the RAM 12. A header of 512 bytes is added to the data composed of the connection information table, and the construction of the group management information is finished. Therefore, when there is no set management information and the set management information is not valid, the set management file is constructed from the distributed management information.

이때에, CPU(17)는 전원 오프와 같이 소정의 계산처리를 실행하지 않을 때 1주기동안 플래쉬 메모리(22)의 집합관리 정보영역에 집합관리 정보로서 RAM(12)에 집합관리 정보 테이블를 재 기억한다.At this time, the CPU 17 re-stores the set management information table in the RAM 12 as the set management information in the set management information area of the flash memory 22 for one period when the predetermined calculation processing such as power off is not executed. do.

따라서, CPU(17)는 플래쉬 RAM(12)에 기억된 집합관리 정보에 의거해 플래쉬 메모리(22)로 데이터의 관리를 실행하고 데이터의 독출 또는 기입을 용이하게 그리고 고속으로 실행할 수 있다. 게다가, 집합관리 정보가 없거나 또는 집합관리 정보가 유효하지 않을 때, 관리용으로 사용된 집합관리 정보를 구축하기 위해 플래쉬 메모리(22)에서 분산관리 정보를 독출할 수 있다. 따라서, 분산관리 정보가 파손되더라도 데이터 관리를 실행할 수 있고 신뢰성을 높일 수 있다.Therefore, the CPU 17 can perform data management with the flash memory 22 based on the set management information stored in the flash RAM 12, and can easily read and write data at high speed. In addition, when there is no set management information or when the set management information is not valid, the distributed management information can be read out from the flash memory 22 to construct the set management information used for management. Therefore, even if the distributed management information is damaged, data management can be executed and reliability can be improved.

게다가, 비트 맵 테이블을 구축함으로써, CPU(17)는 모든 블록의 분산관리 정보의 검색없이 집합관리 정보의 비트 맵 테이블에 의거해 사용 불가능한 블록을 인식할 수 있고, 보다 고속으로 데이터의 기입을 실행할 수 있다. 게다가, 각 블록이 선두블록인지 또는 중간 블록인지 또는 데이터가 포함되지 않은 블록인지 알 수 있다. 이것은 또한 파일의 기입 또는 독출을 고속으로 실행할 수 있다.In addition, by constructing the bitmap table, the CPU 17 can recognize blocks that are not available based on the bitmap table of the group management information without retrieving the distributed management information of all the blocks, and execute writing of data at a higher speed. Can be. In addition, it is possible to know whether each block is a leading block, an intermediate block, or a block containing no data. This can also perform writing or reading of a file at high speed.

게다가, 예에서 어드레스 변환테이블을 구축함으로써, CPU(17)는 논리 어드레스에서 물리 어드레스를 고속으로 실행하고, 플래쉬 메모리(22)의 억세스 시간을 단축할 수 있다.In addition, by building the address conversion table in the example, the CPU 17 can execute the physical address at a high speed at the logical address, and shorten the access time of the flash memory 22.

게다가, 연결정보 논리 어드레스를 구축함으로써, CPU(17)는 파일을 구성하는 블록을 용이하게 인식할 수 있고 복수의 블록으로 구성된 파일을 고속으로 독출할 수 있다.In addition, by establishing the connection information logical address, the CPU 17 can easily recognize the blocks constituting the file and can read a file composed of a plurality of blocks at high speed.

다음, 메모리 카드(20)에 화상 데이터를 기입하는 CPU(17)의 처리에 대해서 도 16을 참조해서 설명한다.Next, a process of the CPU 17 for writing image data to the memory card 20 will be described with reference to FIG. 16.

플래쉬 메모리(22)에 새로운 데이터를 기입할 때 또는 플래쉬 메모리(22)에서 데이터를 소거할 때, CPU(17)는 RAM(12)에 기억된 집합관리 정보가 유효한지를 판단한다(단계 ST21). 구체적으로, 집합관리 정보의 일부분이 새로운 데이터에 대응하는 분산관리 정보에 의거해 변경할 필요가 있는지를 판단한다.When writing new data into the flash memory 22 or erasing data from the flash memory 22, the CPU 17 determines whether the set management information stored in the RAM 12 is valid (step ST21). Specifically, it is determined whether a part of the collective management information needs to be changed based on the distributed management information corresponding to the new data.

집합관리 정보가 유효한 것으로 판단되면, CPU(17)는 RAM(12)에 있는 집합관리 정보를 무효로 하는 처리를 실행하고(단계 ST22) 플래쉬 메모리(22)에 새로운 화상 데이터를 기입하거나 또는 이미 기억된 화상 데이터의 소거와 같은 데이터의 변경 처리를 실행한다(단계 ST23). 집합관리 정보가 단계(ST21)에서 유효하지 않은 것으로 판단되면, 데이터 기입 등의 변경 처리를 행한다(단계 ST23).If it is determined that the set management information is valid, the CPU 17 executes a process of invalidating the set management information in the RAM 12 (step ST22) and writes new image data into the flash memory 22 or already stores it. The process of changing data such as erasing the image data thus obtained is executed (step ST23). If it is determined that the set management information is invalid in step ST21, a change process such as data writing is performed (step ST23).

CPU(17)는 화상 데이터 등이 소거된 블록의 분산관리 정보 또는 새롭게 기입된 화상 데이터에 대응하는 분산관리 정보에 의거해 RAM(12)에 있는 집합관리 정보의 일부를 갱신한다(단계 ST24).The CPU 17 updates a part of the set management information in the RAM 12 based on the distributed management information of the block from which the image data and the like have been erased or the distributed management information corresponding to the newly written image data (step ST24).

전원 오프 직전 등의 계산 처리 종료에서, CPU(17)는 RAM(12)에 기억된 집합관리 정보를 플래쉬 메모리(22)의 집합관리 정보 기억영역에 기입한다(단계 ST25).At the end of the calculation processing such as immediately before the power-off, the CPU 17 writes the set management information stored in the RAM 12 into the set management information storage area of the flash memory 22 (step ST25).

즉, 데이터 기입 또는 소거가 집합관리 정보에서 변경이 발생하는 경우, CPU(17)는 기입된 데이터 등의 분산관리 정보에 의거해 집합관리 정보를 갱신하고 집합관리 정보는 항상 분산관리 정보와 일치하고, 따라서 화상 데이터의 신뢰성을 확보할 수 있다. 게다가, 적당한 때에 플래쉬 메모리(22)에 집합관리 정보를 기입함으로써, 다른 계산 처리를 우선적으로 행할 수 있고, 따라서 전체적인 계산 처리속도를 향상할 수 있다.That is, when data writing or erasing changes in the collective management information, the CPU 17 updates the collective management information based on the distributed management information such as the written data, and the collective management information always coincides with the distributed management information. Therefore, the reliability of the image data can be secured. In addition, by writing the group management information to the flash memory 22 at a suitable time, other calculation processing can be performed preferentially, thereby improving the overall calculation processing speed.

본 실시예의 상기 메모리 카드(20)는, 예에서, 합성수지로 만들어진 평면의 얇은 카드 형태로 도 17에 나타낸 것과 같은 외형적인 구성을 갖는다.The memory card 20 of this embodiment has an external configuration as shown in Fig. 17 in the form of a flat thin card made of synthetic resin, for example.

상기 메모리 카드(20)에서, 예를 들면, 종축방향에 있는 1단(2a)측에 외부단자(도시하지 않은)가 형성 되기 때문에 도면에서 화살표 M으로 표시된 방향으로 메모리 카드(20)를 전자 장치(도시하지 않은)에 장착할 수 있다.In the memory card 20, for example, since an external terminal (not shown) is formed at one end 2a in the longitudinal axis direction, the memory card 20 is moved in the direction indicated by the arrow M in the drawing. (Not shown) can be attached.

게다가, 상기 메모리 카드(20)에서, 예를 들면, 장착 방향과 평행한 일측에 로크(lock) 컷-오프(cut-off)부를 형성할 수 있기 때문에, 메모리 카드(20)를 전자장치(도시하지 않은)를 장착할 때, 전자장치에서 메모리 카드(20)의 탈락을 방지 하도록 전자 로크 컨벡스(lock convex)가 로크 컷-오프부와 맞물려 있다.In addition, in the memory card 20, for example, a lock cut-off portion can be formed on one side parallel to the mounting direction. , The electronic lock convex is engaged with the lock cut-off portion to prevent the memory card 20 from falling off from the electronic device.

즉, 본 실시예의 메모리 카드(20)는 기억수단으로서 플래쉬 메모리(22)의 분산관리 기억영역에 기억된 분산관리 정보와 집합관리 기억영역에 기억된 집합관리 정보 양자를 갖는다. 본 발명의 데이터 관리 방법에 의거해 이들 정보를 관리함으로써, 집합관리 정보에서 오류를 검출할 때에는, 호스트 컴퓨터(10)는 분산관리 정보 기억영역에 기억된 각 분산관리 정보를 검색하여 집합관리 정보를 구축해서 사용하고, 집합관리 정보가 파손되더라도, 집합관리 정보를 쉽게 구축할 수 있다. 따라서, 전체 데이터의 독출 및/또는 기입이 실행되지 않는 위험이 없다. 즉, 시스템이 파손에 강하다.That is, the memory card 20 of this embodiment has both the distributed management information stored in the distributed management storage area of the flash memory 22 and the set management information stored in the set management storage area as storage means. By managing these information in accordance with the data management method of the present invention, when detecting an error in the collective management information, the host computer 10 retrieves each distributed management information stored in the distributed management information storage area and retrieves the collective management information. It is possible to construct and use the collection management information easily even if the collection management information is damaged. Therefore, there is no risk that the reading and / or writing of the entire data is not executed. That is, the system is resistant to breakage.

게다가, 메모리 카드(20)의 플래쉬 메모리(22)내의 분산관리 정보 기억 영역에 기억된 분산관리 정보에 소거 및 기입과 같은 변환이 발생하는 경우에는 호스트 컴퓨터(10)는 분산관리 정보 기억영역에 기억된 변경한 분산관리 정보에 의거해 집합관리 정보를 갱신하고 그리고 메모리 카드(20)의 플래쉬 메모리(22)내의 집합관리 정보 기억영역에 갱신된 정보를 기억한다. 따라서, 메모리 카드(20)내에 분산관리 정보와 집합관리 정보 사이에 차이가 없다.In addition, when a conversion such as erasing and writing occurs in the distributed management information stored in the distributed management information storage area in the flash memory 22 of the memory card 20, the host computer 10 stores the stored information in the distributed management information storage area. The collective management information is updated based on the changed distributed management information, and the updated information is stored in the collective management information storage area in the flash memory 22 of the memory card 20. Therefore, there is no difference between the distributed management information and the collective management information in the memory card 20.

게다가, 다음에 호스트 컴퓨터(10)를 기동할 때, 호스트 컴퓨터는 집합관리 정보로서 메모리 카드에 재 구축 및 재 기억을 검색하고, 호스트 컴퓨터(10)의 기동이 단시간에 가능하고, 고속처리가 가능하다.In addition, the next time the host computer 10 is started, the host computer retrieves the reconstruction and re-memory into the memory card as the collective management information, and the startup of the host computer 10 can be performed in a short time, and high-speed processing is possible. Do.

메모리 카드(20)에 있는 호스트 컴퓨터(10)에 의해 집합관리 정보의 재 기억 처리가 중단 되는 경우에는, 집합관리 정보가 존재하지 않는 것으로 간주한다. 이 경우에, 다음 호스트 컴퓨터(10)의 기동시에, 집합관리 정보가 존재하지 않는 것으로 간주해서 처리를 실행한다.When the re-storage processing of the set management information is interrupted by the host computer 10 in the memory card 20, it is assumed that the set management information does not exist. In this case, when the next host computer 10 starts up, it is assumed that there is no set management information and processing is executed.

게다가, 분산관리 정보가 메모리 카드(20)에서 파손되는 경우에는, 블록에 대응하는 데이터 독출 및/또는 기입 수행이 불가능 하지만, 메모리 카드(20) 전체로서의 손상은 최소로 된다.In addition, when the distributed management information is damaged in the memory card 20, data read and / or write execution corresponding to the block is impossible, but damage to the entire memory card 20 is minimized.

상기는 시리얼 인터페이스에 대한 메모리 카드의 경우를 설명한 것 이지만, 본 발명에 따른 데이터 관리 장치는 패럴 인터페이스용으로 도 사용할 수 있다.Although the above has described the case of the memory card for the serial interface, the data management apparatus according to the present invention can also be used for the parallel interface.

본 발명에 관계된 데이터 관리장치는 관리수단이 집합관리 정보가 유효한가를 기동시에 판단하고, 집합관리 정보가 유효할 때에는 집합관리 정보에 의거해 데이터를 관리하고, 집합관리 정보가 유효하지 않을 경우에는 분산관리 정보에 의거해 데이터를 관리함으로써 기동 후에 기억수단에 기억되어 있는 데이터의 관리를 실행할 때, 보다 고속의 데이터 처리를 실행할 수 있다. 또한 상기 분산관리 정보가 유효하지 않을 때에는 분산관리 정보를 독출해서 데이터를 관리할 수 있기 때문에, 집합관리 정보가 파손된 경우에도 데이터 관리의 신뢰성을 확보할 수 있다.In the data management apparatus according to the present invention, the management means judges at the start whether the collective management information is valid, manages the data based on the collective management information when the collective management information is valid, and distributes when the collective management information is not valid. By managing the data based on the management information, it is possible to execute faster data processing when the data stored in the storage means is managed after startup. In addition, when the distributed management information is not valid, data can be managed by reading the distributed management information, so that reliability of data management can be ensured even when the set management information is damaged.

또한 본 발명에 관계된 데이터 관리방법은 집합관리 정보가 유효한가를 기동시에 판단하고, 집합관리 정보가 유효할 때에는 집합관리 정보에 의거해 데이터를 관리하고 집합관리 정보가 유효하지 않을 때에는 분산관리 정보에 의거해 데이터를 관리함으로써 기동 후에 데이터의 관리를 실행할 때, 보다 고속의 데이터를 관리할 수 있다. 또한 상기 분산관리 정보가 유효하지 않을 때에는 분산관리 정보를 독출해서 데이터를 관리할 수 있기 때문에, 집합관리 정보가 파손된 경우에도 데이터 관리의 신뢰성을 확보할 수 있다.Further, the data management method according to the present invention determines whether the set management information is valid at startup, manages data based on the set management information when the set management information is valid, and based on distributed management information when the set management information is invalid. By managing the data, data can be managed at higher speed when data management is performed after startup. In addition, when the distributed management information is not valid, data can be managed by reading the distributed management information, so that reliability of data management can be ensured even when the set management information is damaged.

본 발명에 관계된 기억매체는, 소정의 기억 단위마다 구성된 데이터 기억영역에 임의의 데이터를 기억하고, 분산관리 정보 영역에 상기 데이터를 소정의 기억 단위마다 관리하는 분산관리 정보를 기억하고, 집합관리 정보 기억영역에 상기 분산관리 정보에 대응하는 상기 데이터를 일괄해서 관리하는 집합관리 정보를 기억함으로써, 데이터를 관리 하기 위한 정보를 분산하든지 또는 1개로 통합 하기 때문에, 집합관리 정보가 파손된 경우에도 데이터 관리의 신뢰성을 확보하고 있다. The storage medium according to the present invention stores arbitrary data in a data storage area configured for each predetermined storage unit, stores distributed management information for managing the data for each predetermined storage unit in the distributed management information area, and sets management information. By storing collective management information for collectively managing the data corresponding to the distributed management information in a storage area, information for managing data is distributed or integrated into one, so that data management is performed even if the collective management information is damaged. To ensure reliability.

도 1은 본 발명에 따른 메모리 카드 시스템의 구성을 나타내는 블록도이다.1 is a block diagram showing the configuration of a memory card system according to the present invention.

도 2는 상기 메모리 카드 시스템에 있는 메모리 카드의 구체적인 구성을 나타내는 블록도이다.2 is a block diagram showing a specific configuration of a memory card in the memory card system.

도 3은 상기 메모리 카드에 있는 플래쉬 메모리의 블록구성을 설명한다.3 illustrates a block configuration of a flash memory in the memory card.

도 4는 상기 플래쉬 메모리에 있는 블록 1페이지에 대한 분산관리 정보의 내용을 설명한다.4 illustrates the contents of distributed management information for one page of blocks in the flash memory.

도 5는 부가정보로서 사용된 분산관리 정보의 내용을 설명한다.5 explains the contents of distributed management information used as additional information.

도 6은 집합관리 파일의 구성을 설명한다.6 illustrates the configuration of a set management file.

도 7은 상기 집합관리 파일에 있는 OS 헤더의 내용을 설명한다.7 illustrates the contents of the OS header in the set management file.

도 8은 상기 헤더에 있는 파일 헤더의 내용을 설명한다.8 illustrates the contents of the file header in the header.

도 9는 상기 헤더에 있는 시스템 엔트리 목록의 내용을 설명한다.9 illustrates the contents of the system entry list in the header.

도 10은 상기 헤더에 있는 시스템 정보의 내용을 설명한다.10 illustrates the contents of system information in the header.

도 11은 상기 집합관리 파일에 있는 비트 맵 테이블(bit map table)의 내용을 설명한다.11 illustrates the contents of a bit map table in the set management file.

도 12는 상기 집합관리 파일에 있는 어드레스 변환테이블의 내용을 설명한다.Fig. 12 explains the contents of the address conversion table in the set management file.

도 13은 상기 집합관리 파일에 있는 연결정보 테이블의 내용을 설명한다.13 explains the contents of the connection information table in the set management file.

도 14는 호스트컴퓨터(host computer)가 기동될 때의 처리를 설명하는 플로우차트이다.14 is a flowchart for describing processing when the host computer is started up.

도 15는 호스트컴퓨터가 기동될 때의 처리를 설명하는 플로우차트이다.15 is a flowchart for describing processing when the host computer is started up.

도 16는 데이터의 기입 또는 소거시의 처리를 나타내는 플로우차트이다.Fig. 16 is a flowchart showing processing at the time of writing or erasing data.

도 17은 본 발명에 따른 외관 사시도를 나타낸다.17 shows an external perspective view according to the present invention.

* 도면의 주요부분에 대한 부호설명* Explanation of symbols on the main parts of the drawings

1. 메모리카드 시스템 10. 호스트컴퓨터1. Memory card system 10. Host computer

12. RAM 17. CPU12.RAM 17.CPU

20. 메모리카드 21. 컨트롤 IC20. Memory Card 21. Control IC

22. 플래쉬 메모리22. Flash Memory

Claims (18)

소정의 기억 단위마다 구성된 데이터 기억 영역에 임의의 데이터를 기억하고, 분산관리 정보 영역에 상기 데이터를 소정의 기억 단위마다 관리하는 분산관리 정보를 기억하고, 집합관리 정보 기억영역에 상기 분산관리 정보에 대응하는 상기 데이터를 일괄해서 관리하는 집합관리 정보를 기억하는 기억수단과,Arbitrary data is stored in a data storage area configured for each predetermined storage unit, distributed management information for managing the data for each predetermined storage unit is stored in a distributed management information area, and the distributed management information is stored in a set management information storage area. Storage means for storing collective management information for collectively managing the corresponding data; 상기 집합관리 정보가 유효한지를 기동시에 판단하고, 상기 집합관리 정보가 유효한 것으로 판단되면 상기 집합관리 정보에 의거해 상기 데이터를 관리하고, 상기 집합관리 정보가 유효하지 않은 것으로 판단되면, 상기 분산관리 정보에 의거해 상기 데이터를 관리하는 관리수단과,It is determined at startup that the set management information is valid. If the set management information is determined to be valid, the data is managed based on the set management information. If it is determined that the set management information is invalid, the distributed management information. Management means for managing the data based on 를 포함하는 것을 특징으로 하는 데이터 관리장치.Data management apparatus comprising a. 제 1항에 있어서,The method of claim 1, 상기 집합관리 정보가 유효하지 않을 경우에, 상기 관리수단은 상기 분산관리 정보 기억영역에 기억된 상기 분산관리 정보에서 집합관리 정보를 구축하고, 구축된 집합관리 정보를 상기 기억수단에 기입하는 것을 특징으로 하는 데이터 관리장치.When the set management information is not valid, the management means constructs the set management information from the distributed management information stored in the distributed management information storage area, and writes the set management information into the storage means. Data management device. 제 1항에 있어서,The method of claim 1, 상기 기억수단의 상기 데이터 기억영역에 새로운 데이터가 기입됨으로써 상기 집합관리 정보의 일부에 변경이 발생할 때, 상기 기억수단으로 기입된 데이터의 분산관리 정보에 의거해 상기 집합관리 정보를 갱신하고, 상기 갱신된 집합관리 정보를 상기 기억수단에 기입하는 것을 특징으로 하는 데이터 관리장치.When a change occurs in a part of the set management information by writing new data in the data storage area of the storage means, the set management information is updated based on the distributed management information of the data written in the storage means, and the update is made. And write the collected set management information into the storage means. 제 3항에 있어서,The method of claim 3, wherein 상기 관리수단은 소정의 데이터 처리를 실행할 때, 상기 소정의 데이터를 종료한 후 상기 갱신한 집합관리 정보를 상기 기억수단에 기입하는 것을 특징으로 하는 데이터 관리장치.And the management means writes the updated set management information into the storage means after the predetermined data ends, when executing the predetermined data processing. 제 1항에 있어서,The method of claim 1, 상기 기억수단은 상기 소정의 기억단위 데이터의 기억 상태를 관리하기 위한 관리 플래그를 갖는 분산관리 정보와 상기 소정의 기억단위 관리 플래그로 구성된 집합관리 정보를 기억하는 것과,The storage means stores the distributed management information having a management flag for managing the storage state of the predetermined storage unit data and the set management information composed of the predetermined storage unit management flag; 상기 제어수단은, 상기 집합관리 정보에 의거해, 상기 데이터 기억영역의 데이터 기억 상태를 관리하는 것을 특징으로 하는 데이터 관리장치.And the control means manages a data storage state of the data storage area based on the set management information. 제 1항에 있어서,The method of claim 1, 상기 기억수단은 상기 소정 기억단위의 논리 어드레스를 갖는 분산관리 정보와 상기 소정 기억 단위의 물리 어드레스와 논리 어드레스에 대응하는 물리 어드레스의 집합에 의해 구성된 집합관리 정보를 기억하는 것과,The storage means stores the distribution management information having a logical address of the predetermined storage unit and the set management information constituted by a set of physical addresses and logical addresses corresponding to the predetermined storage unit; 상기 제어수단은, 상기 집합관리 정보에 의거해, 상기 소정 기억단위의 물리 어드레스와 논리 어드레스를 변환하고 상기 기억수단에 기억된 데이터를 독출하거나 또는 상기 기억수단에 데이터를 기입하는 것을 특징으로 하는 데이터 관리장치.The control means converts a physical address and a logical address of the predetermined storage unit based on the set management information, reads out data stored in the storage means, or writes data into the storage means. Management device. 상기 기억수단은 상기 소정 기억단위가 다른 기억단위에 연결되는 것을 표시하는 연결정보를 갖는 분산관리 정보와 상기 소정 기억단위의 연결정보 항목의 집합에 의해 구성된 집합관리 정보를 기억하는 것과,The storage means stores the distributed management information having connection information indicating that the predetermined storage unit is connected to another storage unit and the set management information constituted by a set of connection information items of the predetermined storage unit; 상기 제어수단은, 상기 집합관리 정보에 의거해, 상기 기억수단에서 상기 소정 기억단위가 연결된 데이터 기억영역에 기억된 데이를 독출하는 것을 특징으로 하는 데이터 관리장치.And the control means reads out the data stored in the data storage area to which the predetermined storage unit is connected in the storage means based on the set management information. 소정 기억단위 마다 구성된 데이터 기억영역에 임의의 데이터를 기억하는 단계와,Storing arbitrary data in a data storage area configured for each predetermined storage unit; 분산관리 정보 기억영역에 상기 데이터를 소정 기억단위 마다 관리하는 분산관리 정보를 기억하는 단계와,Storing distribution management information for managing the data for each predetermined storage unit in a distribution management information storage area; 집합관리 정보영역에 상기 분산관리 정보에 의거해 상기 데이터를 일괄해서 관리하는 집합관리 정보를 기억하는 단계와,Storing the collective management information for collectively managing the data on the basis of the distributed management information in the collective management information area; 상기 집합관리 정보가 유효한지를 기동시에 판단하는 단계와,Determining at start-up whether the set management information is valid; 상기 집합관리 정보가 유효한 것으로 판단되는 경우에 상기 집합관리 정보에 의거해 상기 데이터를 관리 하거나, 또는 상기 집합관리 정보가 유효하지 않은 것으로 판단되는 경우에 상기 분산관리 정보에 의거해 상기 데이터를 관리하는 단계를 포함하는 것을 특징으로 하는 데이터 관리방법.Managing the data based on the set management information when it is determined that the set management information is valid, or managing the data based on the distributed management information when it is determined that the set management information is invalid. Data management method comprising the step of. 제 8항에 있어서,The method of claim 8, 상기 집합관리 정보가 유효하지 않은 경우에, 상기 분산관리 정보 기억영역에 기억된 상기 분산관리 정보에서 집합관리를 구축하고,If the set management information is invalid, set management is made from the distributed management information stored in the distributed management information storage area, 구축된 집합관리 정보를 기억하는 것을 특징으로 하는 데이터 관리방법.A data management method comprising storing the set management information. 제 8항에 있어서,The method of claim 8, 상기 데이터 기억영역에 새로운 데이터를 기입함으로써, 상기 집합관리 정보 일부분에 변경이 발생할 때, 기입된 데이터의 분산관리 정보에 의거해 상기 집합관리 정보를 갱신하고,By writing new data in the data storage area, when a change occurs in a part of the set management information, the set management information is updated based on the distributed management information of the written data, 상기 갱신된 집합관리 정보를 기억하는 것을 특징으로 하는 데이터 관리방법.And storing the updated set management information. 제 9항에 있어서,The method of claim 9, 소정의 데이터를 처리하는 경우에, 상기 소정의 데이터 처리가 종료된 후에, 상기 집합관리 정보를 상기 기억수단에 기억하는 것을 특징으로 하는 데이터 관리방법.In the case of processing predetermined data, after said predetermined data processing is finished, said collection management information is stored in said storage means. 제 8항에 있어서,The method of claim 8, 상기 소정 기억단위 데이터의 기억 상태를 관리하기 위한 관리 플래그를 갖는 분사관리 정보와 상기 소정 기억단위의 관리 플래그로 구성된 집합관리 정보를 기억하는 단계와,Storing the group management information composed of the management flag having the management flag for managing the storage state of the predetermined storage unit data and the management flag of the predetermined storage unit; 상기 집합관리 정보에 의거해 상기 데이터 기억영역의 데이터 기억을 관리하는 단계를 포함하는 것을 특징으로 하는 데이터 관리방법.And managing data storage of the data storage area based on the set management information. 제 8항에 있어서The method of claim 8 상기 소정 기억단위의 논리 어드레스를 갖는 분산관리 정보와 소정 기억단위의 물리 어드레스와 대응하는 논리 어드레스가 집합되어 구성된 집합관리 정보를 기억하는 단계와,Storing distribution management information having a logical address corresponding to the logical address of the predetermined storage unit and a logical address corresponding to the physical address of the predetermined storage unit; 상기 집합관리 정보에 의거해, 상기 소정 단위의 논리 어드레스와 물리 어드레스를 변환하고 상기 기억수단에 기억된 데이터를 독출 또는 새로운 데이터를 기억하는 단계를 포함하는 것을 특징으로 하는 데이터 관리방법.Converting the logical address and the physical address of the predetermined unit based on the set management information, and reading out data stored in the storage means or storing new data. 제 8항에 있어서,The method of claim 8, 상기 소정 기억단위가 다른 기억단위에 연결된 것을 표시하는 연결정보를 갖는 분산관리 정보와 상기 소정 기억단위의 연결정보 항목이 집합되어 구성된 집합관리 정보를 기억하는 단계와,Storing distributed management information having connection information indicating that the predetermined storage unit is connected to another storage unit and the collection management information formed by collecting the connection information items of the predetermined storage unit; 상기 집합관리 정보에 의거해, 상기 소정 기억단위가 연결된 데이터 기억영역에 기억된 상기 기억수단에서 독출하는 단계를 포함하는 것을 특징으로 하는 데이터 관리방법.And reading out from the storage means stored in the data storage area to which the predetermined storage unit is connected, based on the set management information. 소정 기억단위 마다 구성된 데이터 기억영역에 임의의 데이터를 기억하고 그리고 집합관리 정보 기억영역에, 상기 분산관리 정보에 의거해 상기 데이터를 일괄 관리하는 분산관리 정보를 기억하는 것을 특징으로 하는 기억매체.And arbitrary data in a data storage area configured for each predetermined storage unit, and distributed management information for collectively managing the data on the basis of the distributed management information in the collective management information storage area. 제 15항에 있어서,The method of claim 15, 상기 소정 기억단위 데이터의 기억상태를 관리하기 위한 관리 플래그를 갖는 분산관리 정보와,Distributed management information having a management flag for managing a storage state of the predetermined storage unit data; 상기 소정 기억단위 관리 플래그의 집합으로 구성된 집합관리 정보를 기억하는 것을 특징으로 하는 기억매체.And a set management information comprising the set of the predetermined storage unit management flags. 제 15항에 있어서,The method of claim 15, 상기 소정 기억단위의 논리 어드레스를 갖는 분산관리 정보와,Distributed management information having a logical address of the predetermined storage unit; 상기 소정 기억단위의 물리 어드레스와 논리 어드레스에 대응하는 집합으로 구성된 집합관리 정보를 기억하는 것을 특징으로 하는 기억매체.And a set management information comprising a set corresponding to a physical address and a logical address of the predetermined storage unit. 제 15항에 있어서,The method of claim 15, 소정 기억단위가 다른 상기 소정 기억단위와 연결하는 것을 표시하는 연결정보를 갖는 분산관리 정보와,Distributed management information having connection information indicating that a predetermined storage unit is connected to another predetermined storage unit; 상기 소정 기억단위의 연결정보 항목의 집합으로 구성된 집합관리 정보를 기억하는 것을 특징으로 하는 기억매체.And a set management information comprising a set of connection information items of the predetermined storage unit.
KR10-1998-0022819A 1997-06-20 1998-06-17 Data management device, data management method and storage medium KR100513814B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP97-164730 1997-06-20
JP09267175A JP3072722B2 (en) 1997-06-20 1997-09-30 Data management device and data management method using flash memory and storage medium using flash memory
JP97-267175 1997-09-30

Publications (2)

Publication Number Publication Date
KR19990007069A KR19990007069A (en) 1999-01-25
KR100513814B1 true KR100513814B1 (en) 2005-12-16

Family

ID=65908914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0022819A KR100513814B1 (en) 1997-06-20 1998-06-17 Data management device, data management method and storage medium

Country Status (1)

Country Link
KR (1) KR100513814B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559956A (en) * 1992-01-10 1996-09-24 Kabushiki Kaisha Toshiba Storage system with a flash memory module

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559956A (en) * 1992-01-10 1996-09-24 Kabushiki Kaisha Toshiba Storage system with a flash memory module

Also Published As

Publication number Publication date
KR19990007069A (en) 1999-01-25

Similar Documents

Publication Publication Date Title
US6098077A (en) Data management apparatus, data management method, and recording medium
JP3718578B2 (en) Memory management method and memory management device
KR101091311B1 (en) Memory Device and Recording/Reproducing Apparatus Using the Same
US6477616B1 (en) Storage device, storage system, memory management method, recording medium, and computer data signal
KR100642529B1 (en) External storage apparatus and data processing method
US7472251B2 (en) Data storage apparatus detachably mounted to a host apparatus
US7849253B2 (en) Method for fast access to flash-memory media
US7681008B2 (en) Systems for managing file allocation table information
US7752412B2 (en) Methods of managing file allocation table information
US20050036372A1 (en) Data storing apparatus
US20140059273A1 (en) Host apparatus and memory device
KR100370893B1 (en) Flash memory unit and control method of flash memory
US8909684B2 (en) Semiconductor device with a plurality of write conditions and memory system
KR100513814B1 (en) Data management device, data management method and storage medium
JP3620241B2 (en) File management apparatus, file management method, recording medium, and file management system
JP3624647B2 (en) Storage device, data management device, data management system, data management method, file management device, recording medium, and file management system
JPH11120044A (en) Data processor, data processing method, data processing system and recording medium
JP3531438B2 (en) Data management device, data management method, data management system, and external storage device
JP4055712B2 (en) Data management apparatus, data management method, and data management system
JP2007018528A (en) Memory device, file management method, and recording and reproducing device
JP4003709B2 (en) File management apparatus, file management method, and file management system
KR20060069118A (en) Repairing method of a memory card

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120827

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130823

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee