KR100975178B1 - 데이터 기억 장치 - Google Patents

데이터 기억 장치 Download PDF

Info

Publication number
KR100975178B1
KR100975178B1 KR1020037016347A KR20037016347A KR100975178B1 KR 100975178 B1 KR100975178 B1 KR 100975178B1 KR 1020037016347 A KR1020037016347 A KR 1020037016347A KR 20037016347 A KR20037016347 A KR 20037016347A KR 100975178 B1 KR100975178 B1 KR 100975178B1
Authority
KR
South Korea
Prior art keywords
recorded
sector
data
pbr
partition
Prior art date
Application number
KR1020037016347A
Other languages
English (en)
Other versions
KR20040100849A (ko
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 소니 주식회사
Publication of KR20040100849A publication Critical patent/KR20040100849A/ko
Application granted granted Critical
Publication of KR100975178B1 publication Critical patent/KR100975178B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips

Abstract

본 발명은, 불휘발성의 반도체 메모리와, 속성 정보 기억부를 구비하는 데이터 기억 장치이다. 데이터 기억 장치의 속성 정보 기억부에는, 1개의 블록 내의 섹터수와, 블록의 경계 위치의 섹터의 논리 어드레스를 나타내는 정보가 저장되어 있다. 데이터 기억 장치가 장착되는 호스트 기기는, 데이터 기억 장치 내의 1 블록을 구성하는 클러스터 수와, 블록의 선두 클러스터 위치를 파악하여, 1 블록 단위로 데이터를 기록해 간다.
블록, 클러스터, 섹터, 경계 위치, 섹터수, 어드레스, FAT, MBR, PBR

Description

데이터 기억 장치{DATA STORAGE DEVICE}
본 발명은, 내부에 불휘발성의 반도체 메모리를 구비한 데이터 기억 장치에 관한 것이다.
본 출원은, 2002년 4월 15일자로 출원된 일본특허출원 제2002-112641호를 기초로 하여 우선권을 주장하는 것으로서, 이 출원은 참조함으로써, 본 출원에 원용된다.
종래, 전기적으로 소거 가능한 불휘발성 메모리로서, NAND형의 플래시 메모리가 이용되고 있다. 이 종류의 NAND형의 플래시 메모리는, 데이터가 소거된 상태에서, 새로운 데이터의 기입이 행해진다. 플래시 메모리에서는, 데이터를 일괄 소거하는 소거 블록을 형성하고, 이 소거 블록 단위로 데이터의 소거를 행한 후, 새로운 데이터의 기입이 이루어진다. 또한, 플래시 메모리에서는, 소거 블록의 사이즈와, 데이터의 기입 단위(물리 섹터)가 서로 다르고, 1개의 소거 블록 내에 복수의 물리 섹터가 형성되어 있다.
플래시 메모리에 있어서는, 1개의 소거 블록 내에서는, 물리적으로 일정 방향을 향하여 데이터를 기록할 필요가 있다. 이것은, 소거 블록 내의 임의의 물리 섹터에 데이터를 기록한 경우, 플래시 메모리의 특성상, 기입 대상 섹터로부터 일 정 방향 측에 위치하는 섹터는 기록 완료 데이터의 내용이 보증되지만, 기입 대상 섹터로부터 반대 방향 측에 위치하는 섹터는, 기록 완료 데이터의 내용이 보증되지 않기 때문이다. 그 때문에, 플래시 메모리에서는, 순방향으로 데이터를 기록해 가면 항상 기록 완료 데이터의 내용이 보증되도록, 물리 어드레스나 논리 어드레스가 설정되는 것이 일반적이다. 또, 기록 대상의 소거 블록과는 다른 소거 블록에 기록되어 있는 데이터에 관해서는, 그 기록 위치에 상관없이, 데이터 내용은 항상 보증된다.
이러한 NAND형의 플래시 메모리를 이용한 어플리케이션으로서, 소위 메모리 카드라고 불리는, 리무버블 소형 IC 메모리 장치가 알려져 있다. 메모리 카드는, 정지 화상 데이터, 동화상 데이터, 음성 데이터, 음악 데이터 등의 각종 디지털 데이터를 저장할 수 있다. 그 때문에, 메모리 카드는, 예를 들면, 정보 휴대 단말기, 데스크탑형 컴퓨터, 노트북 컴퓨터, 휴대 전화기, 오디오 장치, 가전 장치 등등의 호스트 기기에, 외부 기억 미디어로서 이용된다.
메모리 카드를 외부 기억 미디어로서 이용하는 호스트 기기는, 하드디스크 등의 내부 기억 미디어가 구비되는 경우가 있다. 하드디스크는, 일반적으로 MS-DOS(상표)라고 불리는 파일 시스템을 매개로 하여, 호스트 기기로부터 논리 포맷으로 액세스가 이루어진다. 그 때문에, 메모리 카드도, 이러한 다른 기억 미디어와의 호환성을 도모하기 위해서, MS-DOS와 같은 일반적인 파일 시스템을 적용할 수 있는 것이 바람직하다.
MS-DOS에서는, 스토리지 미디어에의 액세스 단위로서, 클러스터라고 불리는 단위가 규정되어 있다. MS-DOS에서는, 이 클러스터 단위로, FAT(File Allocation Table)를 생성하고, 기억 미디어 내에 기록되어 있는 데이터의 연결 관계가 관리되어 있다. 따라서, 호스트 기기는, 이 클러스터 단위로 논리적으로 액세스를 행함으로써, 기억 미디어에 기록되어 있는 데이터의 판독, 또는, 기억 미디어에 대한 데이터의 기입이 행해진다.
그런데, 종래의 메모리 카드는, 플래시 메모리의 용량이 비교적 작고, 클러스터의 사이즈와 소거 블록의 사이즈가 일치하고 있기 때문에, 클러스터 단위로 데이터의 기록을 행하고 있는 한에 있어서는, 어떠한 기록을 행하였다고 하여도 기록 완료된 데이터의 내용이 보증되어 있었다.
그러나, 플래시 메모리의 고용량화가 진행하여, 그것에 따라 소거 블록 사이즈도 커짐에 따라, 고용량화된 플래시 메모리를 이용한 메모리 카드에서는, 파일 시스템에 MS-DOS를 이용하면, 클러스터의 사이즈가 소거 블록의 사이즈보다도 작아지게 된다. 이와 같이, 클러스터의 사이즈가 소거 블록의 사이즈보다도 작아진 경우, 클러스터 단위에서의 데이터의 기록을 행하였다고 하여도, 기록 완료 데이터의 내용이 보증되지 않는 경우가 발생하게 될 가능성이 있다.
이러한 고용량화된 플래시 메모리를 이용한 메모리 카드에서는, 기록 완료 데이터의 내용을 보증하기 위해서, 동일한 소거 블록 내에서, 기입 대상이 되는 클러스터보다 후에 기록 완료된 클러스터가 있는 경우에는, 가비지 컬렉션(Garbage Collection)라고 불리는 메모리 영역을 확보하는 처리가 행하여지고 있었다.
메모리 카드에 있어서의 가비지 컬렉션은, 구체적으로는 다음과 같이 행해진 다.
소거 블록 내의 일부의 클러스터에 대하여 데이터를 기입하는 경우, 그 소거 블록 내에서 기입 대상의 클러스터보다 어드레스가 뒤인 측의 클러스터에, 이미 기록 완료한 유효인 데이터가 기록되어 있는지의 여부를 판단한다. 혹시, 동일한 소거 블록 내에서 어드레스가 뒤인 측의 클러스터에 이미 기록 완료한 유효인 데이터가 있는 경우, 기입 대상 클러스터의 데이터를 제외한 소거 블록 내의 모든 데이터를 일단 버퍼에 판독해 둔다. 계속해서, 새로운 소거 블록을 확보하여, 버퍼 내의 데이터와 기입 대상 데이터를 합성한 데이터를, 확보한 새로운 소거 블록에 기입하는 처리를 행한다.
이상의 처리가 메모리 카드에 있어서의 가비지 컬렉션의 처리이다. 또, 가비지 컬렉션은, 일반적으로 메모리 카드 내의 CPU가 행하기 때문에, 호스트 기기의 오퍼레이션 시스템으로서는 그 처리가 인식되지 않는다.
이와 같이, 메모리 카드에 있어서의 가비지 컬렉션은, 기록 시에 행해지는 처리임에도 불구하고, 데이터의 판독 및 버퍼링과 같은 용장을 행하지 않으면 안된다. 그 때문에, 가비지 컬렉션이 발생한 경우에는, 호스트 기기와 메모리 카드 사이의 기록 속도가 저하한다. 이 때문에, 본래적으로는, 가비지 컬렉션을 항상 발생시키지 않고서, 데이터의 기록을 행할 수 있는 것이 바람직하다.
가비지 컬렉션을 항상 발생시키지 않기 위해서는, 호스트 측으로부터 메모리 내의 물리 어드레스를 직접 관리하여, 데이터의 기입을 행하면 된다. 그러나, MS-DOS에서는, 미디어를 물리 어드레스로 관리하고 있지 않기 때문에, 메모리 내의 물 리 어드레스를 직접 액세스하기 위해서는, MS-DOS와는 서로 다른 특수한 파일 시스템을 적용하지 않으면 안되어, 다른 미디어와의 호환성을 유지할 수 없기 때문에, 바람직하지 않다.
본 발명의 목적은, 종래의 IC 메모리 장치 등의 데이터 기억 장치가 갖는 문제점을 해소할 수 있는 신규인 데이터 기억 장치를 제공하는 것에 있다.
본 발명의 다른 목적은, 반도체 메모리에 대한 데이터의 액세스 단위의 최대 사이즈가, 상기 반도체 메모리의 소거 블록 사이즈보다도 작은 파일 시스템이 적용된 경우에도, 소위 가비지 컬렉션을 발생시키지 않고서, 데이터를 기록하는 것이 가능한 데이터 기억 장치를 제공하는 것에 있다.
상술한 바와 같은 목적을 달성하기 위해서 제안되는 본 발명에 따른 데이터 기억 장치는, 호스트 기기에 대하여 착탈 가능하게 부착되는 리무버블 데이터 기억 장치이다. 데이터 기억 장치는, 기록되어 있는 데이터가 소정의 데이터량의 블록 단위로 일괄 소거되는 불휘발성의 반도체 메모리와, 본 장치의 내부 정보가 기록된 시스템 정보 기억부를 구비한다. 반도체 메모리의 기록 영역에는, 사용자에 의해서 데이터가 기록되는 영역인 사용자 영역이 형성되어 있다. 사용자 영역은, 데이터 기입 및 판독 단위인 섹터마다에 논리 어드레스를 설정하여 기록 데이터를 관리함과 함께 물리적으로 연속하는 소정 수의 섹터로 구성되는 클러스터 단위로 기록 데이터의 연결 관계를 관리하는 논리 포맷에 대응한, 파일 관리 데이터가 기록되고, 이 논리 포맷에 기초하여 호스트 기기로부터의 액세스가 행하여진다. 시스템 정보 기억부에는, 1개의 블록 내의 섹터수와, 블록의 경계 위치의 섹터의 논리 어드레스를 나타내는 정보가 저장되어 있다.
본 발명의 또 다른 목적, 본 발명에 의해 얻어지는 구체적인 이점은, 이하에 있어서 도면을 참조하여 설명되는 실시 형태의 설명으로부터 한층 명백해질 것이다.
도 1은 본 발명이 적용된 메모리 카드 및 이 메모리 카드를 이용하는 호스트 기기를 도시하는 사시도.
도 2는 메모리 카드를 표면 측으로부터 본 사시도.
도 3은 메모리 카드를 이면 측으로부터 본 사시도.
도 4는 메모리 카드의 내부 블록 구성을 도시하는 블록도.
도 5는 메모리 카드와 호스트 기기와의 사이의 데이터 전송을 하기 위한 인터페이스 기능의 구성도.
도 6은 속성 정보 에리어에 기록되는 데이터 구조를 도시하는 도면.
도 7은 호스트 기기의 데이터 기록 처리 내용을 도시하는 흐름도.
도 8은 제1 구체예의 포맷을 적용한 경우의 미디어 이미지를 도시하는 도면.
도 9는 제1 구체예의 포맷을 적용한 경우의 각 파라미터의 값을 도시하는 도면.
도 10은 제1 구체예의 포맷을 적용한 경우의 MBR의 기술 내용을 도시하는 도면.
도 11은 제1 구체예의 포맷을 적용한 경우의 PBR의 기술 내용을 도시하는 도면.
도 12는 제2 구체예의 포맷을 적용한 경우의 미디어 이미지를 도시하는 도면.
도 13은 제2 구체예의 포맷을 적용한 경우의 각 파라미터의 값을 도시하는 도면.
도 14는 제2 구체예의 포맷을 적용한 경우의 MBR의 기술 내용을 도시하는 도면.
도 15는 제2 구체예의 포맷을 적용한 경우의 PBR의 기술 내용을 도시하는 도면.
도 16은 제1 구체예의 포맷을 적용한 경우의 FAT의 상태를 도시하는 도면.
도 17은 제2 구체예의 포맷을 적용한 경우의 FAT의 상태를 도시하는 도면.
도 18은 통상 포맷의 미디어 이미지를 도시하는 도면.
도 19는 블록 사이즈보다 클러스터 사이즈 쪽이 작은 메모리 카드의 미디어 이미지를 도시하는 도면.
도 20은 블록 사이즈와 클러스터 사이즈가 동일한 메모리 카드의 미디어 이미지를 도시하는 도면.
이하, 본 발명을 리무버블 소형 IC 메모리 장치, 및, 이 소형 IC 메모리 장치를 외부 기억 미디어로서 이용하는 데이터 처리 장치에 적용한 예를 들어 설명한 다.
또, 이하의 설명에서, 소형 IC 메모리 장치를 메모리 카드라 칭하고, 이 메모리 카드가 접속되는 데이터 처리 장치를 호스트 기기라 칭한다.
우선, 본 발명을 적용한 호스트 기기 및 이 호스트 기기에 접속되는 메모리 카드의 개략을 도 1을 참조하여 설명한다.
본 발명에 따른 메모리 카드(1)는, 내부에 불휘발성의 반도체 메모리(IC 메모리)를 갖고 있고, 정지 화상 데이터, 동화상 데이터, 음성 데이터, 음악 데이터 등의 각종 디지털 데이터를 저장할 수 있다. 이 메모리 카드(1)는, 예를 들면, 정보 휴대 단말기, 데스크탑형 컴퓨터, 노트북 컴퓨터, 휴대 전화기, 오디오 장치, 가전 장치 등등의 호스트 기기(2)의 외부 기억 미디어로서 기능한다.
메모리 카드(1)는, 도 1에 도시한 바와 같이, 호스트 기기(2)에 설치되어 있는 삽입구(3)에 삽입된 상태에서 사용된다. 메모리 카드(1)의 삽입구(3)에 대한 삽입 및 추출은, 사용자가 가능하게 행할 수 있다. 그 때문에, 어느 호스트 기기에 삽입되어 있던 메모리 카드(1)를 추출하여, 다른 호스트 기기에 삽입할 수도 있다. 즉, 본 메모리 카드(1)는, 서로 다른 호스트 기기 사이의 데이터의 교환에 이용하는 것이 가능하다.
메모리 카드(1) 및 호스트 기기(2)는, 4 비트 병렬 데이터, 클럭 신호, 버스 스테이트 신호의 6개의 신호를 전송하는 6선식 반2중(6線式 半2重) 병렬 프로토콜을 이용한 병렬 인터페이스로 데이터의 전송을 행한다.
본 발명에 따른 메모리 카드(1)는, 도 2에 도시한 바와 같이, 대략 장방형의 얇은 판자 형상으로 형성되어, 길이 방향의 길이 L1을 50 ㎜로 하고, 폭 W1을 21.45 ㎜로 하고, 두께 D1을 2.8 ㎜로 하여 형성되어 있다. 메모리 카드(1)는, 한쪽의 면을 표면(1a)으로 하고, 다른 쪽의 면을 이면(1b)으로 하고 있다. 메모리 카드(1) 길이 방향의 일단 측의 이면(1b) 측에는, 도 3에 도시한 바와 같이, 10개의 평면 전극인 접속 단자군(4)이 형성되어 있다. 접속 단자군(4)을 구성하는 각 전극은, 메모리 카드(1)의 폭 방향으로 병렬하여 형성되어 있다. 전극과 전극의 각 사이에는, 이면(1b)으로부터 수직으로 형성된 파티션 부재(5)가 형성되어 있다. 각 파티션 부재(5)은, 각 전극에 접속되는 접속 단자가 다른 전극에 접촉하는 것을 방지하도록 한 것이다. 메모리 카드(1)의 이면(1b)의 일단부 측의 중앙부에는, 도 3에 도시한 바와 같이, 오소거 금지용의 슬라이드 스위치(6)가 설치되어 있다.
상술한 메모리 카드(1)가 장착되는 호스트 기기(2)에는, 메모리 카드(1)를 삽입하기 위한 삽입구(3)가 형성되어 있다. 삽입구(3)는, 도 1에 도시한 바와 같이, 호스트 기기(2)의 전면 측에 메모리 카드(1)의 폭 W1 및 두께 D1에 대응하는 개구로서 형성되어 있다. 삽입구(3)를 통하여 호스트 기기(2)에 삽입된 메모리 카드(1)는, 접속 단자군(4)을 구성하는 각 전극에 호스트 기기(2)측의 접속 단자가 접속됨으로써, 호스트 기기(2)에의 유지가 도모되어 탈락이 방지된다. 또, 호스트 기기(2)측의 접속 단자는, 장착되는 메모리 카드(1)에 설치되는 접속 단자군(4)을 구성하는 전극에 대응하여 10개의 접점을 갖는다.
본 발명에 따른 메모리 카드(1)는, 접속 단자군(4)이 설치된 일단 측을 삽입 단으로 하여, 도 2의 화살표 X1 방향을 삽입 방향으로 하여 삽입구(3)를 통하여 호스트 기기(2)에 장착된다. 호스트 기기(2)에 장착된 메모리 카드(1)는, 접속 단자군(4)을 구성하는 각 전극과 호스트 기기(2)측의 접속 단자의 각 접점이 접속되어, 신호의 수수가 가능한 상태가 된다.
다음으로, 본 발명에 따른 메모리 카드(1)의 내부 구성을, 도 4를 참조하여 설명한다.
본 발명에 따른 메모리 카드(1)는, 도 4에 도시한 바와 같이, 병렬 인터페이스 회로(I/F)(12)와, 레지스터 회로(13)와, 데이터 버퍼 회로(14)와, ECC 회로(15)와, 메모리 I/F 컨트롤러(16)와, 불휘발성 반도체 메모리(17)와, 발진 제어 회로(18)를 구비하고 있다.
병렬 I/F 회로(12)는, 6선식 반2중 병렬 방식의 데이터 전송 프로토콜을 이용하여, 호스트 기기(2)와의 사이에서 데이터의 전송을 행하는 회로이다.
레지스터 회로(13)는, 예를 들면, 호스트 기기로부터 전송되는 메모리 I/F 컨트롤러(16)에 대한 동작 제어 커맨드(이하, 이 동작 제어 커맨드의 것을 컨트롤 커맨드라 칭함), 메모리 카드(1) 내의 내부 상태, 컨트롤 커맨드를 실행할 때에 필요한 제반의 파라미터, 불휘발성 반도체 메모리(17) 내의 파일 관리 정보 등을 기억하는 회로이다. 이 레지스터 회로(13)는, 호스트 기기(2) 및 메모리 I/F 컨트롤러(16)의 양자로부터 액세스된다. 또, 호스트 기기(2)는, 본 메모리 카드의 데이터 전송 프로토콜 상에서 규정되는 전송 프로토콜 커맨드(이하, TPC(Transfer Protocol Command)라고 함)를 이용하여, 레지스터 회로(13)에 대하여 액세스를 행한다. 즉, 레지스터 회로(13)에 저장되는 컨트롤 커맨드나 각종 파라미터에 대하여 호스트 기기(2)가 기입이나 판독을 하는 경우에는, TPC을 이용하여 행한다.
데이터 버퍼 회로(14)는, 불휘발성 반도체 메모리(17)에 기입되는 데이터, 및, 불휘발성 반도체 메모리(17)로부터 판독된 데이터를, 일시적으로 보존하는 메모리 회로이다. 즉, 호스트 기기(2)로부터 불휘발성 반도체 메모리(17)에 데이터가 기입되는 경우에는, 기입 대상 데이터가 호스트 기기(2)로부터 데이터 버퍼 회로(14)로 데이터 전송 프로토콜에 따라서 전송되고, 그 후, 데이터 버퍼 회로(14)에 저장되어 있는 기입 대상 데이터를 메모리 I/F 컨트롤러(16)가 불휘발성 반도체 메모리(17)에 기입한다. 불휘발성 반도체 메모리(17)로부터 호스트 기기(2)로 데이터가 판독되는 경우에는, 메모리 I/F 컨트롤러(16)가 불휘발성 반도체 메모리(17)로부터 판독 대상 데이터를 판독하여 일단 데이터 버퍼 회로(14)에 저장하고, 그 후, 그 판독 대상 데이터가 데이터 전송 프로토콜에 따라서 데이터 버퍼 회로(14)로부터 호스트 기기(2)로 전송된다.
또, 데이터 버퍼 회로(14)는, 소정의 데이터 기입 단위(예를 들면, 플래시 메모리의 페이지 사이즈와 동일한 512 바이트) 분의 데이터 용량을 갖고 있다. 또, 호스트 기기(2)는, TPC을 이용하여, 데이터 버퍼 회로(14)에 대하여 액세스를 행한다. 즉, 데이터 버퍼 회로(14)에 저장되는 데이터에 대하여, 호스트 기기(2)가 기입이나 판독을 하는 경우에는, TPC을 이용하여 행한다.
ECC 회로(15)는, 불휘발성 반도체 메모리(17)에 기입되는 데이터에 대하여 오류 정정 코드(ECC)를 부가한다. 또한, ECC 회로(15)는, 불휘발성 반도체 메모리(17)로부터 판독한 데이터에 부가되어 있는 오류 정정 코드에 기초하여, 이 판독한 데이터에 대한 오류 정정 처리를 행한다. 예를 들면, 오류 정정 코드는, 512 바이트의 데이터 단위에 대하여 3 바이트분 부가된다.
메모리 I/F 컨트롤러(16)는, 레지스터 회로(13) 내에 저장되어 있는 컨트롤 커맨드에 따라, 데이터 버퍼 회로(14)와 불휘발성 반도체 메모리(17)와의 사이의 데이터의 교환을 제어하고, 불휘발성 반도체 메모리(17)의 데이터의 시큐러티 관리의 제어, 메모리 카드(1)의 그 밖의 펑션의 제어, 및, 레지스터 회로(13) 내에 저장되어 있는 데이터의 갱신 처리 등을 행한다.
불휘발성 반도체 메모리(17)는, 예를 들면, NAND형의 플래시 메모리 등의 불휘발성의 반도체 메모리이다. 불휘발성 반도체 메모리(17)의 용량은, 예를 들면 16M 바이트, 32M 바이트, 64M 바이트, 128M 바이트이다. 불휘발성 반도체 메모리(17)는, 소거 블록 단위가, 예를 들면 16K 바이트이다. 기입 및 판독 단위는 페이지라 칭해지고, 데이터 버퍼 회로(14)와 동일한 512 바이트이다. 발진 제어 회로(18)는, 본 메모리 카드(1) 내의 동작 클럭을 발생시킨다.
메모리 카드(1)의 접속 단자에는, VSS 단자, VCC 단자, DATA0 단자, DATA1 단자, DATA2 단자, DATA3 단자, BS 단자, CLK 단자, INS 단자가 형성되어 있다. 또, VSS 단자는 2개 형성되어 있기 때문에, 메모리 카드(1)에는, 합계 10개의 접속 단자가 형성되어 있게 된다. 호스트 기기(2)측에도 마찬가지의 접속 단자가 형성되어 있다.
VSS 단자는, VSS(기준 0 볼트 전압)이 접속된다. 이 VSS 단자는, 호스트 기기 측의 접지와 메모리 카드 측의 접지를 접속하여, 호스트 기기와 메모리 카드와의 0 볼트 기준 전위를 일치시킨다. VCC 단자는, 전원 전압(VCC)이 호스트 기기로부터 공급된다.
DATA0 단자는, 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4 비트 병렬 데이터 중의 최하위 비트의 데이터 신호(DATA0)가 입출력된다. DATA1 단자는, 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4 비트 병렬 데이터 중의 하위로부터 2 비트 째의 데이터 신호(DATA1)가 입출력된다. DATA2 단자는, 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4 비트 병렬 데이터 중의 하위로부터 3 비트 째의 데이터 신호(DATA2)가 입출력된다. DATA3 단자는, 메모리 카드(1)와 호스트 기기(2)와의 사이에 전송되는 4 비트 병렬 데이터 중의 하위로부터 4 비트 째의 데이터 신호(DATA3)가 입출력된다.
BS 단자는, 버스 스테이트 신호가 호스트 기기로부터 메모리 카드로 입력된다. CLK 단자는, 클럭 신호가 호스트 기기(2)로부터 입력된다. INS 단자는, 메모리 카드가 슬롯에 삽입되어 있는가, 또는, 삽입되어 있지 않은 가를, 호스트 기기(2)가 판단하기 위한 삽입/발출 검출에 이용된다. 메모리 카드(1)의 INS 단자는 접지에 접속되어 있고, 호스트 기기(2)의 INS 단자는 저항을 개재하여 풀-업되어 있다.
다음으로, 메모리 카드(1)와 호스트 기기(2)와의 사이의 데이터 전송을 하기 위한 인터페이스의 기능 구성을 도 5를 참조하여 설명한다.
호스트 기기(2)의 인터페이스 기능은, 도 5에 도시한 바와 같이, 파일 매니저(31)와, TPC 인터페이스(32)와, 병렬 인터페이스(33)로 구성된다. 또한, 메모리 카드(1)의 인터페이스 기능은, 병렬 인터페이스(33)와, 레지스터(35)와, 데이터 버퍼(36)와, 메모리 컨트롤러(37)와, 메모리(38)로 구성된다.
파일 매니저(31)는, 호스트 기기의 오퍼레이션 시스템으로서, 메모리 카드(1) 내에 저장되어 있는 파일, 및, 호스트 기기의 다른 미디어에 저장되어 있는 파일의 관리를 행한다. 본 실시의 형태에서는, 파일 매니저(31)는, 오퍼레이션 시스템으로서 MS-DOS(Microsoft Disc Operation System)(등록상표)가 이용된다. 파일 매니저(31)는, MS-DOS에 의해 호스트 기기(2)에 접속되어 있는 다른 스토리지 미디어도 관리하고 있다. 파일 매니저(31)는 호스트 기기(2) 내의 컨트롤러 내에 실현되는 기능이다.
TPC 인터페이스(32)는 파일 매니저(31)의 하위층이 되는 인터페이스 기능이다. TPC 인터페이스(32)는 본 인터페이스의 특유의 커맨드(TPC: Transfer Protocol Command)가 규정된 데이터 전송 프로토콜에 의해 메모리 카드(1) 내의 레지스터(35) 및 데이터 버퍼(36)에 액세스를 행한다. 이 TPC 인터페이스(32)는 호스트 기기(2) 내의 컨트롤러 등에 의해 실현되는 기능이다.
병렬 인터페이스(33, 34)는, TPC 인터페이스(32)의 하위 층이 되고, 본 인터페이스 시스템의 물리계층이다. 병렬 인터페이스(33, 34)는, 4 비트 병렬 데이터, 클럭, 버스 스테이트 신호의 6개의 신호를 전송하는 데이터 전송 프로토콜인 6선식 반2중 병렬 프로토콜에 따라, 데이터 전송을 행한다. 병렬 인터페이스(33, 34)는 병렬 인터페이스 회로(12)에 의해 실현되는 기능이다.
레지스터(35)는, 호스트로부터 전송된 컨트롤 커맨드, 메모리 카드의 내부 상태, 메모리(38)에 액세스하는 데이터의 어드레스, 컨트롤 커맨드를 실행할 때에 필요한 제반의 파라미터, 메모리 내의 파일 관리 정보 등을 저장한다. 레지스터(35)는 메모리 카드(1)의 레지스터 회로(13) 상에 실현되는 기능이다.
데이터 버퍼(36)는, 메모리(38)에 기입되는 데이터, 및, 메모리(38)로부터 판독된 데이터를, 일시적으로 보존하는 버퍼 영역이다. 데이터 버퍼(36)는, 메모리 카드(1)의 데이터 버퍼 회로(14) 상에 실현되는 기능이다.
메모리 I/F 컨트롤러(37)는, 레지스터(35) 내에 저장되어 있는 커맨드 및 각종 정보에 따라, 데이터 버퍼(36)와 메모리(38)와의 사이의 데이터의 판독, 기입, 소거, 및, 레지스터(35) 내의 각종 정보의 갱신 등의 제어를 행한다. 메모리 I/F 컨트롤러(37)는, 호스트 기기(2) 상의 메모리 I/F 컨트롤러(16)에 의해 실현되는 기능이다.
메모리(38)는, 데이터의 메모리 영역이고, 메모리 I/F 컨트롤러(37)를 통해서 독자의 모델로서 가상화되어 있다. 메모리(38)는, 메모리 카드(1) 상의 불휘발성 반도체 메모리(17)에 의해 실현되는 기능이다.
이상과 같은 구성의 호스트 기기 및 메모리 카드에서는, 파일 매니저(31)에 관리되어 있는 다른 미디어에 저장되어 있는 데이터를, 병렬 인터페이스(33, 34)를 통하여 메모리(38)로 전송할 수 있다. 파일 매니저(31)는, 본 메모리 카드와 다른 스토리지 디바이스를, 오퍼레이션 시스템(MS-DOS)으로 공통으로 관리하고 있기 때 문에, 예를 들면, 메모리(38)에 저장되어 있는 데이터를 다른 스토리지 미디어에 전송하거나, 다른 스토리지 미디어에 저장되어 있는 데이터를 메모리(38)에 전송하거나 할 수 있다.
다음으로, 메모리 카드(1)의 데이터 저장 영역(불휘발성 반도체 메모리(17))의 물리포맷에 대하여 설명한다.
메모리 카드(1)는, 사용자에게 생성된 파일이 저장되는 사용자 에리어와, 본 메모리 카드(1)의 내부 정보 등이 저장되어 있는 시스템 에리어로 구성되어 있다. 사용자 에리어 및 시스템 에리어는, 모두 컨트롤 커맨드를 이용하여 호스트 기기(2)로부터 액세스가 가능하다. 단, 사용자 에리어와 시스템 에리어란, 서로 다른 어드레스 공간에 형성되어 있고, 서로 다른 컨트롤 커맨드에 의해 호스트 기기(2)로부터 액세스가 행하여진다.
사용자 에리어는, 예를 들면 64K 바이트 또는 128K 바이트의 블록이라고 불리는 단위로 물리적으로 분할되어 있다. 이 블록이 본 메모리 카드(1)에 있어서의 일괄 소거의 단위가 된다. 즉, 플래시 메모리에 있어서의 소거 블록이, 본 블록에 대응한다.
블록에는, 유효 블록 및 예비 블록의 2 종류가 있다. 유효 블록은, 파일의 실체 데이터 등이 기록되는 블록이다. 예비 블록은, 후발성의 불량의 대체 데이터가 기록되는 영역이다.
사용자 에리어는, 호스트 기기(2)로부터는 섹터 단위로 연속하는 에리어로서 인식되지만, 내부에서는 유효인 데이터를 기록하는 섹터 번호로부터 도출되는 논리 블록 번호와 물리 블록 번호로 관리되고 있다. 논리 블록 번호와 물리 블록 번호의 대응 정보는 물리 블록의 관리 에리어인 용장부에 기록함과 함께, 대응을 데이터화한 상태에서 호스트 기기(2)로부터는 액세스할 수 없는 시스템 에리어에 기록하고 있다.
각 블록에는, 블록의 저장 위치를 특정하는 물리 블록 번호가 설정되어 있다. 이 물리 블록 번호는, 유효 블록 및 예비 블록의 구별에 상관없이 고유하게 번호가 설정되어 있다. 유효 블록에는, 논리 블록 번호가 기록된다. 논리 블록 번호는, 각 블록 내의 소정의 영역에 기입된다. 논리 블록 번호는, 본 메모리 카드(1)의 초기화 시에 기록된다. 블록에 불량이 발생한 경우에는, 미 기록의 예비 블록에 대하여, 불량 블록의 논리 블록 번호를 기입하여, 논리 블록 번호의 대체가 행하여진다. 각 블록 내는, 페이지라고 불리는 기입 판독 단위로 분할되어 있다. 이 페이지가, 후술하는 논리 포맷에 있어서의 섹터와 일대일로 대응한다.
각 블록에 붙여지는 논리 블록 번호는, 후술하는 논리 포맷에 있어서의 클러스터 번호 및 LBA 섹터 번호와 일의적으로 대응한다. 호스트 기기(2)측으로부터는, 후술하는 논리 포맷으로 데이터 저장 영역에 대하여 가상적으로 액세스가 이루어지지만, 메모리 I/F 컨트롤러(16)가, 논리 블록 번호와 물리 블록 번호와의 대응 관계가 기술된 논리-물리 변환 테이블을 이용하여 어드레스 변환을 행한다. 그 때문에, 호스트 기기(2)측은, 물리적으로 데이터가 기록되어 있는 위치를 파악하지 않더라도, 논리적인 어드레스(클러스터 번호나 LBA 섹터 번호)를 이용하여 불휘발성 반도체 메모리(17)에 대하여 액세스를 행하는 것이 가능하게 된다.
다음으로, 시스템 에리어의 물리 포맷을 설명한다.
시스템 에리어에는, 본 메모리 카드(1)를 제어하기 위해서 필요해지는 정보가 기록되는 속성 정보 에리어가 형성되어 있다.
속성 정보 에리어에 기록되는 데이터는, 도 6에 도시한 바와 같은 구조를 갖는다.
속성 정보 에리어에는, 도 6에 도시한 바와 같이, "ATRB info area confirmation", "Device-Information entry", "System information", "MBR Values", "PBR Values"가 기록되어 있다.
"ATRB info area confirmation"에는, 해당 속성 정보 에리어를 식별하기 위한 식별 코드가 포함되어 있다.
"Device-Information entry"는, 이하의 "Device-Information(System information, MBR Values, PBR Values)"의 각 기록 위치를 나타낸다. 기록 위치는, 속성 정보 에리어의 오프셋치로 표시된다.
"System information"에는, 본 메모리 카드(1)의 내부 정보가 기록된다. 예를 들면, "System information"에는, 버전이나 클래스 정보, 1 블록의 바이트 수, 1 블록에 포함되는 섹터수, 토탈 블록 수, 어셈블리 일시, 일련 번호, 어셈블리 메이커 번호, 플래시 메모리의 메이커 번호, 플래시 메모리의 모델 번호, 컨트롤러의 번호, 컨트롤러의 기능, 블록 경계의 개시 섹터 번호, 디바이스 타입(리드 라이트 가능, 리드온리 등) 등이 기록된다.
또, "System information"에 기록되어 있는 「1 블록에 포함되는 섹터수」 및 「블록 경계의 개시 섹터 번호」는, 호스트 기기(2)가 「리얼타임 기록 모드」로 데이터를 기록할 때에 참조되게 된다. 「리얼타임 기록 모드」의 처리에 대해서는, 그 상세를 후술한다.
"MBR Values"에는, MS-DOS 상에서 규정되어 있는 「MBR」(Master Boot Record)의 추장(推奬) 파라미터가 기록되어 있다. 예를 들면, "MBR Values"에는, MBR 내에 기록되는 부트 식별, 개시 헤드 번호, 개시 실린더 번호, 시스템 식별, 최종 헤드 번호, 최종 섹터 번호, 최종 실린더 번호, 개시 LBA 섹터 번호, 파티션 사이즈가 기록된다. 개시 LBA 섹터 번호에 나타난 섹터가, 「PBR」(Partition Boot Record)의 기록 위치가 된다. 즉, MS-DOS 상에서 규정되어 있는 각 파티션의 개시 위치가 된다. 또, MS-DOS에서는, 1개의 스토리지 미디어 내에, 복수의 파티션을 형성하는 것이 가능하게 되어 있지만, 본 예에서는 불휘발성 반도체 메모리(17)에 형성되는 파티션은 1개인 것으로 하고 있다.
본 발명은, 1개만의 파티션을 형성한 경우의 메모리 카드에 한정하여 적용되는 것이 아니라, 복수의 파티션을 형성한 경우의 메모리 카드에 적용해도 된다.
"PBR Values"에는, MS-DOS 상에서 규정되어 있는 「PBR」의 추장 파라미터가 기록되어 있다. 예를 들면, "PBR Values"에는, PBR 내에 기록되는 점프 코드, OEM 명과 버전, 1 섹터 당의 바이트 수, 1 클러스터 당의 섹터수, 예약 섹터수, FAT(File Allocation Table) 수, 루트 디렉토리 엔트리의 엔트리 수, 미디어 내의 섹터의 수, 미디어 ID, 1 FAT 당의 섹터수, 1 헤드 당의 섹터수, 헤드 수, 히든 섹터수, 논리 섹터의 합계 수, 물리 드라이브 번호, 확장 부트 식별, 볼륨의 일련 번호, 볼륨 라벨, 파일 시스템 타입이 기록된다.
본 발명에 따른 메모리 카드(1)의 데이터 저장 영역(불휘발성 반도체 메모리(17))의 물리 포맷은, 이상과 같이 구성되어 있다.
또, 본 발명에 따른 메모리 카드(1)에는, 컨트롤 커맨드로서, 속성 정보를 판독하는 커맨드(READ_ATRB)가 설정되어 있다. 호스트 기기(2)는, "MBR Values" 및 "PBR Values"을, READ_ATRB 커맨드를 이용하여 판독함으로써, 어셈블리 메이커에 의해 추장되는 논리 포맷으로, 메모리 카드(1)를 초기화하는 것이 가능하게 된다. 또, 본 메모리 카드(1)에는, 컨트롤 커맨드로서, 불휘발성 반도체 메모리(17)를 초기화하는 커맨드(FORMAT)가 설정되어 있다. 호스트 기기(2)는, 메모리 카드(1)에 대하여 FORMAT 커맨드를 제공하면, 메모리 I/F 컨트롤러(16)가 속성 정보 에리어 내에 기록되어 있는 "MBR Values" 및 "PBR Values"을 참조하여, 이 "MBR Values" 및 "PBR Values"의 내용에 따라 불휘발성 반도체 메모리(17)를 초기화한다. 메모리 카드(1)의 초기화에 대해서는, 그 상세를 후술한다.
다음으로, 본 발명에 따른 메모리 카드(1)에 적용되는 논리 포맷에 대하여 설명을 한다.
본 발명에 따른 메모리 카드에서는, 데이터 저장 영역에 대한 논리 포맷으로서, MS-DOS 호환 포맷을 채용하고 있다. MS-DOS 호환 포맷은, 계층 디렉토리 구조로 미디어 내에 기록되어 있는 데이터 파일을 관리하는 파일 시스템이다. MS-DOS 호환 포맷에서는, 실린더, 헤드, 섹터라고 불리는 단위로 미디어에 대하여 데이터의 액세스가 행하여진다. 미디어에 대한 실제의 데이터의 판독/기입의 단위는 섹 터가 된다. 또한, MS-DOS 호환 포맷에서는, 기록되어 있는 데이터를 관리하는 데 있어서 클러스터라는 단위를 정하고 있다. 클러스터의 사이즈는, 섹터의 사이즈의 배수가 된다. 예를 들면, 64 섹터로 1 클러스터가 구성된다. 호스트 기기(2)측의 오퍼레이션 시스템 상에서는, 클러스터 단위로 파일의 관리가 행하여진다.
본 발명에 따른 메모리 카드(1)에 적용되는 논리 포맷에서는, 블록의 사이즈보다도 클러스터의 사이즈가 작고, 또한, 클러스터의 사이즈의 n 배(n은 2 이상의 정수)가 1개의 블록의 사이즈가 된다. 예를 들면, 1 블록의 데이터 사이즈가 128K 바이트인 경우, 1 클러스터의 데이터 사이즈가 32K 바이트, 즉, 1개의 블록 내에 4 클러스터가 기록된다.
본 발명에 따른 메모리 카드(1)에 적용되는 논리 포맷은, 블록의 경계 위치가, 반드시 클러스터의 경계 위치와 일치하도록, 설정이 된다. 즉, 1개의 클러스터가, 2개의 블록에 걸치지 않도록 설정이 된다.
논리 포맷을 이상과 같은 조건으로 설정하기 위해서는, MS-DOS의 파일 관리 데이터(MBR, PBR, FAT, 루트 디렉토리)의 기록 위치나, 각 파일 관리 데이터 내에 기록되는 파라미터를 조정하면 된다. 이러한 조건으로 논리 포맷을 행하기 위한 파라미터는, 속성 정보 내의 "MBR Values" 및 "PBR Values"에 기록되어 있다.
MS-DOS의 파일 관리 데이터의 내용은 이하와 같다.
MBR는, 사용자 영역의 선두에 배치된다. MBR 내에 기술되는 내용은, 속성 정보 내의 "MBR Values"에 기술되는 내용과 마찬가지이다.
PBR는, 각 파티션의 선두 섹터에 배치된다. PBR가 기록되어 있는 섹터는, MBR 내의 개시 LBA 섹터 번호에 기술되어 있다. 또, LBA 섹터 번호란, 유효 블록 내, 또는 유효 블록으로부터 대체된 대체 블록의 각 섹터에 고유하게 붙여진 번호이다. LBA 섹터 번호는, 논리 블록 번호가 0의 블록의 선두 섹터로부터, 승순으로 붙여져 있다.
FAT는, PBR에 계속되는 다음의 섹터로부터, 복수의 섹터에 걸쳐 기록된다. FAT는, 사용자 영역으로 다루어지는 파일의 연결 상태를 클러스터 단위로 나타내고 있다.
미디어 상에 기록되어 있는 데이터는, 클러스터 단위로 관리되어 있는데, 1개의 파일의 본체가 복수의 클러스터에 걸치는 경우에는, 1개의 클러스터를 최후까지 판독한 후에, 다음의 클러스터를 판독하지 않으면 안 된다. 그러나, 다음 클러스터는, 반드시 물리적으로 연속하는 위치에 기록되어 있다고는 한정되지 않는다. 그 때문에, 호스트 기기(2)는, 미디어 상에 기록되어 있는 데이터에 대하여 액세스를 행하는 경우, 어떤 1개의 클러스터에 계속되는 클러스터가, 어느 클러스터인지를 나타내는 정보가 필요해진다. 이러한 정보가 기록되어 있는 것이, FAT 이다.
FAT에는, 미디어 상에 존재하는 클러스터 수와 동일한 만큼의, 저장 영역이 형성되어 구성되어 있다. 미디어 상에 존재하는 모든 클러스터에는, 02(16진수)로부터 시작되는 클러스터 번호가 붙여져 있다. FAT 내의 각 저장 영역에는, 클러스터 번호가 일의적으로 할당된다. 각 저장 영역에는, 자기가 할당되어 있는 클러스터에 접속한 다음의 클러스터의 번호가 저장된다. 이 때문에, 어떤 클러스터에 접속되는 다음의 클러스터를 찾아내고자 하는 경우에는, 그 클러스터가 할당되어 있 는 저장 영역에 저장되어 있는 번호를 참조하면 된다.
또, 본 메모리 카드(1)에서는, 백 업을 위해 2개의 FAT(FAT1, FAT2)를 기록하고 있다. 또, 1개의 FAT가 물리적인 데이터 사이즈는, 미디어 내의 클러스터 수가 변화하지 않기 때문에, 데이터 내용이 갱신되었다고 해도 반드시 일정해 진다.
루트 디렉토리 엔트리는, 루트 디렉토리에 배치되는 각 파일 및 서브디렉토리의 엔트리 정보가 기술된다. 루트 디렉토리 엔트리는, FAT가 기록된 최종 섹터에 계속되는 다음의 섹터로부터 기록된다. 1개의 엔트리 정보의 바이트 수는 규정치이고, 또한, 루트 디렉토리에 배치되는 엔트리 수도 규정치가 된다. 그 때문에, 루트 디렉토리 엔트리의 데이터 사이즈는, 반드시 일정해 진다. 또, MS-DOS 호환 포맷의 확장형인 FAT32 파일 시스템에서는 루트 디렉토리 엔트리의 특별 취급은 폐지되어, 루트 디렉토리 엔트리도 클러스터의 관리화에 있게 된다.
MS-DOS 호환 포맷에서는, 이상의 파일 관리 데이터에 계속되는 다음의 섹터로부터, 최초의 클러스터(클러스터 번호 "02")가 개시된다. 즉, 루트 디렉토리 엔트리가 기록된 최종 섹터의 다음의 섹터 이후가, 사용자에 의해 생성된 실제의 파일이 기록되는 영역이 된다. 따라서, 본 메모리 카드(1)에서는, 이 클러스터 번호 02의 최초의 섹터가, 반드시, 블록의 선두 섹터로 되도록, 상기의 파일 관리 데이터가 기록된다. 본 메모리 카드(1)에서는, 사용자 영역 내의 어느 하나의 블록의 개시 섹터의 LBA 섹터 번호가, 속성 정보 내의 「블록 경계의 개시 섹터 번호」에 기술된다.
또, 본 발명에 따른 메모리 카드(1)에는, 소위 수퍼플로피 방식이라 불리는 포맷을 적용해도 된다. 수퍼플로피 방식에서는, 상술한 MBR에 대응하는 관리 데이터가 존재하지 않고, PBR가 사용자 영역의 선두에 기록된다. 본 발명은, MS-DOS 호환 포맷에 한하지 않고, 수퍼플로피 방식과 같은 MBR가 존재하지 않는 포맷에도 적용할 수 있다.
다음으로, 호스트 기기(2)에 의한 메모리 카드(1)의 초기화 처리, 및, 데이터 기록 처리에 대하여 설명한다.
본 발명에 따른 메모리 카드(1)를 호스트 기기(2)의 오퍼레이션 시스템으로부터 참조 가능하게 하기 위해서는, 메모리 카드(1)를 MS-DOS의 파일 시스템으로 초기화할 필요가 있다. 초기화 처리는, 적어도 파일 관리 데이터(MBR, PBR, FAT, 루트 디렉토리 엔트리)의 기록을 행하면 된다. 초기화 처리는, 통상, 메모리 카드(1)의 공장 출하 시에 행해지고 있지만, 필요에 대응하여 사용자가 행할 수도 있다.
본 메모리 카드(1)에 대하여 초기화 처리를 행하기 위해서는, 2개의 방법이 있다. 제1 방법은, 기입용의 컨트롤 커맨드를 이용하여 필요한 데이터를 소정의 섹터에 기입해 가는 방법이다. 제2 방법은, 초기화용의 컨트롤 커맨드를 이용하는 방법이다.
상기 제1 방법 및 제2 방법을 설명하는 데 있어서, 우선, 컨트롤 커맨드에 대하여 설명한다.
메모리 카드(1)에서는, 메모리 I/F 컨트롤러(16)에 대하여, 호스트 기기(2)로부터 동작 제어 커맨드가 전송되는 것이, 인터페이스 프로토콜 상에서 정해져 있 다. 컨트롤 커맨드는, 호스트 기기(2)로부터 TPC의 중의 커맨드 세트 명령에 의해 레지스터 회로(13) 내의 커맨드 레지스터에 저장된다. 메모리 I/F 컨트롤러(16)는, 커맨드 레지스터 내에 컨트롤 커맨드가 저장되면, 그 컨트롤 커맨드에 대응한 동작 제어를 실행한다.
컨트롤 커맨드에는, 예를 들면, 불휘발성 반도체 메모리(17)로부터 데이터 버퍼 회로(14)로 데이터를 판독하는 커맨드, 데이터 버퍼 회로(14)로부터 불휘발성 반도체 메모리(17)에 데이터를 기입하는 커맨드, 불휘발성 반도체 메모리(17) 상의 데이터를 소거하는 커맨드, 본 메모리 카드(1)를 공장 출하 상태로 복귀시키는 포맷 커맨드, 메모리 카드(1)의 발진기(18)의 동작을 정지시키는 슬립 커맨드 등이 있다.
이하에, 컨트롤 커맨드의 구체예를 기술한다.
READ_DATA 커맨드는, 불휘발성 반도체 메모리(17)의 사용자 에리어의 지정 어드레스에서 데이터를 연속적으로, 판독하여 가는 명령이다. 메모리 I/F 컨트롤러(16)는, 이 READ_DATA 커맨드가 주어지면, 레지스터 회로(13) 내의 어드레스 레지스터에 저장되어 있는 어드레스를 참조하여, 불휘발성 반도체 메모리(17) 상의 어드레스에 대하여 액세스를 행하고, 이 어드레스로부터 데이터를 판독하여 간다. 판독한 데이터는, 일단 데이터 버퍼 회로(14)로 전송한다. 메모리 I/F 컨트롤러(16)는, 데이터 버퍼 회로(14)가 가득 차면, 즉, 512 바이트분 데이터를 판독하면, 호스트 기기(2)에 대하여 전송요구의 인터럽트를 발행한다. 그리고, 호스트 기기(2)에 의해서 데이터 버퍼 회로(14) 내의 데이터가 판독되면, 계속되는 데이터를 불휘발성 반도체 메모리(17)로부터 데이터 버퍼 회로(14)로 전송해 간다. 메모리 I/F 컨트롤러(16)는, 레지스터 회로(13) 내의 데이터 카운트 레지스터에 저장되어 있는 데이터 수만큼 데이터를 판독할 때까지, 이상의 처리를 반복한다.
WRITE_DATA 커맨드는, 데이터 버퍼 회로(14)에 저장되어 있는 데이터를, 불휘발성 반도체 메모리(17)의 사용자 에리어의 지정 어드레스로부터 데이터를 연속적으로 기록해 가는 명령이다. 메모리 I/F 컨트롤러(16)는, WRITE_DATA 커맨드가 주어지면, 레지스터 회로(13) 내의 데이터 어드레스 레지스터에 저장되어 있는 어드레스를 참조하여, 불휘발성 반도체 메모리(17) 상의 어드레스에 대하여 액세스를 행하고, 이 어드레스로부터 데이터를 기입하여 간다. 기입할 데이터는, 데이터 버퍼 회로(14)에 저장되어 있는 데이터이다. 메모리 I/F 컨트롤러(16)는, 데이터 버퍼 회로(14) 내가 비어지게 되면, 즉, 512 바이트분 데이터를 기입하면, 호스트 기기(2)에 대하여 전송요구의 인터럽트를 발행한다. 그리고, 호스트 기기(2)에 의해서 데이터 버퍼 회로(14) 내에 데이터가 기입되면, 계속되는 데이터를 데이터 버퍼 회로(14)로부터 불휘발성 반도체 메모리(17)로 기입하여 간다. 메모리 I/F 컨트롤러(16)는, 레지스터 회로(13) 내의 데이터 카운트 레지스터에 저장되어 있는 데이터 수만큼 데이터를 기입할 때까지, 이상의 처리를 반복한다.
READ_ATRB 커맨드는, 불휘발성 반도체 메모리(17)로부터 속성 정보를 판독하는 명령이다. 메모리 I/F 컨트롤러(16)는, 이 READ_ATRB가 주어지면, 불휘발성 반도체 메모리(17) 내의 속성 정보를 판독하여, 데이터 버퍼 회로(14)로 전송한다.
FORMAT 커맨드는, 불휘발성 반도체 메모리(17)로부터 속성 정보를 판독하여, 이 속성 정보 내의 "MBR Values" 및 "PBR Values"을 판독하여, 그 값에 따라, 불휘발성 반도체 메모리(17) 내에 MBR, PBR, FAT, 루트 디렉토리 엔트리를 기입하여 간다.
이상이 컨트롤 커맨드의 설명이다.
메모리 카드(1)를 제1 방법으로 초기화하는 경우에는, 호스트 기기(2)는, READ_ATRB 커맨드를 이용하여, 속성 정보 내의 "MBR Values" 및 "PBR Values"을 판독한다. 그리고, 판독한 "MBR Values" 및 "PBR Values"에 기술되어 있는 값을 참조하여, MBR, PBR, FAT, 루트 디렉토리를 생성한다. 그리고, 또한, "MBR Values" 및 "PBR Values"에 기술되어 있는 소정의 섹터에 대하여, WRITE_DATA 커맨드를 이용하여, 생성한 MBR, PBR, FAT, 루트 디렉토리 엔트리를 기입하여 간다. 이러한 처리를 행함으로써, 메모리 카드(1)가 초기화되어, 호스트 기기(2)에 의해 참조 가능하게 된다.
또, MBR, PBR, FAT, 루트 디렉토리 엔트리의 값은, 속성 정보 내의 "MBR Values" 및 "PBR Values"에 따르지 않고, 호스트 기기(2)가 독자적으로 생성해도 된다.
메모리 카드(1)를 제2 방법으로 초기화하는 경우에는, 호스트 기기(2)는, FORMAT 커맨드를 호스트 기기(2)의 메모리 I/F 컨트롤러(16)에 제공한다. 메모리 I/F 컨트롤러(16)는, FORMAT 커맨드가 주어지면, 속성 정보 내의 "MBR Values" 및 "PBR Values"을 판독한다. 그리고, 메모리 I/F 컨트롤러(16)는, 판독한 "MBR Values" 및 "PBR Values"에 기술되어 있는 값에 기초하여, "MBR Values" 및 "PBR Values"에 기술되어 있는 소정의 섹터에 대하여, 불휘발성 반도체 메모리(17)에 대하여 MBR, PBR, FAT, 루트 디렉토리 엔트리를 기입하여 간다. 이러한 처리를 행함으로써, 메모리 카드(1)가 초기화되어, 호스트 기기(2)에 의해 참조 가능하게 된다.
이상과 같이, 본 발명에 따른 메모리 카드(1)에서는, 호스트 기기(2)가 기입용의 커맨드(WRITE_DATA 커맨드)를 이용하여, 호스트 기기(2) 자신이 생성한 파라미터를 기입하며 초기화를 행하는 방법과, 호스트 기기(2)가 초기화용의 커맨드(FORMAT 커맨드)를 이용하여, 메모리 카드(1)가 자동적으로 초기화를 행하는 방법의 2 종류의 초기화를 선택적으로 행하는 것이 가능하게 된다. 호스트 기기(2)에서는, 메모리 카드(1)에 대하여 초기화를 행하는 경우에, 초기화용의 커맨드(FORMAT 커맨드)를 이용할 수 있기 때문에, 각 버전이나 규격마다 대응한 전용의 파라미터나 초기화 처리 프로그램을 내장할 필요가 없어져, 용이하게 초기화를 행할 수 있다.
계속해서, 호스트 기기(2)로부터 메모리 카드(1)에 대하여 데이터를 기록하는 경우의 동작에 대하여, 도 7을 참조하여 설명을 한다.
호스트 기기(2)는, 메모리 카드(1)가 슬롯에 장착되면, 속성 정보를 판독하는 커맨드(READ_ATRB 커맨드)를 이용하여, 속성 정보 내의 "System information"로부터, 「1 블록에 포함되는 섹터수」 및 「블록 경계의 개시 섹터 번호」를 판독한다(단계 S11).
계속해서, 호스트 기기(2)는, 사용자에 의해 기록 동작이 개시될 때까지, 처 리를 대기한다(단계 S12).
사용자에 의해 기록 동작이 개시되면, 현재의 기록 모드가, 리얼타임 기록 모드인지, 통상 기록 모드인지를 판단한다(단계 S13).
기록 모드가 통상 기록 모드인 경우에는 단계 S14로 진행하고, 리얼타임 기록 모드인 경우에는 단계 S15에 진행한다.
여기서, 리얼타임 기록 모드란, 예를 들면, 동화상 신호의 실시간 기록을 행하는 경우 등의 기록 데이터의 생성 처리에 대하여 데이터 기록 처리가 추종해야만 하는 기록 처리나, 대용량 데이터의 기록 처리 등의 고속 기록이 요구되는 기록 처리인 경우에, 적용되는 모드이다. 그것에 대하여, 통상 기록 모드란, 예를 들면, 정지 화상 신호의 기록을 행하는 경우 등의 고속 기록이 요구되지 않는 경우의 기록 모드이다. 리얼타임 기록과 통상 기록의 모드 선택은, 사용자가 수동으로 설정해도 되고, 호스트 기기(2)가 기록하는 데이터에 맞추어서 자동 선택해도 된다.
단계 S14에서는, 1 클러스터 단위에서의 기록 처리를 행한다. 즉, FAT을 참조하여 클러스터 단위로 빈 영역을 검색하고, 찾아낸 빈 영역에 순차 데이터를 기록해 간다.
단계 S15에서는, FAT를 참조하여, 1 블록분 연속된 빈 영역을 찾아내고, 1 블록분 연속하여 빈 영역이 있으면, 그 블록에 대하여 연속하여 데이터를 기록한다. 즉, 빈 클러스터가 있었다고 해도, 그 빈 클러스터가 포함되어 있는 블록의 다른 클러스터에, 이미 데이터가 기록되어 있으면, 그 빈 클러스터에 대해서는 데이터를 기록하지 않는다. 예를 들면, 1 블록이 4 클러스터로 구성되어 있으면, 4 클러스터 단위로 빈 블록에 대하여 데이터를 기록해 간다.
호스트 기기(2)는, 통상이면, 물리 포맷 상의 블록의 인식을 할 수 없지만, 본 메모리 카드(1)에서는, 블록의 경계 위치가 반드시 클러스터의 경계 위치가 되도록 논리 포맷이 형성되어 있다. 그 때문에, 1 블록 내의 클러스터 수(또는 섹터수)와 블록의 경계의 클러스터 번호(또는 LBA 섹터 번호)를 알면, 논리 포맷 상으로부터 블록을 인식할 수 있다. 따라서, 호스트 기기(2)는, 1 블록 내의 클러스터 수 및 블록의 선두 클러스터의 위치를, 단계 S11에서 참조한 「1 블록에 포함되는 섹터수」 및 「블록 경계의 개시 섹터 번호」로부터 판단할 수 있다.
이러한 리얼타임 기록 모드를 적용하면, 클러스터의 사이즈보다 소거 블록의 사이즈 쪽이 큰 미디어에 대하여도, 특수한 파일 시스템을 이용하지 않고, 블록 단위로 데이터를 기록하는 것이 가능하게 된다. 이 때문에, 이 리얼타임 기록 모드에서는, 기록 완료 데이터를 보호하기 위해서 필요해지는 가비지 컬렉션이 발생하지 않고, 데이터가 기록된다. 따라서, 통상적으로 클러스터 단위로 기록을 하는 것보다도, 고속으로 기록하는 것이 가능하게 된다.
또, 통상의 파일 시스템에서는, 데이터의 기록 전 또는 기록 중에, 미디어 내의 비어있는 용량을 확인하는 것이 가능하다. 호스트 기기(2)는, 통상 기록 모드가 선택되어 있는 경우에는, FAT로부터 단순하게 빈 클러스터 수를 검출하여, 빈 용량을 산출한다. 한편, 리얼타임 기록 모드가 선택되어 있는 경우에는, FAT로부터 모든 클러스터가 미기록인 블록을 검출하고, 그 블록수로부터 빈 용량을 산출한다.
다음으로, 메모리 카드(1)의 구체적인 포맷예를 나타낸다. 이하에 설명하는 포맷 예는, 전체 내용량이 64M 바이트, 섹터 사이즈가 512 바이트, 클러스터 사이즈가 32K 바이트, 1 블록의 사이즈가 128K 바이트, 1개의 FAT를 기록하기 위해서 필요로 하는 섹터수가 8개인 메모리 카드(1)에 대한 것이다. 따라서, 1 클러스터가 64 섹터로 구성되고, 1 블록이 4 클러스터로 구성되어 있다. 또, 본 예에서는, MS-DOS의 타입으로서, 총 클러스터 수가 4085를 넘는 경우에 이용되는 FAT16을 적용한 경우에 대해 설명을 한다. FAT16에서는, FAT 내의 각 클러스터에 할당되는 바이트 수가, 2 바이트(16 비트)이다.
도 8에, 제1 구체예의 미디어 이미지를 도시한다. 도 9에, 제1 구체예의 각 파라미터의 값을 도시한다. 도 10에 제1 구체예의 MBR의 기술 내용을 도시한다. 도 11에 제1 구체예의 PBR의 기술 내용을 도시한다.
LBA 섹터 번호는, 파티션이나 부트 영역에 상관없이, 미디어 내의 전 유효 블록에 대하여 고유하게 붙여진 번호이다. LBA 섹터 번호는, 선두 섹터가 0이 되고, 이후, 1씩 인크리먼트되고 있다. 블록 번호는, 각 유효 블록에 붙여진 논리 블록 번호이다. 블록 번호는, 선두 블록이 0이 되고, 이후, 1씩 인크리먼트되고 있다. 또, 유효 블록이 대체된 경우에는, 대체된 블록에 대하여, LBA 섹터 번호 및 블록 번호가 붙여진다.
제1 구체예에서는, MBR는, 블록 번호 0의 선두 섹터(LBA 섹터 번호 0)에 기록된다. PBR는, 블록 번호 1의 LBA 섹터 번호 462의 섹터에 기록된다. FAT1 및 FAT2는, 블록 번호 1의 LBA 섹터 번호 464∼479의 섹터에 기록된다. 루트 디렉토 리 엔트리는, 블록 번호 1의 LBA 섹터 번호 480∼511의 섹터에 기록된다.
이상과 같이 MBR, PBR, FAT, 루트 디렉토리 엔트리가 기록됨으로써, 사용자에 의해 생성된 파일이 기록되는 선두의 섹터(클러스터 2의 선두 섹터)는, 블록 2의 선두 섹터(LBA 섹터 번호 512)로부터 기록되게 된다. 이 결과, 블록의 경계 위치가, 클러스터의 경계 위치에 일치한 논리 포맷이 되게 된다.
다음으로, 메모리 카드(1)의 구체적인 포맷의 제2 구체예를 설명한다.
도 12에, 제2 구체예의 미디어 이미지를 도시한다. 도 13에, 제2 구체예의 각 파라미터의 값을 도시한다. 도 14에 제2 구체예의 MBR의 기술 내용을 도시하고, 도 15에 제2 구체예의 PBR의 기술 내용을 도시한다.
LBA 섹터 번호는, 파티션이나 부트 영역에 상관없이, 미디어 내의 전 유효 블록에 대하여 고유하게 붙여진 번호이다. LBA 섹터 번호는, 선두 섹터가 0이 되고, 이후, 1씩 인크리먼트되고 있다. 블록 번호는, 각 유효 블록에 붙여진 논리 블록 번호이다. 블록 번호는, 선두 블록이 0이 되고, 이후, 1씩 인크리먼트되고 있다. 또, 유효 블록이 대체된 경우에는, 대체된 블록에 대하여, LBA 섹터 번호 및 블록 번호가 붙여진다.
제2 구체예에서는, MBR는, 블록 번호 0의 선두 섹터(LBA 섹터 번호 0)에 기록된다. PBR는, 블록 번호 1의 LBA 섹터 번호 335의 섹터에 기록된다. FAT1 및 FAT2는, 블록 번호 1의 LBA 섹터 번호 336∼351의 섹터에 기록된다. 루트 디렉토리 엔트리는, 블록 번호 1의 LBA 섹터 번호 352∼383의 섹터에 기록된다.
이상과 같이 MBR, PBR, FAT, 루트 디렉토리 엔트리가 기록됨으로써, 사용자 에 의해 생성된 파일이 기록되는 선두의 섹터(클러스터 2의 선두 섹터)는, 블록 1의 LBA 섹터 번호 384로부터 기록되게 된다. 이 결과, 블록의 경계 위치가, 클러스터의 경계 위치에 일치한 논리 포맷이 되게 된다.
이상과 같이, 제1 구체예와, 제2 구체예는, 블록 경계 위치가 클러스터 경계 위치로 되어 있고, 모두 호스트 기기(2) 측으로부터, 블록 단위의 일괄 기록이 가능, 즉, 4 클러스터 단위로 기록이 가능하다.
그런데, FAT16의 포맷에서는, 선두의 8 바이트가 "F8FF FFFF"의 규정치로 되어있다. 또한, FAT16의 포맷에서는, 9 바이트 째로부터 4 바이트씩 각 클러스터의 영역이 정해져 있다. 최초의 클러스터의 클러스터 번호는, "2"이다. 또, 본 예에서는, 1 섹터 당의 바이트 수가 512 바이트이다. 이 때문에, FAT의 제1 섹터에는, 클러스터 번호 2∼클러스터 번호 127까지의 클러스터의 영역이 형성되게 된다.
제1 구체예의 포맷인 경우, 도 16에 도시한 바와 같이, 클러스터 번호 02, 03, 04, 05로 블록 2가 구성되고, 클러스터 번호 06, 07, 08, 09로 블록 3이 구성되고, 클러스터 번호 0a, 0b, 0c, 0d로 블록 4가 구성되고, 이후, 4 클러스터마다 1개의 블록이 구성된다. 또한, 제1 구체예의 포맷인 경우, FAT의 선두 섹터는, 블록 33의 2번째의 클러스터(클러스터 7f)에서 종료하고 있다. 그리고, FAT의 2번째의 섹터는, 블록 33의 3번째의 클러스터(클러스터 80)로부터 개시되어 있다. 즉, 제1 구체예의 포맷에서는, FAT 내에서 표시되어 있는 블록의 경계 위치와, FAT의 실제의 섹터 위치가 일치하지 않는다.
이것에 대하여, 제2 구체예의 포맷인 경우, 도 17에 도시한 바와 같이, 클러 스터 번호 02, 03으로 블록 1이 구성되고, 클러스터 번호 04, 05, 06, 07로 블록 2가 구성되고, 클러스터 번호 08, 09, 0a, 0b로 블록 3이 구성되고, 클러스터 번호 0c, 0d, 0e, 0f로 블록 4가 구성되고, 이후, 4 클러스터마다 1개의 블록이 구성된다. 또한, 제2 구체예의 포맷인 경우, FAT의 선두 섹터는, 블록 32의 4번째의 클러스터, 즉, 블록 내의 최후의 클러스터(클러스터 7f)로 종료하고 있다. 그리고, FAT의 2번째의 섹터는, 블록 33의 최초의 클러스터로부터 개시되어 있다. 즉, 제2 구체예의 포맷에서는, FAT 내에서 표시되어 있는 블록의 경계 위치와, FAT의 실제의 섹터 위치가 일치하고 있다.
FAT의 실제의 섹터 경계와, FAT에서 표시된 블록의 경계가 일치하지 않은 경우, 예를 들면, 섹터 경계에 있는 블록의 클러스터 정보를 판독하는 경우, 2개의 섹터를 읽지 않으면 안된다. 그것에 대하여, FAT의 실제의 섹터 경계와, FAT에서 표시된 블록의 경계가 일치하고 있는 경우, 섹터 경계에 있는 블록의 클러스터 정보를 판독하는 경우에도, 1개의 섹터만을 판독하면 된다.
따라서, 제1 구체예의 포맷보다도, 제2 구체예의 포맷 쪽이, 호스트 기기(2)측에서의 파일 관리가 용이해진다.
제1 구체예와 제2 구체예는 양자 모두, MBR가, 단독의 블록에 기록되어 있다. 즉, MBR가, PBR, FAT, 루트 디렉토리 엔트리와는 서로 다른 블록에 기록되어 있다. 이와 같이, MBR를 단독의 블록에 기록함으로써, 플래시 메모리와 같은 일괄 소거 단위가 정해진 미디어인 경우, 파일의 안전성이 확보된다. 즉, 재기입의 가능성이 있는 PBR, FAT, 루트 디렉토리 엔트리나, 실데이터와는 서로 다른 블록에 기록되어 있기 때문에, MBR를 재기입할 필요가 없게 되어, 파일의 안전성이 확보된다.
이러한 MBR와, PBR, FAT, 루트 디렉토리를 서로 다른 블록에 기록하는 것은, 본 메모리 카드(1)와 같은, 블록 사이즈가 클러스터 사이즈보다도 큰 경우가 아니더라도 적용할 수 있다.
통상, 도 18에 도시한 바와 같이, MBR, PBR, FAT, 루트 디렉토리 엔트리는, 블록 위치에 상관없이, 섹터 단위로 연속하여 기록된다. 즉, MBR가 섹터 0, PBR가 섹터 1의 섹터에 기록된다.
그것에 대하여, 클러스터 사이즈가 32K 바이트, 블록 사이즈가 16K 바이트와 같은, 블록 사이즈보다 클러스터 사이즈 쪽이 작은 메모리 카드인 경우에는, 도 19에 도시한 바와 같이, MBR를 섹터 번호 0의 섹터에 기록하고, PBR를 섹터 번호 47의 섹터에 기록하면 된다.
또한, 클러스터 사이즈가 32K 바이트, 블록 사이즈가 16K 바이트와 같은, 블록 사이즈와 클러스터 사이즈가 일치하는 메모리 카드인 경우에는, 도 20에 도시한 바와 같이, MBR를 섹터 번호 0의 섹터에 기록하고, PBR를 섹터 번호 79의 섹터에 기록하면 된다.
또, 본 발명은, 도면을 참조하여 설명한 상술의 예에 한정되는 것이 아니라, 첨부의 청구의 범위 및 그 주지를 일탈하지 않고, 여러 가지 변경, 치환 또는 그 동등한 것을 행할 수 있는 것은 당업자에게 있어서 분명하다.
본 발명에 따른 데이터 기억 장치는, 블록 단위로 일괄 소거되는 불휘발성의 반도체 메모리와, 시스템 정보 기억부를 구비하며, 이 시스템 정보 기억부에, 1개의 블록 내의 섹터수와, 블록의 경계 위치의 섹터의 논리 어드레스를 나타내는 정보를 저장하도록 하고 있기 때문에, 반도체 메모리에 대한 데이터의 액세스 단위의 최대 사이즈가, 이 반도체 메모리의 소거 블록 사이즈보다도 작은 파일 시스템이 적용된 경우에도, 소위 가비지 컬렉션을 발생시키지 않고서, 데이터를 기록할 수 있다.

Claims (32)

  1. 호스트 기기에 대하여 착탈 가능하게 부착되는 리무버블 데이터 기억 장치에 있어서,
    기록되어 있는 데이터가 소정의 데이터량의 블록 단위로 일괄 소거되는 불휘발성의 반도체 메모리, 및
    본 장치의 내부 정보가 기록된 시스템 정보 기억부
    를 포함하고,
    상기 반도체 메모리의 기록 영역에는, 사용자에 의해서 데이터가 기록되는 영역인 사용자 영역이 형성되며,
    상기 사용자 영역은, 데이터 기입 및 판독 단위인 섹터마다 논리 어드레스를 설정하여 기록 데이터를 관리함과 함께 물리적으로 연속하는 소정 수의 섹터로 구성되는 클러스터 단위로 기록 데이터의 연결 관계를 관리하는 논리 포맷에 대응한 파일 관리 데이터가 기록되고, 이 논리 포맷에 기초하여 호스트 기기로부터 액세스가 이루어지며,
    상기 시스템 정보 기억부에는, 1개의 블록 내의 섹터수와, 블록의 경계 위치의 섹터의 논리 어드레스를 나타내는 정보가 저장되어 있는 데이터 기억 장치.
  2. 제1항에 있어서,
    상기 블록의 사이즈는, 상기 클러스터의 사이즈의 n 배(n은 2 이상의 정수) 가 되고, 상기 사용자 영역 내의 각 블록의 선두의 섹터는, 상기 클러스터의 선두의 섹터와 일치하도록 논리 포맷이 형성되어 있는 데이터 기억 장치.
  3. 제2항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, 각 PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)과, 각 FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있으며,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되고,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 데이터 기억 장치.
  4. 제2항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)과, FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있으며,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있고,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되며,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 데이터 기억 장치.
  5. 제2항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터로부터 복수 섹터에 걸쳐 기록되는 파티션 부트 레코드(PBR)와, 각 PBR에 계속되는 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)을 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있는 데이터 기억 장치.
  6. 제4항에 있어서,
    상기 논리 포맷은, 1개의 블록에 기록되는 연속한 n개의 클러스터에 대한 연결 정보의 기록 영역이, 1개의 섹터 내에 완결하여 형성되도록 설정되어 있는 데이터 기억 장치.
  7. 제6항에 있어서,
    상기 시스템 정보 기억부에는, PBR이 기록되는 논리 섹터가 저장되어 있는 데이터 기억 장치.
  8. 제1항에 있어서,
    상기 시스템 정보 기억부는, 반도체 메모리의 기록 영역 상에 형성되어 있는 데이터 기억 장치.
  9. 리무버블 데이터 기억 장치가 착탈 가능하게 부착되는 호스트 기기에 있어서,
    상기 데이터 기억 장치에 대하여 액세스를 행하는 호스트측 인터페이스
    를 포함하고,
    상기 데이터 기억 장치는,
    기록되어 있는 데이터가 소정의 데이터량의 블록 단위로 일괄 소거되는 불휘발성의 반도체 메모리, 및
    본 장치의 내부 정보가 기록된 시스템 정보 기억부
    를 포함하며,
    상기 반도체 메모리의 기록 영역에는, 사용자에 의해서 데이터가 기록되는 영역인 사용자 영역이 형성되고, 상기 사용자 영역은, 데이터 기입 및 판독 단위인 섹터마다에 논리 어드레스를 설정하여 기록 데이터를 관리함과 함께 물리적으로 연속하는 소정 수의 섹터로 구성되는 클러스터 단위로 기록 데이터의 연결 관계를 관리하는 논리 포맷에 대응한 파일 관리 데이터가 기록되며, 상기 시스템 정보 기억 부에는, 1개의 블록 내의 섹터수와, 블록의 경계 위치의 섹터의 논리 어드레스를 나타내는 정보가 저장되어 있고,
    상기 호스트측 인터페이스는, 상기 논리 포맷에 기초하여 상기 데이터 기억 장치에 대하여 액세스를 행하는 호스트 기기.
  10. 제9항에 있어서,
    상기 블록의 사이즈는, 상기 클러스터의 사이즈의 n 배(n은 2 이상의 정수)로 되고, 상기 사용자 영역 내의 각 블록의 선두의 섹터는, 상기 클러스터의 선두의 섹터와 일치하도록 논리 포맷이 형성되어 있는 호스트 기기.
  11. 제10항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, 각 PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐서 기록되는 파일 할당 테이블(FAT)과, 각 FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있으며,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되고,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 호스트 기기.
  12. 제10항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)과, FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있으며,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있고,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되며,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 호스트 기기.
  13. 제10항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터로부터 복수 섹터에 걸쳐 기록되는 파티션 부트 레코드(PBR)와, 각 PBR에 계속되는 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)을 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있는 호스트 기기.
  14. 제12항에 있어서,
    상기 논리 포맷은, 1개의 블록에 기록되는 연속한 n개의 클러스터에 대한 연결 정보의 기록 영역이, 1개의 섹터 내에 완결하여 형성되도록 설정되어 있는 호스트 기기.
  15. 제14항에 있어서,
    상기 데이터 기억 장치의 시스템 정보 기억부에는, PBR이 기록되는 논리 섹터가 저장되어 있는 호스트 기기.
  16. 제9항에 있어서,
    상기 데이터 기억 장치의 시스템 정보 기억부는, 반도체 메모리의 기록 영역 상에 형성되어 있는 호스트 기기.
  17. 호스트 기기와, 상기 호스트 기기에 대하여 착탈 가능하게 부착되는 리무버블 데이터 기억 장치를 구비하는 데이터 기록 시스템에 있어서,
    상기 데이터 기억 장치는,
    기록되어 있는 데이터가 소정의 데이터량의 블록 단위로 일괄 소거되는 불휘발성의 반도체 메모리, 및
    본 장치의 내부 정보가 기록된 시스템 정보 기억부
    를 포함하고,
    상기 반도체 메모리의 기록 영역에는, 사용자에 의해서 데이터가 기록되는 영역인 사용자 영역이 형성되며,
    상기 사용자 영역은, 데이터 기입 및 판독 단위인 섹터마다에 논리 어드레스를 설정하여 기록 데이터를 관리함과 함께 물리적으로 연속하는 소정 수의 섹터로 구성되는 클러스터 단위로 기록 데이터의 연결 관계를 관리하는 논리 포맷에 대응한 파일 관리 데이터가 기록되고, 이 논리 포맷에 기초하여 호스트 기기로부터 액세스가 이루어지며,
    상기 시스템 정보 기억부에는, 1개의 블록 내의 섹터수와, 블록의 경계 위치의 섹터의 논리 어드레스를 나타내는 정보가 저장되어 있는 데이터 기록 시스템.
  18. 제17항에 있어서,
    상기 블록의 사이즈는, 상기 클러스터의 사이즈의 n 배(n은 2 이상의 정수)로 되고, 상기 사용자 영역 내의 각 블록의 선두의 섹터는, 상기 클러스터의 선두의 섹터와 일치하도록 논리 포맷이 형성되어 있는 데이터 기록 시스템.
  19. 제18항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, 각 PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)과, 각 FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있으며,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되고,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 데이터 기록 시스템.
  20. 제18항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)과, FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있으며,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있고,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되며,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 데이터 기록 시스템.
  21. 제18항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터로부터 복수 섹터에 걸쳐 기록되는 파티션 부트 레코드(PBR)와, 각 PBR에 계속되는 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)을 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있는 데이터 기록 시스템.
  22. 제20항에 있어서,
    상기 논리 포맷은, 1개의 블록에 기록되는 연속한 n개의 클러스터에 대한 연결 정보의 기록 영역이, 1개의 섹터 내에 완결하여 형성되도록 설정되어 있는 데이터 기록 시스템.
  23. 제22항에 있어서,
    상기 시스템 정보 기억부에는, PBR이 기록되는 논리 섹터가 저장되어 있는 데이터 기록 시스템.
  24. 제17항에 있어서,
    상기 시스템 정보 기억부는, 반도체 메모리의 기록 영역 상에 형성되어 있는 데이터 기록 시스템.
  25. 호스트 기기에 대하여 착탈 가능하게 부착되는 리무버블 데이터 기억 장치의 데이터 관리 방법에 있어서,
    상기 데이터 기억 장치는,
    기록되어 있는 데이터가 소정의 데이터량의 블록 단위로 일괄 소거되는 불휘발성의 반도체 메모리, 및
    본 장치의 내부 정보가 기록된 시스템 정보 기억부
    를 포함하고,
    상기 반도체 메모리의 기록 영역에는, 사용자에 의해서 데이터가 기록되는 영역인 사용자 영역이 형성되며,
    상기 사용자 영역은, 데이터 기입 및 판독 단위인 섹터마다에 논리 어드레스를 설정하여 기록 데이터를 관리함과 함께 물리적으로 연속하는 소정 수의 섹터로 구성되는 클러스터 단위로 기록 데이터의 연결 관계를 관리하는 논리 포맷에 대응한 파일 관리 데이터가 기록되고, 이 논리 포맷에 기초하여 호스트 기기로부터 액세스가 이루어지며,
    상기 시스템 정보 기억부에는, 1개의 블록 내의 섹터수와, 블록의 경계 위치의 섹터의 논리 어드레스를 나타내는 정보를 저장하는 데이터 기억 장치의 데이터 관리 방법.
  26. 제25항에 있어서,
    상기 블록의 사이즈는, 상기 클러스터의 사이즈의 n 배(n은 2 이상의 정수)로 되고, 상기 사용자 영역 내의 각 블록의 선두의 섹터는, 상기 클러스터의 선두의 섹터와 일치하도록 논리 포맷이 형성되어 있는 데이터 기억 장치의 데이터 관리 방법.
  27. 제26항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, 각 PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)과, 각 FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있으며,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되고,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 데이터 기억 장치의 데이터 관리 방법.
  28. 제26항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 파티션 부트 레코드(PBR)와, PBR의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)과, FAT의 다음의 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 루트 디렉토리 엔트리를 포함하고,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있으며,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있고,
    상기 루트 디렉토리 엔트리에는, 최상위의 디렉토리에 배치되는 파일 및 서브디렉토리의 엔트리 정보가 기술되며,
    상기 각 파티션에 기록되는 실체 데이터는, 상기 루트 디렉토리 엔트리의 다음의 섹터로부터 기록되는 데이터 기억 장치의 데이터 관리 방법.
  29. 제26항에 있어서,
    상기 파일 관리 데이터는, 상기 사용자 영역의 선두의 논리 어드레스의 섹터에 기록되는 마스터 부트 레코드(MBR)와, 상기 사용자 영역에 형성되는 각 파티션의 선두의 논리 어드레스의 섹터로부터 복수 섹터에 걸쳐 기록되는 파티션 부트 레코드(PBR)와, 각 PBR에 계속되는 논리 어드레스의 섹터로부터 복수의 섹터에 걸쳐 기록되는 파일 할당 테이블(FAT)을 포함하고,
    상기 MBR에는, PBR이 기록된 섹터의 논리 어드레스가 기술되어 있으며,
    상기 PBR에는, 상기 PBR이 기록되어 있는 파티션에 관한 정보가 기술되어 있고,
    상기 FAT에는, 상기 클러스터의 다음으로 접속되는 클러스터를 특정하는 연결 정보가 저장되는 영역이, 파티션 내의 모든 클러스터에 대응하여 형성되어 있는 데이터 기억 장치의 데이터 관리 방법.
  30. 제28항에 있어서,
    상기 논리 포맷은, 1개의 블록에 기록되는 연속한 n개의 클러스터에 대한 연결 정보의 기록 영역이, 1개의 섹터 내에 완결하여 형성되도록 설정되어 있는 데이터 기억 장치의 데이터 관리 방법.
  31. 제30항에 있어서,
    상기 시스템 정보 기억부에, PBR이 기록되는 논리 섹터를 저장하는 데이터 기억 장치의 데이터 관리 방법.
  32. 제25항에 있어서,
    상기 시스템 정보 기억부를, 반도체 메모리의 기록 영역 상에 형성하는 데이터 기억 장치의 데이터 관리 방법.
KR1020037016347A 2002-04-15 2003-04-14 데이터 기억 장치 KR100975178B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00112641 2002-04-15
JP2002112641A JP4238514B2 (ja) 2002-04-15 2002-04-15 データ記憶装置
PCT/JP2003/004709 WO2003088044A1 (fr) 2002-04-15 2003-04-14 Dispositif de stockage de donnees

Publications (2)

Publication Number Publication Date
KR20040100849A KR20040100849A (ko) 2004-12-02
KR100975178B1 true KR100975178B1 (ko) 2010-08-10

Family

ID=29243325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016347A KR100975178B1 (ko) 2002-04-15 2003-04-14 데이터 기억 장치

Country Status (6)

Country Link
US (1) US7472251B2 (ko)
EP (1) EP1498817A4 (ko)
JP (1) JP4238514B2 (ko)
KR (1) KR100975178B1 (ko)
CN (1) CN1307555C (ko)
WO (1) WO2003088044A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170108421A (ko) * 2016-03-17 2017-09-27 한국전자통신연구원 메모리 카드로부터 파일을 읽는 방법

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1653362B1 (en) * 2003-08-06 2015-09-30 Panasonic Corporation Accessing device and method for a semiconductor memory card
JP4722704B2 (ja) * 2003-10-31 2011-07-13 パナソニック株式会社 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
CN100543702C (zh) 2003-11-18 2009-09-23 松下电器产业株式会社 文件记录装置及其控制方法和执行方法
TW200604810A (en) * 2004-02-20 2006-02-01 Renesas Tech Corp Nonvolatile memory and data processing system
WO2005096220A1 (ja) * 2004-03-31 2005-10-13 Matsushita Electric Industrial Co., Ltd. メモリカード及びメモリカードシステム
EP1729218A4 (en) 2004-04-20 2007-07-18 Matsushita Electric Ind Co Ltd NON-VOLATILE STORAGE SYSTEM
TWI255426B (en) * 2004-05-18 2006-05-21 Carry Computer Eng Co Ltd Storage control apparatus capable of analyzing volume information and the control method thereof
DE102004040296B3 (de) 2004-08-19 2006-03-02 Giesecke & Devrient Gmbh Schreiben von Daten in einen nichtflüchtigen Speicher eines tragbaren Datenträgers
JP4561246B2 (ja) 2004-08-31 2010-10-13 ソニー株式会社 メモリ装置
JP4724412B2 (ja) * 2004-11-25 2011-07-13 キヤノン株式会社 画像データ記録装置
KR100664933B1 (ko) * 2004-12-15 2007-01-04 삼성전자주식회사 비휘발성 저장장치에 멀티미디어 데이터를 블록 단위로저장하는 방법 및 장치
US7395404B2 (en) * 2004-12-16 2008-07-01 Sandisk Corporation Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US7984231B2 (en) * 2005-09-22 2011-07-19 Panasonic Corporation Information recording medium access device, and data recording method
US20070174549A1 (en) * 2006-01-24 2007-07-26 Yevgen Gyl Method for utilizing a memory interface to control partitioning of a memory module
KR100746036B1 (ko) 2006-02-23 2007-08-06 삼성전자주식회사 플래시 메모리를 제어하는 장치 및 방법
JP4663577B2 (ja) * 2006-05-16 2011-04-06 株式会社バッファロー データ記憶装置およびこの初期化方法
US7496711B2 (en) * 2006-07-13 2009-02-24 International Business Machines Corporation Multi-level memory architecture with data prioritization
KR100809319B1 (ko) 2006-09-13 2008-03-05 삼성전자주식회사 플래시 메모리에서 연속한 섹터 쓰기 요청에 대해 원자성을제공하는 장치 및 방법
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR100923990B1 (ko) * 2007-02-13 2009-10-28 삼성전자주식회사 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
JP4992515B2 (ja) 2007-03-30 2012-08-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8266371B2 (en) * 2008-07-30 2012-09-11 Panasonic Corporation Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
JP5175703B2 (ja) 2008-12-11 2013-04-03 株式会社東芝 メモリデバイス
US8392687B2 (en) * 2009-01-21 2013-03-05 Micron Technology, Inc. Solid state memory formatting
US8180995B2 (en) 2009-01-21 2012-05-15 Micron Technology, Inc. Logical address offset in response to detecting a memory formatting operation
TWI389001B (zh) * 2009-06-01 2013-03-11 Mstar Semiconductor Inc 檔案系統及檔案系統轉換方法
JP5471547B2 (ja) * 2010-02-10 2014-04-16 ソニー株式会社 情報記録装置、撮像装置、情報更新方法及びプログラム
CN101964072A (zh) * 2010-09-14 2011-02-02 太仓市同维电子有限公司 数字化集成非接触式id卡及其集成方法
JP5633484B2 (ja) * 2011-08-10 2014-12-03 株式会社Jvcケンウッド 記録装置及び記録方法
KR20130071850A (ko) * 2011-12-21 2013-07-01 삼성전자주식회사 파일 시스템 및 파일 저장 방법
TWI454912B (zh) * 2012-01-06 2014-10-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
CN103218300B (zh) * 2012-01-18 2016-01-27 群联电子股份有限公司 数据处理方法、存储器控制器与存储器储存装置
JP5380557B2 (ja) * 2012-01-31 2014-01-08 京セラドキュメントソリューションズ株式会社 電子機器、画像形成装置、およびマウント方法
TWI563383B (en) * 2012-04-25 2016-12-21 Phison Electronics Corp Memory formatting method, memory controller and memory storage apparatus
CN103377143B (zh) * 2012-04-27 2016-12-21 群联电子股份有限公司 存储器管理方法、存储器控制器与存储器存储装置
US20140172805A1 (en) * 2012-12-19 2014-06-19 Microsoft Corporation Contact management
CN103942219A (zh) * 2013-01-22 2014-07-23 鸿富锦精密工业(深圳)有限公司 存储卡分区系统及方法
KR20140145879A (ko) * 2013-06-14 2014-12-24 삼성전자주식회사 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법
US9766837B2 (en) 2015-06-10 2017-09-19 Micron Technology, Inc. Stripe mapping in memory
CN104965882B (zh) * 2015-06-12 2018-09-04 小米科技有限责任公司 数据处理方法及装置
IT201700057287A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti
CN109445696B (zh) * 2018-10-21 2021-10-08 山西达鑫核科技有限公司 网络聚合存储的信息存储装备
US10936454B2 (en) 2018-11-21 2021-03-02 International Business Machines Corporation Disaster recovery for virtualized systems
KR20210069480A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 메모리 컨트롤러를 포함하는 스토리지 장치 및 비휘발성 메모리 시스템과 이의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010048121A1 (en) * 2000-06-06 2001-12-06 Nagamasa Mizushima Semiconductor memory device with block alignment function

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
JP3718578B2 (ja) * 1997-06-25 2005-11-24 ソニー株式会社 メモリ管理方法及びメモリ管理装置
JP4474716B2 (ja) * 1999-02-12 2010-06-09 ソニー株式会社 編集装置、編集方法
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP3524428B2 (ja) * 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
JP3249959B2 (ja) * 1999-10-12 2002-01-28 株式会社ソニー・コンピュータエンタテインメント 可搬型記憶装置及びメモリカード
KR100703680B1 (ko) * 1999-10-14 2007-04-05 삼성전자주식회사 플래시 파일 시스템
EP1498810B1 (en) * 1999-10-21 2018-12-26 Panasonic Corporation A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6601056B1 (en) * 2000-09-28 2003-07-29 Microsoft Corporation Method and apparatus for automatic format conversion on removable digital media
US6785787B2 (en) * 2001-01-26 2004-08-31 Dell Products L.P. Computing system and method for preparing a computer-readable medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010048121A1 (en) * 2000-06-06 2001-12-06 Nagamasa Mizushima Semiconductor memory device with block alignment function

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170108421A (ko) * 2016-03-17 2017-09-27 한국전자통신연구원 메모리 카드로부터 파일을 읽는 방법
KR102448590B1 (ko) 2016-03-17 2022-09-29 한국전자통신연구원 메모리 카드로부터 파일을 읽는 방법

Also Published As

Publication number Publication date
US7472251B2 (en) 2008-12-30
EP1498817A4 (en) 2007-07-11
KR20040100849A (ko) 2004-12-02
CN1516835A (zh) 2004-07-28
EP1498817A1 (en) 2005-01-19
CN1307555C (zh) 2007-03-28
JP2003308240A (ja) 2003-10-31
JP4238514B2 (ja) 2009-03-18
WO2003088044A1 (fr) 2003-10-23
US20050080985A1 (en) 2005-04-14

Similar Documents

Publication Publication Date Title
KR100975178B1 (ko) 데이터 기억 장치
KR100980905B1 (ko) 리무버블 데이터 기억 장치, 호스트 기기, 데이터 기록 시스템, 및 리무버블 데이터 기억 장치의 데이터 관리 방법
US7681008B2 (en) Systems for managing file allocation table information
US7752412B2 (en) Methods of managing file allocation table information
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
KR100987241B1 (ko) 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치
US8880483B2 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
US5937425A (en) Flash file system optimized for page-mode flash technologies
US8239639B2 (en) Method and apparatus for providing data type and host file information to a mass storage system
JP4472010B2 (ja) 記憶装置
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US20110231597A1 (en) Data access method, memory controller and memory storage system
WO2008042594A1 (en) Managing file allocation table information
JP2007018528A (ja) メモリ装置、ファイル管理方法及び記録再生装置

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: 20130726

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140725

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee