KR20030045599A - 불휘발성 반도체 메모리칩 제어 방법 - Google Patents
불휘발성 반도체 메모리칩 제어 방법 Download PDFInfo
- Publication number
- KR20030045599A KR20030045599A KR1020020074254A KR20020074254A KR20030045599A KR 20030045599 A KR20030045599 A KR 20030045599A KR 1020020074254 A KR1020020074254 A KR 1020020074254A KR 20020074254 A KR20020074254 A KR 20020074254A KR 20030045599 A KR20030045599 A KR 20030045599A
- Authority
- KR
- South Korea
- Prior art keywords
- nonvolatile semiconductor
- flash memory
- input
- command
- control means
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 불휘발성 반도체 메모리칩의 메모리 셀에의 기입 시간, 메모리 셀의 소거 시간, 칩 내의 버퍼에 메모리 셀을 판독하는 시간의 섹터마다의 변동을 해결하고, 또한 높은 시퀀셜인 액세스 성능을 갖는 불휘발성 반도체 메모리칩의 제어 방법을 실현한다. 제1 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 기입 커맨드를 동시에 입력하고, 제2 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하고, 제3 단계에서 복수개의 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택한 불휘발성 반도체 메모리칩에 대하여 1개의 데이터 블록의 입력과 기입 개시 커맨드의 입력을 행하고, 제3 단계를, 선택하는 칩을 순차적으로 전환하여 행한다. 제4 단계에서, 기입 개시 커맨드가 종료한 것의 판정과 커맨드의 실행 결과의 판정을 각 불휘발성 반도체 메모리에 대하여 개별적으로 행한다. 복수 어드레스에 기입을 행하는 경우, 2회째 이후에는 기입 커맨드의 입력, 어드레스의 입력을 개별적으로 행한다.
Description
본 발명은 복수개의 불휘발성 반도체 메모리칩을 갖는 반도체 기억 장치에서의 기입, 소거, 및 판독 제어 방법에 관한 것이다.
최근, 휴대형 퍼스널 컴퓨터나 휴대 전화를 비롯한 휴대 기기가 널리 보급되고 있다. 휴대 기기에서의 정보 축적 미디어로서, 플래시 메모리를 비롯한 불휘발성 반도체 메모리가 주목받고 있다.
플래시 메모리에는 액세스 단위에 따라 크게 2 종류의 타입으로 나누어진다. 한쪽은 NOR형 플래시 메모리로 대표되고, 칩 용량은 수 메가바이트로 소용량이지만, 바이트 단위로의 랜덤 액세스가 가능한 플래시 메모리이다. 다른 한쪽은, AND형이나 NAND형으로 대표되어, 칩 용량은 수십 메가바이트 이상이지만, 수백 바이트 내지 수천 바이트 크기의 섹터로 불리는 단위로 액세스하는 플래시 메모리이다.바이트 단위로의 랜덤 액세스 성능보다도 낮은 비트 비용과 시퀀셜 액세스 성능이 중요한 스토리지 용도에는, 후자의 대용량 플래시 메모리가 적합하다. 현재, 대용량 플래시 메모리를 이용한 카드 타입의 반도체 기억 장치가 각 회사에서 제품화되고 있다. 이들에게는, 장치 용량을 보다 대용량으로 하기 위해서, 통상 복수개의 플래시 메모리 칩을 탑재한다. 도 1에 반도체 기억 장치를 이용한 시스템의 일례를 나타낸다. 호스트 시스템(1)은 퍼스널 컴퓨터나 디지털 카메라이다. 반도체 기억 장치(2)는 호스트 시스템(1)에 접속되어, 호스트 시스템(1)으로부터의 지시에 따라 정보의 기입 및 판독을 행한다. 반도체 기억 장치(2)는 반도체 기억 장치를 제어하기 위한 컨트롤러(3), 호스트 시스템(1)과 컨트롤러(3)의 사이에서 커맨드 및 데이터의 수수를 행하기 위한 입출력 인터페이스(4), 버퍼 메모리(5), 정보를 기억하기 위한 플래시 메모리 칩(6)으로 이루어진다. 컨트롤러(3)는 호스트 시스템(1)으로부터의 커맨드를 해석하고, 그 해석 결과에 기초하여 플래시 메모리 칩(6)를 제어하여, 정보의 기입 및 판독을 행한다. 이 때, 필요에 따라서 플래시 메모리 칩(6)의 소거도 행한다.
여기서, 플래시 메모리 칩(6)의 입출력 인터페이스에 대하여 설명한다. 대용량 플래시 메모리 칩은 다른 메모리와 달리, 통상, 어드레스 단자는 없다. 커맨드 입력, 어드레스 입력, 데이터 입출력을 공통의 I/O 단자를 이용하여, 칩마다 정해진 수순으로 시분할로 행함으로써, 섹터에의 액세스를 행한다. 일반적으로, 대용량 플래시 메모리 칩은 8 비트 I/O이고, 제품의 대부분은 20㎒의 I/O 클럭으로 동작한다. 대용량 플래시 메모리 칩에는 프로토콜 제어용의 복수개의 입력 단자가있어, 이들의 High/Low 레벨의 조합을 바꿈으로써, 커맨드 입력, 어드레스 입력, 데이터 입출력의 전환을 행한다.
도 52 내지 도 54를 이용하여 대용량 플래시 메모리 칩에의 액세스 수순에 대하여 구체적으로 설명한다. 단, 간단하게 하기 위해서, 프로토콜 제어용 신호는 생략하고, 액세스 수순의 개념만 도시한다. 이하, I/O 버스 폭이 8 비트, I/O 클럭이 20㎒, 커맨드 입력 사이클이 1 사이클, 섹터 어드레스 입력 사이클이 2 사이클, 섹터 사이즈가 2112Byte인 플래시 메모리 칩을 예로 들어 설명한다.
먼저 도 54를 이용하여 기입의 수순에 대하여 설명한다. 기입은 기입 커맨드 입력 CMD(W), 기입을 행하는 섹터 어드레스 입력 ADR, 기입을 행하는 1 섹터분의 데이터 입력 TR, 기입 개시 커맨드 입력 CMD(SW), 기입 종료 대기 BUSY, 스테이터스 판독 ST의 수순으로 행한다. 1 섹터분의 데이터 입력이 종료한 시점에서는, 입력한 데이터는 플래시 메모리 칩 내의 버퍼에 저장되기만 하고 메모리 셀로는 기입되지 않는다. 기입 개시 커맨드 입력에 의해, 처음으로 지정 섹터 내의 각 메모리 셀에의 기입이 시작된다. 플래시 메모리 칩은 동시에 2개의 커맨드를 처리할 수 없기 때문에, 다음의 커맨드를 계속하여 입력할 경우에는 기입 커맨드가 종료하는 것을 대기할 필요가 있다. 또한, 플래시 메모리는 사용을 중첩함에 따라 메모리 셀이 열화하여, 기입을 정확하게 할 수 없는 섹터가 출현하게 된다. 따라서, 통상, 메모리 셀에의 기입이나 소거 종료 후에, 플래시 메모리 칩의 스테이터스를 판독하여, 커맨드가 정상적으로 종료하였는지 실패하였는지를 확인한다. 실패한 경우, 데이터를 다른 섹터에 재기록하는 등의 교체 처리를 행한다. 각 처리 시간은 대강, CMD(W)가 50㎱, ADR이 100㎱, TR이 110㎲, CMD(WS)가 50㎱, BUSY가 2㎳, ST가 50㎱이다.
다음에 도 55를 이용하여 소거의 수순에 대하여 설명한다. 소거는 소거 커맨드 입력 CMD(E), 소거를 행하는 섹터 어드레스 입력 ADR, 소거 개시 커맨드 입력 CMD(SE), 소거 종료 대기 BUSY, 스테이터스 판독 ST의 수순으로 행한다. 소거 개시 커맨드 입력에 의해 처음으로 지정 섹터 내의 각 메모리 셀의 소거가 시작된다. 기입의 경우와 같이, 플래시 메모리 칩에 대하여 다음의 커맨드를 계속하여 입력할 경우에는, 소거가 종료하는 것을 대기할 필요가 있다. 기입과 마찬가지로, 통상, 메모리 셀의 소거 종료 후에, 플래시 메모리 칩의 스테이터스를 판독하여, 커맨드가 정상 종료인지 실패인지를 확인한다. 실패한 경우에는, 그 섹터에 대하여 결함 등록 등의 교체 처리를 행한다. 각 처리 시간은 대강, CMD(E)가 50㎱, ADR이 100㎱, CMD(ES)가 50㎱, BUSY가 1㎳, ST가 50㎱이다.
다음에 도 56을 이용하여 판독의 수순에 대하여 설명한다. 판독은 판독 커맨드 입력 CMD(R), 판독을 행하는 섹터 어드레스 입력 ADR, 판독 준비 대기 BUSY, 데이터 판독(출력) TR의 수순으로 행한다. 섹터 어드레스 입력 후, 플래시 메모리 칩은 지정 섹터의 각 메모리 셀로부터, 플래시 메모리 칩 내의 버퍼에의 데이터 판독을 개시한다. 플래시 메모리 칩 내의 버퍼에의 판독이 종료하는 것을 대기하여, 플래시 메모리 칩으로부터의 데이터 판독을 행한다. 각 처리 시간은 대강, CMD(R)이 50㎱, ADR이 100㎱, TR이 110㎲, BUSY가 50㎰이다.
플래시 메모리 칩을 이용한 반도체 기억 장치에서는 시퀀셜 액세스 성능을개선하기 위해서, 데이터를 복수개의 데이터 블록으로 분할하여, 이들을 복수개의 플래시 메모리 칩에 분산하여 기억하고 있다. 즉, 복수개의 플래시 메모리 칩을 병렬 처리함으로써 실효적인 시퀀셜 액세스 성능을 올리고 있다.
이하, 플래시 메모리 칩 수가 4일 때의 예를, 도면을 이용하여 종래의 기입 방법에 대하여 설명한다.
도 57에 데이터의 크기가 섹터 사이즈×4인 경우를 예로 들어 종래의 기입 방법을 시간축 상에 도시한다. 데이터 D를 섹터 사이즈와 같은 크기의 데이터 블록 D0에서부터 D3으로 분할하고, 각 데이터 블록을 서로 다른 플래시 메모리 칩에 기입한다. 여기서는, 데이터 블록 D0을 플래시 메모리 칩 0에, 데이터 블록 D1을 플래시 메모리 칩 1에, 데이터 블록 D2를 플래시 메모리 칩 2에, 데이터 블록 D3을 플래시 메모리 칩 3에 저장한다. CMD(W)는 기입 커맨드의 입력, ADRn은 각 플래시 메모리 칩 내에 할당되어 있는 어드레스 ADRn의 입력, TR(Dn)은 데이터 블록 Dn의 입력, CMD(WS)은 기입 개시 커맨드의 입력, TC-BUSY는 플래시 메모리 칩에 입력된 데이터가 메모리 셀에 기입되는데 요하는 시간이다. 플래시 메모리 칩 0에 대하여 기입 커맨드, 어드레스, 데이터 블록, 기입 개시 커맨드를 입력한다. 이하, 순차적으로, 각 플래시 메모리 칩에 대하여 기입 커맨드, 어드레스, 데이터 블록, 기입 개시 커맨드를 입력한다.
플래시 메모리 칩이 공통의 버스에 접속되어 있는 것을 이용하여, ADR0 내지 ADR3을 동일한 어드레스 ADR로 하여, 기입 커맨드의 입력, 어드레스 ADR의 입력,기입 개시 커맨드의 입력을, 전체 칩에 대하여 동시에 행하는 방법이 일본 특개평 11-273370에 개시되어 있다.
도 58에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3의 각 플래시 메모리 칩 내의 어드레스 ADR0 내지 ADR3을 소거하는 경우의 종래의 소거 방법을 시간 축으로 도시한다. CMD(E)는 소거 커맨드의 입력, ADRn은 각 플래시 메모리 칩 내에 할당되어 있는 어드레스 ADRn의 입력, CMD(ES)는 소거 개시 커맨드의 입력, TC-BUSY는 ADR로 지정한 어드레스에 대응하는 메모리 셀의 내용이 소거되는데 요하는 시간이다. 플래시 메모리 칩 0에 대하여 소거 커맨드, 어드레스, 소거 개시 커맨드를 입력한다. 이하, 순차적으로, 각 플래시 메모리 칩에 대하여 소거 커맨드, 어드레스, 소거 개시 커맨드를 입력한다.
플래시 메모리 칩이 공통의 버스에 접속되어 있는 것을 이용하여, ADR0 내지 ADR3을 동일한 어드레스 ADR로 하고, 소거 커맨드의 입력, 어드레스의 입력, 소거 개시 커맨드의 입력을, 전체 칩에 대하여 동시에 행하는 소거 방법이, 일본 특개평 11-273370에 개시되어 있다.
도 59에 데이터의 크기가 섹터 사이즈 x4인 경우를 예로 들어 종래의 판독 방법을 시간축 상에 도시한다. 데이터 D는 섹터 사이즈와 같은 크기의 데이터 블록 D0 내지 D3으로 분할되고, 각 데이터 블록은 서로 다른 플래시 메모리 칩에 기입되고 있다. 여기서는, 데이터 블록 D0은 플래시 메모리 칩 0에, 데이터 블록 D1은 플래시 메모리 칩 1에, 데이터 블록 D2은 플래시 메모리 칩 2에, 데이터 블록D3은 플래시 메모리 칩 3에 기입되고 있다. CMD(R)는 판독 커맨드의 입력, ADRn은 데이터 블록 Dn이 기입되고 있는 각 플래시 메모리 칩 내의 어드레스 ADRn의 입력, TR(Dn)은 데이터 블록 Dn의 판독, TC-BUSY는 입력된 판독 커맨드에 응답하여 각 플래시 메모리 칩이 데이터 블록의 판독의 준비에 요하는 시간이다. 플래시 메모리 칩 0에 대하여 판독 커맨드, 어드레스를 입력한다. 이하, 순차적으로, 각 플래시 메모리 칩에 대하여 판독 커맨드, 어드레스를 입력한다. 전체 칩의 판독 준비가 완료하고나서, 순차적으로, 각 플래시 메모리 칩으로부터 데이터 블록을 판독한다.
플래시 메모리 칩이 공통의 버스에 접속되어 있는 것을 이용하여, ADR0 내지 ADR3이 동일한 경우에는, 판독 커맨드의 입력, 어드레스의 입력을, 전체 칩에 대하여 동시에 행하는 판독하는 방법이 일본 특개평 9-204355과 일본 특개평 11-273370에 개시되어 있다.
플래시 메모리 칩에서는, 메모리 셀에의 기입 시간, 메모리 셀의 소거 시간, 메모리 셀로부터 칩 내의 버퍼에 데이터를 판독하는 시간은, 섹터마다 다르다. 종래의 제어 방법에서는, 이들의 시간의 변동을 해결할 수 없다.
도 1은 불휘발성 반도체 기억 장치의 구성예를 도시한 도면.
도 2는 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 3은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 4는 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 5는 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 6은 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 위치를 설명한 도면.
도 7은 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 8은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 9는 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 10은 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 11은 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 12는 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 13은 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 14는 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법의 플로우를 설명한 도면.
도 15는 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 위치를 설명한 도면.
도 16은 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 17은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 18은 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 19는 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스에 데이터를 기입하는 경우의 기입 제어 방법을 시간축 상에서 설명한 도면.
도 20은 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 21은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 22는 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 23은 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 24는 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 위치를 설명한 도면.
도 25는 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 26은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 27은 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 28은 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 29는 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 30은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 31은 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 32는 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법의 플로우를 설명한 도면.
도 33은 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 위치를 설명한 도면.
도 34는 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 35는 제2 Ready/Busy 판정 방법을 이용하고, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 36은 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 37은 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법을 시간축 상에서 설명한 도면.
도 38은 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 39는 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 40은 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 41은 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 42는 제1 Ready/Busy 판정 방법을 이용하고, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축 상에서 설명한 도면.
도 43은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축 상에서 설명한 도면.
도 44는 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축 상에서 설명한 도면.
도 45는 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 1개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축 상에서 설명한 도면.
도 46은 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 47은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 48은 제3 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 49는 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법의 플로우를 설명한 도면.
도 50은 제1 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축상에서 설명한 도면.
도 51은 제2 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축 상에서 설명한 도면.
도 52는 제3 Ready/Busy 판정 방법을 이용하고, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축 상에서 설명한 도면.
도 53은 제4 Ready/Busy 판정 방법을 이용하여, 복수개의 플래시 메모리 칩의 복수개의 어드레스로부터 데이터를 판독하는 경우의 판독 제어 방법을 시간축 상에서 설명한 도면.
도 54는 종래의 기입 수순을 설명한 도면.
도 55는 종래의 소거 수순을 설명한 도면.
도 56은 종래의 판독 수순을 설명한 도면.
도 57은 기입 데이터의 크기가 섹터 사이즈×4인 경우의 종래의 기입 방식을 시간축 상에서 설명한 도면.
도 58은 소거 데이터의 크기가 섹터 사이즈×4인 경우의 종래의 소거 방식을 시간축 상에서 설명한 도면.
도 59는 판독 데이터의 크기가 섹터 사이즈×4인 경우의 종래의 판독 방식을 시간축 상에서 설명한 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 호스트 시스템
2 : 반도체 기억 장치
3 : 컨트롤러
4 : 입출력 인터페이스
5 : 버퍼 메모리
6 : 플래시 메모리 칩
7 : 플래시 메모리 칩 선택 신호
본 발명은 상기 과제를 해결하기 위해서, 기입에 대해서는, 제1 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 기입 커맨드를 동시에 입력하고, 제2 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하고, 제3 단계에서 복수개의 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택한 불휘발성 반도체 메모리칩에 대하여 1개의 데이터 블록의 입력과 기입 개시 커맨드의 입력을 행하고, 제3 단계를, 선택하는 칩을 순차적으로 전환하여 행한다. 제4 단계에서 기입 개시 커맨드가 전체 불휘발성 반도체 메모리칩에 대하여 종료한 것을 판정하고, 제5 단계에서 선택하는 칩을 순차적으로 전환하여 커맨드의 실행 결과를 판정한다. 복수 어드레스에 기입을 행하는 경우에는 상기 기입 방법을 다른 어드레스에 대하여 반복한다.
또한, 제1 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 기입 커맨드를 동시에 입력하고, 제2 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하고, 제3 단계에서 복수개의 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택한 불휘발성 반도체 메모리칩에 대하여 1개의 데이터 블록의 입력과 기입 개시 커맨드의 입력을 행하고, 제3 단계를 선택하는 칩을 순차적으로 전환하여 행한다. 제4 단계에서 기입 개시 커맨드가 종료한 것의 판정과 커맨드의 실행 결과의 판정을 각 불휘발성 반도체 메모리에 대하여 개별적으로 행한다. 복수 어드레스에 기입을 행하는 경우, 2회째 이후에는 기입 커맨드의 입력, 어드레스의 입력을 개별적으로 행한다.
소거에 대해서는, 제1 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 소거 커맨드를 동시에 입력하고, 제2 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하고, 제3 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 소거 개시 커맨드를 동시에 입력하고, 제4 단계에서소거 개시 커맨드가 전체 불휘발성 반도체 메모리칩에 대하여 종료한 것을 판정하고, 제5 단계에서 선택하는 칩을 순차적으로 전환하여 커맨드의 실행 결과를 판정한다. 복수 어드레스의 소거를 행하는 경우에는, 상기 소거 방법을 다른 어드레스에 대하여 반복한다.
또한, 제1 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 소거 커맨드를 동시에 입력하고, 제2 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하고, 제3 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 소거 개시 커맨드를 동시에 입력하고, 제4 단계에서 기입 개시 커맨드가 종료한 것의 판정과 커맨드의 실행 결과의 판정을 각 불휘발성 반도체 메모리에 대하여 개별적으로 행한다. 복수 어드레스에 기입을 행하는 경우, 2회째 이후에는, 소거 커맨드의 입력, 어드레스의 입력, 소거 개시 커맨드의 입력을 커맨드의 실행 결과의 판정에 계속하여 개별적으로 행한다.
판독에 대해서는, 제1 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 판독 커맨드를 동시에 입력하고, 제2 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하고, 제3 단계에서 전체 불휘발성 반도체 메모리칩에 대하여 판독 준비가 종료한 것을 판정하고, 제4 단계에서 복수개의 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택한 불휘발성 반도체 메모리칩으로부터 1개의 데이터 블록의 판독을 행하고, 제4 단계를, 선택하는 칩을 순차적으로 전환하여 행한다. 복수 어드레스에서 판독을 행하는 경우에는 상기 판독 방법을 다른 어드레스에 대하여 반복한다.
또한, 제1 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 판독 커맨드를 동시에 입력하고, 제2 단계에서 복수개의 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하고, 제3 단계에서 판독 준비가 종료한 것의 판정을 각 불휘발성 반도체 메모리칩에 대하여 개별적으로 행하여, 판독 준비가 된 불휘발성 반도체 메모리칩으로부터 1개의 데이터 블록의 판독을 행하고, 제3 단계를, 선택하는 칩을 순차적으로 전환하여 행한다. 복수 어드레스로부터 판독을 행하는 경우에는, 상기 판독 방법에서 제3 단계의 데이터 블록의 판독을 행한 직후에, 판독 커맨드의 입력과 어드레스의 입력을 개별적으로 행한다.
<실시예>
다음에 본 발명의 실시예에 대하여 도면을 참조하여 설명한다.
도 1에 대용량 플래시 메모리를 이용한 반도체 기억 장치의 블록도를 도시한다. 반도체 기억 장치(2)는 호스트 시스템(1)에 접속하여 이용되고, 호스트 시스템(1)으로부터의 커맨드에 따라 정보의 기입 및 판독을 행한다. 반도체 기억 장치(2)는 컨트롤러(3), 입출력 인터페이스(4), 버퍼 메모리(5), 복수개의 플래시 메모리 칩(6)으로 이루어진다. 컨트롤러(3)는 호스트 시스템으로부터의 커맨드를 해석하고, 그 해석 결과에 기초하여 플래시 메모리 칩(6)를 제어하여, 정보의 기입, 판독 및 소거를 행한다. 호스트 시스템(1)과 컨트롤러(2) 사이의 커맨드 및 데이터의 수수는 입출력 인터페이스(4)를 통해 행한다. 반도체 기억 장치(2)로 데이터를 기입하는 경우, 호스트 시스템(1)으로부터 수신한 기입 데이터를 일단 버퍼 메모리로 받아, 소정의 포맷으로 변환한 후에 플래시 메모리 칩(6)에의 기입을 행한다. 한편, 반도체 기억 장치(2)로부터 데이터를 판독하는 경우, 플래시 메모리 칩(6)으로부터 판독한 소정의 포맷으로 변환된 데이터를 원래의 데이터로 복귀시켜, 버퍼 메모리, 입출력 인터페이스를 통해 호스트 시스템에 출력한다. 플래시 메모리 칩 선택 신호(7)는 액세스할 플래시 메모리 칩을 선택하기 위한 신호이고, 임의의 플래시 메모리 칩을 복수개, 동시에 선택 가능하다.
다음에 플래시 메모리 칩의 동작 상태의 판정 방법(Ready/Busy 판정 방법)에 대하여 설명한다. 각 플래시 메모리 칩은 칩의 동작 상태를 도시하는 Ready/Busy 단자를 구비하고 있다. 또한, 각 플래시 메모리 칩은 칩의 동작 상태(Ready/Busy), 커맨드의 실행 결과(Fail/Pass)를 나타내는 스테이터스 레지스터를 구비하고 있다. 본 시스템은 다음에 설명하는 4개의 Ready/Busy 판정 방법 중에서, 적어도 1개 이상의 판정 방법을 이용하는 것이 가능하다.
제1 Ready/Busy 판정 방법은 전체 플래시 메모리 칩의 Ready/Busy 신호의 논리곱을 취한 신호를 이용하여, 플래시 메모리 칩의 Ready/Busy 판정을 행하는 방법이다. 본 방법에서는, 하나 이상의 플래시 메모리 칩이 동작 중일 때에 Busy로 판정되어, 동작 중인 플래시 메모리 칩을 특정할 수 없다.
제2 Ready/Busy 판정 방법은 각 플래시 메모리 칩의 Ready/Busy 신호를 컨트롤러(3)로부터 판독 가능한 레지스터의 각각 독립한 비트에 할당하여, 그 레지스터를 판독함으로써 각 플래시 메모리 칩의 Ready/Busy 판정을 행하는 방법이다. 본 방법은, 제1 Ready/Busy 판정 방법에 비하여 회로 규모는 크지만, 동작 중인 플래시 메모리 칩을 특정 가능하다.
제3 Ready/Busy 판정 방법은 제1 Ready/Busy 판정 방법 및 제2 Ready/Busy 판정 방법을 조합한 것이다. 플래시 메모리 칩을 복수개의 플래시 메모리 칩으로 이루어지는 그룹으로 나눈다. 각 그룹 내의 플래시 메모리 칩의 Ready/Busy 신호의 논리곱을 취한다. 그룹별로 논리곱을 취한 신호를 컨트롤러(3)로부터 판독 가능한 레지스터 각각의 독립된 비트에 할당한다. 그 레지스터를 판독함으로써 플래시 메모리 칩의 Ready/Busy 판정을 행한다. 본 방법은 제1 Ready/Busy 판정 방법에 비하여 회로 규모는 크지만, 제1 Ready/Busy 판정 방법은 동작 중인 플래시 메모리 칩을 전혀 특정할 수 없는 데 대하여, 본 방법은 동작 중인 플래시 메모리 칩을 포함하는 그룹을 특정할 수 있다. 또한, 본 방법은 제2 Ready/Busy 판정 방법에 비하여 회로 규모는 작지만, 제2 Ready/Busy 판정 방법이 동작 중인 플래시 메모리 칩을 특정할 수 있는 데 대하여, 본 방법은 동작 중인 플래시 메모리 칩을 포함하는 그룹을 특정할 수 있지만, 동작 중인 플래시 메모리 칩을 특정할 수 없다.
제4 Ready/Busy 판정 방법은 플래시 메모리 칩 내의 스테이터스 레지스터를 판독함으로써 Ready/Busy 판정을 행하는 방법이다. 본 방법은 제1 내지 제3 Ready/Busy 판정 방법과 같은 논리곱 회로나 레지스터 등, 새로운 회로를 추가할 필요는 없다. 그러나, 스테이터스 레지스터를 판독하기 위해서는 플래시 메모리 칩에의 스테이터스 레지스터 판독 커맨드의 송신, 플래시 메모리 칩 제어 신호의 스테이터스 레지스터 판독 모드에의 전환 등, 다른 방법에 비하여 제어 오버헤드가 크다.
플래시 메모리 칩에의 데이터 기입 제어 방법에 대하여, 복수개의 플래시 메모리 칩의 하나의 어드레스에 기입하는 경우와, 복수개의 어드레스에 걸쳐 기입하는 경우로 나누어 설명한다. 단, 데이터를 섹터 사이즈의 정수배의 크기의 복수개의 데이터 블록으로 분할하여, 이들을 복수개의 플래시 메모리 칩에 분산하여 기입한다.
처음에 데이터를 복수개의 플래시 메모리 칩의 하나의 어드레스에 기입하는 경우의 기입 제어 방법에 대하여, 도 2 내지 도 10을 이용하여 설명한다.
도 2 내지 도 5에, 제1 내지 제4 Ready/Busy 판정 방법에 대응한 기입 제어 플로우를 도시한다. 도 2는 제1 Ready/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우이다. STEP1에서는 기입 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 기입 커맨드를 입력한다. STEP2에서는 STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 어드레스를 입력한다. STEP3에서는 1개의 플래시 메모리 칩을 선택하여 데이터 블록을 입력하고, 계속해서 기입 개시 커맨드를 입력한다. STEP3은, 데이터 블록을 기입하는 순서로, 선택할 플래시 메모리 칩을 순차적으로 전환하면서, 전체 데이터 블록의 입력과 기입 개시 커맨드의 입력이 종료할 때까지 반복하여 행한다. STEP4에서는 플래시 메모리 칩의 Ready/Busy 판정 결과가 Ready가 될 때까지, 플래시 메모리 칩의 Ready/Busy 판정을 실시한다. STEP5에서는 선택할 플래시 메모리 칩을 전환하면서, 각 플래시 메모리 칩의 스테이터스 레지스터를 순차적으로 판독하여, 기입 개시 커맨드의 실행 결과를 확인한다.
도 3에, 제2 Ready/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우를도시한다. STEP1에서는 기입 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 기입 커맨드를 입력한다. STEP2에서는 STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 동일 어드레스를 입력한다. STEP3에서는, 1개의 플래시 메모리 칩을 선택하여, 데이터 블록을 입력하고, 계속하여 기입 개시 커맨드를 입력한다. STEP3은, 데이터 블록을 기입하는 순서로, 선택할 플래시 메모리 칩을 순차적으로 전환하면서, 전체 데이터 블록의 입력과 기입 개시 커맨드의 입력이 종료할 때까지, 반복하여 행한다. STEP4에서는 Ready를 검출할 때까지 플래시 메모리 칩의 Ready/Busy 판정을 행한다. STEP5에서는 STEP4에서 Ready를 검출한 플래시 메모리 칩의 스테이터스 레지스터를 판독함으로써, 기입 개시 커맨드의 실행 결과의 확인을 행한다. STEP4와 STEP5는 기입 개시 커맨드를 입력한 전체 플래시 메모리 칩에 대하여 기입 개시 커맨드의 실행 결과를 확인할 때까지 반복한다. 또, STEP4 및 STEP5는 데이터 블록을 입력한 플래시 메모리 칩으로부터 순서대로 처리를 행해도 되며, 빠르게 Ready가 된 플래시 메모리 칩으로부터 순서대로 처리를 해도 된다.
도 4에, 제3 Reaby/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우를 도시한다. STEP1에서는 기입 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 기입 커맨드를 입력한다. STEP2에서는 STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 어드레스를 입력한다. STEP3에서는 1개의 플래시 메모리 칩을 선택하여 데이터 블록을 입력하고, 계속하여 기입 개시 커맨드를 입력한다. STEP3은 데이터 블록을 기입하는 순서로, 선택할 플래시 메모리 칩을 순차적으로 전환하면서, 전체 데이터 블록의 입력과 기입 개시 커맨드의 입력이 종료할 때까지, 반복하여 행한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 Ready를 검출한 그룹을 구성하는 각 플래시 메모리 칩으로부터 스테이터스 레지스터를 판독하여, 커맨드 실행 결과의 확인을 행한다. STEP4와 STEP5는 기입 개시 커맨드를 입력한 전체 플래시 메모리 칩에 대하여, 그 실행 결과를 확인할 때까지 반복한다. 또, STEP4 및 STEP5는 데이터 블록을 입력한 그룹으로부터 순서대로 처리를 행해도 되며, 빠르게 Ready가 된 그룹으로부터 순서대로 처리를 행해도 된다.
도 5에, 제4 Ready/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우를 도시한다. STEP1에서는 기입 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 기입 커맨드를 입력한다. STEP2에서는 STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 동일 어드레스를 입력한다. STEP3에서는 1개의 플래시 메모리 칩을 선택하여 데이터 블록을 입력하고, 계속하여 기입 개시 커맨드를 입력한다. STEP3은 데이터 블록을 기입하는 순서로, 선택할 플래시 메모리 칩을 순차적으로 전환하면서, 전체 데이터 블록의 입력과 기입 개시 커맨드의 입력이 종료할 때까지, 반복하여 행한다. STEP4에서는 Ready를 검출할 때까지 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행한다. STEP5에서는 STEP4에서 Ready를 검출했을 때의 스테이터스 레지스터의 값을 이용하여 커맨드 실행 결과의 확인을 행한다. STEP4와 STEP5는 기입 개시 커맨드를 입력한 전체 플래시 메모리 칩에 대하여, 그 실행 결과를 확인할 때까지 반복한다.
다음에 도 2 내지 도 5에서 설명한 기입 제어 플로우에 대하여, 도 6 내지 도 10을 이용하여 구체적으로 설명한다.
도 6에, 데이터의 물리적인 기입 위치를 도시한다. 기입하는 데이터 D를, 섹터 사이즈의 정수배 크기의 데이터 블록 D0 내지 D3으로 분할한다. 여기서는, 일례로서 데이터 블록의 크기가 섹터 사이즈와 같은 경우에 대해 설명한다. 데이터 블록 D0 내지 D3을 각각 다른 플래시 메모리 칩에 기입한다. 데이터 블록 D0 내지 D3은 각 칩의 동일 섹터 어드레스 ADR0에 기입한다.
도 7에, 도 2의 기입 제어 플로우를 시간축 상에 도시한다. 처음에 플래시 메모리 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 기입 커맨드를 입력한다. 도 7에 기입 커맨드 입력을 CMD(W)라고 기재하였다. 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다. 도 7에 어드레스 ADR0의 입력을 ADR(ADR0)라고 기재하였다. 다음에 칩 선택 신호 CE0만을 액티브로 하여, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다. 이에 따라 플래시 메모리 칩 0 내부의 버퍼에 데이터 블록 D0이 저장된다. 단, 메모리 셀에의 기입은 행해지지 않는다. 도 7에 데이터 블록 D0의 입력을 TR(D0)라고 기재하였다. 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다. 이에 따라 플래시 메모리 칩 내의 버퍼에 저장한 데이터 블록 D0의 메모리 셀에의 기입이 개시된다. 도 7에 기입 커맨드 입력을 CMD(SW)라고 기재하였다. TC-BUSY는 플래시 메모리 칩 내의 버퍼의 내용을 메모리 셀에 기입하는 데 필요한 시간으로, 그 동안 플래시 메모리 칩의 Ready/Busy 단자의 출력은 Busy를 나타낸다. 다음에 플래시 메모리 칩 선택 신호 CE1을 액티브로 하여, 데이터 블록 D1을 플래시 메모리 칩 1에 입력(TR(D1))하고, 계속하여 기입 개시 커맨드를 입력(CMD(SW))한다. 이하, 순차적으로 플래시 메모리 칩 선택 신호를 전환하면서, 각 플래시 메모리 칩에의 데이터 블록 입력(TR(D2), TR(D3))과 기입 개시 커맨드 입력(CMD(SW))을 행한다. TT-BUSY는 Ready/Busy 판정으로 Busy라고 판정되는 기간이다. 여기서는, 제1 Ready/Busy 판정 방법을 이용하고 있기 때문에, 1개라도 Busy의 플래시 메모리 칩이 있는 동안은 Busy라고 판정된다. Ready/Busy 판정의 결과가 Ready라고 판정되고나서, 각 플래시 메모리 칩의 스테이터스 레지스터를 순차적으로 판독하여, 각 커맨드의 실행 결과를 확인한다. 도 7에 스테이터스 레지스터의 판독을 ST라고 기재하였다.
도 8에, 도 3의 기입 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 기입 커맨드를 입력한다(CMD(W)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 칩 선택 신호 CE0 만을 액티브로 하여, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다(TR(D0)). 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다(CMD(SW)). 다음에 칩 선택 신호 CE1만을 액티브로 하여, 데이터 블록 D1을 플래시 메모리 칩 1에 입력하고(TR(D1)), 계속하여 기입 커맨드를 입력한다(CMD(SW)). 이하, 순차적으로 플래시 메모리 칩 선택 신호를 전환하면서, 각 플래시 메모리 칩에의 데이터 블록 입력(TR(D2), TR(D3))과 기입 커맨드 입력(CMD(SW))을 행한다. 여기서는, 제2 Ready/Busy 판정 방법을 이용하고 있어, 플래시 메모리 칩의 Ready/Busy 판정을 개별로 행할 수 있다. 따라서, 빠르게 Ready가 된 플래시 메모리 칩으로부터 순서대로 커맨드의 실행 결과의 확인을 행하는 방법도 가능하고, 데이터 블록을 입력한 순서대로 Ready/Busy 판정으로 주목하는 플래시 메모리 칩을 전환하고, 주목하는 플래시 메모리 칩의 커맨드 실행 결과를 확인하고나서 Ready/Busy 판정으로 주목하는 플래시 메모리 칩을 다음 칩으로 전환하는 방법도 가능하다. 도 8에는, 후자의 데이터 블록의 연결 순서대로 Ready/Busy 판정으로 주목하는 플래시 메모리 칩을 전환하는 방법을 도시하였다.
도 9에, 도 4의 기입 제어 플로우를 시간축 상에 도시한다. 단, 플래시 메모리 칩 0과 플래시 메모리 칩 1로 Ready/Busy 판정의 그룹 0을, 플래시 메모리 칩 2와 플래시 메모리 칩 3으로 동일하게 그룹 1을 구성하는 것으로 한다. 처음에 플래시 메모리 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 기입 커맨드를 입력한다(CMD(W)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 선택 신호 CE0만을 액티브로 하고, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다(TR(D0)). 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다(CMD(SW)).다음에 플래시 메모리 칩 선택 신호 CE1만을 액티브로 하여, 플래시 메모리 칩 1에 대하여 데이터 블록 D1의 입력(TR(D1)), 기입 개시 커맨드의 입력(CMD(SW))을 연속하여 행한다. 이하, 순차적으로 플래시 메모리 칩 선택 신호를 전환하면서, 각 플래시 메모리 칩에의 데이터 블록의 입력(TR(D2), TR(D3))과 기입 개시 커맨드의 입력(CMD(SW))을 행한다. 전체 데이터 블록과 기입 개시 커맨드를 입력한 후, Ready/Busy 판정과 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행한다. 여기서는 그룹별로 Ready/Busy 판정을 행할 수 있다. 따라서, 빠르게 Ready를 검출한 그룹으로부터 순서대로 커맨드 실행 결과를 확인해도, 데이터 블록을 입력한 그룹부터 순서대로, 즉 그룹 0으로부터 순서대로, Ready/Busy 판정과 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행해도 된다. 도 9에는 후자의 데이터 블록을 입력한 순서대로 Ready/Busy 판정을 행하는 방법을 도시하였다. 또, 각 그룹이 Busy라고 판정되는 기간을 TG-BUSY라고 기재하였다.
도 10에, 도 5의 기입 제어 플로우를 시간축 상에 도시한다. 처음에 플래시 메모리 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 기입 커맨드를 입력한다(CMD(W)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 선택 신호 CE0만을 액티브로 하여, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다(TR(D0)). 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다(CMD(SW)). 다음에 칩 선택 신호 CE1만을 액티브로 하여, 데이터 블록 D1을 플래시 메모리 칩 1에 입력하고(TR(D1)), 계속하여 기입 커맨드를 입력(CMD(SW))한다. 이하, 순차적으로 칩 선택 신호를 전환하면서, 각 칩에의 데이터 블록 입력(TR(D2), TR(D3))과 기입 커맨드 입력(CMD(SW))을 행한다. 다음에 Ready/Busy 판정과 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행한다. Ready/Busy 판정과 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인의 수순으로는 2개의 방법이 있다. 하나의 방법은, 플래시 메모리 칩을 순차적으로 전환하면서 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행하고, Ready를 검출한 경우에는, 그 때의 스테이터스 레지스터의 값을 이용하여, 커맨드 실행 결과의 확인을 행하는 방법이다. 이 방법은, 빠르게 Ready가 된 순서대로 커맨드 실행 결과를 확인하게 된다. 다른 하나의 방법은 1개의 플래시 메모리에 주목하여, 그 플래시 메모리 칩이 Ready가 될 때까지 그 플래시 메모리 칩에 관하여 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행하고, 그 후 주목하는 플래시 메모리 칩을 전환하는 방법이다. 커맨드 실행 결과의 확인에는 전자의 방법과는 마찬가지로, Ready를 검출했을 때의 스테이터스 레지스터의 값을 이용한다. 도 10에는 후자의 방법을 도시하여, 데이터 블록을 입력한 순서대로 주목하는 플래시 메모리 칩을 전환하고 있다.
다음에 데이터를 복수개의 플래시 메모리 칩의 복수개의 어드레스에 걸쳐 기입하는 경우의 기입 제어 방법에 대하여 도 11 내지 도 18을 이용하여 설명한다. 데이터를 섹터 사이즈의 정수배의 크기의 복수개의 데이터 블록으로 분할하고, 이들을 복수개의 플래시 메모리 칩의 복수개의 어드레스에 분산하여 기입한다.
도 11 내지 도 14에, 제1 내지 제4 Ready/Busy 판정 방법에 대응한 기입 제어 플로우를 도시한다. 도 11은 제1 Ready/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우이다. STEP1에서는, 기입하는 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 기입 커맨드를 입력한다. STEP2에서는 STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는, 1개의 칩을 선택하여, 데이터 블록의 입력과 기입 개시 커맨드의 입력을 행한다. STEP3은, STEP1에서 기입 커맨드를 입력하고, STEP2에서 섹터 어드레스를 입력한 전체 플래시 메모리 칩에 대하여 순차적으로 행한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 각 플래시 메모리 칩의 스테이터스 레지스터를 순차적으로 판독함으로써, STEP3에서 입력한 기입 개시 커맨드의 실행 결과를 확인한다. 상기, STEP1 내지 STEP5의 처리를, 기입을 행하는 섹터 어드레스를 바꾸면서, 전체 데이터 블록의 기입이 종료할 때까지 행한다.
도 12에, 제2 Ready/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우를 도시한다. STEP1에서는, 기입하는 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 기입 커맨드를 입력한다. STEP2에서는, STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 한개의 플래시 메모리 칩을 선택하여, 데이터 블록의 입력과 기입 개시 커맨드의 입력을 계속하여 행한다. STEP3은, 데이터 블록을 기입하는 순서로, 선택할 플래시 메모리 칩을 순차적으로 전환하면서, 동일 어드레스에 대한 데이터 블록의 입력과 기입 개시 커맨드의 입력이 종료할 때까지, 반복하여 행한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 STEP4에서 Ready를 검출한 플래시 메모리 칩의 스테이터스 레지스터를 판독함으로써, 기입 개시 커맨드의 실행 결과의 확인을 행한다. 여기서는, 플래시 메모리 칩마다 Ready/Busy 판정을 할수 있다. 따라서, 데이터 블록을 입력한 플래시 메모리 칩으로부터 순서대로, Ready/Busy 판정과 기입 개시 커맨드의 실행 결과의 확인을 행하는 것도 가능하지만, 빠르게 Ready가 된 플래시 메모리 칩으로부터 순서대로, 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행할 수도 있다. STEP6에서는, STEP5에서 커맨드 실행 결과를 확인한 플래시 메모리 칩에 대하여, 다음의 기입 커맨드와 섹터 어드레스와 데이터 블록과 기입 개시 커맨드의 입력을 행한다. STEP4 내지 STEP6은 전체 데이터 블록의 기입 개시 커맨드의 입력이 종료할 때까지 반복하여 행한다. STEP7에서는 STEP6에서 각 플래시 메모리 칩에 마지막으로 입력한 기입 개시 커맨드에 대하여, Ready/Busy 판정을 행하고, STEP7에서는 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행한다.
도 13에, 제3 Ready/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우를 도시한다. STEP1에서는 기입하는 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 기입 커맨드를 입력한다. STEP2에서는 STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 한 개의 플래시 메모리 칩을 선택하여, 데이터 블록의 입력과 기입 개시 커맨드의 입력을 계속하여 행한다. STEP3은 데이터 블록을 기입하는 순서로, 선택할 플래시 메모리 칩을 순차적으로 전환하면서, 동일 어드레스에 대한 데이터 블록의 입력과 기입 개시 커맨드의 입력이 종료할 때까지, 반복하여 행한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 Ready를 검출한 그룹을 구성하는 한 장의 플래시 메모리 칩을 선택하여, 기입 개시 커맨드의 실행 결과를 확인하고, 계속하여, 다음의 기입 커맨드와 섹터 어드레스와 데이터 블록과 기입 개시 커맨드의 입력을 행한다. STEP5는 STEP4에서 Ready를 검출한 그룹 내에서 기입 개시 커맨드 실행 결과의 확인이 끝나 있지 않은 전체 플래시 메모리 칩에 대하여 행한다. STEP4와 STEP5는, 전체 데이터 블록의 기입 개시 커맨드의 입력이 종료할 때까지 반복하여 행한다. STEP6에서는 STEP5에서 각 플래시 메모리 칩에 마지막으로 입력한 기입 개시 커맨드에 대하여 Ready/Busy 판정을 행하고, STEP7에서는 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행한다.
도 14에, 제4 Ready/Busy 판정 방법을 이용하는 경우의 기입 제어 플로우를 도시한다. STEP1에서는 기입하는 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 기입 커맨드를 입력한다. STEP2에서는 STEP1에서 기입 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 1개의 칩을 선택하여, 데이터 블록의 입력과 기입 개시 커맨드의 입력을 계속하여 행한다. STEP3은 데이터 블록을 기입하는 순서로, 선택할 플래시 메모리 칩을 순차적으로 전환하면서, 동일 어드레스에의 전체 데이터 블록의 입력이 종료할 때까지, 반복하여 행한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 스테이터스 레지스터 판독에 의한 기입 개시 커맨드 실행 결과의 확인을 행한다. STEP6에서는 STEP5에서 커맨드의 실행 결과를 확인한 플래시 메모리칩에 대하여, 다음의 기입 커맨드와 섹터 어드레스와 데이터 블록과 기입 개시 커맨드의 입력을 행한다. STEP4 내지 STEP6는, 전체 데이터 블록의 기입 개시 커맨드의 입력이 종료할 때까지 반복하여 행한다. 또한, STEP4과 STEP5의 처리는 데이터 블록을 입력한 순서로 처리를 행하는 방법과, Ready가 된 플래시 메모리 칩으로부터 순차적으로 처리를 행하는 방법이 있다. STEP7은 STEP6에서 각 플래시 메모리 칩에 마지막으로 입력한 기입 개시 커맨드에 대한 Ready/Busy 판정이고, STEP8에서는 스테이터스 레지스터 판독에 의한 기입 개시 커맨드의 실행 결과의 확인을 행한다.
다음에 도 11 내지 도 14에서 설명한 기입 제어 플로우에 대하여, 도 15 내지 도 19를 이용하여 구체적으로 설명한다. 도 15에, 데이터의 물리적인 기입 위치를 도시한다. 기입할 데이터 D를 섹터 사이즈의 정수배의 크기의 데이터 블록 D0 내지 D6으로 분할한다. 여기서는, 일례로서 데이터 블록의 크기가 섹터 사이즈와 같은 경우에 대해 설명한다. 연속하는 데이터 블록을 가능한 한 다른 플래시 메모리 칩에 분산시키고, 또한 가능한 한 동일 섹터 어드레스에 기입한다. 여기서는, 일례로서 데이터 블록 D0 내지 D3을 플래시 메모리 칩 0 내지 플래시 메모리 칩 3의 동일 섹터 어드레스 ADR0에, 데이터 블록 D4 내지 D6을 플래시 메모리 칩 0 내지 플래시 메모리 칩 2의 동일 섹터 어드레스 ADR1에 저장한다.
도 16에, 도 11의 기입 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 기입 커맨드를 입력한다(CMD(W)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 칩 선택 신호 CE0만을 액티브로 하여, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다(TR(D0)). 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다(CMD(SW)). 다음에 칩 선택 신호 CE1만을 액티브로 하여, 데이터 블록 D1을 칩 1에 입력하고(TR(D1)), 계속하여 기입 커맨드를 입력한다(CMD(SW)). 이하, 순차적으로 칩 선택 신호를 전환하면서, 데이터 블록 D3까지의 데이터 블록 입력(TR(D2), TR(D3))과 기입 개시 커맨드 입력(CMD(SW))을 행한다. TT-BUSY는 Ready/Busy 판정에 의해 Busy로 판정되는 기간이다. 여기서는 제1 Ready/Busy 판정 방법을 이용하고 있기 때문에, 1개라도 Busy의 플래시 메모리 칩이 있는 경우에는 Busy라고 판정된다. Ready를 검출하고나서, 각 플래시 메모리 칩의 스테이터스 레지스터를 판독하여(ST), 각 커맨드의 실행 결과를 확인한다. 각 커맨드의 실행 결과 확인 후, 칩 선택 신호 CE0 내지 CE2를 액티브로 하여, 데이터 블록 0 내지 데이터 블록 3의 기입과 마찬가지의 수순으로, 플래시 메모리 칩 0 내지 플래시 메모리 칩 2에 동시에 기입 커맨드를 입력하고(CMD(W)), 동시에 동일 섹터 어드레스 ADR1을 입력하고(ADR(ADR1)), 플래시 메모리 칩 선택 신호를 전환하면서 데이터 블록의 입력(TR(D4), TR(D5), TR(D6)), 기입 개시 커맨드의 입력(CMD(SW)), Ready의 검출 및 커맨드 실행 결과의 확인(ST)을 행한다.
도 17에, 도 12의 기입 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리칩 3에 동시에 기입 커맨드를 입력한다(CMD(W)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 칩 선택 신호 CE0만을 액티브로 하여, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다(TR(D0)). 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다(CMD(SW)). 다음에 칩 선택 신호 CE1만을 액티브로 하여, 데이터 블록 D1을 플래시 메모리 칩 1에 입력하고(TR(D1)), 계속하여 기입 커맨드를 입력한다(CMD(SW)). 이하, 순차적으로 칩 선택 신호를 전환하면서, 데이터 블록 D3까지의 데이터 블록 입력(TR(D2), TR(D3))과 기입 개시 커맨드 입력(CMD(SW))을 행한다. 데이터 블록 D0 내지 D3의 기입 개시 커맨드를 입력한 후, Ready/Busy 판정을 행한다. 여기서는, 플래시 메모리 칩의 Ready/Busy 판정을 개별로 행할 수 있다. 따라서, 빠르게 Ready가 된 플래시 메모리 칩으로부터 순서대로 다음의 처리를 행할 수도 있지만, 여기서는, Ready/Busy 판정으로 주목하는 플래시 메모리 칩을 순차적으로 전환하는 방법을 나타낸다. 플래시 메모리 칩 0이 Ready가 될 때까지 Ready/Busy 판정을 행하고, 다음에 기입 개시 커맨드의 실행 결과의 확인을 행한다. 계속하여 플래시 메모리 칩 0에 대하여, 다음의 기입 커맨드의 입력, 섹터 어드레스 ADR1의 입력, 데이터 블록 D4의 입력, 기입 개시 커맨드의 입력을 행한다. 이하, 주목하는 플래시 메모리 칩을 전환하면서, 각 플래시 메모리 칩에 대하여, Ready의 확인, 전회 발행한 기입 개시 커맨드의 실행 결과의 확인, 데이터 블록의 입력, 기입 개시 커맨드의 입력을 행한다. 전체 데이터 블록에 대한 기입 개시 커맨드의 입력이 종료한 후에는, 전체 기입 개시 커맨드의 실행 결과를 확인할 때까지, Ready/Busy 판정과 커맨드 실행 결과의 확인을 행한다.
도 18에, 도 13의 기입 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 기입 커맨드를 입력한다(CMD(W)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 칩 선택 신호 CE0만을 액티브로 하여, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다(TR(D0)). 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다(CMD(SW)). 다음에 칩 선택 신호 CE1만을 액티브로 하여, 데이터 블록 D1을 플래시 메모리 칩 1에 입력하고(TR(D1)), 계속하여 기입 커맨드를 입력한다(CMD(SW)). 이하, 순차적으로 칩 선택 신호를 전환하면서, 데이터 블록 D3까지의 데이터 블록 입력(TR(D2), TR(D3))과 기입 개시 커맨드 입력(CMD(SW))을 행한다. 데이터 블록 D0 내지 D3의 기입 개시 커맨드를 입력한 후, Ready/Busy 판정을 행한다. 여기서는, 빠르게 Ready가 된 그룹으로부터 순서대로 다음의 처리를 행하는 것도 가능하지만, 데이터 블록을 입력한 순서대로 주목하는 그룹을 전환하는 방법을 나타낸다. 그룹 0이 Ready가 될 때까지 Ready/Busy 판정을 행한다. Ready 검출 후, 플래시 메모리 칩 0의 섹터 어드레스 ADR0에 대한 기입 개시 커맨드의 실행 결과의 확인을 행한다. 계속하여 플래시 메모리 칩 0에 대하여, 다음의 기입 커맨드의 입력, 섹터 어드레스 ADR1의 입력, 데이터 블록 D4의 입력, 기입 개시 커맨드의 입력을 행한다. 다음에, 플래시 메모리 칩 1의 섹터 어드레스 ADR0에 대한 기입 개시 커맨드의 실행 결과의 확인을 행한다. 계속하여 플래시 메모리 칩 1에 대하여, 다음의 기입 커맨드의 입력, 섹터 어드레스 ADR1의 입력, 데이터 블록 D5의 입력, 기입 개시 커맨드의 입력을 행한다. 다음에, 주목하는 그룹을 그룹 0으로부터 그룹 1로 전환하고, 이하 Ready 검출 대기, 그룹 내의 플래시 메모리 칩에 대하여 데이터 블록의 연결 순서대로, 전회 발행한 기입 개시 커맨드의 실행 결과의 확인, 데이터 블록의 입력, 기입 개시 커맨드의 입력을 행한다. 전체 데이터 블록에 대한 기입 개시 커맨드의 입력이 종료한 후에는 전체 기입 개시 커맨드의 실행 결과를 확인할 때까지, Ready/Busy 판정과 커맨드 실행 결과의 확인을 행한다.
도 19에, 도 14의 기입 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 기입 커맨드를 입력한다(CMD(W)). 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 선택 신호 CE0만을 액티브로 하여, 데이터 블록 D0을 플래시 메모리 칩 0에 입력한다(TR(D0)). 데이터 블록 D0을 입력한 후, 계속하여 플래시 메모리 칩 0에 기입 개시 커맨드를 입력한다(CMD(SW)). 다음에 플래시 메모리 칩 선택 신호 CE1만을 액티브로 하여, 데이터 블록 D1의 입력(TR(D1))과 기입 커맨드의 입력(CMD(SW))을 계속하여 행한다. 이하, 순차적으로 플래시 메모리 칩 선택 신호를 전환하면서, 데이터 블록 D3까지의 데이터 블록 입력(TR(D2), TR(D3))과 기입 개시 커맨드 입력(CMD(SW))을 행한다. 데이터 블록 D0 내지 D3의 기입 개시 커맨드를 입력한 후, 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행한다. 플래시 메모리 칩을 순차적으로 전환하면서 스테이터스 레지스터를 판독하고, 빠르게 Ready를 검출한 플래시 메모리 칩으로부터 순서대로 다음의 처리를 행할 수도 있지만, 여기서는, 1개의 플래시 메모리 칩에 주목하여 Ready/Busy 판정을 행하고, 주목하는 플래시 메모리의 커맨드 실행 결과를 확인하고나서, 주목하는 플래시 메모리 칩을 다음의 플래시 메모리 칩으로 전환하는 방법을 나타낸다. 플래시 메모리 칩 0이 Ready가 될 때까지 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행하고(ST), Ready를 검출했을 때의 스테이터스 레지스터의 값에 의해 기입 개시 커맨드의 실행 결과의 확인을 행한다. 계속하여 다음의 기입 커맨드의 입력(CMD(W)), 섹터 어드레스 ADR1의 입력(ADR(ADR1)), 데이터 블록 D4의 입력(TR(D4)), 기입 개시 커맨드의 입력(CMD(SW))을 행한다. 다음에 주목하는 플래시 메모리 칩을 플래시 메모리 칩 1로 전환한다. 이하, Ready/Busy 판정과 전회 발행한 기입 개시 커맨드의 실행 결과의 확인(ST), 다음의 기입 커맨드의 입력(CMD(W)), 데이터 블록의 입력(TR(D5), TR(D6)), 기입 개시 커맨드의 입력(CMD(SW))을 행한다. 마지막으로 데이터 블록 D4로부터 D6의 기입 개시 커맨드에 대한 Ready/Busy 판정과 기입 개시 커맨드의 실행 결과의 확인을 행한다.
다음에 플래시 메모리 칩의 소거 제어 방법에 대하여, 복수개의 플래시 메모리 칩의 하나의 어드레스를 소거하는 경우와 복수개의 어드레스를 소거하는 경우로 나누어 설명한다.
처음에, 하나의 어드레스를 소거하는 경우의 소거 제어 방법에 대하여 도 20내지 도 28를 이용하여 설명한다.
도 20 내지 도 23에, 제1 내지 제4 Ready/Busy 판정 방법에 대응한 소거 제어 플로우를 도시한다. 도 20은 제1 Ready/Busy 판정 방법을 이용하는 경우의 소거 제어 플로우이다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 소거 커맨드를 입력한다. STEP2에서는 STEP1에서 소거 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 어드레스를 입력한 전체 플래시 메모리 칩에 동시에 소거 개시 커맨드를 입력한다. STEP4에서는, 플래시 메모리 칩의 Ready/Busy 판정 결과가 Ready가 될 때까지, Ready/Busy 판정을 행한다. STEP5에서는 각 플래시 메모리 칩의 스테이터스 레지스터를 순차적으로 판독하여, 소거 개시 커맨드의 실행 결과를 확인한다.
도 21에, 제2 Ready/Busy 판정 방법을 이용하는 경우의 소거 제어 플로우를 도시한다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 소거 커맨드를 입력한다. STEP2에서는 STEP1에서 소거 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 어드레스를 입력한 전체 플래시 메모리 칩에 동시에 소거 개시 커맨드를 입력한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행하고, STEP5에서는 소거 개시 커맨드의 실행 결과의 확인을 행한다. 여기서는 플래시 메모리 칩마다 Ready/Busy 판정을 할 수 있다. 따라서, Ready/Busy 판정을 행하는 플래시 메모리 칩의 순서를 미리 정해 두고, 그 순서대로, Ready/Busy 판정과 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행하는 것도 가능하지만, 빠르게 Ready가 된 플래시 메모리 칩으로부터 순서대로, 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행할 수도 있다. STEP4와 STEP5는 소거 개시 커맨드를 입력한 전체 플래시 메모리 칩에 대하여 소거 개시 커맨드의 실행 결과를 확인할 때까지 반복한다.
도 22에, 제3 Ready/Busy 판정 방법을 이용하는 경우의 소거 제어 플로우를 도시한다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 소거 커맨드를 입력한다. STEP2에서는, STEP1에서 소거 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 동일 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 어드레스를 입력한 전체 플래시 메모리 칩에 동시에 소거 개시 커맨드를 입력한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 STEP4에서 Ready를 검출한 그룹을 구성하는 각 플래시 메모리 칩의 스테이터스 레지스터를 판독함으로써 소거 개시 커맨드의 실행 결과를 확인한다. STEP4와 STEP5는 전체 소거 개시 커맨드의 실행 결과를 확인할 때까지 반복하여 행한다. 또한, STEP4와 STEP5는 미리 Ready/Busy 판정을 행하는 그룹의 순서를 정해 두고, 그 순서대로 Ready/Busy 판정을 행할 수도 있지만, 빠르게 Ready를 검출한 그룹부터 순서대로 커맨드 실행 결과의 확인을 행할 수도 있다.
도 23에, 제4 Ready/Busy 판정 방법을 이용하는 경우의 소거 제어 플로우를 도시한다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 소거 커맨드를 입력한다. STEP2에서는 STEP1에서 소거 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 동일 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 어드레스를 입력한 플래시 메모리 칩에 동시에 소거 개시 커맨드를 입력한다. STEP4에서는 각 플래시 메모리 칩의 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행하고, STEP5에서는 커맨드 실행 결과의 확인을 행한다. STEP4와 STEP5는 전체 소거 개시 커맨드의 실행 결과를 확인할 때까지 반복하여 행한다. 또한, STEP4과 STEP5는 1개의 플래시 메모리 칩에 주목하여, 그 플래시 메모리 칩의 Ready를 검출할 때까지는 그 스테이터스 레지스터 판독과 커맨드 실행 결과의 확인을 행하고, 그 후 주목하는 플래시 메모리 칩을 다음 플래시 메모리 칩으로 전환하는 방법도 가능하며, 플래시 메모리 칩을 순차적으로 전환하면서 스테이터스 레지스터를 판독하고, Ready를 검출한 플래시 메모리 칩으로부터 순서대로 커맨드 실행 결과 확인을 행하는 방법도 가능하다.
다음에 도 20 내지 도 23에서 설명한 소거 제어 플로우에 대하여, 도 24 내지 도 27을 이용하여, 구체적으로 설명한다.
도 24에, 물리적인 소거 위치를 도시한다. 플래시 메모리 칩 0 내지 플래시 메모리 칩 3의 섹터 어드레스 ADR0을 소거한다.
도 25에, 도 20의 제어 플로우를 시간축 상에 도시한다. 처음에 플래시 메모리 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 소거 커맨드를 입력한다(CMD(E)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에,동시에 소거 개시 커맨드를 입력한다(CMD(SE)). 소거 개시 커맨드의 입력에 의해 메모리 셀 내의 데이터 소거가 개시된다. 메모리 셀 내의 데이터 소거가 개시되고 나서, 데이터 소거가 종료하기까지의 사이, 각 플래시 메모리 칩의 Ready/Busy 단자의 출력은 Busy를 나타낸다. TC-BUSY는 각 플래시 메모리 칩의 Ready/Busy 단자의 출력이, Busy가 되는 기간이다. 또한, TT-BUSY는, Ready/Busy 판정으로 Busy라고 판정되는 기간이다. 여기서는, 전체 플래시 메모리 칩의 Ready/Busy 신호의 논리곱으로 플래시 메모리 칩의 Ready/Busy 판정을 행한다. 따라서, 1개라도 Busy인 플래시 메모리 칩이 있는 경우에는, 그 동안에는 Busy라고 판정된다. 플래시 메모리 칩 0 내지 플래시 메모리 칩 3의 메모리 셀의 소거가 종료하고, Ready/Busy 판정의 결과가 Ready라고 판정되고나서, 각 플래시 메모리 칩의 스테이터스 레지스터를 판독하여, 각 커맨드의 실행 결과를 확인한다(ST).
도 26에, 도 21의 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 커맨드를 입력한다. 도 26에는 소거 커맨드 입력을 CMD(E)라고 기재하였다. 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 개시 커맨드를 입력한다(CMD(SE)). 다음에 각 플래시 메모리 칩의 Ready/Busy 판정과 스테이터스 레지스터 판독에 의한 커맨드 실행 결과의 확인을 행한다. 여기서는, 각 플래시 메모리 칩의 Ready/Busy 판정을개별적으로 행할 수 있다. 따라서, 플래시 메모리 칩 0으로부터 순서대로, Ready의 검출과 커맨드 실행 결과의 확인을 행할 수도 있지만, 빠르게 Ready를 검출한 플래시 메모리 칩으로부터 순서대로 커맨드 실행 결과의 확인을 행할 수도 있다. 도 26에는 빠르게 Ready를 검출한 플래시 메모리 칩으로부터 순서대로, 커맨드 실행 결과의 확인을 행하는 경우를 도시하였다.
도 27에, 도 22의 제어 플로우를 시간축 상에 도시한다. 플래시 메모리 칩 0과 플래시 메모리 칩 1로 Ready/Busy 판정의 그룹 0을, 플래시 메모리 칩 2와 플래시 메모리 칩 3으로 Ready/Busy 판정의 그룹 1을 구성한다. 처음에 플래시 메모리 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 소거 커맨드를 입력한다(CMD(E)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 개시 커맨드를 입력한다(CMD(SE)). 다음에 Ready/Busy 판정을 행하여, Ready의 그룹을 구성하는 각 플래시 메모리 칩의 스테이터스 레지스터를 판독함으로써, 커맨드의 실행 결과를 확인한다. 도 27의 예는 그룹 1이 그룹 0보다 먼저 소거가 종료되고 있기 때문에, 그룹 1에 대한 처리를 그룹 0보다 먼저 행하고 있다. 그룹 0과 그룹 1에서 Ready/Busy 판정의 우선 순위를 정하고, 우선 순위가 높은 쪽부터 순서대로 Ready를 검출할 때까지 Ready/Busy 판정을 행해도 된다.
도 28에, 도 23의 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 커맨드를 입력한다(CMD(E)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 개시 커맨드를 입력한다(CMD(SE)). 다음에 전체 커맨드 실행 결과를 확인할 때까지, 플래시 메모리 칩을 전환하면서, 각 플래시 메모리 칩의 스테이터스 레지스터를 판독하여, 커맨드의 실행 결과를 확인한다.
다음에 복수개의 플래시 메모리 칩의 복수개의 어드레스를 소거하는 경우의 소거 제어 방법에 대하여 도 29 내지 도 37을 이용하여 설명한다.
도 29 내지 도 32에, 제1 내지 제4 Ready/Busy 판정 방법에 대응한 소거 제어 플로우를 도시한다. 도 29는 제1 Read/Busy 판정 방법을 이용한 경우의 소거 제어 플로우이다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 소거 커맨드를 입력한다. STEP2에서는 STEP1에서 소거 커맨드를 입력한 플래시 메모리 칩에 동시에 동일 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 어드레스를 입력한 전체 플래시 메모리 칩에 동시에 소거 개시 커맨드를 입력한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 소거 개시 커맨드를 입력한 각 플래시 메모리 칩의 스테이터스 레지스터를 순차적으로 판독함으로써 커맨드의 실행 결과를 확인한다. 상기 STEP1 내지 STEP5의 처리를, 소거하는 어드레스를 바꾸면서 원하는 어드레스의 소거가 종료할 때까지 반복하여 행한다.
도 30에, 제2 Ready/Busy 판정 방법을 이용한 경우의 소거 제어 플로우를 도시한다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 소거 커맨드를 입력한다. STEP2에서는 STEP1에서 소거 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 섹터 어드레스를 입력한 전체 플래시 메모리 칩에, 동시에 소거 개시 커맨드를 입력한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 STEP4에서 Ready를 검출한 플래시 메모리 칩의 스테이터스 레지스터를 판독함으로써 커맨드의 실행 결과를 확인한다. STEP6에서는 STEP5에서 커맨드의 실행 결과를 확인한 플래시 메모리 칩의 다른 어드레스를 소거할 필요가 있는 경우에는 그 플래시 메모리 칩에 소거 커맨드와 어드레스와 소거 개시 커맨드의 입력을 행한다. STEP4 내지 STEP6은 원하는 플래시 메모리 칩의 원하는 어드레스의 소거가 전부 종료할 때까지 반복하여 행한다.
도 31에, 제3 Ready/Busy 판정 방법을 이용한 경우의 소거 제어 플로우를 도시한다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 소거 커맨드를 입력한다. STEP2에서는 STEP1에서 소거 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 섹터 어드레스를 입력한 전체 플래시 메모리 칩에 동시에 소거 개시 커맨드를 입력한다. STEP4에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP5에서는 STEP4에서 Ready를 검출한 그룹을 구성하는 플래시 메모리 칩의 스테이터스 레지스터를 판독함으로써 커맨드의 실행 결과를 확인한다. STEP6에서는 STEP4에서 Ready를 검출한 그룹 내의 플래시 메모리 칩의 다른 어드레스를 소거할 필요가 있는 경우에는 그 플래시 메모리 칩에 소거 커맨드와 어드레스와 소거 개시 커맨드의 입력을 행한다. STEP4 내지 STEP6은 원하는 플래시 메모리 칩의 원하는 어드레스의 소거가 전부 종료할 때까지 반복하여 행한다.
도 32에, 제4 Ready/Busy 판정 방법을 이용한 경우의 소거 제어 플로우를 도시한다. STEP1에서는 소거 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 소거 커맨드를 입력한다. STEP2에서는 STEP1에서 소거 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 STEP1에서 소거 커맨드를, STEP2에서 어드레스를 입력한 전체 플래시 메모리 칩에, 동시에 소거 개시 커맨드를 입력한다. STEP4에서는 Ready를 검출할 때까지 스테이터스 레지스터를 판독함으로써 Ready/Busy 판정을 행한다. STEP5에서는 STEP4에서 Ready를 검출한 플래시 메모리 칩의 커맨드 실행 결과를 확인한다. STEP6에서는 STEP5에서 커맨드 실행 결과를 확인한 플래시 메모리 칩의 다른 어드레스를 소거할 필요가 있는 경우, 소거 커맨드의 입력과 어드레스의 입력과 소거 개시 커맨드의 입력을 행한다. STEP4 내지 STEP6은 원하는 플래시 메모리 칩의 원하는 어드레스의 소거가 종료할 때까지 반복하여 행한다.
다음에 도 29 내지 도 32에서 설명한 소거 제어 플로우에 대하여, 도 33 내지 도 37을 이용하여 구체적으로 설명한다.
도 33에, 물리적인 소거 위치를 도시한다. 플래시 메모리 칩 0 내지 플래시 메모리 칩 3의 섹터 어드레스 ADR0와, 플래시 메모리 칩 0과 플래시 메모리 칩 1의 섹터 어드레스 ADR1을 소거한다.
도 34에, 도 29의 소거 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 소거 커맨드를 입력한다(CMD(E)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 개시 커맨드를 입력한다(CMD(ES)). 다음에 Ready/Busy 판정을 행한다. 여기서는, 제1 Ready/Busy 판정 방법을 이용하고 있다. TT-BUSY는 Ready/Busy 판정의 결과가 Busy로 판정되는 기간이다. Ready를 검출하고나서, 각 플래시 메모리 칩의 스테이터스 레지스터를 판독하여, 각 커맨드의 실행 결과를 확인한다. 이하, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3의 섹터 어드레스 ADR0의 소거와 마찬가지의 수순으로, 플래시 메모리 칩 0 내지 플래시 메모리 칩 2의 섹터 어드레스 ADR1의 소거를 행한다.
도 35에 도 30의 소거 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 소거 커맨드를 입력한다(CMD(E)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 개시 커맨드를 입력한다(CMD(SE)). 이하, Ready/Busy 판정을 행하여, 빠르게 Ready를 검출한 플래시 메모리 칩으로부터 순서대로, 스테이터스 레지스터를 판독하여, 커맨드의 실행 결과를 확인한다. 커맨드 실행 결과를 확인한 후, 그 플래시 메모리 칩의 섹터 어드레스 ADR1을 소거할 필요가 있는 경우에는, 커맨드 실행 결과의 확인에 계속하여, 소거 커맨드의 입력(CMD(E)), 섹터 어드레스 ADR1의 입력(ADR(ADR1)), 소거 개시 커맨드의 입력(CMD(SE))을 행한다.
도 36에, 도 31의 소거 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 커맨드를 입력한다(CMD(E)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 개시 커맨드를 입력한다(CMD(SE)). 이하, Ready/Busy 판정을 행하여, 빠르게 Ready를 검출한 그룹을 구성하는 플래시 메모리 칩으로부터 순서대로, 스테이터스 레지스터를 판독하여, 커맨드의 실행 결과를 확인한다. 커맨드 실행 결과를 확인한 후, 그 플래시 메모리 칩의 섹터 어드레스 ADR1을 소거할 필요가 있는 경우에는, 커맨드 실행 결과의 확인에 계속하여, 소거 커맨드의 입력(CMD(E)), 섹터 어드레스 ADR1의 입력(ADR(ADR1)), 소거 개시 커맨드의 입력(CMD(SE))을 행한다.
도 37에 도 32의 소거 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 소거 커맨드를 입력한다(CMD(E)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 소거 개시 커맨드를입력한다(CMD(SE)). 이하, 각 플래시 메모리 칩의 스테이터스 레지스터를 판독함으로써 Ready/Busy 판정을 행하여, Ready를 검출한 플래시 메모리 칩의 커맨드 실행 결과를 확인한다. 커맨드 실행 결과 확인 후, 그 플래시 메모리 칩의 섹터 어드레스 ADR1을 소거할 필요가 있는 경우에는, 커맨드 실행 결과 확인에 계속하여, 소거 커맨드의 입력(CMD(E)), 섹터 어드레스 ADR1의 입력(ADR(ADR1)), 소거 개시 커맨드의 입력(CMD(SE))을 행한다.
다음에 플래시 메모리 칩으로부터의 데이터 판독 제어 방법에 대하여, 판독할 데이터가 복수개의 플래시 메모리 칩의 1개의 어드레스에 기입되어 있는 경우와 복수개의 어드레스에 걸쳐 기입되어 있는 경우로 나누어서 설명한다.
처음에, 판독할 데이터가 복수개의 플래시 메모리 칩의 1개의 어드레스에 기입되어 있는 경우의 판독 제어 방법에 대하여 설명한다.
도 38 내지 도 41에, 제1 내지 제4 Ready/Busy 판정 방법에 대응한 판독 제어 플로우를 도시한다. 도 38은 제1 Ready/Busy 판정 방법을 이용하는 경우의 판독 제어 플로우이다. STEP1에서는, 판독 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 판독 커맨드를 입력한다. STEP2에서는 STEP1에서 판독 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 어드레스를 입력한다. STEP3에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP4에서는 전체 데이터 블록의 판독이 종료할 때까지, 플래시 메모리 칩을 순차적으로 전환하면서 데이터 블록을 판독한다.
도 39에, 제2 Ready/Busy 판정 방법을 이용하는 경우의 판독 제어 플로우를도시한다. STEP1에서는 판독 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 판독 커맨드를 입력한다. STEP2에서는 STEP1에서 판독 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP4에서는 데이터 블록을 판독한다. STEP3과 STEP4는 동일 플래시 메모리 칩에 대한 처리이고, 데이터 블록의 연결 순서대로 행한다.
도 40에, 제3 Ready/Busy 판정 방법을 이용하는 경우의 판독 제어 플로우를 도시한다. STEP1에서는, 판독 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 판독 커맨드를 입력한다. STEP2에서는 STEP1에서 판독 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 어드레스를 입력한다. STEP3에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP4에서는 Ready를 검출한 그룹을 구성하는 플래시 메모리 칩으로부터 순차적으로 데이터 블록을 판독한다. STEP3과 STEP4는 데이터 블록의 연결 순서대로 행한다.
도 41에, 제4 Ready/Busy 판정 방법을 이용하는 경우의 판독 제어 플로우를 도시한다. STEP1에서는, 판독 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 판독 커맨드를 입력한다. STEP2에서는, STEP1에서 판독 커맨드를 입력한 전체 플래시 메모리 칩에, 동시에 동일 어드레스를 입력한다. STEP3에서는 Ready를 검출할 때까지 스테이터스 레지스터 판독에 의해 Ready/Busy 판정을 행한다. STEP4에서는, STEP3에서 Ready를 검출한 플래시 메모리 칩으로부터 데이터 블록을 판독한다. STEP3과 STEP4는 데이터 블록의 연결 순서대로 행한다.
다음에 도 38 내지 도 41에서 설명한 판독 제어 플로우에 대하여, 도 42 내지 도 45를 이용하여 구체적으로 설명한다. 도 6에 설명한 바와 같이, 판독하고자 하는 데이터 D는 복수개의 데이터 블록 D0 내지 D3으로 분할되고, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3으로 분산하여 기입되어 있다.
도 42에 도 38의 판독 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 판독 커맨드를 입력한다(CMD(R)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 Ready/Busy 판정을 행하여, Ready를 검출하고나서, 선택하는 칩을 전환하면서 데이터 블록 D0 내지 D3을 순차적으로 각 플래시 메모리 칩으로부터 판독한다(TR(D0), TR(D1), TR(D2), TR(D3)).
도 43에 도 39의 판독 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 판독 커맨드를 입력한다(CMD(R)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 플래시 메모리 칩 0의 Ready/Busy 판정을 행하여, Ready를 검출하고나서 데이터 블록 D0을 판독한다(TR(D0)). 이하, 데이터 블록의 연결 순서대로, 각 플래시 메모리 칩의 Ready의 검출과 데이터 블록의 판독을 행한다(TR(D1), TR(D2), TR(D3)).
도 44에, 도 40의 판독 제어 플로우를 시간축 상에 도시한다. 단, 플래시메모리 칩 0과 플래시 메모리 칩 1로 Ready/Busy 판정의 그룹 0을, 플래시 메모리 칩 2와 플래시 메모리 칩 3으로 Ready/Busy 판정의 그룹 1을 구성하는 것으로 한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 판독 커맨드를 입력한다(CMD(R)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 그룹 0의 Ready/Busy 판정을 행하여, Ready를 검출하고나서, 플래시 메모리 칩 0으로부터 데이터 블록 0을, 플래시 메모리 칩 1로부터 데이터 블록 1을 순차적으로 판독한다. 다음에 그룹 1의 Ready/Busy 판정을 행하여, Ready를 검출하고나서, 플래시 메모리 칩 2로부터 데이터 블록 2를, 플래시 메모리 칩 3으로부터 데이터 블록 3을 순차적으로 판독한다.
도 45에, 도 41의 판독 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 판독 커맨드를 입력한다(CMD(R)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 Ready를 검출할 때까지 플래시 메모리 칩 0의 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행하고, 플래시 메모리 칩으로부터 데이터 블록 D0을 판독한다(TR(D0)). 이하, 플래시 메모리 칩 1 내지 플래시 메모리 칩 3까지, 스테이터스 레지스터 판독에 의한 Ready/Busy 판정 및 검출과, 플래시 메모리 칩으로부터의 데이터 블록의 판독을, 칩을 전환하면서 순차적으로 행한다(TR(D1), TR(D2), TR(D3)).
다음에 판독할 데이터가 복수개의 플래시 메모리 칩의 복수개의 어드레스에 걸쳐 기입되어 있는 경우의 판독 제어 방법에 대하여 도 46 내지 도 53을 이용하여 설명한다.
도 46 내지 도 49에, 제1 내지 제4 Ready/Busy 판정 방법에 대응한 판독 제어 플로우를 도시한다. 도 46은 제1 Ready/Busy 판정 방법을 이용할 때의 판독 제어 플로우이다. STEP1에서는, 판독 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 판독 커맨드를 입력한다. STEP2에서는 STEP1에서 판독 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 어드레스를 입력한다. STEP3에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP4에서는, STEP1에서 판독 커맨드를, STEP2에서 어드레스를 입력한 플래시 메모리로부터, 데이터 블록의 연결 순서대로, 순차적으로 데이터 블록을 판독한다. 원하는 데이터 블록의 판독이 완료할 때까지 STEP1 내지 STEP4를 반복한다.
도 47에, 제2 Ready/Busy 판정 방법을 이용했을 때의 판독 제어 플로우를 도시한다. STEP1에서는, 판독 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 판독 커맨드를 입력한다. STEP2에서는, STEP1에서 판독 커맨드를 입력한 플래시 메모리 칩에, 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는, Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP4에서는, STEP3에서 Ready를 검출한 플래시 메모리 칩으로부터 데이터 블록을 판독한다. STEP5에서는, STEP4에서 데이터 블록을 판독한 플래시 메모리에 대하여 계속하여 데이터 블록을 판독할 필요가 있는 경우에는, 판독 커맨드와 어드레스의 입력을 행한다. 전체 데이터 블록의 판독이 완료할 때까지, STEP3 내지 STEP5를 반복한다.
도 48에, 제3 Ready/Busy 판정 방법을 이용했을 때의 판독 제어 플로우를 도시한다. STEP1에서는, 판독 어드레스가 동일한 전체 플래시 메모리 칩에 동시에 판독 커맨드를 입력한다. STEP2에서는, STEP1에서 판독 커맨드를 입력한 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는 Ready를 검출할 때까지 Ready/Busy 판정을 행한다. STEP4에서는 STEP3에서 Ready를 검출한 그룹을 구성하는 플래시 메모리 칩으로부터 데이터 블록을 순차적으로 판독한다. STEP5에서는 STEP4에서 데이터 블록을 판독한 그룹에 계속하여 데이터 블록이 있는 경우에는, 판독 커맨드와 어드레스의 입력을 행한다. 전체 데이터 블록의 판독이 완료할 때까지, STEP3에서부터 STEP5를 반복한다.
도 49에, 제4 Ready/Busy 판정 방법을 이용했을 때의 판독 제어 플로우를 도시한다. STEP1에서는, 판독 어드레스가 동일한 전체 플래시 메모리 칩에, 동시에 판독 커맨드를 입력한다. STEP2에서는, STEP1에서 판독 커맨드를 입력한 전체 플래시 메모리 칩에 동시에 동일 섹터 어드레스를 입력한다. STEP3에서는, Ready를 검출할 때까지, 스테이터스 레지스터 판독에 의한 Ready/Busy 판정을 행한다. STEP4에서는 STEP3에서 Ready를 검출한 플래시 메모리 칩으로부터 데이터 블록을 판독한다. STEP5에서는, STEP4에서 데이터 블록을 판독한 플래시 메모리 칩에 계속하여 데이터 블록이 있는 경우에는, 다음의 판독 커맨드와 어드레스를 입력한다. 전체 데이터 블록의 판독이 완료할 때까지, STEP3 내지 STEP5를 반복한다.
다음에 도 46 내지 도 49에서 설명한 판독 제어 플로우에 대하여, 도 50 내지 도 53을 이용하여 구체적으로 설명한다. 도 15에서 설명한 바와 같이, 판독할 데이터 D는 복수개의 데이터 블록 D0 내지 D6으로 분할되고, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3의 섹터 어드레스 ADR0와 ADR1에 분산하여 기입되어 있다.
도 50에 도 46의 판독 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 판독 커맨드를 입력한다(CMD(R)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 동일 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 Ready를 검출할 때까지 Ready/Busy 판정을 행하고, Ready 검출 후, 데이터 블록 D0 내지 D3을 순차적으로 각 플래시 메모리 칩으로부터 판독한다. 다음에 칩 선택 신호 CE0과 CE2를 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 2에, 동시에 판독 커맨드를 입력한다. 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 2에, 동시에 동일 섹터 어드레스 ADR1을 입력한다(ADR(ADR1)). 다음에 Ready를 검출할 때까지 Ready/Busy 판정을 행하고, Ready 검출 후, 데이터 블록 D4 내지 D6을 순차적으로 각 플래시 메모리 칩으로부터 판독한다.
도 51에, 도 47의 판독 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 판독 커맨드를 입력한다. 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 Ready를 검출할 때까지 플래시 메모리 칩 0의 Ready/Busy 판정을 행한다. 다음에 플래시 메모리 칩 0으로부터 데이터 블록 0을 판독하고(TR(D0)), 계속하여 플래시 메모리 칩 0에 판독 커맨드의 입력(CMD(R))과 어드레스의 입력(ADR(ADR1))을 행한다. 이하, 마찬가지로, 데이터 블록의 연결 순서대로, Ready 검출 후, 데이터 블록의 판독을 행한다. 판독을 행한 플래시 메모리 칩에, 계속하여 데이터 블록이 있는 경우에는, 데이터 블록의 판독에 계속하여 판독 커맨드의 입력(CMD(R)), 섹터 어드레스의 입력(ADR(ADR1))을 행한다.
도 52에, 도 48의 판독 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 판독 커맨드를 입력한다. 다음에 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에, Ready를 검출할 때까지 그룹 0의 Ready/Busy 판정을 행한다. 다음에 플래시 메모리 칩 0과 플래시 메모리 칩 1로부터, 데이터 블록 0과 데이터 블록 1을 순차적으로 판독한다(TR(D0), TR(D1)). 계속하여 플래시 메모리 칩 0과 플래시 메모리 칩 1에 동시에, 판독 커맨드의 입력(CMD(R))과 어드레스의 입력(ADR(ADR1))을 행한다. 이하, 마찬가지로, 데이터 블록의 연결 순서대로 Ready/Busy 판정으로 주목하는 그룹을 전환하여, Ready 검출, 그룹 내의 각 플래시 메모리 칩으로부터의 데이터 블록을 순차적으로 판독한다. 그룹 내에 계속하여 데이터 블록이 있는 경우에는, 데이터 블록의 판독에 계속하여 판독 커맨드의 입력(CMD(R)), 섹터 어드레스의 입력(ADR(ADR1))을 행한다.
도 53에, 도 49의 판독 제어 플로우를 시간축 상에 도시한다. 처음에 칩 선택 신호 CE0 내지 CE3을 액티브로 하여, 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에 동시에 판독 커맨드를 입력한다(CMD(R)). 계속하여 플래시 메모리 칩 0 내지 플래시 메모리 칩 3에, 동시에 섹터 어드레스 ADR0을 입력한다(ADR(ADR0)). 다음에 Ready를 검출할 때까지 플래시 메모리 칩 0의 스테이터스 레지스터를 판독하여 Ready/Busy 판정을 행한다. Ready를 검출한 후, 데이터 블록 D0을 플래시 메모리 칩 0으로부터 판독한다. 플래시 메모리 칩 0으로부터는 데이터 블록 D4를 판독할 필요가 있으므로, 계속해서 판독 커맨드 및 섹터 어드레스 ADR1을 플래시 메모리 칩 0에 입력한다. 이하, 순차적으로 데이터 블록의 연결 순서대로, Ready/Busy 판정 및 Ready 검출, 데이터 블록의 판독을 행한다. 단, 계속하여 데이터 블록이 존재하는 플래시 메모리 칩에 대해서는, 데이터 블록의 판독에 계속하여, 판독 커맨드와 섹터 어드레스의 입력을 행한다.
본 발명의 제어 방법을 이용함으로써, 커맨드 입력, 어드레스 입력의 오버헤드의 단축을 가능하게 함과 함께, 플래시 메모리 칩의 기입, 소거, 판독의 각 처리 시간의 은폐와 각 처리 시간의 변동을 해결할 수 있게 된다.
Claims (13)
- 메모리 제어 수단이, 데이터를 복수개의 데이터 블록으로 분할하고, 상기 데이터 블록을 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩에 분산하여 기입을 행하는 기입 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 기입 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해, 선택할 상기 불휘발성 반도체 메모리를 순차적으로 전환하고, 상기 선택한 불휘발성 반도체 메모리칩에 대하여 1개의 데이터 블록의 입력과 기입 개시 커맨드의 입력을 행하는 제3 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 기입 제어 방법.
- 제1항에 있어서,상기 제3단계는, 복수개의 상기 불휘발성 반도체 메모리에 대하여 입력된 기입 개시 커맨드가, 전체 불휘발성 반도체 메모리칩에 대하여 종료한 것을 판정하며,상기 기입 개시 커맨드의 실행 결과를 개별적으로 판정하는 제4 단계를 더 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 기입 제어 방법.
- 제1항에 있어서,상기 제3 단계는, 복수개의 상기 불휘발성 반도체 메모리에 대하여 입력된 기입 개시 커맨드가 종료한 것을, 상기 복수개의 불휘발성 반도체 메모리칩에 대하여 개별적으로 판정하며,상기 기입 개시 커맨드의 실행 결과를 개별적으로 판정하는 제4 단계를 더 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 기입 제어 방법.
- 메모리 제어 수단이 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩의 소거를 행하는 소거 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 소거 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 소거 개시 커맨드를 동시에 입력하는 제3 단계와,상기 소거 커맨드가 입력된 복수개의 불휘발성 반도체 메모리칩 전체에 대하여 상기 소거 개시 커맨드를 종료한 것을 판정하는 제4 단계와,상기 소거 커맨드의 실행 결과를 개별적으로 판정하는 제5 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 소거 제어 방법.
- 메모리 제어 수단이 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩의 소거를 행하는 소거 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 소거 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 소거 개시 커맨드를 동시에 입력하는 제3 단계와,복수개의 상기 불휘발성 반도체 메모리에 대하여 입력된 소거 개시 커맨드가 종료한 것을 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 개별적으로 판정하는 제4 단계와,상기 소거 커맨드의 실행 결과를 개별적으로 판정하는 제5 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 소거 제어 방법.
- 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩에, 복수개의 데이터 블록으로 분할하여 기입된 데이터를, 메모리 제어 수단이, 판독을 행하는 판독 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 판독 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 판독 커맨드를 입력한 복수개의 상기 불휘발성 반도체 메모리칩의 전체가 판독의 준비가 완료된 것을 판정하는 제4 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택된 상기 불휘발성 반도체 메모리칩으로부터 1개의 데이터 블록의 판독을 행하는 제5 단계와,제5 단계를 선택하는 칩을 순차적으로 전환하여 행하는 제6 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 판독 제어 방법.
- 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩의 동일 번지에, 복수개의 데이터 블록으로 분할하여 기입된 데이터를, 메모리 제어 수단이, 판독을 행하는 판독 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 판독 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여, 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 판독 커맨드를 입력한 상기 불휘발성 반도체 메모리 칩의 판독의 준비가 완료된 것을 개별적으로 판정하는 제4 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해, 상기 판독의 준비가 완료된 상기 불휘발성 반도체 메모리칩을 선택하고, 선택된 상기 불휘발성 반도체 메모리칩으로부터 1개의 데이터 블록의 판독을 행하는 제5 단계와,상기 제4 단계와 제5 단계를 반복하여 행하는 제6 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 판독 제어 방법.
- 메모리 제어 수단이, 데이터를 복수개의 데이터 블록으로 분할하고, 상기 데이터 블록을 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩에 분산하여 기입을 행하는 기입 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 기입 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택된 상기 불휘발성 반도체 메모리칩에 대하여 1개의 데이터 블록의 입력과 기입 개시 커맨드의 입력을 행하는 제3 단계와,상기 제3 단계를, 선택하는 칩을 순차적으로 전환하여 행하는 제4 단계와,상기 제4 단계에서 입력된 전체 기입 개시 커맨드가 종료한 것을 판정하는 제5 단계와,상기 제4 단계에서 입력된 기입 개시 커맨드의 실행 결과를 개별적으로 판정하는 제6 단계와,상기 제1 내지 제6 단계를 다른 어드레스에 대하여 반복하여 행하는 제7 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 기입 제어 방법.
- 메모리 제어 수단이 데이터를 복수개의 데이터 블록으로 분할하고, 상기 데이터 블록을 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩에 분산하여 기입을 행하는 기입 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 기입 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택된 상기 불휘발성 반도체 메모리칩에 대하여 1개의 데이터 블록의 입력과 기입 개시 커맨드의 입력을 행하는 제3 단계와,상기 제3 단계를, 선택하는 칩을 순차적으로 전환하여 행하는 제4 단계와,상기 제4 단계에서 입력된 기입 개시 커맨드가 종료한 것을 개별적으로 판정하는 제5 단계와,상기 제4 단계에서 입력된 기입 개시 커맨드의 실행 결과를 개별적으로 판정하는 제6 단계와,상기 불휘발성 반도체 메모리에 대하여 기입 커맨드를 개별적으로 입력하는 제7 단계와,상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 개별적으로 입력하는 제8 단계와,상기 제5 단계 내지 제8 단계를 반복하여 행하는 제9 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 기입 제어 방법.
- 메모리 제어 수단이, 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩의 소거를 행하는 소거 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 소거 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 소거 개시 커맨드를 동시에 입력하는 제3 단계와,상기 소거 커맨드가 입력된 복수개의 불휘발성 반도체 메모리칩의 전부에 대하여 상기 소거 개시 커맨드가 종료한 것을 판정하는 제4 단계와,상기 소거 커맨드의 실행 결과를 개별적으로 판정하는 제5 단계와,상기 제1 단계 내지 제5 단계를 반복하는 제6 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 소거 제어 방법.
- 메모리 제어 수단이, 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩의 소거를 행하는 소거 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 소거 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 소거 개시 커맨드를 동시에 입력하는 제3 단계와,상기 불휘발성 반도체 메모리에 대하여 입력한 소거 개시 커맨드가 종료한 것을, 상기 불휘발성 반도체 메모리칩에 대하여 개별적으로 판정하는 제4 단계와,상기 소거 커맨드의 실행 결과를 개별적으로 판정하는 제5 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 상기 소거 커맨드를 동시에 입력하는 제6 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제7 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리칩에 대하여 소거 개시 커맨드를 동시에 입력하는 제8 단계와,상기 불휘발성 반도체 메모리칩에 대하여 입력한 소거 개시 커맨드가 종료한 것을, 상기 불휘발성 반도체 메모리칩에 대하여 개별적으로 판정하는 제9 단계와,상기 소거 커맨드의 실행 결과를 개별적으로 판정하는 제10 단계와,상기 불휘발성 반도체 메모리칩에 대하여 소거 커맨드를 개별적으로 입력하는 제11 단계와,상기 불휘발성 반도체 메모리칩에 대하여 번지를 지정하는 어드레스를 개별적으로 입력하는 제12 단계와,상기 불휘발성 반도체 메모리칩에 대하여 소거 개시 커맨드를 개별적으로 입력하는 제13 단계와,상기 제4 단계 내지 제13 단계를 반복하여 행하는 제14 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 소거 제어 방법.
- 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리 칩에 복수개의 데이터 블록으로 분할하여 기입된 데이터를, 메모리 제어 수단이, 판독을 행하는 판독 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 판독 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 판독 커맨드를 입력한 복수개의 불휘발성 반도체 메모리 칩의 전부가판독의 준비가 완료된 것을 판정하는 제4 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리 중에서 1개의 불휘발성 반도체 메모리를 선택하고, 선택된 상기 불휘발성 반도체 메모리 칩으로부터 1개의 데이터 블록의 판독을 행하는 제5 단계와,제5 단계를 선택하는 칩을 순차적으로 전환하여 행하는 제6 단계와,상기 제1 단계 내지 제6 단계를 반복하여 행하는 제7 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 판독 제어 방법.
- 공통의 버스에 접속된 복수개의 불휘발성 반도체 메모리칩의 동일 번지에, 복수개의 데이터 블록으로 분할하여 기입된 데이터를, 메모리 제어 수단이 판독을 행하는 판독 제어 방법에 있어서,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 판독 커맨드를 동시에 입력하는 제1 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해 복수개의 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 동시에 입력하는 제2 단계와,상기 판독 커맨드를 입력한 불휘발성 반도체 메모리 칩의 판독의 준비가 완료된 것을 개별적으로 판정하는 제4 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해, 상기 판독의 준비가 완료된 불휘발성 반도체 메모리칩을 선택하고, 선택된 상기 불휘발성 반도체 메모리 칩으로부터 1개의 데이터 블록의 판독을 행하는 제5 단계와,상기 불휘발성 반도체 메모리에 대하여 계속되는 데이터 블록이 있는 경우에는, 상기 메모리 제어 수단이 상기 공통의 버스를 통해, 상기 불휘발성 반도체 메모리에 대하여 판독 커맨드를 개별적으로 입력하는 제6 단계와,상기 불휘발성 반도체 메모리에 대하여 계속되는 데이터 블록이 있는 경우에는, 상기 메모리 제어 수단이 상기 공통의 버스를 통해, 상기 불휘발성 반도체 메모리에 대하여 번지를 지정하는 어드레스를 개별적으로 입력하는 제7 단계와,상기 제4 단계 내지 제7 단계를 반복하여 행하는 제8 단계와,상기 제8 단계에서 입력한 판독 커맨드에 대하여 판독의 준비가 완료된 것을 개별적으로 판정하는 제9 단계와,상기 메모리 제어 수단이 상기 공통의 버스를 통해, 상기 판독의 준비가 완료된 불휘발성 반도체 메모리칩을 선택하고, 상기 선택된 불휘발성 반도체 메모리칩으로부터 1개의 데이터 블록의 판독을 행하는 제10 단계와,상기 제8 단계 내지 제10 단계를 반복하여 행하는 제11 단계를 포함하는 것을 특징으로 하는 불휘발성 반도체 메모리 판독 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001369447 | 2001-12-04 | ||
JPJP-P-2001-00369447 | 2001-12-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030045599A true KR20030045599A (ko) | 2003-06-11 |
Family
ID=19178834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020074254A KR20030045599A (ko) | 2001-12-04 | 2002-11-27 | 불휘발성 반도체 메모리칩 제어 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20030103392A1 (ko) |
KR (1) | KR20030045599A (ko) |
TW (1) | TW200301485A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458394B2 (en) | 2009-03-18 | 2013-06-04 | Samsung Electronics Co., Ltd. | Storage device and method of managing a buffer memory of the storage device |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429313B2 (en) * | 2004-05-27 | 2013-04-23 | Sandisk Technologies Inc. | Configurable ready/busy control |
KR20140027859A (ko) | 2012-08-27 | 2014-03-07 | 삼성전자주식회사 | 호스트 장치 및 이를 포함하는 시스템 |
US12105973B2 (en) * | 2020-03-25 | 2024-10-01 | Samsung Electronics Co., Ltd. | Dynamic quantization in storage devices using machine learning |
US11556272B2 (en) * | 2020-09-18 | 2023-01-17 | Kioxia Corporation | System and method for NAND multi-plane and multi-die status signaling |
-
2002
- 2002-11-01 TW TW091132371A patent/TW200301485A/zh unknown
- 2002-11-19 US US10/298,587 patent/US20030103392A1/en not_active Abandoned
- 2002-11-27 KR KR1020020074254A patent/KR20030045599A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458394B2 (en) | 2009-03-18 | 2013-06-04 | Samsung Electronics Co., Ltd. | Storage device and method of managing a buffer memory of the storage device |
Also Published As
Publication number | Publication date |
---|---|
TW200301485A (en) | 2003-07-01 |
US20030103392A1 (en) | 2003-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6798696B2 (en) | Method of controlling the operation of non-volatile semiconductor memory chips | |
US6556504B2 (en) | Nonvolatile semiconductor memory device and data input/output control method thereof | |
US7392343B2 (en) | Memory card having a storage cell and method of controlling the same | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
JP5002201B2 (ja) | メモリシステム | |
US6944060B2 (en) | Non-volatile storage device and control method thereof | |
US7290109B2 (en) | Memory system and memory card | |
US7952958B2 (en) | Non-volatile semiconductor storage system | |
US7773420B2 (en) | Memory card system including NAND flash memory and SRAM/NOR flash memory, and data storage method thereof | |
JP2001243122A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法 | |
JP2000067574A (ja) | 半導体記憶装置 | |
US7885141B2 (en) | Non-volatile memory device and method for setting configuration information thereof | |
JPH10326493A (ja) | 複合化フラッシュメモリ装置 | |
JP4921174B2 (ja) | フラッシュメモリのデータ書込み方法 | |
JP2003317489A (ja) | 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム | |
US6584014B2 (en) | Nonvolatile storage system | |
JP2009003569A (ja) | 半導体記憶装置 | |
US7657697B2 (en) | Method of controlling a semiconductor memory device applied to a memory card | |
KR20030045599A (ko) | 불휘발성 반도체 메모리칩 제어 방법 | |
US7836263B2 (en) | Nonvolatile memory controlling method and nonvolatile memory controlling apparatus | |
JP2003233994A (ja) | 不揮発性半導体メモリチップ制御方式 | |
US8180951B2 (en) | Memory system and method of controlling the memory system | |
JP2009003995A (ja) | 半導体記憶装置 | |
JP2002196977A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US10628067B2 (en) | Memory system and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |