KR100759700B1 - Mirror interfacing method for flash memory cards. - Google Patents

Mirror interfacing method for flash memory cards. Download PDF

Info

Publication number
KR100759700B1
KR100759700B1 KR1020050070930A KR20050070930A KR100759700B1 KR 100759700 B1 KR100759700 B1 KR 100759700B1 KR 1020050070930 A KR1020050070930 A KR 1020050070930A KR 20050070930 A KR20050070930 A KR 20050070930A KR 100759700 B1 KR100759700 B1 KR 100759700B1
Authority
KR
South Korea
Prior art keywords
memory
mirror
flash memory
memory card
file
Prior art date
Application number
KR1020050070930A
Other languages
Korean (ko)
Other versions
KR20050086389A (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
Application filed by 조창국 filed Critical 조창국
Priority to KR1020050070930A priority Critical patent/KR100759700B1/en
Publication of KR20050086389A publication Critical patent/KR20050086389A/en
Priority to PCT/KR2006/002903 priority patent/WO2007027016A1/en
Application granted granted Critical
Publication of KR100759700B1 publication Critical patent/KR100759700B1/en

Links

Images

Classifications

    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/0626Reducing size or complexity of storage systems
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Abstract

본 발명은 플래시메모리카드의 미러인터페이스 방법에 관한 것으로, The present invention relates to a mirror interface method of a flash memory card,

플래시메모리카드 제어부의 복잡한 기능들을 플래시메모리카드에 내장하지 않고 외부 호스트시스템에서 처리하도록 하기 위해 호스트시스템 내에 플래시메모리카드의 메모리부와 동일한 크기의 미러메모리를 만들고, 파일읽기, 파일수정 및 파일쓰기 등 파일처리 과정은 호스트시스템의 제어부를 통해 이 미러메모리에서 처리하고, 호스트시스템의 미러메모리와 플래시메모리카드의 메모리부 사이에는 장치단위의 일대일 읽기/쓰기만을 할 수 있게 한 것을 특징으로 한다.In order to process the complex functions of the flash memory card controller in the external host system without being embedded in the flash memory card, mirror memory of the same size as the memory part of the flash memory card is created in the host system, and file reading, file editing and file writing are performed. The file processing process is performed in the mirror memory through the control unit of the host system, and between the mirror memory of the host system and the memory unit of the flash memory card, only one-to-one read / write is possible.

플래시메모리의 메모리부와 호스트시스템의 미러메모리 간에 장치단위의 일대일 읽기/쓰기만을 수행하는 제어부만 플래시메모리카드에 내장함으로써 비싼 제어부를 단순화할 수 있어 플래시메모리카드를 싼 가격으로 만들 수 있을 뿐 아니라, 단순한 제어부를 보호하는 장치도 줄일 수 있어 박막형으로 만들 수 있는 효과가 있다. Only the controller that performs only one-to-one read / write unit of device between the memory unit of the flash memory and the mirror memory of the host system can be built into the flash memory card, thereby simplifying the expensive controller, thereby making the flash memory card inexpensive. The device to protect the simple control unit can also be reduced, making it possible to make a thin film.

플래시 메모리, 미러인터페이스, 인터페이스 Flash memory, mirror interface, interface        

Description

플래시메모리카드의 미러인터페이스 방법 {Mirror interfacing method for flash memory cards.}Mirror interfacing method for flash memory cards {Mirror interfacing method for flash memory cards.}

도1은 통상적인 플래시메모리카드의 파일 갱신방법.1 is a file updating method of a conventional flash memory card.

도2는 통상적인 플래시메모리카드의 조각난 파일 갱신 방법.Fig. 2 is a fragmented file update method of a conventional flash memory card.

도3은 본 발명의 플래시메모리카드와 호스트시스템의 미러인터페이스 모양3 is a mirror interface of the flash memory card and host system of the present invention.

도4는 본 발명의 플래시메모리카드의 미러인터페이스 방법 흐름도4 is a flowchart of a mirror interface method of the flash memory card of the present invention.

도5는 통상적인 플래시메모리카드의 배드섹터 처리방법.5 is a bad sector processing method of a conventional flash memory card.

본 발명은 플래시메모리카드의 미러인터페이스 방법에 관한 것이다.
NAND형 플래시메모리카드는 현재 대부분의 휴대용 미디어 장치의 데이터 저장수단으로 사용되고 있다. 그 용량은 1메가바이트(MB)부터 1기가바이트(GB)이상의 제품까지 나오고 있으며 앞으로 메모리 용량은 더 커질 것이며 데이터 전송속도 또한 더욱 빨라질 전망이다. 플래시메모리의 가격도 현재 1메가바이트 당 100원 이하이며 앞으로 그 가격은 더욱 내려갈 전망이다. 그에 비해 휴대용 미디어장치는 점차 고용량 고화질의 데이터정보를 요구하는 추세여서 플래시메모리카드의 데이터 전송속도는 더욱 빨라질 것이다. 전송속도를 올리기 위해서는 플래시 메모리의 제어부가 더욱 복잡해지고 제어부의 가격이 올라가게 마련이다. 제어부가 중요해지면 제어부 보호차원에서 두께도 두꺼워지게 된다. 하지만 모든 플래시메모리카드에서 빠른 속도와 내구성을 요구하는 것은 아니다. 제품의 라이프사이클동안 한두 번의 읽고/쓰기만 일어나는 경우에는 이런 복잡하고 비싼 제어부가 필요 없게 된다. 또한 제어부가 비싸지는 것은 저용량 플래시메모리카드의 활용을 저해하는 요인이다. 기존 플래시메모리카드 제품 중 스마트미디어카드(SMC)와 멀티미디어카드(MMC)는 시리얼 버스 인터페이스를 사용하고 제어부가 비교적 간단하여 생산 가격도 저렴하면서 두께도 얇다. 스마트미디어카드(SMC)의 경우 0.76mm, 멀티미디어카드(MMC)의 경우는 1.4 mm 정도였다. 그러나 이들 제품은 고용량, 고속의 플래시메모리카드로써는 한계가 있어 현재 생산이 줄고 있는 실정이다. 일회용, 또는 박막형의 플래시메모리카드인 경우, 가격과 두께를 줄이기 위해서는 가능하면 제어부에 마이크로 프로세서를 사용하는 대신 간단한 논리회로로 대체할 수 있어야 한다. 그러기 위해서는 복잡한 메모리 쓰기 기능을 간단히 하거나 어드레싱기능을 줄여야 한다.
NAND 플래시메모리는 블록단위의 지우기를 사용한다. 블록이란 다수의 섹터로 이루어진 단위이다. 섹터는 일반 하드디스크의 섹터개념과 같으며 현재 플래시메모리카드에는 대부분 512바이트(Byte)크기의 섹터를 사용한다. 블록단위의 지우기는 작업을 단순화하지만 작은 용량의 파일을 저장할 때는 현저히 속도를 떨어뜨린다. 현재 플래시메모리카드에 가장 많이 사용하는 도스용 FAT(File Allocation Table) 파일시스템에서 파일을 쓰기 할 때는 총4단계의 과정을 거친다. 먼저 시스템 영역에 작업이 3번 이루어지고 데이터 영역에 한번의 작업이 이루어진다. 그 과정을 자세히 설명하면, 첫 번째로 디렉토리섹터에 새로운 파일 이름을 적고, 두 번째로 데이터 영역에 파일 데이터를 복사하고, 세 번째로 파일 할당테이블(FAT)섹터에 파일위치, 즉 어드레스를 기록한 후 마지막으로 디렉토리섹터에 파일의 시작위치, 파일의 길이, 수정날짜 및 시간 등 파일정보를 기록한다. 다수의 파일쓰기 작업이 일어날 때는 상기한 네 단계의 작업이 파일마다 복합적으로 일어나므로 상당히 복잡하고 데이터 전송속도에 상당한 영향을 끼친다.
도1은 통상적인 플래시메모리카드의 파일 갱신방법이다. 16개의 섹터가 한 블록을 이루는 경우를 예로 들었다. 블록B1(1)의 섹터 S7,S8,S9에 기록된 파일F(3)를 갱신한다고 할 경우는 다음과 같다. 블록단위의 갱신이 이루어지므로 먼저 빈 새 블록B2(2)를 만든다. 기존블록 B1(1)의 섹터 S0~S6까지의 파일데이터를 새 블록 B2(2)의 N0~N6에 복사하고, 갱신할 파일F(3)의 데이터 D0~D2를 새 블록 B2(3)의 N7~N9에 복사하고 마지막으로 남은 데이터인 블록 B1(1)의 섹터 S10~S15를 새 블록 B2(2)의 섹터 N10~N15에 복사한다. 그런 다음 기존블록 B1(1)을 지워 빈 블록으로 만든다. 이때 파일F(3)의 정보를 앞에서 설명한대로 FAT섹터 및 디렉토리섹터에 갱신하는 작업도 일어난다. 문제는 파일F(3)뿐 아니라 기존블록 B1(1)에 들어있던 모든 파일이 새 블록 B2(2)로 옮겨갔으므로 관련된 모든 파일의 위치정보를 갱신해야 한다. 도2는 좀더 복잡한 경우이다. 도2는 하나의 파일F가 쪼개어져 세 개의 블록 B1,B2,B3에 각각 FP1,FP2,FP3만큼 저장되어 있는 경우이다. 파일 F를 갱신하면 오른편에 표시된 nB1,nB2,nB3처럼 새 블록들이 만들어진다. 파일F를 갱신하기 위해서는 세 개의 블록 B1,B2,B3 이 지워져야 하므로 파일 F뿐만 아니라 블록 B1,B2,B3에 포함되는 PA,PB,PC 부분에 들어 있는 모든 파일들을 재배치하고 재배치된 파일들의 위치정보를 모두 갱신해야 한다. 간단한 제어부인 경우는 파일하나가 갱신될 때마다 시스템영역에 있는 FAT섹터 와 디렉토리섹터를 갱신하도록 되어 있는데 그럴 경우 세 개의 블록에 들어 있는 전체파일들의 정보를 갱신하는데는 적잖은 작업이 일어나게 된다. 속도를 높이기 위해 관련된 모든 파일이 재배치 된 후 시스템영역에 위치정보를 갱신하는 작업을 한꺼번에 처리하는 방법을 사용하고 있는데 제어부가 고급화되는 이유가 된다. 또한 전송속도를 높이기 위해 내부 버퍼를 두는 경우가 있는데 이 또한 가격을 높이는 요인이 된다.
The present invention relates to a mirror interface method of a flash memory card.
NAND flash memory cards are currently used as data storage means of most portable media devices. Its capacity ranges from 1 megabyte (MB) to more than 1 gigabyte (GB) of products, and memory capacity will be larger in the future, and data transfer rates will be faster. Flash memory is also currently priced at less than 100 won per megabyte, and the price is expected to fall further. In contrast, portable media devices are increasingly demanding high-capacity, high-definition data information, so data transmission speeds of flash memory cards will be faster. In order to increase the transfer speed, the control unit of the flash memory becomes more complicated and the price of the control unit increases. If the controller becomes important, the thickness becomes thicker in order to protect the controller. However, not all flash memory cards require high speed and durability. If only one or two reads or writes occur during the product's lifecycle, this complex and expensive control is unnecessary. In addition, the expensive control unit is a factor that inhibits the utilization of the low-capacity flash memory card. Among the existing flash memory card products, Smart Media Card (SMC) and Multimedia Card (MMC) use a serial bus interface and control is relatively simple, so the production price is low and the thickness is thin. Smart media card (SMC) was 0.76mm and multimedia card (MMC) was about 1.4mm. However, these products are limited in terms of high-capacity and high-speed flash memory cards, and production is currently decreasing. In the case of single-use or thin-film flash memory cards, in order to reduce cost and thickness, it should be possible to substitute simple logic circuits instead of using a microprocessor in the control unit if possible. This can be done by simplifying complex memory writes or by reducing addressing.
NAND flash memory uses block erase. A block is a unit composed of a plurality of sectors. The sector is the same as the sector concept of a general hard disk, and most of the flash memory cards use 512 byte sectors. Block-by-block simplifies the task but slows down significantly when storing small files. When writing a file in the DOS FAT (File Allocation Table) file system, which is the most popular flash memory card, there are a total of four steps. First, the work is done three times in the system area and once in the data area. To explain the process in detail, first write the new file name in the directory sector, second copy the file data in the data area, and third write the file location, or address, in the file allocation table (FAT) sector. Finally, record the file information such as the file's start position, file length, modification date and time in the directory sector. When multiple file writes occur, the above four steps are complex for each file, which is quite complicated and has a significant impact on data transfer speed.
1 is a file updating method of a conventional flash memory card. For example, 16 sectors constitute one block. The file F (3) recorded in the sectors S7, S8, S9 of the block B1 (1) is updated as follows. Since a block unit update is made, first create a new empty block B2 (2). Copy the file data of sectors S0 to S6 of the existing block B1 (1) to N0 to N6 of the new block B2 (2), and update the data D0 to D2 of the file F (3) to be updated to the new block B2 (3). Copies to N7 to N9 and the sectors S10 to S15 of the block B1 (1) which are the last remaining data are copied to the sectors N10 to N15 of the new block B2 (2). Then delete the existing block B1 (1) to make it an empty block. At this time, the operation of updating the information in the file F (3) to the FAT sector and the directory sector also occurs. The problem is that not only file F (3) but all files in the existing block B1 (1) have been moved to the new block B2 (2), so the location information of all related files must be updated. 2 is a more complicated case. 2 shows a case where one file F is divided and stored in three blocks B1, B2, and B3 by FP1, FP2, and FP3, respectively. Updating file F creates new blocks, such as nB1, nB2, nB3, shown on the right. In order to update file F, three blocks B1, B2, and B3 must be erased. Therefore, not only file F but also all files in PA, PB, and PC included in blocks B1, B2, and B3, All information must be updated. In the case of a simple control, whenever a file is updated, the FAT sector and the directory sector in the system area are updated. In this case, a considerable amount of work is required to update the information of all files in the three blocks. In order to increase the speed, we use the method of updating the location information in the system area at once after all related files are relocated. This is why the control unit is advanced. There are also cases where internal buffers are placed to increase the transfer rate, which also increases the price.

본 발명의 목적은 저용량, 저가형, 박막형 플래시메모리카드를 만들기 위한 방법을 찾는 것이다. 따라서 상기한 비싸고 복잡한 논리과정을 플래시메모리카드에 내장하는 대신 호스트시스템에서 처리하게 하고 플래시메모리카드에는 장치단위의 읽기/쓰기 기능만을 처리하는 간단한 제어부를 장착함으로써 단순하고 싼 가격의 플래시메모리카드를 만들 수 있게 된다. 더구나 제어부가 단순 논리회로가 되기 때문에 박막형의 플래시메모리카드 생산이 가능해지는 것이다. 여기서 호스트시스템이란 플래시메모리카드를 외부 메모리장치로 활용할 수 있는 디지털장치로 컴퓨터, 디지털 카메라, 전자수첩, 미디어 장치, 휴대폰 등을 통칭한다.
제어부를 최대한 간단히 만들기 위해서 호스트시스템에 플래시메모리와 일대일 대응되는 미러메모리를 둔다. 호스트시스템내의 이 미러메모리에서 파일읽기, 파일수정, 및 파일쓰기를 수행하고, 미러메모리와 플래시메모리카드의 메모리부와는 일대일 복사만 일어나게 하여 플래시메모리카드의 제어부가 처리하는 기능을 대폭 줄이는 것이다. 따라서 통상의 플래시메모리카드에서 행해지는 블록단위의 수정과 삭제, 물리적-논리적 어드레스 변환 과정은 더 이상 필요 없게 된다.
An object of the present invention is to find a method for making a low capacity, low cost, thin film flash memory card. Therefore, instead of embedding the expensive and complicated logic process in the flash memory card, the host system processes it and makes the flash memory card simple and inexpensive by installing a simple control unit that processes only the read / write function of each unit. It becomes possible. In addition, since the control unit becomes a simple logic circuit, thin-film flash memory cards can be produced. The host system is a digital device that can utilize a flash memory card as an external memory device, and is generally referred to as a computer, a digital camera, an electronic notebook, a media device, and a mobile phone.
In order to make the control as simple as possible, a mirror memory corresponding to the flash memory is placed in the host system. In this mirror memory in the host system, file reading, file modification, and file writing are performed, and only one-to-one copying occurs between the mirror memory and the memory portion of the flash memory card, thereby greatly reducing the function handled by the controller of the flash memory card. Therefore, the modification and deletion of the block unit and the physical-logical address conversion process performed in the conventional flash memory card are no longer necessary.

앞에서 설명했듯이 통상의 플래시메모리카드에서 파일 수정과 쓰기는 매우 복잡하며 플래시메모리카드의 제어부를 복잡하게 만드는 요소가 된다. 일반적으로 파일읽기는 파일쓰기보다는 복잡하지가 않아 비교적 간단한 논리회로로 제어할 수 있다. 하지만, 파일읽기를 하기 위해서는 블록 어드레스나 논리적 어드레스를 적용해야 하므로 저용량 플래시메모리카드에선 권장할 사항이 아니다. FAT타입의 파일시스템으로 포맷된 플래시 메모리에서 통상적으로 파일읽기과정을 예로 들면 다음과정으로 행해진다. 먼저 디렉토리섹터에서 파일의 존재여부를 확인한다. 파일이 존재하면 파일의 시작위치를 찾는다. 파일어드레스는 주로 논리적 어드레스(logical address)를 사용하므로 물리적 어드레스(physical address)로 변환해야한다. NAND 플래시메모리카드에서는 블록어드레스와 섹터어드레스를 함께 사용하므로 변환테이블이 간단하지만은 않다. 그래서 플래시메모리카드의 제어부를 간단히 만들기 위해서는 파일 읽기,파일 수정 및 파일 쓰기를 모두 플래시메모리카드의 제어부에서 제거하고 이들 파일처리 과정을 모두 호스트시스템에서 일어나도록 하는 것이다. 파일처리과정을 모두 호스트시스템에서 일어나게 하기 위해서는 플래시메모리카드의 메모리부와 동일한 가상의 플래시메모리부를 호스트시스템에 마련해야 한다. 이 가상의 플러시메모리부를 미러메모리라 부르고 이 미러메모리를 기본으로 플래시메모리카드와 데이터를 처리하는 방법을 미러인터페이스 방법이라 부른다.
이하 첨부한 도3, 플래시메모리카드와 호스트시스템의 미러인터페이스 모양을 참조하여 미러인터페이스 방법의 과정을 단계별로 상세하게 설명한다.
첫 번째 단계는 플래시메모리카드를 인식하는 단계이다. 호스트시스템(10)에 플래시메모리카드(30)를 장착하면 호스트시스템(10)은 어댑터에 플래시메모리카드(30)가 새롭게 장착된 것을 인식하게 된다.
두번째 단계는 호스트시스템에서 플래시메모리카드의 사양정보를 읽어 확인하는 단계이다. 호스트시스템(10)에서 플래시메모리카드(30)를 인식하게 되면 플래시메모리카드(30)의 사양정보를 읽게 된다. 플래시메모리카드(30)가 미러인터페이스를 지원하는지 여부와 플래시메모리카드의 플래시메모리부(31) 용량값이 반드시 필요하다. 이 플래시메모리카드의 플래시메모리부(31) 용량값은 다음단계에서 미러메모리의 용량을 결정하게 된다. 또한, 플래시메모리카드(30)에 이미 데이터가 저장되어 있을때는 저장된 데이터의 파일시스템 정보를 플래시메모리카드의 제어부(32)에서 읽어 와야 한다. 이 파일시스템정보는 섹터크기(섹터 당 바이트 수)와 파일시스템타입을 포함하는 것으로 다음단계에서 미러메모리를 포맷하는 정보로 사용된다. 파일시스템정보를 플래시메모리카드의 제어부(32)에 기록하기 위해서는 제어부(32)에 제어부용 메모리가 있어야 한다. 통상의 플래시메모리카드에는 제어부에 사용되는 별도의 메모리부를 가지고 있다. 하지만 제어부를 간단히 만들기 위해 플래시메모리카드의 제어부용 메모리를 없애고 파일시스템정보를 플래시메모리부(31)에 쓰여진 데이터에서 직접 읽어 낼 수도 있다. 통상의 저장장치에 사용되는 파일시스템구조는 부트레코드 섹터, 다수의 디렉토리섹터, 다수의 FAT(File Allocation Table)섹터 순서로 이루어진 시스템영역과 데이터 영역으로 구성되어 있다. 저장장치의 첫 번째 섹터는 부트레코드 섹터로써 파일시스템의 가장 중요한 정보를 가지고 있다. 통상적으로 하드디스크나 플래시메모리 같은 저장장치의 부트레코드는 물리적 위치 0xb 번째(십진수로 11번째) 바이트에 섹터크기가 기록되어 있고, 0x36 번째(십진수로 54번째) 바이트에 파일시스템타입이 기록되어 있으며 0x10 번째 바이트에 FAT 수가,0x11 번째 바이트에 디렉토리섹터수가 기록되어 있다. 따라서 플래시메모리카드의 메모리부(31)에 파일시스템에 맞게 데이터가 기록되어 있다면 플래시메모리카드의 메모리부(31)의 시작부터 11번째 바이트 값과 54번째 바이트 값을 읽으면 다음단계인 미러메모리 포맷에 필요한 정보인 섹터크기와 파일시스템타입을 얻을 수 있는 셈이다. 하지만 플래시메모리카드의 메모리부(31)에서 파일시스템정보를 읽어오는 방법도 가능하다는 예를 들었을 뿐이고, 플래시메모리카드의 제어부(32)에서 파일시스템정보를 읽어오는 쪽이 속도나 신뢰성 면에서 권장할만하다.
세 번째 단계는 호스트시스템 내에 미러메모리를 할당하고 포맷(Format)하는 미러메모리 할당 및 포맷단계이다. 먼저 두 번째 단계에서 읽어온 플래시메모리카드의 메모리부(31)의 용량과 동일한 용량을 가지도록 호스트시스템(10)에 내장된 메인메모리(20)를 할당하여 미러메모리(21)로 지정한다. 이 미러메모리(21)는 장착된 플래시메모리카드(30)와 같은 파일시스템을 가지도록 두 번째 단계에서 읽어온 플래시메모리카드의 파일시스템정보에 따라 같은 섹터크기와 파일시스템타입으로 포맷한다. 예를 들어 플래시메모리카드(30)가 2메가바이트의 용량에 섹터 당 512 바이트, FAT16 타입의 파일시스템으로 기록된 데이터를 저장하고 있으며, 호스트시스템(10)에 256메가바이트의 메인메모리(20)가 있다고 했을 때, 호스트시스템(10)의 메인메모리(20) 256메가바이트 중 2메가바이트를 미러메모리(21)로 정의하고 512바이트 크기의 섹터,FAT16 타입으로 포맷한다. 만일, 장착된 플래시메모리카드가 처음 사용하는 것이어서 파일시스템정보가 아직 없다면 호스트시스템에서 사용하는 섹터크기와 파일시스템타입으로 포맷하거나, 통상적인 파일시스템인 섹터당 512 바이트 크기, FAT 타입으로 포맷한다. 미러메모리(21)가 파일시스템을 갖고 포맷이 되면 호스트시스템(10)은 이 미러메모리(21)를 가상의 드라이버로 인식하게 된다. 예를 들어 C:,D:,E: 디스크 드라이버가 있는 컴퓨터에 통상의 플래시메모리카드를 장착하면 컴퓨터는 이 통상의 플래시메모리카드를 이동식디스크인 F:드라이버로 인식하듯이, 동일한 컴퓨터에 본 발명의 미러인터페이스를 지원하는 플래시메모리카드를 장착하면 미러메모리를 만들고 이 미러메모리를 디스크 F: 드라이버로 인식하게 되는 것이다.
네 번째 단계는 플래시메모리카드(30)의 메모리부(31)에 기록된 전체 데이터를 호스트시스템(10)의 미러메모리(21)로 복사하는 장치단위의 일대일 읽기 단계 이다. 플래시메모리카드에 기록된 데이터가 없다면 바로 파일쓰기 단계로 넘어간다. 여기서, 장치단위의 일대일 읽기란 미러메모리(21)와 플래시메모리카드의 메모리부(31) 간에 전체 메모리가 복사(Copy)되는 것을 말하는 것으로 섹터구성이나 파일시스템에 관계없이 메모리 위치별 일대일 복사가 일어나는 것을 말한다. 즉, 장치단위의 일대일 읽기가 수행될 때는 플래시메모리카드의 메모리부(31) 전체가 호스트시스템의 미러메모리(21)로 복사되는 경우로 이때 플래시메모리카드의 메모리부(31)에서 n 번째 바이트 값이 호스트시스템의 미러메모리(21)의 n 번째 바이트에 복사된다.
다섯 번째 단계는 호스트시스템(10)내에서 미러메모리(21)로부터 파일을 읽는 파일 읽기 단계이다. 이미 앞의 세 번째 단계에서 설명했듯이 파일시스템을 갖는 미러메모리(21)는 하나의 디스크드라이버와 같은 역할을 한다. 따라서 호스트시스템(10)이 디스크드라이버 역할을 하는 미러메모리(21)에서 파일을 읽는 과정은 호스트시스템에서 사용하는 프로세스 중 하나이므로 통상의 플래시메모리카드에서 사용하는 블록단위의 데이터 읽기와 같은 프로세스는 일어나지 않는다.
여섯 번째 단계는 호스트시스템(10)내 에서 미러메모리(21)에 파일을 쓰거나 수정하는 단계이다. 이미 앞에서 설명했듯이 호스트시스템(10)이 디스크드라이버 역할을 하는 미러메모리(21)에서 파일을 수정하거나 쓰는 과정은 호스트시스템에서 사용하는 프로세스이므로 통상의 플래시메모리카드에서 사용하는 블록단위의 쓰기나 지우기 와 같은 프로세스는 일어나지 않는다.
일곱 번째 단계는 호스트시스템의 미러메모리(21) 전체를 플래시메모리카드의 메모리부(31)로 복사하는 장치단위의 일대일 쓰기 단계이다. 장치단위의 일대일 쓰기란, 앞에서 얘기한 장치단위의 일대일 읽기와 역방향으로, 호스트시스템의 미러메모리(21) 전체가 플래시메모리카드의 메모리부(31)로 복사되는 경우로써, 호스트시스템의 미러메모리(21)의 n번째 바이트 값이 플래시메모리카드의 메모리부(31)의 n번째 바이트로 쓰여지게 된다. 또한, 전체 메모리가 복사되고 난 뒤에는 복사된 미러메모리(21)의 파일시스템 정보 중 섹터크기와 파일시스템타입을 플래시메모리카드의 제어부(32)에 기록하게 된다. 이 섹터크기와 파일시스템타입은 이 플래시메모리카드가 다음 번에 장착될 때 앞의 두 번째와 세 번째 단계에서 설명한 것처럼 미러메모리를 포맷하는 데 필요한 정보가 된다.
최종단계는 플래시메모리카드(30)와의 연결을 끊고 호스트시스템의 미러메모리(21)의 미러메모리지정을 해제하는 종료단계이다. 플래시메모리카드(30)와의 연결이 끊어지면 플래시메모리카드(30)를 호스트시스템(10)으로부터 떼어낼 수 있게 된다. 플래시메모리카드의 사용이 중지되므로 호스트시스템(10)에 지정되어 있는 미러메모리(21)는 더 이상 필요치 않으므로 미러메모리로써의 지정을 해제하게 되며, 미러메모리로 지정되었던 부분(21)은 원래의 메인메모리(20)의 일부로 속하게 된다.
도4는 지금까지 설명한 미러인터페이스 방법을 흐름도로 표시한 것이다.
위 세 번째 단계에서 미러메모리를 지정할 때 호스트시스템의 메인메모리에서 일정부분을 할당하여 사용하는 방법을 설명하였다. 이처럼 호스트시스템의 메인메모리에서 일정부분을 미러메모리로 사용하는 경우는 미러메모리를 지정할 때마다 포맷하고 새로운 디스크드라이버로 지정하여 인식하고, 사용이 종료되면 다시 미러메모리에서 해제하고 메인메모리로 복귀시키는 과정을 되풀이하게 된다. 이렇게 메인메모리의 일부를 미러메모리로 활용하는 방법은 호스트시스템의 자원을 효율적으로 활용하는 장점은 있지만 미러메모리를 지정하고 해제하는 과정이 메인메모리 사용을 저해하는 요인이 될 수 있다. 그래서 처음부터 호스트시스템 내에 메인메모리와 별도로 미러메모리 전용 메모리부를 장착해서 모든 미러메모리는 이 미러메모리 전용 메모리부에 만들어지도록 하는 방법이 있다. 미러메모리 전용 메모리부를 사용하면 미러메모리를 지정하고 해제하는 과정에서 포맷을 하지 않아도 된다. 왜냐하면 하나의 호스트시스템에서 사용하는 플래시메모리카드는 거의 반복사용하며 대부분 동일한 파일시스템을 사용하므로 한번 포맷해두면 다시 포맷할 필요가 없다. 또한 적당한 크기를 가진 미러메모리 전용 메모리부를 장착하면 메모리 디스크드라이버로 지정했다가 삭제하는 과정도 하지 않아도 된다. 예를 들어 어떤 호스트시스템에 16MB의 미러메모리 전용 메모리부를 메인메모리와 별도로 장착하고 호스트시스템은 이 미러메모리 전용 메모리부를 디스크드라이버 F:로 인식을 한다고 하자. 이 호스트시스템에 2MB용량을 가지고 본 발명의 미러인터페이스를 지원하는 플래시메모리카드를 꽂으면, 미러메모리 전용 메모리부의 초기 2MB만을 실제 사용되는 미러메모리로 지정하고 뒷부분 14MB는 사용하지 않는 것으로 인식하게 되어, 호스트시스템에서 디스크드라이버 F:를 연결했다가 삭제하는 과정이 생략된다. 2MB의 플래시메모리카드를 떼어내고 8MB 용량을 가지고 본 발명의 미러인터페이스를 지원하는 플래시메모리카드를 꽂으면 미러메모리 전용 메모리부의 초기 8MB를 미러메모리로 지정하고 나머지 8MB를 사용불가로 인식하게 된다. 이 예제에서 사용된 두 개의 2MB,8MB 플래시메모리카드가 동일한 파일시스템을 쓸 것이므로(동일한 호스트시스템의 데이터를 기록하고 있으므로) 새로 포맷할 이유도 없고 가상 드라이버 F:를 삭제했다가 다시 연결할 이유도 없어진다. 이 미러메모리 전용 메모리부를 사용하는 것은 속도 면이나 신뢰성 면에서 상당히 바람직하지만 장착하는 미러메모리 전용 메모리부의 용량이 사용 가능한 플래시메모리카드의 메모리 용량보다 커야 한다는 단점이 있다. 예를 들어 16MB의 미러메모리 전용 메모리부를 가진 호스트시스템에 32MB 용량을 가지고 본 발명의 미러인터페이스를 지원하는 플래시메모리카드를 꽂으면 에러를 발생시킨다.
마지막으로 통상의 플래시메모리카드에서 제공되는 베드섹터나 베드블록의 처리방법에 관한 것이다. 미러인터페이스 방법에선 플래시메모리카드의 블록이나 섹터를 각기 제어하지 않으므로 배드섹터나 배드블록을 처리할 수 없다. 도5는 통상적인 플래시메모리의 배드섹터 처리방법이다. 배드섹터나 배드블록이 없는 정상적인 플래시메모리의 모습(M1)과 배드섹터가 있는 플래시메모리의 모습(M2)을 비교해서 나타냈다. 플래시메모리는 다수의 블록(40)으로 이루어지고 블록은 다수의 섹터(41)로 이루어진다. 배드섹터(51)가 있으면 그 블록은 배드블록이 되고 사용할 수 없게 된다. 따라서 배드블록(50)위치를 기록하고 다음 블록(62)을 배드블록(50)앞의 블록(61)에 순차적으로 연결하는 물리적-논리적 블록테이블을 만들거나 배드블록(50)을 기록하고 알려주는 레지스터를 제어부에 넣어두는 방식을 사용할 수도 있으나 미러인터페이스 방법에서는 블록을 사용하지 않고 어드레스테이블을 만들지 않으므로 적용할 수 없다. 다만 플래시메모리카드의 인터페이스방법에서 기본적으로 제공되는 포맷기능을 쓰면, 에러가 난 바이트가 포함된 섹터를 제외한 실사용 가능한 총 용량을 수정할 수는 있으나, 이렇게 하면 사용 가능한 파일시스템에 모두 적용 가능하도록 하기 위해서는 1 바이트가 에러나도 2048바이트(파일시스템에서 가장 크게 쓸 수 있는 섹터사이즈)를 배드섹터로 지정해야하며 더구나 배드섹터가 지정된다는 의미는 물리적 어드레스가 아닌 논리적 어드레스를 사용한다는 얘기가 되므로 물리적-논리적 어드레스 변환테이블을 제어부에 포함해야 하므로 싼 가격, 저용량의 플래시메모리카드를 추구하는 미러인터페이스 방법에는 적합하지 않다고 본다. 또한 저용량 플래시메모리 제조과정에서 배드섹터를 만드는 확률은 얼마 되지 않는다. 다만 앞에서 말한 장치단위의 일대일 쓰기 후 플래시메모리카드의 메모리부에 데이터가 정확하게 쓰여졌는지 재검증하는 과정을 첨가하든지, 아니면 플래시메모리카드의 메모리부의 각 단위 메모리가 정상적으로 작동하는지를 체크하는 별도의 메모리 검증과정을 첨가하여 플래시메모리카드가 불량인지 아닌지 확인할 필요는 있다.
As described above, file modification and writing in a conventional flash memory card is very complicated, which makes the control unit of the flash memory card complicated. In general, file reading is not as complicated as file writing and can be controlled by a relatively simple logic circuit. However, reading a file requires applying a block address or a logical address, which is not recommended for low-capacity flash memory cards. In a flash memory formatted with a FAT type file system, a file reading process is typically performed as follows. First check the existence of the file in the directory sector. If the file exists, it looks for the beginning of the file. File addresses mainly use logical addresses, so they must be converted to physical addresses. In NAND flash memory cards, the conversion table is not simple because block and sector addresses are used together. Therefore, in order to make the control unit of the flash memory card simple, all the file reading, file modification and file writing are removed from the control unit of the flash memory card, and all of these file processing processes occur in the host system. In order for all file processing to occur in the host system, a virtual flash memory unit identical to that of the flash memory card must be provided in the host system. This virtual flush memory unit is called a mirror memory, and a method of processing a flash memory card and data based on the mirror memory is called a mirror interface method.
Hereinafter, the process of the mirror interface method will be described in detail with reference to FIG. 3 and the shape of the mirror interface of the flash memory card and the host system.
The first step is to recognize the flash memory card. When the flash memory card 30 is mounted in the host system 10, the host system 10 recognizes that the flash memory card 30 is newly installed in the adapter.
The second step is to read and confirm the specifications of the flash memory card in the host system. When the host system 10 recognizes the flash memory card 30, the specification information of the flash memory card 30 is read. Whether the flash memory card 30 supports the mirror interface and the capacity value of the flash memory unit 31 of the flash memory card are necessary. The capacity value of the flash memory section 31 of this flash memory card determines the capacity of the mirror memory in the next step. In addition, when data is already stored in the flash memory card 30, the file system information of the stored data should be read from the control unit 32 of the flash memory card. This file system information includes the sector size (bytes per sector) and the file system type and is used as information for formatting the mirror memory in the next step. In order to record file system information in the control unit 32 of the flash memory card, the control unit 32 must have a control unit memory. A normal flash memory card has a separate memory section used for the control section. However, in order to simplify the control unit, the control unit memory of the flash memory card may be removed and the file system information may be directly read from the data written to the flash memory unit 31. The file system structure used in a conventional storage device is composed of a system area and a data area consisting of a boot record sector, a plurality of directory sectors, and a plurality of FAT (File Allocation Table) sectors. The first sector of the storage device is the boot record sector, which contains the most important information about the file system. In general, a boot record of a storage device such as a hard disk or flash memory has a sector size written in the physical location 0xb th (11th decimal) byte and a file system type in the 0x36th (54th decimal) byte. The number of FATs is recorded in the 0x10th byte, and the number of directory sectors is recorded in the 0x11th byte. Therefore, if data is recorded in the memory unit 31 of the flash memory card in accordance with the file system, the 11th byte value and the 54th byte value are read from the start of the memory unit 31 of the flash memory card. You can get the sector size and file system type that you need. However, only the example that the file system information is read from the memory unit 31 of the flash memory card is also possible, and it is recommended to read the file system information from the control unit 32 of the flash memory card in terms of speed and reliability. be worth.
The third step is the mirror memory allocation and formatting step of allocating and formatting mirror memory in the host system. First, the main memory 20 embedded in the host system 10 is allocated to have the same capacity as that of the memory unit 31 of the flash memory card read in the second step and designated as the mirror memory 21. The mirror memory 21 is formatted with the same sector size and file system type according to the file system information of the flash memory card read in the second step so as to have the same file system as the mounted flash memory card 30. For example, a flash memory card 30 stores data recorded in a file system of 512 bytes per sector and a FAT16 type in a capacity of 2 megabytes, and 256 megabytes of main memory 20 in the host system 10. If there is, 2 megabytes of 256 megabytes of the main memory 20 of the host system 10 are defined as the mirror memory 21 and formatted into a 512-byte sector, FAT16 type. If the attached flash memory card is used for the first time and the file system information is not available yet, it is formatted with the sector size and file system type used by the host system, or with a 512 byte size per sector, FAT type, which is a typical file system. When the mirror memory 21 is formatted with a file system, the host system 10 recognizes the mirror memory 21 as a virtual driver. For example, if a conventional flash memory card is attached to a computer with a C :, D :, and E: disk driver, the computer recognizes the conventional flash memory card as a F: driver as a removable disk. If you install a flash memory card that supports the mirror interface, the system creates a mirror memory and recognizes the mirror memory as a disk F: driver.
The fourth step is a one-to-one reading step of a device unit that copies the entire data recorded in the memory unit 31 of the flash memory card 30 to the mirror memory 21 of the host system 10. If no data is recorded on the flash memory card, the process goes to the file writing stage. Here, the one-to-one reading of a device unit means that the entire memory is copied between the mirror memory 21 and the memory unit 31 of the flash memory card. The one-to-one copying of each memory location occurs regardless of the sector configuration or the file system. Say that. That is, when one-to-one reading of device units is performed, the entire memory unit 31 of the flash memory card is copied to the mirror memory 21 of the host system. In this case, the nth byte value of the memory unit 31 of the flash memory card is copied. The nth byte of the mirror memory 21 of this host system is copied.
The fifth step is a file reading step of reading a file from the mirror memory 21 in the host system 10. As previously described in the third step, the mirror memory 21 having a file system functions as a single disk driver. Therefore, the process of reading a file from the mirror memory 21 in which the host system 10 acts as a disk driver is one of processes used by the host system. Therefore, a process such as reading data in units of blocks used in a conventional flash memory card does not occur. Do not.
The sixth step is to write or modify a file in the mirror memory 21 in the host system 10. As described above, the process of modifying or writing a file in the mirror memory 21 in which the host system 10 acts as a disk driver is a process used by the host system. The same process does not happen.
The seventh step is a one-to-one writing step of a device unit that copies the entire mirror memory 21 of the host system to the memory unit 31 of the flash memory card. One-to-one write of a device unit is a case where the whole mirror memory 21 of the host system is copied to the memory unit 31 of the flash memory card in the reverse direction of the one-to-one read of the device unit described above. The nth byte value of 21) is written to the nth byte of the memory portion 31 of the flash memory card. After the whole memory is copied, the sector size and file system type of the file system information of the copied mirror memory 21 are recorded in the control unit 32 of the flash memory card. This sector size and file system type will be the information required to format the mirror memory as described in the second and third steps before the next time this flash memory card is mounted.
The final step is an end step of disconnecting the flash memory card 30 and releasing the mirror memory designation of the mirror memory 21 of the host system. When the connection with the flash memory card 30 is lost, the flash memory card 30 can be detached from the host system 10. Since the use of the flash memory card is stopped, the mirror memory 21 designated in the host system 10 is no longer needed, so the designation as a mirror memory is canceled, and the portion 21 designated as the mirror memory is the original main. It belongs to a part of the memory 20.
4 is a flowchart illustrating the mirror interface method described so far.
In the third step above, a method of allocating and using a portion of main memory of the host system is described. In this case, if a certain part of the main memory of the host system is used as mirror memory, it is formatted every time the mirror memory is designated and recognized as a new disk driver. Will be repeated. This method of using a part of main memory as a mirror memory has the advantage of efficiently utilizing the resources of the host system, but the process of designating and releasing the mirror memory can be a factor that hinders the use of the main memory. Therefore, from the beginning, there is a method in which the mirror memory dedicated memory portion is installed in the host system separately from the main memory so that all mirror memories are created in the mirror memory dedicated memory portion. If you use the mirror memory memory unit, you do not need to format the mirror memory in the process of specifying and releasing it. Because the flash memory card used in one host system is used repeatedly and most of the same file system is used, once formatted, there is no need to reformat. In addition, if a dedicated memory unit of a suitable sized mirror memory is installed, the process of designating and deleting a memory disk driver is not required. For example, let's say that a host system attaches 16MB of mirror memory dedicated memory to main memory and the host system recognizes this mirror memory as disk driver F :. When the flash memory card supporting the mirror interface of the present invention is inserted into the host system with the capacity of 2 MB, only the initial 2 MB of the mirror memory dedicated memory portion is designated as the actual used mirror memory, and the latter 14 MB is recognized as not used. The process of connecting and deleting disk driver F: on the host system is omitted. Removing a 2MB flash memory card and inserting a flash memory card supporting the mirror interface of the present invention with an 8MB capacity designates the initial 8MB of the mirror memory dedicated memory unit as the mirror memory and recognizes the remaining 8MB as unusable. Since the two 2MB and 8MB flash memory cards used in this example will use the same filesystem (as they are writing data from the same host system), there is no reason to format them anew and there is no reason to delete and reconnect the virtual driver F :. . Although the use of the mirror memory dedicated memory portion is considerably desirable in terms of speed and reliability, there is a disadvantage that the capacity of the mirror memory dedicated memory portion to be mounted must be larger than that of the flash memory card that can be used. For example, when a flash memory card supporting a mirror interface of the present invention with a capacity of 32 MB is inserted into a host system having a memory unit dedicated to 16 MB of mirror memory, an error occurs.
Finally, the present invention relates to a bed sector or a bed block processing method provided in a conventional flash memory card. Since the mirror interface method does not control the blocks or sectors of the flash memory card separately, the bad sectors or bad blocks cannot be processed. 5 is a bad sector processing method of a conventional flash memory. The comparison between the normal flash memory (M1) without a bad sector or bad block (M1) and the flash memory with a bad sector (M2) are shown. The flash memory consists of a plurality of blocks 40 and a block consists of a plurality of sectors 41. If there is a bad sector 51, the block becomes a bad block and cannot be used. Therefore, a physical-logical block table that records the location of the bad block 50 and sequentially connects the next block 62 to the block 61 in front of the bad block 50 or records and informs the bad block 50 is recorded. It is possible to use the register in the control unit, but the mirror interface method is not applicable because the address table is not created without using blocks. However, if you use the format function basically provided in the interface method of the flash memory card, you can modify the total available capacity except the sector containing the error byte, but this makes it applicable to all available file systems. In order for one byte to be an error, 2048 bytes (the largest possible sector size in the file system) must be designated as bad sectors. Moreover, the meaning of bad sectors is that they use logical addresses rather than physical addresses. Since the address conversion table must be included in the control unit, it is not suitable for the mirror interface method for pursuing a low price and low capacity flash memory card. In addition, the odds of creating bad sectors in the manufacture of low-capacity flash memories are minimal. However, after the one-to-one writing of the device units mentioned above, a process of re-verifying whether data is correctly written to the memory unit of the flash memory card is added or a separate memory verification process of checking whether each unit memory of the memory unit of the flash memory card is operating normally is performed. It is necessary to check whether the flash memory card is bad by adding.

상술한 바와 같이 본 발명의 미러인터페이스 방법은 통상의 플래시메모리카드에서 수행하던 파일 처리 과정을 호스트시스템의 제어부와 미러메모리에서 수행하고 플래시메모리카드의 제어부는 장치단위의 일대일 읽기/쓰기를 수행하는 기능만을 포함하므로, 플래시메모리카드의 제어부가 간단해지고 호스트시스템과 플래시메모리카드 사이의 인터페이스도 간단해 지는 효과가 있어, 저가형 박막형 플래시메모리카드를 만들 수 있게 된다. 따라서 데이터의 갱신이 자주 일어나지 않는 사용환경 및 저용량 플래시메모리카드에서는 미러인터페이스 방법이 효과적이다.As described above, the mirror interface method of the present invention performs a file processing process performed by a conventional flash memory card in a control unit and a mirror memory of the host system, and the control unit of the flash memory card performs a one-to-one read / write unit per device. Since only the control unit of the flash memory card is included and the interface between the host system and the flash memory card is simplified, the low cost thin film flash memory card can be produced. Therefore, the mirror interface method is effective in the usage environment and low-capacity flash memory card in which data is not frequently updated.

Claims (3)

플래시메모리카드의 인터페이스 방법에 있어서,In the interface method of the flash memory card, 호스트시스템이 플래시메모리카드의 장착을 인식하는 인식단계와,A recognition step in which the host system recognizes the installation of the flash memory card; 호스트시스템이 플래시메모리카드의 제어부로부터, 플래시메모리카드의 메모리 용량정보, 미러인터페이스 방법 지원여부, 제조사의 정보와, 파일시스템타입과 섹터크기를 포함한 파일시스템정보를 읽어 오는 사양정보 확인단계와,The host system checks the specification information for reading the memory capacity information of the flash memory card, whether the mirror interface method is supported, the manufacturer's information, and the file system information including the file system type and sector size from the control unit of the flash memory card. 호스트시스템 내에 내장된 메인메모리 중에서, 상기 사양정보에 포함된 플래시메모리카드의 메모리부 용량과 동일한 용량 부분을 미러메모리로 할당하고, 상기 사양정보에 지정된 파일시스템으로 미러메모리를 포맷하는 미러메모리 할당 및 포맷 단계와,Of the main memory embedded in the host system, allocating the same portion of the capacity of the memory portion of the flash memory card included in the specification information as the mirror memory, and allocating the mirror memory for formatting the mirror memory with the file system specified in the specification information; The formatting step, 플래시메모리카드의 메모리로부터 호스트시스템에 지정된 상기 미러메모리로 모든 데이터를 복사해 오는 장치단위의 일대일 읽기 단계와,A one-to-one reading step of a device unit that copies all data from the memory of the flash memory card to the mirror memory designated in the host system; 호스트시스템의 제어부가 상기 미러메모리를, 상기 사양정보에 따라 지정된 파일시스템을 가진 메모리로 인식하고, 상기 미러메모리의 파일시스템영역에서 파일정보를 불러와 파일을 읽는 파일읽기 단계와, A control unit of a host system recognizes the mirror memory as a memory having a file system designated according to the specification information, and reads a file by reading file information from a file system area of the mirror memory; 호스트시스템의 제어부가 상기 미러메모리를, 상기 사양정보에 따라 지정된 파일시스템을 가진 메모리로 인식하고, 상기 미러메모리 내에서 파일을 수정하거나 파일을 기록하는 파일수정 및 파일쓰기 단계와,A file modification and file writing step of the controller of the host system recognizing the mirror memory as a memory having a file system designated according to the specification information, and modifying or writing a file in the mirror memory; 호스트시스템에 지정된 상기 미러메모리로부터 플래시메모리카드의 메모리부로 모든 데이터를 복사하고, 상기 미러메모리가 포맷된 파일시스템의 정보 중 파일시스템타입과 섹터크기를 플래시메모리카드의 제어부에 기록하는 장치단위의 일대일 쓰기 단계와,One to one device unit for copying all the data from the mirror memory designated to the host system to the memory unit of the flash memory card and recording the file system type and sector size in the control unit of the flash memory card among the information of the file system in which the mirror memory is formatted. Writing steps, 호스트시스템에서 플래시메모리카드와의 연결을 끊어 플래시메모리카드의 사용을 종료하고, 상기 미러메모리로 지정된 메모리를 호스트시스템의 메인메모리로 복구시키는 종료단계로, In the terminating step of terminating the use of the flash memory card by disconnecting the flash memory card from the host system and restoring the memory designated as the mirror memory to the main memory of the host system. 이루어진 것을 특징으로 하는 플래시메모리카드의 미러인터페이스 방법. Mirror interface method of the flash memory card, characterized in that made. 제1항에 있어서,The method of claim 1, 상기 미러메모리 할당 및 포맷 단계에서, 호스트시스템의 메인메모리 중에서 플래시메모리카드의 메모리부와 같은 용량을 할당하여 상기 미러메모리로 사용하는 대신, 호스트시스템 내에 메인메모리와 별도로 미러메모리 전용으로 사용하는 메모리부를 장착하고 이 미러메모리 전용 메모리부 내에서 플래시메모리카드의 메모리부와 같은 용량을 가지도록 상기 미러메모리를 할당하는 특징을 가진 플래시메모리카드의 미러인터페이스 방법.      In the mirror memory allocating and formatting step, instead of allocating the same capacity as the memory of the flash memory card among the main memory of the host system and using the same as the mirror memory, the memory unit is used exclusively for the mirror memory separately from the main memory in the host system. A mirror interface method of a flash memory card, characterized in that said mirror memory is mounted so as to have the same capacity as that of a flash memory card in this dedicated memory section of the mirror memory card. 제1항에 있어서,The method of claim 1, 플래시메모리카드의 메모리부의 각 단위 메모리가 정상적으로 작동하는지를 체크하는 플래시메모리 검증단계를 더 포함하는 것을 특징으로 하는 플래시메모리카드의 미러인터페이스 방법.       And a flash memory verification step of checking whether each unit memory of the memory unit of the flash memory card is normally operated.
KR1020050070930A 2005-08-03 2005-08-03 Mirror interfacing method for flash memory cards. KR100759700B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050070930A KR100759700B1 (en) 2005-08-03 2005-08-03 Mirror interfacing method for flash memory cards.
PCT/KR2006/002903 WO2007027016A1 (en) 2005-08-03 2006-07-24 Mirror interfacing method for flash memory cards.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050070930A KR100759700B1 (en) 2005-08-03 2005-08-03 Mirror interfacing method for flash memory cards.

