KR100359414B1 - 데이타독출/기록방법및그를이용한메모리제어장치및시스템 - Google Patents

데이타독출/기록방법및그를이용한메모리제어장치및시스템 Download PDF

Info

Publication number
KR100359414B1
KR100359414B1 KR1019970002071A KR19970002071A KR100359414B1 KR 100359414 B1 KR100359414 B1 KR 100359414B1 KR 1019970002071 A KR1019970002071 A KR 1019970002071A KR 19970002071 A KR19970002071 A KR 19970002071A KR 100359414 B1 KR100359414 B1 KR 100359414B1
Authority
KR
South Korea
Prior art keywords
address
read
data
command
flash memory
Prior art date
Application number
KR1019970002071A
Other languages
English (en)
Other versions
KR970062909A (ko
Inventor
스유이치 키쿠치
세이지 히라가
츠토무 스가와라
Original Assignee
동경 엘렉트론 디바이스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP3014496A external-priority patent/JP3289101B2/ja
Priority claimed from JP3705496A external-priority patent/JP3321587B2/ja
Application filed by 동경 엘렉트론 디바이스 주식회사 filed Critical 동경 엘렉트론 디바이스 주식회사
Publication of KR970062909A publication Critical patent/KR970062909A/ko
Application granted granted Critical
Publication of KR100359414B1 publication Critical patent/KR100359414B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

호스트 컴퓨터에 결합되는 메모리 카드의 복수의 반도체 메모리 칩에 버스를 거쳐서 동일한 독출용 커맨드를 동시에 제공하고, 연속해서 상기 버스를 거쳐서 상기 복수의 반도체 메모리 칩에 동일한 어드레스를 동시에 제공하고, 제공된 커맨드 및 어드레스에 응답하여 복수의 반도체 메모리 칩이 소정 시간내에 어드레스로 지정된 상기 기억영역으로부터 데이터를 독출해서 각각의 출력 포트에 설정하며, 상기 소정 시간의 경과후에 복수의 반도체 메모리 칩의 각각의 출력 포트에 설정되어 있는 독출 데이터를 버스를 통해 순차 개별적으로 취입하는 것을 포함하는 반도체 기억장치의 데이터 독출 방법을 개시한다.

Description

데이터 독출/기록 방법 및 그를 이용한 메모리 제어장치 및 시스템{DATA READING METHOD AND MEMORY CONTROLLING APPARATUS}
본 발명은 복수의 반도체 메모리를 포함하는 메모리 장치에 관한 것으로, 특히 복수의 반도체 메모리의 동일한 기억 어드레스에 각각 저장되어 있는 데이터를 독출하기 위한 방법 및 제어장치에 관한 것이다.
근래, 하드디스크나 플로피디스크 등의 자기 메모리에 치환되는 반도체 메모리로서, 플래시 메모리(플래시 EEPROM)가 주목되고 있다. 플래시 메모리는 불휘발성으로 소비전력이 작고 전기적으로 재기록가능한 반도체 메모리이며, 경량소형으로 내진성이 우수하기 때문에 휴대기기 등으로의 용도가 확대되고 있다.
일반적으로, 플래시 메모리를 외부 기억장치에 이용하는 컴퓨터 시스템에서는, 플래시 메모리전용의 제어기가 할당되고 있다. 호스트 컴퓨터(예컨대 퍼스컴)는 이 제어기에 대해서 데이터의 기록이나 독출을 지시하면 좋다. 제어기는 호스트 컴퓨터로부터의 지시(커맨드)를 받아 플래시 메모리에 대해서 데이터의 기록이나 독출을 직접 제어하며, 또한 플래시 메모리 특유의 일괄 소거 등의 메모리 관리를 행한다.
종래에는, 1개의 제어기 및 복수의 NAND 형 플래시 메모리의 각 칩이 1매의 카드상에 탑재되었다. 이 메모리 카드가 호스트 컴퓨터의 카드 슬롯에 장착되면, 제어기는 호스트 컴퓨터에 소정규격의 인터페이스 예컨대 PCMCIA-ATA 또는 IDE 인터페이스로 접속된다.
카드상에서 제어기는, 예컨대, 8비트 폭의 내부 버스와, 전 플래시 메모리에 공통인 각 1 개의 제어선과, 각각의 플래시 메모리에 개별적으로 할당된 제어선을거쳐서 각 플래시 메모리에 접속된다.
이러한 구성에 있어서, 독출 동작의 전 시간을 통해서 제어기는 칩 인에이블 제어신호를 액티브(L 레벨)로 유지하고, 상기 플래시 메모리를 칩 인에이블(동작가능) 상태로 유지시킨다.
이 경우, 먼저 제어기는 커맨드 래치 인에이블 제어신호를 액티브(H레벨)로 하고, 버스상에 소정 코드의 독출 커맨드를 송출하는 동시에, 기록 인에이블 제어신호를 액티브(L 레벨)로 한다. 이것에 의해 제어기측으로부터의 커맨드 기록조작에 따라 동작해서, 상기 플래시 메모리는 상기 독출 커맨드를 취입한다.
다음에, 제어기는 어드레스 래치 인에이블 제어신호를 액티브(H 레벨)로 하고, 버스상에 소정 비트 수의 독출 어드레스를 3회 분할하여 송출하며, 그 때마다 기록 인에이블 제어신호를 액티브상태(L 레벨)로 한다. 이 제어기로부터의 어드레스 기록 조작에 따라 동작해서, 상기 플래시 메모리는 상기 어드레스 취입하여 메모리내의 독출 동작을 개시한다.
즉, 종래의 독출방법은, 플래시 메모리가 입력된 상기 독출 커맨드 및 독출 어드레스를 디코딩하고, 상기 독출 어드레스로 지정되는 기억 어드레스 또는 영역으로부터 데이터를 독출하며, 독출된 데이터를 소정의 출력포트 또는 버퍼에 설정한다. 이 메모리내의 독출 동작에는 소정의 시간이 소요되기 때문에, 플래시 메모리는 이러한 처리시간 동안 비지(busy) 신호를 액티브(L 레벨)로 유지해서 제어기에 대기시킨다.
플래시 메모리내의 독출 동작이 종료해서 비지 상태가 해제되면, 제어기는플래시 메모리의 출력 포트로부터 독출 데이터를 취입하는 동작을 개시한다.
일반적으로 플래시 메모리에 있어서는, 데이터가 임의의 블럭으로 기록/독출된다. 데이터의 독출을 위해 제어기로부터 상기 플래시 메모리에 제공되는 독출 어드레스는 독출원으로 되는 기억 어드레스 또는 영역의 독출 개시 위치를 지정하는 어드레스(선두 어드레스)이다. 그러나, 제어기는 독출 인에이블 제어신호를 반복하여 액티브(L 레벨)로 해서 플래시 메모리의 출력포트로부터 1바이트씩의 데이터를 버스를 거쳐 취입하므로 독출 어드레스로 지정된 플래시 메모리내의 소망의 기억 영역으로부터 한 블럭의 데이터를 독출한다.
이러한 종류의 플래시 메모리는 칩내의 메모리 어레이가 복수개, 예컨대, 512개의 블럭으로 분할되고, 각 블럭은 복수개, 예컨대, 16개의 페이지 또는 섹터로 분할되어 있다. 통상, 프로그래밍(기록)이나 독출은 페이지 단위로 행해지며, 소거는 블럭 단위로 행해진다.
각 페이지는 소정 용량, 예컨대, 512 바이트의 데이터 영역과, 소정 용량, 예컨대, 16 바이트의 용장부로 이루어진다. 데이터 영역은 본래의 데이터 저장 영역이다. 용장부는 몇개의 필드로 구분되며, 그 중에 변환 테이블 어드레스 영역이 설치되어 있다. 이 변환 테이블 어드레스 영역에는 호스트 컴퓨터로부터의 데이터가 상기 섹터로 기록될 때마다 그 기록에 이용된 논리 어드레스가 저장된다.
호스트 컴퓨터측에서 보면, 플래시 디스크의 기억영역을 일정의 메모리공간 또는 I/O공간으로 보아서, 논리 어드레스에 의해 메모리 액세스를 행해도 되지만, 카드내에서는 제어기가 블럭단위로 분산적으로 기억영역을 관리하고 물리 어드레스로 메모리 액세스를 행하도록 하고 있다. 이 때문에, 논리 어드레스와 물리 어드레스를 대응시키는 변환 테이블이 제어기에 내장의 테이블 메모리(SRAM)에 형성된다. 또, 현재 데이터가 입력되지 않은 비어있는 상태의 블럭을 등록해 두기 위한 비어있는 블럭 테이블도 같은 테이블 메모리에 형성된다.
전원 인가 직후 또는 리세트 해제 직후에, 제어기는 변환 테이블 및 비어있는 블럭 테이블의 초기화를 행한다. 이 테이블 초기화를 위해, 제어기는 카드내의 전 페이지에서 각각 현재 할당되어 있는 논리 어드레스를 수집하는 처리를 행한다. 상기와 같이 각 페이지의 용장부에는 전회의 기록에 사용된 논리 어드레스(변환 테이블 어드레스)가 저장(보존)되어 있다. 이 논리 어드레스의 상위 어드레스부, 즉, 논리 블럭 어드레스는 1블럭내의 전체 페이지에서 공통으로 되어 있다. 따라서, 각 블럭의 대표 페이지(보통은 선두 페이지)의 용장부에 저장되어 있는 데이터를 독출하면 좋고, 그 중의 논리 블럭 어드레스를 추출하므로써 상기 블럭BLj내의 전체 페이지PG0-PG15의 각각의 논리 어드레스를 분리해낼 수 있다.
통상은 최초에 전체 플래시 메모리의 각각의 제 1 블럭의 선두 페이지의 용장부 데이터를 순차독출하며, 다음에, 전체 플래시 메모리의 각각의 제 2 블럭의 선두 페이지의 용장부의 데이터를 순차독출하고, 다음에 전체 플래시 메모리의 각각의 제 3 블럭의 선두 페이지의 용장부의 데이터를 순차 독출한다. 이하, 후속의 블럭에 대해서도 마찬가지의 독출 동작을 반복한다.
종래의 이 같은 플래시 디스크 시스템에서는 1개의 플래시 메모리의 제 N 블럭의 선두 페이지의 용장부로부터 데이터를 독출하는 동작을 상기한 타이밍으로 행하는 경우, 제 4 단계에서 제어기는 16 사이클을 소비하고, 플래시 메모리의 출력 포트로부터 16바이트의 데이터를 취입하는 것으로 된다. 전체 플래시 메모리의 각각의 제 N 블럭의 선두 페이지의 용장부로부터의 데이터를 순차적으로 독출하기 위해 상술한 독출 사이클을 플래시 메모리의 전체 수에 같은 회수로 반복했다.
상기와 같이, 이러한 종류의 플래시 메모리에 있어서는 1회의 독출 동작이 1개의 메모리에 대응하는 독출 커맨드의 기록(제공)(제 1 단계), 1개의 메모리에 대응하는 독출 어드레스의 기록(제공)(제 2 단계), 1 개의 메모리내의 데이터 독출(제 3 단계) 및 메모리에서 제어기로의 데이터의 전송(취입)(제 4 단계)의 4 개 단계로 이루어지며, 이 중에서도 제 3 단계의 소요시간이 길고 1 회의 독출 사이클의 대부분을 차지한다.
종래의 플래시 디스크 시스템에서는 제어기가 카드내의 전체 플래시 메모리의 동일한 기억 어드레스를 액세스할 때에, 메모리 칩내의 총 수와 같은 회수만큼 독출 사이클을 반복한 결과, 전체 독출 시간이 매우 길어지고, 나아가서 초기화의 소요시간이 길어지게 되어, 메모리 시스템의 성능을 저하시키는 단점이 있었다.
본 발명은 복수의 반도체 메모리의 동일한 기억 어드레스에 각각 저장되고 있는 데이터를 짧은 시간내에 독출하고, 메모리 시스템의 성능향상을 꾀한 메모리 독출방법 및 메모리 제어장치를 제공하는 것을 목적으로 한다.
본 발명은, 호스트 장치에 결합되는 반도체 장치의 복수의 반도체 메모리에버스를 거쳐서 동일한 독출용 커맨드를 동시에 제공하고, 이어서 상기 버스를 거쳐서 상기 복수의 반도체 메모리에 동일한 어드레스를 동시에 제공하며, 제공된 상기 커맨드 및 상기 어드레스에 응답하여 상기 복수의 반도체 메모리가 소정시간내에 상기 어드레스로 지정된 기억영역으로부터 데이터를 독출해서 각각의 출력 포트에 설정하고, 상기 소정시간의 경과후에 상기 복수의 반도체 메모리의 각각의 출력포트에 설정되어 있는 상기 독출 데이터를 상기 버스를 통해서 순차 개별적으로 취입하는 반도체 기억장치의 데이터 독출 방법을 제공한다.
본 발명은, 호스트 장치에 결합되어 있는 반도체 기억장치의 복수의 반도체 메모리에 버스를 통해서 독출용 커맨드를 동시에 제공하기 위한 커맨드 제공수단과, 상기 복수의 반도체 메모리에 상기 버스를 통해서 소망의 어드레스를 동시에 제공하기 위한 어드레스 제공수단과, 소정의 타이밍으로 제공된 독출용 커맨드 및 어드레스에 응답하여 소정시간의 경과후에 상기 복수의 반도체 메모리의 각각의 출력포트에 설정되어 있는 상기 독출 데이터를 상기 버스를 통해서 순차개별적으로 취입하는 데이터 취입수단과, 상기 커맨드의 제공개시로부터 상기 독출 데이터의 취입이 종료될 때까지의 전체 독출 동작 시간을 통해서 상기 복수의 반도체 메모리의 각각을 칩 인에이블 상태로 유지하는 칩 인에이블 제어수단에 의해 구성되는 메모리 제어장치를 제공한다.
도 1은 본 발명의 일실시예에 따른 플래시 디스크 시스템의 구성을 도시하는 블럭도,
도 2는 도 1의 실시예에 있어서 제어기의 내부의 기능적 구성을 도시하는 블럭도,
도 3은 도 1의 실시예에 있어서 플래시 메모리의 내부 구성을 도시한 도면,
도 4a 및 도 4b는 도 1의 실시예의 시스템에서의 테이블 작성 처리를 설명하기 위한 플로우챠트,
도 5는 도 1의 실시예에 있어서 제어기가 각각의 플래시 메모리에 데이터를 기록할 때의 동작을 도시하는 타이밍도,
도 6은 도 1의 실시예에 있어서 제어기가 각각의 플래시 메모리로부터 데이터를 독출할 때의 동작을 도시하는 타이밍도,
도 7은 도 1의 실시예에 있어서 제어기가 전체의 플래시 메모리의 동일한 기억영역으로부터 데이터를 일제히 독출할 때의 동작을 도시하는 타이밍도,
도 8은 도 1의 실시예에 사용되는 플래시 메모리의 구분 포맷을 도시하는 도면,
도 9는 도 1의 플래시 디스크 시스템에 있어서 복수의 플래시 메모리의 동시 독출 기록 또는 병렬 독출 기록 동작을 설명하기 위한 타이밍도,
도 10은 호스트 컴퓨터로부터의 데이터 기록을 위한 액세스에 대해서 어드레스 변환 및 테이블 검색을 행하는 구성 및 기능을 도시하는 블럭도,
도 11은 데이터 재기록시의 데이터 이동 및 신규 데이터 기록조작을 설명하기 위한 도면,
도 12는 데이터 재기록 처리에 있어서 기록 사이클과 독출 사이클의 실행 수순을 도시하는 도면,
도 13은 종래의 데이터 재기록 처리에 있어서 기록 사이클과 독출 사이클의 실행 수순을 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
10 : 제어기14 : 호스트 컴퓨터
20 : 본체 인터페이스부22 : 리세트 처리부
24 : 어드레스 변환부26 : 커맨드 처리부
28 : 플래시 테이블 제어부34 : 플래시 인터페이스부
이하, 도 1 내지 도 8을 참조해서 본 발명의 실시예를 설명한다.
도 1에 도시된 본 발명의 일실시예에 따른 플래시 디스크 시스템에 있어서, 1개의 제어기(10) 및 복수개(n+1개)의 NAND형 플래시 메모리FM0∼FMn의 각 칩은 1 매의 카드(플래시 디스크 카드)(12)상에 탑재되어 있다. 카드(12)가 호스트 컴퓨터(14)의 카드 슬롯에 탑재되고, 제어기(10)는 호스트 컴퓨터(14)에 소정 규격의 인터페이스, 예컨대, PCMCIA-ATA 또는 IDE 인터페이스(16)로 접속된다.
카드(12)상에서, 제어기(10)는, 예컨대, 8 비트 폭의 내부 버스FD0-7과, 전체의 플래시 메모리FM0∼FMn에 공통인 각 1 개의 제어선FCLE, FALE, XFWP, XFWE- 및 XFSY-과, 각각의 플래시 메모리FM0∼FMn에 개별적으로 할당된 각 (n+1)개의 제어선XFCE0-∼XFCEn-, XFRE0-∼XFREn-을 거쳐서 각 플래시 메모리FM0∼FMn에 접속되어 있다.
내부 버스FD0∼7는 제어기(10)와 각 플래시 메모리FM0∼FMn 사이의 커맨드, 어드레스 및 데이터의 전송에 겸용된다. 상기 공통 제어선 중 FCLE는 버스FD0∼7상의 커맨드 코드를 플래시 메모리FM0∼FMn에 커맨드로서 식별시키기 위한 커맨드 래치 인에이블 제어선이다. FALE는 버스FD0∼7상의 어드레스 코드를 플래시 메모리FM0∼FMn에 어드레스로서 식별시키기 위한 어드레스 래치 인에이블 제어선이다. XFWP는 플래시 메모리FM0∼FMn에 기록을 강제적으로 금지시키는 기록 프로텍트 제어선이다. XFWE-는 버스FD0∼7상의 코드 또는 데이터를 각 플래시 메모리FM0∼FMn에 취입하기 위한 기록 인에이블 제어선이다. XFBSY-는 플래시 메모리FM0∼FMn가 각각의 비지 상태를 제어기(10)에 알리기 위한 비지 선이다.
또, 상기 개별적 제어선중 XFCE0-∼XFCEn-은 각 플래시 메모리FM0∼FMn을 개별적 또는 독립적으로 칩 인에이블 상태(동작가능상태)로 하기 위한 칩 인에이블 제어선이다. 또, XFRE0-∼XFREn-은 각 플래시 메모리FM0∼FMn의 출력 포트로부터 버스FD0∼7상으로 개별적 또는 독립적으로 독출한 데이터를 출력하기 위한 독출(출력) 인에이블 제어선이다.
도 2는 제어기(10) 내부의 기능적 구성을 도시하며, 이에 의하면 제어기(10)는 본체 인터페이스부(20), 리세트 처리부(22), 어드레스 변환부(24), 커맨드 처리부(26), 플래시 테이블 제어부(28), 플래시 커맨드 발생부(30), 에러 제어부(32) 및 플래시 인터페이스부(34)를 가지고 있다.
본체 인터페이스부(20)는 호스트 컴퓨터(14)로부터 직접 기록/독출가능한 각종의 레지스터를 내장하고 있으며, 호스트 컴퓨터(14)의 버스에 소정 규격의 인터페이스, 예컨대, PCMCIA-ATA또는 IDE 인터페이스로 접속된다.
이 호스트 인터페이스에 있어서, 호스트 컴퓨터(14)로부터 본체 인터페이스부(20)내의 각 레지스터를 선택하기 위해 어드레스 신호A0∼A10과 제어신호XCE1∼XCE2가 사용된다. 어드레스 맵의 메모리 공간과 I/O공간의 선택에 XREG가 사용되고 있다. 메모리 공간의 기록/독출에는 제어신호XWE-/XOE-가 사용되며, I/O공간의 기록/독출에는 제어신호XIOWR-/XIORD-가 사용되고 있다. 본체 인터페이스부(20)로부터 호스트 컴퓨터(14)에 대해서는 인터럽트 요구신호XIREQ-, 입력 승인신호XINPACK-등이 발생된다. 본체 인터페이스부(20)에는 호스트 컴퓨터(14)로부터의 커맨드를 디코드하는 회로도 포함되고 있다.
리세트 처리부(22)는 외부로부터의 리세트 신호, 예컨대, XPONRST에 따라 동작해서 제어기(10)내의 각부를 리세트 상태로 하는 처리 등 이외에 리세트 해제후의 초기화의 처리를 제어한다.
어드레스 변환부(24)는 호스트 컴퓨터(14)측이 지정하고 있는 CHS(실린더 헤드 섹터) 모드의 논리 어드레스를 플래시 디스크내의 LBA(논리 블럭 어드레스) 모드의 논리 어드레스로 변환한다.
커맨드 처리부(26)는 본체 인터페이스부(20)에서 디코딩된 호스트 컴퓨터(14)로부터의 커맨드를 실행하기 위해, 제어기(10)내의 각 부를 제어한다.
플래시 테이블 제어선(28)은 리세트 처리부(22)나 커맨드 처리부(26) 등으로부터의 요구에 의해 어드레스 변환 테이블 및 비어있는 블럭 테이블의 초기화 내지 작성을 행하는 동시에, 호스트 컴퓨터(14)로부터의 커맨드에 따라 동작하여 테이블의 검색 내지 갱신을 행한다. 플래시 테이블 제어부(28)에는, 예컨대, SRAM으로 이루어지는 휘발성의 테이블 메모리가 설치되며, 이 메모리상에 어드레스 변환 테이블 및 비어있는 블럭 테이블이 구축된다.
플래시 커맨드 발생부(30)는 플래시 테이블 제어부(28)나 커맨드 처리부(26) 등으로부터의 요구에 의해 플래시 메모리FM0∼FMn에 대한 커맨드 코드 및 어드레스 신호를 발생한다.
에러 제어부(32)는 기록/독출시의 ECC(에러 검사 및 정정) 처리를 실행한다.
플래시 인터페이스부(34)는 상기 공통 버스FD0∼7 및 각종 제어선(FCLE, FALE 등)을 통해서 플래시 메모리FM0∼FMn와 데이터 및 신호를 주고 받는 입출력 포트이며, 공통버스FD0∼7상에서 커맨드, 어드레스 및 데이터를 상이한 타이밍으로다중화하는 타이밍 제어기능을 가지고 있다.
도 3을 참조해서, 각 플래시 메모리FM1(i=0∼n) 내부의 구성을 설명한다.
도 3에 있어서, 플래시 메모리 어레이(40)는 매트릭스 형태로 배치된 다수의 메모리 셀로 구성되고 있다. 예를 들면, 도 7과 같이 1 칩의 플래시 메모리FM1이 512개의 블럭BL0∼BL511을 갖고, 각 블럭BLj(j=0∼511)는 16 개의 페이지PG0∼PG15로 이루어지며, 각 페이지PGk(k=0∼15)가 512 바이트의 데이터 영역과 16 바이트의 용장부로 이루어지는 경우, 메모리 어레이(40)는 8192(16×512)행×528(512+16)열의 메모리 셀로 구성되며, 32 메가바이트의 기억용량을 갖는다.
플래시 메모리 어레이(40)는 페이지 레지스터(42) 및 게이트 회로(44)를 통해 1페이지(528바이트) 용량의 I/O 버퍼(46)에 전기적으로 접속되며, 메모리 어레이(40)와 I/O 버퍼(46) 사이에서 페이지 단위의 병렬적인 데이터 전송이 행해지도록 된다. 이 플래시 메모리FM1에서는 I/O 버퍼(42)가 실질상의 출력 포트를 구성한다.
버스FD0∼7상의 커맨드, 어드레스 또는 데이터는 글로벌 버퍼(48)를 통해서 각각 커맨드 레지스터(50), X,Y어드레스 버퍼(52, 54) 및 I/O 버퍼(46)에 래치된다.
커맨드 레지스터(50)는 입력된 커맨드를 디코딩한 후, 어드레스 버퍼(52, 54)내지 어드레스 디코더(56, 58) 및 I/O 버퍼(46)를 제어한다.
X어드레스 버퍼(52)는 행 어드레스ADX를 취입하고, X어드레스 디코더(56)는 이 행 어드레스ADX를 디코딩하여 어레이(40)내의 지정(선택)된 행(페이지)을 액티브로한다. Y어드레스 디코더(54)는 열 어드레스ADY를 취입해서, 이 열 어드레스 ADY를 디코딩해서 어레이(40)내의 지정(선택)된 열의 데이터를 전송하도록 게이트 회로(44)를 제어한다.
제어회로(60)는 제어기(10)로부터의 제어신호FCLE, FALE, NFWP, XFCEi-, XFWE- 및 XFREi-를 수신하고, 각 제어신호에 따라 동작해서 각 부를 제어한다. 출력 드라이버(62)는 I/O 버퍼(46)에 설정되어 있는 독출 데이터를 버스FD0∼7상으로 송출할 때에 버스선을 구동한다.
다음에, 도 4a 및 4b의 플로우챠트를 참조해서 상기 구성의 플래시 디스크 시스템의 동작을 설명한다.
먼저, 시스템의 리세트가 해제된다(S10). 다음에, 비어있는 테이블과 변환 테이블 메모리를 초기화한다. 즉, 플래시 테이블 제어부(28)에 설치된 테이블 메모리SRAM의 비어있는 테이블과 변환 테이블을 초기화한다(S11).
스텝S12에서는 검색하고자 하는 블럭을 선두에 설정한다. 이것으로 부터, 용장부 독출 커맨드 및 어드레스가 순차 발생된다(S13, S14). 이 때, 메모리가 비지 상태에 있는지가 검사되고(S14), 비지 상태가 종료되면, 제어 플래시가 플래시 메모리 칩FM0에 설정된다(S16).
그 후, 독출 인에이블 신호XFREx가 출력된다(S17). 이 때, 용장부의 데이터의 바이트 수가 계수되며, 이것이 소망의 수에 도달되면(S18), 사용가능 블럭의 판정이 행해진다(S19). 또, 스텝S18은 일반적으로는 용장부의 바이트를 모두 읽을 필요가 없으므로, 소망수로 독취를 중단하기 위해 행해진다. 또, 스텝S19에서의 사용가능한 블럭의 판정은, 플래시 메모리의 블럭에는 선천적 또는 후천적으로 사용불가능한 블럭이 존재하므로 그 사용 가부를 판정하기 위해 행해지며, 이것은 용장부에 존재하는 사용 가부를 도시하는 플래그에 의해 행해진다.
사용가능한 블럭이 있으면, 논리 어드레스의 유무가 판정되며(S20), 존재한다면, 변환 테이블의 해당 위치(논리 어드레스)에 물리 블럭 어드레스를 기록한다(S21). 논리 어드레스가 존재하지 않으면, 비어있는 테이블의 해당 비트에 "1"을 기록한다(S22). 스텝S21의 처리후 및 스텝S19에서의 아니오 판정 후에는 비어있는 테이블의 해당 비트에 "0"을 기록한다(S23).
상기 테이블 작성 처리가 전체 칩에 대해서 행해졌는지가, 스텝S24에서 판정되며, 이 판정이 아니오이라면, 제어 플래시를 다음의 칩에 설정하고(S25), 스텝S17로 복귀한다. 판정이 예이라면, 테이블 작성 처리가 전체 블럭에 대해서 종료했는지가 판정되고(S26), 이 판정이 아니오이라고 하면, 현재의 블럭수에 1이 가산되며(S27), 스텝S13으로 복귀한다. 판정이 예이라고 하면, 처리는 종료된다.
다음에, 상기 테이블 작성 처리를 도 5의 타이밍챠트를 참조하여 더 구체적으로 설명한다.
본 실시예에 있어서는 제어기(10)가 개개의 플래시 메모리FM1에 데이터를 기록할 때의 동작을 설명하였지만 일반적으로 플래시 메모리FM1에 대한 데이터의 기록은 페이지 단위로 행해진다.
기록 사이클TW의 전 기간을 통해서 제어기(10)는 칩 인에이블 제어신호XFCEi-를 액티브(L 레벨)로 유지하고, 해당 플래시 메모리FM1을 칩 인에이블(동작가능)상태로 유지한다.
먼저, 제어기(10)는 커맨드 래치 인에이블 제어신호FCLE를 액티브(H 레벨)로 하여, 버스FD0∼7상에 소정 코드의 데이터 입력 커맨드CMS를 송출하는 동시에, 기록 인에이블 제어신호XFWE-를 액티브(L 레벨)로 한다. 이 제어기(10)측으로부터의 커맨드 기록 조작에 따라 동작해서, 해당 플래시 메모리FM1은 버스FD0∼7상의 해당 데이터 입력 커맨드CMS를 취입하고 커맨드 레지스터(50)에 래치시킨다.
다음, 제어기(10)는 어드레스 래치 인에이블 제어신호FALE를 액티브(H 레벨)로 해서, 버스FD0∼7상에 소정 비트 수의 기록 어드레스ADW를 3회 분할해서 송출하며, 그 때마다, 기록 인에이블 제어신호XFWE-를 액티브 상태(L 레벨)로 한다.
이 제어기(10)로부터의 어드레스 기록 조작에 따라 동작해서, 상기 플래시 메모리FM1은 버스FD0∼7상의 상기 기록 어드레스ADW를 취입하고, 어드레스 버퍼(52, 54)에 래치시킨다. 이 기록 어드레스ADW는 상기 플래시 메모리FMi내에서 기록원으로 되는 기억 어드레스 또는 영역의 기록개시 위치를 지정하는 어드레스(선두 어드레스)이다.
다음에, 제어기(10)는 커맨드 래치 인에이블 제어신호FCLE 및 어드레스 래치 인에이블 제어신호FALE를 각각 비액티브(L 레벨)로 한 상태에서, 버스FD0∼7상에 1 바이트씩 기록 데이터DATA를 송출하고, 그 때마다 기록 인에이블 제어신호XFWE-를 액티브 상태(L 레벨)로 한다. 플래시 메모리FM1은 기록 인에이블 제어신호XFWE-에 따라 버스FD0∼7상의 데이터DATAW를 1 바이트씩 취입하여 I/O 버퍼(46)에 저장한다.
다음에, 제어기(10)는 다시 커맨드 래치 인에이블 제어신호FCLE를 액티브(H 레벨)로 하고, 버스FD0∼7상에 소정 코드의 프로그램 커맨드CMP를 송출하는 동시에, 기록 인에이블 제어신호XFWE-를 액티브(L 레벨)로 한다. 이 제어기(10)로부터의 커맨드 기록 조작에 따라 동작하여, 플래시 메모리FM1은 버스FD0∼7상의 상기 프로그램 커맨드CMP를 취입해서 커맨드 레지스터(50)에 래치하며, 프로그래밍 동작을 개시한다.
즉, 플래시 메모리FM1은, 상기 프로그램 커맨드CMP를 디코딩하고, 상기 기록 어드레스ADW로 지정되는 플래시 메모리 어레이(40)내의 기억 어드레스 또는 영역에, I/O 버퍼(46)에 취입되고 있는 데이터DATAW를 기록한다. 이 메로리내의 데이터 기록동작에는 소정의 시간tWB를 필요로 하며, 플래시 메모리FM1은 이 처리시간tWB동안 비지 신호XFBSY-를 액티브(L레벨)로 유지한다. 메모리내의 기록 동작이 종료한 때에, 비지 신호XFBSY를 비액티브(H 레벨)로 복귀시킨다. 이것으로 플래시 메모리FM1에 대한 1회의 데이터 기록이 완료된다.
다음에, 도 6의 타이밍챠트를 참조해서, 본 실시예에 있어서 제어기(10)가 각 플래시 메모리FM1의 임의의 기억 어드레스로부터의 데이터를 독출할 때의 통상의 동작을 설명한다.
이 통상의 독출 동작은 종래의 플래시 디스크 시스템에 있어서의 독출 동작과 거의 동일하다. 즉, 플래시 메모리FMi는 입력한 상기 독출 커맨드CMR 및 독출 어드레스ADR을 디코딩하며, 독출 어드레스ADR로 지정되는 기억 어드레스 또는 영역에서 데이터를 독출하고, 독출한 데이터를 소정의 출력 포트 또는 버퍼에 설정한다. 이 메모리내의 독출 동작에는 일정의 시간을 필요로 하므로, 플래시 메모리FMi는 이 처리 시간tRB동안 비지 신호XFBSY-를 액티브(L레벨)로 유지해서 제어기(10)에 대기시킨다.
플래시 메모리FMi내의 독출 동작이 종료해서 비지 상태가 해제되면, 제어기(10)는 플래시 메모리의 출력 포트로부터 독출한 데이터를 취입하는 동작을 개시한다.
일반적으로 플래시 메모리에 있어서 데이터는 임의의 블럭으로 기록/독출된다. 데이터의 독출을 위해 제어기(10)에서 해당 플래시 메모리에 제공되는 독출 어드레스는 독출원으로 되는 기억 어드레스 또는 영역의 독출 개시 위치를 지정하는 어드레스(선두 어드레스)이다. 이와 같이해서 제어기(10)는 독출 인에이블 제어신호를 반복해서 액티브(L레벨)로 하여, 플래시 메모리의 출력 포트로부터 1 바이트씩 데이터를 버스를 통해 취입하는 것으로, 독출한 어드레스로 지정된 플래시 메모리내의 소망의 기억 영역으로부터 한 블럭의 데이터를 독출한다.
단, 종래의 시스템에서는 전체의 플래시 메모리FM0∼FMn에 대해서 공통인 1 개의 독출(출력) 인에이블 제어신호(제어선)XFRE-가 사용되는 것에 대해, 본 실시예의 시스템에서는 개개의 플래시 메모리FM1에 대해서 개별적으로 할당된 복수의 독출(출력) 인에이블 제어 신호(제어선)XFRE0-∼XFREn-이 사용되고 있는 점에서 상이한 것이다.
다음에, 본 실시예의 플래시 디스크 시스템에 있어서, 제어기(10)가 어드레스 변환 테이블 및 비어있는 블럭 테이블의 초기화를 위해 전체의 플래시메모리FM0∼FMn의 동일한 기억 어드레스(용장부)로부터 데이터를 일제히 독출할 때의 동작을 설명한다.
본 실시예의 플래시 디스크 시스템에서는 전원 인가 직후 또는 리세트 해제직후에, 제어기(10)내에서 어드레스 변환 테이블 및 비어있는 블럭 테이블이 초기화된다. 이들의 테이블의 초기화를 위해 제어기(10)는 전체의 플래시 메모리FM0∼FMn내의 각 블럭BL0∼BL511의 선두 페이지PG0의 용장부에 축적 또는 보존되어 있는 데이터(그 중에 「변환 테이블 어드레스」의 필드가 있다)를 독출한다.
이를 위해, 최초에 전체 플래시 메모리FM0∼FMn의 각각의 제 1 블럭BL0의 선두 페이지PG0의 용장부의 데이터를 순차 독출하고, 다음에 전체 플래시 메모리FM0∼FMn의 각각의 제 2 블럭BL1의 선두 페이지PG0의 용장부의 데이터를 순차 독출하고, 다음에 전체의 플래시 메모리FM0∼FMn의 각각의 제 3 블럭BL2의 선두 페이지PG0의 용장부의 데이터를 순차 독출한다. 이하, 후속하는 블럭BL3, BL4, ···에 대해서도 마찬가지의 독출 동작을 반복한다.
여기서, 도 7의 타이밍챠트를 참조해, 본 시스템에서 제어기(10)가 플래시 메모리FM0∼FMn내의 임의의 제 (j+1)블럭BLj의 선두 페이지PG0의 용장부로부터 일제히 데이터를 독출할 때의 동작을 설명한다.
이 일제히 독출되는 독출 사이클TSR의 전 기간R을 통해서 제어기(10)는 전체의 칩 인에이블 제어신호XFCE0-∼XFCEn-을 액티브(L레벨)로 보존하고, 전체의 플래시 메모리FM0∼FMn을 칩 인에이블 상태로 유지시킨다.
먼저, 제어기(10)는 커맨드 래치 인에이블 제어신호FCLE를 액티브(H 레벨)로 해서, 버스FD0∼7상에 소정 코드의 독출 커맨드CMR을 송출하는 동시에, 기록 인에이블 제어신호XFWE-를 액티브(L 레벨)로 한다. 이 제어기(10)로부터의 커맨드 기록 조작에 따라 동작해서, 전체의 플래시 메모리FM0∼FMn가 버스FD0∼7상에서 상기 독출되는 커맨드CMR을 동시에 취입하고, 각각의 커맨드 레지스터(50)에 래치한다.
다음에, 제어기(10)는 어드레스 래치 인에이블 제어신호FALE를 액티브(H 레벨)로 하여, 버스FD0∼7상으로 소정 비트 수의 독출 어드레스ADR을 3회로 분할해서 송출하고, 그 때마다 기록 인에이블 제어신호XFWE-를 액티브 상태(L 레벨)로 한다. 이 독출 어드레스ADR은 독출원으로 되는 기억 어드레스 또는 영역의 독출 개시 위치를 지정하는 어드레스(선두 어드레스), 즉, 각 플래시 메모리FM0∼FMn내의 제 (j+1)블럭BLj 의 선두 페이지PG0의 용장부의 선두 위치를 지정하는 어드레스이다.
이 제어기(10)로부터의 어드레스 기록 조작에 따라 동작해서, 전체의 플래시 메모리FM0∼FMn이 버스FD0∼7상에서 상기 독출 어드레스ADR을 동시에 취입하고, 일제히 메모리내의 독출 동작을 개시한다.
즉, 전체의 플래시 메모리FM0∼FMn이 입력된 상기 독출 커맨드CMR 및 독출 어드레스ADR을 디코eld하며, 독출 어드레스ADR로 지정되는 플래시 메모리 어레이(40)내의 기억 영역(페이지 용장부)에서 16 바이트 분량의 데이터DATA0R-DATAnR 을 독출하고, 독출된 데이터DATA0R-DATAnR 을 I/O 버퍼(46)로 전송(설정)한다. 이 메모리내의 독출 동작에는 일정의 시간tRB를 필요로 하므로 각각의 플래시 메모리FM0∼FMn은 이 처리 시간tRB동안 비지 신호XFBSY를 액티브(L 레벨)로 유지시킨다.
전체의 플래시 메모리FM0∼FMn 내의 독출 동작이 거의 동시에 종료해서 비지 상태가 일제히 해제되면(XFBSY-가 H 레벨로 복귀되면), 제어기(10)는 각각의 플래시 메모리FM0∼FMn의 I/O 버퍼(46)에 설정되어 있는 독출 데이터DATA0R-DATAnR의 취입 또는 회수(回收)가 개시된다.
이 독출 데이터의 회수는, 예를 들면, 다음과 같이 수행된다. 우선, 제 1 플래시 메모리 FM0에 할당되어 있는 독출(출력) 인에이블 제어 신호 XFRE0-만을 일정 주기로 반복(16 회)해서 액티브(L 레벨)로 함으로써, 제 1 플래시 메모리 FM0의 I/O 버퍼(46)로부터 1 바이트씩 (합계 16 바이트의) 독출 데이터 DATA 0R을 버스 FD0∼7을 통해 취입한다.
다음에, 제 2 플래시 메모리 FM1에 대한 독출(출력) 인에이블 제어 신호 XFRE1-만을 일정 주기로 반복(16 회)해서 액티브(L 레벨)로 함으로써, 제 2 플래시 메모리 FM1의 I/O 버퍼(46)로부터 1 바이트씩(합계 16 바이트의) 독출 데이터 DATA 1R을 버스 FD0∼7을 통해 취입한다.
후속의 플래시 메모리 FM2, FM3,...에 대해서도 상기와 유사한 조작을 반복하고, 최후에 제 (n+1) 플래시 메모리 FMn에 대한 독출(출력) 인에이블 제어 신호 XFREn-만을 일정 주기로 반복(16 회)해서 액티브(L 레벨)로 함으로써, 제 2 플래시 메모리 FMn의 I/O 버퍼(46)로부터 1 바이트씩 (합계 16 바이트의) 독출 데이터 DATA nR을 버스 FD0∼7을 통해 취입한다. 또한, 제어기(10)에 플래시 메모리 FM0∼FMn의 독출 데이터 DATA 0R-DATA nR이 취입되는 순서는 임의로 설정할 수 있다.
상기와 같이 해서, 1회의 독출 사이클 TSR에서, 모든 플래시 메모리 FM0∼FMn내의 임의의 제 (j+1) 블럭 BLJ의 선두 페이지 PG0의 용장부로부터 일제히 데이터를 독출할 수 있다.
어드레스 변환 테이블 및 비어있는 블럭 테이블의 초기화에 있어서는, 독출 어드레스 ADW를 순차적으로 갱신하여 상기한 바와 같은 독출 사이클 TSR을 소정 회수(1 메모리내의 블럭 총수와 동일한 회수 : 이 예에서는 512회) 반복하게 된다. 실제로는, 블럭내의 확인 검사를 위해, 각 블럭 BLj의 선두 페이지 PG0뿐만 아니라, 말미 페이지 PG15의 용장부의 데이터를 독출하는 것이다. 따라서, 그 경우는 상기의 독출 사이클 TSR을 2배(1024회) 반복하게 된다.
본 실시예의 플래시 디스크 시스템에서 모든 플래시 메모리 FM0∼FMn의 동일 기억 어드레스 또는 영역으로부터 데이터를 일제히 독출하기 위한 사이클 TSR은, (1) 모든 메모리 FM0∼FMn에 대한 독출 커맨드의 기록(공급), (2) 모든 메모리 FM0∼FMn에 대한 독출 어드레스의 기록(공급), (3) 모든 메모리 FM0∼FMn에 있서 데이터의 독출, 및 (4) -0 ∼ (4) -n 각각의 메모리 FM0∼FMn으로부터 제어기(10)로의 순차 개별적(택일적)인 독출 데이터의 전송(취입)의 4개 단계로 이루어지고, 이들 단계중 제 1, 제 2 및 제 3 단계(1), (2), (3)은 모든 메모리 FM0∼FMn에 대해 공통(동시)으로 수행된다.
따라서, 이 공통(동시) 단계 (1), (2) 및 (3)의 소요 시간을 TF로 하면, 종래의 시스템과 비교해서, 거의 TFXn의 시간이 단축(절감)되게 된다. 여기에서, n은 메모리 FM0∼FMn의 총수 (n+1)로부터 1을 감한 수이다. 이 공통 단계의 소요시간 TF(특히 단계(3)의 소요 시간)은 비교적 길고, 일반적인 플래시 디스크 시스템에서는 1개의 제어기에 10개(칩) 정도의 플래시 메모리가 접속되므로, 본 실시예에서 시간 단축 효과가 극대화된다. 게다가, 어드레스 변환 테이블 및 비어있는 블럭 테이블의 초기화에서는, 상기한 바와 같이 독출 사이클 TSR이 다수회(512회 혹은 1024회) 반복된다. 따라서, 초기화의 소요 시간이 큰 폭으로 단축되고, 시스템 성능이 크게 향상된다.
상기 실시예에서 플래시 디스크 시스템의 구성, 특히 플래시 메모리 FM1 내부의 구성 및 제어기(10) 내부의 구성은 일예이고, 본 발명은 1개의 제어기 또는 CPU에서 공통의 버스를 통해 복수의 플래시 메모리를 접속하는 임의의 메모리 시스템에 적용가능하다. 또한, 플래시 메모리와 동등한 독출 동작을 수행하는 다른 반도체 메모리라도 가능하다.
이상 설명한 바와 같이, 본 발명의 메모리 독출 방법 또는 메모리 제어 장치에 의하면, 제어기가 복수의 반도체 메모리의 동일 기억 어드레스 또는 영역에 각각 축적되어 있는 데이터를 공통의 버스를 통해 독출하는 때에, 독출용 커맨드 및 독출 어드레스의 공급 내지 메모리내의 데이터 독출의 동작을 모든 메모리에 대해 공통으로(동시에) 수행하고, 독출 데이터의 취입만을 각 메모리에서 순차 개별적으로 수행하도록 하였으므로, 전체 독출 시간을 큰 폭으로 단축하고, 메모리 시스템의 특성을 크게 향상시킬 수 있다.
다음에, 도 9의 타이밍도를 참조하면, 본 실시예의 플래시 디스크 시스템에 있어서 임의의 플래시 메모리(예를 들면 FM1)에서 1페이지 만큼의 데이터를 기록하는 기록 사이클을 실행하고 있는 가장 중간에, 다른 플래시 메모리(예를 들면 FM0)보다 1페이지 만큼의 데이터를 독출하는 독출 사이클을 동시적 또는 병렬적으로 실행하는 동작에 대해 설명한다.
제어기(10)는 플래시 메모리 FM1에서 기록 사이클 TW의 전기간을 통해 래치 인에이블 제어 신호 XFCEI-를 액티브(L 레벨)로 유지하고, 플래시 메모리 FM1을 칩 인에이블(동작 가능) 상태로 유지한다.
우선, 제어기(10)는 커맨드 래치 인에이블 제어 신호 FCLE를 액티브(H 레벨)로 해서, 버스 FD0∼7상에 소정 코드의 데이터 입력 커맨드 CMS를 송출하는 것과 동시에, 기록 인에이블 제어 신호 XFWE-를 액티브(L 레벨)로 한다. 이 제어기(10)로부터의 커맨드 기록 조작에 따라 동작하여, 플래시 메모리 FM1은 버스 FD0∼7상의 해당 데이터 입력 커맨드 CMS를 취입하여 자기 커맨드 레지스터(50)에 래치한다.
다음에, 제어기(10)는 어드레스 래치 인에이블 제어 신호 FALE를 액티브(H 레벨)로 하여, 버스 FD0∼7상에 소정 비트 수의 기록 어드레스 ADW를 1회 또는 복수회(본 예에서는 3회)로 분할하여 송출하고, 그 때마다 기록 인에이블 제어 신호 XFWE를 액티브 상태(L 레벨)로 한다. 이 제어기(10)로부터의 어드레스 기록 조작에 응답하여, 플래시 메모리 FM1은 버스 FD0∼7상의 해당 기록 어드레스 ADW를 취입해서 자기 어드레스 버퍼(52, 54)에 래치한다. 이 기록 어드레스 ADW는 플래시 메모리 FM1내에서 기록의 선두가 되는 페이지를 지정하고 있다.
다음에, 제어기(10)는 커맨드 래치 인에이블 제어 신호 FCLE 및 어드레스 래치 인에이블 제어 신호 FALE를 각각 비액티브(L 레벨)로 한 상태에서, 버스 FD0∼7상에 1페이지 만큼(528 바이트)의 기록 데이터 DATAW를 1바이트씩 송출하고, 그 때마다 기록 인에이블 제어 신호 XFWE-를 액티브 상태(L 레벨)로 한다. 플래시 메모리 FM1은 기록 인에이블 제어 신호 XFWE-에 응답하여 버스 FD0∼7상의 데이터 DATAW를 1바이트씩 취입하여 I/O 버퍼(46)에 저장한다.
다음에, 제어기(10)는 다시 커맨드 래치 인에이블 제어 신호 FCLE를 액티브(H 레벨)로 해서, 버스 FD0∼7상에 소정 코드의 프로그램 커맨드 CMP를 송출하는 것과 동시에, 기록 인에이블 제어 신호 XFWE-를 액티브(L 레벨)로 한다. 이 제어기(10)로부터의 커맨드 기록 조작에 따라 동작하여, 플래시 메모리 FM1은 버스 FD0∼7상의 해당 프로그램 커맨드 CMP를 취입해서 커맨드 레지스터(50)에 래치하며, 프로그래밍 동작을 개시한다.
즉, 플래시 메모리 FM1은 해당 프로그램 커맨드 CMP를 디코딩하고, 해당 기록 어드레스 ADW에 의해 지정되는 플래시 메모리 어레이(40)내의 기억 영역(페이지)에, I/O 버퍼(46)에 저장되어 있는 1페이지 만큼(528 바이트)의 데이터 DATAW를 기록한다. 이 메모리내의 데이터 기록 동작에는, 예를 들면, 300㎲ 정도의 일정 시간 tWB을 요한다. 플래시 메모리 FM1은 이 데이터 기록 동작을 개시하면, 비지 신호 XFBSY1-을 액티브(L 레벨)로 하고, 이후 데이터 기록 동작이 종료할 때까지(일정 시간 tWB가 경과할 때까지) 이 비지 상태를 유지한다.
플래시 메모리 FM1이 비지 신호 XFBSY1-를 액티브(L 레벨)로 하면, 이에 따라 동작하여 제어기(10)는 플래시 메모리 FM0에서 독출 사이클 TR을 개시한다.이 독출 사이클 TR을 위해, 제어기(10)는 칩 인에이블 제어 신호 XFCE0-을 액티브(L 레벨로)로 유지하고, 플래시 메모리 FM0을 칩 인에이블(동작 가능) 상태로 유지한다.
우선, 제어기(10)는 커맨드 래치 인에이블 제어 신호 FCLE를 액티브(H 레벨)로 해서, 버스 FD0∼7상에 소정 코드의 데이터 독출 커맨드 CMR을 송출하는 것과 동시에, 기록 인에이블 제어 신호 XFWE-를 액티브(L 레벨)로 한다. 이 제어기(10)로부터의 커맨드 기록 조작에 따라 동작하여, 플래시 메모리 FM0은 버스 FD0∼7상으로부터 해당 커맨드 CMR을 취입해서 자기 커맨드 레지스터(50)에 래치한다.
다음에, 제어기(10)는 어드레스 래치 인에이블 제어 신호 FALE를 액티브(H 레벨)로 해서, 버스 FD0∼7상에 소정 비트 수의 독출 어드레스 ADR을 1회 또는 복수회(본 예에서는 3회)로 분할하여 송출하고, 그때마다 기록 인에이블 제어 신호 XFWE-를 액티브(L 레벨)로 한다. 이 독출 어드레스 ADR은 플래시 메모리 FM0내에서 독출원으로 되는 페이지를 지정하고 있다.
이 제어기(10)로부터의 어드레스 기록 조작에 따라 동작하여, 플래시 메모리 FM0은 버스 FD0∼7상의 해당 독출 어드레스 ADR을 취입해서 메모리내의 데이터 독출 동작을 개시한다.
즉, 플래시 메모리 FM0은 입력된 독출 커맨드 CMR 및 독출 어드레스 ADR을 디코eld하고, 독출 어드레스 ADR에 의해 지정된 플래시 메모리 어레이(40)내의 기억 영역(페이지)으로부터 1페이지 만큼(528바이트)의 데이터 DATAR을 독출하고, 독출한 데이터 DATAR을 I/O 버퍼(40)에 전송(세트)한다. 이 메모리내의 독출 동작에는, 예를 들면 25μs 정도의 일정 시간 tRB를 요하므로, 플래시 메모리 FM0은 이 처리 시간 tRB 동안 비지 신호 XFBSY0-을 액티브(L 레벨)로 유지한다.
플래시 메모리 FM0내의 독출 동작이 종료하여 비지 상태가 해제되면(XFBSY0-이 H 레벨로 복귀하면), 제어기(10)는 플래시 메모리 FM0의 I/O 버퍼(46)에 세트되어 있는 독출 데이터 DATAR의 취입을 개시한다. 즉, 제어기(10)는 독출(출력) 인에이블 제어 신호 XFRE0-을 일정 주기로 반복(528회)해서 액티브(L 레벨)로 함으로써, 플래시 메모리 FM0의 I/O 버퍼(46)로부터 1페이지 만큼(528바이트)의 독출 데이터 DATAR을 1바이트씩 버스 FD0∼7을 통해 취입한다.
상기한 바와 같은 플래시 메모리 FM0를 위한 독출 사이클 TR 동안, 플래시 메모리 FM1는 메모리내에서 데이터 기록 동작의 가장 중간(비지 상태)에 있고, 외부로부터의 신호를 수신하지 않는다. 이 때문에, 플래시 메모리 FM1로부터 독립하여 제어기(10)와 플래시 메모리 FM0 사이에서 독출 사이클 TR을 수행할 수 있다.
또한, 그외의 플래시 메모리 FM2∼FMn은 각각 칩 인에이블 제어 신호 XFCE2-∼XFCEn-이 비액티브 상태(H 레벨)로 유지되어 있으므로, 실질적으로 버스 AD0∼7로부터 분리되어 있다. 따라서, 플래시 메모리 FM1에서 기록 사이클 TW 및 플래시 메모리 FM0에서의 독출 사이클 TR에서 하등의 영향을 주지 않는다.
플래시 메모리 FM0에서 독출 사이클 TR이 종료하고, 그리고 플래시 메모리 FM1에서 데이터 기록의 비지 시간 tWB이 종료하면, 비지 신호 XFBSY1-이 비액티브 상태(H 레벨)로 복귀한 것을 확인해서 제어기(10)는 금회 플래시 메모리 FM1에서데이터 기록(프로그래밍)이 양호하게 수행되었는지의 검사를 수행한다.
이 프로그래밍 결과의 불량 검사를 수행하기 위해, 제어기(10)는 커맨드 래치 인에이블 제어 신호 FCLE를 액티브(H 레벨)로 하여, 버스 FD0∼7상에 소정 코드의 상태 레지스터 독취 커맨드 CMC를 송출함과 동시에, 기록 인에이블 제어신호 XFWE-를 액티브(L 레벨)로 한다.
이 제어기(10)로부터의 커맨드 기록 조작에 응답해서 플래시 메모리 FM1은 버스 FD0∼7상으로부터 해당 상태 레지스터 독취 커맨드 CMC를 취입함으로써, 이 커맨드 CMC를 디코딩하여 이 커맨드 CMC에 응답한다. 즉, 플래시 메모리 FM1내의 커맨드 레지스터(50)내의 상태 레지스터에 세트되어 있는 기록 상태 비트 I/O0을 I/O 버퍼(46)를 통해 버스 FD0∼7상으로 송출한다. 제어기(10)는 메모리 FM1으로부터의 기록 상태 비트 I/O0를 수신하고, 그 비트 내용을 기초로 하여 금회 기록 사이클 TW에서 데이터 기록(프로그래밍)이 순조롭게 수행되었는지의 여부를 판정한다.
상기한 바와 같이, 본 실시예의 플래시 디스크 시스템에서는, 제어기(10)가 임의의 어떤 플래시 메모리(예를 들면 FM1)에 대해 1페이지 만큼의 데이터 DATAW를 기록 동작을 실행하면서, 그 기록 사이클 TW에서 플래시 메모리 FM1이 메모리내의 데이터 기록 동작을 위해 비지 상태로 되어 있는 기간 tWB를 이용하여, 이 기간 tWB중에 임의의 다른 플래시 메모리(예를 들면 FM0)에서 독출 액세스를 수행하고, 해당 플래시 메모리 FM0으로부터 1페이지 만큼의 데이터 DATAR를 독출하도록 되어 있다.
또한, 한 번에 1페이지(528 바이트)보다도 작은 데이터를 기록 또는 독출하는 경우에도, 각 메모리 FM1내의 기록 비지 시간 tWB 또는 독출 비지 시간 tRB는 1페이지인 때와 거의 동일하다. 차이점은 제어기(10)와 각 플래시 메모리 FM1 사이에서 기록 데이터 또는 독출 데이터를 직렬 전송하는 때의 소요 시간이 데이터 양에 비례해서 단축된다는 점이다. 이 직렬 전송의 주기는, 예를 들면 27ns/1바이트 정도이므로, 데이터 양 또는 직렬 전송 시간 사이의 차이는 전체 기록 사이클 TW 또는 독출 사이클 TR에서 그 정도의 영향을 가하지 않는다.
다음에, 도 10∼도 12를 참조하면 본 실시예의 플래시 디스크 시스템에서 데이터를 재기록(rewrite)하는 때의 처리에 대해 설명한다. 데이터 재기록 처리 중에, 상기한 바와 같은 임의의 어떤 플래시 메모리 FM1에서의 데이터 기록과 임의의 다른 플래시 메모리 FMe에서의 데이터 독출과 병렬 처리를 수행할 수 있다.
본 실시예의 플래시 디스크 시스템에서는, 전원 투입 직후 또는 리세트 해제 직후에, 제어기(10)의 플래시 테이블 제어부(28)가 각 플래시 메모리 FM0∼FMn내의 전체 블럭 BL0∼BL511의 선두 페이지 PG0의 용장부에 저장되어 있는 데이터를 독취하고, 그 용장 데이터에 포함되어 있는 「변환 테이블 어드레스」를 기초로 각 플래시 메모리 FM0∼FMn 마다에 어드레스 변환 테이블 및 비어있는 블럭 테이블을 초기화한다.
여기에서, 어드레스 변환 데이블은 각 플래시 메모리 FM0∼FMn 마다에 현재 데이터가 기록되어 있는 블럭의 물리 어드레스와 그 데이터의 기록시에 호스트 컴퓨터(14)가 지정할 수 있는 LBA(논리 블럭 어드레스) 모드의 논리 어드레스와 대응하는 테이블이다. 또한, 비어있는 블럭 테이블은 각 플래시 메모리 FM0∼FMn 마다에 현재 데이터가 전연 기록되어 있지 않은 1개 또는 복수의 비어있는 블럭 BL을 등록해 놓은 테이블이고, 이 비어있는 블럭중에서 가장 먼저 사용되어야 하는 것을 지정하는 논리 블럭 어드레스 또는 포인터를 항상 세트하고 있다.
그런데, 도 10에서 본 플래시 디스크 시스템에 데이터를 기록하는 때, 호스트 컴퓨터(14)는 CHS(실린더 헤드 섹터) 모드의 논리 어드레스 [AD] CHS를 제어기(10)에 제공한다. 이 호스트 컴퓨터(14)로부터의 논리 어드레스 [AD] CHS는 제어기(10)내의 어드레스 변환부(24)에서 LBA(논리 블럭 어드레스) 모드의 논리 어드레스 [AD] LBA로 변환된다. 그리고, 이 LBA 모드의 논리 어드레스 [AD] LBA는 제어기(10)내에서 플래시 테이블 제어부(28)에 전송한다.
플래시 테이블 제어부(28)는 이 논리 어드레스 [AD] LBA를 특정한 1개의 블럭 BLi을 지정하는 상위 어드레tm부, 즉, 논리 블럭 어드레스 [AD] LBA, BLj와, 특정한 1개의 페이지 PG1을 지정하는 하위 어드레스부, 즉, 논리 어드레스 [AD] LBA, PGk로 분할한다. 그리고 어드레스 변환 테이블(28A)을 참조 또는 검색하여, 이 논리 블럭 어드레스 [AD] LBA, BLj에 대응하는 물리 블럭 어드레스 <AD> PH, BLj가 테이블(28A)에 등록되어 있으면, 이 물리 어드레스 <AD> PH, BLj를 발행(출력)한다.
논리 블럭 어드레스 [AD] LBA, BLj는 LBA(논리 블럭 어드레스) 모드의 논리 어드레스이므로, 이 하위 어드레스부, 즉, 논리 페이지 어드레스 [AD] LBA, PGk는 그대로 물리 어드레스의 페이지 어드레스로서도 사용할 수 있다. 따라서, 이 논리 페이지 어드레스 [AD] LBA, PGk와 해당 물리 블럭 어드레스 <AD> PH, BLj를 합성하여, 금회 데이터 기록 대상으로 되는 페이지를 지정하는 물리 어드레스 <AD> PH가 얻어진다.
그러나, 이 물리 어드레스 <AD> PH로 지정되는 블럭 BLj내의 페이지 PGk에는 어떠한 데이터가 현재 기록되어 있고, 그위에 새로운 데이터를 중복 기록하는 것은 플래시 메모리의 성질때문에 불가능하다. 새로운 데이터는 다른 비어있는 블럭에 기록되어야 한다. 이에 따라, 해당 블럭 BLj내의 다른 페이지(PG0∼PGk-1, PGk+1∼PG15)에 저장되어 있는 데이터를 새로운 데이터와 동일한 비어있는 블럭에 모조리 이동하여 교체되지 않으면 안된다. 통상은 인접 플래시 메모리에 존재하는 비어있는 블럭이 이 데이터 재기록의 이동 목적지(신규 블럭)에 채워진다.
그런데, 플래시 테이블 제어부(28)는 금회 데이터 기록에 의해 지정된 플래시 메모리 FM0내의 물리 블럭 어드레스 <AD>PH, BLj를 발행하는 동시에, 인접 플래시 메모리 FM1에 따른 비어있는 블럭 테이블(28B)을 검색하여, 이 플래시 메모리 FM1내의 1개의 비어있는 블럭 BLh를 지정하는 물리 블럭 어드레스 <AD>PH, BLh를 발행한다. 이 물리 블럭 어드레스 <AD>PH, BLh와 상기 하위 어드레스부(논리 페이지 어드레스) [AD] LBA, PGk를 합성함으로써, 플래시 메모리 FM1의 비어있는 블럭 BLh내에서 재기록 대상으로 되는 페이지 PGK를 지정하는 물리 어드레스 <AD> PH'가 얻어진다.
상기한 바와 같이 해서, 데이터 기록을 위해서 호스트 컴퓨터(14)에 의해 지정된 논리 어드레스가 할당되어 있는 플래시 메모리 FM0내의 블럭 BLj가 나누어 출력되고, 데이터 재기록을 위한 플래시 메모리 FM0내의 비어있는 블럭 BLh가 결정된다.
다음에, 도 11에 도시된 바와 같이, 제어기(10)는 플래시 메모리 FM0내의 블럭 BLj의 선두 페이지 PG0으로부터 순차적으로 1페이지씩(단, 재기록 대상 페이지 PGk는 제외한다) 데이터를 독출하고, 독출된 데이터를 플래시 메모리 FM1내의 비어있는 블럭 BLh의 각 대응하는 페이지에 기록한다고 하는 데이터 이동 교체 조작을 실행한다. 금회 재기록 대상의 페이지 PGk에 대해서는, 플래시 메모리 FM0내의 블럭 BLj의 해당 페이지 PGk로부터 구 데이터를 독출하지는 않고, 호스트 컴퓨터(14)로부터의 기록 데이터(새로운 데이터)를 플래시 메모리 FM1내의 비어있는 블럭 BLh의 해당 페이지 PGk에 기록한다.
이와 같은 일련의 데이터 이동 교체 및 신규 데이터 기록 동작은, 제어기(10)에서 커맨드 처리부(26)의 제어하에 플래시 커맨드 발생부(30) 및 플래시 인터페이스부(34)에 의해 수행된다. 플래시 인터페이스부(34)에는, 이동원(구) 블럭 BLj로부터 독출된 1페이지 만큼의 데이터가 이동 목적지(신규) 블럭 BLj에 기록될 때까지 일단 유지하기 위한 버퍼(34A)와, 호스트 컴퓨터(14)로부터 전송된 기록 데이터(새로운 데이터)가 신규 블럭 BLh에 기록될 때까지 일시적으로 유지하기 위한 버퍼(34B)가 마련되어 있다.
도 12에서, 본 실시예의 플래시 디스크 시스템에서 데이터 재기록 처리의 타이밍도를 도시한다.
우선, 플래시 메모리 FM0에서 블럭 BLj의 선두 페이지 PG0으로부터 1페이지만큼의 데이터를 독출하는 독출 사이클 TR이 실행된다. 이 독출 사이클 TR은 도 9에 도시된 플래시 메모리 FM0에서 독출 사이클 TR과 동일한 시퀀스에서, 거의 동일한 시간이 걸려 수행된다. 이 독출 사이클 TR에 의해 플래시 메모리 FM0의 블럭 BLj의 선두 페이지 PG0로부터 독출된 1페이지 만큼의 데이터 DATAPG0은 플래시 인터페이스부(34)내의 버퍼(34A)에 일단 유지된다.
플래시 메모리 FM0에서 상기한 독출 사이클 TR이 종료하면, 직접적으로 해당 버퍼(34A)에 유지되어 있는(이전의 독출 사이클 TR에 의해 플래시 메모리 FM0의 블럭 BLj의 선두 페이지 PG0로부터 독출된) 1페이지 만큼의 데이터 DATAPG0을 플래시 메모리 FM1에서 비어있는 블럭 BLh의 선두 페이지 PG0에 기록하는 기록 사이클 TW가 개시된다. 이 기록 사이클 TW는 도 9에 도시된 플래시 메모리 FM1에서 기록 사이클 TW와 동일한 시퀀스이고, 거의 동일한 시간이 걸려 수행된다.
본 실시예에서는, 이 플래시 메모리 FM1에서 기록 사이클 TW와 동시적 또는 병렬적으로, 도 9에 도시된 타이밍과 거의 동일한 방법으로, 플래시 메모리 FM0에서 블럭 BLj의 2번째 페이지 PG1로부터 1페이지 만큼의 데이터 DATAPG1을 독출하는 독출 사이클 TR이 실행된다. 이 독출 사이클 TR(해당 블럭 BLi의 페이지 PG1로부터 독출된) 1페이지 만큼의 데이터 DATAPG1는 여전히 플래시 인터페이스부(34)내의 버퍼(34A)에 일단 유지된다.
이 결과, 플래시 메모리 FM1내의 비어있는 블럭 BLh의 선두 페이지 PG0에 1페이지 만큼의 데이터 DATAPG0을 기록하는 기록 사이클 TW가 종료한 시점에서, 버퍼(34A)에는 해당 비어있는 블럭 BLh의 다음(2번째) 페이지 PG1에 기록되어야 하는데이터 DATAPG1이 준비되어 있게 된다. 따라서, 플래시 메모리 FM1에서는 직접적으로 버퍼(34A)에 유지되어 있는 (이전의 독출 사이클 TR에서 플래시 메모리 FM0의 블럭 BLj의 2번째 페이지 PG1으로부터 독출된) 1페이지 만큼의 데이터 DATAPG1을 비어있는 블럭 BLh의 2번째 페이지 PG1에 기록하는 기록 사이클 TW을 개시할 수 있다.
플래시 메모리 FM1에서 기록 사이클 TW와 동시적 또는 병렬적으로, 플래시 메모리 FM0에서 블럭 BL1의 3번째 페이지 PG2로부터 1페이지 만큼의 데이터 DATAPG2를 독출하는 독출 사이클 TR이 실행된다.
이하, 후속 페이지 PG2, PG3, ...에 대해 상기와 동일한 동작이 반복된다. 단, 플래시 메모리 FM1에서 비어있는 블럭 BLk의 k번째 페이지 PGk-1에 1페이지 만큼의 데이터 DATAPGK-1을 기록하는 기록 사이클 TW가 실행되는 기간 중, 플래시 메모리 FM0에서 블럭 BLj의 재기록 대상인 (k+1)번째 페이지 PGk로부터 데이터 DATAPGk를 독출하는 독출 사이클 TR은 수행되지 않는다. 이러한 구 데이터 DATAPGk에 치환되는 호스트 컴퓨터(14)로부터의 새로운 데이터 DATAPGk가 제어기(10)내의 버퍼(34B)에서 준비되어 있기 때문이다.
또한, 플래시 메모리 FM1에서 비어있는 블럭 BLh의 최후(16번째) 페이지 PG15에 1페이지 만큼의 데이터 DATAPG15를 기록하는 기록 사이클 TW가 실행되는 때도, 플래시 메모리 FM0에서는 이미 이동원의 모든 페이지로부터 모든 데이터가 이미 독출되어 있으므로, 독출 사이클 TR은 불필요하다.
또한, 상기 데이터 재기록 처리의 종료 후에, 사후 처리로서 금회 재기록에의해 데이터 이동원(구) 블럭으로 된 플래시 메모리 FM0의 블럭 BLj내의 데이터가 모두 일괄적으로 소거된다. 이 블럭 소거를 위해, 제어기(10)는 소정의 블럭 소거용 커맨드와 해당 블럭 BLj를 지정하는 어드레스를 소정의 타이밍으로 플래시 메모리 FM0에 인가한다. 그렇게 하면, 이에 응답하여 플래시 메모리 FM0내에서 블럭 BLj에 대한 블럭 소거 동작이 실행된다.
또한, 상기 데이터 재기록에 따른 사후 처리로서, 플래시 테이블 제어부(28)내에서 어드레스 변환 테이블(28A) 및 비어있는 블럭 테이블(28B)이 각각 소정의 조작에 의해 갱신된다.
어드레스 변환 테이블(28A)의 갱신에서는, 금회 기록에 의해 지정된 논리 블럭 어드레스 [AD] LBA, BLj에 대응하는 물리 블럭 어드레스로서, 플래시 메모리 FM0내의 블럭 BLj를 지시하는 물리 어드레스가 테이블(28A)로부터 소거되고, 대신에 플래시 메모리 FM1내의 블럭 BLh를 지시하는 물리 어드레스가 테이블(28A)에 등록된다.
비어있는 블럭 테이블(28B)에서는 현재 데이터가 입력되어 있지 않은 비어있는 블럭으로서, 플래시 메모리 FM1내의 블럭 BLh를 지시하는 물리 어드레스가 테이블(28B)로부터 소거되고, 대신에 플래시 메모리 FM0내의 블럭 BLj를 지시하는 물리 어드레스가 테이블(28B)에 등록된다.
이와 같이, 본 실시예의 데이터 재기록에서는, 도 12에 도시된 바와 같이, 플래시 메모리 FM1에서 기록 사이클 TW의 사이에 플래시 메모리 FM0에서 독출 사이클 TR이 마스크되는 형태로 동시적 또는 병렬적으로 실행된다. 이 때문에, 전체기록 처리 시간은 기록 사이클 TW에서 그 반복 회수(1블럭내의 페이지 PG0∼PG15의 총수에 해당하는 수 : 16회)를 곱한 값(16TW)에 1회째의 독출 사이클 TR을 부가한 시간(16 TW+TR)으로 완료하게 된다.
여기서, 종래의 시스템으로 유사한 데이터 재기록 처리를 수행하면, 도 13에 도시된 바와 같이, 이동원의 플래시 메모리 FM0의 블럭 BLj로부터 1페이지 만큼의 데이터를 독출하는 독출 사이클 TR과, 이 독출된 1페이지 만큼의 데이터를 이동원의 플래시 메모리 FM1의 비어있는 블럭 BLh로 기록하는 기록 사이클 TW를 교번적으로(시간적으로 직렬로) 반복하게 된다. 우선, 재기록의 대상인 플래시 메모리 FM0내의 블럭 BLj의 페이지 PGk로부터 1페이지 만큼의 구 데이터를 독출하는 독출 사이클 TR은 불필요하다. 따라서, 전체 처리 시간은 16TW+15TR로 된다.
이와 같이, 본 실시예에 따르면, 데이터 재기록 처리에서, 종래와 비교해서 거의 TR에 대응하는 시간을 단축(절약)할 수 있다. 이에 따라, 호스트 컴퓨터(14)로부터 보았을때 데이터 기록 시간도 큰 폭으로 단축되고, 플래시 디스크 시스템의 성능도 크게 향상된다.
상기한 실시예에서는, 제어기(10)와 각 플래시 메모리 FM1-FMn 사이에 개별적 또는 독립적인 독출(출력) 인에이블 XFRE0∼XFREn을 제공하고 있으므로, 제어기(10)는 임의의 플래시 메모리 FM1로부터 수시로(다른 플래시 메모리의 상태에 좌우되지 않고) 데이터를 취입하도록 되어 있다.
이 때문에, 상기한 예에서는 플래시 메모리 FM0에 독출 커맨드 CMR과 어드레스 ADR이 공급된 후이면, 예를 들어, 플래시 메모리 FM0에서 독출 사이클 TR이 종료하기 전에 플래시 메모리 FM1에서 기록 비지 시간 tWB가 종료했다고 해도, 제어기(10)는 기록 후의 플래시 메모리 FM1의 상태와는 무관하게 플래시 메모리 FM0로부터 독출 데이터 DATAR를 버스 FD0∼7을 통해 취입할 수 있다. 따라서, 각 플래시 메모리 FM1에서 기록 비지 시간 tWB가 비교적 짧은 경우, 혹은 독출 비지 시간 tRB가 비교적 긴 경우에도, 본 발명의 방법을 실시할 수 있다.
우선, 도 9에 도시된 바와 같이, 각 플래시 메모리에서 독출 비지 시간 tRB에 비해 기록 비지 시간 tWB가 각별하게 길고, 임의의 플래시 메모리 FM1에서 기록 비지 시간 tWB의 기간내에 다른 플래시 메모리 FMe에서 독출 사이클 TR이 확실하게 완료될 수 있는 경우에는, 제어기(10)와 각 플래시 메모리 FM0∼FMn 사이에서 1개의 공통 독출(출력) 인에이블 제어선 XFRE-으로 완료시키는 것이 가능하게 된다.
또한, 상기한 실시예에서는, 제어기(10)와 각 플래시 메모리 FM0∼FMn 사이에 개별적 또는 독립적인 비지선 XFBSY0-∼n-을 제공하고 있으므로, 제어기(10)는 개개의 플래시 메모리 FM1에서 비지 상태의 개시와 종료를 즉각 알 수 있다. 따라서, 예를 들면 상기 예(도 9)에서, 제어기(10)는 플래시 메모리 FM1이 기록 비지 상태로 되어 있는 동안(XFBSY1-이 액티브 상태로 되어 있는 동안), 그것과는 별개로 플래시 메모리 FM0에서 독출 비지 시간 tRB가 종료한 것을 비지 신호 XFBSY0-을 통해 즉각 알 수 있고, 직접적으로 플래시 메모리 FM0으로부터의 독출 데이터의 취입을 개시할 수 있다.
그러나, 제어기(10)는 플래시 메모리 FM0으로부터 비지 신호 XFBSY0-을 수신하지 않아도, 상태 레지스터 독출 커맨드 CMC를 플래시 메모리 FM0에 발행해서, 소정의 상태 비트를 취입함으로써, 메모리 FM0의 상태를 알 수 있다. 따라서, 제어기(10)와 각 플래시 메모리 FM0∼FMn 사이에 1개의 공통 비지 신호선 XFBSY-으로 완료할 수 있다.
또한, 상기 실시예에서 플래시 디스크 시스템의 구성, 특히 플래시 메모리 FM1내부의 구성 및 제어기(10)내부의 구성은 일예이고, 본 발명은 1개의 제어기 또는 컴퓨터에 공통인 버스를 통해 복수의 플래시 메모리를 접속하는 임의의 메모리 시스템에 적용가능하다.
이상 설명한 바와 같이, 본 발명의 메모리 기록/독출 방법 또는 메모리 제어 장치에 따르면, 복수의 플래시 메모리를 동일 버스상에서 접속하여 이루어지는 메모리 시스템에서, 메모리 제어 장치가 임의의 어떤 플래시 메모리에 데이터를 기록하면서 임의의 다른 플래시 메모리로부터 데이터를 독출하도록 하였으므로, 처리 시간을 단축하고, 시스템 성능을 향상시킬 수 있다.

Claims (16)

  1. 호스트 장치에 결합되는 반도체 장치의 복수의 반도체 메모리에 버스를 통해 동일한 독출용 커맨드를 동시에 제공하는 제 1 스텝과,
    제 1 스텝에 이어서 상기 버스를 통해 상기 복수의 반도체 메모리에 동일한 어드레스를 동시에 제공하는 제 2 스텝과,
    상기 제 1 및 제 2 스텝에서 각각 제공된 상기 커맨드 및 상기 어드레스에 응답하여 상기 복수의 반도체 메모리가 소정시간내에 상기 어드레스로 지정된 상기 기억 영역에서 데이터를 독출하여 각각의 출력 포트에 설정하는 제 3 스텝과,
    상기 소정 시간의 경과후에 상기 복수의 반도체 메모리의 각각의 출력 포트에 설정되어 있는 상기 독출 데이터를 상기 버스를 통해 순차 개별적으로 취입하는 제 4 스텝
    을 포함하는 호스트 장치에 결합되는 반도체 기억장치의 데이터 독출 방법.

  2. 제 1 항에 있어서,
    상기 제 3 스텝 동안 상기 복수의 반도체 메모리가 각각의 비지 상태를 알리는 신호를 출력하는 호스트 장치에 결합되는 반도체 기억장치의 데이터 독출 방법.


  3. 커맨드 래치 인에이블 제어신호를 액티브로하여, 버스에 소정 코드의 데이터 입력 커맨드를 송출하는 동시에, 기록 인에이블 제어신호를 액티브하는 스텝과,
    상기 커맨드 기록 조작에 따라 동작하여, 상기 버스상의 상기 데이터 입력 커맨드를 커맨드 레지스터에 래치하는 스텝과,
    어드레스 래치 인에이블 제어신호를 액티브로 하여, 상기 버스상에 소정 비트수의 기록 어드레스를 소정회수로 분할하여 송출하고 그 때마다 기록 인에이블 제어신호를 액티브 상태로 하는 스텝과,
    어드레스 기록 조작에 따라 동작해서, 상기 버스상의 상기 기록 어드레스를 상기 플래시 메모리내에서 기록 목적지로 되는 기억 어드레스 또는 영역의 기록 개시 위치를 지정하는 선두 어드레스로서 어드레스 버퍼에 래치하는 스텝과,
    상기 커맨드 래치 인에이블 제어신호 및 상기 어드레스 래치 인에이블 제어신호를 각각 비액티브로 한 상태에서 상기 버스상에 1 바이트 씩 기록데이터를 송출하고, 그 때마다 상기 기록 인에이블 제어 신호를 액티브 상태로 하는 스텝과,
    상기 기록 인에이블 제어신호에 따라 동작하여 상기 버스상의 데이터를 1 바이트씩 취입해서 I/O 버퍼에 저장하는 스텝과,
    다시 상기 커맨드 래치 인에이블 제어신호를 액티브로 하여, 상기 버스상에 소정 코드의 프로그램 커맨드를 송출하는 동시에, 상기 기록 인에이블 제어신호를 액티브로 하는 스텝과,
    상기 커맨드 기록 조작에 따라 동작해서, 상기 버스상의 상기 프로그램 커맨드를 커맨드 레지스터에 래치하는 스텝과,
    상기 프로그램 커맨드를 디코딩하고, 상기 기록 어드레스로 지정되는 플래시 메모리 어레이내의 기억 어드레스 또는 영역에, I/O 버퍼에 취입되어 있는 데이터를 기록하는 스텝과,
    상기 데이터 기록 동작에 필요한 일정 시간 동안, 비지 신호를 액티브로 유지하는 스텝과,
    메모리내의 기록 동작이 종료한 때에 비지 신호를 비액티브로 복귀시키고, 플래시 메모리에 대한 1회의 데이터 기록을 종료하는 스텝과,
    상기 스텝을 반복하는 스텝
    을 포함하는 호스트 장치에 결합되는 반도체 기억장치의 데이터 기록 방법.

  4. 복수의 플래시 메모리의 임의의 블럭의 선두 페이지의 용장부로부터 일제히 데이터를 독출하기 위해 상기 일제 독출 사이클의 전체 기간 동안, 전체 칩 인에이블 제어신호를 액티브로 유지하고, 전체의 플래시 메모리를 칩 인에이블 상태로 유지하는 스텝과,
    커맨드 래치 인에이블 제어신호를 액티브로 하여, 버스상으로 소정 코드의 독출 커맨드를 송출하는 동시에, 기록 인에이블 제어신호를 액티브로 하는 스텝과,
    상기 커맨드 기록 조작에 따라 동작해서, 전체 플래시 메모리에 의해 상기 버스로부터 상기 독출 커맨드를 동시에 취입하고, 각각의 커맨드 레지스터에 래치하는 스텝과,
    어드레스 래치 인에이블 제어신호를 액티브로 하여, 상기 버스상에 소정 비트 수의 독출 어드레스를 소정회수로 분할해서 독출원으로 되는 기억 어드레스 또는 영역의 독출 개시 위치를 지정하는 선두 어드레스로서 송출하고, 그 때마다 기록 인에이블 제어신호를 액티브 상태로 하는 스텝과,
    상기 어드레스 기록 조작에 따라 동작해서, 입력된 상기 독출 커맨드 및 독출 어드레스를 디코딩하며, 독출 어드레스로 지정되는 플래시 메모리 어레이내의 기억영역에서 데이터를 독출하고, 독출된 데이터를 I/O 버퍼에 전송하는 스텝과,
    메모리내의 독출 동작에 필요한 일정의 처리 시간 동안 비지 신호를 액티브로 유지하는 스텝
    을 포함하는 데이터 독출 방법.

  5. 제 4 항에 있어서,
    전체 플래시 메모리내의 독출 동작이 거의 동시에 종료해서 비지 상태가 일제히 해제되면, 각각의 플래시 메모리의 I/O 버퍼에 설정되어 있는 독출 데이터의 취입 또는 회수를 행하는 스텝을 더 포함하는 데이터 독출 방법.

  6. 제 5 항에 있어서,
    상기 독출 데이터의 회수 스텝은,
    제 1 플래시 메모리에 할당되어 있는 독출 인에이블 제어 신호만을 일정주기로 반복하여 액티브로 하는 것에 의해 제 1 플래시 메모리의 I/O 버퍼에서 1 바이트 씩 독출한 데이터를 상기 버스를 통해 취입하는 스텝과,
    상기 제 1 플래시 메모리에 연속하는 후단의 복수의 플래시 메모리에 대해서 상기 제 1 플래시 메모리와 동일한 조작을 반복하고, 최종단의 플래시 메모리에 대한 독출 인에이블 제어신호만을 일정주기로 반복하여 액티브로 하는 것에 의해 이 최종단 플래시 메모리의 I/O 버퍼에서 1 바이트씩 독출한 데이터를 상기 버스를 통해 취입하는 스텝을 포함하는
    데이터 독출 방법.

  7. 호스트 장치에 결합되는 반도체 장치의 복수의 반도체 메모리에 버스를 통해 독출용 커맨드를 동시에 제공하기 위한 커맨드 제공수단과,
    상기 복수의 반도체 메모리에 상기 버스를 통해 소망의 어드레스를 동시에 제공하기 위한 어드레스 제공수단과,
    소정의 타이밍으로 제공된 독출용 커맨드 및 어드레스에 응답하여 소정시간의 경과후에 상기 복수의 반도체 메모리의 각각의 출력 포트에 설정되어 있는 상기 독출 데이터를 상기 버스를 통해 순차 개별적으로 취입하는 데이터 취입수단과,
    상기 커맨드 제공 개시로부터 상기 독출 데이터의 취입 종료까지의 전체 독출 동작 시간을 통해 상기 복수의 반도체 메모리의 각각을 칩 인에이블 상태로 유지하는 칩 인에이블 제어수단
    을 포함하는 메모리 제어장치.

  8. 제 7 항에 있어서,
    상기 커맨드 제공수단은, 상기 버스상에 송출된 상기 독출용 커맨드를 상기 복수의 반도체 메모리에 커맨드로서 식별시키기 위한 공통의 커맨드 래치 인에이블 제어선과, 상기 버스상의 상기 독출용 커맨드를 상기 복수의 반도체 메모리에 동시에 취입시키기 위한 공통의 기록 인에이블 제어선을 포함하는 메모리 제어장치.

  9. 제 7 항에 있어서,
    상기 어드레스 제공수단은 상기 버스상에 송출된 상기 어드레스를 상기 복수의 반도체 메모리에 어드레스로서 식별시키기 위한 공통의 어드레스 래치 인에이블 제어선과, 상기 버스상의 상기 어드레스를 상기 복수의 반도체 메모리에 동시에 취입시키기 위한 공통의 기록 인에이블 제어선을 포함하는 메모리 제어장치.

  10. 제 7 항에 있어서,
    상기 데이터 취입 수단은 상기 복수의 반도체 메모리의 각각을 개별적으로 출력 인에이블 상태로 하기 위한 복수의 개별적인 출력 인에이블 제어선을 포함하는 메모리 제어장치.

  11. 각종 커맨드 및 어드레스를 출력하는 호스트 장치와,
    상기 호스트 장치에 착탈가능하게 결합되는 반도체 기억장치
    로 구성되며,
    상기 반도체 기억장치는 복수의 반도체 메모리와, 상기 반도체 메모리에 버스에 의해 접속되며, 상기 호스트 장치로부터의 커맨드 및 어드레스를 수신해서 상기 복수의 반도체 메모리의 독출/기록을 제어하는 제어부에 의해 구성되고,
    상기 제어부는 상기 버스를 통해 독출용 커맨드를 동시에 제공하기 위한 커맨드 제공수단과, 상기 복수의 반도체 메모리에 상기 버스를 통해 소망의 어드레스를 동시에 제공하기 위한 어드레스 제공수단과, 소정의 타이밍으로 제공된 독출용 커맨드 및 어드레스에 응답하여 소정시간의 경과후에 상기 복수의 반도체 메모리의 각각의 출력 포트에 설정되어 있는 상기 독출 데이터를 상기 버스를 통해 순차 개별적으로 취입하는 데이터 취입 수단과, 상기 커맨드의 제공개시로부터 상기 독출 데이터의 취입 완료까지의 전체 독출 동작을 통해서 상기 복수의 반도체 메모리의 각각을 칩 인에이블 상태로 유지하는 칩 인에이블 제어수단으로 구성되는
    메모리 시스템.
  12. 반도체 기억 장치의 제 1 플래시 메모리에, 버스를 통해 소정의 타이밍으로 기록용의 커맨드, 기록용 어드레스 및 제 1 데이터를 제공하는 제 1 스텝과,
    상기 제 1 플래시 메모리가 상기 기록용 커맨드에 응답해서 제 1 소정 시간내에 외부로부터의 신호를 수신하지 않는 상태에서 상기 기록 어드레스로 지정되는 기억영역에 상기 제 1 데이터를 기록하는 제 2 스텝과,
    상기 제 1 소정 시간내에 상기 버스를 통해 제 2 플래시 메모리에 소정의 타이밍으로 독출용의 커맨드 및 독출 어드레스를 제공하는 제 3 스텝과,
    상기 제 2 플래시 메모리가 상기 독출용의 커맨드에 응답하여 제 2 소정 시간내에 상기 독출 어드레스로 지정되는 기억 영역에서 제 2 데이터를 독출해서 출력 포트에 설정하는 제 4 스텝과,
    상기 제 2 소정시간의 경과후에 상기 제 2 플래시 메모리의 출력 포트에 설정되어 있는 제 2 데이터를 상기 버스를 통해 취입하는 제 5 스텝
    을 포함하는 데이터 기록/독출 방법.

  13. 소정의 타이밍으로 제공된 기록용 커맨드, 기록 어드레스 및 제 1 데이터에 응답해서 제 1 소정시간내에 외부에서의 신호를 수신하지 않는 상태에서 상기 기록 어드레스로 지정된 기억 어드레스에 상기 제 1 데이터를 기록하는 기록 모드와, 소정의 타이밍으로 제공된 독출용 커맨드 및 독출 어드레스에 응답하여 적어도 상기제 1 소정시간보다 짧은 제 2 소정시간내에 상기 어드레스로 지정된 기억 어드레스에서 제 2 데이터를 독출해서 출력 포트에 설정하는 독출 모드를 각기 갖는 복수의 플래시 메모리의 기록을 제어하기 위해 사용되며,
    제 1 플래시 메모리에 상기 버스를 통해 상기 기록용 커맨드, 상기 기록 어드레스 및 상기 제 1 데이터를 소정의 타이밍으로 제공해서, 상기 제 1 플래시 메모리에 상기 기록 모드를 실행시키는 기록 제어수단과,
    상기 제 1 플래시 메모리에서의 상기 제 1 소정 시간중에 제 2 플래시 메모리에서 상기 버스를 통해 상기 독출용 커맨드 및 독출 어드레스를 소정의 타이밍으로 제공하고, 상기 제 2 소정 시간의 경과후에 상기 제 2 플래시 메모리의 출력 포트로부터 상기 제 2 데이터를 상기 버스를 통해 취입하는 독출 제어수단
    을 포함하는 메모리 제어장치.

  14. 제 13 항에 있어서,
    상기 독출 제어수단은 상기 플래시 메모리의 각각을 개별적으로 출력 인에이블 상태로 하기 위한 각 플래시 메모리 전용의 출력 인에이블 제어선을 포함하는 메모리 제어장치.

  15. 제 13 항에 있어서,
    상기 기록 제어수단 및 상기 독출 제어수단은 상기 플래시 메모리의 각각이 비지 상태인지 아닌지를 개별적으로 식별가능하도록 하기 위한 각 플래시 메모리 전용의 비지선을 포함하는 메모리 제어장치.

  16. 각종 커맨드 및 어드레스를 출력하는 호스트 장치와,
    상기 호스트 장치에 착탈가능하게 결합되는 반도체 기억장치
    에 의해 구성되며,
    상기 반도체 기억장치는 복수의 반도체 메모리와, 상기 반도체 메모리에 버스에 의해 접속되고 상기 호스트 장치로부터의 커맨드 및 어드레스를 수신하여 상기 복수의 반도체 메모리의 독출/기록을 제어하는 제어부에 의해 구성되고,
    상기 제어부는 소정의 타이밍으로 제공된 기록용 커맨드, 기록 어드레스 및 제 1 데이터에 응답하여 제 1 소정시간내에 외부로부터의 신호를 수신하지 않는 상태에서 상기 기록 어드레스로 지정된 기억 어스레스에 상기 제 1 데이터를 기록하는 기록 모드와, 소정의 타이밍으로 제공된 독출용 커맨드 및 독출 어드레스에 응답하여 적어도 상기 제 1 소정 시간보다 짧은 제 2 소정시간내에 상기 어드레스로 지정된 기억 어드레스에서 제 2 데이터를 독출해서 출력 포트에 설정하는 독출 모드를 각기 갖는 복수의 플래시 메모리의 독출/기록을 제어하기 위해 사용되며, 제 1 플래시 메모리에 상기 버스를 통해 상기 기록용 커맨드, 상기 기록 어드레스 및 상기 제 1 데이터를 소정의 타이밍으로 공급해서 상기 제 1 플래시 메모리에서 상기 기록 모드를 실행시키는 기록 제어수단과, 상기 제 1 플래시 메모리에서의 상기 제 1 소정시간중에 제 2 플래시 메모리에서 상기 버스를 통해 상기 독출용 커맨드 및 상기 독출 어드레스를 소정의 타이밍으로 공급해서 상기 제 2 소정시간 경과후에 상기 제 2 플래시 메모리의 출력 포트로부터 상기 제 2 데이터를 상기 버스를 통해서 취입하는 독출 제어수단에 의해 구성되는 메모리 시스템.
KR1019970002071A 1996-01-25 1997-01-24 데이타독출/기록방법및그를이용한메모리제어장치및시스템 KR100359414B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP3014496A JP3289101B2 (ja) 1996-01-25 1996-01-25 フラッシュ・ディスク・システムの初期化方法及び装置
JP96-30144 1996-01-25
JP96-37054 1996-02-01
JP3705496A JP3321587B2 (ja) 1996-02-01 1996-02-01 フラッシュメモリシステムにおけるデータ書き換え方法及びメモリ制御装置

Publications (2)

Publication Number Publication Date
KR970062909A KR970062909A (ko) 1997-09-12
KR100359414B1 true KR100359414B1 (ko) 2003-01-24

Family

ID=26368432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970002071A KR100359414B1 (ko) 1996-01-25 1997-01-24 데이타독출/기록방법및그를이용한메모리제어장치및시스템

Country Status (2)

Country Link
US (1) US6131139A (ko)
KR (1) KR100359414B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360984B2 (en) 2017-08-18 2019-07-23 SK Hynix Inc. Data storage device and method of operating the same

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190617B1 (en) * 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
TW261687B (ko) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP3638778B2 (ja) * 1997-03-31 2005-04-13 株式会社ルネサステクノロジ 半導体集積回路装置およびその製造方法
JPH10326493A (ja) * 1997-05-23 1998-12-08 Ricoh Co Ltd 複合化フラッシュメモリ装置
KR100319598B1 (ko) * 1998-03-18 2002-04-06 김영환 플래시메모리어레이액세스방법및장치
JP4304734B2 (ja) * 1998-04-17 2009-07-29 ソニー株式会社 再生装置、データの再生方法及び記録媒体
US6915375B2 (en) * 1998-08-31 2005-07-05 Sony Corporation Memory apparatus and a data-processing apparatus, and method for using the memory apparatus
CN100359601C (zh) * 1999-02-01 2008-01-02 株式会社日立制作所 半导体集成电路和非易失性存储器元件
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
JP2001167586A (ja) * 1999-12-08 2001-06-22 Toshiba Corp 不揮発性半導体メモリ装置
US6407949B1 (en) * 1999-12-17 2002-06-18 Qualcomm, Incorporated Mobile communication device having integrated embedded flash and SRAM memory
US6452869B1 (en) * 2001-02-26 2002-09-17 Advanced Micro Devices, Inc. Address broadcasting to a paged memory device to eliminate access latency penalty
TW539946B (en) * 2001-08-07 2003-07-01 Solid State System Company Ltd Window-based flash memory storage system, and the management method and the access method thereof
JP3932166B2 (ja) * 2001-08-07 2007-06-20 シャープ株式会社 同期型半導体記憶装置モジュールおよびその制御方法、情報機器
EP1308964B1 (en) * 2001-10-25 2007-10-03 STMicroelectronics S.r.l. Fast programming method for nonvolatile memories, in particular flash memories, and related memory architecture
JP4061272B2 (ja) * 2002-01-09 2008-03-12 株式会社ルネサステクノロジ メモリシステム及びメモリカード
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
US6917544B2 (en) * 2002-07-10 2005-07-12 Saifun Semiconductors Ltd. Multiple use memory chip
US20040054864A1 (en) * 2002-09-13 2004-03-18 Jameson Neil Andrew Memory controller
US7353323B2 (en) * 2003-03-18 2008-04-01 American Megatrends, Inc. Method, system, and computer-readable medium for updating memory devices in a computer system
US20050038958A1 (en) * 2003-08-13 2005-02-17 Mike Jadon Disk-array controller with host-controlled NVRAM
EP1538525A1 (en) * 2003-12-04 2005-06-08 Texas Instruments Incorporated ECC computation simultaneously performed while reading or programming a flash memory
JP2006285600A (ja) * 2005-03-31 2006-10-19 Tokyo Electron Device Ltd 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム
TW200636471A (en) * 2005-04-01 2006-10-16 Mediatek Inc Method of parallel programmable memory and the system thereof
US7400549B2 (en) * 2005-04-28 2008-07-15 Micron Technology, Inc. Memory block reallocation in a flash memory device
KR100706246B1 (ko) * 2005-05-24 2007-04-11 삼성전자주식회사 읽기 성능을 향상시킬 수 있는 메모리 카드
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
KR101293365B1 (ko) 2005-09-30 2013-08-05 모사이드 테크놀로지스 인코퍼레이티드 출력 제어 메모리
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
JP4936271B2 (ja) * 2006-01-20 2012-05-23 株式会社メガチップス 半導体記憶装置
US7562180B2 (en) * 2006-03-28 2009-07-14 Nokia Corporation Method and device for reduced read latency of non-volatile memory
US7567472B2 (en) 2006-04-12 2009-07-28 Micron Technology, Inc. Memory block testing
US20080019506A1 (en) * 2006-07-21 2008-01-24 Yung-Huan Hsu Encryption/Decryption Apparatus, System and Method
US20080147963A1 (en) * 2006-12-15 2008-06-19 Accusys. Inc. Disk array device
US7710777B1 (en) 2006-12-20 2010-05-04 Marvell International Ltd. Semi-volatile NAND flash memory
TWI348617B (en) * 2007-08-09 2011-09-11 Skymedi Corp Non-volatile memory system and method for reading data therefrom
US7554858B2 (en) 2007-08-10 2009-06-30 Micron Technology, Inc. System and method for reducing pin-count of memory devices, and memory device testers for same
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US20090313074A1 (en) * 2008-06-11 2009-12-17 International Business Machines Corporation Enhanced viewing/updating of calendar entries based upon relationships between a viewer and a calendar owner and a relative importance value of the calendar entries
US8074040B2 (en) * 2008-09-23 2011-12-06 Mediatek Inc. Flash device and method for improving performance of flash device
CN101930798B (zh) * 2009-06-25 2014-04-16 联发科技股份有限公司 闪存装置、存储器装置以及控制闪存装置的方法
US8447917B2 (en) * 2009-06-25 2013-05-21 Mediatek Inc. Flash memory devices and methods for controlling a flash memory device
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
US9430339B1 (en) 2012-12-27 2016-08-30 Marvell International Ltd. Method and apparatus for using wear-out blocks in nonvolatile memory
US9779138B2 (en) * 2013-08-13 2017-10-03 Micron Technology, Inc. Methods and systems for autonomous memory searching
US10003675B2 (en) 2013-12-02 2018-06-19 Micron Technology, Inc. Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data
CN106250331B (zh) * 2016-08-04 2019-08-13 深圳市泽云科技有限公司 一种针对sata端口复用优化的方法
JP2018041154A (ja) * 2016-09-05 2018-03-15 東芝メモリ株式会社 ストレージシステムおよび処理方法
US11372781B2 (en) * 2020-08-26 2022-06-28 PetaIO Inc. Programmable chip enable for switching and selecting functions to reduce data loading and increase throughput
US11556272B2 (en) * 2020-09-18 2023-01-17 Kioxia Corporation System and method for NAND multi-plane and multi-die status signaling

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
US5375222A (en) * 1992-03-31 1994-12-20 Intel Corporation Flash memory card with a ready/busy mask register
JP2971302B2 (ja) * 1993-06-30 1999-11-02 シャープ株式会社 Eepromを使用した記録装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360984B2 (en) 2017-08-18 2019-07-23 SK Hynix Inc. Data storage device and method of operating the same

Also Published As

Publication number Publication date
US6131139A (en) 2000-10-10
KR970062909A (ko) 1997-09-12

Similar Documents

Publication Publication Date Title
KR100359414B1 (ko) 데이타독출/기록방법및그를이용한메모리제어장치및시스템
KR100453463B1 (ko) 메모리장치및메모리제어방법
EP0764330B1 (en) Eeprom array with flash-like core
EP1242868B1 (en) Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
US6266273B1 (en) Method and structure for reliable data copy operation for non-volatile memories
US7787297B2 (en) Flash memory device and flash memory system
US6968421B2 (en) Partial block data programming and reading operations in a non-volatile memory
US6871257B2 (en) Pipelined parallel programming operation in a non-volatile memory system
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US20020099903A1 (en) Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure
US20080137419A1 (en) Non-Volatile Memory With Redundancy Data Buffered in Remote Buffer Circuits
KR20040101222A (ko) 섹터 포인터들을 활용하는 메모리 맵핑 장치
JP2009003569A (ja) 半導体記憶装置
JP3321587B2 (ja) フラッシュメモリシステムにおけるデータ書き換え方法及びメモリ制御装置
JP3289101B2 (ja) フラッシュ・ディスク・システムの初期化方法及び装置
JPH05150913A (ja) フラツシユメモリを記憶媒体としたシリコンデイスク
JP2009003995A (ja) 半導体記憶装置
JP2004039055A (ja) 不揮発性半導体記憶装置
JP2009003994A (ja) 半導体記憶装置
KR100490603B1 (ko) 플래시 메모리 동작 제어 방법 및 장치
JP2009003571A (ja) 半導体記憶装置
JP2009003570A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081010

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee