KR100564672B1 - 기억장치, 데이터 기록방법 및 데이터 판독방법 - Google Patents
기억장치, 데이터 기록방법 및 데이터 판독방법 Download PDFInfo
- Publication number
- KR100564672B1 KR100564672B1 KR1019980027191A KR19980027191A KR100564672B1 KR 100564672 B1 KR100564672 B1 KR 100564672B1 KR 1019980027191 A KR1019980027191 A KR 1019980027191A KR 19980027191 A KR19980027191 A KR 19980027191A KR 100564672 B1 KR100564672 B1 KR 100564672B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- inverted
- bit
- blocks
- inversion flag
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 15
- 230000015654 memory Effects 0.000 claims abstract description 44
- 230000006378 damage Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 6
- 230000005779 cell damage Effects 0.000 description 4
- 208000037887 cell injury Diseases 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 플래시메모리의 서비스 수명을 증가시키기 위하여 특정 셀에 대한 데이터 소거/기록에 의해 야기되는 손상 집중을 방지한다.
CPU(17)는 판독된 데이터가 새로운 데이터인지 아니면 반전 플래그가 설정되어있는 데이터인지의 여부를 판정한다(단계 S1 및 단계 S2). 반전 플래그가 설정되어 있지 않다면, 플래시메모리에 데이터를 기록할 때 데이터의 비트를 반전시키기 위하여(단계 S4 및 S6) 반전 플래그는 설정된다(단계 S3). 반전 플래그가 설정되어 있다면, 반전 플래그는 리셋되고(단계 S5) 데이터가 플래시메모리에 기록된다(단계 S6).
Description
본 발명은 바람직하게 NAND형 플래시메모리(NAND type flash memory)에 사용될 수 있는 기억 장치, 데이터 기록 방법, 데이터 판독 방법, 및 기록 매체에 관한 것이다.
종래에, 컴퓨터 어플리케이션용 데이터, 스틸 카메라(still camera), 비디오 카메라 등의 데이터 및 음악과 같은 오디오 데이터를 기억하기 위한 기억 장치로서 플래시메모리를 사용하는 것이 제안되어 있다.
이러한 플래시메모리는 하나의 셀에 축적된 전하에 의해 데이터를 기억하고, 소거 단위인 블록에 기초하여 데이터를 소거한다.
플래시메모리에서, 데이터 기록을 수행하기 전에, 셀은 클리어(clear) 상태이어야 한다. 즉, 데이터는 셀로부터 전자들을 제거함으로써 소거되어야 한다. 그리고 나서, 셀 상태를 반전시키기 위해 전하가 셀에 주입될 때 데이터가 플래시메모리에 기록된다.
상술된 바와 같이, 플래시메모리는 블록에 기초하여 셀로부터 전하를 제거함으로써 데이터를 소거한다. 전하가 셀로부터 제거될 때 큰 부하가 메모리에 인가된다. 또한, 데이터를 기록할 때에도, 전하가 주입되는 셀에 큰 부하가 인가된다.
따라서, 비트 반전을 수행하지 않고 데이터 재기록이 반복되거나 남아있는 데이터가 거의 바뀌지 않을 때, 매회 전하가 주입되는 셀들과 전하가 주입되지 않는 셀들이 존재한다. 따라서 블록 내의 셀 손상에 있어 편차가 발생하며, 그것은 이어서 블록 서비스 수명을 단축시킬 수도 있다. 특히, 부분적인 수정이 자주 수행되는 관리 파일이나 디렉토리 파일의 경우에는, 데이터 기록의 반복은 블록 내에서의 셀 손상 편차를 쉽게 야기시킨다.
이와 대비하여, 데이터 재기록이 상이한 블록에서 수행되는 플래시메모리를 고려할 수 있다. 그러나, 데이터가 기록될 때마다 상이한 블록을 사용하기 위한 관리 구조를 필요로 하는 문제가 발생하고, 이는 결과적으로 플래시메모리의 구조가 복잡하게 되도록 한다.
따라서, 본 발명의 목적은 데이터 소거/기록에 의해 야기되는 특정 셀에 대한 손상의 집중을 방지하여 서비스 수명을 연장할 수 있게 하는 기억 장치, 데이터 기록 방법, 데이터 판독 방법, 및 기록 매체를 제공하는 것이다.
상술한 목적을 달성하기 위하여, 본 발명에 따른 기억 장치는: 블록들로 분할된 데이터 및 블록들 각각에 대해 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하기 위한 기억 수단; 및 기억 수단에의 데이터 기록 및 반전 플래그의 설정을 제어하기 위한 제어 수단을 포함한다.
상술한 기억 장치에서 제어 수단은 다음과 같이 동작한다. 즉, 기억 수단으로부터의 데이터가 기록될 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 데이터가 기록될 때 비트가 비반전되어 있음을 나타내는 반전 플래그가 설정되고, 기억 수단으로부터의 데이터가 기록될 블록의 반전 플래그가 비트가 비반전되어 있음을 나타내면, 비트 반전이 수행될 것임을 나타내는 반전 플래그가 설정되어 비트가 반전된 데이터가 기록된다.
본 발명에 따른 데이터 기록 방법은: 데이터 기록 및 반전 플래그 설정을 제어하기 위해, 복수의 블록들로 분할된 데이터와 블록들 각각에 대해 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하는 단계를 포함한다.
이러한 데이터 기록 방법에 따르면, 데이터가 기록될 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 데이터가 기록될 때 비트가 비반전되어 있음을 나타내는 반전 플래그가 설정되고, 데이터가 기록될 블록의 반전 플래그가 비트가 비반전되어 있음을 나타내면, 비트 반전이 수행될 것임을 나타내는 반전 플래그가 설정되어 비트가 반전된 데이터가 기록된다.
본 발명에 따른 기억 장치는: 복수의 블록들로 분할된 데이터 및 블록들마다 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하기 위한 기억 수단; 및 기억 수단으로부터 데이터의 판독을 제어하기 위한 제어 수단을 포함한다.
상술된 기억 장치에서, 제어 수단으로부터 판독된 데이터가 속하는 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 제어 수단은 판독된 데이터의 비트를 반전시키도록 제어한다.
본 발명에 따른 데이터 판독 방법은: 블록들로 분할된 데이터, 및 기억된 데이터를 판독할 때 블록들마다 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하는 단계를 포함한다.
상술된 판독 방법에 따르면, 판독 데이터가 속하는 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 판독된 데이터의 비트가 반전된다.
본 발명에 따른 기록 매체는 블록들로 분할된 데이터를 기억하고, 블록들마다에 대해 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 갖는다.
상술된 기록 매체에 따르면, 반전 플래그는 블록들마다 기록된 데이터의 비트가 반전되어 있는지의 여부를 나타낼 수 있다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들이 설명될 것이다.
도 1에 도시된 바와 같이, 본 발명은 호스트 컴퓨터(1) 및 메모리 카드(2)를 포함하는 메모리 장치에 적용될 수 있다.
호스트 컴퓨터(1)는 메모리 카드(2)에 데이터를 기록하고 메모리 카드(2)에 기억된 데이터를 판독한다.
보다 구체적으로, 도 1에 도시된 바와 같이 호스트 컴퓨터(1)는 스틸 영상 데이터 및 오디오 데이터와 같은 다양한 데이터를 기억하기 위한 하드디스크(11); 하드디스크(11)로부터의 데이터를 일시 기억하여 판독하기 위한 RAM(랜덤 액세스 메모리)(12); 디스플레이 인터페이스(이하, 디스플레이 I/F라고 함)(13); 디스플레이 I/F(13)를 통해 공급된 데이터에 따라 영상을 디스플레이하기 위한 디스플레이(14); 3개의 데이터 라인들을 통해 메모리 카드(2)에의 데이터 전송 및 메모리 카드(2)로부터의 데이터 수신을 수행하기 위한 직렬 인터페이스(이하, 직렬 I/F라고함)(15); 버스(16); 및 전체 시스템을 제어하기 위한 CPU(중앙 처리 장치)(17)를 포함한다.
RAM(12)은, 예를 들면, 버스(16)를 통해 하드디스크(11)로부터의 데이터를 일시 기억하여, 필요시 버스(16)를 통해 직렬 I/F(15)에 데이터를 공급한다.
하드디스크(11)로부터 판독된 데이터 및 메모리 카드(2)로부터의 데이터가 버스(16) 및 디스플레이 I/F(13)를 통해 디스플레이(14)에 공급되어, 이러한 데이터에 따라 정지 영상 및 동화상이 디스플레이된다.
3개의 데이터 라인들을 통해, 직렬 I/F(15)는 메모리 카드(2)에 데이터를 전송하고 메모리 카드(2)로부터 데이터를 수신한다. 보다 구체적으로, 직렬 I/F(15)는, 제 1 데이터 라인을 통해, 메모리 카드(2)에 기록될 데이터 및 제어 데이터를 전송하고, 메모리 카드(2)로부터 판독된 데이터를 수신한다. 직렬 I/F(15)는, 제 2 데이터 라인을 통해, 제 1 데이터 라인에서의 데이터 또는 제어 데이터로 이루어지는 직렬 데이터(DIO)의 스위칭에 따라 스위칭된 상태를 나타내는 상태 신호(STATE)를 출력한다. 또한, 직렬 I/F(15)는, 제 3 데이터 라인을 통해, 상술된 제어 데이터 및 데이터를 전송할 때 직렬 클록(SCLK)을 전송한다.
CPU(17)는 RAM(12)과 하드디스크(11)로부터의 데이터 판독 및 RAM(12) 등에의 데이터 기록을 제어하고, 또한 메모리 카드(2)에의 데이터 전송 및 메모리 카드(2)로부터의 데이터 수신을 제어한다. 예를 들면, CPU(17)는 메모리 카드의 오소거방지 스위치(erroneous erase preventing switch)(이후에 상세히 설명됨)가 기록 방지 모드로 설정되어 있는지의 여부를 판정하기 위해 사용되는 레지스터 명령을 발행하고, 메모리 카드(2)에 대해 어드레스가 지정된 소정의 데이터 기록 명령을 발행한다.
한편, 도 2에 도시된 바와 같이, 메모리 카드(2)는 상술된 3개의 데이터 라인들 외에, 2개의 포지티브 전극 DC 전원 라인(Vcc), 그라운드 라인(INT), 네가티브 전극 DC 전원(Vss), 및 2개의 예비 라인들을 통해 상술된 호스트 컴퓨터(1)에 접속된다. 따라서, 메모리 카드(2)에는 DC 전원 라인들을 통해 호스트 컴퓨터(1)로부터 전원이 공급되어, 메모리 카드(2) 내부의 각 회로들을 구동할 수 있도록 한다.
여기서, 도 2에 도시된 바와 같이, 메모리 카드(2)는 상술된 호스트 컴퓨터(1)로부터 데이터 및 제어 데이터를 수신하기 위한 제어 IC(21); 데이터를 기억하기 위한 플래시메모리(22); 및 플래시메모리(22)에 기억된 데이터의 오소거를 방지하기 위한 오소거 방지 스위치(23)를 포함한다.
제어 IC(21)는 호스트 컴퓨터(1)로부터 전송된 데이터를 플래시메모리(22)에 기록하기 전에 오소거 방지 스위치(23)가 기록 방지 온(ON) 상태로 설정되어 있는지 오프(OFF) 상태로 설정되어 있는지의 여부를 판정한다. 기록 방지가 오프 상태일 때에만, 데이터가 플래시메모리에 기록된다.
플래시메모리(22)는, 예를 들면, NAND형 플래시메모리로 구성된다. 도 3에 도시된 바와 같이, 플래시메모리(22)에서, 호스트 컴퓨터(1)로부터 전송된 데이터가 소거 단위가 되는 블록들마다 기억된다. 블록들(0, 1, 2, ..., n) 각각은 호스트 컴퓨터(1)로부터 전송된 데이터의 1 페이지(512 바이트)를 기억하기 위한 데이터 영역 및 16-바이트 중복 영역(redundant area)으로 이루어진다. 중복 영역에는 블록의 데이터 영역에 포함된 데이터의 관리를 위한 관리 정보가 기억된다. 이러한 관리 정보는, 예를 들어, 데이터 기록 상태를 나타내는 블록 플래그; 복수의 블록들이 단일 파일을 구성할 때, 연결 목적지를 나타내는 연결 정보; 및 데이터가 데이터 영역에 기록되었을 때 데이터가 반전되었는지의 여부를 나타내는 반전 플래그를 포함한다. 데이터 판독 및 기록을 수행할 때 플래시메모리(22)의 상태를 판정하는데 사용하기 위하여, 상기 관리 정보 항목들이 호스트 컴퓨터(1)에 의해 판독된다.
여기서, 보다 구체적으로, 제어 IC(21)는 직렬/병렬-병렬/직렬 인터페이스 시퀀서(이하, S/P 및 P/S 시퀀서라고 함)(31); S/P 및 P/S 시퀀서(31)로부터 데이터를 일시 기억하기 위한 페이지 버퍼(32); 페이지 버퍼(32)로부터 플래시메로리(22)에 데이터를 공급하기 위한 플래시 인터페이스 시퀀서(이하, 플래시 I/F 시퀀서라고 함); 에러 정정을 수행하기 위한 ECC 인코더/디코더(34); 소정의 제어 명령을 발생하기 위한 명령 발생기 (35); 버전 정보 등을 포함하는 구성 ROM(판독 전용 메모리)(36); 및 각 회로들에 클록을 공급하기 위한 발진기(37)를 포함한다.
S/P 및 P/S 시퀀서(31)는 상술된 제 1 내지 제 3 데이터 라인들을 통해 호스트 컴퓨터(1)의 직렬 I/F(15)에 접속된다. 따라서, S/P 및 P/S 시퀀서(31)에는 호스트 컴퓨터(1)로부터 상태 신호(STATE), 직렬 클록(SCLK), 및 데이터 및 제어 데이터로 이루어지는 직렬 데이터(DIO)가 공급된다.
S/P 및 P/S 시퀀서(31)는 호스트 컴퓨터(1)로부터 공급된 직렬 데이터(DIO)를 상술된 직렬 클록(SCLK)에 동기하여 병렬 데이터로 변환한다. S/P 및 P/S 시퀀서(31)는 이들 병렬 데이터 중에서, 예를 들면, 명령 발생기(35)에 명령 데이터를 공급하고 페이지 버퍼(32)에 데이터를 공급한다.
페이지 버퍼(32)는 페이지에 기초하여 S/P 및 P/S 시퀀서(31)로부터 공급된 데이터를 기억하기 위한 버퍼 메모리이다. 페이지 버퍼(32)에 기억된 데이터에는 ECC 인코더/디코더(34)에 의해 에러 정정 부호가 부가된다. 페이지 버퍼(32)는 에러 정정 부호가 부가된 1 페이지 데이터를 플래시 I/F 시퀀서(33)를 통해 플래시메모리들(22a 내지 22d)에 공급한다. 따라서, 호스트 컴퓨터(1)로부터의 데이터가 플래시메모리들(22a 내지 22d)내에 기록된다.
또한, 플래시메모리들(22a 내지 22d)로부터 판독된 데이터는 플래시 I/F 시퀀서(33)를 통해 페이지 버퍼(32)에 공급된다.
페이지 버퍼(32)는 플래쉬 I/F 시퀀서(33)로부터의 데이터를 기억한다. 여기서, ECC 인코더/디코더(34)는 페이지 버퍼(32)에 기억된 데이터에 부가된 에러 정정 부호에 따라 에러 정정 처리를 수행한다. 페이지 버퍼(32)는 에러 정정 처리가 된 데이터의 각 페이지를 판독하고, 그 데이터를 S/P 및 P/S 시퀀서(31)에 공급한다. S/P 및 P/S 시퀀서(31)는 페이지 버퍼(32)로부터 공급된 병렬 데이터를 직렬 데이터(DIO)로 변환하고, 얻어진 직렬 데이터(DIO)를 상술된 호스트 컴퓨터(1)에 전송한다.
명령 발생기(35)는 S/P 및 P/S 시퀀서(31)로부터의 제어 데이터에 따라 제어 명령을 발생한다. 예를 들면, 명령 발생기(35)가 메모리 카드(2)의 동작 상태를 점검하기 위한 판독 상태 레지스터 명령을 수신할 때, 명령 발생기(35)는 오소거 방지 스위치(23)의 설정 상태를 판정하여, 설정 상태에 따라 데이터를 기록할 것인지의 여부를 판정한다.
또한, 명령 발생기(35)는, 데이터가 플래시메모리(22)에 기록되는 중이거나 데이터가 플래시메모리(22)로부터 판독되는 중일 때 상태를 타나내는 비지 명령(busy command)(이하, 비지 신호라고 함)을 발생하고, 이 비지 신호를 S/P 및 P/S 시퀀서(31)를 통해 호스트 컴퓨터(1)에 전송한다. 데이터 기록 또는 판독이 완료될 때, 명령 발생기(35)는 데이터 기록 또는 판독 종료를 나타내는 준비 명령(이하, 준비 신호라고 함)을 발생하고, 준비 신호를 S/P 및 P/S 시퀀서(31)를 통해 호스트 컴퓨터(1)에 전송한다. 호스트 컴퓨터는 비지 신호 및 준비 신호를 수신함으로써 메모리 카드(2)의 동작 상태를 인식한다.
구성 ROM(36)은 버전 정보 및 메모리 카드(2)의 초기 설정값과 같은 정보를 포함한다. 따라서, 호스트 컴퓨터(1)와 메모리 카드(2)간에 접속이 이루어질 때, 명령 발생기(35)는 우선 구성 ROM(36)으로부터의 상술된 버전 정보를 S/P 및 P/S 시퀀서(31)를 통해 판독하고, 이 정보에 따라서, 소정의 명령을 발생하여 메모리 카드(2)의 소정의 초기화를 수행한다.
상술된 구성을 갖는 메모리 장치에서, 호스트 컴퓨터(1)는 메모리 카드(2)의 플래시메모리(22)의 관리 정보를 미리 판독하고, 이 정보를 램(12)에 기억한다. 메모리 카드(2)에 데이터를 기록할 때, 호스트 컴퓨터(1)는 도 4에 도시된 처리 단계들(S1 내지 S6)을 수행하기 위해 상술된 관리 정보를 사용한다.
단계 S1에서, 호스트 컴퓨터(1)의 CPU(17)는, 예를 들면, 메모리 카드에 전송하기 위하여 하드디스크(11)로부터 판독된 데이터가 새로운 데이터인지의 여부를 판정한다. 데이터가 새로운 데이터라면, 제어는 단계 S5로 진행한다. 데이터가 새로운 데이터가 아니라면, 제어는 단계 S2로 진행한다. 즉, CPU(17)는 데이터가 완전히 새로운 데이터인지 아니면 메모리 카드(2)에 전송되어 일부 수정된 데이터와 유사한 데이터인지를 판정한다. 데이터가 새로운 데이터라고 판정되면 제어는 단계 S5로 진행하고, 데이터가 기존의 데이터와 유사하다면 제어는 단계 S2를 진행한다.
단계 S2에서, CPU(17)는 데이터 기록을 위해 사용될 각 블록들에서 반전 플래그가 설정되었는지의 여부를 판정한다. 반전 플래그가 설정되어 있다면 제어는 단계 S5로 진행하고, 설정되어 있지 않다면 제어는 단계 S3으로 진행한다.
단계 S3에서, CPU(17)는 직렬 I/F(15) 및 메모리 카드(2)의 제어 IC(21)를 통해 플래시메모리(22)의 중복 영역에 반전 플래그를 설정하고, 전송될 데이터를, 예를 들면, 하드디스크(11)로부터 램(12)에 기억시키고, 제어를 단계 S4로 진행한다.
한편, 단계 S1에서 데이터가 새로운 것이라고 판정되고, 단계 S2에서 반전 플래그가 설정되어 있다고 판정될 때, 단계 S5에서 CPU(17)는 메모리 카드(2)의 제어 IC(21)를 통해 플래시메모리(22)의 중복 영역에 반전 플래그를 리셋하고, 전송될 데이터를, 예를 들면, 하드디스크(11)로부터 램(12)에 기억시키고, 제어를 단계 S6으로 진행한다.
단계 S6에서, CPU(17)는 램(12)에 기억된 데이터 및 이 데이터에 의해 갱신될 관리 정보를 직렬 I/F(15)를 통해 메모리 카드(2)에 전송하고, 이 데이터 등을 플래시메모리내에 기록함으로써, 처리가 완료한다.
상술된 바와 같이, 부분적으로 수정된 데이터와 같은 유사 데이터를 반복적으로 기록할 때, 호스트 컴퓨터(1)는 이러한 데이터의 데이터 기록시마다 비트 반전/비반전을 수행한다. 이것은 데이터 기록 및 소거에 의해 야기되는 플래시메모리의 특정 셀에 셀 손상의 집중하는 것을 방지하여, 셀 손상을 평균화하고, 그에 따라 플래시메모리(22)의 서비스 수명을 증가시킨다.
또한, 호스트 컴퓨터(1)가 메모리 카드(2)에 기억된 데이터를 판독할 때, 호스트 컴퓨터(1)는 도 5에 도시된 단계 S11 내지 단계 S13의 처리를 수행하기 위하여 램(12)에 기억된 관리 정보를 이용한다.
단계 S11에서, 호스트 컴퓨터(1)의 CPU(17)는 램(12)에 기억된 반전 플래그가 설정되어 있는지의 여부를 판정한다. 반전 플래그가 설정되어 있다면, 제어는 단계 S12로 진행한다. 반전 플래그가 설정되어 있지 않다면, 제어는 단계 S13으로 진행한다.
단계 S12에서, CPU(17)는 직렬 I/F(15) 및 메모리 카드(2)의 제어 IC(21)를 통해 플래시메모리(22)로부터 데이터를 판독하여 램(12)에 기억시키고, 이 데이터의 비트를 반전함으로써, 판독 처리를 완료한다.
단계 S13에서, CPU(17)는 직렬 I/F(15) 및 메모리 카드(2)의 제어 IC(21)를 통해 플래시메모리(22)로부터 데이터를 단순히 판독함으로써, 판독 처리를 완료한다.
상술된 바와 같이, 반전 플래그가 설정되어 있을 때, 호스트 컴퓨터(1)는 플래시메모리(22)로부터 데이터를 판독하고 비트를 반전하고; 반전 플래그가 설정되어 있지 않을 때, 호스트 컴퓨터(1)는 플래시메모리(22)로부터 데이터를 직접 판독한다. 따라서, 비트 반전/비반전 처리를 통해 플래시메모리(22)에 기록된 데이터를 판독하는 것이 가능하다.
본 발명은 상술된 실시예로 한정되는 것은 아니며, 청구범위에 기술된 기술적 사상의 범위 내에서 설계되고 변경될 수 있음을 유념해야 한다.
예를 들면, 호스트 컴퓨터(1)로서, 스틸 카메라 및 비디오 카메라를 응용하는 것이 가능하다. 이러한 경우에, 메모리 카드(2)는 영상 데이터가 기록되도록 스틸 카메라 등에 의해 제어된다.
또한, 호스트 컴퓨터(1)로서, 메모리 카드(2)에 기억된 음악의 오디오 데이터를 판독하고 음성을 출력할 수 있는 재생 장치를 응용하는 것이 가능하다. 이러한 경우에, 호스트 컴퓨터(1)와 메모리 카드(2) 사이의 데이터 전송 레이트는 자기 테이프 및 CD(컴팩트 디스크)로부터의 데이터 판독 레이트보다 훨씬 빠르고, 예를 들면, 음악 시작의 설정을 고속으로 수행하는 것이 가능하다.
도 1은 본 발명에 따른 메모리(기억) 장치의 구성을 도시하는 블록도.
도 2는 메모리 장치의 메모리 카드의 구체적 구성을 도시하는 블록도.
도 3은 메모리 카드에 제공된 플래시메모리의 소거 단위로서 작용하는 블록들의 구성을 도시하는 개략도.
도 4는 데이터가 메모리 카드에 기록될 때 수행되는 동작을 설명하는 흐름도.
도 5는 메모리 카드에 기억된 데이터가 판독될 때 수행되는 동작을 설명하는 흐름도.
* 도면의 주요부분에 대한 부호의 설명 *
1 : 호스트 컴퓨터 2 : 메모리 카드
15 : 직렬 I/F (인터페이스) 21 : 제어 IC
22 : 플래시메모리
Claims (7)
- 기억 장치에 있어서,복수의 블록들로 분할된 데이터와, 상기 블록들 각각에 대해 상기 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하기 위한 기억 수단; 및상기 기억 수단으로부터의 데이터가 기록될 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 데이터가 기록될 때 비트가 비반전되어 있음을 나타내는 반전 플래그가 설정되고, 상기 기억 수단으로부터의 데이터가 기록될 블록의 반전 플래그가 비트가 비반전되어 있음을 나타내면, 비트 반전이 수행될 것임을 나타내는 반전 플래그가 설정되고 비트가 반전된 데이터가 기록되도록 제어하기 위한 제어 수단을 포함하는, 기억 장치.
- 제 1 항에 있어서,상기 제어 수단은, 상기 기억 수단에 새로운 데이터를 기록할 때, 상기 기억 수단으로부터의 데이터가 기록될 블록의 반전 플래그가 비트가 비반전되어 있음을 나타내도록 설정하기 위한 제어를 수행하는, 기억 장치.
- 데이터 기록 방법에 있어서,복수의 블록들로 분할된 데이터와, 상기 블록들 각각에 대해 상기 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하는 단계를 포함하고,데이터가 기록될 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 데이터가 기록될 때 비트가 비반전되어 있음을 나타내는 반전 플래그가 설정되고, 데이터가 기록될 블록의 반전 플래그가 비반전되어 있음을 나타내면, 비트 반전이 수행될 것임을 나타내는 반전 플래그가 설정되고 비트가 반전된 데이터가 기록되는, 데이터 기록 방법.
- 제 3 항에 있어서,새로운 데이터가 기록될 때, 데이터가 기록될 블록의 반전 플래그를 비트가 비반전되어 있음을 나타내도록 설정하는 제어가 수행되는, 데이터 기록 방법.
- 기억 장치에 있어서:복수의 블록들로 분할된 데이터와, 상기 블록들 각각에서 상기 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하기 위한 기억 수단; 및상기 기억 수단으로부터의 데이터의 판독을 제어하기 위한 제어 수단을 포함하고,상기 제어 수단으로부터 판독된 데이터가 속하는 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 상기 제어 수단은 판독된 상기 데이터의 비트를 반전하도록 제어하는, 기억 장치.
- 데이터 판독 방법에 있어서,복수의 블록들로 분할된 데이터와, 상기 블록들 각각에서 상기 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 기억하는 단계,상기 기억된 데이터를 판독하는 단계,상기 판독된 데이터가 속하는 블록의 반전 플래그가 비트가 반전되어 있음을 나타내면, 상기 판독된 데이터의 비트를 반전하도록 제어하는 단계를 포함하는, 데이터 판독 방법.
- 블록들로 분할된 데이터를 포함하는 기록 매체로서, 상기 블록들 각각은 상기 데이터의 비트가 반전되어 있는지의 여부를 나타내는 반전 플래그를 갖는 상기 기록 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18154097A JP3175648B2 (ja) | 1997-07-07 | 1997-07-07 | 記憶装置及びデータの書込み方法 |
JP97-181540 | 1997-07-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990013635A KR19990013635A (ko) | 1999-02-25 |
KR100564672B1 true KR100564672B1 (ko) | 2006-06-14 |
Family
ID=16102573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980027191A KR100564672B1 (ko) | 1997-07-07 | 1998-07-07 | 기억장치, 데이터 기록방법 및 데이터 판독방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6345333B1 (ko) |
EP (1) | EP0890955B1 (ko) |
JP (1) | JP3175648B2 (ko) |
KR (1) | KR100564672B1 (ko) |
DE (1) | DE69820164T2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101067464B1 (ko) * | 2008-05-09 | 2011-09-27 | 후지쯔 세미컨덕터 가부시키가이샤 | 파일 시스템 및 데이터 관리 방법 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53132327A (en) * | 1977-04-23 | 1978-11-18 | Kawai Musical Instr Mfg Co | Electronic musical instrument |
US6601140B1 (en) * | 1999-04-07 | 2003-07-29 | Sony Corporation | Memory unit, data processing unit, and data processing method using memory unit type |
JP2001297038A (ja) * | 2000-04-11 | 2001-10-26 | Toshiba Corp | データ記憶装置および記録媒体並びに記録媒体制御方法 |
KR20020044907A (ko) * | 2000-12-07 | 2002-06-19 | 윤종용 | 다중 플래쉬 메모리 시스템에서의 프로그램 운용 방법 |
JP4017177B2 (ja) * | 2001-02-28 | 2007-12-05 | スパンション エルエルシー | メモリ装置 |
US6633951B2 (en) * | 2001-03-15 | 2003-10-14 | Intel Corporation | Method for reducing power consumption through dynamic memory storage inversion |
US7003619B1 (en) | 2001-04-09 | 2006-02-21 | Matrix Semiconductor, Inc. | Memory device and method for storing and reading a file system structure in a write-once memory array |
US6996660B1 (en) * | 2001-04-09 | 2006-02-07 | Matrix Semiconductor, Inc. | Memory device and method for storing and reading data in a write-once memory array |
US7062602B1 (en) | 2001-04-09 | 2006-06-13 | Matrix Semiconductor, Inc. | Method for reading data in a write-once memory device using a write-many file system |
US6895490B1 (en) | 2001-04-09 | 2005-05-17 | Matrix Semiconductor, Inc. | Method for making a write-once memory device read compatible with a write-many file system |
US6948026B2 (en) | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
US7051251B2 (en) * | 2002-12-20 | 2006-05-23 | Matrix Semiconductor, Inc. | Method for storing data in a write-once memory array using a write-many file system |
US7398348B2 (en) * | 2004-08-24 | 2008-07-08 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
KR100843242B1 (ko) * | 2007-04-04 | 2008-07-02 | 삼성전자주식회사 | 플래시 메모리 장치 및 그 구동방법 |
KR100826654B1 (ko) * | 2007-04-24 | 2008-05-06 | 주식회사 하이닉스반도체 | 플래시 메모리소자의 동작방법 및 이를 위한 제어회로 |
JP4491000B2 (ja) | 2007-08-17 | 2010-06-30 | 株式会社東芝 | メモリシステム |
TWI377580B (en) * | 2008-04-03 | 2012-11-21 | Wistron Corp | Method and related device for data storage in an electronic device |
CN101419838B (zh) * | 2008-09-12 | 2011-01-19 | 中兴通讯股份有限公司 | 一种提高flash使用寿命的方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3681764A (en) * | 1971-03-15 | 1972-08-01 | Litton Systems Inc | Low power memory system |
US4106105A (en) * | 1977-02-28 | 1978-08-08 | The Singer Company | Zero detector |
US4763305A (en) | 1985-11-27 | 1988-08-09 | Motorola, Inc. | Intelligent write in an EEPROM with data and erase check |
JPH0778997B2 (ja) * | 1987-10-30 | 1995-08-23 | 株式会社東芝 | 不揮発性半導体メモリ |
EP0444774A3 (en) | 1990-01-29 | 1991-09-11 | Raytheon Company | Method and apparatus for driving a digital bus |
US5363330A (en) * | 1991-01-28 | 1994-11-08 | Mitsubishi Denki Kabushiki Kaisha | Non-volatile semiconductor memory device incorporating data latch and address counter for page mode programming |
US5396468A (en) | 1991-03-15 | 1995-03-07 | Sundisk Corporation | Streamlined write operation for EEPROM system |
JPH06267283A (ja) * | 1993-03-16 | 1994-09-22 | Mitsubishi Electric Corp | データ書き込み可能な読み出し専用メモリ及びそのデータ書き込み/読み出し方法 |
US5537350A (en) * | 1993-09-10 | 1996-07-16 | Intel Corporation | Method and apparatus for sequential programming of the bits in a word of a flash EEPROM memory array |
JP3443998B2 (ja) * | 1995-01-23 | 2003-09-08 | ソニー株式会社 | 半導体不揮発性記憶装置 |
DE19610838A1 (de) * | 1996-03-19 | 1997-02-27 | Siemens Ag | Verfahren zum Speichern eines Datensatzes in einem Speicher |
-
1997
- 1997-07-07 JP JP18154097A patent/JP3175648B2/ja not_active Expired - Lifetime
-
1998
- 1998-06-26 US US09/105,810 patent/US6345333B1/en not_active Expired - Lifetime
- 1998-07-06 DE DE69820164T patent/DE69820164T2/de not_active Expired - Lifetime
- 1998-07-06 EP EP98112506A patent/EP0890955B1/en not_active Expired - Lifetime
- 1998-07-07 KR KR1019980027191A patent/KR100564672B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101067464B1 (ko) * | 2008-05-09 | 2011-09-27 | 후지쯔 세미컨덕터 가부시키가이샤 | 파일 시스템 및 데이터 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP3175648B2 (ja) | 2001-06-11 |
EP0890955A2 (en) | 1999-01-13 |
DE69820164T2 (de) | 2004-11-25 |
EP0890955B1 (en) | 2003-12-03 |
JPH1125002A (ja) | 1999-01-29 |
KR19990013635A (ko) | 1999-02-25 |
EP0890955A3 (en) | 1999-09-01 |
US6345333B1 (en) | 2002-02-05 |
DE69820164D1 (de) | 2004-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100564672B1 (ko) | 기억장치, 데이터 기록방법 및 데이터 판독방법 | |
KR100578427B1 (ko) | 메모리관리방법 | |
US6154808A (en) | Method and apparatus for controlling data erase operations of a non-volatile memory device | |
KR100545457B1 (ko) | 외부기억장치 | |
US5745912A (en) | Memory card apparatus including a link table for managing the correspondency between the recorded contents in the memory card and that in the link table | |
TW445452B (en) | Semiconductor storage device and data management method therefor | |
JP3016490B2 (ja) | Icメモリカード | |
WO2002054247A1 (fr) | Enregistreur de donnees et procede d'enregistrement de donnees dans une memoire flash | |
US5724544A (en) | IC memory card utilizing dual eeproms for image and management data | |
KR19980022845A (ko) | 비휘발성 메모리에 기록시 시스템의 절전 장치 및 방법 | |
JP2584120B2 (ja) | メモリカードにおけるデータ記録方法およびメモリカードシステム | |
US20050204115A1 (en) | Semiconductor memory device, memory controller and data recording method | |
KR100206186B1 (ko) | 재기록 가능한 불휘발성 메모리의 기록정보 복구장치 및 방법 | |
JP3017524B2 (ja) | Icメモリカードにおけるデータ記録方法およびicメモリカードシステム | |
JP2584119B2 (ja) | メモリカードにおけるデータ記録方法およびメモリカードシステム | |
US20020194556A1 (en) | Device for prolonging lifetime of nonvolatile memory | |
JP3392173B2 (ja) | Icメモリカードの記憶管理方式 | |
JPH04222997A (ja) | メモリカードにおけるデータ記録方法およびメモリカードシステム | |
JP3471827B2 (ja) | Icメモリカード制御方法および装置 | |
JPH07320017A (ja) | Icメモリカード | |
JPH06139138A (ja) | メモリカード装置 | |
JPH0546488A (ja) | メモリカード装置 | |
JPH0547189A (ja) | メモリカード装置 | |
JP3600008B2 (ja) | 一括消去型メモリの記録再生装置 | |
JPH05151099A (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: 20130308 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140314 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |