KR100593509B1 - 콤팩 플래쉬 카드 - Google Patents
콤팩 플래쉬 카드 Download PDFInfo
- Publication number
- KR100593509B1 KR100593509B1 KR1020040027059A KR20040027059A KR100593509B1 KR 100593509 B1 KR100593509 B1 KR 100593509B1 KR 1020040027059 A KR1020040027059 A KR 1020040027059A KR 20040027059 A KR20040027059 A KR 20040027059A KR 100593509 B1 KR100593509 B1 KR 100593509B1
- Authority
- KR
- South Korea
- Prior art keywords
- sector
- data
- compact flash
- host interface
- host
- Prior art date
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 콤팩 플래쉬 카드 컨트롤러에 관한 것으로서, 보다 상세하게는 8섹터로 구성된 섹터버퍼를 내장하여 싱글 리드/라이트 명령 및 멀티 리드/라이트 명령을 수행하도록 함으로써, 고속의 데이터 전송률(transfer rate)을 가지는 기술을 개시한다.
이를 위한 본 발명은 호스트와 통신을 시도하는 호스트 인터페이스와, 데이터를 저장하는 복수개의 셀을 구비하는 플래쉬 메모리 어레이와, 복수개의 섹터를 구비하여, 멀티 리드 또는 멀티 라이트 동작 중 적어도 하나를 수행할 때, 상기 호스트 인터페이스로부터 수신한 명령신호에 따라 상기 복수개의 섹터 중 하나의 섹터씩 연속적으로 상기 데이터를 저장 또는 출력 중 하나를 수행하는 콤팩 플래쉬 카드 컨트롤러를 포함하여 구성함을 특징으로 한다.
Description
도 1은 종래의 호스트와 콤팩 플래쉬 카드간의 연결 구성도.
도 2는 도 1의 콤팩 플래쉬 카드의 세부 구성도.
도 3은 본 발명의 실시예에 따른 호스트와 콤팩 플래쉬 카드간의 연결 구성도.
도 4는 도 3의 콤팩 플래쉬 카드의 세부 구성도.
도 5는 도 4의 콤팩 플래쉬 카드의 싱글 리드 방법을 나타내는 순서도.
도 6은 도 4의 콤팩 플래쉬 카드의 멀티 리드 방법을 나타내는 순서도.
도 7은 도 4의 콤팩 플래쉬 카드의 싱글 라이트 방법을 나타내는 순서도.
도 8은 도 4의 콤팩 플래쉬 카드의 멀티 라이트 방법을 나타내는 순서도.
본 발명은 콤팩 플래쉬 카드 컨트롤러에 관한 것으로서, 보다 상세하게는 8섹터로 구성된 섹터버퍼를 내장하여 싱글 리드/라이트 명령 및 멀티 리드/라이트 명령을 수행하도록 함으로써, 고속의 데이터 전송률(transfer rate)을 가지는 기술이다.
최근 하드디스크나 플로피 디스크와 같은 자기 디스크를 대체하기 위해 플래쉬 메모리(flash EEPROM)에 대한 관심이 증가하고 있다. 플래쉬 메모리는 불 휘발성, 저전력 소비형 반도체 메모리로서 전기적으로 프로그램되고, 소형, 경량이고 진동에 대한 저항력이 강하여 휴대용 장치 등에서 많이 응용되고 있다.
플래쉬 메모리 카드는 하나의 카드상에 적어도 하나 이상의 플래쉬 메모리(IC 칩)을 장착하여 구현된다.
이러한 플래쉬 메모리 카드의 중 특히, 콤팩 플래쉬 카드(compact flash card; 이하, CF 카드라 함)는 작은 체적, 가벼운 중량의 장점과 동시에 높은 자료 보존성과 신뢰성, 절전 등의 여러 장점을 가지고 있어, 컴퓨터, 컴퓨터 주변기기 영역(복사기, 프린터, 스캐너, 영사기, 외장형 메모리 카드 기기, 카드 판독기 등), 정보 가전(IA)영역(고화질 디지털 텔레비전/HDTV, 시각정보 전환기 STB, 디지털 미디어 플레이어/Media Player 등), 및 휴대형 디지털제품 영역(휴대용 정보 단말기/PDA, 디지털 카메라/Digital Camera, 디지털 워커맨/MP3 Player 등) 등에서 많이 사용되어지고 있다.
도 1은 종래의 호스트(1)와 CF 카드(2)간의 연결 구성도이다.
호스트(1)는 컴퓨터 등의 통신장치이다. CF 카드(2)는 데이터를 임시 저장하고 삭제할 수 있는 플래쉬 메모리를 내장하여 호스트(1)에 데이터를 송수신 할 수 있다.
도 2는 도 1의 CF 카드(2)의 세부 구성도이다.
종래의 CF 카드(2)는 호스트 인터페이스(10), CF 카드 컨트롤러(20), 및 플 래쉬 메모리 어레이(30)를 구비한다.
호스트 인터페이스(10)는 호스트(1)와 CF 카드(2) 간의 송수신을 위한 것으로, 호스트(1)로부터 어드레스, 명령신호, 제어신호 및 데이터 등을 수신하여 CF 카드 컨트롤러(20)로 전송하고, CF 카드 컨트롤러(20)로부터 제어신호, 데이터 등을 수신하여 호스트(1)로 전송한다.
CF 카드 컨트롤러(20)는 내부 메모리(21), 중앙처리부(CPU)(22), 플래쉬 제어부(23), 및 CF 인터페이스(24)를 구비한다.
CF 인터페이스(24)는 제어로직부(25), ATA 레지스터(26), 속성버퍼(27), 및 섹터버퍼(28)를 구비한다.
제어로직부(25)는 호스트 인터페이스(10)로부터 제어신호 CTRL 및 어드레스 ADD를 수신하여, 속성 버퍼(27) 및 섹터버퍼(28)를 제어한다.
ATA 레지스터(26)는 호스트 인터페이스(100)간의 송수신 정보를 저장한다.
속성버퍼(27)는 호스트 인터페이스(10)로부터 수신한 데이터의 속성(attribute) 정보를 저장하며, 256 bytes 크기로 구현된다.
섹터버퍼(28)는 호스트 인터페이스(10) 또는 플래쉬 메모리 어레이(30)로부터 데이터를 수신하여 저장하고, 1섹터로 구현되며 1섹터는 512 bytes 크기로 구현된다.
플래쉬 메모리 어레이(30)는 복수개의 메모리 셀을 구비하여 데이터를 저장한다.
상기와 같은 구성을 갖는 종래의 CF 카드 컨트롤러는 1개의 섹터 사이즈에 해당하는 버퍼만을 구비하여 싱글 리드/라이트 섹터 명령을 수행하는데는 무리가 없으나 멀티 리드/라이트 섹터 명령을 수행 시에 리드/라이트 섹터 명령을 연속적으로 수행하지 못하여 고속의 데이터 트랜스퍼 레이트를 구현하기 어려운 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 8섹터로 구성된 섹터 버퍼를 이용하여 연속적인 데이터 송수신을 보장함으로써 고속 데이터 송수신을 구현하는데 있다.
상기 과제를 달성하기 위한 본 발명은 호스트와 통신을 시도하여 명령신호 및 데이터를 상호 송수신하는 호스트 인터페이스; 데이터를 저장하는 복수개의 셀을 구비하는 플래쉬 메모리 어레이; 및 호스트 인터페이스와 플래쉬 메모리 상호 간의 데이터의 리드/라이트 동작을 제어하는 콤팩 플래쉬 카드 컨트롤러를 구비하고, 콤팩 플래쉬 카드 컨트롤러는 플래쉬 메모리 어레이에 저장된 데이터의 리드/라이트 동작을 제어하는 중앙처리부; 호스트 인터페이스로부터 수신된 송수신 정보와 수신된 데이터의 속성 정보를 저장하는 콤팩 플래쉬 인터페이스; 및 복수개의 섹터버퍼를 구비하고, 멀티 리드/라이트 동작시 복수개의 섹터버퍼 중 호스트 인터페이스와 데이터를 송수신하는데 사용중인 섹터버퍼의 어드레스를 카운팅하여, 복수개의 섹터버퍼에 수신된 데이타를 순차적으로 저장하거나, 플래쉬 메모리 어레이로부터 리드된 데이터를 복수개의 섹터버퍼에 연속적으로 저장하는 구동부를 포함하는 것을 특징으로 한다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해질 것이다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해질 것이다.
삭제
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
도 3은 본 발명의 실시예에 따른 호스트(11)와 콤팩 플래쉬 카드(compact flash card; 이하 CF 카드)(12)간의 연결 구성도이다.
호스트(11)는 컴퓨터 등의 통신장치이다. CF 카드(12)는 데이터를 임시 저장하고 삭제할 수 있는 플래쉬 메모리를 내장하여 호스트(11)에 데이터를 송수신 할 수 있다.
도 4는 도 3의 CF 카드(12)의 세부 구성도이다.
CF 카드(12)는 호스트 인터페이스(100), CF 카드 컨트롤러(200), 및 플래쉬 메모리 어레이(300)를 구비한다.
호스트 인터페이스(100)는 호스트(11)와 CF 카드(12) 간의 송수신을 위한 것으로, 호스트(11)로부터 어드레스, 명령신호, 제어신호 및 데이터 등을 수신하여 CF 카드 컨트롤러(200)로 전송하고, CF 카드 컨트롤러(200)로부터 제어신호, 데이터 등을 수신하여 호스트(11)로 전송한다.
CF 카드 컨트롤러(200)는 내부 메모리(201), 중앙처리부(central processing unit; CPU)(202), 플래쉬 메모리 제어부(203), 및 CF 인터페이스(204)를 구비한다.
내부 메모리(201)는 중앙처리부(202)의 내부 동작결과를 임시 저장한다.
중앙처리부(202)는 내부 메모리(201), 플래쉬 메모리 제어부(203), CF 인터페이스(204)를 제어한다.
플래쉬 메모리 제어부(203)는 중앙처리부(202)의 제어하에 플래쉬 메모리 어레이(300)를 제어하여 데이터를 송수신한다.
CF 인터페이스(204)는 제어로직부(205), ATA 레지스터(206), 속성버퍼(207), 및 구동부(210)를 구비한다. 제어로직부(205)는 호스트 인터페이스(100)로부터 제 어신호 CTRL 및 어드레스 ADD를 수신하여, 속성 버퍼(207) 및 구동부(210)를 제어한다. ATA 레지스터(26)는 호스트 인터페이스(100)간의 송수신 정보를 저장한다. 속성버퍼(207)는 호스트 인터페이스(100)로부터 수신한 데이터의 속성(attribute) 정보를 저장하며, 256 bytes 크기로 구현된다.
구동부(210)는 섹터버퍼(211), 어드레스 카운터(212), 섹터 포인터부(213), 및 트랜스퍼 카운터(214)를 구비한다.
섹터버퍼(211)는 호스트 인터페이스(100) 또는 플래쉬 메모리 어레이(300)로부터 데이터를 수신하여 저장하고, 총 8섹터로 구현되며 1섹터당 512 bytes 크기로 구현되므로 총 4096 bytes 크기로 구현된다.
즉, 섹터 버퍼(211)는 2048 바이트의 듀얼 포트 램 2개로 구성되며, 로직적으로 2개의 메모리를 각각 8개의 영역으로 구분하여 사용한다. 8개의 영역으로 구분된 각 메모리는 짝수 데이터 레지스터와 홀수 데이터 레지스터를 구비하며 데이터 버스는 8비트이다.
어드레스 카운터(212)는 섹터 버퍼(211)의 섹터 중 사용중인 섹터의 어드레스를 카운팅하여 최고 256값까지 카운팅하며, 8비트 카운팅 값을 출력한다.
섹터 포인터부(213)는 호스트 인터페이스(100)와 데이터 송수신을 진행하고 있는 섹터를 가리키는 포인터로 3비트로 구현된다. 섹터 포인터부(213)는 호스트(100)에서 섹터 버퍼를 액세스시에 4096바이트 섹터버퍼(208)의 상위 어드레스 3비트를 가리킨다. 이때, 섹터 포인터는 섹터 버퍼(211)의 8개의 섹터 중 어느 섹터의 데이터를 트랜스퍼할 것인지를 나타낸다.
트랜스퍼 카운터(214)는 호스트(100)와 데이터 트랜스퍼해야 할 섹터 카운트를 저장하는 레지스터이다. 트랜스퍼 카운터(214)는 1개의 섹터가 데이터를 전송할 때마다 값이 1씩 감소하도록 다운 카운팅되고, 카운팅 값이 "0"이 되면 데이터 트랜스퍼를 중지한다.
트랜스퍼 카운터(210)는 라이트 섹터 명령에 의한 동작 수행 시 섹터 카운터 값은 항상 "0"을 유지한다.
트랜스퍼 카운터(214)는 다운카운터로서, 섹터버퍼(211)의 8개의 섹터로부터 각각 데이터 전송 시마다 1씩 감소하고, 트랜스퍼 카운터(214)의 카운팅 값이 "0"이 되면 콤팩 플래쉬 카드 컨트롤러(200)는 데이터 전송 동작을 중지시킨다.
플래쉬 메모리 어레이(300)는 복수개의 메모리 셀을 구비하여 데이터를 저장한다.
이하, 도 5 내지 도 8을 참조하여, 본 발명의 실시예에 따른 콤팩 플래쉬 카드의 동작 및 작용을 설명하기로 한다.
도 5는 도 4의 콤팩 플래쉬 카드의 싱글 리드 방법을 나타내는 순서도이다.
먼저, 호스트(11)가 어드레스 및 리드 섹터 명령신호를 콤팩 플래쉬 카드(12)로 전송한다. 콤팩 플래쉬 카드(12)의 호스트 인터페이스(100)가 어드레스 및 리드 명령 신호를 수신하여 콤팩 카드 컨트롤러(200)로 전송한다(S51).
콤팩 카드 컨트롤러(200)는 트랜스퍼 카운터의 값을 1로 셋팅시키고(S52), 플래쉬 메모리 어레이(300)로부터 어드레스에 해당하는 데이터(512 byte)를 리드한다. 이때, 어드레스 카운터(212)의 오버플로우 비트는 "0"으로 셋팅되어 있고, 섹터 포인터부(213)의 값은 "0"의 상태이다. 섹터버퍼(211)는 리드한 데이터(512 byte)를 최하위 어드레스부터 순차적으로 저장한다(S54).
콤팩 카드 컨트롤러(200)는 상태 레지스터(미도시)의 DRQ 비트를 "1"로 셋팅함으로써, 호스트(11)에 데이터를 전송할 준비가 되었음을 알린다(S55).
호스트(11)가 섹터버퍼(211)에 저장되어 있는 데이터(512 byte)를 리드한다(S56). 이때, 호스트가(11)가 액세스할 섹터버퍼(211)의 어드레스는 어드레스 카운터(212)의 출력 8비트와 섹터 포인터부(213)의 출력 3비트를 이용하여 결정된다.
호스트(11)가 섹터버퍼(211)로부터 데이터를 리드완료하면, 어드레스 카운터(212)의 오버플로우 비트를 "1"로 셋팅하고, 섹터 포인터부(213)의 값을 "0"으로 유지시키고, 트랜스퍼 카운터(214)의 값을 "0"으로 클리어시킨다(S57).
도 6은 도 4의 콤팩 플래쉬 카드의 멀티 리드 방법을 나타내는 순서도이다.
먼저, 호스트(11)가 어드레스 및 리드 섹터 명령신호를 콤팩 플래쉬 카드(12)의 호스트 인터페이스(100)로 전송한다. 호스트 인터페이스(100)는 어드레스 및 리드 섹터 명령신호를 콤팩 플래쉬 카드 컨트롤러(200)로 전송한다(S61).
콤팩 플래쉬 카드 컨트롤러(200)는 트랜스퍼 카운터(214)에 ATA 레지스터(206)의 값을 복사하여 저장시킨다(S62).
콤팩 플래쉬 카드 컨트롤러(200)는 플래쉬 메모리 어레이(300)로부터 어드레스에 해당하는 데이터(512 bytes)를 리드하여(S63), 섹터버퍼(211)에 데이터(512 bytes)를 저장시킨다(S64).
그 후, 섹터 포인터부(213)는 섹터 포인터 값을 증가시키고, 증가된 섹터 포인터 값이 "4"인지를 판단한다(S65).
증가된 섹터 포인터 값이 "4"에 도달하지 않았으면, 상기 단계 S63 및 단계 S64를 반복 수행하여 플래쉬 메모리 어레이(300)로부터 데이터를 계속 리드하여 섹터 버퍼(211)에 저장한다.
한편, 증가된 섹터 포인터 값이 "4"가 되면 섹터 버퍼(211)의 하위 2Kbyte 영역(어드레스 000h ~ 3FFh)에 데이터가 512 bytes씩 4번 저장되어 총 2048 bytes의 데이터가 저장된다.
콤팩 플래쉬 카드 컨트롤러(200)는 상태 레지스터(미도시)의 DRQ 비트의 값을 "1"로 셋팅하여, 호스트(11)에게 데이터 전송 준비가 완료되었음을 알린다(S66).
호스트(11)가 섹터버퍼(211)로부터 데이터(512 bytes)를 리드한다(S67).
상기 단계 S67의 데이터(512 bytes) 리드 동작이 완료되면 섹터 포인터부(213)는 섹터 포인터 값을 감소시키고, 섹터 포인터 값이 "0"인지 판단한다.
섹터 포인터 값이 "0"이 되지 않았으면, 상기 단계 S67를 반복 수행하여 호스트(11)가 섹터 버퍼(211)로부터 데이터를 계속 리드하여, 섹터 포인터 값이 "0"이 될때까지 호스트(11)가 섹터버퍼(211)로부터 데이터를 512 bytes씩 4번 리드하여 총 2048 bytes의 데이터를 리드한다.
상기 데이터(2048 bytes) 리드동작이 완료되면 중앙처리부(202)는 어드레스 카운터(212)의 오버플로우 비트가 "1"인지를 판단한다. 오버플로우 비트가 "1"이 아니면 상기 단계 S63 내지 S68를 반복 수행한다. 이때, 섹터 버퍼(211)는 플래쉬 메모리 어레이(300)로부터 리드한 데이터를상위 2Kbytes 영역(어드레스 400h~ 7FFh)에 저장한다.
한편, 상기 단계 S69의 어드레스 카운터(212)의 오버플로우 비트값이 "1"이면 섹터 포인터부(213) 및 트랜스퍼 카운터(214)의 값이 "0"이 된다.
도 7은 도 4의 콤팩 플래쉬 카드의 싱글 라이트 방법을 나타내는 순서도이다.
먼저, 호스트(11)가 어드레스 및 라이트 섹터 명령신호를 호스트 인터페이스(100)로 전송한다. 호스트 인터페이스(100)는 어드레스 및 라이트 섹터 명령신호를 콤팩 플래쉬 카드 컨트롤러(200)로 전송한다(S71).
콤팩 플래쉬 카드 컨트롤러(200)는 트랜스퍼 카운터(214)의 값을 "1"로 셋팅한다(S72).
콤팩 플래쉬 카드 컨트롤러(200)는 상태 레지스터(미도시)의 DRQ 비트값을 "1"로 셋팅하여, 호스트(11)에게 데이터의 라이트 받을 준비가 되었음을 알린다 (S73).
호스트(11)가 라이트할 데이터(512 bytes)를 섹터버퍼(211)로 전송하여 섹터버퍼(211)의 최하위 어드레스부터 순차적으로 저장한다(S74).
어드레스 카운터(212)는 오버플로우 비트값을 "1"로 셋팅하고, 섹터 포인터부(213)의 섹터 포인터 값을 "0"으로 셋팅하며, 트랜스퍼 카운터(214)의 값을 "0" 으로 클리어시킨다(S75).
섹터버퍼(211)는 데이터(512 bytes)를 플래쉬 메모리 어레이(300)로 전송하여 저장한다(S76).
도 8은 도 4의 콤팩 플래쉬 카드의 멀티 라이트 방법을 나타내는 순서도이다.
먼저, 호스트(11)가 어드레스 및 라이트 섹터 명령신호를 호스트 인터페이스(100)로 전송한다. 호스트 인터페이스(100)는 어드레스 및 라이트 섹터 명령신호를 콤팩 플래쉬 카드 컨트롤러(200)로 전송한다(S81).
콤팩 플래쉬 카드 컨트롤러(200)는 트랜스퍼 카운터(214)에 ATA 레지스터(206)의 값을 복사하여 저장한다(S82).
콤팩 플래쉬 카드 컨트롤러(200)는 상태 레지스터(미도시)의 DRQ 비트값을 "1"로 셋팅하여, 호스트(11)에게 데이터의 라이트 받을 준비가 되었음을 알린다 (S83).
호스트(11)가 라이트할 데이터(512 bytes)를 섹터버퍼(211)로 전송하여 섹터버퍼(211)의 최하위 어드레스부터 순차적으로 저장한다(S84).
그 후, 섹터 포인터부(213)는 섹터 포인터 값을 증가시키고, 증가된 섹터 포인터 값이 "4"인지를 판단한다(S85).
증가된 섹터 포인터 값이 "4"에 도달하지 않았으면, 상기 단계 S4를 반복 수행하여 호스트(11)가 섹터 버퍼(211)에 데이터를 512 byte씩 저장한다.
한편, 증가된 섹터 포인터 값이 "4"가 되면 섹터 버퍼(211)는 하위 2Kbyte 영역(어드레스 000h ~ 3FFh)에 데이터를 512 bytes씩 4번 저장하여 총 2048 bytes의 데이터를 저장한다.
콤팩 플래쉬 카드 컨트롤러(200)는 섹터 버퍼(211)에 총 2048 bytes의 데이터가 저장되면, 저장된 데이터를 512 bytes씩 플래쉬 메모리 어레이(300)로 전송한다(S86).
그 후, 섹터 포인터부(213)는 섹터 포인터값을 감소시키고, 섹터 포인터값이 "0"인지 판단한다(S87).
섹터 포인터 값이 "0"이 되지 않았으면, 상기 단계 S88를 반복 수행하여 섹터 포인터 값이 "0"이 될때까지 콤팩 플래쉬 카드 컨트롤러(200)는 섹터버퍼(211)의 데이터를 512 바이트씩 플레쉬 메모리 어레이(300)로 전송하여, 총 4번 전송이 이루어지게 되어 결국 플레쉬 메모리 어레이(300)에는 총 2048 bytes의 데이터가 저장된다.
그 후, 상기 데이터(2048 bytes)의 라이트 동작이 완료되면 중앙처리부(202)는 어드레스 카운터(212)의 오버플로우 비트가 "1"인지를 판단한다(S88). 오버플로우 비트가 "1"이 아니면 상기 단계 S83 내지 S87를 반복 수행한다. 이때, 섹터 버퍼(211)는 호스트(11)로부터 수신한 데이터를 상위 2Kbytes 영역(어드레스 400h~ 7FFh)에 저장한다.
한편, 상기 단계 S88의 어드레스 카운터(212)의 오버플로우 비트값이 "1"이면 섹터 포인터부(213) 및 트랜스퍼 카운터(214)의 값이 "0"이 되게 한다.(S89).
이상에서 살펴본 바와 같이, 본 발명은 호스트와 콤팩 플래쉬 카드 간에 연속적으로 데이터 송수신이 가능하도록 함으로써, 고속 동작이 가능한 효과가 있다.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허 청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구범위에 속하는 것으로 보아야 할 것이다.
Claims (6)
- 호스트와 통신을 시도하여 명령신호 및 데이터를 상호 송수신하는 호스트 인터페이스;상기 데이터를 저장하는 복수개의 셀을 구비하는 플래쉬 메모리 어레이; 및상기 호스트 인터페이스와 상기 플래쉬 메모리 상호 간의 상기 데이터의 리드/라이트 동작을 제어하는 콤팩 플래쉬 카드 컨트롤러를 구비하고,상기 콤팩 플래쉬 카드 컨트롤러는상기 플래쉬 메모리 어레이에 저장된 상기 데이터의 리드/라이트 동작을 제어하는 중앙처리부;상기 호스트 인터페이스로부터 수신된 송수신 정보와 수신된 상기 데이터의 속성 정보를 저장하는 콤팩 플래쉬 인터페이스; 및복수개의 섹터버퍼를 구비하고, 멀티 리드/라이트 동작시 복수개의 섹터버퍼 중 상기 호스트 인터페이스와 상기 데이터를 송수신하는데 사용중인 섹터버퍼의 어드레스를 카운팅하여, 상기 복수개의 섹터버퍼에 수신된 상기 데이타를 순차적으로 저장하거나, 상기 플래쉬 메모리 어레이로부터 리드된 상기 데이터를 상기 복수개의 섹터버퍼에 연속적으로 저장하는 구동부를 포함하는 것을 특징으로 하는 콤팩 플래쉬 카드.
- 제 1항에 있어서, 상기 콤팩 플래쉬 카드 컨트롤러는,상기 중앙처리부의 제어에 따라 상기 플래쉬 메모리 어레이와의 데이터 송수신을 제어하는 플래쉬 메모리 제어부; 및상기 중앙처리부의 내부 동작결과를 임시 저장하는 내부 메모리를 더 포함하는 것을 특징으로 하는 콤팩 플래쉬 카드.
- 제 1항에 있어서, 상기 콤팩 플래쉬 인터페이스는,상기 호스트 인터페이스와의 상기 송수신 정보를 저장하는 레지스터;상기 호스트 인터페이스로부터 제어신호 및 어드레스신호를 수신하여 이를 제어하는 제어로직부; 및상기 호스트 인터페이스로부터 수신된 상기 데이터의 속성 정보를 저장하는 속성버퍼를 포함하는 것을 특징으로 하는 콤팩 플래쉬 카드.
- 제 1항에 있어서, 상기 구동부는,복수개의 섹터로 구분되는 상기 복수개의 섹터버퍼;상기 복수개의 섹터버퍼 중 사용중인 섹터버퍼의 위치를 나타내는 섹터 포인터부;상기 사용중인 섹터버퍼의 어드레스를 카운팅하는 어드레스 카운터; 및상기 데이터를 상기 호스트 인터페이스로 전송시마다 다운 카운팅되는 트랜스터 카운터를 포함하는 것을 특징으로 하는 콤팩 플래쉬 카드.
- 제 4항에 있어서, 상기 복수개의 섹터 버퍼는 듀얼 포트 램을 구비하는 것을 특징으로 하는 콤팩 플래쉬 카드.
- 제 4항에 있어서, 상기 섹터버퍼는상기 복수개의 섹터 중 하나의 섹터당 512 바이트 크기로 구현됨을 특징으로 하는 콤팩 플래쉬 카드.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040027059A KR100593509B1 (ko) | 2004-04-20 | 2004-04-20 | 콤팩 플래쉬 카드 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040027059A KR100593509B1 (ko) | 2004-04-20 | 2004-04-20 | 콤팩 플래쉬 카드 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050101838A KR20050101838A (ko) | 2005-10-25 |
KR100593509B1 true KR100593509B1 (ko) | 2006-06-28 |
Family
ID=37280203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040027059A KR100593509B1 (ko) | 2004-04-20 | 2004-04-20 | 콤팩 플래쉬 카드 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100593509B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100761374B1 (ko) * | 2005-12-22 | 2007-09-27 | 엠텍비젼 주식회사 | 플래시 메모리 제어 방법 및 장치 |
KR100843105B1 (ko) * | 2006-08-23 | 2008-07-02 | 주식회사 아이피에스 | 컴퓨터 기반 제어기, 제어 시스템, 및 제어 방법 |
-
2004
- 2004-04-20 KR KR1020040027059A patent/KR100593509B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050101838A (ko) | 2005-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE50067E1 (en) | Storage device including flash memory and capable of predicting storage device performance based on performance parameters | |
KR100441608B1 (ko) | 낸드 플래시 메모리 인터페이스 장치 | |
US10878924B2 (en) | Data storage device intergrating host read commands and method of operating the same | |
US20080065794A1 (en) | Chained DMA for Low-Power Extended USB Flash Device Without Polling | |
CN107818808B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US7565469B2 (en) | Multimedia card interface method, computer program product and apparatus | |
TWI507981B (zh) | 指令執行方法、連接器與記憶體儲存裝置 | |
TWI545588B (zh) | 控制方法、連接器與記憶體儲存裝置 | |
CN110851073B (zh) | 储存装置及巨集指令的执行方法 | |
KR100593509B1 (ko) | 콤팩 플래쉬 카드 | |
KR20220077400A (ko) | 메모리 장치, 메모리 시스템 및 이의 동작 방법 | |
CN113448487A (zh) | 写入闪存管理表的计算机可读取存储介质、方法及装置 | |
US7640366B2 (en) | Storage controller to control access to storage device via serial communication unit by executing control step units | |
KR20220144853A (ko) | 이미지 데이터에 대한 매체 유형 선택 | |
KR20200078101A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN104008072A (zh) | 控制方法、连接器与存储器存储装置 | |
US20240143182A1 (en) | Data reading method, memory storage device, and memory control circuit unit | |
US20240345758A1 (en) | Storage device and operating method of storage device | |
CN116931812A (zh) | 因应主机丢弃命令的数据存取方法和存储介质和装置 | |
CN115576497A (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
TW202340939A (zh) | 因應主機丟棄命令的資料存取方法及產品電腦程式及裝置 | |
ZA200704397B (en) | Multimedia card interface method, computer program product and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130327 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140305 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |