KR100716576B1 - 메모리 카드, 논리 어드레스의 할당방법 및 데이터 기록방법 - Google Patents
메모리 카드, 논리 어드레스의 할당방법 및 데이터 기록방법 Download PDFInfo
- Publication number
- KR100716576B1 KR100716576B1 KR1020017010223A KR20017010223A KR100716576B1 KR 100716576 B1 KR100716576 B1 KR 100716576B1 KR 1020017010223 A KR1020017010223 A KR 1020017010223A KR 20017010223 A KR20017010223 A KR 20017010223A KR 100716576 B1 KR100716576 B1 KR 100716576B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- data
- memory
- sector
- block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
블럭과 클러스터를 일치시켜, 블럭단위의 소거를 효율이 좋게 행한다. 플래시 메모리에서의 물리 어드레스는, 0h번지부터 순서대로 블럭(8섹터)단위로 구분되어 있다. 논리 어드레스의 데이터 영역의 시작은 4Dh번지이며, 이것에 가까운 블럭의 선두 어드레스인 50h번지에 논리 어드레스의 4Dh번지를 데이터 영역으로서 순차로 할당한다. 나머지의 논리 어드레스 3D7Dh번지 ~ 3D7Fh번지는, 물리 어드레스의 선두로 되돌아가, 물리 어드레스의 0h번지 ~ 2h번지에 할당된다. 따라서, 블럭과 호스트에서 출력되는 클러스터(4kByte 또는 2kByte)를 일치시킬 수 있고, 플래시 메모리의 데이터를 블럭단위만으로 소거할 수 있으므로 데이터 기록시의 소거회수를 큰 폭으로 줄일 수 있다.
Description
본 발명은, 메모리 카드의 기록 고속화 기술에 관한 것으로, 특히 플래시 메모리에서의 논리 어드레스의 할당에 적용하는 기술에 관한 것이다.
노트북형 퍼스널 컴퓨터나 다기능 단말기 등의 외부 기억 미디어로서, 메모리 카드가 급속하게 보급되고 있다. 최근의 고성능화의 요구에 따라, 메모리 카드에 탑재되는 반도체 메모리로서, 예컨대 전기적으로 일괄소거, 재기록이 가능하며, 전지 없이 대용량의 데이터를 유지할 수 있는 플래시 메모리가 이용되고 있다.
본 발명자가 검토한 바에 의하면, 메모리 카드에 이용되는 플래시 메모리는 데이터 기록동작으로서, 데이터가 기록되기 전에, 기록되는 어드레스의 데이터 소거를 행하고 있다. 이 소거는 섹터단위(예컨대, 1섹터 = 512Byte) 혹은 블럭단위(8섹터 = 4kByte)로 실행되고 있다.
또, 호스트에서 입력되는 데이터는 클러스터 단위(예컨대, 4kByte 또는 2kByte)로 되어 있으며, 이 클러스터에 의해 데이터의 기록이나 판독이 행해지고 있다.
또한, 메모리 카드에 있어서는, 제품출하전 등에 플래시 메모리의 논리 어드 레스 할당이 행해진다. 논리 어드레스는 마스터 부트 레코드, 파일 올로케이션 테이블, 및 디렉토리 등의 각종 제어관리정보가 저장되는 영역의 뒤에 호스트에서 입출력되는 데이터를 저장하는 데이터 영역이 할당된다.
또한, 이 종류의 IC카드에 대해서 상세하게 설명되어 있는 예로서는, 1990년 12월 1일, 주식회사 공업조사회 발행, 오오시마 마시시(편), 「전자재료」 페이지 22 ~ 26에 있으며, 이 문헌에는 각종의 IC카드에서의 기술동향이 기재되어 있다.
그런데, 상기와 같은 메모리 카드의 데이터 소거기술에는 다음과 같은 문제점이 있다는 것이 본 발명자에 의해 발견되었다.
즉, 논리 어드레스 할당에 있어서는, 플래시 메모리의 물리 어드레스의 순서대로 할당되어 있기 때문에, 클러스터와 플래시 메모리에 할당되는 논리 어드레스가 어긋나버려, 전술한 데이터 기록 전의 데이터 소거를 섹터단위 혹은 섹터단위와 블럭단위와의 조합에 의해 실행하지 않으면 안되고, 소거회수가 많게 되어버려 기록시간이 길게 된다는 문제가 있다.
또, 플래시 메모리에의 데이터 기록에 있어서는, 호스트에서의 데이터 전송, 소거, 기록처리를 시리얼 처리하고 있으므로, 각각의 처리에 있어서 시간이 필요하게 되어 버리기 때문에 기록속도의 고속화를 방해한다는 문제가 있다.
본 발명의 목적은, 블럭과 클러스터를 일치시켜, 블럭단위의 소거를 효율좋게 행하며, 또 데이터 기록을 효율좋게 행함으로써, 데이터의 기록속도를 고속화할 수 있는 논리 어드레스의 할당방법 및 메모리 카드의 데이터 기록방법을 제공하는데 있다.
본 발명의 상기 및 그 이외의 목적과 신규한 특징은 본 명세서의 기술 및 첨부 도면에서 명백하게 될 것이다.
(발명의 개시)
본 발명은 오프세트 값이 저장된 오프세트 저장부와, 이 오프세트 저장부의 오프세트값과 입력된 논리 어드레스를 연산하는 오프세트 연산부를 구비하며, 오프세트 연산부의 연산에 의해 논리 어드레스를 오프세트시켜 불휘발성 메모리에 구비된 물리 어드레스에 할당하여, 블럭단위와 클러스터 단위를 일치시키는 것이다.
또, 본 발명은 상기 오프세트 저장부를 불휘발성 메모리의 어느 영역에 구비한 것이다.
또한, 본 발명은 상기 오프세트값을 불휘발성 메모리에서의 ID영역에 저장하는 것이다.
또, 본 발명은 불휘발성 메모리에 구비된 물리 어드레스를 어느 섹터마다 정리하여 섹터 블럭을 형성하고, 각각의 섹터 블럭 중, 임의의 섹터 블럭에서의 선두의 물리 어드레스를, 데이터 영역이 시작하는 선두의 논리 어드레스에 할당하여, 논리 어드레스의 데이터 영역을 물리 어드레스의 마지막 섹터까지 할당하는 것이다.
또한, 본 발명은 불휘발성 메모리에 구비된 물리 어드레스를 어느 섹터마다 정리하여 섹터 블럭을 형성하고, 각각의 섹터 블럭 중, 임의의 섹터 블럭에서의 선두의 물리 어드레스를, 데이터 영역이 시작하는 선두의 논리 어드레스에 할당하여, 논리 어드레스의 데이터 영역이 물리 어드레스의 마지막 섹터까지 할당되면, 나머 지의 데이터 영역을 물리 어드레스의 처음부터 할당하는 것이다.
또, 본 발명은 그들 2개의 불휘발성 메모리에 구비된 각각의 물리 어드레스를, 어느 섹터마다 정리하여 섹터 블럭을 형성하고, 2개의 불휘발성 메모리 중, 한쪽의 불휘발성 메모리의 임의의 섹터 블럭에서의 선두의 물리 어드레스에 데이터 영역이 시작하는 선두의 논리 어드레스를 할당한 후, 나머지의 논리 어드레스를 번갈아 2개의 불휘발성 메모리의 섹터 블러마다 할당하여, 논리 어드레스의 데이터 영역이, 2개의 불휘발성 메모리에서의 물리 어드레스의 마지막 섹터까지 할당하면, 나머지의 데이터 영역을 상기 한쪽의 불휘발성 메모리에서의 물리 어드레스의 처음부터 할당하는 것이다.
또한, 본 발명은, 2N의 불휘발성 메모리에 구비된 각각의 물리 어드레스를, 어느 섹터마다 정리하여 섹터 블럭을 형성하고, 2N개의 불휘발성 메모리 중,어느 1개의 불휘발성 메모리의 임의의 섹터 불럭에서의 선두의 물리 어드레스에 데이터 영역이 시작하는 선두의 논리 어드레스를 할당한 후, 나머지의 논리 어드레스를 순서대로 2N개의 불휘발성 메모리의 섹터 블럭마다 할당하여, 논리 어드레스의 데이터 영역이, 2N개의 불휘발성 메모리에서의 물리 어드레스의 마지막 섹터까지 할당하면, 나머지의 데이터 영역을 상기 어느 1개의 불휘발성 메모리에서의 물리 어드레스의 최초부터 할당하는 것이다.
또, 본 발명은, 논리 어드레스가 할당되는 섹터 블럭의 물리 어드레스가, 데이터 영역이 시작하는 선두의 논리 어드레스에 가장 가까운 어드레스로 이루어지는 것이다.
또한, 본 발명은, 호스트에서 전송되는 기록 데이터를 메모리 카드에 일시적으로 저장하고, 불휘발성 메모리에서의 1블럭분의 관리정보를 판독하고, 그 블럭 소거를 행하며, 메모리 카드에 일시적으로 저장된 기록 데이터를 불휘발성 메모리의 블럭 소거된 섹터에 저장하면서, 호스트에서 전송되는 다음의 기록 데이터를 메모리 카드에 일시적으로 저장하는 것이다.
또, 본 발명은, 첫번째로 데이터 기록되는 불휘발성 메모리에 구비된 섹터 블럭의 관리정보를 판독하며, 그 섹터 블럭을 블럭 소거하는 제1의 공정과, 메모리 카드에 일시적으로 저장된 기록 데이터를 불휘발성 메모리의 섹터에 저장하면서, 두번째로 데이터 기록되는 불휘발성 메모리에서의 임의의 섹터의 관리정보를 판독하여, 다음의 기록 데이터를 메모리 카드에 일시적으로 저장하는 제2의 공정과, 두번째로 데이터 기록되는 불휘발성 메모리에서의 섹터 블럭의 모든 관리정보가 판독되면, 그 섹터 블럭의 소거를 행하면서, 메모리 카드에 일시적으로 저장된 기록 데이터를 첫번째의 불휘발성 메모리의 섹터에 저장하고, 두번째로 데이터 기록되는 불휘발성 메모리에서의 임의의 섹터의 관리정보를 판독하는 제3의 공정과, 제2, 제3의 공정에서의 처리를, 2N번째로 데이터 기록되는 불휘발성 메모리까지 반복하여 행하는 것이다.
이들에 의해, 복수개의 불휘발성 메모리에서의 소거, 기록, 호스트에서 메모리 카드로의 데이터 전송을 병렬로 하여 실행할 수 있으므로, 데이터 기록시간을 큰 폭으로 단축할 수 있다.
이상으로부터, 메모리 카드의 성능을 큰 폭으로 향상시킬 수 있다.
도 1은, 본 발명의 실시형태 1에 의한 메모리 카드의 블럭도,
도 2는 본 발명의 실시형태 1에 의한 메모리 카드에 설치된 플래시 메모리의 회로 블럭도,
도 3은, 본 발명의 실시형태 1에 의한 메모리 카드에 이용되는 논리 어드레스와 플래시 메모리에 고정된 물리 어드레스와의 데이터 구성의 설명도,
도 4는, 본 발명의 실시형태 1에 의한 플래시 메모리에서의 논리 어드레스가 할당된 데이터 구성의 설명도,
도 5는, 본 발명자가 검토한 논리 어드레스가 할당된 플래시 메모리에서의 데이터 구성의 설명도,
도 6은, 본 발명의 실시형태 1에 의한 메모리 카드에서의 데이터 기록의 플로우챠트,
도 7은, 본 발명의 실시형태 2에 의한 메모리 카드의 블럭도,
도 8은, 본 발명의 실시형태 2에 의한 플래시 메모리에서의 논리 어드레스가 할당된 데이터 구성의 설명도,
도 9는, 본 발명의 실시형태 2에 의한 물리 어드레스에 할당된 논리 어드레스의 설명도,
도 10은, 본 발명의 실시형태 2에 의한 메모리 카드에서의 데이터 기록의 플로우챠트,
도 11은, 본 발명의 실시형태 1에 의한 플래시 메모리에 설치된 메모리 셀 트랜지스터의 단면도이다.
(발명을 실시하기 위한 최량의 형태)
본 발명을 상세하게 설명하기 위해, 첨부된 도면에 따라 이것을 설명한다. 또한, 실시예를 설명하기 위한 전 도면에 있어서, 동일 기능을 가지는 것은 동일 부호를 붙여, 그 반복의 설명은 생략한다.
본 실시형태 1에 있어서, 메모리 카드(1)는, 플래시 메모리 카드이며, 노트북형 퍼스널 컴퓨터나 다기능 단말기 등의 외부 기억 미디어로서 이용된다.
메모리 카드(1)는, 인터페이스 회로(2), 마이크로 컴퓨터(3), 및 플래시 메모리(불휘발성 메모리)(4)로 구성되어 있으며, 이들의 전자부품이 프린트 배선 기판상에 실장되어 있다. 그리고, 인터페이스 회로(2), 마이크로 컴퓨터(3)에 의해 컨트롤러가 구성되어 있다. 이 메모리 카드(1)는, 예컨대, 퍼스널 컴퓨터 등의 호스트에 설치된 PC카드 슬롯에 착탈자재로 실장된다.
또, 인터페이스 회로(2)는, 커맨드 레지스터(5), 데이터 레지스터(6), 스테이터스 레지스터(7), 커맨드 디코더(8), 버퍼 메모리(9, 10), 및 인터페이스 컨트롤러(11)로 구성되어 있다.
마이크로 컴퓨터(3)는, 인터럽트 제어회로(12), 마이크로 프로세서(오프세트 연산부를 포함한다)(13), ROM(Read Only Memory)(14), RAM(Random Access Memory)(15), 타이머(16), 및 입출력 포트(17)로 구성되어 있다.
인터페이스 회로(2)는, PC카드 슬롯을 통해 전술한 호스트에 인터페이스되고, 커맨드 레지스터(5)에는, 호스트에서 파일조작 커맨드가 부여되고, 커맨드는 커맨드 디코더(8)에 의해 디코드된다.
커맨드 디코더(8)는 디코드 결과에 따른 인터럽트 신호(IRQ1 ~ IRQn)를 출력한다. 인터럽트 신호(IRQ1 ~ IRQn)는 인터럽트 제어회로(12)에서 마이크로 프로세서(13)에 부여된다. ROM(14)에는 마이크로 프로세서(13)의 동작 프로그램이 저장되어 있으며, 마이크로 프로세서(13)는 RAM(15)을 워크영역으로 이용하여 프로그램을 실행한다.
마이크로 프로세서(13)는, 동작 프로그램에 기초하여 인터페이스 회로(2), 플래시 메모리(4)에 대한 제어를 입출력 포트(17)를 통해 행한다. 마이크로 컴퓨터(3)는, 인터페이스 컨트롤러(11)에 어드레스 신호(ADRS), 어드레스 스트로브 신호(ASb), 리드신호(RDb), 및 라이트 신호(WRb)를 출력하고, 인터페이스 컨트롤러(11)와의 사이에서 데이터 정보(DATA)의 교환을 한다.
이것에 의해, 마이크로 컴퓨터(3)는, 데이터 레지스터(6), 스테이터스 레지스터(7), 및 버퍼 메모리(9, 10)를 인터페이스 컨트롤러(11)를 통해 액세스한다.
플래시 메모리(4)는, 인터페이스 컨트롤러(11)에 접속되는 제어신호선, 및 데이터 신호선을 공유하고 있다. 또한, 마이크로 컴퓨터(3)는, 플래시 메모리(4)의 각각에 대응하는 칩이네이블 신호(CE)를 입출력 포트(17)에서 출력한다.
이것에 의해, 컴퓨터(3)는, 플래시 메모리(4)에서의 칩을 선택하여, 인터페이스 컨트롤러(11)에 어드레스 신호(ADRS), 어드레스 스트로브 신호(ASb), 리드신호(RDb), 라이트 신호(WRb)를 출력하고, 인터페이스 컨트롤러(11)를 통해 칩 선택된 플래시 메모리(4)에 대한 액세스를 행한다.
또, 플래시 메모리(4)에 대해서, 도 2를 이용하여 설명한다.
플래시 메모리(4)는, 메모리 어레이(18), X어드레스 디코더(19), X어드레스 버퍼(20), 멀티플렉서(21), 입력버퍼(22), 데이터 제어회로(23), Y게이트 어레이(24), Y어드레스 디코더(25), 출력버퍼(26), Y어드레스 카운터(27), 제어신호 버퍼회로(28), 모드 제어회로(29), 내부전원회로(30)로 구성되어 있다.
메모리 어레이(18)는, 메모리 매트, 센스래치회로를 가지고 있다. 이 메모리 매트는, 전기적으로 소거 및 기록 가능한 불휘발성의 메모리 셀 트랜지스터를 다수 가지고 있다.
이 메모리 어레이(18)가 가지는 메모리 셀 트랜지스터(Tr)는, 도 11에 나타내는 바와 같이, 반도체 기판, 혹은 메모리 웰(SUB)에 형성된 소스(S), 드레인(D), 채널영역에 터널산화막을 통해 형성된 플로팅 게이트(FG), 및 이 플로팅 게이트(FG)에 층간절연막을 통해 적층된 컨트롤러 게이트(CG)로 구성되어 있다. 컨트롤러 게이트(CG)는 워드선(도 2)에, 드레인(D)은 비트선(도 2)에 각각 접속되어 있다.
외부입력단자(I/O0 ~ I/O7)는, 어드레스 입력단자, 데이터 입력단자, 커맨드 입력단자가 병용된다. 외부입력단자(I/O0 ~ I/O7)에서 입력된 X어드레스 신호는, 멀티플렉서(21)를 통해 X어드레스 버퍼(20)에 공급된다. X어드레스 버퍼(20)에서 출력된 내부 상보 어드레스는 X어드레스 디코더에 의해 디코드되어 워드선을 구동한다.
Y어드레스 디코더(25)에서 출력되는 선택신호에 기초하여 Y게이트 어레이(24)가 비트선의 선택을 행한다. 입출력단자(I/O0 ~ I/O7)에서 입력된 Y어드레스 신호는, Y어드레스 카운터(27)에 프리세트되고, 프리세트점을 기점으로 순차 인크리먼트된 어드레스 신호가 Y어드레스 디코더(25)에 부여된다.
Y게이트 어레이(24)에서 선택된 비트선은, 데이터 출력동작시에는 출력버퍼(26)의 입력부에 도통되고, 데이터 입력동작시에는 데이터 제어회로(23)를 통해 입력버퍼(22)의 출력단자에 도통된다.
출력버퍼(26), 입력버퍼(22)와 입출력단자(I/O0 ~ I/O7)와의 접속은, 멀티플렉서(21)에 의해 제어된다. 입출력단자(I/O0 ~ I/O7)에서 공급되는 커맨드는, 멀티플렉서(21) 및 입력버퍼(22)를 통해 모드 제어회로(29)에 부여된다.
데이터 제어회로(23)는, 입출력단자(I/O0 ~ I/O7)에서 공급되는 데이터 이외에, 모드 제어회로(29)의 제어에 따른 논리치의 데이터를 메모리 어레이(18)에 공급한다.
제어신호 버퍼회로(28)는, 액세스 제어신호로서 칩 이네이블신호(CEb), 출력 이네이블신호(OEb), 기록 이네이블신호(WEb), 시리얼 블럭신호(SC), 리세트신호(RESb), 및 커맨드 이네이블신호(CDEb)가 공급된다.
모드 제어회로(29)는, 그들 신호의 상태에 따라 외부와의 신호 인터페이스 기능등을 제어하고, 커맨드 코드에 따라 내부동작을 제어한다. 또, 모드 제어회로(29)는, 커맨드에 따라 플래시 메모리(4)의 제어를 행한다.
내부전원회로(30)는, 기록, 소거 배리파이, 판독 등에 이용되는 각종의 전원을 생성하고, X어드레스 디코더(19), 메모리 매트(18)의 메모리 셀 어레이등에 공 급한다.
다음에, 메모리 카드(1)에 설치된 플래시 메모리(4)에 할당되는 논리 어드레스에 대해서, 도 3, 도 4를 이용하여 설명한다.
도 3의 좌측에 나타내는 논리 어드레스에 있어서는, 처음에 플래시 메모리(4)의 관리를 행하는 제어정보 데이터를 저장하는 영역, 이른바, 시스템 영역이 할당되어 있다.
이 시스템 영역에서의 제어정보 데이터는, 마스터 부트 레코드(MBR), 부트 섹터(BS), 파일 올로케이션 테이블(FAT1, FAT2), 및 디렉토리(DR)에 의해 구성되어 있다. 시스템 영역에서의 논리 어드레스는, 0h번지 ~ 4Ch번지(여기서, h는 16진수를 나타낸다)가 할당되어 있다.
또, 시스템 영역의 뒤에는, 논리 어드레스에서의 4Dh번지 이후부터 3D7Fh번지까지의 영역이, 호스트에서 입출력되는 데이터가 저장되는 데이터 영역으로서 할당되어 있다. 이 데이터 영역에서의 각각의 번지는, 소거/판독/기록이 행해지는 단위인 섹터로 이루어지며, 1섹터는 데이터 길이가 512Byte의 유저 데이터 영역과 16바이트의 관리정보영역으로 구성되어 있다.
이들 시스템 영역 및 데이터 영역의 논리 어드레스 할당은, 메모리 카드(1)의 제품출하 전에 행해지는 포맷, 예컨대, MS-DOS(Microsoft Disk Operating System : 미국 마이크로소프트사의 등록상표) 포맷시에 작성된다.
또한, 도 3의 우측에 나타내는 MS-DOS 포맷 전의 플래시 메모리(4)에 고정되어 있는 어드레스인 물리 어드레스에 대해서 설명한다.
이 플래시 메모리(4)의 경우, 예컨대, 물리 어드레스는, 0h번지 ~ 3D7F번지가 논리 어드레스의 할당에 이용되고, 3D80h번지 이후에는 불량섹터의 관리를 행하기 위한 불량 등록 테이블을 저장하는 불량 등록 데이블 저장영역, 및 그 불량 등록 데이블 섹터를 참조하여 대체 섹터에 액세스를 행하는 대체 섹터영역, 메모리 카드의 드라이브 정보(ID)(Identify Drive Information)를 저장하는 ID영역, 메모리 카드의 이름, 종류, 기능 등의 정보(CIS)(Card Information Structure)를 저장하는 CIS 영역이 설치된다. 불량 등록 테이블 저장영역, ID영역, CIS영역은 유저에 의한 액세스가 불가능한 영역이다.
또, 플래시 메모리(4)에서의 물리 어드레스에의 논리 어드레스 할당에 대해서 설명한다.
물리 어드레스는, 0h번지부터 순서대로 블럭(8섹터 = 4kByte)단위로 구분되어 있다. 논리 어드레스의 데이터 영역이 시작하는 어드레스는, 4Dh번지이다.
이 어드레스에 가까운 블럭에는, 물리 어드레스의 50h번지부터 시작하는 블럭이 있으므로, 이 블럭의 선두 어드레스인 50h번지와 논리 어드레스에서의 데이터 영역의 선두 어드레스인 4Dh번지와 일치시켜 순차 데이터 영역으로서 할당한다.
따라서, 물리 어드레스의 3h번지에 논리 어드레스의 0h번지가 오프세트되어 할당되게 된다. 이것에 의해, 블럭과, 호스트에서 출력되는 데이터의 단위인 클러스터(4kByte 또는 2kByte)를 일치시킬 수 있다.
오프세트는, 플래시 메모리(4)인 영역, 예컨대, 영역(ID) 등에 미리 저장되어 있으며, 전원투입시에, 그 오프세트 값을 마이크로 프로세서(13)가 판독하여 RAM(15)에 저장한다.
호스트에서 지정된 논리 어드레스는, RAM(15)에 저장되어 있는 오프세트 값을 이용하여 마이크로 프로세서(13)가 연산함으로써 물리 어드레스로 변환된다.
여기서, 물리 어드레스와 논리 어드레스는 오프세트되어 할당되어 있으므로, 논리 어드레스 3D7Dh번지 ~ 3D7Fh번지가 부족하게 되지만, 이들 3개의 어드레스는, 물리 어드레스의 선두로 되돌아가, 오프세트에 의해 할당되어 있지 않은 물리 어드레스의 0h번지 ~ 2h번지에 할당된다.
또, 도 4는, 플래시 메모리(4)의 물리 어드레스에 논리 어드레스를 오프세트하여 할당한 경우를 예시한 것이다.
논리 어드레스의 4Dh번지부터의 데이터 영역은, 물리 어드레스에서의 블럭의 선두 어드레스인 50h번지부터 할당되고 있으며, 오프세트하여 할당됨으로써 남은 논리 어드레스의 3D7Dh번지 ~ 3D7Fh번지는, 물리 어드레스의 선두로 되돌아가, 0h번지 ~ 2h번지에 각각 할당되어 있다.
다음에, 논리 어드레스가 할당된 플래시 메모리(4)에서의 데이터 소거에 대해서 설명한다.
예컨대, 논리 어드레스의 4Dh번지부터 16섹터(2클러스터)의 데이터 기록이 행해지는 경우, 논리 어드레스에서의 4Dh번지부터 16섹터의 사이, 즉, 물리 어드레스에서의 50h번지 ~ 60h번지의 2개의 블럭소거만으로 좋으므로, 소거회수를 2회로 할 수 있다.
여기서, 본 발명자가 검토한 논리 어드레스를 그대로 물리 어드레스에 할당 한 경우의 논리 어드레스 할당방법을 도 5에 나타낸다.
이 경우, 논리 어드레스에서의 데이터 영역은, 4Dh번지부터 시작하고 있으며, 동일하게 물리 어드레스에서의 데이터 영역도 4Dh번지부터 시작하고 있다. 본 실시형태 1과 마찬가지로, 물리 어드레스는, 0h번지부터 순서대로 블럭(8섹터 = 4kByte)단위로 구분되어 있다. 그러나, 물리 어드레스의 4Dh번지는 블럭의 선두가 아니고, 도중의 어드레스이므로, 클러스터와 블럭의 선두 어드레스도 어긋나게 된다.
이 때, 논리 어드레스의 4Dh번지부터 16섹터의 데이터 기록이 행해지면, 물리 어드레스에서도 4Dh번지 ~ 5Dh번지의 16섹터의 데이터 소거를 행하지 않으면 안된다.
이 경우, 블럭소거가 행해지는 것은, 물리 어드레스에서의 50h번지 ~ 57h번지뿐이며, 그 이외의 번지에서의 8섹터는, 각각 개별적으로 섹터소거를 행하지 않으면 안되고, 소거회수는 9회가 되며, 데이터 소거시간이 큰 폭으로 크게 되어 버린다.
다음에, 플래시 메모리(4)에서의 데이터 기록동작에 대해서, 도 6의 타이밍 챠트를 이용하여 설명한다.
먼저, 호스트에서부터 1섹터분의 데이터인 전송데이터(T1)가 메모리 카드(1)의 버퍼 메모리에 전송된다. 메모리 카드(1)의 컨트롤러는, 기록되는 플래시 메모리(4)의 각각의 섹터(S1) ~ 섹터(S8)에서의 관리정보를 리드하고, 그 결과 불량이 없는 경우에는, 그들 섹터(S1 ~ S8)의 데이터를 한번에 소거 즉, 블럭소거를 행한다.
그 전송데이터(T1)는, 플래시 메모리(4)의 입력버퍼에 전송되어, 데이터 기록(기록 1)이 행해진다. 이 때, 호스트에서는, 다음의 데이터인 전송데이터(T2)가 전송된다.
전송데이터(T1)가 기록된 후, 계속해서 전송데이터(T2)가, 플래시 메모리(4)의 입력버퍼에 입력되고, 데이터 기록(기록2)이 행해진다. 이 때, 마찬가지로, 호스트에서는, 다음의 데이터인 전송데이터(T3)가 전송된다.
이와 같이, 플래시 메모리(4)에의 데이터 기록과, 메모리 카드에의 데이터 전송을 동시에 실행하고, 또 데이터를 블럭소거함으로써 플래시 메모리(4)에의 데이터 기록을 효율적으로 행할 수 있다.
이것에 의해, 본 실시형태 1에 의하면, 플래시 메모리(4)의 물리 어드레스를 오프세트시켜 논리 어드레스 할당을 행하므로, 블럭영역과 클러스터 영역을 일치시킬 수 있고, 플래시 메모리(4)의 데이터를 블럭단위로 소거하므로, 데이터 기록시의 소거회수를 큰 폭으로 적게 할 수 있다.
또, 플래시 메모리(4)에의 데이터 기록과, 호스트에서의 메모리 카드에의 데이터 전송을 동시에 실행함으로써, 데이터의 기록시간을 큰 폭으로 단축할 수 있다.
다음에, 실시형태 2에서의 메모리 카드(1a)의 구성에 대해서 설명한다. 메모리 카드(1a)는, 도 7에 나타내는 바와 같이, 인터페이스 회로(2), 마이크로 컴퓨터(3), 및 플래시 메모리(4, 4a)로 구성되어 있다. 인터페이스 회로(2), 마이 크로 컴퓨터(3), 플래시 메모리(4)는, 상기 실시형태 1과 같은 구성이지만, 플래시 메모리(4a)가 새롭게 설치되어 있다.
또, 인터페이스 회로(2)도, 상기 실시형태 1과 마찬가지로, 커맨드 레지스터(5), 데이터 레지스터(6), 스테이터스 레지스터(7), 커맨드 디코더(8), 버퍼 메모리(9, 10), 및 인터페이스 컨트롤러(11)로 구성되어 있으며, 마이크로 컴퓨터(3)도 상기 실시형태 1과 마찬가지로, 인터럽트 제어회로(12), 마이크로 프로세서(13), ROM(14), RAM(5), 타이머(16), 및 입출력 포트(17)로 구성되어 있다.
플래시 메모리(불휘발성 메모리)(4a)는, 플래시 메모리(4)와 인터페이스 컨트롤러(11)에 접속되는 제어신호선, 및 데이터 신호선을 공유하고 있다. 또한, 마이크로 컴퓨터(3)는, 플래시 메모리(4, 4a)의 각각에 대응하는 칩이네이블신호(CE)를 입출력 포트(17)에서 출력한다.
이것에 의해, 마이크로 컴퓨터(3)는, 플래시 메모리(4, 4a)에서의 칩을 선택하고, 인터페이스 컨트롤러(11)에 어드레스 신호(ADRS), 어드레스 스트로브 신호(ASb), 리드신호(RDb), 라이트 신호(WRb)를 출력하고, 인터페이스 컨트롤러(11)를 통해 칩 선택된 플래시 메모리(4, 4a)에 대한 액세스를 행한다.
또한, 플래시 메모리(4a)에서의 구성도, 플래시 메모리(4) (도 2)와 동일하여, 메모리 어레이(18), X어드레스 디코더(19), X어드레스 버퍼(20), 멀티플렉서(21), 입력버퍼(22), 데이터 제어회로(23), Y게이트 어레이(24), Y어드레스 디코더(25), 출력버퍼(26), Y어드레스 카운터(27), 제어신호 버퍼회로(28), 모드 제어회로(29), 내부전원회로(30)로 구성되어 있다.
다음에, 메모리 카드(1a)에 설치된 플래시 메모리(4, 4a)에 할당되는 논리 어드레스에 대해서 도 8을 이용하여 설명한다.
도 8에서의 좌측은, 플래시 메모리(4)에 논리 어드레스가 할당된 데이터 구성이며, 우측에는, 플래시 메모리(4a)에 논리 어드레스가 할당된 데이터 구성을 나타내고 있다.
논리 어드레스에 있어서는, 처음에 플래시 메모리(4)의 관리를 행하는 제어정보 데이터를 저장하는 시스템 영역이 할당되어 있다. 이 시스템 영역에서의 제어정보 데이터는, 상기 실시형태 1과 마찬가지로, 마스터 부트 레코드(MBR), 부트섹터(BS), 파일 올로케이션 테이블(FAT), 및 디렉토리(DR)로 구성되어 있다.
이 시스템 영역은, 논리 어드레스에 있어서, 0h번지 ~ 58h번지까지가 할당되어 있으며, 시스템 영역의 뒤에는, 논리 어드레스의 59h번지 이후부터 7AFFh번지까지의 영역이, 호스트에서 입출력되는 데이터가 저장되는 데이터 영역으로서 할당되어 있다. 이들 시스템 영역 및 데이터 영역의 논리 어드레스 할당은, 상기 실시형태 1과 마찬가지로, 메모리 카드(1)의 제품출하 전에 행하는 MOS-DOS 포맷에 의해 작성된다.
또한, 플래시 메모리(4, 4a)에 고정되어 있는 물리 어드레스에 대해서 설명한다.
플래시 메모리(4, 4a)의 물리 어드레스는, 0h번지 ~ 3D7F번지가 논리 어드레스의 할당에 이용되고, 3D80h번지 이후가, 불량섹터의 관리를 행하기 위한 불량 등록 테이블을 저장하는 불량 등록 테이블 저장영역, 및, 그 불량 등록 테이블 섹터 를 참조하여 대체 섹터에 액세스를 행하는 대체 액세스 영역, 메모리 카드의 드라이브 정보(ID)를 저장하는 ID영역, 메모리 카드의 이름, 종류, 기능 등의 정보(CIS)를 저장하는 CIS영역으로서 설치된다. 불량 등록 테이블 저장영역, ID영역, CIS영역은 유저에 의한 액세스가 불가능한 영역이다.
또, 플래시 메모리(4, 4a)에서의 물리 어드레스에의 논리 어드레스 할당에 대해서 설명한다.
플래시 메모리(4, 4a)의 물리 어드레스는, 0h번지부터 순서대로 블럭(8섹터 = 4kByte)단위로 구분되어 있다. 상술한 바와 같이, 논리 어드레스의 데이터 영역이 시작하는 어드레스는, 59h번지이다.
이 59h번지에 가장 가까운, 플래시 메모리(4)에서의 블럭의 물리 어드레스는, 30h번지부터 시작하는 블럭이 되므로, 이 블럭의 선두 어드레스인 30h번지와 논리 어드레스에서의 데이터 영역의 선두 어드레스인 59h번지와 일치시켜, 30h번지에서 시작하는 블럭을 데이터 영역으로서 할당한다.
플래시 메모리(4)의 30h번지부터 시작하는 블럭이 데이터 영역으로서 할당되면, 플래시 메모리(4a)에서의 30h번지부터 시작하는 블럭을 데이터 영역으로서 할당한다.
그리고, 이들 플래시 메모리(4, 4a)에서의 데이터 영역을 블럭단위에 의해 번갈아 할당한다. 예컨대, 도 9에 나타내는 바와 같이, 논리 어드레스의 59h번지 ~ 60h번지를 플래시 메모리(4)에 할당하면, 그 다음의 논리 어드레스인 61h번지 ~ 68h번지는, 플래시 메모리(4a)에 할당되게 된다.
여기서, 물리 어드레스와 논리 어드레스와는 오프세트되어 할당되어 있으므로, 논리 어드레스 7AF0h번지 ~ 7AFFh번지가 부족하지만, 이들 7개의 어드레스는, 플래시 메모리(4)에서의 물리 어드레스의 선두로 되돌아가, 오프세트에 의해 할당되어 있지 않은 물리 어드레스의 0h번지 ~ 6h번지에 할당된다.
따라서, 논리 어드레스 7AF0h번지 ~ 7AFFh번지가, 플래시 메모리(4)에서의 물리 어드레스의 0h번지 ~ 6h번지에 오프세트되어 할당되게 된다.
또, 시스템 영역에서의 논리 어드레스의 할당에 대해서 설명한다. 이 시스템 영역에서의 논리 어드레스도 마찬가지로, 물리 어드레스에서 형성된 블럭단위에 의해 할당이 행해진다.
전술한 바와 같이, 플래시 메모리(4)의 물리 어드레스는, 7섹터분 오프세트되어 있으므로, 플래시 메모리(4)의 0h번지 ~ 7h번지에 의해 형성되는 블럭에 있어서, 0h번지 ~ 6h번지가 데이터 영역으로 되어 있으며, 이 블럭에서는 1섹터의 시스템 영역이 할당된다.
따라서, 물리 어드레스의 7h번지에 마스터 부트 레코드(MBR)가 할당되고, 그 후의 데이터 영역에 할당되는 부트섹터(BS), 파일 올로케이션 테이블(FAT), 및 디렉토리(DR)는, 플래시 메모리(4, 4a)의 1블럭씩(8섹터) 번갈아 할당되게 된다.
또한, 플래시 메모리(4, 4a)에서의 데이터 소거에 대해서 설명한다.
예컨대, 논리 어드레스의 59h번지부터 16섹터(2클러스터)의 데이터 기록이 행해지는 경우, 논리 어드레스에서의 59h번지부터 16섹터의 사이 즉, 물리 어드레스에 있어서는, 플래시 메모리(4)의 30h번지 ~ 37h번지, 및 플래시 메모리(4a)의 30h번지 ~ 37h번지의 2개의 블럭을 소거하는 것만으로 좋으므로, 소거회수를 2회로 할 수 있다.
또, 플래시 메모리(4, 4a)에서의 데이터 기록동작에 대해서, 도 10의 타이밍 챠트를 이용하여 설명한다.
먼저, 호스트에서 1섹터만큼의 데이터인 전송데이터(T1)가 메모리 카드(1)의 버퍼 메모리에 전송된다. 메모리 카드(1)의 컨트롤러는, 기록되는 플래시 메모리(4a)에서의 섹터(S1) ~섹터(S8)의 관리정보를 리드하고, 그 결과, 불량이 없는 경우에는, 그들 8섹터의 데이터를 한번에 소거 즉, 블럭소거가 행해진다.
전송데이터(T1)는, 플래시 메모리(4a)의 입력버퍼에 전송되고, 데이터 기록(기록 1)이 행해진다. 이 때, 호스트에서는, 다음의 데이터인 전송데이터(T2)가 전송된다. 이 전송데이터(T2)가 전송되는 동안, 메모리 카드(1)의 컨트롤러는, 두번째의 플래시 메모리(4)에서의 섹터(S9)의 관리정보를 리드한다.
전송데이터(T1)가 기록된 후, 계속해서 전송데이터(T2)가, 플래시 메모리(4)의 입력버퍼에 전송되고, 데이터 기록(기록 2)이 행해진다. 이 때, 동일하게, 호스트에서는, 다음의 데이터인 전송데이터(T3)가 전송된다. 또, 이 전송데이터(T3)가 전송되는 동안, 메모리 카드(1)의 컨트롤러는, 두번째의 플래시 메모리(4)에서의 섹터(S10)의 관리정보를 리드한다.
이들의 동작을 반복함으로써, 전송데이터(T5)가 플래시 메모리(4)의 입력버퍼에 전송되고, 데이터 기록(기록 5)이 행해지면, 호스트에서는, 다음의 데이터인 전송데이터(T6)가 전송된다. 이 전송데이터(T6)가 전송되는 동안, 메모리 카드(1) 의 컨트롤러는, 플래시 메모리(4)에서의 섹터(S13, S14)의 관리정보를 리드한다.
마찬가지로, 전송데이터(T6)가 플래시 메모리(4)의 입력버퍼에 전송되고, 데이터 기록(기록 6)이 행해진다. 또, 호스트에서 다음의 데이터인 전송데이터(T7)가 전송되면, 전송데이터(T7)가 전송되는 동안, 메모리 카드(1)의 콘트롤러는, 플래시 메모리(4)의 섹터(15, 16)의 관리정보를 리드한다. 여기서, 플래시 메모리(4)에서의 1블럭분의 섹터(S9 ~ S16)의 관리정보가 리드된 것으로 된다.
그리고, 전송데이터(T7)가 플래시 메모리(4)의 입력버퍼에 전송되어, 데이터 기록(기록 7)이 행해지고, 호스트에서 다음의 데이터인 전송데이터(T8)가 전송되면, 전송데이터(T8)가 전송되는 동안, 플래시 메모리(4)의 8섹터의 데이터를 블럭소거 한다.
이상의 동작을 반복하여 행함으로써, 2개의 플래시 메모리(4, 4a)에서의 소거, 기록, 메모리 카드(1)에의 데이터 전송을 병렬로 하여 실행할 수 있다.
그것에 의해, 본 실시형태 2에 있어서, 호스트에서 데이터 전송되고 있는 동안에, 메모리 카드(1)의 플래시 메모리(4, 4a)에서의 데이터 기록, 데이터의 블럭소거를 행할 수 있으므로, 데이터의 기록시간을 큰 폭으로 단축할 수 있다.
또, 본 실시형태 2에서는, 플래시 메모리가 2개인 경우에 대해서 기재했지만, 이 플래시 메모리가 4개 이상의 2n개의 경우에 있어서도, 본 실시형태 2에서의 기록동작을 행함으로써, 데이터의 기록시간을 큰 폭으로 단축할 수 있다.
이상, 본 발명자에 의해 행해진 발명을 실시예에 기초하여 구체적으로 설명 했지만, 본 발명은 상기 실시예에 한정되는 것이 아니고, 그 요지를 이탈하지 않는 범위에서 여러가지 변경 가능한 것은 말할 필요도 없다.
이상과 같이, 본 발명에서의 메모리 카드, 논리 어드레스의 할당방법 및 데이터 기록방법은, 메모리 카드에서의 데이터 소거, 및 기록의 고속화 기술에 적용하고 있다.
Claims (10)
- 삭제
- 오프세트 값이 저장된 오프세트 저장부와, 상기 오프세트 저장부의 오프세트 값과 입력된 논리 어드레스를 연산하는 오프세트 연산부를 구비하고, 상기 오프세트 연산부의 연산에 의해 논리 어드레스를 오프세트시켜 불휘발성 메모리에 구비된 물리 어드레스에 할당하여, 블럭단위와 클러스터 단위를 일치시키며,상기 오프세트 저장부를 상기 불휘발성 메모리의 어느 영역에 구비한 것을 특징으로하는 메모리 카드.
- 제 2 항에 있어서,상기 오프세트 값은, 상기 불휘발성 메모리에서의 유저가 액세스 불가능한 영역에 저장되는 것을 특징으로 하는 메모리 카드.
- 삭제
- 삭제
- 불휘발성 메모리의 물리 어드레스를 구성하는 제1의 부분과, 제1의 부분에 연속하는 물리 어드레스를 가지는 제2의 부분을 가지고, 2개의 불휘발성 메모리에서의 논리 어드레스의 할당방법으로서, 상기 2개의 불휘발성 메모리에 구비된 각각의 물리 어드레스를, 어느 섹터마다로 모아서 섹터 블럭을 형성하고, 상기 2개의 불휘발성 메모리 중, 한쪽의 불휘발성 메모리의 임의의 섹터 블럭에서의 선두의 물리 어드레스에 데이터 영역이 시작하는 선두의 논리 어드레스를 할당하도록 상기 한쪽의 불휘발성 메모리의 물리 어드레스의 처음에 소정의 오프세트를 부가한 어드레스를 논리 어드레스의 선두에 할당한 후, 나머지의 논리 어드레스를 번갈아 상기 2개의 불휘발성 메모리의 섹터 블럭마다로 할당하여, 논리 어드레스의 데이터 영역이, 상기 2개의 불휘발성 메모리에서의 물리 어드레스의 제1의 부분의 마지막 섹터까지 할당하면, 나머지의 데이터 영역을 상기 한쪽의 불휘발성 메모리에서의 물리 어드레스의 제2의 부분의 처음부터 할당하는 것을 특징으로 하는, 논리 어드레스의 할당방법.
- 삭제
- 삭제
- 삭제
- 2N개의 불휘발성 메모리가 구비된 메모리 카드의 데이터 기록방법으로서, 상기 불휘발성 메모리는, 물리 어드레스를 구성하는 제1의 부분과, 제1의 부분에 연속하는 물리 어드레스를 가지는 제2의 부분을 가지고, 물리 어드레스의 선두에 소정의 오프세트를 부가한 어드레스를 논리 어드레스의 선두에 할당되어, 첫번째로 데이터 기록되는 불휘발성 메모리에 구비된 섹터 블럭의 관리정보를 판독하고, 그 섹터 블럭을 블럭소거하는 제1의 공정과, 상기 메모리 카드에 일시적으로 저장된 기록 데이터를 상기 불휘발성 메모리의 섹터에 저장하면서, 두번째로 데이터 기록되는 불휘발성 메모리에서의 임의의 섹터의 관리정보를 판독하고, 다음의 기록 데이터를 상기 메모리 카드에 일시적으로 저장하는 제2의 공정과, 상기 두번째로 데이터 기록되는 불휘발성 메모리에서의 섹터 블럭의 모든 관리정보가 판독되면, 그 섹터 블럭의 소거를 행하면서, 상기 메모리 카드에 일시적으로 저장된 기록 데이터의 나머지를 상기 첫번째의 불휘발성 메모리의 섹터에의 저장을 계속 행하는 제3의 공정과, 상기 제2, 제3의 공정에서의 처리를, 2N번째로 데이터 기록되는 불휘발성 메모리까지 반복하여 행하는 것을 특징으로 하는 메모리 카드의 데이터 기록방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4251899 | 1999-02-22 | ||
JPJP-P-1999-00042518 | 1999-02-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010108209A KR20010108209A (ko) | 2001-12-07 |
KR100716576B1 true KR100716576B1 (ko) | 2007-05-11 |
Family
ID=12638311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020017010223A KR100716576B1 (ko) | 1999-02-22 | 2000-02-15 | 메모리 카드, 논리 어드레스의 할당방법 및 데이터 기록방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6725322B1 (ko) |
EP (1) | EP1209568A1 (ko) |
JP (1) | JP4173642B2 (ko) |
KR (1) | KR100716576B1 (ko) |
TW (1) | TW502441B (ko) |
WO (1) | WO2000050997A1 (ko) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4534336B2 (ja) | 2000-10-13 | 2010-09-01 | ソニー株式会社 | メモリ装置におけるデータ管理方法 |
JP2003296177A (ja) | 2002-04-03 | 2003-10-17 | Sony Corp | 記録装置および方法、記録媒体、並びにプログラム |
US7478248B2 (en) * | 2002-11-27 | 2009-01-13 | M-Systems Flash Disk Pioneers, Ltd. | Apparatus and method for securing data on a portable storage device |
US6898680B2 (en) | 2003-01-03 | 2005-05-24 | Micrel, Incorporated | Minimization of overhead of non-volatile memory operation |
FI117489B (fi) * | 2003-02-07 | 2006-10-31 | Nokia Corp | Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti |
US7023620B1 (en) | 2003-07-03 | 2006-04-04 | Research Electro-Optics, Inc. | Beam array pitch controller |
CN100422956C (zh) * | 2003-08-06 | 2008-10-01 | 松下电器产业株式会社 | 半导体存储卡、存取装置和存取方法 |
JPWO2005029311A1 (ja) * | 2003-09-18 | 2006-11-30 | 松下電器産業株式会社 | 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法 |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US8607016B2 (en) * | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
JP4561246B2 (ja) * | 2004-08-31 | 2010-10-13 | ソニー株式会社 | メモリ装置 |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7395404B2 (en) * | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US20060253643A1 (en) * | 2005-05-04 | 2006-11-09 | Delkin Devices, Inc. | Memory with isolated master boot record |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
WO2007130976A2 (en) * | 2006-05-05 | 2007-11-15 | Sandisk Corporation | Non-volatile memory with background data latch caching during program operations and methods therefor |
TWI427637B (zh) * | 2006-05-05 | 2014-02-21 | Sandisk Technologies Inc | 在程式執行期間具有背景資料鎖存快取的非揮發性記憶體及方法 |
WO2007131059A2 (en) * | 2006-05-05 | 2007-11-15 | Sandisk Corporation | Non-volatile memory with background data latch caching during erase operations and methods therefor |
JP4461170B2 (ja) | 2007-12-28 | 2010-05-12 | 株式会社東芝 | メモリシステム |
US8695087B2 (en) * | 2008-04-04 | 2014-04-08 | Sandisk Il Ltd. | Access control for a memory device |
TWI373773B (en) * | 2008-05-27 | 2012-10-01 | Phison Electronics Corp | Storage sysetm having multiple non-volatile memory, and controller and access method thereof |
JP5193822B2 (ja) * | 2008-11-19 | 2013-05-08 | 株式会社東芝 | 追記型メモリデバイス |
US8180995B2 (en) * | 2009-01-21 | 2012-05-15 | Micron Technology, Inc. | Logical address offset in response to detecting a memory formatting operation |
US8392687B2 (en) * | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
US20100191896A1 (en) * | 2009-01-23 | 2010-07-29 | Magic Technologies, Inc. | Solid state drive controller with fast NVRAM buffer and non-volatile tables |
JP5323030B2 (ja) * | 2010-12-01 | 2013-10-23 | 株式会社東芝 | メモリ装置及びメモリ制御方法 |
JP5677336B2 (ja) | 2011-08-01 | 2015-02-25 | 株式会社東芝 | メモリ・デバイス |
KR20140023609A (ko) * | 2012-08-16 | 2014-02-27 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
JP2014086062A (ja) * | 2012-10-29 | 2014-05-12 | Sony Corp | 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法 |
US10877900B1 (en) | 2019-06-26 | 2020-12-29 | Western Digital Technologies, Inc. | Enabling faster and regulated device initialization times |
US11527300B2 (en) | 2020-08-26 | 2022-12-13 | Western Digital Technologies, Inc. | Level dependent error correction code protection in multi-level non-volatile memory |
US11436083B2 (en) | 2020-09-04 | 2022-09-06 | Western Digital Technologies, Inc. | Data address management in non-volatile memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124175A (ja) * | 1992-08-28 | 1994-05-06 | Sharp Corp | 半導体ディスク装置 |
WO1999008177A1 (en) * | 1997-08-04 | 1999-02-18 | Tokyo Electron Limited | Data processing system, block erasing type memory device and memory medium storing program for controlling memory device |
US9908177B2 (en) * | 2014-05-20 | 2018-03-06 | Raytheon Company | Method of making an object with a metal-non-metal seal |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP2582487B2 (ja) | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
US6256642B1 (en) | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
JP2856621B2 (ja) * | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
US5799168A (en) | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
JP3661286B2 (ja) | 1996-08-01 | 2005-06-15 | 富士ゼロックス株式会社 | 印刷データ格納方法及び印刷装置 |
JP3942807B2 (ja) * | 2000-06-06 | 2007-07-11 | 株式会社ルネサステクノロジ | ブロックアラインメント機能付き半導体記憶装置 |
-
2000
- 2000-02-15 JP JP2000601529A patent/JP4173642B2/ja not_active Expired - Fee Related
- 2000-02-15 WO PCT/JP2000/000827 patent/WO2000050997A1/ja active IP Right Grant
- 2000-02-15 US US09/913,963 patent/US6725322B1/en not_active Expired - Lifetime
- 2000-02-15 EP EP00902975A patent/EP1209568A1/en not_active Withdrawn
- 2000-02-15 KR KR1020017010223A patent/KR100716576B1/ko not_active IP Right Cessation
- 2000-02-17 TW TW089102731A patent/TW502441B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124175A (ja) * | 1992-08-28 | 1994-05-06 | Sharp Corp | 半導体ディスク装置 |
WO1999008177A1 (en) * | 1997-08-04 | 1999-02-18 | Tokyo Electron Limited | Data processing system, block erasing type memory device and memory medium storing program for controlling memory device |
US9908177B2 (en) * | 2014-05-20 | 2018-03-06 | Raytheon Company | Method of making an object with a metal-non-metal seal |
Non-Patent Citations (2)
Title |
---|
06124175 * |
9908177 * |
Also Published As
Publication number | Publication date |
---|---|
TW502441B (en) | 2002-09-11 |
JP4173642B2 (ja) | 2008-10-29 |
US6725322B1 (en) | 2004-04-20 |
WO2000050997A1 (fr) | 2000-08-31 |
KR20010108209A (ko) | 2001-12-07 |
EP1209568A1 (en) | 2002-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100716576B1 (ko) | 메모리 카드, 논리 어드레스의 할당방법 및 데이터 기록방법 | |
US7392343B2 (en) | Memory card having a storage cell and method of controlling the same | |
JP3105092B2 (ja) | 半導体メモリ装置 | |
US6459644B2 (en) | Semiconductor memory device with block alignment function | |
US5953737A (en) | Method and apparatus for performing erase operations transparent to a solid state storage system | |
US8681552B2 (en) | System and method for accessing and storing interleaved data | |
JP3328321B2 (ja) | 半導体記憶装置 | |
US7944762B2 (en) | Non-volatile memory control | |
EP1769331B1 (en) | Storage device and host apparatus | |
US7934074B2 (en) | Flash module with plane-interleaved sequential writes to restricted-write flash chips | |
EP1242868B1 (en) | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
US8880483B2 (en) | System and method for implementing extensions to intelligently manage resources of a mass storage system | |
JP3680142B2 (ja) | 記憶装置及びアクセス方法 | |
JP3310011B2 (ja) | 半導体メモリおよびこれを使用した半導体メモリボード | |
JP2009503729A (ja) | 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム | |
CN112201292A (zh) | 控制器及其操作方法 | |
JP2006039966A (ja) | メモリカードおよびメモリカードに搭載されるカード用コントローラ並びにメモリカードの処理装置 | |
JPH05150913A (ja) | フラツシユメモリを記憶媒体としたシリコンデイスク | |
JP2000148583A (ja) | 半導体記憶装置 | |
JP3328604B2 (ja) | 半導体記憶装置 | |
JP3793464B2 (ja) | 半導体記憶装置 | |
JP3793540B2 (ja) | 半導体記憶装置 | |
JP2005100470A (ja) | 半導体記憶装置 | |
CN117631961A (zh) | 数据储存装置、以及非挥发式存储器控制方法 |
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: 20130502 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140418 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150416 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |