KR19990013635A - 기억 장치, 데이터 기입 방법, 및 데이터 독출 방법 - Google Patents
기억 장치, 데이터 기입 방법, 및 데이터 독출 방법 Download PDFInfo
- Publication number
- KR19990013635A KR19990013635A KR1019980027191A KR19980027191A KR19990013635A KR 19990013635 A KR19990013635 A KR 19990013635A KR 1019980027191 A KR1019980027191 A KR 1019980027191A KR 19980027191 A KR19980027191 A KR 19980027191A KR 19990013635 A KR19990013635 A KR 19990013635A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- inversion
- bit
- inversion flag
- blocks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000015654 memory Effects 0.000 claims abstract description 43
- 230000006378 damage Effects 0.000 abstract description 2
- 238000012937 correction Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000005779 cell damage Effects 0.000 description 4
- 208000037887 cell injury Diseases 0.000 description 4
- 230000002265 prevention Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- 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
- 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/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 type flash memory)에 가급적이면 사용될 수 있는 기억 장치, 데이터 기입 방법, 데이터 독출 방법, 및 기록 매체에 관한 것이다.
종래에, 컴퓨터 응용을 위한 데이터와 스틸 카메라(still camera), 비디오 카메라의 데이터 및 음악과 같은 오디오 데이터 뿐만아니라 그와 같은 데이터들을 기억하기 위한 기억 장치로서 플래쉬 메모리를 사용하도록 제안되어 오고 있다.
이러한 플래쉬 메모리는 하나의 셀내에 축적되는 전하로 데이터를 기억하며 소거 유닛인 블록 기초상의 데이터를 소거한다.
플래쉬 메모리내에서, 데이터 기입을 수행하기 이전에, 셀은 깨끗한 상태로 존재해야 한다. 즉, 데이터는 그 셀로부터 전자들을 제거함으로써 소거되어진다. 그리고 나서, 셀 상태를 반전시키기 위하여 전하가 셀내에 넘쳐 흐르게 될 때 데이터는 플래쉬 메모리내부에 기록된다.
전술해온 바와 같이, 플래쉬 메모리는 블록 기초상의 셀로부터 전하를 제거함으로써 데이터를 소거한다. 전하가 셀로부터 제거될 때 큰 부하가 메모리에 인가된다. 더욱이, 데이터를 기록할 때, 큰 부하가 내부에 전하가 넘쳐 흐르도록 셀에 역시 인가된다.
따라서, 데이터 재기입이 비트 반전을 수행함이 없이 반복될 때 또는 남아있는 데이터가 거의 바뀌지 않을 때, 전하가 항상 넘쳐 흐르는 셀들 및 전하가 넘쳐 흐르지 않는 셀들이 존재한다. 그러므로, 블록내부에 셀 손상에서의 일탈이 발생하며, 그것은 차례로 블록 서비스 생명을 짧게할 수 있다. 특히 부분적인 변형이 관리 생명 또는 디렉토리 생명의 경우에 종종 수행되며, 데이터 기입의 반복은 쉽게 셀 손상 일탈을 블록내에서 야기시킨다.
이와 대비하여, 데이터 재기입이 상이한 블록내에서 수행되는 플래쉬 메모리를 고려할 수 있다. 그러나, 데이터가 기록되는 각 시간의 상이한 블록을 이용하는데 관리 구성이 필요로 되는 문제를 일으키고, 플래쉬 메모리의 복잡한 구성에 귀착된다.
그러므로, 본 발명의 목적은 데이터 소거/기입에 의해 야기되는 특정 셀에 손상의 집중을 방지하여 서비스 생명을 연장 가능케하는 기억 장치, 데이터 기입 방법, 데이터 독출 방법, 및 기록 매체를 제공하는 것이다.
전술한 목적을 달성하기 위하여, 본 발명에 따른 기억 장치는:
다수의 블록들로 분할된 데이터와 데이터의 비트가 상기 블록들 각각에 대해 반전되는지를 나타내는 반전 플래그를 기억하기 위한 기억 수단; 및
반전 플래그의 설정 및 상기 기억 수단으로의 데이터 기록을 제어하기 위한 제어 수단을 포함한다.
전술한 기억 장치에서는, 제어 수단이 다음과 같이 동작한다. 즉, 만일 기억 수단으로부터의 데이터가 기록되어질 블록의 반전 플래그가 반전된 비트를 나타낸다면, 반전된 비트가 없음을 나타내는 반전 플래그는 데이터가 기록되어 질 때 설정되며, 만일 기억 수단으로부터의 데이터가 기록되어질 블록의 반전 플래그는 반전된 비트가 없음을 나타낸다면, 수행될 비트 반전이 나타내는 반전 플래그가 설정되고 반전된 비트를 갖는 데이터가 쓰여진다.
본 발명에 따른 데이터 기입 방법은: 데이터 기입 및 반전 플래그 설정을 제어하기 위하여 데이터의 비트가 블록들 각각에 대해 반전되는지를 나타내는 반전 플래그와 복수개의 블록들로 분할된 데이터를 기억하는 단계를 포함한다.
이러한 데이터 기입 방법에 따르면, 만일 데이터가 기록되어질 블록의 반전 플래그가 반전된 비트를 나타낸다면, 반전된 비트가 없음을 나타내는 반전 플래그는 데이터가 기록될 때 설정되며, 만일 데이터가 기록되어질 블록의 반전 플래그가 반전된 비트가 없음을 나타낸다면, 수행되어질 비트 반전을 나타내는 반전 플래그가 설정되며 반전된 비트를 갖는 데이터가 기록된다.
본 발명에 따른 기억 장치는: 데이터의 비트가 블록들내에서 반전되는지를 나타내는 반전 플래그와 복수개의 블록들로 분할된 데이터를 기억하기 위한 기억 수단; 및 기억 수단으로부터의 데이터 독출을 제어하기 위한 제어 수단을 포함한다.
전술한 기억 장치에 있어, 만일 제어 수단으로부터 독출되어지고 있는 데이터가 속하는 블록의 반전 플래그가 비트가 반전됨을 나타낸다면, 제어 수단은 독출되고 있는 데이터의 비트를 반전하도록 제어한다.
본 발명에 따른 데이터 독출 방법은: 기억된 데이터를 독출할 때 데이터의 비트가 블록들 각각에서 반전되는지를 나타내는 반전 플래그와 블록으로 분할된 데이터를 기억하는 단계를 포함한다.
전술한 독출 방법에 따르면, 만일 독출 데이터가 속하는 블록의 반전 플래그가 그 비트가 반전되는 것을 나타낸다면, 독출되고 있는 데이터의 비트가 반전된다.
본 발명에 따른 기록 매체는 블록들로 분할된 데이터를 기억하며 데이터의 비트가 상기 블록들 각각에 대해 반전되는지를 나타내는 반전 플래그를 가진다.
전술한 기록 매체에 따르면, 반전 플래그는 블록들 각각에서 기록된 데이터의 비트가 반전되는지를 나타낼 수 있다.
도 1은 본 발명에 따른 메모리(기억) 장치의 배열을 보이는 블록도.
도 2는 메모리 장치의 메모리 카드의 특별한 배열을 보이는 블록도.
도 3은 메모리 카드내에 제공된 플래쉬 메모리에서의 소거 장치들로서 역할을 하는 블록들의 배열을 개략적으로 보이는 도면.
도 4는 데이터가 메모리 카드내에 기록될 때 수행되는 동작을 설명하는 흐름도.
도 5는 메모리 카드내에 기억된 데이터를 독출할 때 수행되는 동작을 설명하는 흐름도.
* 도면의 주요부분에 대한 부호의 설명 *
1 : 주 컴퓨터 2 : 메모리 카드
15 : 직렬 I/F (인터페이스) 21 : 제어 IC
22 : 플래쉬 메모리
아래에서의 서술은 부합되는 도면을 참조하여 본 발명의 최적의 실시예들이 설명되어질 것이다.
도 1에서 보이는 바와 같이, 본 발명은 주 컴퓨터(1) 및 메모리 카드(2)를 포함하는 메모리 장치에 인가될 수 있다.
주 컴퓨터(1)는 데이터를 메모리 카드(2)내로 기록하며 메모리 카드(2)내에 기억된 데이터를 독출한다.
더욱 특별하게는, 도 1에서 보이는 바와 같이, 주 컴퓨터(1)는: 스틸 영상 데이터 및 오디오 데이터와 같은 다양한 데이터를 기억하기 위한 하드 디스크(11); 상기 하드 디스크(11)로부터 데이터를 독출하여 일시적으로 기억하기 위한 램(RAM: random access memory)(12); 디스플레이 인터페이스(아래에서, 디스플레이 I/F로 표기)(13); 상기 디스플레이 I/F(13)를 경유하여 공급된 데이터에 따른 영상을 표시하기 위한 디스플레이(14); 3개의 데이터 라인들을 경유하여 메모리 카드(2)로부터/에서의 데이터 전송 및 수신을 수행하기 위한 직렬 인터페이스(아래에서, 직렬 I/F로 표기)(15); 버스(16); 및 전체 시스템을 제어하기 위한 CPU(중앙 처리 장치)(17)를 포함한다.
예를들면, 램(RAM)(12)은 버스(16)를 경유하여 하드 디스크(11)로부터 버스(16)을 경유하여 데이터를 일시적으로 기억하며 필요로 될 때, 직렬 I/F(15)로 버스(16)을 경유하여 데이터를 공급한다.
디스플레이(14)는 이들 데이터에 따른 스틸 영상 및 동 화상을 표시하기 위하여, 메모리 카드(2)로부터의 데이터 뿐만아니라 하드 디스크(11)로부터 독출된 데이터로 버스(16) 및 디스플레이 I/F(13)을 경유하여 공급된다.
3개의 데이터 라인들을 경유하여, 직렬 I/F(15)는 메모리 카드(2)에 데이터를 전송하며 메모리 카드(2)로부터 데이터를 수신한다. 더욱 특별하게는, 제 1 데이터 라인을 경유하여, 직렬 I/F(15)는 메모리 카드(2)로 기록되어질 데이터 및 제어 데이터를 전송하며 상기 메모리 카드(2)로부터 독출되고 있는 데이터를 수신한다. 제 2 데이터 라인을 경유하여, 직렬 I/F(15)는 제 1 데이터 라인내 데이터 또는 제어 데이터로 구성하며 스위칭하는 직렬 데이터(DIO)에 따른 스위칭된 상태를 가리키는 상태신호 상태를 출력한다. 더더욱, 제 3 데이터 라인을 경유하여, 직렬 I/F(15)는 전술한 제어 데이터 및 데이터를 전송할 때 직렬 클록(SCLK)을 전송한다.
CPU(17)는 램(12)와 하드 디스크(11)로부터 데이터의 독출을 제어하며 메모리 카드(2)에서/로부터 데이터 전송 및 수신을 제어할 뿐아니라 램(12) 그리고 그와 같은 것으로 데이터 기입을 제어한다. 예를들면, CPU(17)가 메모리 카드의 오류 소거 방지 스위치(이후에 상세히 설명되는)가 기록 방지 모드로 설정되는지와 메모리 카드(2)로 어드레스 명세로 미리 설정된 데이터 기록 지시를 유출하는지를 판정하는데 사용되는 레지스터 지시를 유출한다.
반면에, 도 2에서 보이는 바와 같이, 메모리 카드(2)는 2개의 양전극 DC 전원라인(Vcc), 그라운드 라인(INT), 음전극 DC 전원(Vss), 및 전술한 3개의 데이터 라인들 옆으로 두 개의 보존 라인들을 경유하여 전술한 주 컴퓨터(1)에 연결된다. 따라서, 도 2에서 보이는 바와 같이, 메모리 카드(2) 내부 옆으로 각각의 회로들을 구동하도록 가능케 하기 위하여 메모리 카드(2)는 이들 DC 전원들을 경유하여 주 컴퓨터(1)로부터 공급된다.
여기서, 도 2에서 보이는 바와 같이, 메모리 카드(2)는 전술한 주 컴퓨터(1)로부터 데이터 및 제어 데이터를 수신하기 위한 제어 IC(21); 데이터를 기억하기 위한 플래쉬 메모리(22); 및 상기 플래쉬 메모리(22)내 기억된 데이터의 잘못된 소거를 방지하기 위한 오류 방지 스위치(23)를 포함한다.
제어 IC(21)는 주 컴퓨터(1)로부터 전송된 데이터를 기록하기 전에 오류 소거 방지 스위치(23)가 상기 플래쉬 메모리(22)내에 기록 방지 온(ON) 또는 오프(OFF) 상태로 설정되는지를 판정한다. 단지 기록 방지가 오프 상태로 있다면, 데이터는 플래쉬 메모리내에 기록된다.
예를들면, 플래쉬 메모리(22)는 낸드형(NAND type) 플래쉬 메모리로 구성된다. 도 3에 보이는 바와 같이, 플래쉬 메모리(22)에서, 주 컴퓨터(1)로부터 전송된 데이터가 소거 장치들로 역할하는 블록들 각각내에 기억된다. 블록들(0, 1, 2, ..., n) 각각은 16-바이트(byte) 용장 영역 및 주 컴퓨터(1)로부터 전송된 데이터의 한 페이지(512 바이트)를 기억하기 위한 데이터 영역으로 구성한다. 용장 영역에서는, 블록의 데이터 영역에 포함된 데이터의 관리를 위한 관리 정보가 기억된다. 예컨데, 이러한 관리 정보는 데이터 기록 상태를 가리키는 블록 플래그; 복수개의 블록들이 단일 파일을 구성할 때, 연결 목표를 가리키는 연결 정보; 및 데이터가 데이터 영역내에 기록될 때 데이터가 보존되는지를 가리키는 반전 플래그를 포함한다. 데이터 독출 및 기입을 수행할 시 플래쉬 메모리(22)의 상태를 판정하는데 사용하기 위하여 이러한 관리 정보 항목들은 주 컴퓨터(1)에 의해 독출된다.
여기서, 더욱 특별하게, 제어 IC(21)는 직렬/병렬 - 병렬/직렬 인터페이스 시퀀서(sequencer)(아래에서, S/P 및 P/S 시퀀서로 표기)(31); 상기 S/P 및 P/S 시퀀서(31)로부터 데이터를 일시적으로 기억하는 페이지 버퍼; 페이지 버퍼(32)로부터 플래쉬 메모리(22)로 데이터를 공급하기 위한 플래쉬 인터페이스 시퀀서(아래에서, 플래쉬 I/F 시퀀서로 표기); 오류 정정을 수행하기 위한 ECC 인코더/디코더(34); 미리 설정된 제어 명령을 발생시키기 위한 명령 발생기(46); 버전 정보 및 그와 같은 것을 포함하는 배열 롬(ROM; read only memory)(36); 및 각 회로들에 클록을 공급하기 위한 오실레이터를 포함한다.
S/P 및 P/S 시퀀서(31)는 전술한 제 1 데이터 라인에서 제 3 데이터 라인까지를 경유하여 주 컴퓨터(1)의 직렬 I/F(15)로 연결된다. 따라서, 상기 S/P 및 P/S 시퀀서(31)는 주 컴퓨터(1)로부터 상태신호 상태, 직렬 클록(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)는 플래쉬 메모리들(22a 내지 22d)로 오류 정정 신호가 가산된 하나의 페이지 데이터를 플래쉬 I/F 시퀀서(33)를 경유하여 공급한다. 그러므로, 주 컴퓨터(1)로부터의 데이터는 플래쉬 메모리들(22a 내지 22d)내에 기입된다.
더욱이, 플래쉬 메모리들(22a 내지 22d)로부터의 데이터 독출은 페이지 버퍼(32)로 플래쉬 I/F 시퀀서(33)를 경유하여 공급된다.
페이지 버퍼(32)는 플래쉬 I/F 시퀀서(33)로부터 데이터를 기억한다. 여기서, ECC 인코더/디코더(34)는 페이지 버퍼(32)내에 기억된 데이터에 가산된 오류 정정 신호에 따라 오류 정정 처리를 수행한다. 페이지 버퍼(32)는 오류 정정 처리에 지배를 받고 있는 각 페이지의 데이터를 독출하며, 그 데이터를 S/P 및 P/S 시퀀서(31)에 공급한다. S/P 및 P/S 시퀀서(31)는 페이지 버퍼(32)로부터 공급된 병렬 데이터를 직렬 데이터(DIO)로 변환시키고 전술한 주 컴퓨터(1)로 얻어진 직렬 데이터(DIO)를 전송한다.
명령 발생기(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)의 동작 상태를 인식한다.
배열 롬(configuration ROM)(36)은 메모리 카드(2)의 초기 설정값 및 버전 정보와 같은 정보를 포함한다. 따라서, 주 컴퓨터(1)와 메모리 카드(2)의 사이에 연결이 이루어질 때, 명령 발생기(35)는 우선 배열 롬(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에서, 직렬 I/F(15) 및 메모리 카드(2)의 제어 IC(21)를 경유하여 CPU(17)는 예를들면, 플래쉬 메모리(22)의 용장 영역내에서 반전 플래그를 설정하며 하드 디스크(11)로부터 램(12)으로 전송될 데이터를 단계 S4에서 제어를 수행하여 기억한다.
반면에, 단계 1이 새롭다고 판정된 상기 데이터를 판정할 때 그리고 단계 2가 반전 플래그의 설정을 판정할 때, 단계 S5에서 CPU(17)는 메모리 카드(2)의 제어 IC(21)를 경유하여 플래쉬 메모리(22)의 용장 영역내 반전 플래그를 리셋(RESET)하며 예를들면 하드 디스크(11)로부터 램(12)내로 제어 단계 S6을 통과하여 전송되어진 데이터를 기억한다.
단계 S6에서, CPU(17)이 램(12)내에 기억된 데이터 및 이러한 데이터에 의해 갱신되어진 관리 정보를 직렬 I/F(15)를 경유하여 메모리 카드(2)로 전송하며, 그리고 이들 데이터 및 그와 같은 것을 플래쉬 메모리내에 기록하고, 따라서 처리가 완결된다.
전술해온 바와 같이, 부분적으로 수정된 데이터와 같은 유사 데이터를 반복적으로 기록할 때, 주 컴퓨터(1)는 그러한 데이터의 각 데이터 기입에서 비트 반전/비-반전을 수행한다. 이것은 셀 손상을 평균하여, 데이터 기입 및 소거에 의해 야기되는 플래쉬 메모리내 특정 셀로부터 셀 손상의 집중을 방지하며, 그것은 차례로 플래쉬 메모리(22)의 서비스 생명을 증가시킨다.
더욱이, 주 컴퓨터(1)가 메모리 카드(2)내 기억된 데이터를 독출할 때, 주 컴퓨터(1)는 도 5에서 도시된 단계 S1 내지 단계 S13의 처리를 수행하기 위하여 램(12)내에 기억된 관리 정보를 이용한다.
단계 S11에서, 주 컴퓨터(1)의 CPU(17)는 램(12)내에 기억된 반전 플래그가 설정되는지 어떤지를 판정한다. 반전 플래그가 설정된다면, 제어는 단계 S12를 통과한다. 만일 그렇지 않다면, 제어는 단계 S13을 통과한다.
단계 S12에서, 직렬 I/F(15)를 경유하여 CPU(17)과 메모리 카드(2)의 제어 IC(21)는 플래쉬 메모리(22)로부터 데이터를 독출하며, 램(12)내에 기억하고, 그리고 이러한 데이터 비트를 반전하며, 그러므로 독출 처리를 완결한다.
단계 S13에서, 직렬 I/F(15)를 경유하여 CPU(17)와 메모리 카드(2)의 제어 IC(21)가 플래쉬 메모리(22)로부터 데이터를 단순히 독출하며, 따라서 독출 처리를 완결한다.
전술해온 바와 같이, 반전 플래그가 설정될 때, 주 컴퓨터(1)는 플래쉬 메모리(22)로부터 데이터를 독출하며 비트를 반전시키고; 그리고 반전 플래그가 설정되지 않았을 때, 주 컴퓨터(1)는 플래쉬 메모리(22)로부터 데이터를 직접적으로 독출한다. 그러므로, 비트 반전- 비-반전 처리를 통하여 플래쉬 메모리(22)내 기록된 데이터를 독출하는 것이 가능하다.
본 발명은 전술한 실시예로 제한되지 않으며 클레임(Claims)내 서술된 기술적 사상의 범위내에서 설계되어 변경될 수 있는 것은 자명하다.
예를들면, 주 컴퓨터(1)로서, 스틸 카메라 및 비디오 카메라에 적용되는 것이 가능하다. 그러한 경우에, 메모리 카드(2)는 스틸 카메라 또는 그와 같은 것에 의해 제어되어 영상 데이터가 그 내부에 기록된다.
더욱이, 주 컴퓨터(1)로서, 메모리 카드(2)내에 기억된 음악의 오디오 데이터를 독출가능하며 음성을 독출가능한 재생장치에 적용하는 것이 가능하다. 이러한 경우에, 주 컴퓨터(1)와 메모리 카드(2) 사이의 데이터 전송 비율은 자기 테이프 및 컴팩트 디스크(CD)로부터 데이터 독출속도보다 매우 더 빠르고 예를들면, 음악 시작의 설정이 고속에서 수행하는 것이 가능하다.
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 true KR19990013635A (ko) | 1999-02-25 |
KR100564672B1 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 |
---|---|---|---|---|
KR20020044907A (ko) * | 2000-12-07 | 2002-06-19 | 윤종용 | 다중 플래쉬 메모리 시스템에서의 프로그램 운용 방법 |
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 | データ記憶装置および記録媒体並びに記録媒体制御方法 |
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 |
JP2009271848A (ja) * | 2008-05-09 | 2009-11-19 | Fujitsu Microelectronics Ltd | ファイルシステム及びデータ管理方法 |
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 |
---|---|---|---|---|
KR20020044907A (ko) * | 2000-12-07 | 2002-06-19 | 윤종용 | 다중 플래쉬 메모리 시스템에서의 프로그램 운용 방법 |
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 |
EP0890955A3 (en) | 1999-09-01 |
US6345333B1 (en) | 2002-02-05 |
DE69820164D1 (de) | 2004-01-15 |
KR100564672B1 (ko) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100564672B1 (ko) | 기억장치, 데이터 기록방법 및 데이터 판독방법 | |
KR100578427B1 (ko) | 메모리관리방법 | |
US5963970A (en) | Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields | |
US6154808A (en) | Method and apparatus for controlling data erase operations of a non-volatile memory device | |
EP0907142B1 (en) | Memory card apparatus | |
JP3016490B2 (ja) | Icメモリカード | |
WO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
US8352807B2 (en) | Semiconductor memory device, host device and semiconductor memory system | |
US20070047308A1 (en) | Memory controller, flash memory system and control method for flash memory | |
JP2009301680A (ja) | 半導体記憶装置及びホスト装置 | |
JP2005078378A (ja) | データ記憶装置及び不揮発性メモリに対するデータ書き込み方法 | |
US20050204115A1 (en) | Semiconductor memory device, memory controller and data recording method | |
JP3017524B2 (ja) | Icメモリカードにおけるデータ記録方法およびicメモリカードシステム | |
JP2584119B2 (ja) | メモリカードにおけるデータ記録方法およびメモリカードシステム | |
US20020194556A1 (en) | Device for prolonging lifetime of nonvolatile memory | |
US8725930B2 (en) | Semiconductor memory device | |
JP5296172B2 (ja) | 不揮発性半導体メモリドライブ | |
JPS59191196A (ja) | 不揮発性半導体記憶装置 | |
JPH07320017A (ja) | Icメモリカード | |
JP4273038B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリのデータ転送方法 | |
JPH06139138A (ja) | メモリカード装置 | |
JP2006040170A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2007066119A (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 |