Publications (2)

Publication Number Publication Date
KR20050086389A KR20050086389A (en) 2005-08-30
KR100759700B1 true KR100759700B1 (en) 2007-09-17

Family

ID=37270274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050070930A KR100759700B1 (en) 2005-08-03 2005-08-03 Mirror interfacing method for flash memory cards.

Country Status (2)

Country Link
KR (1) KR100759700B1 (en)
WO (1) WO2007027016A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100622113B1 (en) * 2006-03-03 2006-09-18 주식회사 퓨전소프트 Flash memory storing system for database system and method therefor
CN104700051B (en) * 2013-12-04 2017-09-05 北京智联安科技有限公司 A kind of method of film SIM card and its transparent data
CN112601040B (en) * 2020-12-09 2023-06-16 上海商米科技集团股份有限公司 Video storage method and device, network camera and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030082779A (en) * 2002-04-18 2003-10-23 주식회사 트론웰 Method to recover the errors of dual flash memory in Network Attached Storage(NAS)
KR20040022433A (en) * 2001-06-26 2004-03-12 이엠씨 코포레이션 Mirroring network data to establish virtual storage area network
KR20050033608A (en) * 2002-08-16 2005-04-12 인터내셔널 비지네스 머신즈 코포레이션 Method, system, and program for providing a mirror copy of data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784548A (en) * 1996-03-08 1998-07-21 Mylex Corporation Modular mirrored cache memory battery backup system
JP2000047830A (en) * 1998-05-26 2000-02-18 Nec Software Ltd Device and method for mirror disk access
EP1376608A1 (en) * 2002-06-28 2004-01-02 Cp8 Programming method in a nonvolatile memory and system for realisation of such a method
US7584225B2 (en) * 2003-11-10 2009-09-01 Yahoo! Inc. Backup and restore mirror database memory items in the historical record backup associated with the client application in a mobile device connected to a communion network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040022433A (en) * 2001-06-26 2004-03-12 이엠씨 코포레이션 Mirroring network data to establish virtual storage area network
KR20030082779A (en) * 2002-04-18 2003-10-23 주식회사 트론웰 Method to recover the errors of dual flash memory in Network Attached Storage(NAS)
KR20050033608A (en) * 2002-08-16 2005-04-12 인터내셔널 비지네스 머신즈 코포레이션 Method, system, and program for providing a mirror copy of data

Also Published As

Publication number Publication date
WO2007027016A1 (en) 2007-03-08
KR20050086389A (en) 2005-08-30

Similar Documents

Publication Publication Date Title
EP0770959B1 (en) Flash translation layer clean-up method
US8880483B2 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
US10055147B2 (en) Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7039754B2 (en) Detachably mounted removable data storage device
US6459644B2 (en) Semiconductor memory device with block alignment function
US7227788B2 (en) Memory management device and memory device
KR100952135B1 (en) Flash management system using only sequential write
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
JP4238514B2 (en) Data storage device
EP1920316B1 (en) Method and system for dual mode access for storage devices
US20070088904A1 (en) Memory system storing transformed units of data in fixed sized storage blocks
JP2013012212A (en) Method and system for managing partition in storage device
KR101055324B1 (en) Enhanced Host Interface
EP1938195B1 (en) Storage of transformed units of data in a memory system having fixed sized storage blocks
KR20060117899A (en) Storage device and storage system
US20120089765A1 (en) Method for performing automatic boundary alignment and related non-volatile memory device
CN102890655A (en) Memory storage device, memory controller and valid data recognition method thereof
JP2009503740A (en) Indexing file data in reprogrammable non-volatile memory that directly stores data files
KR100759700B1 (en) Mirror interfacing method for flash memory cards.
CN103389941B (en) Storer formatting method, Memory Controller and memory storage apparatus
JP2005092677A (en) Memory device
CN101446920A (en) Data-writing method deciding flash memory by employing file system characteristics
JPH07141479A (en) Ic memory card and file control system using ic memory card
CN113196258A (en) Information processing apparatus, information processing method, and information processing program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee